-
Notifications
You must be signed in to change notification settings - Fork 818
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
Snapshot upload of master to Ubuntu devel release #762
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
During teardown of every cloud instance, run 'cloud-init collect-logs', then transfer and unpack locally. Two new integration settings have been added to specify when to perform this action (ALWAYS, ON_ERROR, NEVER), and where to store these logs.
pycloudlib will stop running commands as root by default on LXD. To align with that change and make the behavior consistent with other clouds we support, our LXD instances will now run the commands with sudo by default.
Integration tests have been leaving behind snapshot images, so now we clean them up. Also, in testing, found that in Azure, deleting a resource group will automatically delete the instance, so if KEEP_INSTANCE is True, we no longer delete the resource group. Co-authored-by: Daniel Watkins <oddbloke@ubuntu.com>
…anonical#685) BOOTPROTO needs to be set to 'dhcp' on RHEL so NetworkManager can properly acquire ipv6 address. rhbz: #1859695 Signed-off-by: Eduardo Otubo <otubo@redhat.com> Co-authored-by: Daniel Watkins <oddbloke@ubuntu.com> Co-authored-by: Scott Moser <smoser@brickies.net>
This wraps pycloudlib's `BaseInstance.restart` and `BaseInstance.wait` to pass the same parameters as on launch, to avoid cloud-init failures on the _reboot_ raising an exception.
This introduces an optional, more complex OS_IMAGE format (`<image id>::<os>::<release>`) which allows the specification of the OS/OS release which the given image ID corresponds to. This information is used to skip tests which do not apply to the image. This commit is comprised of the following discrete changes: * introduce the IntegrationImage class, to handle parsing and storing the new OS_IMAGE format * support inferring the OS and OS release of Ubuntu series, so that we can continue to set OS_IMAGE to just a series name and have test skipping work * add documentation on Image Selection to integration_tests.rst * introduce the actual skipping behaviour based on OS marks * apply the `ubuntu` mark to all tests that should be skipped on non-Ubuntu operating systems
If a non-default AuthorizedKeysFile is specified in /etc/ssh/sshd_config, ensure we can still ssh as expected
…l#711) For SRU test development, every single time we start a new test run, we need to first install the PROPOSED version and create an image snapshot. Instead of automatically deleting a snapshot, add an integration setting to allow us to keep the snapshot. The end of the test run will log the image name which can then be used as the OS_IMAGE in subsequent test runs.
Test that we can add optional vendor-data to the seedfrom file in a NoCloud environment. Also added the option to pass raise_on_cloudinit_failure through an instance restart so we get automatic failure checking when we need to manually reboot.
Add an integration test that roughly mimics many of the manual cloud SRU tests. Also refactored some of the image setup code to make it easier to use in non-fixture code.
CA Cert tests will fail on systems that don't have ca-certificates installed and configured. Signed-off-by: Daniel Watkins <oddbloke@ubuntu.com> Signed-off-by: Eduardo Otubo <otubo@redhat.com>
Update documentation for network-config-format-v2 to reflect the fact that routes are a per-interface property, not a global network property.
Also introduce the `unstable` mark, to allow us to land tests which run inconsistently (such as this one).
integration_tests: add test for LP: #1898997 This introduces the `lxd_config_dict` mark, used to specify a free-form configuration dict to LXD for tests which only run there; and the `not_xenial` and `not_bionic` marks, used to skip tests on xenial/bionic via a basic release skipping mechanism. This also bumps the pycloudlib commit we depend upon, as the latest commit includes the changes required for LXD network config to work. (The `lxd_config_dict` change further complicated `_client`, so a minor refactoring is applied.)
Ensure gpg is called with --no-tty flag. Also, refactored the "ordered_items_in_text" to assert if the line is missing and provide a more useful error message.
Fedora build system's rpmlint is complaining that there is a file with a shebang but no executable flag set. No need to have shebang on this file, so drop it. Signed-off-by: Eduardo Otubo <otubo@redhat.com> Co-authored-by: Scott Moser <smoser@brickies.net>
This bump is required to be able to launch groovy and hirsute LXD VMs, as it includes canonical/pycloudlib@ffd86ad
Verify that on Azure that if a default user and password are specified through the Azure API that a change in the default password overwrites the old password
Verify that if cloud-init is using DataSourceRbxCloud, there is no traceback if the metadata disk cannot be found.
- workaround pad.lv/1908287 for restarting instances - move wait param from launch_kwargs to launch call - remove name param as it's not universally supported - add platform to log names
Ensure if wakeonlan is specified in the network config that it is rendered in the /etc/network/interfaces or netplan config.
This currently covers functionality added in canonical#575
) On xenial, the bridge test fails because xenial's LXD doesn't include the `network` subcommand. On bionic, the bridge test fails within containers, because LXD isn't able to manipulate the host kernel as it expects. (focal and later do run successfully in containers, but we don't have a good way of expressing that presently.)
This refactors cc_ca_certs to support non-ca-certificates distros, and adds RHEL support.
This fixes up an issue introduced in 54e202a.
This excludes Python 3.4, as there are currently test failures there; that will be addressed separately.
This makes it easier to find the failure logs when you're running a bunch of similar tests in parallel.
We're unlikely to see any activity on many PRs over the next couple of weeks, so don't close out inactive PRs for the duration.
…cal#736) This makes it easier to copy/paste commit messages prepared elsewhere into the GitHub UI (and also means that the formatting in the GH UI more closely matches how the commit message will be consumed elsewhere).
This gives us more detailed integration testing output by default. This will make debugging failures reported by users/developers easier to debug, as it removes the need for an initial round-trip to get the output we need for debugging. It will also make debugging intermittent failures easier: there will definitely be log output from runs which exhibit the intermittent failure.
This should fix the error, and also allows us to manually trigger the workflow.
Our HACKING doc is very long, making it hard to justify expanding or restructuring its content too much. This moves the testing section to its own doc, and adds section headers in to make finding/linking to testing guidelines easier. To avoid confusion, the title of debugging.rst is changed.
This reverts commits fad919a ("stale: disable check for holiday break (canonical#735)") and e4f2d61 ("stale: fix error in definition (canonical#740)").
…cal#750) We don't currently document our passthrough behaviour, which has lead to some user confusion about what they can rely upon on Ubuntu systems. This clarifies our support.
1. fix a typo in cloud-init.1 2. add xiachen-rh as contributor
This introduces PUBLIC_SSH_KEY, to configure what public SSH key should be used to access systems under test, and KEYPAIR_NAME, to configure the name used in clouds for that SSH key (or the default SSH key, in PUBLIC_SSH_KEY's absence).
Added some missing IPv6 subnet configuration types (ipv6_dhcpv6-stateful, ipv6_dhcpv6-stateless, ipv6_slaac) to Networking config v1 documentation.
…anonical#753) IPV6_AUTOCONF needs to be set to 'no' on RHEL so NetworkManager can properly acquire ipv6 address. rhbz: #1859695 Signed-off-by: Eduardo Otubo <otubo@redhat.com>
With the changes for SSH public keys to be retrieved from IMDS as a first option, when a key is passed through not in the raw SSH public key format it causes an issue and the key is not added to the user's authorized_keys file. This PR will temporarily disable this behavior until a permanent fix is put in place.
OddBloke
force-pushed
the
ubuntu/devel
branch
from
January 11, 2021 21:59
61ec550
to
5f76057
Compare
blackboxsw
approved these changes
Jan 11, 2021
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM:
- running locally on my box against latest tip of master I see the following diff:
diff --git a/debian/changelog b/debian/changelog
index 790a437e..38f2a4bb 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -62,7 +62,7 @@ cloud-init (20.4-55-g4f62ae8d-0ubuntu1) hirsute; urgency=medium
- cla: add xnox (#692) [Dimitri John Ledkov]
- Collect logs from integration test runs (#675)
- -- Daniel Watkins <oddbloke@ubuntu.com> Mon, 11 Jan 2021 16:57:30 -0500
+ -- Chad Smith <chad.smith@canonical.com> Mon, 11 Jan 2021 14:54:21 -0700
cloud-init (20.4-0ubuntu2) hirsute; urgency=medium
- build-package succeeds
- sbuild-it ../out/cloud-init_20.4-55-g4f62ae8d-0ubuntu1.dsc succeeds
Status: successful
Version: 20.4-55-g4f62ae8d-0ubuntu1
--------------------------------------------------------------------------------
Finished at 2021-01-11T22:03:14Z
Build needed 00:02:09, 18040k disk space
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.