From f16dccf32bcb4d8098cbade03f675129c9137dec Mon Sep 17 00:00:00 2001 From: Bernard Cafarelli Date: Tue, 18 Jun 2024 17:30:06 +0200 Subject: [PATCH] [unmaintained] Drop rally jobs Rally jobs in unmaintained/yoga and older branches now fail with sqlalchemy errors. Given the status of these branches and goal of rally testing, let's drop these jobs in yoga and older branches Closes-Bug: #2069704 Change-Id: If4b446dfe8a063e03676b8d90bbbb529f4c39d19 --- rally-jobs/README.rst | 31 -- rally-jobs/extra/README.rst | 6 - rally-jobs/extra/trunk_scenario.setup | 1 - rally-jobs/plugins/README.rst | 9 - rally-jobs/plugins/__init__.py | 0 rally-jobs/task-neutron.yaml | 518 -------------------------- zuul.d/base.yaml | 2 - zuul.d/job-templates.yaml | 1 - zuul.d/project.yaml | 3 - zuul.d/rally.yaml | 172 --------- 10 files changed, 743 deletions(-) delete mode 100644 rally-jobs/README.rst delete mode 100644 rally-jobs/extra/README.rst delete mode 100644 rally-jobs/extra/trunk_scenario.setup delete mode 100644 rally-jobs/plugins/README.rst delete mode 100644 rally-jobs/plugins/__init__.py delete mode 100644 rally-jobs/task-neutron.yaml delete mode 100644 zuul.d/rally.yaml diff --git a/rally-jobs/README.rst b/rally-jobs/README.rst deleted file mode 100644 index c1b6eab096c..00000000000 --- a/rally-jobs/README.rst +++ /dev/null @@ -1,31 +0,0 @@ -Rally job related files -======================= - -This directory contains rally tasks and plugins that are run by OpenStack CI. - -Structure ---------- - -* plugins - directory where you can add rally plugins. Almost everything in - Rally is a plugin. Benchmark context, Benchmark scenario, SLA checks, Generic - cleanup resources, .... - -* extra - all files from this directory will be copy pasted to gates, so you - are able to use absolute paths in rally tasks. - Files will be located in ~/.rally/extra/* - -* neutron-neutron.yaml is a task that is run in gates against OpenStack with - Neutron Service deployed by DevStack - -Useful links ------------- - -* More about Rally: https://rally.readthedocs.io/en/latest/ - -* Rally release notes: https://rally.readthedocs.io/en/latest/project_info/release_notes/archive.html - -* How to add rally-gates: http://rally.readthedocs.io/en/latest/quick_start/gates.html - -* About plugins: https://rally.readthedocs.io/en/latest/plugins/index.html - -* Plugin samples: https://github.com/openstack/rally/tree/master/samples/plugins diff --git a/rally-jobs/extra/README.rst b/rally-jobs/extra/README.rst deleted file mode 100644 index aab343c51df..00000000000 --- a/rally-jobs/extra/README.rst +++ /dev/null @@ -1,6 +0,0 @@ -Extra files -=========== - -All files from this directory will be copy pasted to gates, so you are able to -use absolute path in rally tasks. Files will be in ~/.rally/extra/* - diff --git a/rally-jobs/extra/trunk_scenario.setup b/rally-jobs/extra/trunk_scenario.setup deleted file mode 100644 index 4b3e9bb12c5..00000000000 --- a/rally-jobs/extra/trunk_scenario.setup +++ /dev/null @@ -1 +0,0 @@ -enable_service neutron-trunk diff --git a/rally-jobs/plugins/README.rst b/rally-jobs/plugins/README.rst deleted file mode 100644 index 33bec0d2531..00000000000 --- a/rally-jobs/plugins/README.rst +++ /dev/null @@ -1,9 +0,0 @@ -Rally plugins -============= - -All *.py modules from this directory will be auto-loaded by Rally and all -plugins will be discoverable. There is no need of any extra configuration -and there is no difference between writing them here and in rally code base. - -Note that it is better to push all interesting and useful benchmarks to Rally -code base, this simplifies administration for Operators. diff --git a/rally-jobs/plugins/__init__.py b/rally-jobs/plugins/__init__.py deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/rally-jobs/task-neutron.yaml b/rally-jobs/task-neutron.yaml deleted file mode 100644 index 5e29974f39a..00000000000 --- a/rally-jobs/task-neutron.yaml +++ /dev/null @@ -1,518 +0,0 @@ -{% set floating_network = floating_network or "public" %} -{% set image_name = "^(cirros.*-disk|TestVM)$" %} -{% set flavor_name = "m1.tiny" %} - ---- - version: 2 - title: Rally Task for OpenStack Neutron CI - description: > - The task contains various scenarios to prevent concurrency issues - subtasks: - - - title: Network related workloads. - workloads: - - - description: Check performance of list_networks action and ensure > - network quotas are not exceeded - scenario: - NeutronNetworks.create_and_list_networks: {} - runner: - constant: - times: 100 - concurrency: 20 - contexts: - users: - tenants: 1 - users_per_tenant: 1 - quotas: - neutron: - # worst case is other 19 writers have created - # resources, but quota reservation hasn't cleared - # yet on any of them. This value could be 100 - # without concurrency. see bug/1623390 - network: 119 - sla: - max_avg_duration_per_atomic: - neutron.list_networks: 15 # reduce as perf is fixed - - failure_rate: - max: 0 - - - description: Check network update action - scenario: - NeutronNetworks.create_and_update_networks: - network_create_args: {} - network_update_args: - admin_state_up: False - runner: - constant: - times: 40 - concurrency: 20 - contexts: - users: - tenants: 1 - users_per_tenant: 1 - quotas: - neutron: - network: -1 - - - scenario: - NeutronNetworks.create_and_delete_networks: {} - runner: - constant: - times: 40 - concurrency: 20 - contexts: - users: - tenants: 1 - users_per_tenant: 1 - quotas: - neutron: - network: -1 - subnet: -1 - - - title: Subnet related workloads. - workloads: - - - scenario: - NeutronNetworks.create_and_list_subnets: - subnets_per_network: 2 - runner: - constant: - times: 40 - concurrency: 20 - contexts: - users: - tenants: 1 - users_per_tenant: 1 - quotas: - neutron: - subnet: -1 - network: -1 - - - scenario: - NeutronNetworks.create_and_update_subnets: - network_create_args: {} - subnet_create_args: {} - subnet_cidr_start: "1.4.0.0/16" - subnets_per_network: 2 - subnet_update_args: - enable_dhcp: True - runner: - constant: - times: 100 - concurrency: 20 - contexts: - users: - tenants: 1 - users_per_tenant: 5 - quotas: - neutron: - network: -1 - subnet: -1 - port: -1 - - - scenario: - NeutronNetworks.create_and_delete_subnets: - network_create_args: {} - subnet_create_args: {} - subnet_cidr_start: "1.1.0.0/30" - subnets_per_network: 2 - runner: - constant: - times: 40 - concurrency: 20 - contexts: - users: - tenants: 1 - users_per_tenant: 1 - quotas: - neutron: - network: -1 - subnet: -1 - - - title: Routers related workloads. - workloads: - - - scenario: - NeutronNetworks.create_and_list_routers: - network_create_args: - subnet_create_args: - subnet_cidr_start: "1.1.0.0/30" - subnets_per_network: 2 - router_create_args: - runner: - constant: - times: 40 - concurrency: 20 - contexts: - users: - tenants: 1 - users_per_tenant: 1 - quotas: - neutron: - network: -1 - subnet: -1 - router: -1 - - - scenario: - NeutronNetworks.create_and_update_routers: - network_create_args: {} - subnet_create_args: {} - subnet_cidr_start: "1.1.0.0/30" - subnets_per_network: 2 - router_create_args: {} - router_update_args: - admin_state_up: False - runner: - constant: - times: 40 - concurrency: 20 - contexts: - users: - tenants: 1 - users_per_tenant: 1 - quotas: - neutron: - network: -1 - subnet: -1 - router: -1 - - - scenario: - NeutronNetworks.create_and_delete_routers: - network_create_args: {} - subnet_create_args: {} - subnet_cidr_start: "1.1.0.0/30" - subnets_per_network: 2 - router_create_args: {} - runner: - constant: - times: 40 - concurrency: 20 - contexts: - users: - tenants: 1 - users_per_tenant: 1 - quotas: - neutron: - network: -1 - subnet: -1 - router: -1 - - - title: Ports related workloads. - workloads: - - - description: Check performance of list ports action and ensure > - network quotas are not exceeded - scenario: - NeutronNetworks.create_and_list_ports: - network_create_args: {} - port_create_args: {} - ports_per_network: 50 - runner: - constant: - times: 8 - concurrency: 4 - contexts: - users: - tenants: 1 - users_per_tenant: 1 - quotas: - neutron: - network: -1 - subnet: -1 - router: -1 - # ((ports per net + 1 dhcp) * times) + (concurrency-1) - # see bug/1623390 for concurrency explanation - port: 811 - sla: - max_avg_duration_per_atomic: - neutron.list_ports: 15 # reduce as perf is fixed - failure_rate: - max: 0 - - - scenario: - NeutronNetworks.create_and_update_ports: - network_create_args: {} - port_create_args: {} - ports_per_network: 5 - port_update_args: - admin_state_up: False - device_id: "dummy_id" - device_owner: "dummy_owner" - runner: - constant: - times: 40 - concurrency: 20 - contexts: - users: - tenants: 1 - users_per_tenant: 1 - quotas: - neutron: - network: -1 - port: -1 - - - scenario: - NeutronNetworks.create_and_bind_ports: - ports_per_network: 5 - runner: - constant: - times: 3 - concurrency: 2 - contexts: - users: - tenants: 1 - users_per_tenant: 1 - roles: - - admin - quotas: - neutron: - network: -1 - subnet: -1 - port: -1 - network: {} - networking_agents: {} - - - scenario: - NeutronNetworks.create_and_delete_ports: - network_create_args: {} - port_create_args: {} - ports_per_network: 5 - runner: - constant: - times: 40 - concurrency: 20 - contexts: - users: - tenants: 1 - users_per_tenant: 1 - quotas: - neutron: - network: -1 - port: -1 - - - title: Quotas update check - scenario: - Quotas.neutron_update: - max_quota: 1024 - runner: - constant: - times: 40 - concurrency: 20 - contexts: - users: - tenants: 20 - users_per_tenant: 1 - - - title: Trunks related workload - scenario: - NeutronTrunks.create_and_list_trunks: - subport_count: 125 - runner: - constant: - times: 4 - concurrency: 4 - contexts: - users: - tenants: 1 - users_per_tenant: 1 - quotas: - neutron: - network: -1 - port: 1000 - - - title: Floating IP related workloads - workloads: - - - scenario: - NeutronNetworks.create_and_delete_floating_ips: - floating_network: {{ floating_network }} - floating_ip_args: {} - runner: - constant: - times: 10 - concurrency: 5 - contexts: - users: - tenants: 2 - users_per_tenant: 3 - quotas: - neutron: - floatingip: -1 - - - scenario: - NeutronNetworks.create_and_list_floating_ips: - floating_network: {{ floating_network }} - floating_ip_args: {} - runner: - constant: - times: 10 - concurrency: 5 - contexts: - users: - tenants: 2 - users_per_tenant: 3 - quotas: - neutron: - floatingip: -1 - - - scenario: - NeutronNetworks.associate_and_dissociate_floating_ips: - floating_network: {{ floating_network }} - runner: - constant: - times: 10 - concurrency: 5 - contexts: - users: - tenants: 2 - users_per_tenant: 3 - quotas: - neutron: - floatingip: -1 - - - title: Security Group Related Scenarios - workloads: - - - scenario: - NeutronSecurityGroup.create_and_delete_security_group_rule: - security_group_args: {} - security_group_rule_args: {} - runner: - constant: - times: 50 - concurrency: 10 - contexts: - users: - tenants: 2 - users_per_tenant: 3 - quotas: - neutron: - security_group: -1 - security_group_rule: -1 - - - scenario: - NeutronSecurityGroup.create_and_delete_security_groups: - security_group_create_args: {} - runner: - constant: - times: 50 - concurrency: 10 - contexts: - users: - tenants: 2 - users_per_tenant: 3 - quotas: - neutron: - security_group: -1 - - - scenario: - NeutronSecurityGroup.create_and_list_security_group_rules: - security_group_args: {} - security_group_rule_args: {} - security_group_rules_count: 20 - runner: - constant: - times: 50 - concurrency: 10 - contexts: - users: - tenants: 2 - users_per_tenant: 3 - quotas: - neutron: - security_group: -1 - security_group_rule: -1 - - - scenario: - NeutronSecurityGroup.create_and_list_security_groups: - security_group_create_args: {} - runner: - constant: - times: 50 - concurrency: 10 - contexts: - users: - tenants: 2 - users_per_tenant: 3 - quotas: - neutron: - security_group: -1 - - - scenario: - NeutronSecurityGroup.create_and_show_security_group_rule: - security_group_args: {} - security_group_rule_args: {} - runner: - constant: - times: 50 - concurrency: 10 - contexts: - users: - tenants: 2 - users_per_tenant: 3 - quotas: - neutron: - security_group: -1 - security_group_rule: -1 - - - scenario: - NeutronSecurityGroup.create_and_show_security_group: - security_group_create_args: {} - runner: - constant: - times: 50 - concurrency: 10 - contexts: - users: - tenants: 2 - users_per_tenant: 3 - quotas: - neutron: - security_group: -1 - - - scenario: - NeutronSecurityGroup.create_and_update_security_groups: - security_group_create_args: {} - security_group_update_args: {} - runner: - constant: - times: 50 - concurrency: 10 - contexts: - users: - tenants: 2 - users_per_tenant: 3 - quotas: - neutron: - security_group: -1 - - - title: VM booting workloads - workloads: - - - scenario: - NovaServers.boot_and_delete_server: - flavor: - name: {{flavor_name}} - image: - name: {{image_name}} - auto_assign_nic: true - runner: - constant: - times: 2 - concurrency: 2 - contexts: - users: - tenants: 2 - users_per_tenant: 2 - network: {} - sla: - # NovaServers.boot_and_delete_server is unstable and frequently - # times out when waiting for the VM to become ACTIVE. We run this - # scenario for the osprofiler report and we ignore the rally - # scenario outcome. Ideally we should eliminate the cause of the - # timeouts, but even until then we'll get usable osprofiler - # results. - failure_rate: - max: 100 diff --git a/zuul.d/base.yaml b/zuul.d/base.yaml index 20ff6bd810e..f06cc5e3717 100644 --- a/zuul.d/base.yaml +++ b/zuul.d/base.yaml @@ -31,7 +31,6 @@ - ^playbooks/prepare-ovn-multinode.yaml - ^roles/add_mariadb_repo/.*$ - ^roles/nftables/.*$ - - ^rally-jobs/.*$ - ^zuul.d/(?!(project)).*\.yaml vars: configure_swap_size: 8192 @@ -94,7 +93,6 @@ - ^playbooks/prepare-ovn-multinode.yaml - ^roles/add_mariadb_repo/.*$ - ^roles/nftables/.*$ - - ^rally-jobs/.*$ - ^zuul.d/(?!(project)).*\.yaml - job: diff --git a/zuul.d/job-templates.yaml b/zuul.d/job-templates.yaml index bc4e78c4001..aad00ff6572 100644 --- a/zuul.d/job-templates.yaml +++ b/zuul.d/job-templates.yaml @@ -18,7 +18,6 @@ - ^devstack/.*$ - ^playbooks/.*$ - ^roles/.*$ - - ^rally-jobs/.*$ - ^zuul.d/(?!(job-templates)).*\.yaml - openstack-tox-py39: # from openstack-python3-yoga-jobs template timeout: 3600 diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml index 0c57b38c957..ffce119fd3f 100644 --- a/zuul.d/project.yaml +++ b/zuul.d/project.yaml @@ -19,12 +19,9 @@ jobs: - neutron-functional-with-uwsgi - neutron-fullstack-with-uwsgi - - neutron-ovs-rally-task - neutron-ovs-tempest-multinode-full - neutron-ovs-tempest-dvr-ha-multinode-full - neutron-ovn-tempest-ipv6-only - - neutron-ovn-rally-task: - voting: false gate: jobs: - neutron-functional-with-uwsgi diff --git a/zuul.d/rally.yaml b/zuul.d/rally.yaml deleted file mode 100644 index 6f9371c1c58..00000000000 --- a/zuul.d/rally.yaml +++ /dev/null @@ -1,172 +0,0 @@ -- job: - name: neutron-ovs-rally-task - parent: rally-task-neutron - timeout: 10800 - vars: - devstack_localrc: - USE_PYTHON3: true - OSPROFILER_COLLECTOR: redis - OSPROFILER_HMAC_KEYS: "neutron-hmac-key-used-in-zuul-ci" - Q_ML2_TENANT_NETWORK_TYPE: vxlan - Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch,linuxbridge - Q_AGENT: openvswitch - KEYSTONE_ADMIN_ENDPOINT: true - rally_task: rally-jobs/task-neutron.yaml - devstack_plugins: - osprofiler: https://opendev.org/openstack/osprofiler - rally-openstack: https://opendev.org/openstack/rally-openstack - neutron: https://opendev.org/openstack/neutron - devstack_services: - neutron-trunk: true - # Cinder services - c-api: false - c-bak: false - c-sch: false - c-vol: false - cinder: false - # Swift services - s-account: false - s-container: false - s-object: false - s-proxy: false - # OVN services - ovn-controller: false - ovn-northd: false - ovs-vswitchd: false - ovsdb-server: false - q-ovn-metadata-agent: false - # Neutron services - q-agt: true - q-dhcp: true - q-l3: true - q-meta: true - q-metering: true - q-svc: true - devstack_local_conf: - post-config: - $NEUTRON_CONF: - DEFAULT: - enable_code_profiling: True - required-projects: - - openstack/rally - - openstack/rally-openstack - - openstack/osprofiler - irrelevant-files: - - ^(test-|)requirements.txt$ - - ^releasenotes/.*$ - - ^doc/.*$ - - ^setup.cfg$ - - ^.*\.conf\.sample$ - - ^.*\.rst$ - - ^neutron/locale/.*$ - - ^neutron/tests/.*$ - - ^tools/.*$ - - ^tox.ini$ - - ^neutron/agent/ovn/.*$ - - ^neutron/agent/windows/.*$ - - ^neutron/plugins/ml2/drivers/linuxbridge/.*$ - - ^neutron/plugins/ml2/drivers/macvtap/.*$ - - ^neutron/plugins/ml2/drivers/mech_sriov/.*$ - - ^neutron/plugins/ml2/drivers/ovn/.*$ - - ^neutron/services/ovn_l3/.*$ - - ^neutron/services/logapi/drivers/ovn/.*$ - - ^neutron/services/portforwarding/drivers/ovn/.*$ - - ^neutron/services/qos/drivers/linuxbridge/.*$ - - ^neutron/services/qos/drivers/ovn/.*$ - - ^neutron/services/trunk/drivers/linuxbridge/.*$ - - ^neutron/services/trunk/drivers/ovn/.*$ - - ^neutron/cmd/ovn/.*$ - - ^neutron/common/ovn/.*$ - - ^zuul.d/(?!(project)).*\.yaml - -- job: - name: neutron-ovn-rally-task - parent: rally-task-at-devstack - required-projects: - - name: openstack/devstack - - name: openstack/rally - - name: openstack/rally-openstack - irrelevant-files: - - ^(test-|)requirements.txt$ - - ^releasenotes/.*$ - - ^doc/.*$ - - ^setup.cfg$ - - ^.*\.conf\.sample$ - - ^.*\.rst$ - - ^neutron/locale/.*$ - - ^neutron/tests/.*$ - - ^tools/.*$ - - ^tox.ini$ - - ^neutron/agent/dhcp/.*$ - - ^neutron/agent/l2/.*$ - - ^neutron/agent/l3/.*$ - - ^neutron/agent/metadata/.*$ - - ^neutron/agent/windows/.*$ - - ^neutron/agent/dhcp_agent.py - - ^neutron/agent/l3_agent.py - - ^neutron/agent/metadata_agent.py - - ^neutron/agent/resource_cache.py - - ^neutron/agent/rpc.py - - ^neutron/agent/securitygroup_rpc.py - - ^neutron/plugins/ml2/drivers/linuxbridge/.*$ - - ^neutron/plugins/ml2/drivers/openvswitch/.*$ - - ^neutron/plugins/ml2/drivers/macvtap/.*$ - - ^neutron/plugins/ml2/drivers/mech_sriov/.*$ - - ^neutron/services/qos/drivers/linuxbridge/.*$ - - ^neutron/services/qos/drivers/openvswitch/.*$ - - ^neutron/services/trunk/drivers/linuxbridge/.*$ - - ^neutron/services/trunk/drivers/openvswitch/.*$ - - ^neutron/scheduler/.*$ - - ^zuul.d/(?!(project)).*\.yaml - vars: - devstack_plugins: - neutron: https://opendev.org/openstack/neutron - rally-openstack: https://opendev.org/openstack/rally-openstack - zuul_copy_output: - '{{ devstack_base_dir }}/data/ovs': 'logs' - extensions_to_txt: - db: true - devstack_services: - ovn-northd: true - ovn-controller: true - ovs-vswitchd: true - ovsdb-server: true - q-ovn-metadata-agent: true - br-ex-tcpdump: true - br-int-flows: true - q-dhcp: false - q-l3: false - q-agt: false - q-meta: false - q-metering: false - q-dns: true - # Cinder services - c-api: false - c-bak: false - c-sch: false - c-vol: false - cinder: false - # Swift services - s-account: false - s-container: false - s-object: false - s-proxy: false - devstack_localrc: - Q_AGENT: ovn - ML2_L3_PLUGIN: ovn-router,trunk - Q_ML2_PLUGIN_MECHANISM_DRIVERS: ovn,logger - Q_ML2_TENANT_NETWORK_TYPE: geneve - USE_PYTHON3: true - PHYSICAL_NETWORK: public - Q_USE_PROVIDERNET_FOR_PUBLIC: true - ENABLE_CHASSIS_AS_GW: true - OVN_L3_CREATE_PUBLIC_NETWORK: true - KEYSTONE_ADMIN_ENDPOINT: true - devstack_local_conf: - post-config: - "${RALLY_CONF_DIR}/${RALLY_CONF_FILE}": - openstack: - neutron_bind_l2_agent_types: "OVN Controller Gateway agent" - rally_task: rally-jobs/task-neutron.yaml - timeout: 7800 -