It controls whether to include the 'deb-src' lines in image's
source.list.
Currently they are always included. This patch changes this
behavior by not including them by default; the user must set
this new config to true in order to include them.
This saves a bit of bandwidth in default installations. Also,
the use of src packages is not so usual in ordinary installations.
NOTE: I'm not doing any validation on the opt_flags param and I don't recommend using for more then adding a -vvvv.
Also, I'm purposely excluding the vault flags (which also pretty commonly used) because you shouldn't be baking
private keys and certs into your images. Instead, just avoid running the vault specific code or use the
opt_flags if absolutely necessary.
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