diff --git a/ci/roles/project/tasks/main.yml b/ci/roles/project/tasks/main.yml index f82a8b4a..70c1e445 100644 --- a/ci/roles/project/tasks/main.yml +++ b/ci/roles/project/tasks/main.yml @@ -174,6 +174,38 @@ that: - project.project.is_enabled == True +- name: Update project to add new extra_specs + openstack.cloud.project: + cloud: "{{ cloud }}" + state: present + name: ansible_project + extra_specs: + is_enabled: True + another_tag: True + register: project + +- name: Assert return values of project module + assert: + that: + - project.project.is_enabled == True + - project.project.another_tag == True + +- name: Update project to change existing extra_specs + openstack.cloud.project: + cloud: "{{ cloud }}" + state: present + name: ansible_project + extra_specs: + is_enabled: True + another_tag: False + register: project + +- name: Assert return values of project module + assert: + that: + - project.project.is_enabled == True + - project.project.another_tag == False + - name: Delete project openstack.cloud.project: cloud: "{{ cloud }}" diff --git a/plugins/modules/project.py b/plugins/modules/project.py index 7db66012..509bd89d 100644 --- a/plugins/modules/project.py +++ b/plugins/modules/project.py @@ -181,7 +181,7 @@ class IdentityProjectModule(OpenStackModule): raise ValueError('Duplicate key(s) in extra_specs: {0}' .format(', '.join(list(duplicate_keys)))) for k, v in extra_specs.items(): - if v != project[k]: + if k not in project or v != project[k]: attributes[k] = v if attributes: