Speed up calls to Bifrost
For overcloud commands involving Bifrost (e.g. overcloud provision), we use the Bifrost dynamic inventory. This runs bifrost_inventory.py which gathers node and port information for all bare metal hosts. Because this gets executed for each node in our inventory, it produces a large number of API requests to Ironic, which grows as the number of hosts increases. Halve the number of calls using the BIFROST_NODE_NAMES environment variable, which restricts fetching port information to just the node being queried. bifrost_inventory.py still performs one call for each node, which must be fixed separately in Bifrost [1]. Time to query overcloud nodes' hardware introspection data for 44 hosts: * before patch: 823 seconds * after patch: 415 seconds With the patch to Bifrost [1], this is further reduced to 46 seconds. [1] https://review.opendev.org/c/openstack/bifrost/+/882950 Change-Id: I341075115442a38c327e3ade74b81b1b9e7e85c6
Showing
- ansible/overcloud-bios-raid.yml 2 additions, 0 deletionsansible/overcloud-bios-raid.yml
- ansible/overcloud-deprovision.yml 3 additions, 0 deletionsansible/overcloud-deprovision.yml
- ansible/overcloud-hardware-inspect.yml 4 additions, 0 deletionsansible/overcloud-hardware-inspect.yml
- ansible/overcloud-introspection-data-save.yml 1 addition, 1 deletionansible/overcloud-introspection-data-save.yml
- ansible/overcloud-provision.yml 4 additions, 0 deletionsansible/overcloud-provision.yml
- releasenotes/notes/bifrost-speedup-9902552b86150ad4.yaml 5 additions, 0 deletionsreleasenotes/notes/bifrost-speedup-9902552b86150ad4.yaml
Please register or sign in to comment