Open freyes opened 2 years ago
the approach I have in mind is to create the port using a set of tags that can identify the port, so in a subsequent call (a retry) we can look for a port with those tags to know if the port was really created in the background.
Tags:
model_name=$modelname
unit_id=$principal_unit
Another occurrence:
https://openstack-ci-reports.ubuntu.com/artifacts/125/841978/1/check/vault-focal-xena/12583a5/
2022-05-23 15:10:23 [INFO] Attaching additional port to instance ("69e1ec08-d847-4018-b13c-c56bd9804419"), connected to net id: 94a87d6a-6d82-4931-878d-aedcf0e62962
2022-05-23 15:11:53 [ERROR] {'vault': 'zaza-4b8742462d18'}
2022-05-23 15:11:53 [ERROR] Model vault (zaza-4b8742462d18)
Traceback (most recent call last):
File "/home/ubuntu/src/review.opendev.org/openstack/charm-nova-cloud-controller/.tox/func-target/lib/python3.8/site-packages/urllib3/connectionpool.py", line 703, in urlopen
httplib_response = self._make_request(
File "/home/ubuntu/src/review.opendev.org/openstack/charm-nova-cloud-controller/.tox/func-target/lib/python3.8/site-packages/urllib3/connectionpool.py", line 449, in _make_request
six.raise_from(e, None)
File "<string>", line 3, in raise_from
File "/home/ubuntu/src/review.opendev.org/openstack/charm-nova-cloud-controller/.tox/func-target/lib/python3.8/site-packages/urllib3/connectionpool.py", line 444, in _make_request
httplib_response = conn.getresponse()
File "/usr/lib/python3.8/http/client.py", line 1348, in getresponse
response.begin()
File "/usr/lib/python3.8/http/client.py", line 316, in begin
version, status, reason = self._read_status()
File "/usr/lib/python3.8/http/client.py", line 285, in _read_status
raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/ubuntu/src/review.opendev.org/openstack/charm-nova-cloud-controller/.tox/func-target/lib/python3.8/site-packages/requests/adapters.py", line 440, in send
resp = conn.urlopen(
File "/home/ubuntu/src/review.opendev.org/openstack/charm-nova-cloud-controller/.tox/func-target/lib/python3.8/site-packages/urllib3/connectionpool.py", line 785, in urlopen
retries = retries.increment(
File "/home/ubuntu/src/review.opendev.org/openstack/charm-nova-cloud-controller/.tox/func-target/lib/python3.8/site-packages/urllib3/util/retry.py", line 550, in increment
raise six.reraise(type(error), error, _stacktrace)
File "/home/ubuntu/src/review.opendev.org/openstack/charm-nova-cloud-controller/.tox/func-target/lib/python3.8/site-packages/urllib3/packages/six.py", line 769, in reraise
raise value.with_traceback(tb)
File "/home/ubuntu/src/review.opendev.org/openstack/charm-nova-cloud-controller/.tox/func-target/lib/python3.8/site-packages/urllib3/connectionpool.py", line 703, in urlopen
httplib_response = self._make_request(
File "/home/ubuntu/src/review.opendev.org/openstack/charm-nova-cloud-controller/.tox/func-target/lib/python3.8/site-packages/urllib3/connectionpool.py", line 449, in _make_request
six.raise_from(e, None)
File "<string>", line 3, in raise_from
File "/home/ubuntu/src/review.opendev.org/openstack/charm-nova-cloud-controller/.tox/func-target/lib/python3.8/site-packages/urllib3/connectionpool.py", line 444, in _make_request
httplib_response = conn.getresponse()
File "/usr/lib/python3.8/http/client.py", line 1348, in getresponse
response.begin()
File "/usr/lib/python3.8/http/client.py", line 316, in begin
version, status, reason = self._read_status()
File "/usr/lib/python3.8/http/client.py", line 285, in _read_status
raise RemoteDisconnected("Remote end closed connection without"
urllib3.exceptions.ProtocolError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/ubuntu/src/review.opendev.org/openstack/charm-nova-cloud-controller/.tox/func-target/lib/python3.8/site-packages/keystoneauth1/session.py", line 1022, in _send_request
resp = self.session.request(method, url, **kwargs)
File "/home/ubuntu/src/review.opendev.org/openstack/charm-nova-cloud-controller/.tox/func-target/lib/python3.8/site-packages/requests/sessions.py", line 529, in request
resp = self.send(prep, **send_kwargs)
File "/home/ubuntu/src/review.opendev.org/openstack/charm-nova-cloud-controller/.tox/func-target/lib/python3.8/site-packages/requests/sessions.py", line 645, in send
r = adapter.send(request, **kwargs)
File "/home/ubuntu/src/review.opendev.org/openstack/charm-nova-cloud-controller/.tox/func-target/lib/python3.8/site-packages/requests/adapters.py", line 501, in send
raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/ubuntu/src/review.opendev.org/openstack/charm-nova-cloud-controller/.tox/func-target/bin/functest-run-suite", line 8, in <module>
sys.exit(main())
File "/home/ubuntu/src/review.opendev.org/openstack/charm-nova-cloud-controller/.tox/func-target/lib/python3.8/site-packages/zaza/charm_lifecycle/func_test_runner.py", line 364, in main
func_test_runner(
File "/home/ubuntu/src/review.opendev.org/openstack/charm-nova-cloud-controller/.tox/func-target/lib/python3.8/site-packages/zaza/charm_lifecycle/func_test_runner.py", line 277, in func_test_runner
run_env_deployment(env_deployment, keep_model=preserve_model,
File "/home/ubuntu/src/review.opendev.org/openstack/charm-nova-cloud-controller/.tox/func-target/lib/python3.8/site-packages/zaza/charm_lifecycle/func_test_runner.py", line 151, in run_env_deployment
configure.configure(
File "/home/ubuntu/src/review.opendev.org/openstack/charm-nova-cloud-controller/.tox/func-target/lib/python3.8/site-packages/zaza/charm_lifecycle/configure.py", line 51, in configure
run_configure_list(functions)
File "/home/ubuntu/src/review.opendev.org/openstack/charm-nova-cloud-controller/.tox/func-target/lib/python3.8/site-packages/zaza/charm_lifecycle/configure.py", line 37, in run_configure_list
utils.get_class(func)()
File "/home/ubuntu/src/review.opendev.org/openstack/charm-nova-cloud-controller/.tox/func-target/lib/python3.8/site-packages/zaza/openstack/charm_tests/neutron/setup.py", line 103, in basic_overcloud_network
network.setup_gateway_ext_port(network_config,
File "/home/ubuntu/src/review.opendev.org/openstack/charm-nova-cloud-controller/.tox/func-target/lib/python3.8/site-packages/zaza/openstack/configure/network.py", line 286, in setup_gateway_ext_port
openstack_utils.configure_gateway_ext_port(
File "/home/ubuntu/src/review.opendev.org/openstack/charm-nova-cloud-controller/.tox/func-target/lib/python3.8/site-packages/zaza/openstack/utilities/openstack.py", line 1047, in configure_gateway_ext_port
macs = create_additional_port_for_machines(
File "/home/ubuntu/src/review.opendev.org/openstack/charm-nova-cloud-controller/.tox/func-target/lib/python3.8/site-packages/zaza/openstack/utilities/openstack.py", line 944, in create_additional_port_for_machines
port = neutronclient.create_port(body=body_value)
File "/home/ubuntu/src/review.opendev.org/openstack/charm-nova-cloud-controller/.tox/func-target/lib/python3.8/site-packages/neutronclient/v2_0/client.py", line 803, in create_port
return self.post(self.ports_path, body=body)
File "/home/ubuntu/src/review.opendev.org/openstack/charm-nova-cloud-controller/.tox/func-target/lib/python3.8/site-packages/neutronclient/v2_0/client.py", line 358, in post
return self.do_request("POST", action, body=body,
File "/home/ubuntu/src/review.opendev.org/openstack/charm-nova-cloud-controller/.tox/func-target/lib/python3.8/site-packages/neutronclient/v2_0/client.py", line 281, in do_request
resp, replybody = self.httpclient.do_request(action, method, body=body,
File "/home/ubuntu/src/review.opendev.org/openstack/charm-nova-cloud-controller/.tox/func-target/lib/python3.8/site-packages/neutronclient/client.py", line 340, in do_request
return self.request(url, method, **kwargs)
File "/home/ubuntu/src/review.opendev.org/openstack/charm-nova-cloud-controller/.tox/func-target/lib/python3.8/site-packages/neutronclient/client.py", line 328, in request
resp = super(SessionClient, self).request(*args, **kwargs)
File "/home/ubuntu/src/review.opendev.org/openstack/charm-nova-cloud-controller/.tox/func-target/lib/python3.8/site-packages/keystoneauth1/adapter.py", line 257, in request
return self.session.request(url, method, **kwargs)
File "/home/ubuntu/src/review.opendev.org/openstack/charm-nova-cloud-controller/.tox/func-target/lib/python3.8/site-packages/keystoneauth1/session.py", line 931, in request
resp = send(**kwargs)
File "/home/ubuntu/src/review.opendev.org/openstack/charm-nova-cloud-controller/.tox/func-target/lib/python3.8/site-packages/keystoneauth1/session.py", line 1038, in _send_request
raise exceptions.ConnectFailure(msg)
keystoneauth1.exceptions.connection.ConnectFailure: Unable to establish connection to http://10.245.161.159:9696/v2.0/ports: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))
ERROR: InvocationError for command /home/ubuntu/src/review.opendev.org/openstack/charm-nova-cloud-controller/.tox/func-target/bin/functest-run-suite --keep-model --bundle vault:focal-xena (exited with code 1)
___________________________________ summary ____________________________________
ERROR: func-target: commands failed
when running a CI job the z-o-t test that adds a second nic to a instance may fail due to undercloud (transient) issues, so it would be appropriate to make the method
create_additional_port_for_machines()
idempotent and wrapped with a retry decorator.Issue found at https://openstack-ci-reports.ubuntu.com/artifacts/afd/841979/1/check/ceph-focal-wallaby_nova/afd2b80/
Relevant stacktrace: