Bug 1749962
| Summary: | [OSP15][Vnes]Bulk port creation time depends of the number of ports in the cluster | ||
|---|---|---|---|
| Product: | Red Hat OpenStack | Reporter: | Candido Campos <ccamposr> |
| Component: | openstack-neutron | Assignee: | Nate Johnston <njohnston> |
| Status: | CLOSED DUPLICATE | QA Contact: | Candido Campos <ccamposr> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 15.0 (Stein) | CC: | amuller, chrisw, njohnston, scohen |
| Target Milestone: | --- | Flags: | ccamposr:
needinfo-
|
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2019-12-02 20:51:24 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
*** This bug has been marked as a duplicate of bug 1703467 *** |
Description of problem: [Vnes]Bulk port creation time idepends or the number of ports in the cluster (overcloud) [stack@undercloud-0 ~]$ time openstack port list | wc -l 14018 real 0m38.881s user 0m22.124s sys 0m0.408s (overcloud) [stack@undercloud-0 ~]$ (overcloud) [stack@undercloud-0 ~]$ (overcloud) [stack@undercloud-0 ~]$ (reverse-i-search)`port_': for i in $(seq 1 10);do time ./^Crt_creator 2000 7e8cb7c40c7547b0825901f7f948d9ff bfac6736-fb2f-4356-85a6-7e7ff68b41f4 f9d2b7b3-3c3f-4311-b6e7-e66a6ccffcf2 ; done (overcloud) [stack@undercloud-0 ~]$ time ./port_creator 20 7e8cb7c40c7547b0825901f7f948d9ff bfac6736-fb2f-4356-85a6-7e7ff68b41f4 f9d2b7b3-3c3f-4311-b6e7-e66a6ccffcf Traceback (most recent call last): File "./port_creator", line 26, in <module> ports = neutron.create_port(bulk_port_req).get('ports') File "/usr/lib/python3.6/site-packages/neutronclient/v2_0/client.py", line 803, in create_port return self.post(self.ports_path, body=body) File "/usr/lib/python3.6/site-packages/neutronclient/v2_0/client.py", line 359, in post headers=headers, params=params) File "/usr/lib/python3.6/site-packages/neutronclient/v2_0/client.py", line 294, in do_request self._handle_fault_response(status_code, replybody, resp) File "/usr/lib/python3.6/site-packages/neutronclient/v2_0/client.py", line 269, in _handle_fault_response exception_handler_v20(status_code, error_body) File "/usr/lib/python3.6/site-packages/neutronclient/v2_0/client.py", line 93, in exception_handler_v20 request_ids=request_ids) neutronclient.common.exceptions.BadRequest: Invalid input for security_groups. Reason: 'f9d2b7b3-3c3f-4311-b6e7-e66a6ccffcf' is not a valid UUID. Neutron server returns request_ids: ['req-ca0ef86b-e173-47b8-b7f5-91b85e18cea8'] real 0m3.574s user 0m0.979s sys 0m0.100s (overcloud) [stack@undercloud-0 ~]$ time ./port_creator 20 7e8cb7c40c7547b0825901f7f948d9ff bfac6736-fb2f-4356-85a6-7e7ff68b41f4 f9d2b7b3-3c3f-4311-b6e7-e66a6ccffcf2 real 1m0.290s user 0m1.011s sys 0m0.108s (overcloud) [stack@undercloud-0 ~]$ time ./port_creator 40 7e8cb7c40c7547b0825901f7f948d9ff bfac6736-fb2f-4356-85a6-7e7ff68b41f4 f9d2b7b3-3c3f-4311-b6e7-e66a6ccffcf2 real 1m57.048s user 0m1.004s sys 0m0.109s (overcloud) [stack@undercloud-0 ~]$ time ./port_creator 40 7e8cb7c40c7547b0825901f7f948d9ff bfac6736-fb2f-4356-85a6-7e7ff68b41f4 f9d2b7b3-3c3f-4311-b6e7-e66a6ccffcf2 real 2m20.527s user 0m1.048s sys 0m0.092s How reproducible: #!/usr/bin/env python3.6 import sys import os_client_config from pprint import pprint neutron = os_client_config.make_client('network', cloud='envvars') nova = os_client_config.make_client('compute', cloud='envvars') hypervisors = nova.hypervisors.list() bulk_port_req = {'ports': []} for hyper in hypervisors: if 'compute-0' in hyper.hypervisor_hostname: continue bulk_port_req['ports'].extend([{ 'binding:host_id': hyper.hypervisor_hostname, 'project_id': sys.argv[2], 'network_id': sys.argv[3], 'device_owner': 'compute:kuryr', 'admin_state_up': True, 'name': 'kaboom', 'security_groups': sys.argv[4].split(',')} for _ in range(int(sys.argv[1]))]) ports = neutron.create_port(bulk_port_req).get('ports') #pprint(ports) Additional info: Bug 1504662 - [RFE] Fast bulk neutron port create/update operations