Commit graph

148 commits

Author SHA1 Message Date
Nicolas Braud-Santoni
90da634226
Systematically use rel_path for relative paths 2016-09-12 19:11:20 +02:00
Nicolas Braud-Santoni
d8c831a7fa
common.tools: Make rel_path normalize the path 2016-09-12 18:15:56 +02:00
Nicolas Braud-Santoni
734afd892b
common.tools: Add a function for relative pathes
rel_path(a, b) is the absolute path of b, taken relative to a.
If b is already an absolute path, rel_path(a, b) is b.
2016-09-12 17:37:44 +02:00
Nicolas Braud-Santoni
81778136bc
Moving host_dependencies tasks to the validation phase 2016-09-12 01:12:19 +02:00
Nicolas Braud-Santoni
9bf2c45ee2
Moving checking tasks to the validation phase 2016-09-12 00:52:10 +02:00
Nicolas Braud-Santoni
8cd0648e27
common: Add a validation phase
As discussed in [#335], the `validate_manifest` method checks the manifest's
  internal consistency.  The validation phase, on the other hand, can be used to
  check the consistency of the manifest with external ressources, for instance:

  - Checking if files or directories exist.
  - Checking if the content of a file is consistent with what was expected.
  - Checking if a network ressource (an APT proxy?) is reachable.

[#335]: https://github.com/andsens/bootstrap-vz/pull/335#issuecomment-239661077
2016-09-11 22:05:22 +02:00
Nicolas Braud-Santoni
a15c9ea309
tasks/apt: Don't use security.debian.org for obsolete releases 2016-08-09 22:34:34 +02:00
Anders Ingemann
d222b267ce Also disable autostart for daemons started through upstart 2016-06-07 22:02:40 +02:00
Anders Ingemann
2ffc4dd6c3 grub: Prettier type checking when writing grub defaults 2016-06-05 13:20:34 +02:00
Anders Ingemann
bb41ba68dd Tiny fix for CheckExternalCommands 2016-06-05 10:45:19 +02:00
Anders Ingemann
97deaa3a17 Add lo to jessie network config 2016-06-04 19:23:59 +02:00
Anders Ingemann
9d2ad17d09 ec2: Enable systemd on >=jessie 2016-06-04 19:20:31 +02:00
Anders Ingemann
cf6234bafd Split grub config into small tasks
The way boot options for linux and config params for grub
were configured gave rise to quite a few bugs.
The configuration has now been abstracted so that
options can be added without interfering with the work
of other tasks (no more sed_i!)
2016-06-04 18:48:54 +02:00
Anders Ingemann
4cbeed5263 Add manifest, kernel and NIC config for stretch 2016-06-04 18:19:49 +02:00
Anders Ingemann
0614952014 Disable predictable NIC names for >=stretch
This is just a compabibility hack for now, we should figure
out how to get this working properly.
Issue: #245
Thanks to @apolloclark for this one.
2016-06-04 16:56:11 +02:00
Anders Ingemann
46d4424c65 Fix grub task order 2016-06-04 16:49:14 +02:00
Anders Ingemann
f62c8ade99 Convert indentation from tabs to spaces (4)
Up until now I didn't see the point of using spaces for indentation.
However, the previous commit (a18bec3) was quite eye opening.
Given that python is an indentation aware language, the amount of
mistakes that went unnoticed because tabs and spaces were used
at the same time (tabs for indentation and spaces for alignment)
were unacceptable.

E101,W191 have been re-enable in the tox flake8 checker and
the documentation has been modified accordingly.

The following files have been left as-is:
* bootstrapvz/common/assets/extlinux/extlinux.conf
* bootstrapvz/common/assets/init.d/expand-root
* bootstrapvz/common/assets/init.d/generate-ssh-hostkeys
* bootstrapvz/common/assets/init.d/squeeze/generate-ssh-hostkeys
* bootstrapvz/plugins/docker_daemon/assets/init.d/docker
* bootstrapvz/providers/ec2/assets/bin/growpart
* bootstrapvz/providers/ec2/assets/grub.d/40_custom
* bootstrapvz/providers/ec2/assets/init.d/ec2-get-credentials
* bootstrapvz/providers/ec2/assets/init.d/ec2-run-user-data
* docs/_static/taskoverview.coffee
* docs/_static/taskoverview.less
* tests/unit/subprocess.sh
2016-06-04 11:38:16 +02:00
Zach Marano
40ec27ad16 Overhaul GCE image build. 2016-06-02 18:16:57 -07:00
Anders Ingemann
16a680bb6b Fix order for AddManifestPackages
This ensures that the task also works with manually
added sources.
2016-05-22 08:59:46 +02:00
andrewbogott
b9aad2d881 Set a default of GRUB_CMDLINE_LINUX_DEFAULT="console=ttyS0"
This needed changing to hvc0 for ec2, and was accidentally changed
for all other providers.  Since the ec2 provider overrides to hvc0
anyway, we can just change this default to the setting that works
for everyone else.

Fixes: #318
2016-05-10 01:56:27 -05:00
The Fox in the Shell
aecb89aab5 Indent with 4 spaces 2016-03-15 18:01:41 +01:00
The Fox in the Shell
4cc9ec0d1b Add the 'apt.conf.d' manifest subsection 2016-03-15 18:01:41 +01:00
Zach Marano
108fa9547e Move the >=jessie workaround out of the common task. 2016-03-03 10:14:02 -08:00
Zach Marano
ee12a3e340 Fix missing script line. 2016-03-02 16:30:53 -08:00
Zach Marano
3f208b985f Move hack for growpart to its own task. 2016-03-02 16:19:57 -08:00
Manoj Srivastava
4fc3b69d81
[set localtime]: Update locale group tasks
Convert the locale group tasks frmom a simple list to a function. This
now matches the other non-simple task groups.

Signed-off-by: Manoj Srivastava <srivasta@golden-gryphon.com>
2016-02-11 16:00:26 -08:00
Manoj Srivastava
b20ce793a4
[set localtime]: Set /etc/localtime by either copying or symlinking
Starting in version 2016a-1 (circa Jan 2016) the package tzdata
changed /etc/timezone into a symlink. This change is in unstable,
testing, and will be in the next release (stretch). This commit checks
the release, and creates a task to either copy the contents of the
zoneinfo file (jessie and older) or create a symbolic link (newer than
jessie).

Signed-off-by: Manoj Srivastava <srivasta@golden-gryphon.com>
2016-02-10 13:47:12 -08:00
Jesse Szwedko
433cbf2ae4 Only sed in growpart workaround when release is >= jessie
This script is only needed/created on jessie or later distros.

Signed-off-by: Andrew Garrett <andrew.garrett@getbraintree.com>
2016-01-13 18:50:41 +00:00
Jesse Szwedko
7f9ee9d22c Write Jessie growpart workaround script to something other than growpart
In case growpart is installed. Sed this workaround path into the init.d
script.

Signed-off-by: Andrew Garrett <andrew.garrett@getbraintree.com>
2016-01-12 19:12:57 +00:00
Jesse Szwedko
2ece5a66e1 sed in root_device_path into expand-root
To make it more flexible

Signed-off-by: Andrew Garrett <andrew.garrett@getbraintree.com>
2016-01-12 18:46:26 +00:00
Jesse Szwedko
4429c226a8 Use hash instead of which in expand-root
Also remove the variable since we established that it is already in the
$PATH

Signed-off-by: Andrew Garrett <andrew.garrett@getbraintree.com>
2016-01-12 18:46:26 +00:00
Jesse Szwedko
78b796be5b Exit 1 in expand-root if there was an error
Signed-off-by: Andrew Garrett <andrew.garrett@getbraintree.com>
2016-01-12 18:46:26 +00:00
Jonh Wendell
c477c32e4a EC2: Added growpart script
This is an attempt to fix issue #237

The script "growpart" was added as an asset, because
Debian's Jessie version (inside cloud-utils) package is
outdated and buggy.

Then "expand-root" init script was modified to call growpart
before calling resize2fs. In fact, calling resize2fs without
resizing the partition first is useless.

The task was named 'AddWorkaroundGrowpart' because it must
go away in the future in favor of using recent stuff in cloud-utils.

Currently even the official images suffer this issue, that makes
the system use only 8 GiB, even if the user chooses a bigger
storage size inside AWS.
2016-01-12 18:46:20 +00:00
Anders Ingemann
02860de849 Fixed the error that's been swallowing exception messages
Finally!
Becuase "TypeError: __init__() takes at least 3 arguments (2 given)"
is not very useful...
2015-12-13 20:26:43 +01:00
Anders Ingemann
c880a6849a Remove image section in manifest
All provider specific settings have been moved to the
provider section. The image name itself is now located
at the top level and called "name". It is required for all providers.
2015-12-13 19:41:18 +01:00
Anders Ingemann
31f7c70237 Update GenerateLocale task description 2015-12-13 19:41:17 +01:00
Anders Ingemann
5883673380 umount /sys & /proc when debootstrap is aborted 2015-12-13 19:41:17 +01:00
Anders Ingemann
42d12d440d Add bootstrap_script property to BootstrapInfo
This allows plugins to manipulate the debootstrap process
2015-12-13 19:41:16 +01:00
Anders Ingemann
55b2d2228f info.tarball is never used across tasks, make it local 2015-12-13 19:41:16 +01:00
Anders Ingemann
4a509aba76 First stab at docker provider
Huh... That was easy.
2015-12-13 19:41:16 +01:00
Tiago Ilieve
3d3c303ee1 Changes 'MoveImage' from loopback to image 2015-10-18 16:35:11 -02:00
Anders Ingemann
f572703ecc Bootstrap azure images directly to VHD 2015-10-14 22:40:15 +02:00
Anders Ingemann
d5ef584b42 Add note about why the VDI format does not have an OVF URI 2015-10-14 22:40:14 +02:00
Rick Wright
77cbb64b9f GRUB_HIDDEN_TIMEOUT should be a numeric value.
This changes GRUB_HIDDEN_TIMEOUT to 0 from true and sets
GRUB_HIDDEN_TIMEOUT_QUIET to true.
2015-09-28 14:51:31 -07:00
Anders Ingemann
608de63d3e Better grub options
Inspired by 9c151c43b3ee85fe8cb7d4cdadb45115807c6710 by JamesBromberger/bootstrap-vz
2015-07-30 10:07:25 +02:00
Zach Marano
c682dab6ec Fix expand-root script to work for Debian 8 and simplify how partition
types are forumlated.
2015-06-24 12:41:06 -07:00
Tiago Ilieve
71d628544c 'Disabling' for 'Enabling' in EnableRootLogin 2015-05-12 08:17:43 -03:00
Alexandre Derumier
02c333c8c8 fix ^PermitRootLogin regex
fix issue https://github.com/andsens/bootstrap-vz/issues/218
2015-05-08 09:11:14 +02:00
Anders Ingemann
f88a1b0af5 Merge branch 'development' 2015-05-02 22:33:04 +02:00
Anders Ingemann
2948badf47 Fix #204, user_modification phase has been introduced 2015-05-02 12:31:06 +02:00