Merge "Benchmark undercloud"
This commit is contained in:
commit
03a603816a
@ -18,6 +18,12 @@ tripleo: true
|
|||||||
home_dir: "/home/{{browbeat_user}}"
|
home_dir: "/home/{{browbeat_user}}"
|
||||||
browbeat_path: "{{home_dir}}/browbeat"
|
browbeat_path: "{{home_dir}}/browbeat"
|
||||||
|
|
||||||
|
# Creates rally deployment Undercloud
|
||||||
|
rally_undercloud_enabled: true
|
||||||
|
|
||||||
|
# The Undercloud RC file
|
||||||
|
stackrc: "{{home_dir}}/stackrc"
|
||||||
|
|
||||||
# The Overcloud RC file
|
# The Overcloud RC file
|
||||||
overcloudrc: "{{home_dir}}/overcloudrc"
|
overcloudrc: "{{home_dir}}/overcloudrc"
|
||||||
|
|
||||||
|
@ -39,14 +39,45 @@
|
|||||||
- name: Setup rally database
|
- name: Setup rally database
|
||||||
shell: . {{ rally_venv }}/bin/activate; rally db recreate
|
shell: . {{ rally_venv }}/bin/activate; rally db recreate
|
||||||
|
|
||||||
- name: Setup rally deployment
|
- block:
|
||||||
|
- name: copy of stackrc
|
||||||
|
copy:
|
||||||
|
src: "{{ stackrc }}"
|
||||||
|
dest: "{{home_dir}}/undercloudrc"
|
||||||
|
|
||||||
|
- name: Get the OS_AUTH_URL value in stackrc
|
||||||
|
shell: cat undercloudrc | grep OS_AUTH_URL=
|
||||||
|
register: os_auth_url
|
||||||
|
|
||||||
|
- name: Add v3 to OS_AUTH_URL in stackrc
|
||||||
|
replace:
|
||||||
|
path: "{{home_dir}}/undercloudrc"
|
||||||
|
regexp: "{{ os_auth_url.stdout }}"
|
||||||
|
replace: '{{ os_auth_url.stdout }}/v3'
|
||||||
|
|
||||||
|
- name: Setup rally deployment for undercloud
|
||||||
|
shell: . {{ rally_venv }}/bin/activate; . "{{home_dir}}/undercloudrc"; rally deployment create --fromenv --name undercloud
|
||||||
|
|
||||||
|
- name: Check Rally deployment for undercloud
|
||||||
|
shell: . {{ rally_venv }}/bin/activate; . "{{home_dir}}/undercloudrc"; rally deployment check
|
||||||
|
register: rally_deployment_check_undercloud
|
||||||
|
|
||||||
|
- name: Fail if Rally deployment cannot be verfied on undercloud
|
||||||
|
fail:
|
||||||
|
msg: "Failed to verify that your deployment is ready to benchmark"
|
||||||
|
when: rally_deployment_check_undercloud.rc != 0
|
||||||
|
|
||||||
|
when: rally_undercloud_enabled
|
||||||
|
|
||||||
|
- name: Setup rally deployment for overcloud
|
||||||
shell: . {{ rally_venv }}/bin/activate; . {{ overcloudrc }}; rally deployment create --fromenv --name overcloud
|
shell: . {{ rally_venv }}/bin/activate; . {{ overcloudrc }}; rally deployment create --fromenv --name overcloud
|
||||||
|
|
||||||
- name: Check Rally deployment
|
- name: Check Rally deployment for overcloud
|
||||||
shell: . {{ rally_venv }}/bin/activate; . {{ overcloudrc }}; rally deployment check
|
shell: . {{ rally_venv }}/bin/activate; . {{ overcloudrc }}; rally deployment check
|
||||||
register: rally_deployment_check
|
register: rally_deployment_check_overcloud
|
||||||
|
|
||||||
- name: Fail if Rally deployment cannot be verfied
|
- name: Fail if Rally deployment cannot be verfied for overcloud
|
||||||
fail:
|
fail:
|
||||||
msg: "Failed to verify that your deployment is ready to benchmark"
|
msg: "Failed to verify that your deployment is ready to benchmark"
|
||||||
when: rally_deployment_check.rc != 0
|
when: rally_deployment_check_overcloud.rc != 0
|
||||||
|
|
||||||
|
@ -51,6 +51,7 @@ workloads:
|
|||||||
- name: authenticate
|
- name: authenticate
|
||||||
enabled: true
|
enabled: true
|
||||||
type: rally
|
type: rally
|
||||||
|
rally_deployment: overcloud
|
||||||
concurrency:
|
concurrency:
|
||||||
- 64
|
- 64
|
||||||
- 128
|
- 128
|
||||||
@ -83,6 +84,7 @@ workloads:
|
|||||||
- name: cinder
|
- name: cinder
|
||||||
enabled: true
|
enabled: true
|
||||||
type: rally
|
type: rally
|
||||||
|
rally_deployment: overcloud
|
||||||
concurrency:
|
concurrency:
|
||||||
- 16
|
- 16
|
||||||
- 32
|
- 32
|
||||||
@ -105,6 +107,7 @@ workloads:
|
|||||||
- name: keystonebasic
|
- name: keystonebasic
|
||||||
enabled: true
|
enabled: true
|
||||||
type: rally
|
type: rally
|
||||||
|
rally_deployment: overcloud
|
||||||
concurrency:
|
concurrency:
|
||||||
- 256
|
- 256
|
||||||
times: 5000
|
times: 5000
|
||||||
@ -122,6 +125,7 @@ workloads:
|
|||||||
- name: neutron
|
- name: neutron
|
||||||
enabled: true
|
enabled: true
|
||||||
type: rally
|
type: rally
|
||||||
|
rally_deployment: overcloud
|
||||||
concurrency:
|
concurrency:
|
||||||
- 16
|
- 16
|
||||||
- 32
|
- 32
|
||||||
@ -157,6 +161,7 @@ workloads:
|
|||||||
- name: nova
|
- name: nova
|
||||||
enabled: true
|
enabled: true
|
||||||
type: rally
|
type: rally
|
||||||
|
rally_deployment: overcloud
|
||||||
concurrency:
|
concurrency:
|
||||||
- 16
|
- 16
|
||||||
- 32
|
- 32
|
||||||
@ -200,6 +205,7 @@ workloads:
|
|||||||
- name: glance
|
- name: glance
|
||||||
enabled: true
|
enabled: true
|
||||||
type: rally
|
type: rally
|
||||||
|
rally_deployment: overcloud
|
||||||
concurrency:
|
concurrency:
|
||||||
- 8
|
- 8
|
||||||
times: 10
|
times: 10
|
||||||
@ -225,6 +231,7 @@ workloads:
|
|||||||
- name: plugins
|
- name: plugins
|
||||||
enabled: true
|
enabled: true
|
||||||
type: rally
|
type: rally
|
||||||
|
rally_deployment: overcloud
|
||||||
concurrency:
|
concurrency:
|
||||||
- 16
|
- 16
|
||||||
- 32
|
- 32
|
||||||
|
@ -81,6 +81,7 @@ workloads:
|
|||||||
- name: authenticate
|
- name: authenticate
|
||||||
enabled: true
|
enabled: true
|
||||||
type: rally
|
type: rally
|
||||||
|
rally_deployment: overcloud
|
||||||
concurrency:
|
concurrency:
|
||||||
- 8
|
- 8
|
||||||
times: 100
|
times: 100
|
||||||
@ -98,6 +99,7 @@ workloads:
|
|||||||
- name: cinder
|
- name: cinder
|
||||||
enabled: true
|
enabled: true
|
||||||
type: rally
|
type: rally
|
||||||
|
rally_deployment: overcloud
|
||||||
concurrency:
|
concurrency:
|
||||||
- 2
|
- 2
|
||||||
times: 10
|
times: 10
|
||||||
@ -111,6 +113,7 @@ workloads:
|
|||||||
- name: keystonebasic
|
- name: keystonebasic
|
||||||
enabled: true
|
enabled: true
|
||||||
type: rally
|
type: rally
|
||||||
|
rally_deployment: overcloud
|
||||||
concurrency:
|
concurrency:
|
||||||
- 8
|
- 8
|
||||||
times: 100
|
times: 100
|
||||||
@ -125,6 +128,7 @@ workloads:
|
|||||||
- name: neutron
|
- name: neutron
|
||||||
enabled: true
|
enabled: true
|
||||||
type: rally
|
type: rally
|
||||||
|
rally_deployment: overcloud
|
||||||
concurrency:
|
concurrency:
|
||||||
- 2
|
- 2
|
||||||
times: 10
|
times: 10
|
||||||
@ -171,6 +175,7 @@ workloads:
|
|||||||
- name: nova
|
- name: nova
|
||||||
enabled: true
|
enabled: true
|
||||||
type: rally
|
type: rally
|
||||||
|
rally_deployment: overcloud
|
||||||
concurrency:
|
concurrency:
|
||||||
- 2
|
- 2
|
||||||
times: 10
|
times: 10
|
||||||
@ -210,6 +215,7 @@ workloads:
|
|||||||
- name: glance
|
- name: glance
|
||||||
enabled: true
|
enabled: true
|
||||||
type: rally
|
type: rally
|
||||||
|
rally_deployment: overcloud
|
||||||
concurrency:
|
concurrency:
|
||||||
- 2
|
- 2
|
||||||
times: 10
|
times: 10
|
||||||
@ -224,6 +230,7 @@ workloads:
|
|||||||
- name: octavia
|
- name: octavia
|
||||||
enabled: false
|
enabled: false
|
||||||
type: rally
|
type: rally
|
||||||
|
rally_deployment: overcloud
|
||||||
concurrency:
|
concurrency:
|
||||||
- 2
|
- 2
|
||||||
times: 10
|
times: 10
|
||||||
@ -268,6 +275,7 @@ workloads:
|
|||||||
- name: simple-plugins
|
- name: simple-plugins
|
||||||
enabled: true
|
enabled: true
|
||||||
type: rally
|
type: rally
|
||||||
|
rally_deployment: overcloud
|
||||||
concurrency:
|
concurrency:
|
||||||
- 8
|
- 8
|
||||||
times: 10
|
times: 10
|
||||||
@ -313,6 +321,7 @@ workloads:
|
|||||||
- name: plugin-workloads
|
- name: plugin-workloads
|
||||||
enabled: false
|
enabled: false
|
||||||
type: rally
|
type: rally
|
||||||
|
rally_deployment: overcloud
|
||||||
concurrency:
|
concurrency:
|
||||||
- 1
|
- 1
|
||||||
times: 1
|
times: 1
|
||||||
|
@ -21,6 +21,9 @@ mapping:
|
|||||||
type: str
|
type: str
|
||||||
required: True
|
required: True
|
||||||
enum: ["rally"]
|
enum: ["rally"]
|
||||||
|
rally_deployment:
|
||||||
|
type: str
|
||||||
|
required: False
|
||||||
scenarios:
|
scenarios:
|
||||||
type: seq
|
type: seq
|
||||||
sequence:
|
sequence:
|
||||||
|
@ -216,6 +216,7 @@ class Rally(base.WorkloadBase):
|
|||||||
self.update_total_scenarios()
|
self.update_total_scenarios()
|
||||||
scenario_name = scenario["name"]
|
scenario_name = scenario["name"]
|
||||||
scenario_file = scenario["file"]
|
scenario_file = scenario["file"]
|
||||||
|
|
||||||
del scenario["enabled"]
|
del scenario["enabled"]
|
||||||
del scenario["file"]
|
del scenario["file"]
|
||||||
del scenario["name"]
|
del scenario["name"]
|
||||||
@ -237,9 +238,31 @@ class Rally(base.WorkloadBase):
|
|||||||
del scenario["concurrency"]
|
del scenario["concurrency"]
|
||||||
else:
|
else:
|
||||||
concurrencies = def_concurrencies
|
concurrencies = def_concurrencies
|
||||||
|
|
||||||
if "times" not in scenario:
|
if "times" not in scenario:
|
||||||
scenario["times"] = def_times
|
scenario["times"] = def_times
|
||||||
|
|
||||||
|
if "rally_deployment" in scenario:
|
||||||
|
_rally_deployment = scenario["rally_deployment"]
|
||||||
|
elif "rally_deployment" in workload:
|
||||||
|
scenario["rally_deployment"] = workload["rally_deployment"]
|
||||||
|
_rally_deployment = scenario["rally_deployment"]
|
||||||
|
else:
|
||||||
|
_rally_deployment = 'overcloud'
|
||||||
|
self.logger.info("Default rally deployment {} in use.".format(_rally_deployment))
|
||||||
|
|
||||||
|
rally_deployments = ['undercloud', 'overcloud']
|
||||||
|
if _rally_deployment in rally_deployments:
|
||||||
|
cmd = "source {}; ".format(get_workload_venv('rally', True))
|
||||||
|
cmd += "rally deployment use {}".format(_rally_deployment)
|
||||||
|
cmd_stdout = self.tools.run_cmd(cmd)['stdout']
|
||||||
|
if cmd_stdout == "Deployment {} is not found.".format(_rally_deployment):
|
||||||
|
self.logger.error("Rally deployment {} is not found.".format(_rally_deployment))
|
||||||
|
exit(1)
|
||||||
|
else:
|
||||||
|
self.logger.error("Wrong rally benchmark name specified.")
|
||||||
|
continue
|
||||||
|
|
||||||
concurrency_count_dict = collections.Counter()
|
concurrency_count_dict = collections.Counter()
|
||||||
for concurrency in concurrencies:
|
for concurrency in concurrencies:
|
||||||
scenario["concurrency"] = concurrency
|
scenario["concurrency"] = concurrency
|
||||||
|
@ -45,6 +45,7 @@ workloads:
|
|||||||
- name: browbeat-test-authenticate
|
- name: browbeat-test-authenticate
|
||||||
enabled: false
|
enabled: false
|
||||||
type: rally
|
type: rally
|
||||||
|
rally_deployment: underclouud
|
||||||
concurrency:
|
concurrency:
|
||||||
- 1
|
- 1
|
||||||
times: 1
|
times: 1
|
||||||
|
@ -41,7 +41,7 @@ shaker:
|
|||||||
external_host: 2.2.2.2
|
external_host: 2.2.2.2
|
||||||
|
|
||||||
workloads:
|
workloads:
|
||||||
# Missing name
|
# Missing name for workload
|
||||||
- enabled: false
|
- enabled: false
|
||||||
type: rally
|
type: rally
|
||||||
concurrency:
|
concurrency:
|
||||||
|
@ -5,6 +5,25 @@ rally:
|
|||||||
name: valid-test-authenticate-01
|
name: valid-test-authenticate-01
|
||||||
enabled: true
|
enabled: true
|
||||||
type: rally
|
type: rally
|
||||||
|
rally_deployment: overcloud
|
||||||
|
concurrency:
|
||||||
|
- 1
|
||||||
|
times: 1
|
||||||
|
scenarios:
|
||||||
|
- name: valid-test-authentic-keystone
|
||||||
|
enabled: true
|
||||||
|
file: rally/authenticate/keystone-cc.yml
|
||||||
|
- name: valid-test-authentic-neutron
|
||||||
|
enabled: false
|
||||||
|
file: rally/authenticate/validate_neutron-cc.yml
|
||||||
|
- name: valid-test-authentic-octavia
|
||||||
|
enabled: true
|
||||||
|
file: rally/authenticate/validate_octavia-cc.yml
|
||||||
|
- valid: true
|
||||||
|
data:
|
||||||
|
name: valid-test-authenticate-02
|
||||||
|
enabled: true
|
||||||
|
type: rally
|
||||||
concurrency:
|
concurrency:
|
||||||
- 1
|
- 1
|
||||||
times: 1
|
times: 1
|
||||||
@ -23,6 +42,7 @@ rally:
|
|||||||
name: invalid-test-authenticate-01
|
name: invalid-test-authenticate-01
|
||||||
enabled: true
|
enabled: true
|
||||||
type: rally-incorrect
|
type: rally-incorrect
|
||||||
|
rally_deployment: 1
|
||||||
concurrency:
|
concurrency:
|
||||||
- 1
|
- 1
|
||||||
times: 1
|
times: 1
|
||||||
|
Loading…
x
Reference in New Issue
Block a user