tests: OpenStack - apply tags and delete by tags
- for keys use Composer-Test-Key prefix (for consistency) - for images and VMs use Composer-Test prefix - delete VMs both by searching by tags & by name in case we manually create them without tags
This commit is contained in:
parent
354c909b9b
commit
ad54403c6d
@ -60,12 +60,21 @@ rlJournalStart
|
|||||||
debug:
|
debug:
|
||||||
var: openstack_servers
|
var: openstack_servers
|
||||||
|
|
||||||
- name: Delete old VMs
|
- name: Delete old VMs by tag
|
||||||
os_server:
|
os_server:
|
||||||
name: "{{item.id}}"
|
name: "{{item.id}}"
|
||||||
state: absent
|
state: absent
|
||||||
loop: "{{openstack_servers}}"
|
loop: "{{openstack_servers}}"
|
||||||
when: item.created < lookup('env','TIMESTAMP') and (item.metadata.Tag is not defined or item.metadata.Tag != "keep_me")
|
when: item.created < lookup('env','TIMESTAMP') and (item.metadata.Tag is defined and item.metadata.Tag == "composer-test")
|
||||||
|
loop_control:
|
||||||
|
label: "{{item.name}} (id: {{item.id}} created: {{item.created}} metadata: {{item.metadata}})"
|
||||||
|
|
||||||
|
- name: Delete old VMs by name
|
||||||
|
os_server:
|
||||||
|
name: "{{item.id}}"
|
||||||
|
state: absent
|
||||||
|
loop: "{{openstack_servers}}"
|
||||||
|
when: item.created < lookup('env','TIMESTAMP') and (item.name | regex_search('Composer-Test'))
|
||||||
loop_control:
|
loop_control:
|
||||||
label: "{{item.name}} (id: {{item.id}} created: {{item.created}} metadata: {{item.metadata}})"
|
label: "{{item.name}} (id: {{item.id}} created: {{item.created}} metadata: {{item.metadata}})"
|
||||||
__EOF__
|
__EOF__
|
||||||
@ -92,7 +101,7 @@ __EOF__
|
|||||||
id: "{{item.id}}"
|
id: "{{item.id}}"
|
||||||
state: absent
|
state: absent
|
||||||
loop: "{{openstack_image}}"
|
loop: "{{openstack_image}}"
|
||||||
when: (item.created_at < lookup('env','TIMESTAMP')) and (item.name | regex_search('Composer-[a-f0-9-]{36}-Automated-Import'))
|
when: (item.created_at < lookup('env','TIMESTAMP')) and (item.name | regex_search('Composer-Test'))
|
||||||
loop_control:
|
loop_control:
|
||||||
label: "{{item.name}} (id: {{item.id}} created: {{item.created_at}})"
|
label: "{{item.name}} (id: {{item.id}} created: {{item.created_at}})"
|
||||||
__EOF__
|
__EOF__
|
||||||
@ -131,4 +140,3 @@ __EOF__
|
|||||||
|
|
||||||
rlJournalEnd
|
rlJournalEnd
|
||||||
rlJournalPrintText
|
rlJournalPrintText
|
||||||
|
|
||||||
|
@ -82,8 +82,9 @@ __EOF__
|
|||||||
|
|
||||||
rlPhaseStartTest "Upload QCOW2 image to OpenStack"
|
rlPhaseStartTest "Upload QCOW2 image to OpenStack"
|
||||||
rlRun -t -c "$CLI compose image $UUID"
|
rlRun -t -c "$CLI compose image $UUID"
|
||||||
IMAGE="$UUID-disk.qcow2"
|
rlRun -t -c "mv $UUID-disk.qcow2 Composer-Test-$UUID-disk.qcow2"
|
||||||
OS_IMAGE_NAME="Composer-$UUID-Automated-Import"
|
IMAGE="Composer-Test-$UUID-disk.qcow2"
|
||||||
|
OS_IMAGE_NAME="Composer-Test-$UUID"
|
||||||
|
|
||||||
response=`ansible localhost -m os_image -a "name=$OS_IMAGE_NAME filename=$IMAGE is_public=no"`
|
response=`ansible localhost -m os_image -a "name=$OS_IMAGE_NAME filename=$IMAGE is_public=no"`
|
||||||
rlAssert0 "Image upload successfull" $?
|
rlAssert0 "Image upload successfull" $?
|
||||||
@ -94,13 +95,13 @@ __EOF__
|
|||||||
rlPhaseEnd
|
rlPhaseEnd
|
||||||
|
|
||||||
rlPhaseStartTest "Start VM instance"
|
rlPhaseStartTest "Start VM instance"
|
||||||
VM_NAME="Composer-Auto-VM-$UUID"
|
VM_NAME="Composer-Test-VM-$UUID"
|
||||||
|
|
||||||
SSH_KEY_DIR=`mktemp -d /tmp/composer-ssh-keys.XXXXXX`
|
SSH_KEY_DIR=`mktemp -d /tmp/composer-ssh-keys.XXXXXX`
|
||||||
rlRun -t -c "ssh-keygen -t rsa -N '' -f $SSH_KEY_DIR/id_rsa"
|
rlRun -t -c "ssh-keygen -t rsa -N '' -f $SSH_KEY_DIR/id_rsa"
|
||||||
rlRun -t -c "ansible localhost -m os_keypair -a 'name=$VM_NAME-key public_key_file=$SSH_KEY_DIR/id_rsa.pub'"
|
rlRun -t -c "ansible localhost -m os_keypair -a \"name=Composer-Test-Key-$UUID public_key_file=$SSH_KEY_DIR/id_rsa.pub\""
|
||||||
|
|
||||||
response=`ansible localhost -m os_server -a "name=$VM_NAME image=$OS_IMAGE_UUID network=provider_net_cci_2 flavor=ci.m1.medium.ephemeral key_name=$VM_NAME-key auto_ip=yes"`
|
response=`ansible localhost -m os_server -a "name=$VM_NAME image=$OS_IMAGE_UUID network=provider_net_cci_2 flavor=ci.m1.medium.ephemeral key_name=Composer-Test-Key-$UUID auto_ip=yes meta='composer-test=true'"`
|
||||||
rlAssert0 "VM started successfully" $?
|
rlAssert0 "VM started successfully" $?
|
||||||
rlLogInfo "$response"
|
rlLogInfo "$response"
|
||||||
|
|
||||||
@ -123,7 +124,7 @@ __EOF__
|
|||||||
rlPhaseEnd
|
rlPhaseEnd
|
||||||
|
|
||||||
rlPhaseStartCleanup
|
rlPhaseStartCleanup
|
||||||
rlRun -t -c "ansible localhost -m os_keypair -a 'name=$VM_NAME-key state=absent'"
|
rlRun -t -c "ansible localhost -m os_keypair -a 'name=Composer-Test-Key-$UUID state=absent'"
|
||||||
rlRun -t -c "ansible localhost -m os_server -a 'name=$VM_NAME state=absent'"
|
rlRun -t -c "ansible localhost -m os_server -a 'name=$VM_NAME state=absent'"
|
||||||
rlRun -t -c "ansible localhost -m os_image -a 'name=$OS_IMAGE_NAME state=absent'"
|
rlRun -t -c "ansible localhost -m os_image -a 'name=$OS_IMAGE_NAME state=absent'"
|
||||||
rlRun -t -c "$CLI compose delete $UUID"
|
rlRun -t -c "$CLI compose delete $UUID"
|
||||||
|
Loading…
Reference in New Issue
Block a user