mirror of
https://opendev.org/openstack/ansible-collections-openstack.git
synced 2026-05-13 21:12:01 +00:00
Split project_access into {compute_flavor,volume_type}_access modules
Change-Id: I33fa4b3a08392feac702f45a2c47f8b04799ac0b
This commit is contained in:
96
ci/roles/compute_flavor_access/tasks/main.yml
Normal file
96
ci/roles/compute_flavor_access/tasks/main.yml
Normal file
@@ -0,0 +1,96 @@
|
||||
---
|
||||
- name: Create flavor
|
||||
openstack.cloud.compute_flavor:
|
||||
cloud: devstack-admin
|
||||
state: present
|
||||
name: ansible_flavor
|
||||
is_public: False
|
||||
ram: 1024
|
||||
vcpus: 1
|
||||
disk: 10
|
||||
ephemeral: 10
|
||||
swap: 1
|
||||
register: flavor
|
||||
|
||||
- name: Fetch demo project
|
||||
openstack.cloud.project_info:
|
||||
cloud: devstack-admin
|
||||
name: demo
|
||||
register: projects
|
||||
|
||||
- name: Verify demo project
|
||||
assert:
|
||||
that:
|
||||
- projects.openstack_projects|length == 1
|
||||
- projects.openstack_projects.0.name == "demo"
|
||||
|
||||
- name: Grant access to flavor
|
||||
openstack.cloud.compute_flavor_access:
|
||||
cloud: devstack-admin
|
||||
name: ansible_flavor
|
||||
project: demo
|
||||
state: present
|
||||
register: access
|
||||
|
||||
- name: Verify access
|
||||
assert:
|
||||
that:
|
||||
- access is changed
|
||||
- access.flavor.id == flavor.flavor.id
|
||||
|
||||
# TODO: Replace with appropriate Ansible module once available
|
||||
- name: Get compute flavor
|
||||
command: openstack --os-cloud=devstack-admin flavor show ansible_flavor -f json
|
||||
register: flavor_show
|
||||
|
||||
- name: Verify volume type access
|
||||
assert:
|
||||
that:
|
||||
- (flavor_show.stdout | from_json).name == 'ansible_flavor'
|
||||
- projects.openstack_projects.0.id in (flavor_show.stdout | from_json).access_project_ids
|
||||
|
||||
- name: Grant access to flavor again
|
||||
openstack.cloud.compute_flavor_access:
|
||||
cloud: devstack-admin
|
||||
name: ansible_flavor
|
||||
project: demo
|
||||
state: present
|
||||
register: access
|
||||
|
||||
- name: Verify access did not change
|
||||
assert:
|
||||
that:
|
||||
- access is not changed
|
||||
|
||||
- name: Revoke access to flavor
|
||||
openstack.cloud.compute_flavor_access:
|
||||
cloud: devstack-admin
|
||||
name: ansible_flavor
|
||||
project: demo
|
||||
state: absent
|
||||
register: access
|
||||
|
||||
- name: Verify revoked access
|
||||
assert:
|
||||
that:
|
||||
- access is changed
|
||||
- access.flavor.id == flavor.flavor.id
|
||||
|
||||
- name: Revoke access to flavor again
|
||||
openstack.cloud.compute_flavor_access:
|
||||
cloud: devstack-admin
|
||||
name: ansible_flavor
|
||||
project: demo
|
||||
state: absent
|
||||
register: access
|
||||
|
||||
- name: Verify access did not change
|
||||
assert:
|
||||
that:
|
||||
- access is not changed
|
||||
|
||||
- name: Delete flavor
|
||||
openstack.cloud.compute_flavor:
|
||||
cloud: devstack-admin
|
||||
state: absent
|
||||
name: ansible_flavor
|
||||
96
ci/roles/volume_type_access/tasks/main.yml
Normal file
96
ci/roles/volume_type_access/tasks/main.yml
Normal file
@@ -0,0 +1,96 @@
|
||||
---
|
||||
# TODO: Replace with appropriate Ansible module once available
|
||||
- name: Get volume types
|
||||
command: openstack --os-cloud=devstack-admin volume type list -f json
|
||||
register: volume_types
|
||||
|
||||
# TODO: Replace with appropriate Ansible module once available
|
||||
- name: Create volume type
|
||||
command: openstack --os-cloud=devstack-admin volume type create ansible_volume_type --private
|
||||
when: "'ansible_volume_type' not in (volume_types.stdout | from_json) | map(attribute='Name') | list"
|
||||
|
||||
# TODO: Replace with appropriate Ansible module once available
|
||||
- name: Get volume types
|
||||
command: openstack --os-cloud=devstack-admin volume type show ansible_volume_type -f json
|
||||
register: volume_type
|
||||
|
||||
- name: Fetch demo project
|
||||
openstack.cloud.project_info:
|
||||
cloud: devstack-admin
|
||||
name: demo
|
||||
register: projects
|
||||
|
||||
- name: Verify demo project
|
||||
assert:
|
||||
that:
|
||||
- projects.openstack_projects|length == 1
|
||||
- projects.openstack_projects.0.name == "demo"
|
||||
|
||||
- name: Grant access to volume type
|
||||
openstack.cloud.volume_type_access:
|
||||
cloud: devstack-admin
|
||||
name: ansible_volume_type
|
||||
project: demo
|
||||
state: present
|
||||
register: access
|
||||
|
||||
- name: Verify access
|
||||
assert:
|
||||
that:
|
||||
- access is changed
|
||||
- access.volume_type.id == (volume_type.stdout | from_json).id
|
||||
|
||||
# TODO: Replace with appropriate Ansible module once available
|
||||
- name: Get volume types
|
||||
command: openstack --os-cloud=devstack-admin volume type show ansible_volume_type -f json
|
||||
register: volume_type
|
||||
|
||||
- name: Verify volume type access
|
||||
assert:
|
||||
that:
|
||||
- (volume_type.stdout | from_json).name == 'ansible_volume_type'
|
||||
- projects.openstack_projects.0.id in (volume_type.stdout | from_json).access_project_ids
|
||||
|
||||
- name: Grant access to volume type again
|
||||
openstack.cloud.volume_type_access:
|
||||
cloud: devstack-admin
|
||||
name: ansible_volume_type
|
||||
project: demo
|
||||
state: present
|
||||
register: access
|
||||
|
||||
- name: Verify access did not change
|
||||
assert:
|
||||
that:
|
||||
- access is not changed
|
||||
|
||||
- name: Revoke access to volume type
|
||||
openstack.cloud.volume_type_access:
|
||||
cloud: devstack-admin
|
||||
name: ansible_volume_type
|
||||
project: demo
|
||||
state: absent
|
||||
register: access
|
||||
|
||||
- name: Verify revoked access
|
||||
assert:
|
||||
that:
|
||||
- access is changed
|
||||
- access.volume_type.id == (volume_type.stdout | from_json).id
|
||||
|
||||
- name: Revoke access to volume type again
|
||||
openstack.cloud.volume_type_access:
|
||||
cloud: devstack-admin
|
||||
name: ansible_volume_type
|
||||
project: demo
|
||||
state: absent
|
||||
register: access
|
||||
|
||||
- name: Verify access did not change
|
||||
assert:
|
||||
that:
|
||||
- access is not changed
|
||||
|
||||
# TODO: Replace with appropriate Ansible module once available
|
||||
- name: Delete volume type
|
||||
command: openstack --os-cloud=devstack-admin volume type delete ansible_volume_type
|
||||
@@ -8,6 +8,7 @@
|
||||
- { role: auth, tags: auth }
|
||||
- { role: catalog_service, tags: catalog_service }
|
||||
- { role: compute_flavor, tags: compute_flavor }
|
||||
- { role: compute_flavor_access, tags: compute_flavor_access }
|
||||
- { role: config, tags: config }
|
||||
- { role: dns_zone_info, tags: dns_zone_info }
|
||||
- role: object_container
|
||||
@@ -68,6 +69,7 @@
|
||||
- { role: volume, tags: volume }
|
||||
- { role: volume_backup, tags: volume_backup }
|
||||
- { role: volume_snapshot, tags: volume_snapshot }
|
||||
- { role: volume_type_access, tags: volume_type_access }
|
||||
- role: loadbalancer
|
||||
tags: loadbalancer
|
||||
- { role: quota, tags: quota }
|
||||
|
||||
Reference in New Issue
Block a user