[heat] Performance scaling with number of resources

John Bartelme bartelme at gmail.com
Thu Apr 13 16:12:50 UTC 2023


Hello,

I'm wondering about heat performance when I scale to a larger number of
resources.  A single resource deploys quite quickly but when I deploy the
below template it takes 2 minutes for this stack to deploy.  This occurs on
Antelope via DevStack on Ubuntu 22.04 as well as a full production
cluster(yoga) deployed with OpenStack-Ansible on RHEL 8.  Not only does
this template take 2 minutes to deploy it also takes 2 minutes to update
without any changes.  Is there anything in the stack configuration or heat
configuration I can do to speed up the process of updating the stack when
very little changes?  Or this something inherit in the design of heat?

---
heat_template_version: 2021-04-16

description: test

resources:
  test-resources:
    type: OS::Heat::ResourceGroup
    properties:
      count: 100
      resource_def:
        type: OS::Heat::None
---

A little more detail:

Obviously I have no need to deploy this template but it is a much more
simplified case of what I really want to deploy.  I'm deploying resource
groups that contain hundreds of custom resources(containing
network/compute/storage etc.) that are conditionally enabled or disabled
based on a JSON property array(in general only about 20 or so resources are
deployed but depending on needs any one of the resources might be needed in
the near future).  The JSON properties array is complex enough that I
really want to have it all defined so that changing a boolean value is all
that is needed to turn on and off resources without having to fully write
new complex heat templates.  Additionally the nature of the workflow is
that I want to add future resources to the existing stack.  I don't change
the number of the resources to the resource group, i.e. count=20 instead of
100 because when I conditionally add another resource it causes all the
existing resources to be renumbered.  Ideally I could rapidly modify one
value to the json array and then update the stack and have it quickly
modified.

Thanks, john



More information about the openstack-discuss mailing list