Merge remote-tracking branch 'origin/master'

This commit is contained in:
Joey Hess 2014-04-24 18:13:52 -04:00
commit 2d711db645
6 changed files with 149 additions and 0 deletions

View File

@ -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)

View File

@ -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.
"""]]

View File

@ -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
"""]]

View File

@ -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.

View File

@ -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.
"""]]

View File

@ -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!
"""]]