Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
d53921e
test: fix all flake8 E121 and E123 errors (#404)
Jun 2, 2020
56f1939
Enhance poll imds logging (#365)
Moustafa-Moustafa Jun 3, 2020
d0b69e1
New feature flag functionality and fix includes failing silently (#367)
TheRealFalcon Jun 4, 2020
30aa119
readme: point at travis-ci.com (#417)
Jun 8, 2020
3c551f6
Move subp into its own module. (#416)
smoser Jun 8, 2020
b36b61d
Move runparts to subp. (#420)
smoser Jun 8, 2020
4e534a7
Replace cc_chef is_installed with use of subp.is_exe. (#421)
smoser Jun 8, 2020
87b8080
test: move conftest.py to top-level, to cover tests/ also (#414)
OddBloke Jun 8, 2020
e52ec4e
Document CloudStack data-server well-known hostname (#399)
onitake Jun 9, 2020
c6d09af
When tools.conf does not exist, running cmd "vmware-toolbox-cmd confi…
chengcheng-chcheng Jun 9, 2020
f083050
Fixes KeyError for bridge with no "parameters:" setting (#423)
candlerb Jun 9, 2020
f3bd426
test: fix all flake8 E126 errors (#425)
Jun 10, 2020
318d154
travis: cache the chroot we use for package builds (#429)
OddBloke Jun 12, 2020
287bfca
Default to UTF-8 in /var/log/cloud-init.log (#427)
TheRealFalcon Jun 12, 2020
9912b00
cli.rst: alphabetise devel subcommands and add net-convert to list (#…
OddBloke Jun 12, 2020
e01e3ed
.travis.yml: use $TRAVIS_BUILD_DIR for lxd_image caching (#438)
OddBloke Jun 16, 2020
3d13a9d
util: rename write_file's copy_mode parameter to preserve_mode (#439)
OddBloke Jun 17, 2020
d463983
RPM build: disable the dynamic mirror URLs when using a proxy (#437)
paride Jun 18, 2020
615fe62
Fix link to the MAAS documentation (#442)
paride Jun 19, 2020
d083a03
printing the error stream of the dhclient process before killing it (…
Moustafa-Moustafa Jun 19, 2020
40e7286
util: add ensure_dir_exists parameter to write_file (#443)
OddBloke Jun 19, 2020
609187c
.travis.yml: only store new schroot if something has changed (#440)
OddBloke Jun 19, 2020
0755cff
cc_final_message: don't create directories when writing boot-finished…
OddBloke Jun 22, 2020
055731e
HACKING.rst: add strpath gotcha to testing gotchas section (#446)
OddBloke Jun 22, 2020
76652f3
Hetzner: support reading user-data that is base64 encoded. (#448)
smoser Jun 22, 2020
650d53d
Change from redhat to rhel in systemd generator tmpl (#450)
otubo Jun 23, 2020
ddc4c2d
cloud-init.service.tmpl: use "rhel" instead of "redhat" (#452)
OddBloke Jun 23, 2020
9a97a3f
distros.networking: initial implementation of layout (#391)
OddBloke Jun 23, 2020
31b5405
net/networking: remove unused functions/methods (#453)
OddBloke Jun 24, 2020
7d5b435
Add dermotbradley as contributor. (#458)
dermotbradley Jun 25, 2020
2be1223
.travis.yml: rationalise installation of dependencies in host (#449)
OddBloke Jun 26, 2020
6b5b5b4
HACKING.rst: add details of net refactor tracking (#456)
OddBloke Jun 26, 2020
1933a4a
.travis.yml: revert to installing ubuntu-dev-tools (#460)
OddBloke Jun 26, 2020
597be5e
test_util: add (partial) testing for util.mount_cb (#463)
OddBloke Jun 29, 2020
b0eba6a
Add schema for cc_chef module (#375)
Jun 29, 2020
baf1141
RbxCloud: Add support for FreeBSD (#464)
ad-m Jun 29, 2020
66e114a
Enable use of the caplog fixture in pytest tests, and add a cc_final_…
OddBloke Jun 30, 2020
882f1a5
networking: refactor is_physical from cloudinit.net (#457)
OddBloke Jun 30, 2020
e88f15a
cloud_tests: don't pass --python-version to read-dependencies (#465)
OddBloke Jun 30, 2020
3fcdacc
Disable ec2 mirror for non aws instances (#390)
Jun 30, 2020
ac422e7
Fix broken link to OpenStack metadata service docs (#467)
mriedem Jul 2, 2020
e31f7fe
Add mention of vendor-data to no-cloud format documentation (#470)
landon912 Jul 2, 2020
2b72791
tests: use markers to configure disable_subp_usage (#473)
OddBloke Jul 2, 2020
74fc5bf
Update list of types of modules in cli.rst
saurabhvartak1982 Jul 2, 2020
b923a9e
Added BirknerAlex as contributor and sorted the file (#477)
BirknerAlex Jul 3, 2020
411dbbe
cloudinit: fix tip-pylint failures and bump pinned pylint version (#478)
OddBloke Jul 6, 2020
d373a8e
Add update_etc_hosts as default module on *BSD (#479)
ad-m Jul 7, 2020
e753141
LXD cloud_tests: support more lxd image formats (#482)
paride Jul 9, 2020
3d06abc
cc_mounts: handle missing fstab (#484)
raharper Jul 10, 2020
a3409eb
merge from master at 20.2-94-g3d06abc2
OddBloke Jul 10, 2020
73dc20b
update changelog (New upstream snapshot 20.2-94-g3d06abc2).
OddBloke Jul 10, 2020
e70b2f3
releasing cloud-init version 20.2-94-g3d06abc2-0ubuntu1
OddBloke Jul 10, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
82 changes: 64 additions & 18 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,25 @@ dist: bionic

# We use two different caching strategies. The default is to cache pip
# packages (as most of our jobs use pip packages), which is configured here.
# For the integration tests, we instead want to cache the lxd images. The
# directory in which the images are stored (/var/snap/lxd/common/lxd/images/)
# is not readable/writeable by the default user (which is a requirement for
# caching), so we instead cache the `lxd_images/` directory. We move lxd
# images out of there before we run tests and back in once tests are complete.
# We _move_ the images out and only copy the most recent lxd image back into
# the cache, to avoid our cache growing without bound. (We only need the most
# recent lxd image because the integration tests only use a single image.)
# For the integration tests, we instead want to cache the lxd images and
# package build schroot.
#
# We cache the lxd images because this saves a few seconds in the general
# case, but provides substantial speed-ups when cloud-images.ubuntu.com, the
# source of the images, is under heavy load.
# source of the images, is under heavy load. The directory in which the lxd
# images are stored (/var/snap/lxd/common/lxd/images/) is not
# readable/writeable by the default user (which is a requirement for caching),
# so we instead cache the `lxd_images/` directory. We move lxd images out of
# there before we run tests and back in once tests are complete. We _move_ the
# images out and only copy the most recent lxd image back into the cache, to
# avoid our cache growing without bound. (We only need the most recent lxd
# image because the integration tests only use a single image.)
#
# We cache the package build schroot because it saves 2-3 minutes per build.
# Without caching, we have to perform a debootstrap for every build. We update
# the schroot before storing it back in the cache, to ensure that we aren't
# just using an increasingly-old schroot as time passes. The cached schroot is
# stored as a tarball, to preserve permissions/ownership.
cache: pip

install:
Expand All @@ -37,20 +44,18 @@ matrix:
cache:
- directories:
- lxd_images
- chroots
before_cache:
- |
# Find the most recent image file
latest_file="$(sudo ls -Art /var/snap/lxd/common/lxd/images/ | tail -n 1)"
# This might be <hash>.rootfs or <hash>, normalise
latest_file="$(basename $latest_file .rootfs)"
# Find all files with that prefix and copy them to our cache dir
sudo find /var/snap/lxd/common/lxd/images/ -name $latest_file* -print -exec cp {} lxd_images/ \;
sudo find /var/snap/lxd/common/lxd/images/ -name $latest_file* -print -exec cp {} "$TRAVIS_BUILD_DIR/lxd_images/" \;
install:
- git fetch --unshallow
- sudo apt-get build-dep -y cloud-init
- sudo apt-get install -y --install-recommends sbuild ubuntu-dev-tools fakeroot tox
# These are build deps but not pulled in by the build-dep call above
- sudo apt-get install -y --install-recommends dh-systemd python3-coverage python3-pytest python3-pytest-cov
- sudo apt-get install -y --install-recommends sbuild ubuntu-dev-tools fakeroot tox debhelper
- pip install .
- pip install tox
# bionic has lxd from deb installed, remove it first to ensure
Expand All @@ -61,15 +66,56 @@ matrix:
- sudo lxd init --auto
- sudo mkdir --mode=1777 -p /var/snap/lxd/common/consoles
# Move any cached lxd images into lxd's image dir
- sudo find lxd_images/ -type f -print -exec mv {} /var/snap/lxd/common/lxd/images/ \;
- sudo find "$TRAVIS_BUILD_DIR/lxd_images/" -type f -print -exec mv {} /var/snap/lxd/common/lxd/images/ \;
- sudo usermod -a -G lxd $USER
- sudo sbuild-adduser $USER
- cp /usr/share/doc/sbuild/examples/example.sbuildrc /home/$USER/.sbuildrc
script:
# Ubuntu LTS: Build
- ./packages/bddeb -S
# Use this to get a new shell where we're in the sbuild group
- sudo -E su $USER -c 'mk-sbuild xenial'
- ./packages/bddeb -S -d --release xenial
- |
needs_caching=false
if [ -e "$TRAVIS_BUILD_DIR/chroots/xenial-amd64.tar" ]; then
# If we have a cached chroot, move it into place
sudo mkdir -p /var/lib/schroot/chroots/xenial-amd64
sudo tar --sparse --xattrs --preserve-permissions --numeric-owner -xf "$TRAVIS_BUILD_DIR/chroots/xenial-amd64.tar" -C /var/lib/schroot/chroots/xenial-amd64
# Write its configuration
cat > sbuild-xenial-amd64 << EOM
[xenial-amd64]
description=xenial-amd64
groups=sbuild,root,admin
root-groups=sbuild,root,admin
# Uncomment these lines to allow members of these groups to access
# the -source chroots directly (useful for automated updates, etc).
#source-root-users=sbuild,root,admin
#source-root-groups=sbuild,root,admin
type=directory
profile=sbuild
union-type=overlay
directory=/var/lib/schroot/chroots/xenial-amd64
EOM
sudo mv sbuild-xenial-amd64 /etc/schroot/chroot.d/
sudo chown root /etc/schroot/chroot.d/sbuild-xenial-amd64
# And ensure it's up-to-date.
before_pkgs="$(sudo schroot -c source:xenial-amd64 -d / dpkg -l | sha256sum)"
sudo schroot -c source:xenial-amd64 -d / -- sh -c "apt-get update && apt-get -qqy upgrade"
after_pkgs=$(sudo schroot -c source:xenial-amd64 -d / dpkg -l | sha256sum)
if [ "$before_pkgs" != "$after_pkgs" ]; then
needs_caching=true
fi
else
# Otherwise, create the chroot
sudo -E su $USER -c 'mk-sbuild xenial'
needs_caching=true
fi
# If there are changes to the schroot (or it's entirely new),
# tar up the schroot (to preserve ownership/permissions) and
# move it into the cached dir; no need to compress it because
# Travis will do that anyway
if [ "$needs_caching" = "true" ]; then
sudo tar --sparse --xattrs --xattrs-include=* -cf "$TRAVIS_BUILD_DIR/chroots/xenial-amd64.tar" -C /var/lib/schroot/chroots/xenial-amd64 .
fi
# Use sudo to get a new shell where we're in the sbuild group
- sudo -E su $USER -c 'sbuild --nolog --no-run-lintian --verbose --dist=xenial cloud-init_*.dsc'
# Ubuntu LTS: Integration
- sg lxd -c 'tox -e citest -- run --verbose --preserve-data --data-dir results --os-name xenial --test modules/apt_configure_sources_list.yaml --test modules/ntp_servers --test modules/set_password_list --test modules/user_groups --deb cloud-init_*_all.deb'
Expand Down
Loading