diff options
Diffstat (limited to 'ci/storperf-master.yaml')
-rw-r--r-- | ci/storperf-master.yaml | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/ci/storperf-master.yaml b/ci/storperf-master.yaml new file mode 100644 index 0000000..1bc84f5 --- /dev/null +++ b/ci/storperf-master.yaml @@ -0,0 +1,117 @@ +heat_template_version: 2013-05-23 + +parameters: + flavor: + type: string + default: m1.small + image: + type: string + default: ubuntu-server + key_name: + type: string + public_net_id: + type: string + default: public + username: + type: string + default: storperf + +resources: + storperf_manager: + type: "OS::Nova::Server" + properties: + name: storperf-manager + image: { get_param: image } + flavor: { get_param: flavor } + key_name: { get_param: key_name } + networks: + - port: { get_resource: storperf_manager_port } + user_data: { get_resource: storperf_manager_config } + user_data_format: RAW + + storperf_manager_config: + type: "OS::Heat::CloudConfig" + properties: + cloud_config: + users: + - name: { get_param: username } + groups: users + shell: /bin/bash + sudo: "ALL=(ALL) NOPASSWD:ALL" + ssh_authorized_keys: + - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDEbnDiqZ8RjQJJzJPf074J41XlYED+zYBzaUZ5UkkUquXzymyUmoWaFBXJP+XPu4Ns44U/S8614+JxGk96tjUdJlIjL0Ag8HP6KLtTNCabucKcEASpgJIVWqJvE3E9upZLIEiTGsF8I8S67T2qq1J1uvtxyeZmyjm7NMamjyFXE53dhR2EHqSutyKK1CK74NkRY9wr3qWUIt35kLdKSVSfrr4gOOicDALbIRu77skHIvrjt+wK1VWphBdMg6ytuq5mIE6pjWAU3Gwl4aTxOU0z43ARzCLq8HVf8s/dKjYMj8plNqaIfceMbaEUqpNHv/xbvtGNG7N0aB/a4pkUQL07 + - default + package_update: true + package_upgrade: true + packages: + - fio + - python + - rsync + - graphite-carbon + - graphite-web + - apache2 + - libapache2-mod-wsgi + - curl + + storperf_manager_port: + type: "OS::Neutron::Port" + properties: + network_id: { get_resource: storperf_agent_net } + security_groups: + - { get_resource: storperf_security_group } + + storperf_manager_ip: + type: "OS::Neutron::FloatingIP" + properties: + floating_network_id: { get_param: public_net_id } + port_id: { get_resource: storperf_manager_port } + + storperf_agent_net: + type: "OS::Neutron::Net" + properties: + name: storperf-agent-network + + storperf_agent_subnet: + type: "OS::Neutron::Subnet" + properties: + name: StorPerf-Agent-Subnet + network_id: { get_resource: storperf_agent_net } + cidr: 192.168.101.0/24 + gateway_ip: 192.168.101.1 + enable_dhcp: true + allocation_pools: + - start: "192.168.101.2" + end: "192.168.101.250" + + storperf_security_group: + type: OS::Neutron::SecurityGroup + 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 + + router: + type: OS::Neutron::Router + + router_gateway: + type: OS::Neutron::RouterGateway + properties: + router_id: { get_resource: router } + network_id: { get_param: public_net_id } + + router_interface: + type: OS::Neutron::RouterInterface + properties: + router_id: { get_resource: router } + subnet_id: { get_resource: storperf_agent_subnet } + +outputs: + public_ip: + description: Floating IP address in public network + value: { get_attr: [ storperf_manager_ip, floating_ip_address ] } |