diff --git a/ansible/README.md b/ansible/README.md index 3dfd434219..32675d3169 100644 --- a/ansible/README.md +++ b/ansible/README.md @@ -109,7 +109,7 @@ summarized below: | Type | Families | | ------------- | -------------- | | rhel | rhel-7
rhel-8 | -| rhel-s390x | rhel-8-6-s390x | +| rhel-s390x | rhel-8-6-s390x
rhel-9-6-s390x
rhel-10-s390x | | rhel-ppc64le | rhel-8.8-05102023 | | rhel-sap | rhel-8-4-sap-ha
rhel-8-6-sap-ha | | cos | cos-stable
cos-beta
cos-dev | diff --git a/ansible/group_vars/all.yml b/ansible/group_vars/all.yml index 458ad80037..7c362779cd 100644 --- a/ansible/group_vars/all.yml +++ b/ansible/group_vars/all.yml @@ -52,6 +52,9 @@ virtual_machines: ssh_key_file: "~/.ssh/acs-s390x-rsa.prv" families: - rhel-8-6-s390x + - rhel-9-6-s390x + - rhel-10-s390x + container_engine: podman # We have taken families name as "p" since there is a character limit for instance name # in ibm cloud (56 chars max) diff --git a/ansible/roles/create-vm/tasks/create-s390x-vm.yml b/ansible/roles/create-vm/tasks/create-s390x-vm.yml index ea2bd5858b..2e703f2d6e 100644 --- a/ansible/roles/create-vm/tasks/create-s390x-vm.yml +++ b/ansible/roles/create-vm/tasks/create-s390x-vm.yml @@ -51,7 +51,7 @@ id: "{{ vsi.resource.id | default(omit) }}" vpc: "{{ s390x.vpc_id }}" profile: "{{ s390x.vsi_profile }}" - image: "{{ s390x.vsi_image_id }}" + image: "{{ s390x.image_ids[vm_family] }}" resource_group: "{{ s390x.vsi_resource_group_id }}" keys: - "{{ s390x.ssh_key_id }}" @@ -99,6 +99,7 @@ - job_id_{{ job_id }} - platform_{{ test_platform }} - vm_arch_s390x + - container_engine_{{ container_engine }} ansible_ssh_extra_args: "-o StrictHostKeyChecking=no" ansible_ssh_private_key_file: "{{ vm_ssh_key_file }}" vm_config: "{{ vm_config }}" diff --git a/ansible/roles/destroy-vm/tasks/destroy-s390x-vm.yml b/ansible/roles/destroy-vm/tasks/destroy-s390x-vm.yml index 1b3795dc1e..579827a8c1 100644 --- a/ansible/roles/destroy-vm/tasks/destroy-s390x-vm.yml +++ b/ansible/roles/destroy-vm/tasks/destroy-s390x-vm.yml @@ -19,6 +19,7 @@ zone: "{{ vsi.resource.zone }}" primary_network_interface: - subnet: "{{ vsi.resource.primary_network_interface[0].subnet }}" + ignore_errors: true when: vsi.resource.id is defined - name: Check for existing floating IP @@ -36,6 +37,7 @@ state: absent id: "{{ fip.resource.id }}" zone: "{{ fip.resource.zone }}" + ignore_errors: true when: fip.resource.id is defined - name: Check for existing Security Group @@ -51,7 +53,15 @@ delegate_to: localhost ibm.cloudcollection.ibm_is_security_group: state: absent - id: "{{ sg.resource.id }}" + name: "{{ inventory_hostname }}-sg" + vpc: "{{ s390x.vpc_id }}" + register: sg_delete + failed_when: + - sg_delete.rc | default(0) != 0 + - '"Target not found" not in (sg_delete.stderr | default(""))' + - '"Target not found" not in (sg_delete.msg | default(""))' + - '"not_found" not in (sg_delete.stderr | default(""))' + - '"not_found" not in (sg_delete.msg | default(""))' when: sg.resource.id is defined - name: Remove IBM inventory file (delete file) diff --git a/ansible/roles/provision-vm/tasks/redhat.yml b/ansible/roles/provision-vm/tasks/redhat.yml index ac8bdd1314..6c16e7cbe9 100644 --- a/ansible/roles/provision-vm/tasks/redhat.yml +++ b/ansible/roles/provision-vm/tasks/redhat.yml @@ -64,11 +64,14 @@ update_cache: true when: runtime_command == 'podman' -- name: Disable cockpit to free port 9090 for collector metrics +# Collector binds host ports 8080 (HTTP API) and 9090 (Prometheus metrics) when +# running integration tests. RHEL Web Console (cockpit) also defaults to 9090 +# and is installed on many RHEL images (including RHEL 10 on s390x). +- name: Disable cockpit socket (conflicts with collector Prometheus port 9090) ansible.builtin.systemd: name: cockpit.socket state: stopped enabled: false - when: vm_arch == "ppc64le" + when: vm_arch == "ppc64le" or vm_arch == "s390x" ignore_errors: true diff --git a/ansible/vars/s390x.yml b/ansible/vars/s390x.yml index 47e3759dbb..c6b6405a93 100644 --- a/ansible/vars/s390x.yml +++ b/ansible/vars/s390x.yml @@ -2,8 +2,10 @@ s390x: - #rhel-8-6-s390x - vsi_image_id: r014-bd269dc6-aa79-4998-b2bc-1eccbda68ed2 + image_ids: + rhel-8-6-s390x: r014-bd269dc6-aa79-4998-b2bc-1eccbda68ed2 + rhel-9-6-s390x: r014-a8eb2566-9128-40ab-a91f-a6e0e18c8426 + rhel-10-s390x: r014-18b71370-7941-4ee5-8f07-93d8fb3803ce vsi_profile: bz2-2x8 # IBM Cloud setup