Skip to content
Snippets Groups Projects
  • Pierre Riteau's avatar
    3e03884c
    Speed up calls to Bifrost · 3e03884c
    Pierre Riteau authored
    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
    3e03884c
    History
    Speed up calls to Bifrost
    Pierre Riteau authored
    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
bifrost-speedup-9902552b86150ad4.yaml 122 B
---
fixes:
  - |
    Improves performance of Bifrost operations by preventing unnecessary
    requests to the Ironic API.