We are glad to announce the release of: rally-openstack 2.0.0: Rally plugins for OpenStack platform The source is available from: https://opendev.org/openstack/rally-openstack Download the package from: https://pypi.org/project/rally-openstack For more details, please see below. Changes in rally-openstack 1.7.0..2.0.0 --------------------------------------- 495ab60e Propose rally-openstack 2.0.0 release c208491a Fix pushing image to dockerhub on releases 9b5b1003 Update requirements 9ebef8aa [ci] Turn on validation of plugins docstings bdc4e929 Get rid of several test dependencies 32030426 Cleanup py27 support 60ca31c3 [docker] Ensure that we have all required system packages installed 107703dd Fix Keystone.fetch_token method e199f7bc test designate resolving from VM 8189dd4d [ci] Temporary copy-paste docker jobs content from rally 8de6f3d2 Remove usage of get_credentials_for method 465552f6 Extend network and existing_network contexts to save subnets f1340679 Add regular pushes to dockerhub 710d3bfd Restore designate CI 2db230fb [ci] Move osresources script under ci roles 2cdb455d [ci] Fix existing users job d43dfdf2 [ci] Clean ignored warnings as some libs pushed fixes d7d3a1f3 [ci] Modify conditions to run jobs e18ca5d3 [ci] Get back jobs 12494941 [ci] Revert a part of osresources changes cfa3de25 [ci] Turn treat warning as errors at tox 63639762 [py3] Fix BarbicanSecrets.create_symmetric_and_delete c4f0526d [ci] improve osresources script fdbbdf1c add ManilaShares.create_share_and_access_from_vm to CHANGELOG.rst d782da39 [ci] Restore osresources comparison script 4436258d Remove deprecated stuff. Part 1 93ee1c07 add manila+VM test 117544f6 Update hacking for Python3 771c922a Clarify python trove classifiers d2f4e971 Restruct the project e43b0728 Introduce a base class for all OpenStack context 83eae7f0 Run Rally 3.0.0 9ca642e4 Update Docker image b883351e Update requirements c1b8fb2d Use rally-tox-cover job from openstack/rally 088468c3 Rename rally-tox-cover job e3dd2878 Get rid of deprecated ec2 client ad982b11 Stop supporting python < 3.6 5776e015 Update magnum/utils.py to match Kubernetes changes e273a24e Temporary hide warnings 06a0ff39 Updated relevant methods with namespace field for mistral 56800351 changed MarkupSafe version in upper-constraints to 1.1.1 3e487073 Allowing None values in the config parser 0ff4590b Add missing argument to _discover_or_create_flavor 53940421 Do not run py35 job at CI Diffstat (except docs and test files) ------------------------------------- .dockerignore | 4 +- .zuul.d/docker-jobs.yaml | 61 + .zuul.d/rally-docker-check.yaml | 6 - .zuul.d/rally-task-designate.yaml | 17 + .zuul.d/zuul.yaml | 88 +- CHANGELOG.rst | 97 +- DOCKER_README.md | 60 + Dockerfile | 44 +- bindep.txt | 4 +- etc/rally.bash_completion | 108 -- rally-jobs/basic-with-existing-users.yaml | 21 +- rally-jobs/designate.yaml | 27 + rally-jobs/keystone-glance-swift.yaml | 11 + rally_openstack/__init__.py | 20 +- rally_openstack/_compat.py | 199 +++ rally_openstack/cfg/ec2.py | 37 - rally_openstack/cfg/opts.py | 59 - rally_openstack/cfg/tempest.py | 83 -- rally_openstack/cleanup/manager.py | 290 ---- rally_openstack/cleanup/resources.py | 1179 ---------------- rally_openstack/{cfg => common}/__init__.py | 0 .../{cleanup => common/cfg}/__init__.py | 0 rally_openstack/{ => common}/cfg/cinder.py | 0 rally_openstack/{ => common}/cfg/cleanup.py | 0 rally_openstack/{ => common}/cfg/glance.py | 0 rally_openstack/{ => common}/cfg/heat.py | 0 rally_openstack/{ => common}/cfg/ironic.py | 0 rally_openstack/{ => common}/cfg/keystone_roles.py | 0 rally_openstack/{ => common}/cfg/keystone_users.py | 0 rally_openstack/{ => common}/cfg/magnum.py | 0 rally_openstack/{ => common}/cfg/manila.py | 0 rally_openstack/{ => common}/cfg/mistral.py | 0 rally_openstack/{ => common}/cfg/monasca.py | 0 rally_openstack/{ => common}/cfg/murano.py | 0 rally_openstack/{ => common}/cfg/neutron.py | 0 rally_openstack/{ => common}/cfg/nova.py | 0 rally_openstack/{ => common}/cfg/octavia.py | 0 rally_openstack/common/cfg/opts.py | 58 + rally_openstack/{ => common}/cfg/osclients.py | 0 rally_openstack/{ => common}/cfg/profiler.py | 0 rally_openstack/{ => common}/cfg/sahara.py | 0 rally_openstack/{ => common}/cfg/senlin.py | 0 rally_openstack/common/cfg/tempest.py | 88 ++ rally_openstack/{ => common}/cfg/vm.py | 0 rally_openstack/{ => common}/cfg/watcher.py | 0 rally_openstack/{ => common}/consts.py | 0 rally_openstack/common/credential.py | 81 ++ rally_openstack/{ => common}/exceptions.py | 0 rally_openstack/common/osclients.py | 924 +++++++++++++ rally_openstack/{ => common}/service.py | 0 .../{contexts => common/services}/__init__.py | 0 .../services/gnocchi}/__init__.py | 0 .../{ => common}/services/gnocchi/metric.py | 0 .../cinder => common/services/grafana}/__init__.py | 0 .../{ => common}/services/grafana/grafana.py | 0 .../cleanup => common/services/heat}/__init__.py | 0 rally_openstack/{ => common}/services/heat/main.py | 0 .../services/identity}/__init__.py | 0 .../{ => common}/services/identity/identity.py | 0 .../common/services/identity/keystone_common.py | 193 +++ .../common/services/identity/keystone_v2.py | 317 +++++ .../common/services/identity/keystone_v3.py | 341 +++++ .../services/image}/__init__.py | 0 .../common/services/image/glance_common.py | 93 ++ rally_openstack/common/services/image/glance_v1.py | 211 +++ rally_openstack/common/services/image/glance_v2.py | 243 ++++ .../{ => common}/services/image/image.py | 0 .../services/key_manager}/__init__.py | 0 .../{ => common}/services/key_manager/barbican.py | 0 .../services/loadbalancer}/__init__.py | 0 .../{ => common}/services/loadbalancer/octavia.py | 0 .../heat => common/services/storage}/__init__.py | 0 .../{ => common}/services/storage/block.py | 0 .../common/services/storage/cinder_common.py | 728 ++++++++++ .../common/services/storage/cinder_v1.py | 329 +++++ .../common/services/storage/cinder_v2.py | 386 ++++++ .../common/services/storage/cinder_v3.py | 391 ++++++ rally_openstack/common/validators.py | 647 +++++++++ .../keystone => common/wrappers}/__init__.py | 0 rally_openstack/common/wrappers/network.py | 452 +++++++ rally_openstack/contexts/api_versions.py | 275 ---- rally_openstack/contexts/ceilometer/samples.py | 179 --- rally_openstack/contexts/cinder/volume_types.py | 60 - rally_openstack/contexts/cinder/volumes.py | 81 -- rally_openstack/contexts/cleanup/admin.py | 40 - rally_openstack/contexts/cleanup/base.py | 54 - rally_openstack/contexts/cleanup/user.py | 40 - rally_openstack/contexts/dataplane/heat.py | 155 --- rally_openstack/contexts/designate/zones.py | 61 - rally_openstack/contexts/ec2/servers.py | 97 -- rally_openstack/contexts/glance/images.py | 208 --- rally_openstack/contexts/heat/stacks.py | 89 -- rally_openstack/contexts/keystone/roles.py | 124 -- rally_openstack/contexts/keystone/users.py | 344 ----- rally_openstack/contexts/magnum/ca_certs.py | 135 -- .../contexts/magnum/cluster_templates.py | 127 -- rally_openstack/contexts/magnum/clusters.py | 83 -- .../contexts/manila/manila_security_services.py | 90 -- .../contexts/manila/manila_share_networks.py | 202 --- rally_openstack/contexts/manila/manila_shares.py | 101 -- rally_openstack/contexts/monasca/metrics.py | 104 -- .../contexts/murano/murano_environments.py | 60 - rally_openstack/contexts/murano/murano_packages.py | 77 -- rally_openstack/contexts/network/allow_ssh.py | 148 -- .../contexts/network/existing_network.py | 48 - .../contexts/network/networking_agents.py | 45 - rally_openstack/contexts/network/networks.py | 135 -- rally_openstack/contexts/network/routers.py | 115 -- rally_openstack/contexts/neutron/lbaas.py | 95 -- rally_openstack/contexts/nova/flavors.py | 134 -- rally_openstack/contexts/nova/keypairs.py | 59 - rally_openstack/contexts/nova/servers.py | 141 -- rally_openstack/contexts/quotas/quotas.py | 108 -- rally_openstack/contexts/sahara/sahara_cluster.py | 185 --- rally_openstack/contexts/sahara/sahara_image.py | 129 -- .../contexts/sahara/sahara_input_data_sources.py | 128 -- .../contexts/sahara/sahara_job_binaries.py | 146 -- .../contexts/sahara/sahara_output_data_sources.py | 106 -- rally_openstack/contexts/senlin/profiles.py | 68 - rally_openstack/contexts/swift/objects.py | 100 -- rally_openstack/contexts/swift/utils.py | 152 --- rally_openstack/contexts/vm/custom_image.py | 232 ---- .../contexts/vm/image_command_customizer.py | 110 -- .../contexts/watcher/audit_templates.py | 109 -- rally_openstack/credential.py | 82 -- rally_openstack/embedcharts/osprofilerchart.py | 162 --- .../{contexts/magnum => environment}/__init__.py | 0 .../manila => environment/platforms}/__init__.py | 0 rally_openstack/environment/platforms/existing.py | 383 ++++++ rally_openstack/hook/fault_injection.py | 78 -- rally_openstack/osclients.py | 956 ------------- rally_openstack/platforms/existing.py | 394 ------ rally_openstack/scenario.py | 142 -- .../scenarios/authenticate/authenticate.py | 190 --- rally_openstack/scenarios/barbican/containers.py | 72 - rally_openstack/scenarios/barbican/orders.py | 60 - rally_openstack/scenarios/barbican/secrets.py | 128 -- rally_openstack/scenarios/barbican/utils.py | 32 - rally_openstack/scenarios/ceilometer/alarms.py | 197 --- rally_openstack/scenarios/ceilometer/events.py | 98 -- rally_openstack/scenarios/ceilometer/meters.py | 72 - rally_openstack/scenarios/ceilometer/queries.py | 113 -- rally_openstack/scenarios/ceilometer/resources.py | 108 -- rally_openstack/scenarios/ceilometer/samples.py | 72 - rally_openstack/scenarios/ceilometer/stats.py | 77 -- rally_openstack/scenarios/ceilometer/traits.py | 75 -- rally_openstack/scenarios/ceilometer/utils.py | 467 ------- rally_openstack/scenarios/cinder/qos_specs.py | 134 -- rally_openstack/scenarios/cinder/utils.py | 43 - rally_openstack/scenarios/cinder/volume_backups.py | 62 - rally_openstack/scenarios/cinder/volume_types.py | 409 ------ rally_openstack/scenarios/cinder/volumes.py | 881 ------------ rally_openstack/scenarios/designate/basic.py | 379 ------ rally_openstack/scenarios/designate/utils.py | 210 --- rally_openstack/scenarios/dummy.py | 23 - rally_openstack/scenarios/ec2/servers.py | 60 - rally_openstack/scenarios/ec2/utils.py | 69 - rally_openstack/scenarios/elasticsearch/logging.py | 111 -- rally_openstack/scenarios/glance/images.py | 378 ------ .../scenarios/gnocchi/archive_policy.py | 77 -- .../scenarios/gnocchi/archive_policy_rule.py | 72 - rally_openstack/scenarios/gnocchi/capabilities.py | 32 - rally_openstack/scenarios/gnocchi/metric.py | 73 - rally_openstack/scenarios/gnocchi/resource.py | 53 - rally_openstack/scenarios/gnocchi/resource_type.py | 63 - rally_openstack/scenarios/gnocchi/status.py | 36 - rally_openstack/scenarios/gnocchi/utils.py | 31 - rally_openstack/scenarios/grafana/metrics.py | 147 -- rally_openstack/scenarios/heat/stacks.py | 395 ------ rally_openstack/scenarios/heat/utils.py | 332 ----- rally_openstack/scenarios/ironic/nodes.py | 87 -- rally_openstack/scenarios/ironic/utils.py | 112 -- rally_openstack/scenarios/keystone/basic.py | 435 ------ .../scenarios/magnum/cluster_templates.py | 47 - rally_openstack/scenarios/magnum/clusters.py | 79 -- rally_openstack/scenarios/magnum/k8s_pods.py | 73 - rally_openstack/scenarios/magnum/utils.py | 279 ---- rally_openstack/scenarios/manila/shares.py | 432 ------ rally_openstack/scenarios/manila/utils.py | 402 ------ rally_openstack/scenarios/mistral/executions.py | 107 -- rally_openstack/scenarios/mistral/utils.py | 100 -- rally_openstack/scenarios/mistral/workbooks.py | 67 - rally_openstack/scenarios/monasca/metrics.py | 37 - rally_openstack/scenarios/monasca/utils.py | 54 - rally_openstack/scenarios/murano/environments.py | 77 -- rally_openstack/scenarios/murano/packages.py | 159 --- rally_openstack/scenarios/murano/utils.py | 261 ---- rally_openstack/scenarios/neutron/bgpvpn.py | 347 ----- .../scenarios/neutron/loadbalancer_v1.py | 288 ---- .../scenarios/neutron/loadbalancer_v2.py | 50 - rally_openstack/scenarios/neutron/network.py | 735 ---------- .../scenarios/neutron/security_groups.py | 244 ---- rally_openstack/scenarios/neutron/trunk.py | 197 --- rally_openstack/scenarios/neutron/utils.py | 932 ------------- rally_openstack/scenarios/nova/agents.py | 39 - rally_openstack/scenarios/nova/aggregates.py | 200 --- .../scenarios/nova/availability_zones.py | 40 - rally_openstack/scenarios/nova/flavors.py | 240 ---- rally_openstack/scenarios/nova/hypervisors.py | 124 -- rally_openstack/scenarios/nova/keypairs.py | 127 -- rally_openstack/scenarios/nova/server_groups.py | 131 -- rally_openstack/scenarios/nova/servers.py | 1176 ---------------- rally_openstack/scenarios/nova/services.py | 39 - rally_openstack/scenarios/nova/utils.py | 1295 ------------------ rally_openstack/scenarios/octavia/loadbalancers.py | 251 ---- rally_openstack/scenarios/octavia/pools.py | 163 --- rally_openstack/scenarios/octavia/utils.py | 32 - rally_openstack/scenarios/quotas/quotas.py | 143 -- rally_openstack/scenarios/quotas/utils.py | 90 -- rally_openstack/scenarios/sahara/clusters.py | 233 ---- rally_openstack/scenarios/sahara/jobs.py | 143 -- .../scenarios/sahara/node_group_templates.py | 116 -- rally_openstack/scenarios/sahara/utils.py | 589 -------- rally_openstack/scenarios/senlin/clusters.py | 50 - rally_openstack/scenarios/senlin/utils.py | 146 -- rally_openstack/scenarios/swift/objects.py | 155 --- rally_openstack/scenarios/swift/utils.py | 117 -- rally_openstack/scenarios/vm/utils.py | 234 ---- rally_openstack/scenarios/vm/vmtasks.py | 536 -------- rally_openstack/scenarios/watcher/basic.py | 99 -- rally_openstack/scenarios/watcher/utils.py | 74 - rally_openstack/scenarios/zaqar/basic.py | 68 - rally_openstack/scenarios/zaqar/utils.py | 63 - .../services/identity/keystone_common.py | 193 --- rally_openstack/services/identity/keystone_v2.py | 317 ----- rally_openstack/services/identity/keystone_v3.py | 341 ----- rally_openstack/services/image/glance_common.py | 93 -- rally_openstack/services/image/glance_v1.py | 211 --- rally_openstack/services/image/glance_v2.py | 243 ---- rally_openstack/services/storage/cinder_common.py | 728 ---------- rally_openstack/services/storage/cinder_v1.py | 329 ----- rally_openstack/services/storage/cinder_v2.py | 386 ------ rally_openstack/services/storage/cinder_v3.py | 391 ------ .../{contexts/monasca => task}/__init__.py | 0 .../{contexts/murano => task/cleanup}/__init__.py | 0 rally_openstack/{ => task}/cleanup/base.py | 0 rally_openstack/task/cleanup/manager.py | 282 ++++ rally_openstack/task/cleanup/resources.py | 1133 ++++++++++++++++ rally_openstack/task/context.py | 37 + .../network => task/contexts}/__init__.py | 0 rally_openstack/task/contexts/api_versions.py | 275 ++++ .../contexts/ceilometer}/__init__.py | 0 .../task/contexts/ceilometer/samples.py | 176 +++ .../nova => task/contexts/cinder}/__init__.py | 0 .../task/contexts/cinder/volume_types.py | 60 + rally_openstack/task/contexts/cinder/volumes.py | 78 ++ .../quotas => task/contexts/cleanup}/__init__.py | 0 rally_openstack/task/contexts/cleanup/admin.py | 40 + rally_openstack/task/contexts/cleanup/base.py | 54 + rally_openstack/task/contexts/cleanup/user.py | 40 + .../sahara => task/contexts/dataplane}/__init__.py | 0 rally_openstack/task/contexts/dataplane/heat.py | 154 +++ .../senlin => task/contexts/designate}/__init__.py | 0 rally_openstack/task/contexts/designate/zones.py | 81 ++ .../swift => task/contexts/glance}/__init__.py | 0 rally_openstack/task/contexts/glance/images.py | 207 +++ .../vm => task/contexts/heat}/__init__.py | 0 rally_openstack/task/contexts/heat/stacks.py | 87 ++ .../watcher => task/contexts/keystone}/__init__.py | 0 rally_openstack/task/contexts/keystone/roles.py | 124 ++ rally_openstack/task/contexts/keystone/users.py | 342 +++++ .../contexts/magnum}/__init__.py | 0 rally_openstack/task/contexts/magnum/ca_certs.py | 134 ++ .../task/contexts/magnum/cluster_templates.py | 125 ++ rally_openstack/task/contexts/magnum/clusters.py | 81 ++ .../{hook => task/contexts/manila}/__init__.py | 0 .../{ => task}/contexts/manila/consts.py | 0 .../contexts/manila/manila_security_services.py | 89 ++ .../task/contexts/manila/manila_share_networks.py | 201 +++ .../task/contexts/manila/manila_shares.py | 99 ++ .../contexts/monasca}/__init__.py | 0 rally_openstack/task/contexts/monasca/metrics.py | 101 ++ .../contexts/murano}/__init__.py | 0 .../task/contexts/murano/murano_environments.py | 58 + .../task/contexts/murano/murano_packages.py | 75 ++ .../contexts/network}/__init__.py | 0 rally_openstack/task/contexts/network/allow_ssh.py | 146 ++ .../task/contexts/network/existing_network.py | 48 + .../task/contexts/network/networking_agents.py | 45 + rally_openstack/task/contexts/network/networks.py | 140 ++ rally_openstack/task/contexts/network/routers.py | 113 ++ .../barbican => task/contexts/neutron}/__init__.py | 0 rally_openstack/task/contexts/neutron/lbaas.py | 92 ++ .../ceilometer => task/contexts/nova}/__init__.py | 0 rally_openstack/task/contexts/nova/flavors.py | 134 ++ rally_openstack/task/contexts/nova/keypairs.py | 59 + rally_openstack/task/contexts/nova/servers.py | 139 ++ .../cinder => task/contexts/quotas}/__init__.py | 0 .../{ => task}/contexts/quotas/cinder_quotas.py | 0 .../{ => task}/contexts/quotas/designate_quotas.py | 0 .../{ => task}/contexts/quotas/manila_quotas.py | 0 .../{ => task}/contexts/quotas/neutron_quotas.py | 0 .../{ => task}/contexts/quotas/nova_quotas.py | 0 rally_openstack/task/contexts/quotas/quotas.py | 108 ++ .../designate => task/contexts/sahara}/__init__.py | 0 .../task/contexts/sahara/sahara_cluster.py | 183 +++ .../task/contexts/sahara/sahara_image.py | 126 ++ .../contexts/sahara/sahara_input_data_sources.py | 127 ++ .../task/contexts/sahara/sahara_job_binaries.py | 144 ++ .../contexts/sahara/sahara_output_data_sources.py | 104 ++ .../ec2 => task/contexts/senlin}/__init__.py | 0 rally_openstack/task/contexts/senlin/profiles.py | 65 + .../contexts/swift}/__init__.py | 0 rally_openstack/task/contexts/swift/objects.py | 99 ++ rally_openstack/task/contexts/swift/utils.py | 146 ++ .../glance => task/contexts/vm}/__init__.py | 0 rally_openstack/task/contexts/vm/custom_image.py | 229 ++++ .../task/contexts/vm/image_command_customizer.py | 110 ++ .../gnocchi => task/contexts/watcher}/__init__.py | 0 .../task/contexts/watcher/audit_templates.py | 107 ++ .../{scenarios/grafana => task/hooks}/__init__.py | 0 rally_openstack/task/hooks/fault_injection.py | 78 ++ rally_openstack/task/scenario.py | 142 ++ .../{scenarios/heat => task/scenarios}/__init__.py | 0 .../scenarios/authenticate}/__init__.py | 0 .../task/scenarios/authenticate/authenticate.py | 190 +++ .../scenarios/barbican}/__init__.py | 0 .../task/scenarios/barbican/containers.py | 72 + rally_openstack/task/scenarios/barbican/orders.py | 60 + rally_openstack/task/scenarios/barbican/secrets.py | 130 ++ rally_openstack/task/scenarios/barbican/utils.py | 32 + .../scenarios/ceilometer}/__init__.py | 0 .../task/scenarios/ceilometer/alarms.py | 197 +++ .../task/scenarios/ceilometer/events.py | 98 ++ .../task/scenarios/ceilometer/meters.py | 72 + .../task/scenarios/ceilometer/queries.py | 113 ++ .../task/scenarios/ceilometer/resources.py | 108 ++ .../task/scenarios/ceilometer/samples.py | 72 + rally_openstack/task/scenarios/ceilometer/stats.py | 77 ++ .../task/scenarios/ceilometer/traits.py | 75 ++ rally_openstack/task/scenarios/ceilometer/utils.py | 466 +++++++ .../manila => task/scenarios/cinder}/__init__.py | 0 rally_openstack/task/scenarios/cinder/qos_specs.py | 134 ++ rally_openstack/task/scenarios/cinder/utils.py | 43 + .../task/scenarios/cinder/volume_backups.py | 62 + .../task/scenarios/cinder/volume_types.py | 409 ++++++ rally_openstack/task/scenarios/cinder/volumes.py | 881 ++++++++++++ .../scenarios/designate}/__init__.py | 0 rally_openstack/task/scenarios/designate/basic.py | 379 ++++++ rally_openstack/task/scenarios/designate/utils.py | 214 +++ rally_openstack/task/scenarios/dummy.py | 23 + .../scenarios/elasticsearch}/__init__.py | 0 .../task/scenarios/elasticsearch/logging.py | 111 ++ .../murano => task/scenarios/glance}/__init__.py | 0 rally_openstack/task/scenarios/glance/images.py | 371 +++++ .../neutron => task/scenarios/gnocchi}/__init__.py | 0 .../task/scenarios/gnocchi/archive_policy.py | 77 ++ .../task/scenarios/gnocchi/archive_policy_rule.py | 72 + .../task/scenarios/gnocchi/capabilities.py | 32 + rally_openstack/task/scenarios/gnocchi/metric.py | 73 + rally_openstack/task/scenarios/gnocchi/resource.py | 53 + .../task/scenarios/gnocchi/resource_type.py | 63 + rally_openstack/task/scenarios/gnocchi/status.py | 36 + rally_openstack/task/scenarios/gnocchi/utils.py | 31 + .../nova => task/scenarios/grafana}/__init__.py | 0 rally_openstack/task/scenarios/grafana/metrics.py | 147 ++ .../octavia => task/scenarios/heat}/__init__.py | 0 rally_openstack/task/scenarios/heat/stacks.py | 395 ++++++ rally_openstack/task/scenarios/heat/utils.py | 332 +++++ .../quotas => task/scenarios/ironic}/__init__.py | 0 rally_openstack/task/scenarios/ironic/nodes.py | 87 ++ rally_openstack/task/scenarios/ironic/utils.py | 112 ++ .../sahara => task/scenarios/keystone}/__init__.py | 0 rally_openstack/task/scenarios/keystone/basic.py | 435 ++++++ .../senlin => task/scenarios/magnum}/__init__.py | 0 .../task/scenarios/magnum/cluster_templates.py | 47 + rally_openstack/task/scenarios/magnum/clusters.py | 79 ++ rally_openstack/task/scenarios/magnum/k8s_pods.py | 74 + rally_openstack/task/scenarios/magnum/utils.py | 279 ++++ .../swift => task/scenarios/manila}/__init__.py | 0 rally_openstack/task/scenarios/manila/shares.py | 545 ++++++++ rally_openstack/task/scenarios/manila/utils.py | 410 ++++++ .../vm => task/scenarios/mistral}/__init__.py | 0 .../task/scenarios/mistral/executions.py | 106 ++ rally_openstack/task/scenarios/mistral/utils.py | 139 ++ .../task/scenarios/mistral/workbooks.py | 67 + .../watcher => task/scenarios/monasca}/__init__.py | 0 rally_openstack/task/scenarios/monasca/metrics.py | 37 + rally_openstack/task/scenarios/monasca/utils.py | 54 + .../zaqar => task/scenarios/murano}/__init__.py | 0 .../task/scenarios/murano/environments.py | 77 ++ rally_openstack/task/scenarios/murano/packages.py | 159 +++ rally_openstack/task/scenarios/murano/utils.py | 291 ++++ .../scenarios/neutron}/__init__.py | 0 rally_openstack/task/scenarios/neutron/bgpvpn.py | 347 +++++ .../task/scenarios/neutron/loadbalancer_v1.py | 288 ++++ .../task/scenarios/neutron/loadbalancer_v2.py | 50 + rally_openstack/task/scenarios/neutron/network.py | 736 ++++++++++ .../task/scenarios/neutron/security_groups.py | 244 ++++ rally_openstack/task/scenarios/neutron/trunk.py | 197 +++ rally_openstack/task/scenarios/neutron/utils.py | 932 +++++++++++++ .../gnocchi => task/scenarios/nova}/__init__.py | 0 rally_openstack/task/scenarios/nova/agents.py | 39 + rally_openstack/task/scenarios/nova/aggregates.py | 200 +++ .../task/scenarios/nova/availability_zones.py | 40 + rally_openstack/task/scenarios/nova/flavors.py | 240 ++++ rally_openstack/task/scenarios/nova/hypervisors.py | 124 ++ rally_openstack/task/scenarios/nova/keypairs.py | 119 ++ .../task/scenarios/nova/server_groups.py | 131 ++ rally_openstack/task/scenarios/nova/servers.py | 1176 ++++++++++++++++ rally_openstack/task/scenarios/nova/services.py | 39 + rally_openstack/task/scenarios/nova/utils.py | 1295 ++++++++++++++++++ .../grafana => task/scenarios/octavia}/__init__.py | 0 .../task/scenarios/octavia/loadbalancers.py | 251 ++++ rally_openstack/task/scenarios/octavia/pools.py | 163 +++ rally_openstack/task/scenarios/octavia/utils.py | 32 + .../heat => task/scenarios/quotas}/__init__.py | 0 rally_openstack/task/scenarios/quotas/quotas.py | 143 ++ rally_openstack/task/scenarios/quotas/utils.py | 90 ++ .../identity => task/scenarios/sahara}/__init__.py | 0 rally_openstack/task/scenarios/sahara/clusters.py | 233 ++++ .../{ => task}/scenarios/sahara/consts.py | 0 rally_openstack/task/scenarios/sahara/jobs.py | 143 ++ .../task/scenarios/sahara/node_group_templates.py | 116 ++ rally_openstack/task/scenarios/sahara/utils.py | 589 ++++++++ .../image => task/scenarios/senlin}/__init__.py | 0 rally_openstack/task/scenarios/senlin/clusters.py | 50 + rally_openstack/task/scenarios/senlin/utils.py | 146 ++ .../scenarios/swift}/__init__.py | 0 rally_openstack/task/scenarios/swift/objects.py | 155 +++ rally_openstack/task/scenarios/swift/utils.py | 117 ++ .../loadbalancer => task/scenarios/vm}/__init__.py | 0 rally_openstack/task/scenarios/vm/utils.py | 235 ++++ rally_openstack/task/scenarios/vm/vmtasks.py | 650 +++++++++ .../scenarios/vm/workloads}/__init__.py | 0 .../scenarios/vm/workloads}/siege.py | 0 .../scenarios/watcher}/__init__.py | 0 rally_openstack/task/scenarios/watcher/basic.py | 99 ++ rally_openstack/task/scenarios/watcher/utils.py | 74 + .../{wrappers => task/scenarios/zaqar}/__init__.py | 0 rally_openstack/task/scenarios/zaqar/basic.py | 68 + rally_openstack/task/scenarios/zaqar/utils.py | 63 + rally_openstack/task/types.py | 260 ++++ .../task/ui}/__init__.py | 0 .../task/ui/charts}/__init__.py | 0 rally_openstack/task/ui/charts/osprofilerchart.py | 143 ++ rally_openstack/types.py | 310 ----- rally_openstack/validators.py | 678 ---------- rally_openstack/verification/tempest/config.py | 23 +- rally_openstack/verification/tempest/context.py | 24 +- rally_openstack/verification/tempest/manager.py | 7 +- rally_openstack/wrappers/network.py | 425 ------ requirements.txt | 58 +- samples/tasks/contexts/ec2-servers.json | 29 - samples/tasks/contexts/ec2-servers.yaml | 19 - samples/tasks/scenarios/ec2/boot.json | 31 - samples/tasks/scenarios/ec2/boot.yaml | 20 - samples/tasks/scenarios/ec2/list-servers.json | 31 - samples/tasks/scenarios/ec2/list-servers.yaml | 20 - .../manila/create-share-and-access-from-vm.json | 44 + .../manila/create-share-and-access-from-vm.yaml | 28 + .../vm/check-designate-dns-resolving.json | 40 + .../vm/check-designate-dns-resolving.yaml | 28 + samples/tasks/scenarios/workload/wordpress.json | 2 +- samples/tasks/scenarios/workload/wordpress.yaml | 2 +- setup.cfg | 21 +- setup.py | 9 - test-requirements.txt | 18 +- .../ci/playbooks/docker-build-check-and-push.yaml | 5 + .../ci/playbooks/fetch-html-and-json-reports.yaml | 42 + .../roles/check-os-resources/tasks/main.yaml | 24 - .../roles/docker-build-image/defaults/main.yaml | 6 + .../roles/docker-build-image/tasks/main.yaml | 42 + .../roles/docker-push-image/defaults/main.yaml | 4 + .../roles/docker-push-image/tasks/main.yaml | 42 + .../playbooks/roles/list-os-resources}/__init__.py | 0 .../roles/list-os-resources/defaults/main.yaml | 3 + .../roles/list-os-resources/library}/__init__.py | 0 .../roles/list-os-resources/library/osresources.py | 669 +++++++++ .../tasks/list_and_compare_resources.yaml | 22 + .../list-os-resources/tasks/list_resources.yaml | 12 + .../roles/list-os-resources/tasks/main.yaml | 5 + .../roles/prepare-for-rally-task}/__init__.py | 0 .../prepare-for-rally-task/defaults/main.yaml | 12 +- .../prepare-for-rally-task/library}/__init__.py | 0 .../library/make_env_spec_with_existing_users.py | 143 ++ .../roles/prepare-for-rally-task/tasks/main.yaml | 56 +- .../tasks/prepare-env-with-existing-users.yaml | 18 + .../prepare-for-rally-task/templates/env.yaml.j2 | 19 - .../tasks/main.yaml | 14 - .../{contexts/designate => common}/__init__.py | 0 .../{contexts/ec2 => common/services}/__init__.py | 0 .../services/barbican}/__init__.py | 0 .../unit/common/services/barbican/test_secrets.py | 155 +++ .../heat => common/services/gnocchi}/__init__.py | 0 .../keystone => common/services/heat}/__init__.py | 0 .../services/identity}/__init__.py | 0 .../unit/common/services/identity/test_identity.py | 258 ++++ .../services/identity/test_keystone_common.py | 282 ++++ .../common/services/identity/test_keystone_v2.py | 477 +++++++ .../common/services/identity/test_keystone_v3.py | 580 ++++++++ .../manila => common/services/image}/__init__.py | 0 .../common/services/image/test_glance_common.py | 128 ++ .../services/loadbalancer}/__init__.py | 0 .../common/services/loadbalancer/test_octavia.py | 462 +++++++ .../murano => common/services/storage}/__init__.py | 0 .../common/services/storage/test_cinder_common.py | 701 ++++++++++ .../unit/common/services/storage/test_cinder_v1.py | 367 +++++ .../unit/common/services/storage/test_cinder_v2.py | 424 ++++++ .../unit/common/services/storage/test_cinder_v3.py | 429 ++++++ .../network => common/wrappers}/__init__.py | 0 .../unit/contexts/magnum/test_cluster_templates.py | 108 -- .../manila/test_manila_security_services.py | 170 --- .../contexts/manila/test_manila_share_networks.py | 401 ------ .../contexts/murano/test_murano_environments.py | 91 -- .../unit/contexts/neutron/test_existing_network.py | 82 -- .../contexts/neutron/test_networking_agents.py | 55 - .../unit/contexts/quotas/test_designate_quotas.py | 53 - .../sahara/test_sahara_input_data_sources.py | 173 --- .../contexts/sahara/test_sahara_job_binaries.py | 144 -- .../sahara/test_sahara_output_data_sources.py | 154 --- .../contexts/vm/test_image_command_customizer.py | 94 -- .../unit/contexts/watcher/test_audit_templates.py | 92 -- .../{contexts/neutron => environment}/__init__.py | 0 .../nova => environment/platforms}/__init__.py | 0 .../scenarios/authenticate/test_authenticate.py | 104 -- .../unit/scenarios/gnocchi/test_archive_policy.py | 74 - .../scenarios/gnocchi/test_archive_policy_rule.py | 69 - .../scenarios/loadbalancer/test_loadbalancers.py | 124 -- .../scenarios/magnum/test_cluster_templates.py | 35 - .../unit/scenarios/neutron/test_loadbalancer_v1.py | 303 ----- .../unit/scenarios/neutron/test_loadbalancer_v2.py | 59 - .../unit/scenarios/neutron/test_security_groups.py | 374 ----- .../unit/scenarios/nova/test_availability_zones.py | 28 - .../scenarios/sahara/test_node_group_templates.py | 81 -- .../unit/services/identity/test_keystone_common.py | 280 ---- .../{contexts/sahara => task/cleanup}/__init__.py | 0 .../{contexts/senlin => task/contexts}/__init__.py | 0 .../swift => task/contexts/ceilometer}/__init__.py | 0 .../unit/task/contexts/ceilometer/test_samples.py | 177 +++ .../vm => task/contexts/cinder}/__init__.py | 0 .../unit/task/contexts/cinder/test_volume_types.py | 61 + .../watcher => task/contexts/cleanup}/__init__.py | 0 .../{hook => task/contexts/dataplane}/__init__.py | 0 .../contexts/designate}/__init__.py | 0 .../contexts/glance}/__init__.py | 0 .../contexts/heat}/__init__.py | 0 .../contexts/keystone}/__init__.py | 0 .../contexts/magnum}/__init__.py | 0 .../task/contexts/magnum/test_cluster_templates.py | 108 ++ .../cinder => task/contexts/manila}/__init__.py | 0 .../manila/test_manila_security_services.py | 170 +++ .../contexts/manila/test_manila_share_networks.py | 400 ++++++ .../task/contexts/manila/test_manila_shares.py | 205 +++ .../contexts/monasca}/__init__.py | 0 .../ec2 => task/contexts/murano}/__init__.py | 0 .../contexts/murano/test_murano_environments.py | 91 ++ .../task/contexts/murano/test_murano_packages.py | 118 ++ .../glance => task/contexts/network}/__init__.py | 0 .../task/contexts/network/test_existing_network.py | 99 ++ .../contexts/network/test_networking_agents.py | 55 + .../gnocchi => task/contexts/neutron}/__init__.py | 0 .../heat => task/contexts/nova}/__init__.py | 0 .../ironic => task/contexts/quotas}/__init__.py | 0 .../task/contexts/quotas/test_cinder_quotas.py | 58 + .../task/contexts/quotas/test_designate_quotas.py | 53 + .../task/contexts/quotas/test_manila_quotas.py | 61 + .../task/contexts/quotas/test_neutron_quotas.py | 58 + .../unit/task/contexts/quotas/test_nova_quotas.py | 65 + .../keystone => task/contexts/sahara}/__init__.py | 0 .../task/contexts/sahara/test_sahara_cluster.py | 148 ++ .../unit/task/contexts/sahara/test_sahara_image.py | 182 +++ .../sahara/test_sahara_input_data_sources.py | 173 +++ .../contexts/sahara/test_sahara_job_binaries.py | 144 ++ .../sahara/test_sahara_output_data_sources.py | 154 +++ .../contexts/senlin}/__init__.py | 0 .../magnum => task/contexts/swift}/__init__.py | 0 .../manila => task/contexts/vm}/__init__.py | 0 .../contexts/vm/test_image_command_customizer.py | 95 ++ .../mistral => task/contexts/watcher}/__init__.py | 0 .../task/contexts/watcher/test_audit_templates.py | 92 ++ .../{scenarios/monasca => task/hooks}/__init__.py | 0 .../murano => task/scenarios}/__init__.py | 0 .../scenarios/authenticate}/__init__.py | 0 .../scenarios/authenticate/test_authenticate.py | 104 ++ .../nova => task/scenarios/barbican}/__init__.py | 0 .../task/scenarios/barbican/test_containers.py | 100 ++ .../scenarios/ceilometer}/__init__.py | 0 .../unit/task/scenarios/ceilometer/test_alarms.py | 102 ++ .../unit/task/scenarios/ceilometer/test_events.py | 103 ++ .../unit/task/scenarios/ceilometer/test_meters.py | 75 ++ .../unit/task/scenarios/ceilometer/test_queries.py | 102 ++ .../task/scenarios/ceilometer/test_resources.py | 107 ++ .../unit/task/scenarios/ceilometer/test_samples.py | 72 + .../unit/task/scenarios/ceilometer/test_traits.py | 69 + .../sahara => task/scenarios/cinder}/__init__.py | 0 .../task/scenarios/cinder/test_volume_backups.py | 58 + .../task/scenarios/cinder/test_volume_types.py | 310 +++++ .../scenarios/designate}/__init__.py | 0 .../swift => task/scenarios/glance}/__init__.py | 0 .../vm => task/scenarios/gnocchi}/__init__.py | 0 .../task/scenarios/gnocchi/test_archive_policy.py | 74 + .../scenarios/gnocchi/test_archive_policy_rule.py | 69 + .../task/scenarios/gnocchi/test_capabilities.py | 44 + .../task/scenarios/gnocchi/test_resource_type.py | 71 + .../watcher => task/scenarios/heat}/__init__.py | 0 .../zaqar => task/scenarios/ironic}/__init__.py | 0 .../scenarios/keystone}/__init__.py | 0 .../scenarios/loadbalancer}/__init__.py | 0 .../scenarios/loadbalancer/test_loadbalancers.py | 124 ++ .../unit/task/scenarios/loadbalancer/test_pools.py | 153 +++ .../unit/task/scenarios/loadbalancer/test_utils.py | 47 + .../gnocchi => task/scenarios/magnum}/__init__.py | 0 .../scenarios/magnum/test_cluster_templates.py | 36 + .../heat => task/scenarios/manila}/__init__.py | 0 .../scenarios/mistral}/__init__.py | 0 .../unit/task/scenarios/mistral/test_executions.py | 192 +++ .../unit/task/scenarios/mistral/test_workbooks.py | 55 + .../image => task/scenarios/monasca}/__init__.py | 0 .../scenarios/murano}/__init__.py | 0 .../task/scenarios/murano/test_environments.py | 126 ++ .../storage => task/scenarios/neutron}/__init__.py | 0 .../task/scenarios/neutron/test_loadbalancer_v1.py | 304 +++++ .../task/scenarios/neutron/test_loadbalancer_v2.py | 60 + .../task/scenarios/neutron/test_security_groups.py | 375 ++++++ .../{workload => task/scenarios/nova}/__init__.py | 0 .../task/scenarios/nova/test_availability_zones.py | 28 + .../unit/task/scenarios/nova/test_server_groups.py | 165 +++ .../scenarios/quotas}/__init__.py | 0 .../scenarios/sahara/test_node_group_templates.py | 81 ++ .../unit/task/scenarios/vm/workloads/test_siege.py | 85 ++ tox.ini | 74 +- upper-constraints.txt | 234 ++-- 903 files changed, 69377 insertions(+), 68595 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 4031f7b7..14467754 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +0,0 @@ -# The order of packages is significant, because pip processes them in the order @@ -5 +4 @@ -requests>=2.14.2 # Apache License, Version 2.0 +requests!=2.20.0 # Apache License, Version 2.0 @@ -7 +6 @@ requests>=2.14.2 # Apache License, Version -rally>=0.11.0 # Apache License, Version 2.0 +rally>=3.1.0 # Apache License, Version 2.0 @@ -10,4 +9,3 @@ rally>=0.11.0 # Apache License, Version -boto>=2.32.1 # MIT -gnocchiclient>=3.3.1 # Apache Software License -keystoneauth1>=3.3.0 # Apache Software License -kubernetes>1.0.0 # Apache License Version 2.0 +gnocchiclient # Apache Software License +keystoneauth1 # Apache Software License +kubernetes # Apache License Version 2.0 @@ -15,23 +13,23 @@ os-faults>=0.2.0 # Apache Software License -osprofiler>=1.4.0 # Apache Software License -python-barbicanclient>=4.5.2 # Apache Software License -python-ceilometerclient>=2.5.0 # Apache Software License -python-cinderclient>=3.3.0 # Apache Software License -python-designateclient>=2.7.0 # Apache License, Version 2.0 -python-heatclient>=1.10.0 # Apache Software License -python-glanceclient>=2.8.0 # Apache License, Version 2.0 -python-ironicclient>=2.2.0 # Apache Software License -python-keystoneclient>=3.8.0 # Apache Software License -python-magnumclient>=2.1.0 # Apache Software License -python-manilaclient>=1.16.0 # Apache Software License -python-mistralclient>=3.1.0,!=3.2.0 # Apache Software License -python-muranoclient>=0.8.2 # Apache License, Version 2.0 -python-monascaclient>=1.7.0 # Apache Software License -python-neutronclient>=6.3.0 # Apache Software License -python-novaclient>=9.1.0 # Apache License, Version 2.0 -python-octaviaclient>=1.4.0 # Apache License, Version 2.0 -python-saharaclient>=1.4.0 # Apache License, Version 2.0 -python-senlinclient>=1.1.0 # Apache Software License -python-swiftclient>=3.2.0 # Apache Software License -python-troveclient>=2.2.0 # Apache Software License -python-watcherclient>=1.1.0 # Apache Software License -python-zaqarclient>=1.0.0 # Apache Software License +osprofiler # Apache Software License +python-barbicanclient # Apache Software License +python-ceilometerclient # Apache Software License +python-cinderclient!=4.0.0 # Apache Software License +python-designateclient # Apache License, Version 2.0 +python-heatclient # Apache Software License +python-glanceclient # Apache License, Version 2.0 +python-ironicclient!=2.5.2,!=2.7.1,!=3.0.0 # Apache Software License +python-keystoneclient!=2.1.0 # Apache Software License +python-magnumclient # Apache Software License +python-manilaclient # Apache Software License +python-mistralclient!=3.2.0 # Apache Software License +python-muranoclient # Apache License, Version 2.0 +python-monascaclient # Apache Software License +python-neutronclient # Apache Software License +python-novaclient # Apache License, Version 2.0 +python-octaviaclient # Apache Software License +python-saharaclient # Apache License, Version 2.0 +python-senlinclient # Apache Software License +python-swiftclient # Apache Software License +python-troveclient # Apache Software License +python-watcherclient # Apache Software License +python-zaqarclient # Apache Software License diff --git a/test-requirements.txt b/test-requirements.txt index 3e068100..2d5c2f14 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -5 +5 @@ -hacking>=0.12.0,!=0.13.0 # Apache Software License +hacking>=3.0 # Apache Software License @@ -7 +7 @@ hacking>=0.12.0,!=0.13.0 # Apache Software License -pytest>=2.7 # MIT +pytest # MIT @@ -11 +11 @@ pytest-cov>=2.2.1 # MIT -pytest-html>=1.10.0 # Mozilla Public License 2.0 (MPL 2.0) +pytest-html # Mozilla Public License 2.0 (MPL 2.0) @@ -16,4 +16,2 @@ coverage!=4.4 # Apache License, Version -ddt # MIT -mock # UNKNOWN -python-dateutil # Dual License -testtools # UNKNOWN +ddt!=1.4.0 # MIT +testtools # MIT @@ -21,3 +19,3 @@ testtools # UNKNOWN -sphinx!=1.6.6,!=1.6.7 # BSD -oslosphinx # Apache Software License -oslotest # Apache Software License +# docs +docutils # public domain, Python, 2-Clause BSD, GPL 3 (see COPYING.txt) +Pygments # BSD
participants (1)
-
no-reply@openstack.org