[Heat] Failing on creation 100+ VMs
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mirantis OpenStack |
Fix Released
|
High
|
Peter Razumovsky | ||
6.1.x |
Won't Fix
|
High
|
Sergey Kraynev | ||
7.0.x |
Fix Released
|
High
|
Denis Egorenko | ||
8.0.x |
Fix Released
|
High
|
Peter Razumovsky |
Bug Description
This issue happens on creating more then 100 vms in one template.
oslo_messaging or ha_proxy report about Timeout error:
Traceback (most recent call last):
File "/usr/bin/heat", line 10, in <module>
sys.
File "/usr/lib/
HeatShell(
File "/usr/lib/
args.
File "/usr/lib/
hc.
File "/usr/lib/
data=kwargs, headers=headers)
File "/usr/lib/
resp = self._http_
File "/usr/lib/
raise exc.from_
heatclient.
The server didn't respond in time.
</body></html>
It happens, because during stack-create request Heat do template validation and check all constraints (Now it checks same image for each Server resource).
https:/
This validation takes more then 1 minute and as result we get Timeout error.
Note, that template does not use resource group and just copy-paste part of template (server+port).
Template to reproduce was attached to bug.
summary: |
- [Heat] Failing on creation 100+ vms in shaker test and without it. + [Heat] Failing on creation 100+ VMs |
tags: | added: heat scale |
tags: | added: murano sahara |
Changed in mos: | |
status: | New → Won't Fix |
MOS 6.1 - it affects only shaker tests:
- it's not possible to fix in Heat, so bug marked as Won't Fix. timeout by default it's 1 minute) to more then 2 minutes.
- There are follow recommendations for users/customers:
* Increase timeout option for HAProxy (default is 1 minute) to more then 2 minutes.
Increase Heat timeout option for oslo messaging (rpc_response_
This ^ approach will be used on scale lab for shaker test now.
* Use in-template resources instead of passing id of existing resource via parameters. /github. com/openstack/ heat/blob/ stable/ juno/setup. cfg#L53- L60 , but not
In this case validation will be skipped on pre-create state and takes couple seconds, so Timeout Exception will not be raised.
In MOS 6.1. Heat has follow list of constraints https:/
all of them is used in resources by default.
* Use OS::Heat: :ResourceGroup instead of copy-pasting part of template. In this case validation will be skipped too.
So this approach allows to use references on external resources (resource ids ) via parameters.