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

integration_tests: bump pycloudlib dependency #846

Merged
merged 1 commit into from
Mar 18, 2021

Conversation

OddBloke
Copy link
Collaborator

Proposed Commit Message

integration_tests: bump pycloudlib dependency

The latest pycloudlib now launches official Ubuntu cloud images for
xenial, meaning that `lxc exec` no longer works against them.  This
commit includes handling for tests which are affected by this change;
further details and reasoning in the included comment.

Additional Context

This change will affect our SRU process for xenial. We'll need to perform two test runs for LXD VMs: one with -m "not lxc_use_exec" against the default images, and one with -m lxc_use_exec against an image with exec support. This image could be the known-good images: image, or we could consider manually upgrading the kernel in an instance launched from an official image and capturing that as an image which we then pass in. (I considered automating this last step in the test framework: create and snapshot such an image the first time we hit an lxc_use_exec test, and then reuse it each time: if we introduce the more general "image catalogue" support we've discussed somewhat in the past, this could be a good candidate for it.)

Checklist:

  • My code follows the process laid out in the documentation
  • I have updated or added any unit tests accordingly
  • I have updated or added any documentation accordingly

The latest pycloudlib now launches official Ubuntu cloud images for
xenial, meaning that `lxc exec` no longer works against them.  This
commit includes handling for tests which are affected by this change;
further details and reasoning in the included comment.
# normal LXD test runs). This is not true of this test: it
# can't run in our usual xenial LXD VM test run, and it may not
# run anywhere else. A failure flags up this discrepancy.
pytest.fail(XENIAL_LXD_VM_EXEC_MSG)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I could go both ways on this. You make a good argument, but on the other hand, is this that much different from what we're doing for other tests? We skip on unsupported configurations. The only way we know a test is going to get run is if we make sure that it's included in the configuration matrix of tests we're going to run. If we know we have tests that require exec, we should probably include an exec-able image to our default test runs.

But I'm ok going with this. If it causes frustration, it wouldn't be hard to change later.

@OddBloke
Copy link
Collaborator Author

OddBloke commented Mar 18, 2021 via email

@TheRealFalcon
Copy link
Member

That explanation makes sense, and I agree. Thanks for taking the time to put that thinking into words.

@TheRealFalcon TheRealFalcon merged commit dae45c3 into canonical:master Mar 18, 2021
@OddBloke OddBloke deleted the tests branch March 18, 2021 21:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants