[Core] Add support for default platform and rally self job
* Added default credentials for all deployments. * Added Dummy.openstack scenario that allows running openstack contexts with dummy scenario. * Removed openstack users context from samples and jobs where it was not required. Co-Authored-By: Anton Studenov <astudenov@mirantis.com> Change-Id: I851f2c71e4db25bef17e25c143275e75b16595bf
This commit is contained in:
parent
48d8db3ec2
commit
4c146445ac
@ -263,6 +263,81 @@
|
|||||||
failure_rate:
|
failure_rate:
|
||||||
max: 0
|
max: 0
|
||||||
|
|
||||||
|
Dummy.openstack:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
sleep: 0.01
|
||||||
|
runner:
|
||||||
|
type: "constant"
|
||||||
|
times: 1
|
||||||
|
concurrency: 1
|
||||||
|
context:
|
||||||
|
users:
|
||||||
|
tenants: 8
|
||||||
|
users_per_tenant: 4
|
||||||
|
sla:
|
||||||
|
failure_rate:
|
||||||
|
max: 0
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
sleep: 0.6
|
||||||
|
runner:
|
||||||
|
type: "constant"
|
||||||
|
concurrency: 2
|
||||||
|
times: 4
|
||||||
|
timeout: 1
|
||||||
|
context:
|
||||||
|
users:
|
||||||
|
tenants: 1
|
||||||
|
users_per_tenant: 1
|
||||||
|
sla:
|
||||||
|
failure_rate:
|
||||||
|
max: 0
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
sleep: 0.6
|
||||||
|
runner:
|
||||||
|
type: "rps"
|
||||||
|
rps: 2
|
||||||
|
times: 5
|
||||||
|
timeout: 1
|
||||||
|
context:
|
||||||
|
users:
|
||||||
|
tenants: 1
|
||||||
|
users_per_tenant: 1
|
||||||
|
sla:
|
||||||
|
failure_rate:
|
||||||
|
max: 0
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
sleep: 0.01
|
||||||
|
runner:
|
||||||
|
type: "constant"
|
||||||
|
times: 1
|
||||||
|
concurrency: 1
|
||||||
|
context:
|
||||||
|
quotas:
|
||||||
|
nova:
|
||||||
|
instances: 200
|
||||||
|
cores: 200
|
||||||
|
ram: -1
|
||||||
|
floating_ips: 200
|
||||||
|
fixed_ips: 200
|
||||||
|
metadata_items: -1
|
||||||
|
injected_files: -1
|
||||||
|
injected_file_content_bytes: -1
|
||||||
|
injected_file_path_bytes: -1
|
||||||
|
key_pairs: 500
|
||||||
|
security_groups: 400
|
||||||
|
security_group_rules: 600
|
||||||
|
cinder:
|
||||||
|
gigabytes: -1
|
||||||
|
snapshots: -1
|
||||||
|
volumes: -1
|
||||||
|
sla:
|
||||||
|
failure_rate:
|
||||||
|
max: 0
|
||||||
|
|
||||||
Dummy.dummy:
|
Dummy.dummy:
|
||||||
-
|
-
|
||||||
args:
|
args:
|
||||||
@ -361,80 +436,6 @@
|
|||||||
sla:
|
sla:
|
||||||
failure_rate:
|
failure_rate:
|
||||||
max: 0
|
max: 0
|
||||||
-
|
|
||||||
args:
|
|
||||||
sleep: 0.01
|
|
||||||
runner:
|
|
||||||
type: "constant"
|
|
||||||
times: 1
|
|
||||||
concurrency: 1
|
|
||||||
context:
|
|
||||||
users:
|
|
||||||
tenants: 8
|
|
||||||
users_per_tenant: 4
|
|
||||||
sla:
|
|
||||||
failure_rate:
|
|
||||||
max: 0
|
|
||||||
-
|
|
||||||
args:
|
|
||||||
sleep: 0.01
|
|
||||||
runner:
|
|
||||||
type: "constant"
|
|
||||||
times: 1
|
|
||||||
concurrency: 1
|
|
||||||
context:
|
|
||||||
quotas:
|
|
||||||
nova:
|
|
||||||
instances: 200
|
|
||||||
cores: 200
|
|
||||||
ram: -1
|
|
||||||
floating_ips: 200
|
|
||||||
fixed_ips: 200
|
|
||||||
metadata_items: -1
|
|
||||||
injected_files: -1
|
|
||||||
injected_file_content_bytes: -1
|
|
||||||
injected_file_path_bytes: -1
|
|
||||||
key_pairs: 500
|
|
||||||
security_groups: 400
|
|
||||||
security_group_rules: 600
|
|
||||||
cinder:
|
|
||||||
gigabytes: -1
|
|
||||||
snapshots: -1
|
|
||||||
volumes: -1
|
|
||||||
sla:
|
|
||||||
failure_rate:
|
|
||||||
max: 0
|
|
||||||
-
|
|
||||||
args:
|
|
||||||
sleep: 0.6
|
|
||||||
runner:
|
|
||||||
type: "rps"
|
|
||||||
rps: 2
|
|
||||||
times: 5
|
|
||||||
timeout: 1
|
|
||||||
context:
|
|
||||||
users:
|
|
||||||
tenants: 1
|
|
||||||
users_per_tenant: 1
|
|
||||||
sla:
|
|
||||||
failure_rate:
|
|
||||||
max: 0
|
|
||||||
-
|
|
||||||
args:
|
|
||||||
sleep: 0.6
|
|
||||||
runner:
|
|
||||||
type: "constant"
|
|
||||||
concurrency: 2
|
|
||||||
times: 4
|
|
||||||
timeout: 1
|
|
||||||
context:
|
|
||||||
users:
|
|
||||||
tenants: 1
|
|
||||||
users_per_tenant: 1
|
|
||||||
sla:
|
|
||||||
failure_rate:
|
|
||||||
max: 0
|
|
||||||
|
|
||||||
-
|
-
|
||||||
args:
|
args:
|
||||||
sleep: 0.75
|
sleep: 0.75
|
||||||
@ -679,10 +680,6 @@
|
|||||||
type: "constant"
|
type: "constant"
|
||||||
times: 20
|
times: 20
|
||||||
concurrency: 5
|
concurrency: 5
|
||||||
context:
|
|
||||||
users:
|
|
||||||
tenants: 1
|
|
||||||
users_per_tenant: 1
|
|
||||||
sla:
|
sla:
|
||||||
failure_rate:
|
failure_rate:
|
||||||
min: 25
|
min: 25
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
Dummy.dummy:
|
Dummy.openstack:
|
||||||
-
|
-
|
||||||
runner:
|
runner:
|
||||||
type: "constant"
|
type: "constant"
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
Dummy.dummy:
|
Dummy.openstack:
|
||||||
-
|
-
|
||||||
runner:
|
runner:
|
||||||
type: "constant"
|
type: "constant"
|
||||||
|
@ -277,6 +277,82 @@
|
|||||||
failure_rate:
|
failure_rate:
|
||||||
max: 0
|
max: 0
|
||||||
|
|
||||||
|
Dummy.openstack:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
sleep: 0.01
|
||||||
|
runner:
|
||||||
|
type: "constant"
|
||||||
|
times: 1
|
||||||
|
concurrency: 1
|
||||||
|
context:
|
||||||
|
users:
|
||||||
|
tenants: 8
|
||||||
|
users_per_tenant: 4
|
||||||
|
sla:
|
||||||
|
failure_rate:
|
||||||
|
max: 0
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
sleep: 0.6
|
||||||
|
runner:
|
||||||
|
type: "constant"
|
||||||
|
concurrency: 2
|
||||||
|
times: 4
|
||||||
|
timeout: 1
|
||||||
|
context:
|
||||||
|
users:
|
||||||
|
tenants: 1
|
||||||
|
users_per_tenant: 1
|
||||||
|
sla:
|
||||||
|
failure_rate:
|
||||||
|
max: 0
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
sleep: 0.6
|
||||||
|
runner:
|
||||||
|
type: "rps"
|
||||||
|
rps: 2
|
||||||
|
times: 5
|
||||||
|
timeout: 1
|
||||||
|
context:
|
||||||
|
users:
|
||||||
|
tenants: 1
|
||||||
|
users_per_tenant: 1
|
||||||
|
sla:
|
||||||
|
failure_rate:
|
||||||
|
max: 0
|
||||||
|
-
|
||||||
|
description: "Check 'quotas' context."
|
||||||
|
args:
|
||||||
|
sleep: 0.01
|
||||||
|
runner:
|
||||||
|
type: "constant"
|
||||||
|
times: 1
|
||||||
|
concurrency: 1
|
||||||
|
context:
|
||||||
|
quotas:
|
||||||
|
nova:
|
||||||
|
instances: 200
|
||||||
|
cores: 200
|
||||||
|
ram: -1
|
||||||
|
floating_ips: 200
|
||||||
|
fixed_ips: 200
|
||||||
|
metadata_items: -1
|
||||||
|
injected_files: -1
|
||||||
|
injected_file_content_bytes: -1
|
||||||
|
injected_file_path_bytes: -1
|
||||||
|
key_pairs: 500
|
||||||
|
security_groups: 400
|
||||||
|
security_group_rules: 600
|
||||||
|
cinder:
|
||||||
|
gigabytes: -1
|
||||||
|
snapshots: -1
|
||||||
|
volumes: -1
|
||||||
|
sla:
|
||||||
|
failure_rate:
|
||||||
|
max: 0
|
||||||
|
|
||||||
Dummy.dummy:
|
Dummy.dummy:
|
||||||
-
|
-
|
||||||
args:
|
args:
|
||||||
@ -381,80 +457,6 @@
|
|||||||
sla:
|
sla:
|
||||||
failure_rate:
|
failure_rate:
|
||||||
max: 0
|
max: 0
|
||||||
-
|
|
||||||
args:
|
|
||||||
sleep: 0.01
|
|
||||||
runner:
|
|
||||||
type: "constant"
|
|
||||||
times: 1
|
|
||||||
concurrency: 1
|
|
||||||
context:
|
|
||||||
users:
|
|
||||||
tenants: 8
|
|
||||||
users_per_tenant: 4
|
|
||||||
sla:
|
|
||||||
failure_rate:
|
|
||||||
max: 0
|
|
||||||
-
|
|
||||||
description: "Check 'quotas' context."
|
|
||||||
args:
|
|
||||||
sleep: 0.01
|
|
||||||
runner:
|
|
||||||
type: "constant"
|
|
||||||
times: 1
|
|
||||||
concurrency: 1
|
|
||||||
context:
|
|
||||||
quotas:
|
|
||||||
nova:
|
|
||||||
instances: 200
|
|
||||||
cores: 200
|
|
||||||
ram: -1
|
|
||||||
floating_ips: 200
|
|
||||||
fixed_ips: 200
|
|
||||||
metadata_items: -1
|
|
||||||
injected_files: -1
|
|
||||||
injected_file_content_bytes: -1
|
|
||||||
injected_file_path_bytes: -1
|
|
||||||
key_pairs: 500
|
|
||||||
security_groups: 400
|
|
||||||
security_group_rules: 600
|
|
||||||
cinder:
|
|
||||||
gigabytes: -1
|
|
||||||
snapshots: -1
|
|
||||||
volumes: -1
|
|
||||||
sla:
|
|
||||||
failure_rate:
|
|
||||||
max: 0
|
|
||||||
-
|
|
||||||
args:
|
|
||||||
sleep: 0.6
|
|
||||||
runner:
|
|
||||||
type: "rps"
|
|
||||||
rps: 2
|
|
||||||
times: 5
|
|
||||||
timeout: 1
|
|
||||||
context:
|
|
||||||
users:
|
|
||||||
tenants: 1
|
|
||||||
users_per_tenant: 1
|
|
||||||
sla:
|
|
||||||
failure_rate:
|
|
||||||
max: 0
|
|
||||||
-
|
|
||||||
args:
|
|
||||||
sleep: 0.6
|
|
||||||
runner:
|
|
||||||
type: "constant"
|
|
||||||
concurrency: 2
|
|
||||||
times: 4
|
|
||||||
timeout: 1
|
|
||||||
context:
|
|
||||||
users:
|
|
||||||
tenants: 1
|
|
||||||
users_per_tenant: 1
|
|
||||||
sla:
|
|
||||||
failure_rate:
|
|
||||||
max: 0
|
|
||||||
|
|
||||||
-
|
-
|
||||||
args:
|
args:
|
||||||
@ -711,10 +713,6 @@
|
|||||||
type: "constant"
|
type: "constant"
|
||||||
times: 20
|
times: 20
|
||||||
concurrency: 5
|
concurrency: 5
|
||||||
context:
|
|
||||||
users:
|
|
||||||
tenants: 1
|
|
||||||
users_per_tenant: 1
|
|
||||||
sla:
|
sla:
|
||||||
failure_rate:
|
failure_rate:
|
||||||
min: 25
|
min: 25
|
||||||
|
64
rally-jobs/self-rally.yaml
Normal file
64
rally-jobs/self-rally.yaml
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
---
|
||||||
|
RallyProfile.generate_names_in_atomic:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
number_of_names: 100
|
||||||
|
runner:
|
||||||
|
type: "constant"
|
||||||
|
times: 1000
|
||||||
|
concurrency: 10
|
||||||
|
sla:
|
||||||
|
max_avg_duration_per_atomic:
|
||||||
|
generate_100_names: 0.015
|
||||||
|
failure_rate:
|
||||||
|
max: 0
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
number_of_names: 1000
|
||||||
|
runner:
|
||||||
|
type: "constant"
|
||||||
|
times: 500
|
||||||
|
concurrency: 10
|
||||||
|
sla:
|
||||||
|
max_avg_duration_per_atomic:
|
||||||
|
generate_1000_names: 0.1
|
||||||
|
failure_rate:
|
||||||
|
max: 0
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
number_of_names: 10000
|
||||||
|
runner:
|
||||||
|
type: "constant"
|
||||||
|
times: 200
|
||||||
|
concurrency: 10
|
||||||
|
sla:
|
||||||
|
max_avg_duration_per_atomic:
|
||||||
|
generate_10000_names: 1
|
||||||
|
failure_rate:
|
||||||
|
max: 0
|
||||||
|
|
||||||
|
RallyProfile.calculate_atomic:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
number_of_atomics: 100
|
||||||
|
runner:
|
||||||
|
type: "constant"
|
||||||
|
times: 300
|
||||||
|
concurrency: 10
|
||||||
|
sla:
|
||||||
|
max_avg_duration_per_atomic:
|
||||||
|
calculate_100_atomics: 0.04
|
||||||
|
failure_rate:
|
||||||
|
max: 0
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
number_of_atomics: 500
|
||||||
|
runner:
|
||||||
|
type: "constant"
|
||||||
|
times: 100
|
||||||
|
concurrency: 10
|
||||||
|
sla:
|
||||||
|
max_avg_duration_per_atomic:
|
||||||
|
calculate_500_atomics: 0.5
|
||||||
|
failure_rate:
|
||||||
|
max: 0
|
22
rally/plugins/openstack/scenarios/dummy.py
Normal file
22
rally/plugins/openstack/scenarios/dummy.py
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
# Copyright 2017: Mirantis Inc.
|
||||||
|
# All Rights Reserved.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
# not use this file except in compliance with the License. You may obtain
|
||||||
|
# a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
# License for the specific language governing permissions and limitations
|
||||||
|
# under the License.
|
||||||
|
|
||||||
|
from rally.plugins.common.scenarios.dummy import dummy
|
||||||
|
from rally.task import scenario
|
||||||
|
|
||||||
|
|
||||||
|
@scenario.configure(name="Dummy.openstack", namespace="openstack")
|
||||||
|
class DummyOpenStack(dummy.Dummy):
|
||||||
|
"""Clone of Dummy.dummy for OpenStack"""
|
@ -17,8 +17,8 @@
|
|||||||
import os
|
import os
|
||||||
|
|
||||||
from rally import consts
|
from rally import consts
|
||||||
|
from rally.plugins.openstack import scenario
|
||||||
from rally.plugins.openstack.scenarios.murano import utils
|
from rally.plugins.openstack.scenarios.murano import utils
|
||||||
from rally.task import scenario
|
|
||||||
from rally.task import validation
|
from rally.task import validation
|
||||||
|
|
||||||
|
|
||||||
|
@ -8,12 +8,6 @@
|
|||||||
"type": "constant_for_duration",
|
"type": "constant_for_duration",
|
||||||
"concurrency": 5,
|
"concurrency": 5,
|
||||||
"duration": 30
|
"duration": 30
|
||||||
},
|
|
||||||
"context": {
|
|
||||||
"users": {
|
|
||||||
"tenants": 1,
|
|
||||||
"users_per_tenant": 1
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -7,7 +7,3 @@
|
|||||||
type: "constant_for_duration"
|
type: "constant_for_duration"
|
||||||
concurrency: 5
|
concurrency: 5
|
||||||
duration: 30
|
duration: 30
|
||||||
context:
|
|
||||||
users:
|
|
||||||
tenants: 1
|
|
||||||
users_per_tenant: 1
|
|
||||||
|
@ -9,12 +9,6 @@
|
|||||||
"times": 20,
|
"times": 20,
|
||||||
"concurrency": 5,
|
"concurrency": 5,
|
||||||
"timeout": 5
|
"timeout": 5
|
||||||
},
|
|
||||||
"context": {
|
|
||||||
"users": {
|
|
||||||
"tenants": 1,
|
|
||||||
"users_per_tenant": 1
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -8,7 +8,3 @@
|
|||||||
times: 20
|
times: 20
|
||||||
concurrency: 5
|
concurrency: 5
|
||||||
timeout: 5
|
timeout: 5
|
||||||
context:
|
|
||||||
users:
|
|
||||||
tenants: 1
|
|
||||||
users_per_tenant: 1
|
|
||||||
|
@ -9,12 +9,6 @@
|
|||||||
"times": 20,
|
"times": 20,
|
||||||
"rps": 3,
|
"rps": 3,
|
||||||
"timeout": 6
|
"timeout": 6
|
||||||
},
|
|
||||||
"context": {
|
|
||||||
"users": {
|
|
||||||
"tenants": 1,
|
|
||||||
"users_per_tenant": 1
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -8,7 +8,3 @@
|
|||||||
times: 20
|
times: 20
|
||||||
rps: 3
|
rps: 3
|
||||||
timeout: 6
|
timeout: 6
|
||||||
context:
|
|
||||||
users:
|
|
||||||
tenants: 1
|
|
||||||
users_per_tenant: 1
|
|
||||||
|
@ -7,12 +7,6 @@
|
|||||||
"runner": {
|
"runner": {
|
||||||
"type": "serial",
|
"type": "serial",
|
||||||
"times": 20
|
"times": 20
|
||||||
},
|
|
||||||
"context": {
|
|
||||||
"users": {
|
|
||||||
"tenants": 1,
|
|
||||||
"users_per_tenant": 1
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -6,7 +6,3 @@
|
|||||||
runner:
|
runner:
|
||||||
type: "serial"
|
type: "serial"
|
||||||
times: 20
|
times: 20
|
||||||
context:
|
|
||||||
users:
|
|
||||||
tenants: 1
|
|
||||||
users_per_tenant: 1
|
|
||||||
|
@ -8,12 +8,6 @@
|
|||||||
"type": "constant",
|
"type": "constant",
|
||||||
"times": 1000,
|
"times": 1000,
|
||||||
"concurrency": 1
|
"concurrency": 1
|
||||||
},
|
|
||||||
"context": {
|
|
||||||
"users": {
|
|
||||||
"tenants": 1,
|
|
||||||
"users_per_tenant": 1
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -7,7 +7,3 @@
|
|||||||
type: "constant"
|
type: "constant"
|
||||||
times: 1000
|
times: 1000
|
||||||
concurrency: 1
|
concurrency: 1
|
||||||
context:
|
|
||||||
users:
|
|
||||||
tenants: 1
|
|
||||||
users_per_tenant: 1
|
|
||||||
|
@ -8,12 +8,6 @@
|
|||||||
"type": "constant",
|
"type": "constant",
|
||||||
"times": 20,
|
"times": 20,
|
||||||
"concurrency": 5
|
"concurrency": 5
|
||||||
},
|
|
||||||
"context": {
|
|
||||||
"users": {
|
|
||||||
"tenants": 1,
|
|
||||||
"users_per_tenant": 1
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -7,7 +7,3 @@
|
|||||||
type: "constant"
|
type: "constant"
|
||||||
times: 20
|
times: 20
|
||||||
concurrency: 5
|
concurrency: 5
|
||||||
context:
|
|
||||||
users:
|
|
||||||
tenants: 1
|
|
||||||
users_per_tenant: 1
|
|
||||||
|
@ -11,12 +11,6 @@
|
|||||||
"type": "constant",
|
"type": "constant",
|
||||||
"times": 20,
|
"times": 20,
|
||||||
"concurrency": 5
|
"concurrency": 5
|
||||||
},
|
|
||||||
"context": {
|
|
||||||
"users": {
|
|
||||||
"tenants": 1,
|
|
||||||
"users_per_tenant": 1
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -10,7 +10,3 @@
|
|||||||
type: "constant"
|
type: "constant"
|
||||||
times: 20
|
times: 20
|
||||||
concurrency: 5
|
concurrency: 5
|
||||||
context:
|
|
||||||
users:
|
|
||||||
tenants: 1
|
|
||||||
users_per_tenant: 1
|
|
||||||
|
11
samples/tasks/scenarios/dummy/dummy-openstack.json
Normal file
11
samples/tasks/scenarios/dummy/dummy-openstack.json
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"Dummy.openstack": [
|
||||||
|
{
|
||||||
|
"runner": {
|
||||||
|
"type": "constant",
|
||||||
|
"times": 1,
|
||||||
|
"concurrency": 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
7
samples/tasks/scenarios/dummy/dummy-openstack.yaml
Normal file
7
samples/tasks/scenarios/dummy/dummy-openstack.yaml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
---
|
||||||
|
Dummy.openstack:
|
||||||
|
-
|
||||||
|
runner:
|
||||||
|
type: "constant"
|
||||||
|
times: 1
|
||||||
|
concurrency: 1
|
@ -8,12 +8,6 @@
|
|||||||
"type": "constant",
|
"type": "constant",
|
||||||
"times": 50,
|
"times": 50,
|
||||||
"concurrency": 5
|
"concurrency": 5
|
||||||
},
|
|
||||||
"context": {
|
|
||||||
"users": {
|
|
||||||
"tenants": 1,
|
|
||||||
"users_per_tenant": 1
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -7,7 +7,3 @@
|
|||||||
type: "constant"
|
type: "constant"
|
||||||
times: 50
|
times: 50
|
||||||
concurrency: 5
|
concurrency: 5
|
||||||
context:
|
|
||||||
users:
|
|
||||||
tenants: 1
|
|
||||||
users_per_tenant: 1
|
|
||||||
|
@ -10,12 +10,6 @@
|
|||||||
"type": "constant",
|
"type": "constant",
|
||||||
"times": 5,
|
"times": 5,
|
||||||
"concurrency": 5
|
"concurrency": 5
|
||||||
},
|
|
||||||
"context": {
|
|
||||||
"users": {
|
|
||||||
"tenants": 1,
|
|
||||||
"users_per_tenant": 1
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -9,7 +9,3 @@
|
|||||||
type: "constant"
|
type: "constant"
|
||||||
times: 5
|
times: 5
|
||||||
concurrency: 5
|
concurrency: 5
|
||||||
context:
|
|
||||||
users:
|
|
||||||
tenants: 1
|
|
||||||
users_per_tenant: 1
|
|
||||||
|
@ -14,12 +14,6 @@
|
|||||||
"max_avg_duration_per_atomic": {
|
"max_avg_duration_per_atomic": {
|
||||||
"action_0": 1.0
|
"action_0": 1.0
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"context": {
|
|
||||||
"users": {
|
|
||||||
"tenants": 1,
|
|
||||||
"users_per_tenant": 1
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -11,7 +11,3 @@
|
|||||||
sla:
|
sla:
|
||||||
max_avg_duration_per_atomic:
|
max_avg_duration_per_atomic:
|
||||||
action_0: 1.0
|
action_0: 1.0
|
||||||
context:
|
|
||||||
users:
|
|
||||||
tenants: 1
|
|
||||||
users_per_tenant: 1
|
|
||||||
|
@ -8,12 +8,6 @@
|
|||||||
"type": "constant",
|
"type": "constant",
|
||||||
"times": 20,
|
"times": 20,
|
||||||
"concurrency": 5
|
"concurrency": 5
|
||||||
},
|
|
||||||
"context": {
|
|
||||||
"users": {
|
|
||||||
"tenants": 1,
|
|
||||||
"users_per_tenant": 1
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -7,7 +7,3 @@
|
|||||||
type: "constant"
|
type: "constant"
|
||||||
times: 20
|
times: 20
|
||||||
concurrency: 5
|
concurrency: 5
|
||||||
context:
|
|
||||||
users:
|
|
||||||
tenants: 1
|
|
||||||
users_per_tenant: 1
|
|
||||||
|
47
tests/ci/rally_self_job.sh
Executable file
47
tests/ci/rally_self_job.sh
Executable file
@ -0,0 +1,47 @@
|
|||||||
|
#!/bin/bash -ex
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
# not use this file except in compliance with the License. You may obtain
|
||||||
|
# a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
# License for the specific language governing permissions and limitations
|
||||||
|
# under the License.
|
||||||
|
|
||||||
|
TASK_FILE=$1
|
||||||
|
PLUGIN_PATHS=rally-jobs/plugins
|
||||||
|
if [ -n "$ZUUL_PROJECT" ]; then
|
||||||
|
HTML_REPORT=testr_results.html
|
||||||
|
else
|
||||||
|
HTML_REPORT=rally_self_results.html
|
||||||
|
fi
|
||||||
|
RND=$(head /dev/urandom | tr -dc a-z0-9 | head -c 5)
|
||||||
|
TMP_RALLY_CONF="/tmp/self-rally-$RND.conf"
|
||||||
|
TMP_RALLY_DB="/tmp/self-rally-$RND.sqlite"
|
||||||
|
TMP_RALLY_DEPLOYMENT="/tmp/self-rally-dep-$RND.json"
|
||||||
|
DBCONNSTRING="sqlite:///$TMP_RALLY_DB"
|
||||||
|
RALLY="rally --config-file $TMP_RALLY_CONF"
|
||||||
|
|
||||||
|
# Create temp db
|
||||||
|
cp etc/rally/rally.conf.sample $TMP_RALLY_CONF
|
||||||
|
sed -i.bak "s|#connection =.*|connection = \"$DBCONNSTRING\"|" $TMP_RALLY_CONF
|
||||||
|
rally-manage --config-file $TMP_RALLY_CONF db create
|
||||||
|
|
||||||
|
# Create self deployment
|
||||||
|
echo '{"type": "ExistingCloud", "creds": {}}' > $TMP_RALLY_DEPLOYMENT
|
||||||
|
$RALLY -d deployment create --file=$TMP_RALLY_DEPLOYMENT --name=self
|
||||||
|
|
||||||
|
# Run task
|
||||||
|
$RALLY -d --plugin-paths=$PLUGIN_PATHS task start $TASK_FILE
|
||||||
|
$RALLY task report --html-static --out $HTML_REPORT
|
||||||
|
|
||||||
|
if [ -n "$ZUUL_PROJECT" ]; then
|
||||||
|
gzip -9 -f $HTML_REPORT
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check sla (this may fail the job)
|
||||||
|
$RALLY task sla-check
|
@ -65,12 +65,6 @@ class TaskTestCase(unittest.TestCase):
|
|||||||
"times": 10,
|
"times": 10,
|
||||||
"concurrency": 2
|
"concurrency": 2
|
||||||
},
|
},
|
||||||
"context": {
|
|
||||||
"users": {
|
|
||||||
"tenants": 3,
|
|
||||||
"users_per_tenant": 2
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}]
|
}]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -89,12 +83,6 @@ class TaskTestCase(unittest.TestCase):
|
|||||||
"times": 10,
|
"times": 10,
|
||||||
"concurrency": 2
|
"concurrency": 2
|
||||||
},
|
},
|
||||||
"context": {
|
|
||||||
"users": {
|
|
||||||
"tenants": 3,
|
|
||||||
"users_per_tenant": 2
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}]
|
}]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -1846,9 +1846,13 @@ class FakeDeployment(dict):
|
|||||||
namespace = kwargs.pop("namespace", "openstack")
|
namespace = kwargs.pop("namespace", "openstack")
|
||||||
kwargs["credentials"] = {
|
kwargs["credentials"] = {
|
||||||
namespace: [{"admin": kwargs.pop("admin", None),
|
namespace: [{"admin": kwargs.pop("admin", None),
|
||||||
"users": kwargs.pop("users", [])}]}
|
"users": kwargs.pop("users", [])}],
|
||||||
|
"default": [{"admin": None, "users": []}]}
|
||||||
dict.__init__(self, **kwargs)
|
dict.__init__(self, **kwargs)
|
||||||
|
|
||||||
|
def get_platforms(self):
|
||||||
|
return [platform for platform in self["credentials"]]
|
||||||
|
|
||||||
def get_credentials_for(self, namespace):
|
def get_credentials_for(self, namespace):
|
||||||
return self["credentials"][namespace][0]
|
return self["credentials"][namespace][0]
|
||||||
|
|
||||||
|
3
tox.ini
3
tox.ini
@ -93,5 +93,4 @@ deps = bindep
|
|||||||
commands = bindep
|
commands = bindep
|
||||||
|
|
||||||
[testenv:self]
|
[testenv:self]
|
||||||
# TODO(astudenov): Add real script here that will run rally self test
|
commands = {toxinidir}/tests/ci/rally_self_job.sh {toxinidir}/rally-jobs/self-rally.yaml
|
||||||
commands = python -c 'print "SUCCESS"'
|
|
||||||
|
Loading…
Reference in New Issue
Block a user