tempest: Openstack-floating-ip associattion to a port which is created in different project failed
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Juniper Openstack | Status tracked in Trunk | |||||
R5.0 |
New
|
Medium
|
Shivayogi Ugaji | |||
Trunk |
New
|
Medium
|
Shivayogi Ugaji |
Bug Description
Test case:
=======
[stack@undercloud tempest]$ sudo ostestr --pdb neutron_
=======
(overcloud) [stack@undercloud ~]$ neutron floatingip-
neutron CLI is deprecated and will be removed in the future. Use openstack CLI instead.
Bad floatingip request: port can't be associated with this fip as they both belong to different tenants.
Neutron server returns request_ids: ['req-294c6161-
(overcloud) [stack@undercloud ~]$
(overcloud) [stack@undercloud ~]$ openstack port show 33d6b8aa-
+------
| Field | Value |
+------
| admin_state_up | UP |
| allowed_
| binding_host_id | None |
| binding_profile | None |
| binding_vif_details | port_filter='True' |
| binding_vif_type | vrouter |
| binding_vnic_type | normal |
| created_at | None |
| data_plane_status | None |
| description | |
| device_id | |
| device_owner | |
| dns_assignment | None |
| dns_name | None |
| extra_dhcp_opts | None |
| fixed_ips | ip_address=
| id | 33d6b8aa-
| ip_address | None |
| mac_address | 02:33:d6:b8:aa:63 |
| name | 33d6b8aa-
| network_id | bccd13b2-
| option_name | None |
| option_value | None |
| port_security_
| project_id | f663f2ebb122447
| qos_policy_id | None |
| revision_number | None |
| security_group_ids | bd3da12c-
| status | DOWN |
| subnet_id | None |
| tags | |
| trunk_details | None |
| updated_at | None |
+------
(overcloud) [stack@undercloud ~]$ openstack floating ip show bc20a4e5-
+------
| Field | Value |
+------
| created_at | None |
| description | |
| fixed_ip_address | None |
| floating_ip_address | 192.168.24.115 |
| floating_network_id | d3ad9805-
| id | bc20a4e5-
| name | 192.168.24.115 |
| port_id | None |
| project_id | 0f14ee5bf3ea445
| qos_policy_id | None |
| revision_number | None |
| router_id | None |
| status | DOWN |
| subnet_id | None |
| updated_at | None |
+------
(overcloud) [stack@undercloud ~]$
(overcloud) [stack@undercloud ~]$ openstack network show d3ad9805-
+------
| Field | Value |
+------
| admin_state_up | UP |
| availability_
| availability_zones | None |
| created_at | None |
| description | |
| dns_domain | None |
| id | d3ad9805-
| ipv4_address_scope | None |
| ipv6_address_scope | None |
| is_default | None |
| is_vlan_transparent | None |
| mtu | None |
| name | public |
| port_security_
| project_id | 54c718a9c0dd4ae
| provider:
| provider:
| provider:
| qos_policy_id | None |
| revision_number | None |
| router:external | External |
| segments | None |
| shared | False |
| status | ACTIVE |
| subnets | 2a5792dd-
| tags | |
| updated_at | None |
+------
Trace
=====
Traceback (most recent call last):
File "/usr/lib/
File "/usr/lib/
File "/usr/lib/
File "/usr/lib/
mismatch = matcher.
File "/usr/lib/
mismatch = self.exception_
File "/usr/lib/
mismatch = matcher.
File "/usr/lib/
File "/usr/lib/
result = matchee()
File "/usr/lib/
return self._callable_
File "/usr/lib/
put_resp, resp_body = self.put(uri, put_body)
File "/usr/lib/
return self.request('PUT', url, extra_headers, headers, body, chunked)
File "/usr/lib/
File "/usr/lib/
raise exceptions.
tempest.
Details: {u'message': u'Port 919fb902-
information type: | Proprietary → Public |
Please ignore the previous trace. Below is the correct Trace.
---
Captured traceback: python2. 7/site- packages/ neutron_ tempest_ plugin/ api/admin/ test_floating_ ips_admin_ actions. py", line 58, in test_associate_ floating_ ip_with another_ project
floating_ ip['id' ], port_id= port['port' ]['id'] ) python2. 7/site- packages/ testtools/ testcase. py", line 422, in assertRaises
self.assertTha t(our_callable, matcher) python2. 7/site- packages/ testtools/ testcase. py", line 433, in assertThat
mismatch_ error = self._matchHelp er(matchee, matcher, message, verbose) python2. 7/site- packages/ testtools/ testcase. py", line 483, in _matchHelper match(matchee) python2. 7/site- packages/ testtools/ matchers/ _exception. py", line 108, in match matcher. match(exc_ info) python2. 7/site- packages/ testtools/ matchers/ _higherorder. py", line 62, in match match(matchee) python2. 7/site- packages/ testtools/ testcase. py", line 414, in match
reraise( *matchee) python2. 7/site- packages/ testtools/ matchers/ _exception. py", line 101, in match python2. 7/site- packages/ testtools/ testcase. py", line 969, in __call__ object( *self._ args, **self._kwargs) python2. 7/site- packages/ neutron_ tempest_ plugin/ services/ network/ json/network_ client. py", line 923, in update_floatingip python2. 7/site- packages/ tempest/ lib/common/ rest_client. py", line 343, in put python2. 7/site- packages/ tempest/ lib/common/ rest_client. py", line 668, in request
self._ error_checker( resp, resp_body) python2. 7/site- packages/ tempest/ lib/common/ rest_client. py", line 774, in _error_checker NotFound( resp_body, resp=resp) lib.exceptions. NotFound: Object not found 6339-44f4- 9bba-e6281ce1fc 7f could not be found.', u'type': u'PortNotFound', u'detail': u''}
~~~~~~~~~~~~~~~~~~~
Traceback (most recent call last):
File "/usr/lib/
_port_from_
File "/usr/lib/
File "/usr/lib/
File "/usr/lib/
mismatch = matcher.
File "/usr/lib/
mismatch = self.exception_
File "/usr/lib/
mismatch = matcher.
File "/usr/lib/
File "/usr/lib/
result = matchee()
File "/usr/lib/
return self._callable_
File "/usr/lib/
get_resp, _ = self.get(uri)
File "/usr/lib/
return self.request('PUT', url, extra_headers, headers, body, chunked)
File "/usr/lib/
File "/usr/lib/
raise exceptions.
tempest.
Details: {u'message': u'Port 33d6b8aa-