tsuna-server / build-server-ansible

1 stars 0 forks source link

Failed to use a variable `target_rbac_projects` as array. #82

Closed TsutomuNakamura closed 2 years ago

TsutomuNakamura commented 2 years ago

After upgraded version of Ansible 4.3.0 to 6.4.0. The error output is like below when run it.

TASK [test_env : RBAC access_as_shard will be added in projects below by default(so far).] ****************************************************************************************************************************************************
fatal: [host_name]: FAILED! => {"msg": "The task includes an option with an undefined variable. The error was: 'str object' has no attribute 'name'\n\nThe error appears to be in '/opt/ansible/roles/test_env/tasks/create_example_rbac/do_create_and_assign_rbac_in_a_domain.yml': line 52, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n- name: RBAC access_as_shard will be added in projects below by default(so far).\n  ^ here\n"}

Arrays were concatenated as string not arrays.

ok: [host_name] => {
    "msg": "target_rbac_projects=[{'name': 'admin', 'rbac': {'networks': [{'name': 'private', 'actions': ['access_as_shared']}]}}] + [{'name': 'service', 'description': 'Service Project', 'primary': True, 'rbac': {'networks': [{'name': 'private', 'actions': ['access_as_shared']}]}}, {'name': 'myproject', 'description': 'Demo Project', 'rbac': {'networks': [{'name': 'private', 'actions': ['access_as_shared']}]}}]"

An instruction below might be fixed. It will concatenate arrays as string. https://github.com/tsuna-server/build-server-ansible/blob/d2422ac1cb738d4f2dbe4bb1fb80e1544b07299e/roles/test_env/tasks/create_example_rbac/do_create_and_assign_rbac_in_a_domain.yml#L44-L46