When a *Count parameter is set as a string in yaml the error is incomprehensible
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
tripleo |
Fix Released
|
High
|
Michele Baldessari |
Bug Description
If you wrongly pass one of the *Count parameters as a string instead of an integer the error will be unintelligible:
composable_
...
Traceback (most recent call last):
File "/usr/lib/
super(Command, self).run(
File "/usr/lib/
return super(Command, self).run(
File "/usr/lib/
return_code = self.take_
File "/usr/lib/
self.
File "/usr/lib/
new_tht_root, tht_root)
File "/usr/lib/
deployment_
File "/usr/lib/
deployment_
File "/usr/lib/
deployment_
File "/usr/lib/
deploy(log, clients, **workflow_input)
File "/usr/lib/
% (payload['status'], wf_name))
ValueError: Unexpected status FAILED for tripleo.
Unexpected status FAILED for tripleo.
Removing the current plan files
Uploading new plan files
Plan updated.
So the problem happens because even before heat can validate *Count params as number types, we call the following code in tripleo_common:
parameter_
for role in roles_data:
count = parameter_
if count > 0:
And since ControllerOpens
Changed in tripleo: | |
milestone: | none → train-1 |
The full stack trace is: common. actions. container_ images [req-28e3f868- 8595-4bef- 96d3-8e453c1e15 d1 00a9a3ac3ac34f5 da5cc75fc6723e6 ae c37c1c5cde444df 0935c8a17a1eae6 10 - default default] Error occurred while processing plan files.: TypeError: '>' not supported between instances of 'str' and 'int' common. actions. container_ images Traceback (most recent call last): common. actions. container_ images File "/usr/lib/ python3. 6/site- packages/ tripleo_ common/ actions/ container_ images. py", line 141, in run common. actions. container_ images env, role_data, dry_run=True) common. actions. container_ images File "/usr/lib/ python3. 6/site- packages/ tripleo_ common/ image/kolla_ builder. py", line 156, in container_ images_ prepare_ multi common. actions. container_ images service_filter = build_service_ filter( environment, roles_data) common. actions. container_ images File "/usr/lib/ python3. 6/site- packages/ tripleo_ common/ image/kolla_ builder. py", line 90, in build_service_ filter common. actions. container_ images enabled_services = get_enabled_ services( environment, roles_data) common. actions. container_ images File "/usr/lib/ python3. 6/site- packages/ tripleo_ common/ image/kolla_ builder. py", line 74, in get_enabled_ services common. actions. container_ images if count > 0: common. actions. container_ images TypeError: '>' not supported between instances of 'str' and 'int' common. actions. container_ images
2019-05-02 04:58:01.962 9 ERROR tripleo_
2019-05-02 04:58:01.962 9 ERROR tripleo_
2019-05-02 04:58:01.962 9 ERROR tripleo_
2019-05-02 04:58:01.962 9 ERROR tripleo_
2019-05-02 04:58:01.962 9 ERROR tripleo_
2019-05-02 04:58:01.962 9 ERROR tripleo_
2019-05-02 04:58:01.962 9 ERROR tripleo_
2019-05-02 04:58:01.962 9 ERROR tripleo_
2019-05-02 04:58:01.962 9 ERROR tripleo_
2019-05-02 04:58:01.962 9 ERROR tripleo_
2019-05-02 04:58:01.962 9 ERROR tripleo_
2019-05-02 04:58:01.962 9 ERROR tripleo_