From 6ed3c5dfcd9392784d2199224ac7d28d1abfdf7b Mon Sep 17 00:00:00 2001 From: Chad Smith Date: Wed, 2 Feb 2022 21:38:56 -0700 Subject: integration: do not LXD bind mount /etc/cloud/cloud.cfg.d (#1234) Since lxc bind mounts will be read-only as nobody:nogroup we don't want to bind mount /etc/cloud/cloud.cfg.d into the instance because some tests add artifacts to /etc/cloud/cloud.cfg.d. Also make LXD push_file pull_file methods assert that the file transfer was a success, otherwise we miss the root-cause for test failures. This resulted in failed Jenkins runs in test_lxd_discovery with a symptom of NoCloud being detected instead of LXD datasource. The root-case was that instance.file_push failed due to permission errors for root on the bind mounted /etc/cloud/cloud.cfg.d. Also bump pycloudlib commitish to get Azure Jammy image support. --- tests/integration_tests/instances.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'tests/integration_tests/instances.py') diff --git a/tests/integration_tests/instances.py b/tests/integration_tests/instances.py index e3d597af..f30456fc 100644 --- a/tests/integration_tests/instances.py +++ b/tests/integration_tests/instances.py @@ -81,13 +81,13 @@ class IntegrationInstance: # First copy to a temporary directory because of permissions issues tmp_path = _get_tmp_path() self.instance.execute("cp {} {}".format(str(remote_path), tmp_path)) - self.instance.pull_file(tmp_path, str(local_path)) + assert self.instance.pull_file(tmp_path, str(local_path)).ok def push_file(self, local_path, remote_path): # First push to a temporary directory because of permissions issues tmp_path = _get_tmp_path() self.instance.push_file(str(local_path), tmp_path) - self.execute("mv {} {}".format(tmp_path, str(remote_path))) + assert self.execute("mv {} {}".format(tmp_path, str(remote_path))).ok def read_from_file(self, remote_path) -> str: result = self.execute("cat {}".format(remote_path)) -- cgit v1.2.3