Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
2d711db645
|
@ -0,0 +1,95 @@
|
||||||
|
The only remote which seems to be copied to /root/.propellor/.git/config is upstream... My /home/user/.propellor/.git/config contains a "origin" remote, but this part (as well as the master branch part) of my git config is not copied to the /root/.propellor/.git/config of a host I'm trying to manage...
|
||||||
|
|
||||||
|
propellor fails with the following message:
|
||||||
|
|
||||||
|
user@laptop:~$ PROPELLOR_DEBUG=1 propellor --spin laptop.localdomain
|
||||||
|
if ! cabal build; then cabal configure; cabal build; fi
|
||||||
|
Building propellor-0.5.0...
|
||||||
|
Preprocessing library propellor-0.5.0...
|
||||||
|
In-place registering propellor-0.5.0...
|
||||||
|
Preprocessing executable 'propellor' for propellor-0.5.0...
|
||||||
|
Preprocessing executable 'config' for propellor-0.5.0...
|
||||||
|
ln -sf dist/build/config/config propellor
|
||||||
|
|
||||||
|
|
||||||
|
[2014-04-21 18:07:45 CEST] command line: Spin "laptop.localdomain"
|
||||||
|
[2014-04-21 18:07:45 CEST] call: make ["build"]
|
||||||
|
if ! cabal build; then cabal configure; cabal build; fi
|
||||||
|
Building propellor-0.5.0...
|
||||||
|
Preprocessing library propellor-0.5.0...
|
||||||
|
In-place registering propellor-0.5.0...
|
||||||
|
Preprocessing executable 'propellor' for propellor-0.5.0...
|
||||||
|
Preprocessing executable 'config' for propellor-0.5.0...
|
||||||
|
ln -sf dist/build/config/config propellor
|
||||||
|
Propellor build ... done
|
||||||
|
[2014-04-21 18:07:48 CEST] read: git ["config","remote.deploy.url"]
|
||||||
|
[2014-04-21 18:07:48 CEST] read: git ["config","remote.origin.url"]
|
||||||
|
[2014-04-21 18:07:48 CEST] call: git ["commit","--gpg-sign","--allow-empty","-a","-m","propellor spin"]
|
||||||
|
|
||||||
|
You need a passphrase to unlock the secret key for
|
||||||
|
...
|
||||||
|
|
||||||
|
[master ee393d6] propellor spin
|
||||||
|
[2014-04-21 18:07:48 CEST] call: git ["push"]
|
||||||
|
Counting objects: 1, done.
|
||||||
|
Writing objects: 100% (1/1), 852 bytes | 0 bytes/s, done.
|
||||||
|
Total 1 (delta 0), reused 0 (delta 0)
|
||||||
|
To git@remote-origin:propellor.git
|
||||||
|
16a1f8b..ee393d6 master -> master
|
||||||
|
[2014-04-21 18:08:21 CEST] chat: ssh ["-o","ControlPath=/home/user/.ssh/propellor/laptop.localdomain.sock","-o","ControlMaster=auto","-o","ControlPersist=yes","root@laptop.localdomain","sh -c 'if [ ! -d /usr/local/propellor ] ; then apt-get --no-install-recommends --no-upgrade -y install git make && echo STATUSNeedGitClone ; else cd /usr/local/propellor && if ! test -x ./propellor; then make deps build; fi && ./propellor --boot laptop.localdomain ; fi'"]
|
||||||
|
Initialized empty Git repository in /root/.propellor/.git/
|
||||||
|
warning: no common commits
|
||||||
|
From https://github.com/joeyh/propellor
|
||||||
|
* [new branch] joeyconfig -> upstream/joeyconfig
|
||||||
|
* [new branch] master -> upstream/master
|
||||||
|
* [new branch] setup -> upstream/setup
|
||||||
|
* [new tag] 0.1 -> 0.1
|
||||||
|
* [new tag] 0.1.1 -> 0.1.1
|
||||||
|
* [new tag] 0.1.2 -> 0.1.2
|
||||||
|
* [new tag] 0.2.0 -> 0.2.0
|
||||||
|
* [new tag] 0.2.1 -> 0.2.1
|
||||||
|
* [new tag] 0.2.2 -> 0.2.2
|
||||||
|
* [new tag] 0.2.3 -> 0.2.3
|
||||||
|
* [new tag] 0.3.0 -> 0.3.0
|
||||||
|
* [new tag] 0.3.1 -> 0.3.1
|
||||||
|
* [new tag] 0.4.0 -> 0.4.0
|
||||||
|
* [new tag] 0.5.0 -> 0.5.0
|
||||||
|
* [new tag] debian/0.3.1 -> debian/0.3.1
|
||||||
|
* [new tag] debian/0.4.0 -> debian/0.4.0
|
||||||
|
* [new tag] debian/0.5.0 -> debian/0.5.0
|
||||||
|
Merge made by the 'ours' strategy.
|
||||||
|
if [ "cabal" = ./Setup ]; then ghc --make Setup; fi
|
||||||
|
cabal configure
|
||||||
|
Warning: The package list for 'hackage.haskell.org' does not exist. Run 'cabal
|
||||||
|
update' to download it.
|
||||||
|
Resolving dependencies...
|
||||||
|
Configuring propellor-0.5.0...
|
||||||
|
if ! cabal build; then cabal configure; cabal build; fi
|
||||||
|
Building propellor-0.5.0...
|
||||||
|
Preprocessing executable 'propellor' for propellor-0.5.0...
|
||||||
|
[ 1 of 14] Compiling Utility.Env ( Utility/Env.hs, dist/build/propellor/propellor-tmp/Utility/Env.o )
|
||||||
|
...
|
||||||
|
[14 of 14] Compiling Main ( propellor.hs, dist/build/propellor/propellor-tmp/Main.o )
|
||||||
|
Linking dist/build/propellor/propellor ...
|
||||||
|
Preprocessing library propellor-0.5.0...
|
||||||
|
[ 1 of 58] Compiling Utility.QuickCheck ( Utility/QuickCheck.hs, dist/build/Utility/QuickCheck.o )
|
||||||
|
...
|
||||||
|
[58 of 58] Compiling Propellor.CmdLine ( Propellor/CmdLine.hs, dist/build/Propellor/CmdLine.o )
|
||||||
|
In-place registering propellor-0.5.0...
|
||||||
|
Preprocessing executable 'config' for propellor-0.5.0...
|
||||||
|
[ 1 of 44] Compiling Utility.QuickCheck ( Utility/QuickCheck.hs, dist/build/config/config-tmp/Utility/QuickCheck.o )
|
||||||
|
...
|
||||||
|
[44 of 44] Compiling Main ( config.hs, dist/build/config/config-tmp/Main.o )
|
||||||
|
Linking dist/build/config/config ...
|
||||||
|
ln -sf dist/build/config/config propellor
|
||||||
|
fatal: No remote repository specified. Please, specify either a URL or a
|
||||||
|
remote name from which new revisions should be fetched.
|
||||||
|
Git fetch ... failed
|
||||||
|
merge: origin/master - not something we can merge
|
||||||
|
propellor: /usr/local/propellor/.lock: openFd: does not exist (No such file or directory)
|
||||||
|
Setting up your propellor repo in /root/.propellor
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
** error: protocol error (perhaps the remote propellor failed to run?)
|
||||||
|
propellor: user error (ssh ["-o","ControlPath=/home/user/.ssh/propellor/laptop.localdomain.sock","-o","ControlMaster=auto","-o","ControlPersist=yes","root@laptop.localdomain","sh -c 'if [ ! -d /usr/local/propellor ] ; then apt-get --no-install-recommends --no-upgrade -y install git make && echo STATUSNeedGitClone ; else cd /usr/local/propellor && if ! test -x ./propellor; then make deps build; fi && ./propellor --boot laptop.localdomain ; fi'"] exited 1)
|
|
@ -0,0 +1,25 @@
|
||||||
|
[[!comment format=mdwn
|
||||||
|
username="http://joeyh.name/"
|
||||||
|
ip="209.250.56.114"
|
||||||
|
subject="comment 1"
|
||||||
|
date="2014-04-24T17:47:41Z"
|
||||||
|
content="""
|
||||||
|
I tried using propellor from scratch on a fresh system, and I cannot reproduce this problem.
|
||||||
|
|
||||||
|
/root/.propellor should only be created if /usr/bin/propellor is run as root. A normal use of propellor does not run /usr/bin/propellor as root (and your commands don't show you doing that).
|
||||||
|
|
||||||
|
This is the instant where something unexplained happens:
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
[2014-04-21 18:08:21 CEST] chat: ssh [\"-o\",\"ControlPath=/home/user/.ssh/propellor/laptop.localdomain.sock\",\"-o\",\"ControlMaster=auto\",\"-o\",\"ControlPersist=yes\",\"root@laptop.localdomain\",\"sh -c 'if [ ! -d /usr/local/propellor ] ; then apt-get --no-install-recommends --no-upgrade -y install git make && echo STATUSNeedGitClone ; else cd /usr/local/propellor && if ! test -x ./propellor; then make deps build; fi && ./propellor --boot laptop.localdomain ; fi'\"]
|
||||||
|
Initialized empty Git repository in /root/.propellor/.git/
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
It ssh's in, and it apparently runs propellor. But apparently without running \"make deps build\" first, which is weird. (And as we see later, without /usr/local/propellor existing at all, which is weirder!)
|
||||||
|
The ./propellor (in /usr/local/propellor) that it's supposed to run should be a symlink to dist/build/config/config, which is the program built from config.hs. It's not the same program as /usr/bin/propellor, which is a wrapper build from propellor.hs. However, it appears that in your case, when it sshed in, it ran /usr/bin/propellor, or something that behaves a lot like it..
|
||||||
|
|
||||||
|
My guesses:
|
||||||
|
|
||||||
|
1. Perhaps you modified the source tree in some strange way. (Doubtful)
|
||||||
|
2. Perhaps you have some other configuration, eg a ssh authorized keys file for root with a forced command that runs /usr/bin/propellor. This will defeat propellor's own bootstrap code, and would exactly explain what you pasted.
|
||||||
|
"""]]
|
|
@ -0,0 +1,10 @@
|
||||||
|
[[!comment format=mdwn
|
||||||
|
username="gueux"
|
||||||
|
ip="109.190.19.251"
|
||||||
|
subject="CMD"
|
||||||
|
date="2014-04-21T13:49:08Z"
|
||||||
|
content="""
|
||||||
|
It would be great to be able to set the CMD of a docker container.
|
||||||
|
|
||||||
|
http://docs.docker.io/reference/builder/#cmd
|
||||||
|
"""]]
|
|
@ -0,0 +1 @@
|
||||||
|
It would be great to be able to ssh to a user different from root, and then to use sudo to run commands.
|
|
@ -0,0 +1,10 @@
|
||||||
|
[[!comment format=mdwn
|
||||||
|
username="http://joeyh.name/"
|
||||||
|
ip="209.250.56.214"
|
||||||
|
subject="comment 1"
|
||||||
|
date="2014-04-21T13:31:13Z"
|
||||||
|
content="""
|
||||||
|
Running propellor that way would probably need ssh to allocate a tty in order for sudo's password prompt to work. And it adds complexity. Does it add security? I don't think so, PermitRootLogin=without-password or PasswordAuthentication=no is not going to let anyone brute force the root account.
|
||||||
|
|
||||||
|
PermitRootLogin=forced-commands-only might be worth making easy to set up, so the only command that can be run with some special propellor-specific ssh key is propellor.
|
||||||
|
"""]]
|
|
@ -0,0 +1,8 @@
|
||||||
|
[[!comment format=mdwn
|
||||||
|
username="gueux"
|
||||||
|
ip="109.190.19.251"
|
||||||
|
subject="comment 2"
|
||||||
|
date="2014-04-21T13:54:39Z"
|
||||||
|
content="""
|
||||||
|
I didn't knew \"PermitRootLogin=forced-commands-only\", it seems great!
|
||||||
|
"""]]
|
Loading…
Reference in New Issue