summaryrefslogtreecommitdiffstats
path: root/storperf/resources
diff options
context:
space:
mode:
authorMark Beierl <mark.beierl@emc.com>2016-05-04 22:53:07 -0400
committerMark Beierl <mark.beierl@emc.com>2016-05-05 14:58:39 -0400
commit05e863781ce6746fabec176d1fc5f7454f2cdd73 (patch)
tree0ff7f2aa9e55b33c3f95c0521bbd3991a9e4e2c0 /storperf/resources
parent1e0544d70dabed4f33e0624cb4a7cde4c8c6b691 (diff)
Add Stats report and Swagger UI
Add Swagger web ui at /swagger Add ability to fetch read/write latency status via ReST ui Can now delete where stack was removed from OpenStack but not from the storperf DB Change to use Floating IPs instead of private IP Fix delete bug where there was no dependency on resources in the resource group. JIRA: STORPERF-19 JIRA: STORPERF-20 Change-Id: I0a4b3386789c38d6745906ba896b8ff851dc122f Signed-off-by: Mark Beierl <mark.beierl@emc.com>
Diffstat (limited to 'storperf/resources')
-rw-r--r--storperf/resources/hot/agent-group.yaml47
-rw-r--r--storperf/resources/hot/storperf-agent.yaml28
2 files changed, 57 insertions, 18 deletions
diff --git a/storperf/resources/hot/agent-group.yaml b/storperf/resources/hot/agent-group.yaml
index 315ecf3..4a1df8e 100644
--- a/storperf/resources/hot/agent-group.yaml
+++ b/storperf/resources/hot/agent-group.yaml
@@ -10,13 +10,13 @@
heat_template_version: 2013-05-23
parameters:
- agent_network:
+ public_network:
type: string
constraints:
- custom_constraint: neutron.network
flavor:
type: string
- default: "StorPerf Agent"
+ default: "m1.small"
key_name:
type: string
default: StorPerf
@@ -38,18 +38,59 @@ parameters:
resources:
slaves:
type: OS::Heat::ResourceGroup
+ depends_on: [storperf_subnet, storperf_network_router_interface, storperf_open_security_group]
properties:
count: {get_param: agent_count}
resource_def: {
type: "storperf-agent.yaml",
properties: {
- agent_network: {get_param: agent_network},
+ public_network: {get_param: public_network},
+ agent_network: {get_resource: storperf_network},
flavor: {get_param: flavor},
+ storperf_open_security_group: {get_resource: storperf_open_security_group},
key_name: {get_param: key_name},
volume_size: {get_param: volume_size}
}
}
+ storperf_network:
+ type: OS::Neutron::Net
+ properties:
+ name: storperf-network
+
+ storperf_subnet:
+ type: OS::Neutron::Subnet
+ properties:
+ network_id: { get_resource: storperf_network }
+ cidr: 172.16.0.0/16
+ gateway_ip: 172.16.0.1
+
+ storperf_network_router:
+ type: OS::Neutron::Router
+ properties:
+ external_gateway_info:
+ network: { get_param: public_network }
+
+ storperf_network_router_interface:
+ type: OS::Neutron::RouterInterface
+ properties:
+ router_id: { get_resource: storperf_network_router }
+ subnet_id: { get_resource: storperf_subnet }
+
+ storperf_open_security_group:
+ type: OS::Neutron::SecurityGroup
+ properties:
+ description: An open security group to allow all access to the StorPerf slaves
+ rules:
+ - remote_ip_prefix: 0.0.0.0/0
+ protocol: tcp
+ port_range_min: 22
+ port_range_max: 22
+ - remote_ip_prefix: 0.0.0.0/0
+ protocol: icmp
+
+
+
outputs:
slave_ips: {
description: "Slave addresses",
diff --git a/storperf/resources/hot/storperf-agent.yaml b/storperf/resources/hot/storperf-agent.yaml
index ffda9c4..5d99a26 100644
--- a/storperf/resources/hot/storperf-agent.yaml
+++ b/storperf/resources/hot/storperf-agent.yaml
@@ -22,6 +22,8 @@ parameters:
username:
type: string
default: storperf
+ storperf_open_security_group:
+ type: string
volume_size:
type: number
description: Size of the volume to be created.
@@ -33,7 +35,10 @@ parameters:
type: string
constraints:
- custom_constraint: neutron.network
-
+ public_network:
+ type: string
+ constraints:
+ - custom_constraint: neutron.network
resources:
storperf_agent:
@@ -69,20 +74,13 @@ resources:
properties:
network_id: { get_param: agent_network }
security_groups:
- - { get_resource: storperf_security_group }
+ - { get_param: storperf_open_security_group }
- storperf_security_group:
- type: OS::Neutron::SecurityGroup
+ storperf_floating_ip:
+ type: OS::Neutron::FloatingIP
properties:
- description: Neutron security group rules
- name: StorPerf-Security-Group
- rules:
- - remote_ip_prefix: 0.0.0.0/0
- protocol: tcp
- direction: ingress
- - remote_ip_prefix: 0.0.0.0/0
- protocol: icmp
- direction: ingress
+ floating_network_id: { get_param: public_network }
+ port_id: { get_resource: storperf_agent_port }
agent_volume:
type: OS::Cinder::Volume
@@ -97,5 +95,5 @@ resources:
outputs:
storperf_agent_ip:
- description: The IP address of the agent on the StorPerf network
- value: { get_attr: [ storperf_agent, first_address ] } \ No newline at end of file
+ description: The floating IP address of the agent on the public network
+ value: { get_attr: [ storperf_floating_ip, floating_ip_address ] } \ No newline at end of file