Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ubuntu/devel #339

Merged
merged 109 commits into from
May 13, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
109 commits
Select commit Hold shift + click to select a range
986f37b
cloudinit: move to pytest for running tests (#211)
OddBloke Mar 10, 2020
64c3370
tox.ini: bump pyflakes version to 2.1.1 (#239)
OddBloke Mar 10, 2020
aea6529
workflows: CLA validation altered to fail status on pull_request (#164)
blackboxsw Mar 10, 2020
9b2e42c
tox.ini: use xenial version of jsonpatch in CI (#242)
OddBloke Mar 11, 2020
a4d64e2
workflows/cla.yml: use correct username for CLA check (#243)
OddBloke Mar 11, 2020
a8ef147
Introduce and use of a list of GitHub usernames that have signed CLA …
OddBloke Mar 11, 2020
d5dbbd1
Add pub_key_ed25519 to cc_phone_home (#237)
dhensby Mar 11, 2020
65a1b90
tox.ini: avoid substition syntax that causes a traceback on xenial (#…
OddBloke Mar 11, 2020
94838de
Add Netbsd support (#62)
goneri Mar 12, 2020
05b1de3
doc: CloudInit also support NetBSD (#250)
goneri Mar 12, 2020
04647a3
fix minor issue with resolv_conf template (#144)
andreaf74 Mar 12, 2020
1426a0d
cc_resolv_conf: introduce tests and stabilise output across Python ve…
OddBloke Mar 13, 2020
727f38e
workflows: introduce stale pull request workflow (#125)
OddBloke Mar 13, 2020
309e9a3
util/netbsd: drop six usage (#252)
OddBloke Mar 14, 2020
b9ff0dc
cloudinit: remove six from packaging/tooling (#253)
OddBloke Mar 17, 2020
a20092e
releases.yaml: quote the Ubuntu version numbers (#254)
paride Mar 18, 2020
024bf27
ec2 json validation: fix the reference to the 'merged_cfg' key (#256)
paride Mar 18, 2020
6600c64
ec2: render network on all NICs and add secondary IPs as static (#114)
blackboxsw Mar 18, 2020
77c7c11
.gitignore: add more common directories (#258)
OddBloke Mar 19, 2020
9db8737
.travis.yml: drop stale comment (#255)
OddBloke Mar 19, 2020
ade4786
cloudinit/tests: remove unneeded with_logs configuration (#263)
OddBloke Mar 19, 2020
877cafd
DataSourceOracle: update .network_config docstring (#257)
OddBloke Mar 19, 2020
0173e85
test_oracle,DataSourceOracle: sort imports (#266)
OddBloke Mar 20, 2020
df7a785
bsd: boottime does not depend on the libc soname (#269)
goneri Mar 23, 2020
a18338e
cc_apt_configure/util: combine search_for_mirror implementations (#271)
OddBloke Mar 23, 2020
04771d7
cc_disk_setup: fix RuntimeError (#270)
OddBloke Mar 23, 2020
9bb1ae9
tools: use python3 (#274)
raharper Mar 24, 2020
0151e7e
doc: introduce Code Review Process documentation (#160)
OddBloke Mar 24, 2020
53b6d1d
freebsd: ensure package update works (#273)
goneri Mar 24, 2020
d605db4
HACKING.rst: add links to new Code Review Process doc (#276)
OddBloke Mar 24, 2020
c5e949c
distros/tests/test_init: add tests for _get_package_mirror_info (#272)
OddBloke Mar 25, 2020
3f6746c
util: read_cc_from_cmdline handle urlencoded yaml content (#275)
raharper Mar 25, 2020
42f69f4
HACKING.rst: add Unit Testing design section (#277)
OddBloke Mar 25, 2020
993f3e3
set_passwords: avoid chpasswd on BSD (#268)
goneri Mar 25, 2020
e088318
Add lp-to-git mapping for kgarloff (#279)
raharper Mar 26, 2020
bacd63a
lp-to-git-users: adding killermoehre (#281)
killermoehre Mar 26, 2020
1fefeef
VMWware: support to update guest info gc status if enabled (#261)
xiaofengw-vmware Mar 26, 2020
4c88d93
HACKING.rst: add examples of the two test class types (#278)
OddBloke Mar 26, 2020
4403962
add Openbsd support (#147)
goneri Mar 26, 2020
7f9f33d
Identify SAP Converged Cloud as OpenStack
killermoehre Mar 26, 2020
14c1f48
setup.py: drop NIH check_output implementation (#282)
OddBloke Mar 27, 2020
1905ff4
sources/tests/test_init: drop use of deprecated inspect.getargspec (#…
OddBloke Mar 27, 2020
41cc201
.travis.yml: allow 30 minutes of inactivity in cloud tests (#287)
OddBloke Mar 27, 2020
36a597d
CiTestCase: remove now-unneeded parse_and_read helper method (#286)
OddBloke Mar 27, 2020
2566fdb
net: introduce is_ip_address function (#288)
OddBloke Mar 28, 2020
e76057f
HACKING.rst: add Type Annotations design section (#293)
OddBloke Mar 30, 2020
ee03779
net/cmdline: replace type comments with annotations (#294)
OddBloke Mar 31, 2020
4f825b3
cloudinit: refactor util.is_ipv4 to net.is_ipv4_address (#292)
OddBloke Mar 31, 2020
4fb6fd8
net: ubuntu focal prioritize netplan over eni even if both present (#…
blackboxsw Mar 31, 2020
d00126c
Fix cloud-init ignoring some misdeclared mimetypes in user-data.
garloff Mar 31, 2020
ed350ac
rbxcloud: gracefully handle arping errors (#262)
ad-m Mar 31, 2020
c478d0b
distros: replace invalid characters in mirror URLs with hyphens (#291)
OddBloke Mar 31, 2020
b698b34
CiTestCase: stop using and remove sys_exit helper (#283)
OddBloke Mar 31, 2020
f51e3d0
HACKING.rst: add note about variable annotations (#295)
OddBloke Mar 31, 2020
1bbc490
distros: drop leading/trailing hyphens from mirror URL labels (#296)
OddBloke Mar 31, 2020
9efa64f
HACKING.rst: reorganise/update CLA signature info (#297)
OddBloke Mar 31, 2020
95ef35d
util: remove unnecessary lru_cache import fallback (#299)
OddBloke Apr 1, 2020
0dae099
tools/.github-cla-signers: add beezly as CLA signer (#301)
OddBloke Apr 2, 2020
bec8f38
openbsd: set_passwd should not unlock user (#289)
goneri Apr 2, 2020
723e2bc
Add support for NFS/EFS mounts (#300)
beezly Apr 2, 2020
09fea85
net: ignore 'renderer' key in netplan config (#306)
raharper Apr 3, 2020
e30599c
readme: OpenBSD is now supported (#309)
goneri Apr 6, 2020
e1a0604
docs: Add steps to re-run cloud-id and cloud-init (#313)
Apr 10, 2020
48b15bf
HACKING.rst: add pytest version gotchas section (#311)
OddBloke Apr 14, 2020
46cf23c
swap file "size" being used before checked if str (#315)
otubo Apr 14, 2020
9d7b35c
cc_mounts: fix incorrect format specifiers (#316)
OddBloke Apr 15, 2020
0c5c736
test_mounts: expand happy path test for both happy paths (#319)
OddBloke Apr 16, 2020
d7cad8b
tests: add missing mocks for get_interfaces_by_mac (#326)
OddBloke Apr 20, 2020
ceb3ae7
network_state: add missing space to log message (#325)
OddBloke Apr 22, 2020
1b049e6
YAML align indent sizes for docs readability (#323)
nishigori Apr 22, 2020
845a393
conftest: introduce disable_subp_usage autouse fixture (#304)
OddBloke Apr 23, 2020
506590e
More unit test documentation (#314)
OddBloke Apr 23, 2020
e9ab123
.travis.yml: don't run integration test on ubuntu/* branches (#321)
OddBloke Apr 23, 2020
c5b44e4
log: remove unnecessary import fallback logic (#327)
OddBloke Apr 23, 2020
7276aa5
distros: handle a potential mirror filtering error case (#328)
OddBloke Apr 23, 2020
38a7e6e
cloudinit: drop dependencies on unittest2 and contextlib2 (#322)
OddBloke Apr 24, 2020
e449996
nocloud: drop work around for Linux 2.6 (#324)
goneri Apr 24, 2020
72f6eb0
BSD: find_devs_with_ refactoring (#298)
goneri Apr 24, 2020
61a1924
schema: add json schema for write_files module (#152)
blackboxsw Apr 24, 2020
429c1ab
schema: ignore spurious pylint error (#332)
OddBloke Apr 27, 2020
f5e1d67
DataSourceNoCloud/OVF: drop claim to support FTP (#333)
OddBloke Apr 28, 2020
b70f110
Add docs about creating parent folders (#330)
Apr 28, 2020
32338f5
doc/format: reference make-mime.py instead of an inline script (#334)
OddBloke Apr 29, 2020
03aed95
Release 20.2 (#337)
blackboxsw Apr 29, 2020
5815dd9
yum_add_repo: Add Centos to the supported distro list (#340)
raharper Apr 30, 2020
0a4971b
doc/rtd/conf.py: bump copyright year to 2020 (#341)
OddBloke Apr 30, 2020
7dceb98
cc_locale: introduce schema (#335)
OddBloke Apr 30, 2020
25698b1
.travis.yml: introduce caching (#329)
OddBloke Apr 30, 2020
70dbccb
DataSourceEc2: use metadata's NIC ordering to determine route-metrics…
OddBloke May 1, 2020
4d26848
Adapt the package building scripts to use Python 3 (#231)
paride May 2, 2020
fededca
Add "therealfalcon" as contributor (#344)
TheRealFalcon May 4, 2020
59dd290
Add lucasmoura as contributor (#345)
lucasmoura May 4, 2020
f9b393b
bsd: upgrade support (#305)
goneri May 4, 2020
73d8748
analyze/dump: add support for Amazon Linux 2 log lines (#346)
OddBloke May 6, 2020
022122a
Create tests to validate schema examples (#348)
lucasmoura May 6, 2020
1c2d988
lp-to-git-users: adding chengcheng-chcheng (#356)
chengcheng-chcheng May 7, 2020
b24b376
make suse and sles support 127.0.1.1 (#336)
chengcheng-chcheng May 7, 2020
34b8680
Add test to ensure docs examples are valid cloud-init configs (#355)
TheRealFalcon May 8, 2020
f5c3f3c
.travis.yml: don't run lintian during integration test package builds…
OddBloke May 9, 2020
73a5b32
HACKING.rst: more unit testing documentation (#354)
OddBloke May 11, 2020
f9d0414
HACKING.rst: guide people to add themselves to the CLA file (#349)
OddBloke May 11, 2020
ee64b62
HACKING.rst: change contact info to Rick Harding (#359)
lucasmoura May 11, 2020
73aed04
doc: update boot.rst with correct timing of runcmd (#351)
OddBloke May 11, 2020
d10ce3e
analyze/dump: refactor shared string into variable (#350)
OddBloke May 12, 2020
874ca7d
drop cherry picks included in origin/master commit d10ce3ec
blackboxsw May 12, 2020
b6f54aa
update changelog.
blackboxsw May 12, 2020
c7b96c8
merge from origin/master at 20.2-20-gd10ce3ec
blackboxsw May 12, 2020
0a3b96b
update changelog (New upstream snapshot 20.2-20-gd10ce3ec).
blackboxsw May 12, 2020
4ced4b6
releasing cloud-init version 20.2-20-gd10ce3ec-0ubuntu1
blackboxsw May 12, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
47 changes: 29 additions & 18 deletions .github/workflows/cla.yml
Expand Up @@ -8,22 +8,33 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- run: |
echo "::set-env name=CLA_SIGNED::$(grep -q ': \"${{ github.actor }}\"' ./tools/.lp-to-git-user && echo CLA signed || echo CLA not signed)"
- name: Add CLA label
- name: Check CLA signing status for ${{ github.event.pull_request.user.login }}
run: |
# POST a new label to this issue
curl --request POST \
--url https://api.github.com/repos/${{ github.repository }}/issues/${{ github.event.number }}/labels \
--header 'authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' \
--header 'content-type: application/json' \
--data '{"labels": ["${{env.CLA_SIGNED}}"]}'
- name: Comment about CLA signing
if: env.CLA_SIGNED == 'CLA not signed'
run: |
# POST a comment directing submitter to sign the CLA
curl --request POST \
--url https://api.github.com/repos/${{ github.repository }}/issues/${{ github.event.number }}/comments \
--header 'authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' \
--header 'content-type: application/json' \
--data '{"body": "Hello ${{ github.actor }},\n\nThank you for your contribution to cloud-init.\n\nIn order for us to merge this pull request, you need\nto have signed the Contributor License Agreement (CLA).\nPlease ensure that you have signed the CLA by following our\nhacking guide at:\n\nhttps://cloudinit.readthedocs.io/en/latest/topics/hacking.html\n\nThanks,\nYour friendly cloud-init upstream\n"}'
cat > unsigned-cla.txt <<EOF
Hello ${{ github.event.pull_request.user.login }},

Thank you for your contribution to cloud-init.

In order for us to merge this pull request, you need
to have signed the Contributor License Agreement (CLA).
Please sign the CLA by following our
hacking guide at:
https://cloudinit.readthedocs.io/en/latest/topics/hacking.html

Thanks,
Your friendly cloud-init upstream
EOF

has_signed() {
username="$1"
grep -q ": \"$username\"" ./tools/.lp-to-git-user && return 0
grep -q "^$username$" ./tools/.github-cla-signers && return 0
return 1
}

if has_signed "${{ github.event.pull_request.user.login }}"; then
echo "Thanks ${{ github.event.pull_request.user.login }} for signing cloud-init's CLA"
else
cat unsigned-cla.txt
exit 1
fi
24 changes: 24 additions & 0 deletions .github/workflows/stale.yml
@@ -0,0 +1,24 @@
name: Mark and close stale pull requests

on:
schedule:
- cron: "0 0 * * *" # Daily @ 00:00

jobs:
stale:

runs-on: ubuntu-latest

steps:
- uses: actions/stale@v1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
days-before-stale: 14
days-before-close: 7
stale-pr-message: |
Hello! Thank you for this proposed change to cloud-init. This pull request is now marked as stale as it has not seen any activity in 14 days. If no activity occurs within the next 7 days, this pull request will automatically close.

If you are waiting for code review and you are seeing this message, apologies! Please reply, tagging powersj, and he will ensure that someone takes a look soon.

(If the pull request is closed, please do feel free to reopen it if you wish to continue working on it.)
stale-pr-label: 'stale-pr'
3 changes: 3 additions & 0 deletions .gitignore
Expand Up @@ -13,6 +13,9 @@ stage
*.cover
.idea/
.venv/
.pc/
.cache/
.mypy_cache/

# Ignore packaging artifacts
cloud-init.dsc
Expand Down
1 change: 0 additions & 1 deletion .pylintrc
Expand Up @@ -50,7 +50,6 @@ ignored-modules=
http.client,
httplib,
pkg_resources,
six.moves,
# cloud_tests requirements.
boto3,
botocore,
Expand Down
43 changes: 36 additions & 7 deletions .travis.yml
@@ -1,6 +1,22 @@
language: python
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.)
#
# 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.
cache: pip

install:
# Required so `git describe` will definitely find a tag; see
# https://github.com/travis-ci/travis-ci/issues/7422
Expand All @@ -16,13 +32,25 @@ matrix:
- python: 3.6
env:
TOXENV=py3
NOSE_VERBOSE=2 # List all tests run by nose
- install:
PYTEST_ADDOPTS=-v # List all tests run by pytest
- if: NOT branch =~ /^ubuntu\//
cache:
- directories:
- lxd_images
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/ \;
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-contextlib2
- sudo apt-get install -y --install-recommends dh-systemd python3-coverage python3-contextlib2 python3-pytest python3-pytest-cov
- pip install .
- pip install tox
# bionic has lxd from deb installed, remove it first to ensure
Expand All @@ -32,6 +60,8 @@ matrix:
- sudo snap install lxd
- 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 usermod -a -G lxd $USER
- sudo sbuild-adduser $USER
- cp /usr/share/doc/sbuild/examples/example.sbuildrc /home/$USER/.sbuildrc
Expand All @@ -40,14 +70,13 @@ matrix:
- ./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'
- sudo -E su $USER -c 'sbuild --nolog --verbose --dist=xenial cloud-init_*.dsc'
- 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'
- travis_wait 30 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'
- python: 3.5
env:
TOXENV=xenial
NOSE_VERBOSE=2 # List all tests run by nose
# Travis doesn't support Python 3.4 on bionic, so use xenial
PYTEST_ADDOPTS=-v # List all tests run by pytest
dist: xenial
- python: 3.6
env: TOXENV=pycodestyle
Expand Down
109 changes: 109 additions & 0 deletions ChangeLog
@@ -1,3 +1,112 @@
20.2
- doc/format: reference make-mime.py instead of an inline script (#334)
- Add docs about creating parent folders (#330) [Adrian Wilkins]
- DataSourceNoCloud/OVF: drop claim to support FTP (#333) (LP: #1875470)
- schema: ignore spurious pylint error (#332)
- schema: add json schema for write_files module (#152)
- BSD: find_devs_with_ refactoring (#298) [Gonéri Le Bouder]
- nocloud: drop work around for Linux 2.6 (#324) [Gonéri Le Bouder]
- cloudinit: drop dependencies on unittest2 and contextlib2 (#322)
- distros: handle a potential mirror filtering error case (#328)
- log: remove unnecessary import fallback logic (#327)
- .travis.yml: don't run integration test on ubuntu/* branches (#321)
- More unit test documentation (#314)
- conftest: introduce disable_subp_usage autouse fixture (#304)
- YAML align indent sizes for docs readability (#323) [Tak Nishigori]
- network_state: add missing space to log message (#325)
- tests: add missing mocks for get_interfaces_by_mac (#326) (LP: #1873910)
- test_mounts: expand happy path test for both happy paths (#319)
- cc_mounts: fix incorrect format specifiers (#316) (LP: #1872836)
- swap file "size" being used before checked if str (#315) [Eduardo Otubo]
- HACKING.rst: add pytest version gotchas section (#311)
- docs: Add steps to re-run cloud-id and cloud-init (#313) [Joshua Powers]
- readme: OpenBSD is now supported (#309) [Gonéri Le Bouder]
- net: ignore 'renderer' key in netplan config (#306) (LP: #1870421)
- Add support for NFS/EFS mounts (#300) [Andrew Beresford] (LP: #1870370)
- openbsd: set_passwd should not unlock user (#289) [Gonéri Le Bouder]
- tools/.github-cla-signers: add beezly as CLA signer (#301)
- util: remove unnecessary lru_cache import fallback (#299)
- HACKING.rst: reorganise/update CLA signature info (#297)
- distros: drop leading/trailing hyphens from mirror URL labels (#296)
- HACKING.rst: add note about variable annotations (#295)
- CiTestCase: stop using and remove sys_exit helper (#283)
- distros: replace invalid characters in mirror URLs with hyphens (#291)
(LP: #1868232)
- rbxcloud: gracefully handle arping errors (#262) [Adam Dobrawy]
- Fix cloud-init ignoring some misdeclared mimetypes in user-data.
[Kurt Garloff]
- net: ubuntu focal prioritize netplan over eni even if both present
(#267) (LP: #1867029)
- cloudinit: refactor util.is_ipv4 to net.is_ipv4_address (#292)
- net/cmdline: replace type comments with annotations (#294)
- HACKING.rst: add Type Annotations design section (#293)
- net: introduce is_ip_address function (#288)
- CiTestCase: remove now-unneeded parse_and_read helper method (#286)
- .travis.yml: allow 30 minutes of inactivity in cloud tests (#287)
- sources/tests/test_init: drop use of deprecated inspect.getargspec (#285)
- setup.py: drop NIH check_output implementation (#282)
- Identify SAP Converged Cloud as OpenStack [Silvio Knizek]
- add Openbsd support (#147) [Gonéri Le Bouder]
- HACKING.rst: add examples of the two test class types (#278)
- VMWware: support to update guest info gc status if enabled (#261)
[xiaofengw-vmware]
- Add lp-to-git mapping for kgarloff (#279)
- set_passwords: avoid chpasswd on BSD (#268) [Gonéri Le Bouder]
- HACKING.rst: add Unit Testing design section (#277)
- util: read_cc_from_cmdline handle urlencoded yaml content (#275)
- distros/tests/test_init: add tests for _get_package_mirror_info (#272)
- HACKING.rst: add links to new Code Review Process doc (#276)
- freebsd: ensure package update works (#273) [Gonéri Le Bouder]
- doc: introduce Code Review Process documentation (#160)
- tools: use python3 (#274)
- cc_disk_setup: fix RuntimeError (#270) (LP: #1868327)
- cc_apt_configure/util: combine search_for_mirror implementations (#271)
- bsd: boottime does not depend on the libc soname (#269)
[Gonéri Le Bouder]
- test_oracle,DataSourceOracle: sort imports (#266)
- DataSourceOracle: update .network_config docstring (#257)
- cloudinit/tests: remove unneeded with_logs configuration (#263)
- .travis.yml: drop stale comment (#255)
- .gitignore: add more common directories (#258)
- ec2: render network on all NICs and add secondary IPs as static (#114)
(LP: #1866930)
- ec2 json validation: fix the reference to the 'merged_cfg' key (#256)
[Paride Legovini]
- releases.yaml: quote the Ubuntu version numbers (#254) [Paride Legovini]
- cloudinit: remove six from packaging/tooling (#253)
- util/netbsd: drop six usage (#252)
- workflows: introduce stale pull request workflow (#125)
- cc_resolv_conf: introduce tests and stabilise output across Python
versions (#251)
- fix minor issue with resolv_conf template (#144) [andreaf74]
- doc: CloudInit also support NetBSD (#250) [Gonéri Le Bouder]
- Add Netbsd support (#62) [Gonéri Le Bouder]
- tox.ini: avoid substition syntax that causes a traceback on xenial (#245)
- Add pub_key_ed25519 to cc_phone_home (#237) [Daniel Hensby]
- Introduce and use of a list of GitHub usernames that have signed CLA
(#244)
- workflows/cla.yml: use correct username for CLA check (#243)
- tox.ini: use xenial version of jsonpatch in CI (#242)
- workflows: CLA validation altered to fail status on pull_request (#164)
- tox.ini: bump pyflakes version to 2.1.1 (#239)
- cloudinit: move to pytest for running tests (#211)
- instance-data: add cloud-init merged_cfg and sys_info keys to json
(#214) (LP: #1865969)
- ec2: Do not fallback to IMDSv1 on EC2 (#216)
- instance-data: write redacted cfg to instance-data.json (#233)
(LP: #1865947)
- net: support network-config:disabled on the kernel commandline (#232)
(LP: #1862702)
- ec2: only redact token request headers in logs, avoid altering request
(#230) (LP: #1865882)
- docs: typo fixed: dta → data [Alexey Vazhnov]
- Fixes typo on Amazon Web Services (#217) [Nick Wales]
- Fix docs for OpenStack DMI Asset Tag (#228)
[Mark T. Voelker] (LP: #1669875)
- Add physical network type: cascading to openstack helpers (#200)
[sab-systems]
- tests: add focal integration tests for ubuntu (#225)

20.1
- ec2: Do not log IMDSv2 token values, instead use REDACTED (#219)
(LP: #1863943)
Expand Down