Commit Graph

476 Commits

Author SHA1 Message Date
Joey Hess 7c5188b202
propellor spin 2014-11-22 22:01:19 -04:00
Joey Hess 5360e466d3 reorg 2014-11-22 21:50:49 -04:00
Joey Hess cc8babccc8
propellor spin 2014-11-22 21:37:39 -04:00
Joey Hess 1d5d911aa0
propellor spin 2014-11-22 21:30:50 -04:00
Joey Hess 50b6e37790
propellor spin 2014-11-22 21:10:35 -04:00
Joey Hess 1338f4effd don't remove old localdir before tarball unpack
it may get messy if old stuff is left, but there is state in there
2014-11-22 20:42:31 -04:00
Joey Hess 58b5de7802 Revert "avoid removing whole localdir every time the precompiled tarball is uploaded"
This reverts commit 40bec41f56.
2014-11-22 20:42:20 -04:00
Joey Hess 40bec41f56 avoid removing whole localdir every time the precompiled tarball is uploaded
There's some state in there..

Moved it to a shim subdir, which can be deleted and the tarball unpacked to
recreate it.
2014-11-22 20:35:46 -04:00
Joey Hess 868d7cdcb5 avoid loop after uploading precompiled tarball
The localdir still has no .git repo, so it looped.
2014-11-22 20:29:27 -04:00
Joey Hess 239581c759 reorg 2014-11-22 20:17:46 -04:00
Joey Hess eb946f109b look for /usr/local/propellor/.git to know if it's fully deployed
When propellor is deployed by uploading the binary, there's no git repo, so
each spin needs to re-upload it to get any config changes. This should be
rare since this is only intended to be used when taking over a host and
getting it properly set up from source, but it still needs to be supported.
2014-11-22 20:02:44 -04:00
Joey Hess 9a8fcf80bb Hostname parameters not containing dots are looked up in the DNS to find the full hostname. 2014-11-22 19:58:35 -04:00
Joey Hess 95f78a0586
propellor spin 2014-11-22 17:22:11 -04:00
Joey Hess aa986724a2
propellor spin 2014-11-22 17:16:25 -04:00
Joey Hess a4edc404f0
propellor spin 2014-11-22 16:20:02 -04:00
Joey Hess 02e0fac683
propellor spin 2014-11-22 16:17:39 -04:00
Joey Hess cb94e7484e
propellor spin 2014-11-22 16:14:20 -04:00
Joey Hess 7ed9f70504
propellor spin 2014-11-22 16:12:53 -04:00
Joey Hess 6be56755ee
propellor spin 2014-11-22 16:10:46 -04:00
Joey Hess 392a0d3c1c
propellor spin 2014-11-22 16:06:44 -04:00
Joey Hess 6d13790afa
propellor spin 2014-11-22 15:58:09 -04:00
Joey Hess 40339a7fd8
propellor spin 2014-11-22 15:54:31 -04:00
Joey Hess 97931fe670
propellor spin 2014-11-22 15:50:14 -04:00
Joey Hess 395f311e1e
propellor spin 2014-11-22 15:48:17 -04:00
Joey Hess 615799dbcc
propellor spin 2014-11-22 15:19:20 -04:00
Joey Hess ef883cbbe8 still do peer-to-peer git push when there are no git remotes 2014-11-22 15:18:30 -04:00
Joey Hess 151aadd4e2
propellor spin 2014-11-22 15:11:24 -04:00
Joey Hess 0b9164e286
propellor spin 2014-11-22 15:01:08 -04:00
Joey Hess fdde4d91c7
propellor spin 2014-11-22 13:48:16 -04:00
Joey Hess 8e5551c925 avoid unncessary apt-get upgrade 2014-11-22 13:44:25 -04:00
Joey Hess fd3335e40e --via implemented 2014-11-22 12:57:07 -04:00
Joey Hess e0c2d6a73a comment 2014-11-22 02:04:01 -04:00
Joey Hess 128e16472a compress tarball
11 mb -> 4 mb
2014-11-22 01:13:53 -04:00
Joey Hess c0662e6258 comment 2014-11-22 00:52:59 -04:00
Joey Hess cd6ca049b8 cleanup 2014-11-22 00:50:56 -04:00
Joey Hess ea058a5f9f remove test hack 2014-11-22 00:47:26 -04:00
Joey Hess 5d6e1a27a5
propellor spin 2014-11-22 00:46:07 -04:00
Joey Hess 0d65fdeb1d
propellor spin 2014-11-22 00:44:13 -04:00
Joey Hess 083b82d810
propellor spin 2014-11-22 00:36:16 -04:00
Joey Hess 1af398d33e
propellor spin 2014-11-22 00:35:14 -04:00
Joey Hess f1fdd6f678
propellor spin 2014-11-22 00:34:34 -04:00
Joey Hess e5135c1948
propellor spin 2014-11-22 00:32:04 -04:00
Joey Hess 99e0a5fea7
propellor spin 2014-11-22 00:27:35 -04:00
Joey Hess 7fd338f96f
propellor spin 2014-11-22 00:25:00 -04:00
Joey Hess f62d2fb183 propellor --spin can now deploy propellor to hosts that do not have git, ghc, or apt-get. This is accomplished by uploading a fairly portable precompiled tarball of propellor. 2014-11-22 00:22:19 -04:00
Joey Hess 6eb64d56e3 avoid setting title when not at console 2014-11-21 23:33:39 -04:00
Joey Hess 0a415a7b41
show last line if it cannot be parsed as a serialized Result 2014-11-21 23:30:40 -04:00
Joey Hess 6cdd37d9ff
propellor spin 2014-11-21 20:53:38 -04:00
Joey Hess b373ffb761 allow disabling nspawn params, and default to bind mounting /etc/resolv.conf 2014-11-21 20:32:32 -04:00
Joey Hess 96c4890d89
propellor spin 2014-11-21 20:19:20 -04:00
Joey Hess 6be49197f6 allow configuring systemd-nspawn parameters 2014-11-21 20:09:33 -04:00
Joey Hess 6c92f1034f split out info types 2014-11-21 18:55:33 -04:00
Joey Hess 6e8b28cd3c
propellor spin 2014-11-21 17:11:26 -04:00
Joey Hess 33e9b10c19 typo 2014-11-21 16:02:10 -04:00
Joey Hess f6afeb889f lock down chroot perm 2014-11-21 16:01:51 -04:00
Joey Hess 9e611d87cd add debootstrap parameters 2014-11-21 15:55:27 -04:00
Joey Hess fbce215f33 implement teardown 2014-11-21 14:37:19 -04:00
Joey Hess 36e89cd148 os info propigation
Also, lost the systemd-nspawn parameters; I'll do that some other way.
2014-11-21 14:31:13 -04:00
Joey Hess 7d4d3e4451 fix info propigation
Need to propigate the full container info, not the subset used in chroot
deployment.
2014-11-21 14:11:02 -04:00
Joey Hess 5e1a47552a
propellor spin 2014-11-21 13:57:58 -04:00
Joey Hess 09e79e6263
propellor spin 2014-11-21 13:55:42 -04:00
Joey Hess 3ba82a1c9c
propellor spin 2014-11-21 13:49:17 -04:00
Joey Hess ae6a5e815c
propellor spin 2014-11-21 12:35:07 -04:00
Joey Hess 976afedea3
propellor spin 2014-11-21 12:18:03 -04:00
Joey Hess 6a5a1bc761 systemd container may be mostly done (untested) 2014-11-21 12:17:03 -04:00
Joey Hess 45349c210d add missing support for reverting chroot
wow, that was suprisingly trivial!
2014-11-21 01:09:15 -04:00
Joey Hess a904476333 avoid console output when chaining into chroot and not at console 2014-11-21 01:05:51 -04:00
Joey Hess f9cc7c149e incomplete systemd container support 2014-11-20 17:18:26 -04:00
Joey Hess 3669bd61d0
propellor spin 2014-11-20 16:07:57 -04:00
Joey Hess 2293b46bf7 fix chroot info propigation 2014-11-20 16:04:48 -04:00
Joey Hess a4f04fcb02
propellor spin 2014-11-20 15:15:28 -04:00
Joey Hess def4431132 remove unused Eq instance for Info
Its implementation was .. shady at best, as Host has no Eq
2014-11-20 14:16:26 -04:00
Joey Hess b8b746a7f1 starting work on a Chroot module
factored out info up-propigation code rom Docker
2014-11-20 14:15:26 -04:00
Joey Hess 0d4dd37ee7 git commit may or may not be signed 2014-11-20 00:55:28 -04:00
Joey Hess 5e4c57652c fix docker container provisioning
Since the containers are no longer on the host list, they were not found
while provisioning, oops.

To fix, had to add to a host's info a map of the containers docked to it.

Unfortunately, that required Propellor.Types.Info be glommed into
Propellor.Types, since it needed to refer to Host.
2014-11-20 00:21:40 -04:00
Joey Hess d49d251897 separate docker container type
Docker containers are now a separate data type, cannot be included in the
main host list, and are instead passed to Docker.docked. (API change)
2014-11-19 23:11:34 -04:00
Joey Hess b7d78e679a sigel didn't work out
Unicode output failed in docker, due to no locales, and would be generally
shakey from haskell in all the environments propellor needs to run in.
2014-11-19 21:51:52 -04:00
Joey Hess 7c11d68018
propellor spin 2014-11-19 21:50:49 -04:00
Joey Hess d130e7e628
propellor spin 2014-11-19 21:48:48 -04:00
Joey Hess 3343b220a8
propellor spin 2014-11-19 21:21:20 -04:00
Joey Hess b136609cb5 unicode ahoy 2014-11-19 21:20:19 -04:00
Joey Hess 205d192559 fix param order 2014-11-19 21:16:18 -04:00
Joey Hess 4de7d4295c
propellor spin 2014-11-19 21:03:06 -04:00
Joey Hess 025c7c4b8e avoid double-build in --spin
It was fetching from the central repo, then building that, and then running
the client-to-client git update, and the building after that.

Remove the first build, as all that linking does take time.
2014-11-19 21:00:14 -04:00
Joey Hess 36d4938a19 remove excess verbosity from message 2014-11-19 20:48:36 -04:00
Joey Hess c186f9f4a8
propellor spin 2014-11-19 20:41:35 -04:00
Joey Hess caeed5492f allow debootstrapped to be reverted 2014-11-19 20:35:33 -04:00
Joey Hess 4a9bbd1391 Added support for using debootstrap from propellor.
Most of the hard part was making it be able to install debootstrap from
source, for use on non-debian-derived systems.
2014-11-19 19:30:56 -04:00
Joey Hess 08242e29f6 add fallback combinator 2014-11-19 18:57:58 -04:00
Joey Hess 803e1407a0 improve display 2014-11-19 01:40:56 -04:00
Joey Hess 1872ee1ffc
propellor spin 2014-11-19 01:32:09 -04:00
Joey Hess 4dddbb725d prevent multiple concurrent provisioning inside docker container
Lock a lock file while provisioning inside, otherwise propellor could be
running to init the container when the system has just booted, or the
container was just started from being stopped, and at the same time,
propellor run outside the container chains into it to provision.

Previously, simplesh prevented this in a different way.
2014-11-19 01:28:38 -04:00
Joey Hess c3962dcf7d
propellor spin 2014-11-19 01:04:11 -04:00
Joey Hess f0675727c2
propellor spin 2014-11-19 01:02:54 -04:00
Joey Hess 05086b3abe
propellor spin 2014-11-19 01:02:13 -04:00
Joey Hess f8b71c0ab4
propellor spin 2014-11-19 00:38:11 -04:00
Joey Hess 325fe4037b
propellor spin 2014-11-19 00:30:06 -04:00
Joey Hess 111e08e156 typo 2014-11-18 23:54:49 -04:00
Joey Hess 6dc7176e7a fix haddock filename display 2014-11-18 23:51:37 -04:00
Joey Hess 745f9e2685 clean up Propellr.CmdLine exports 2014-11-18 23:50:38 -04:00