diff --git a/ci/playbooks/customize_whitebox_image.yml b/ci/playbooks/customize_whitebox_image.yml new file mode 100644 index 0000000000..c13175f495 --- /dev/null +++ b/ci/playbooks/customize_whitebox_image.yml @@ -0,0 +1,40 @@ +--- +- hosts: controller, primary + name: Download neutron whitebox tempest plugin image and virt customize it + tasks: + - name: Install libguestfs package + become: true + ansible.builtin.package: + name: + - libguestfs + - libguestfs-tools + - libguestfs-tools-c + state: present + + - name: Create whitebox directory + become: true + ansible.builtin.file: + path: "/var/lib/tobiko/external_files" + state: directory + recurse: yes + owner: "{{ ansible_user }}" + group: "{{ ansible_user }}" + mode: '0755' + + - name: Download whitebox testing related image + ansible.builtin.get_url: + url: "https://dl.rockylinux.org/vault/rocky/9.3/images/x86_64/Rocky-9-GenericCloud.latest.x86_64.qcow2" + dest: "/var/lib/tobiko/external_files/Rocky-9-GenericCloud.latest.x86_64.qcow2" + + - name: Install packages and set root password on the downloaded image + ansible.builtin.command: + cmd: >- + virt-customize -a {{ ansible_user_dir }}/whitebox/Rocky-9-GenericCloud.latest.x86_64.qcow2 + --install nmap,keepalived,iperf3 + --root-password password:12345678 + --selinux-relabel + chdir: "/var/lib/tobiko/external_files" + environment: + LIBGUESTFS_BACKEND_SETTINGS: force_tcg + LIBGUESTFS_BACKEND: direct + changed_when: true diff --git a/zuul.d/edpm_multinode.yaml b/zuul.d/edpm_multinode.yaml index ae6003cd12..24d1518f07 100644 --- a/zuul.d/edpm_multinode.yaml +++ b/zuul.d/edpm_multinode.yaml @@ -1,4 +1,67 @@ --- +- job: + name: podified-multinode-edpm-deployment-crc-2comp + parent: podified-multinode-edpm-deployment-crc + nodeset: centos-9-medium-2x-centos-9-crc-extracted-2-36-0-xxl + vars: + crc_ci_bootstrap_cloud_name: "{{ nodepool.cloud | replace('-nodepool-tripleo','') }}" + crc_ci_bootstrap_networking: + networks: + default: + mtu: "{{ ('ibm' in nodepool.cloud) | ternary('1440', '1500') }}" + router_net: "{{ ('ibm' in nodepool.cloud) | ternary('hostonly', 'public') }}" + range: 192.168.122.0/24 + internal-api: + vlan: 20 + range: 172.17.0.0/24 + storage: + vlan: 21 + range: 172.18.0.0/24 + tenant: + vlan: 22 + range: 172.19.0.0/24 + instances: + controller: + networks: + default: + ip: 192.168.122.11 + crc: + networks: + default: + ip: 192.168.122.10 + internal-api: + ip: 172.17.0.5 + storage: + ip: 172.18.0.5 + tenant: + ip: 172.19.0.5 + compute-0: + networks: + default: + ip: 192.168.122.100 + internal-api: + ip: 172.17.0.100 + config_nm: false + storage: + ip: 172.18.0.100 + config_nm: false + tenant: + ip: 172.19.0.100 + config_nm: false + compute-1: + networks: + default: + ip: 192.168.122.101 + internal-api: + ip: 172.17.0.101 + config_nm: false + storage: + ip: 172.18.0.101 + config_nm: false + tenant: + ip: 172.19.0.101 + config_nm: false + - job: name: podified-multinode-edpm-deployment-crc-3comp parent: podified-multinode-edpm-deployment-crc diff --git a/zuul.d/nodeset.yaml b/zuul.d/nodeset.yaml index ff74fb61d3..e469b47e3f 100644 --- a/zuul.d/nodeset.yaml +++ b/zuul.d/nodeset.yaml @@ -286,6 +286,26 @@ nodes: - crc +- nodeset: + name: centos-9-medium-2x-centos-9-crc-extracted-2-36-0-xxl + nodes: + - name: controller + label: cloud-centos-9-stream-tripleo-medium + - name: compute-0 + label: cloud-centos-9-stream-tripleo + - name: compute-1 + label: cloud-centos-9-stream-tripleo + - name: crc + label: coreos-crc-extracted-2-36-0-xxl + groups: + - name: computes + nodes: + - compute-0 + - compute-1 + - name: ocps + nodes: + - crc + - nodeset: name: centos-9-medium-3x-centos-9-crc-extracted-2-36-0-3xl nodes: diff --git a/zuul.d/whitebox_neutron_tempest_jobs.yaml b/zuul.d/whitebox_neutron_tempest_jobs.yaml new file mode 100644 index 0000000000..b82ea4dc91 --- /dev/null +++ b/zuul.d/whitebox_neutron_tempest_jobs.yaml @@ -0,0 +1,122 @@ +--- +# It contains the list of jobs running against +# whitebox-neutron-tempest-plugin rdo third party check job + +- job: + name: whitebox-neutron-tempest-plugin-podified-multinode-edpm-deployment-crc-2comp + parent: podified-multinode-edpm-deployment-crc-2comp + pre-run: + - ci/playbooks/customize_whitebox_image.yml + vars: + cifmw_run_test_role: test_operator + cifmw_os_must_gather_timeout: 28800 + cifmw_test_operator_timeout: 28800 + cifmw_block_device_size: 40G + cifmw_test_operator_concurrency: 6 + cifmw_test_operator_tempest_network_attachments: + - ctlplane + cifmw_test_operator_tempest_container: openstack-tempest-all + cifmw_test_operator_tempest_registry: "{{ content_provider_os_registry_url | split('/') | first }}" + cifmw_test_operator_tempest_namespace: "{{ content_provider_os_registry_url | split('/') | last }}" + cifmw_test_operator_tempest_image_tag: "{{ content_provider_dlrn_md5_hash }}" + cifmw_test_operator_tempest_extra_images: + - URL: "file:///var/lib/tobiko/external_files/Rocky-9-GenericCloud.latest.x86_64.qcow2" + name: custom_neutron_guest + ID: "11111111-1111-1111-1111-111111111111" + flavor: + name: custom_neutron_guest + ID: "22222222-2222-2222-2222-222222222222" + RAM: 1024 + disk: 10 + vcpus: 1 + cifmw_edpm_prepare_kustomizations: + - apiVersion: kustomize.config.k8s.io/v1beta1 + kind: Kustomization + namespace: openstack + patches: + - patch: |- + apiVersion: core.openstack.org/v1beta1 + kind: OpenStackControlPlane + metadata: + name: unused + spec: + heat: + enabled: true + neutron: + template: + customServiceConfig: | + [DEFAULT] + debug=true + vlan_transparent = true + global_physnet_mtu = 1400 + [ovn] + ovn_emit_need_to_frag = true + [ml2] + path_mtu = 1400 + [ovs] + igmp_snooping_enable=True + target: + kind: OpenStackControlPlane + cifmw_tempest_tempestconf_config: + overrides: | + compute-feature-enabled.vnc_console true + compute-feature-enabled.cold_migration true + compute-feature-enabled.block_migration_for_live_migration true + network-feature-enabled.port_security true + neutron_plugin_options.advanced_image_ssh_user rocky + neutron_plugin_options.available_type_drivers geneve + neutron_plugin_options.create_shared_resources true + neutron_plugin_options.is_igmp_snooping_enabled true + neutron_plugin_options.ipv6_metadata false + neutron_plugin_options.advanced_image_ref 11111111-1111-1111-1111-111111111111 + neutron_plugin_options.advanced_image_flavor_ref 22222222-2222-2222-2222-222222222222 + whitebox_neutron_plugin_options.openstack_type podified + whitebox_neutron_plugin_options.run_traffic_flow_tests True + whitebox_neutron_plugin_options.kubeconfig_path '/home/zuul/.crc/machines/crc/kubeconfig' + validation.allowed_network_downtime 15 + validation.run_validation true + identity.v3_endpoint_type public + identity.v2_admin_endpoint_type public + # NOTE(gibi): This is a WA to force the publicURL as otherwise + # tempest gets configured with adminURL and that causes test + # instability. + cifmw_test_operator_tempest_workflow: + - stepName: multi-thread-testing + tempestRun: + concurrency: 6 + includeList: | + whitebox_neutron_tempest_plugin.* + excludeList: | + neutron_tempest_plugin.scenario.test_mtu.NetworkWritableMtuTest + test_multicast.*ext* + test_multicast.*restart + whitebox_neutron_tempest_plugin.*south_north + whitebox_neutron_tempest_plugin.tests.scenario.*test_mtu + ^neutron_.*plugin..*scenario.test_.*macvtap + ^neutron_tempest_plugin.fwaas.* + ^whitebox_neutron_tempest_plugin.*many_vms + ^whitebox_neutron_tempest_plugin.*networker_reboot + ^whitebox_neutron_tempest_plugin.*ovn_controller_restart + ^whitebox_neutron_tempest_plugin.*reboot_node + ^whitebox_neutron_tempest_plugin.*test_previously_used_ip + ^whitebox_neutron_tempest_plugin.tests.scenario.test_internal_dns.InternalDNSInterruptions.* + ^whitebox_neutron_tempest_plugin.tests.scenario.test_l3ha_ovn.* + ^whitebox_neutron_tempest_plugin.tests.scenario.test_metadata_rate_limiting + ^whitebox_neutron_tempest_plugin.tests.scenario.test_ovn_dbs.OvnDbsMonitoringTest.* + ^whitebox_neutron_tempest_plugin.tests.scenario.test_qos.*external + ^whitebox_neutron_tempest_plugin.tests.scenario.test_security_group_logging + # https://review.opendev.org/892839 + # - neutron_tempest_plugin.scenario.test_mtu.NetworkWritableMtuTest + # It's in Blacklist before, FWaaS tests are not executed in any of our setups so there is no need to keep them whitelisted + # ^neutron_tempest_plugin.fwaas.* + - stepName: single-thread-testing + tempestRun: + concurrency: 1 + includeList: | + whitebox_neutron_tempest_plugin.*south_north + # NOTE(mblue): Exclude list has test failures which need further debugging + excludeList: | + whitebox_neutron_tempest_plugin.tests.scenario.test_metadata_rate_limiting + whitebox_neutron_tempest_plugin.tests.scenario.test_mtu.GatewayMtuTestIcmp.test_northbound_pmtud_icmp + whitebox_neutron_tempest_plugin.tests.scenario.test_ovn_dbs.OvnDbsMonitoringTest + whitebox_neutron_tempest_plugin.tests.scenario.test_security_group_logging