summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLubomir Rintel <lkundrak@v3.sk>2023-04-17 07:07:33 +0200
committerThomas Haller <thaller@redhat.com>2023-05-12 12:42:55 +0200
commitb93ebb9be931d4b6a73fd534f787478ce1c78bcb (patch)
tree56d7d8c497d99130febffc370203c41887e1df76
parent79f6a7da567637443f82d2ea1d6ea10e8f3c6208 (diff)
downloadNetworkManager-b93ebb9be931d4b6a73fd534f787478ce1c78bcb.tar.gz
test/client: test cloud-setup GCP support
-rwxr-xr-xsrc/tests/client/test-client.py61
1 files changed, 61 insertions, 0 deletions
diff --git a/src/tests/client/test-client.py b/src/tests/client/test-client.py
index 91a555e641..dc9efd8553 100755
--- a/src/tests/client/test-client.py
+++ b/src/tests/client/test-client.py
@@ -2478,6 +2478,67 @@ class TestNmCloudSetup(TestNmClient):
Util.valgrind_check_log(nmc.valgrind_log, "test_ec2")
+ @cloud_setup_test
+ def test_gcp(self):
+ self._mock_devices()
+
+ gcp_meta = "/computeMetadata/v1/instance/"
+ gcp_iface = gcp_meta + "network-interfaces/"
+ self._mock_path(gcp_meta + "id", "")
+ self._mock_path(gcp_iface, "0\n1\n")
+ self._mock_path(gcp_iface + "0/mac", TestNmCloudSetup._mac1)
+ self._mock_path(gcp_iface + "1/mac", TestNmCloudSetup._mac2)
+ self._mock_path(gcp_iface + "0/forwarded-ips/", "0\n")
+ self._mock_path(gcp_iface + "0/forwarded-ips/0", TestNmCloudSetup._ip1)
+ self._mock_path(gcp_iface + "1/forwarded-ips/", "0\n")
+ self._mock_path(gcp_iface + "1/forwarded-ips/0", TestNmCloudSetup._ip2)
+
+ # Run nm-cloud-setup for the first time
+ nmc = self.call_pexpect(
+ ENV_NM_TEST_CLIENT_CLOUD_SETUP_PATH,
+ [],
+ {
+ "NM_CLOUD_SETUP_GCP_HOST": self.md_url,
+ "NM_CLOUD_SETUP_LOG": "trace",
+ "NM_CLOUD_SETUP_GCP": "yes",
+ },
+ )
+
+ nmc.pexp.expect("provider GCP detected")
+ nmc.pexp.expect("found interfaces: 9E:C0:3E:92:24:2D, 53:E9:7E:52:8D:A8")
+ nmc.pexp.expect("found GCP interfaces: 2")
+ nmc.pexp.expect("GCP interface\[0]: found a requested device with hwaddr")
+ nmc.pexp.expect("get-config: success")
+ nmc.pexp.expect("meta data received")
+ # One of the devices has no IPv4 configuration to be modified
+ nmc.pexp.expect("device has no suitable applied connection. Skip")
+ # The other one was lacking an address set it up.
+ nmc.pexp.expect("some changes were applied for provider GCP")
+ nmc.pexp.expect(pexpect.EOF)
+
+ # Run nm-cloud-setup for the second time
+ nmc = self.call_pexpect(
+ ENV_NM_TEST_CLIENT_CLOUD_SETUP_PATH,
+ [],
+ {
+ "NM_CLOUD_SETUP_GCP_HOST": self.md_url,
+ "NM_CLOUD_SETUP_LOG": "trace",
+ "NM_CLOUD_SETUP_GCP": "yes",
+ },
+ )
+
+ nmc.pexp.expect("provider GCP detected")
+ nmc.pexp.expect("found interfaces: 9E:C0:3E:92:24:2D, 53:E9:7E:52:8D:A8")
+ nmc.pexp.expect("get-config: starting")
+ nmc.pexp.expect("get-config: success")
+ nmc.pexp.expect("meta data received")
+ # No changes this time
+ nmc.pexp.expect('device needs no update to applied connection "con-eth0"')
+ nmc.pexp.expect("no changes were applied for provider GCP")
+ nmc.pexp.expect(pexpect.EOF)
+
+ Util.valgrind_check_log(nmc.valgrind_log, "test_gcp")
+
###############################################################################