After vmware-vdiskmanager runs, the image is left with a 600
permission. This commit fixes it by preserving the file permission
before the shrink operation.
This change adds a provider option, enhanced_networking,
which installs the Intel virtual networking driver for
SR-IOV using DKMS. It also modifies the EC2 AMI registration
to include support for SR-IOV.
This is to allow building an image for a 64bit machine but with 32bit userspace.
Probably not a common usecase but ideal if you need to address more higher quantities of memory but cant migrate to a full 64bit userspace due to something like ruby eating twice as much memory.
This commit adds the cloud-initramfs-growroot package to the
installation list for GCE images with backports enabled, and updates
the gce tasklist to add the /etc/init.d/expand-root script
(with provider-appropriate touch-ups) to the image.
As requested on #147, there is now an option to specify the Docker
version to be installed when using the `docker_daemon` plugin. The
version string is validated against a pattern extracted from the
Docker's CHANGELOG. If the version is not present, it will just download
the latest available.
The download method was also changed from `urllib` to `wget`, so we can
see its progress if needed.
This closes#147.
This ensures that preferences are written before apt update and also ensures
that in GCE the backports are added to the sources before the provider-specific
SetPackageRepositories happens.
Change-Id: I3c85f922c49c2a6fbd3c0f2bad1072eff0d098c8
The `uname -r` command returns the version of the running kernel running
on the host machine, as the chroot environment doesn't load a new one.
This prevents the proper version of the `linux-headers-*` package from
being added when the target has a different kernel version or
architecure.
This closes#121.
Make sure it's either `auto' (the default), `always' or `never'. If it
does not match any of the values, raise a Docopt exception that causes
it to print usage and exit.
Tested:
- $ sudo ./bootstrap-vz --color=invalid manifests/gce.manifest.yml
Value of --color must be one of auto, always or never.
Usage: bootstrap-vz [options] MANIFEST
Signed-off-by: Filipe Brandenburger <filbranden@google.com>
Mimic the behavior of the --color=<auto|always|never> found in tools
like `ls' and `grep'. Default to `auto' which checks whether stderr is a
tty to define whether colors are used.
Tested:
- Ran ./boostrap-vz --color=never and --color=always, confirmed
colorization worked as expected.
- Ran ./boostrap-vz --color=auto ${manifest_file} 2>bootstrap.log,
confirmed colors were not added to boostrap.log by default, repeated
the test with --color=always and confirmed escape sequences were
output.
Signed-off-by: Filipe Brandenburger <filbranden@google.com>
This change was unintentional but occurred as part of GCE's transition
from build-debian-cloud to bootstrap-vz.
Might be replaced later with a similar change that applies to all
bootstrap-vz providers, based on the opinion of the debian-cloud list.
Change-Id: I72a694c49f32df06252d9cc01b1d5c7cfc015347
This DHCP exit hook to shorten the system hostname on GCE was previously
installed by build-debian-cloud and bootstrap-vz, but seems to have been
inadvertently removed in commit c81045cc6e
as part of a broad cross-cloud cleanup. Again, this was caught by our
validation tests, and we might be done with the fixes at this point.
In this commit, I'm reinstating the hook with a name change and an
explanatory comment, to reduce the risk of this vanishing accidentally
in the future.
Change-Id: I4e7268f8b9ab3b2a7fc8b510898c6fbdd685aa53
- GCE provider wasn't including the GCE SetHostname task, without which
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=604883 was
preventing the hostname from getting set after reboot.
- During the GCE build, one of the GCE cleaning tasks was trying to run
an apt-get update after the build-time resolv.conf file was removed.
Fix this ordering by moving the network.Remove* tasks to the
system_cleaning phase as they should have been all along, and adding
an appropriate ordering rule for the GCE cleaning task.
- Add the fallback http.debian.net mirror after, not before, our mirror.
- The puppet plugin's ApplyPuppetManifest task specified that it should
run before the network.Remove* tasks within the system_modification
phase. Now that those tasks have been moved to a later phase
(system_cleaning), remove this dependency. I have no puppet manifest
to test this change, but am including it in hopes of avoiding a
breakage there. Hopefully someone who uses puppet can test this or at
least confirm that it's correct.
Change-Id: Ieca97f288f456bab119989f4cbc4c3993a755830
GCE's `tasks.apt.SetPackageRepositories` was adding duplicated entries
to apt `info.source_lists`, even ignoring the package mirror specified
on manifest.