Fix branchful jobs for collections
Stable branch jobs were using master for deployment Story: #2008445 Task: #41412 Story: #2008444 Task: #41411 Mark train non-voting, see https://review.opendev.org/766622 Change-Id: I8132ec7cfe3468daaa363efb76c5d0b81bdeab30
This commit is contained in:
parent
af27a79312
commit
981d268039
54
.zuul.yaml
54
.zuul.yaml
@ -73,7 +73,7 @@
|
||||
vars:
|
||||
tox_envlist: ansible-pip
|
||||
|
||||
# Stable branches
|
||||
# Stable branches tests
|
||||
- job:
|
||||
name: ansible-collections-openstack-functional-devstack-victoria-ansible-2.10
|
||||
parent: ansible-collections-openstack-functional-devstack-ansible-devel
|
||||
@ -81,13 +81,12 @@
|
||||
Run openstack collections functional tests against a victoria devstack
|
||||
using victoria brach of openstacksdk and stable 2.10 branch of ansible
|
||||
voting: true
|
||||
override-checkout: stable/victoria
|
||||
required-projects:
|
||||
- name: github.com/ansible/ansible
|
||||
override-checkout: stable-2.10
|
||||
- name: openstack/openstacksdk
|
||||
override-branch: victoria
|
||||
- name: openstack/devstack
|
||||
override-checkout: victoria
|
||||
override-checkout: stable/victoria
|
||||
vars:
|
||||
tox_envlist: ansible
|
||||
|
||||
@ -99,13 +98,14 @@
|
||||
Run openstack collections functional tests against a ussuri devstack
|
||||
using ussuri brach of openstacksdk and stable 2.10 branch of ansible
|
||||
voting: true
|
||||
override-checkout: stable/ussuri
|
||||
required-projects:
|
||||
- name: github.com/ansible/ansible
|
||||
override-checkout: stable-2.10
|
||||
- name: openstack/openstacksdk
|
||||
override-branch: ussuri
|
||||
- name: openstack/devstack
|
||||
override-checkout: ussuri
|
||||
override-checkout: stable/ussuri
|
||||
- name: openstack/os-client-config
|
||||
override-checkout: stable/ussuri
|
||||
vars:
|
||||
tox_envlist: ansible
|
||||
|
||||
@ -115,14 +115,15 @@
|
||||
description: |
|
||||
Run openstack collections functional tests against a train devstack
|
||||
using train brach of openstacksdk and stable 2.10 branch of ansible
|
||||
voting: true
|
||||
voting: false
|
||||
override-checkout: stable/train
|
||||
required-projects:
|
||||
- name: github.com/ansible/ansible
|
||||
override-checkout: stable-2.10
|
||||
- name: openstack/openstacksdk
|
||||
override-branch: train
|
||||
- name: openstack/devstack
|
||||
override-checkout: train
|
||||
override-checkout: stable/train
|
||||
- name: openstack/os-client-config
|
||||
override-checkout: stable/train
|
||||
vars:
|
||||
tox_envlist: ansible
|
||||
|
||||
@ -133,13 +134,14 @@
|
||||
Run openstack collections functional tests against a stein devstack
|
||||
using stein brach of openstacksdk and stable 2.10 branch of ansible
|
||||
voting: true
|
||||
override-checkout: stable/stein
|
||||
required-projects:
|
||||
- name: github.com/ansible/ansible
|
||||
override-checkout: stable-2.10
|
||||
- name: openstack/openstacksdk
|
||||
override-branch: stein
|
||||
- name: openstack/devstack
|
||||
override-checkout: stein
|
||||
override-checkout: stable/stein
|
||||
- name: openstack/os-client-config
|
||||
override-checkout: stable/stein
|
||||
vars:
|
||||
tox_envlist: ansible
|
||||
|
||||
@ -150,13 +152,17 @@
|
||||
Run openstack collections functional tests against a rocky devstack
|
||||
using rocky brach of openstacksdk and stable 2.10 branch of ansible
|
||||
voting: true
|
||||
override-checkout: stable/rocky
|
||||
required-projects:
|
||||
- name: github.com/ansible/ansible
|
||||
override-checkout: stable-2.10
|
||||
- name: openstack/openstacksdk
|
||||
override-branch: rocky
|
||||
- name: openstack/devstack
|
||||
override-checkout: rocky
|
||||
override-checkout: stable/rocky
|
||||
- name: openstack/os-client-config
|
||||
override-checkout: stable/rocky
|
||||
- name: openstack/shade
|
||||
override-checkout: stable/rocky
|
||||
|
||||
vars:
|
||||
tox_envlist: ansible
|
||||
|
||||
@ -167,13 +173,13 @@
|
||||
Run openstack collections functional tests against a queens devstack
|
||||
using master branch of openstacksdk and stable 2.10 branch of ansible
|
||||
voting: true
|
||||
override-checkout: stable/queens
|
||||
required-projects:
|
||||
- name: github.com/ansible/ansible
|
||||
override-checkout: stable-2.10
|
||||
- name: openstack/openstacksdk
|
||||
override-branch: master
|
||||
- name: openstack/devstack
|
||||
override-checkout: queens
|
||||
# Run queens with highest possible py2 version of SDK
|
||||
override-checkout: stable/train
|
||||
vars:
|
||||
tox_envlist: ansible
|
||||
|
||||
@ -184,13 +190,13 @@
|
||||
Run openstack collections functional tests against a queens devstack
|
||||
using master branch of openstacksdk and devel branch of ansible
|
||||
voting: false
|
||||
override-checkout: stable/queens
|
||||
required-projects:
|
||||
- name: github.com/ansible/ansible
|
||||
override-checkout: devel
|
||||
- name: openstack/openstacksdk
|
||||
override-branch: master
|
||||
- name: openstack/devstack
|
||||
override-checkout: queens
|
||||
# Run queens with highest possible py2 version of SDK
|
||||
override-checkout: stable/train
|
||||
vars:
|
||||
tox_envlist: ansible-2.11
|
||||
|
||||
@ -324,7 +330,7 @@
|
||||
- ansible-collections-openstack-functional-devstack-ansible-pip
|
||||
- ansible-collections-openstack-functional-devstack-victoria-ansible-2.10
|
||||
- ansible-collections-openstack-functional-devstack-ussuri-ansible-2.10
|
||||
- ansible-collections-openstack-functional-devstack-train-ansible-2.10
|
||||
# - ansible-collections-openstack-functional-devstack-train-ansible-2.10
|
||||
- ansible-collections-openstack-functional-devstack-stein-ansible-2.10
|
||||
- ansible-collections-openstack-functional-devstack-rocky-ansible-2.10
|
||||
- ansible-collections-openstack-functional-devstack-queens-ansible-2.10
|
||||
|
@ -200,7 +200,10 @@
|
||||
that:
|
||||
- info10.openstack_servers.0.status == 'ACTIVE'
|
||||
# not in all versions 'locked' is supported
|
||||
- info10.openstack_servers.0.locked in (None, True)
|
||||
- >-
|
||||
(info10.openstack_server[0]['locked'] is defined and
|
||||
info10.openstack_server[0]['locked']|bool) or
|
||||
(info10.openstack_server[0]['locked'] is not defined)
|
||||
- server is changed
|
||||
|
||||
- name: Lock server again
|
||||
@ -222,7 +225,10 @@
|
||||
that:
|
||||
- info11.openstack_servers.0.status == 'ACTIVE'
|
||||
# not in all versions 'locked' is supported
|
||||
- info11.openstack_servers.0.locked in (None, True)
|
||||
- >-
|
||||
(info11.openstack_server[0]['locked'] is defined and
|
||||
info11.openstack_server[0]['locked']|bool) or
|
||||
(info11.openstack_server[0]['locked'] is not defined)
|
||||
- server is changed # no support for lock idempotency
|
||||
|
||||
- name: Unock server
|
||||
@ -244,7 +250,10 @@
|
||||
that:
|
||||
- info12.openstack_servers.0.status == 'ACTIVE'
|
||||
# not in all versions 'locked' is supported
|
||||
- info12.openstack_servers.0.locked in (None, False)
|
||||
- >-
|
||||
(info12.openstack_server[0]['locked'] is defined and
|
||||
not info12.openstack_server[0]['locked']|bool) or
|
||||
(info12.openstack_server[0]['locked'] is not defined)
|
||||
- server is changed
|
||||
|
||||
- name: Unlock server again
|
||||
@ -267,7 +276,10 @@
|
||||
- info13.openstack_servers.0.status == 'ACTIVE'
|
||||
- server is changed # no support for unlock idempotency
|
||||
# not in all versions 'locked' is supported
|
||||
- info13.openstack_servers.0.locked in (None, False)
|
||||
- >-
|
||||
(info13.openstack_server[0]['locked'] is defined and
|
||||
not info13.openstack_server[0]['locked']|bool) or
|
||||
(info13.openstack_server[0]['locked'] is not defined)
|
||||
|
||||
- name: Suspend server
|
||||
openstack.cloud.server_action:
|
||||
|
@ -21,6 +21,7 @@
|
||||
cloud: "{{ cloud }}"
|
||||
name: ansible_volume_snapshot
|
||||
register: snap_info
|
||||
ignore_errors: sdk_version is version(0.49, '<')
|
||||
|
||||
- name: Create volume backup
|
||||
openstack.cloud.volume_backup:
|
||||
@ -29,12 +30,14 @@
|
||||
display_name: ansible_volume_backup
|
||||
volume: ansible_volume
|
||||
register: vol_backup
|
||||
ignore_errors: sdk_version is version(0.49, '<')
|
||||
|
||||
- name: Get backup info
|
||||
openstack.cloud.volume_backup_info:
|
||||
cloud: "{{ cloud }}"
|
||||
name: ansible_volume_backup
|
||||
register: backup_info
|
||||
ignore_errors: sdk_version is version(0.49, '<')
|
||||
|
||||
- debug: var=vol
|
||||
|
||||
@ -49,6 +52,7 @@
|
||||
cloud: "{{ cloud }}"
|
||||
display_name: ansible_volume_backup
|
||||
state: absent
|
||||
ignore_errors: sdk_version is version(0.49, '<')
|
||||
|
||||
- name: Delete volume snapshot
|
||||
openstack.cloud.volume_snapshot:
|
||||
|
@ -1,122 +1,155 @@
|
||||
- name: Get info about volumes
|
||||
openstack.cloud.volume_info:
|
||||
cloud: "{{ cloud }}"
|
||||
all_projects: true
|
||||
register: delete
|
||||
|
||||
- name: Clean up volumes before the test
|
||||
openstack.cloud.volume:
|
||||
cloud: "{{ cloud }}"
|
||||
state: absent
|
||||
display_name: "{{ vol.name }}"
|
||||
loop: "{{ delete.volumes }}"
|
||||
loop_control:
|
||||
loop_var: vol
|
||||
|
||||
- name: Create volume
|
||||
openstack.cloud.volume:
|
||||
cloud: "{{ cloud }}"
|
||||
state: present
|
||||
size: 1
|
||||
display_name: ansible_test
|
||||
display_description: testci
|
||||
register: vol
|
||||
|
||||
- name: Get info about volumes
|
||||
- name: Get info about volumes and all projects for all SDK
|
||||
openstack.cloud.volume_info:
|
||||
cloud: "{{ cloud }}"
|
||||
details: true
|
||||
all_projects: true
|
||||
register: info
|
||||
register: all_sdk
|
||||
ignore_errors: true
|
||||
|
||||
- name: Check info
|
||||
- name: Check info for all projects
|
||||
assert:
|
||||
that:
|
||||
- info.volumes | selectattr("description", "equalto", "testci") | list | length == 1
|
||||
- info.volumes.0.name == 'ansible_test'
|
||||
- info.volumes.0.status == 'available'
|
||||
# Rocky SDK doesn't have all_projects attribute
|
||||
- >-
|
||||
(all_sdk is failed and sdk_version is version(0.19, '<')) or
|
||||
all_sdk is success
|
||||
|
||||
- name: Get not detailed info about volumes
|
||||
- name: Get info about volumes for all SDK
|
||||
openstack.cloud.volume_info:
|
||||
cloud: "{{ cloud }}"
|
||||
details: false
|
||||
all_projects: true
|
||||
register: info1
|
||||
details: true
|
||||
register: all_sdk1
|
||||
ignore_errors: true
|
||||
|
||||
- name: Check info
|
||||
- name: Check info for all SDK
|
||||
assert:
|
||||
that:
|
||||
- info1.volumes | selectattr("id", "equalto", "{{ info.volumes.0.id }}") | list | length == 1
|
||||
- info1.volumes.0.name == 'ansible_test'
|
||||
- info1.volumes.0.status == None
|
||||
- all_sdk1 is success
|
||||
- all_sdk1.volumes is defined
|
||||
|
||||
- name: Get info about volumes with name
|
||||
openstack.cloud.volume_info:
|
||||
cloud: "{{ cloud }}"
|
||||
details: false
|
||||
name: ansible_test
|
||||
all_projects: true
|
||||
register: info2
|
||||
- name: Run tests for SDK > 0.28 (from train)
|
||||
when: sdk_version is version(0.28, '>')
|
||||
block:
|
||||
|
||||
- name: Check info
|
||||
assert:
|
||||
that:
|
||||
- info2.volumes | length == 1
|
||||
- info2.volumes.0.name == 'ansible_test'
|
||||
- name: Get info about volumes
|
||||
openstack.cloud.volume_info:
|
||||
cloud: "{{ cloud }}"
|
||||
all_projects: true
|
||||
register: delete
|
||||
|
||||
- name: Get info about volumes with non-existent name
|
||||
openstack.cloud.volume_info:
|
||||
cloud: "{{ cloud }}"
|
||||
details: false
|
||||
name: nothing_here
|
||||
all_projects: true
|
||||
register: info3
|
||||
- name: Clean up volumes before the test
|
||||
openstack.cloud.volume:
|
||||
cloud: "{{ cloud }}"
|
||||
state: absent
|
||||
display_name: "{{ vol.name }}"
|
||||
loop: "{{ delete.volumes }}"
|
||||
loop_control:
|
||||
loop_var: vol
|
||||
|
||||
- name: Check info
|
||||
assert:
|
||||
that:
|
||||
- info3.volumes | length == 0
|
||||
- name: Create volume
|
||||
openstack.cloud.volume:
|
||||
cloud: "{{ cloud }}"
|
||||
state: present
|
||||
size: 1
|
||||
display_name: ansible_test
|
||||
display_description: testci
|
||||
register: vol
|
||||
|
||||
- name: Get info about volumes
|
||||
openstack.cloud.volume_info:
|
||||
cloud: "{{ cloud }}"
|
||||
details: false
|
||||
name: ansible_test
|
||||
all_projects: true
|
||||
register: info4
|
||||
- name: Get info about volumes
|
||||
openstack.cloud.volume_info:
|
||||
cloud: "{{ cloud }}"
|
||||
details: true
|
||||
all_projects: true
|
||||
register: info
|
||||
|
||||
- name: Check info
|
||||
assert:
|
||||
that:
|
||||
- info4.volumes | length == 1
|
||||
- info4.volumes.0.name == 'ansible_test'
|
||||
- name: Check info
|
||||
assert:
|
||||
that:
|
||||
- info.volumes | selectattr("description", "equalto", "testci") | list | length == 1
|
||||
- info.volumes.0.name == 'ansible_test'
|
||||
- info.volumes.0.status == 'available'
|
||||
|
||||
- name: Get info about volumes not from all projects
|
||||
openstack.cloud.volume_info:
|
||||
cloud: "{{ cloud }}"
|
||||
details: false
|
||||
name: ansible_test
|
||||
register: info4a
|
||||
- name: Get not detailed info about volumes
|
||||
openstack.cloud.volume_info:
|
||||
cloud: "{{ cloud }}"
|
||||
details: false
|
||||
all_projects: true
|
||||
register: info1
|
||||
|
||||
- name: Check info
|
||||
assert:
|
||||
that:
|
||||
- info4a.volumes | length == 1
|
||||
- info4a.volumes.0.name == 'ansible_test'
|
||||
- name: Check info
|
||||
assert:
|
||||
that:
|
||||
- info1.volumes | selectattr("id", "equalto", "{{ info.volumes.0.id }}") | list | length == 1
|
||||
- info1.volumes.0.name == 'ansible_test'
|
||||
- info1.volumes.0.status == None
|
||||
|
||||
- name: Delete volume
|
||||
openstack.cloud.volume:
|
||||
cloud: "{{ cloud }}"
|
||||
state: absent
|
||||
display_name: ansible_test
|
||||
- name: Get info about volumes with name
|
||||
openstack.cloud.volume_info:
|
||||
cloud: "{{ cloud }}"
|
||||
details: false
|
||||
name: ansible_test
|
||||
all_projects: true
|
||||
register: info2
|
||||
|
||||
- name: Get info when no volumes
|
||||
openstack.cloud.volume_info:
|
||||
cloud: "{{ cloud }}"
|
||||
all_projects: true
|
||||
register: info5
|
||||
- name: Check info
|
||||
assert:
|
||||
that:
|
||||
- info2.volumes | length == 1
|
||||
- info2.volumes.0.name == 'ansible_test'
|
||||
|
||||
- name: Check info
|
||||
assert:
|
||||
that:
|
||||
- info5.volumes | selectattr("name", "equalto", "ansible_test") | list | length == 0
|
||||
- name: Get info about volumes with non-existent name
|
||||
openstack.cloud.volume_info:
|
||||
cloud: "{{ cloud }}"
|
||||
details: false
|
||||
name: nothing_here
|
||||
all_projects: true
|
||||
register: info3
|
||||
|
||||
- name: Check info
|
||||
assert:
|
||||
that:
|
||||
- info3.volumes | length == 0
|
||||
|
||||
- name: Get info about volumes
|
||||
openstack.cloud.volume_info:
|
||||
cloud: "{{ cloud }}"
|
||||
details: false
|
||||
name: ansible_test
|
||||
all_projects: true
|
||||
register: info4
|
||||
|
||||
- name: Check info
|
||||
assert:
|
||||
that:
|
||||
- info4.volumes | length == 1
|
||||
- info4.volumes.0.name == 'ansible_test'
|
||||
|
||||
- name: Get info about volumes not from all projects
|
||||
openstack.cloud.volume_info:
|
||||
cloud: "{{ cloud }}"
|
||||
details: false
|
||||
name: ansible_test
|
||||
register: info4a
|
||||
|
||||
- name: Check info
|
||||
assert:
|
||||
that:
|
||||
- info4a.volumes | length == 1
|
||||
- info4a.volumes.0.name == 'ansible_test'
|
||||
|
||||
- name: Delete volume
|
||||
openstack.cloud.volume:
|
||||
cloud: "{{ cloud }}"
|
||||
state: absent
|
||||
display_name: ansible_test
|
||||
|
||||
- name: Get info when no volumes
|
||||
openstack.cloud.volume_info:
|
||||
cloud: "{{ cloud }}"
|
||||
all_projects: true
|
||||
register: info5
|
||||
|
||||
- name: Check info
|
||||
assert:
|
||||
that:
|
||||
- info5.volumes | selectattr("name", "equalto", "ansible_test") | list | length == 0
|
||||
|
@ -98,6 +98,8 @@ from ansible_collections.openstack.cloud.plugins.module_utils.openstack import O
|
||||
|
||||
|
||||
class VolumeBackupModule(OpenStackModule):
|
||||
module_min_sdk_version = '0.49.0'
|
||||
|
||||
argument_spec = dict(
|
||||
display_name=dict(required=True, aliases=['name'], type='str'),
|
||||
display_description=dict(required=False, aliases=['description'],
|
||||
|
@ -84,6 +84,8 @@ from ansible_collections.openstack.cloud.plugins.module_utils.openstack import O
|
||||
|
||||
|
||||
class VolumeBackupInfoModule(OpenStackModule):
|
||||
module_min_sdk_version = '0.49.0'
|
||||
|
||||
argument_spec = dict(
|
||||
name=dict(required=False, type='str'),
|
||||
volume=dict(required=False, type='str')
|
||||
|
@ -85,6 +85,8 @@ from ansible_collections.openstack.cloud.plugins.module_utils.openstack import O
|
||||
|
||||
|
||||
class VolumeSnapshotInfoModule(OpenStackModule):
|
||||
module_min_sdk_version = '0.49.0'
|
||||
|
||||
argument_spec = dict(
|
||||
details=dict(default=True, type='bool'),
|
||||
name=dict(required=False, type='str'),
|
||||
|
Loading…
x
Reference in New Issue
Block a user