Closed
Description
SUMMARY
Provide a quick summary of your bug report.
STACKSTORM VERSION
Paste the output of st2 --version
:
OS, environment, install method
Ansible CI/CD has been failing for 3 days on the smoke tests at the RBAC apply defintions
Steps to reproduce the problem
Perform a ansible install with environment -e st2_rbac_enable=True. At the point it loads the rbac definition file with the smoke test resource it fails.
Think this is probably true for any RBAC on unstable.
Expected Results
Load should complete.
Actual Results
The ansible script fails on the rbac. Reproducing this on a clean VM and running the ansible install then we see error:
2022-07-22 11:29:13,398 INFO [-] Loading role definitions from "/opt/stackstorm/rbac/roles/"
Traceback (most recent call last):
File "/bin/st2-apply-rbac-definitions", line 15, in <module>
sys.exit(apply_rbac_definitions.main(sys.argv[1:]))
File "/opt/stackstorm/st2/lib/python3.8/site-packages/st2rbac_backend/cmd/apply_rbac_definitions.py", line 60, in main
apply_definitions()
File "/opt/stackstorm/st2/lib/python3.8/site-packages/st2rbac_backend/cmd/apply_rbac_definitions.py", line 42, in apply_definitions
result = loader.load()
File "/opt/stackstorm/st2/lib/python3.8/site-packages/st2rbac_backend/loader.py", line 61, in load
result["roles"] = self.load_role_definitions()
File "/opt/stackstorm/st2/lib/python3.8/site-packages/st2rbac_backend/loader.py", line 79, in load_role_definitions
role_definition_api = self.load_role_definition_from_file(file_path=file_path)
File "/opt/stackstorm/st2/lib/python3.8/site-packages/st2rbac_backend/loader.py", line 159, in load_role_definition_from_file
role_definition_api = role_definition_api.validate()
File "/opt/stackstorm/st2/lib/python3.8/site-packages/st2common/models/api/rbac.py", line 170, in validate
cleaned = super(RoleDefinitionFileFormatAPI, self).validate()
File "/opt/stackstorm/st2/lib/python3.8/site-packages/st2common/models/api/base.py", line 75, in validate
cleaned = util_schema.validate(
File "/opt/stackstorm/st2/lib/python3.8/site-packages/st2common/util/schema/__init__.py", line 370, in validate
instance = assign_default_values(instance=instance, schema=schema)
File "/opt/stackstorm/st2/lib/python3.8/site-packages/st2common/util/schema/__init__.py", line 255, in assign_default_values
instance[property_name] = assign_default_values(
File "/opt/stackstorm/st2/lib/python3.8/site-packages/st2common/util/schema/__init__.py", line 249, in assign_default_values
array_instance = instance.get(property_name, None)
AttributeError: 'list' object has no attribute 'get'
There is only one role defined, and it looks good:
$ cat /opt/stackstorm/rbac/roles/smoke_tests_rbac_basic.yaml
---
name: smoke_tests_rbac_basic
description: This role has access only to action core.local in pack 'core'
permission_grants:
- permission_types:
- action_execute
- action_view
resource_uid: action:core:local
- permission_types:
- runner_type_list
Metadata
Metadata
Assignees
Labels
No labels