summaryrefslogtreecommitdiffstats
path: root/utils/infra_setup/heat/tests/data
diff options
context:
space:
mode:
authorMatthewLi <matthew.lijun@huawei.com>2016-04-01 03:05:14 -0400
committerMatthewLi <matthew.lijun@huawei.com>2016-04-08 05:16:20 -0400
commit9c18734887ec207073344d51e40bbe4da87178d7 (patch)
treed16829cbaeae5429791554cd9b6833595adb7e63 /utils/infra_setup/heat/tests/data
parent4ec71cc3e334b42e0257ec8cf8a85a778a817e56 (diff)
add unittest for basic heat api management and template creation functions
JIRA: BOTTLENECK-58 Change-Id: Ie563f3f5e42f43bc9ac379b56bed23f33d96791d Signed-off-by: MatthewLi <matthew.lijun@huawei.com>
Diffstat (limited to 'utils/infra_setup/heat/tests/data')
-rw-r--r--utils/infra_setup/heat/tests/data/generated_templates/experiment_1.yaml300
-rw-r--r--utils/infra_setup/heat/tests/data/generated_templates/experiment_2.yaml0
-rwxr-xr-xutils/infra_setup/heat/tests/data/generated_templates/rubbos_1-1-1_template.tmp311
-rwxr-xr-xutils/infra_setup/heat/tests/data/test_templates/test_template_1.yaml311
4 files changed, 922 insertions, 0 deletions
diff --git a/utils/infra_setup/heat/tests/data/generated_templates/experiment_1.yaml b/utils/infra_setup/heat/tests/data/generated_templates/experiment_1.yaml
new file mode 100644
index 00000000..53600443
--- /dev/null
+++ b/utils/infra_setup/heat/tests/data/generated_templates/experiment_1.yaml
@@ -0,0 +1,300 @@
+heat_template_version: 2013-05-23
+
+description: >
+ HOT template to create a new neutron network plus a router to the public
+ network, and for deploying nine servers into the new network. The template also
+ assigns floating IP addresses to rubbos_control server so it is routable from the
+ public network.
+parameters:
+ key_name:
+ type: string
+ description: Name of keypair to assign to servers
+ default: bottlenecks-key
+ image:
+ type: string
+ description: Name of image to use for servers
+ default: bottlenecks-trusty-server
+ flavor:
+ type: string
+ description: Flavor to use for servers
+ default: bottlenecks-flavor
+ public_net:
+ type: string
+ description: >
+ ID or name of public network for which floating IP addresses will be allocated
+ default: net04_ext
+ private_net_name:
+ type: string
+ description: Name of private network to be created
+ default: bottlenecks-private
+ private_net_cidr:
+ type: string
+ description: Private network address (CIDR notation)
+ default: "10.0.10.0/24"
+ private_net_gateway:
+ type: string
+ description: Private network gateway address
+ default: "10.0.10.1"
+ private_net_pool_start:
+ type: string
+ description: Start of private network IP address allocation pool
+ default: "10.0.10.2"
+ private_net_pool_end:
+ type: string
+ description: End of private network IP address allocation pool
+ default: "10.0.10.199"
+
+resources:
+ private_net:
+ type: OS::Neutron::Net
+ properties:
+ name: { get_param: private_net_name }
+
+ private_subnet:
+ type: OS::Neutron::Subnet
+ properties:
+ network_id: { get_resource: private_net }
+ cidr: { get_param: private_net_cidr }
+ gateway_ip: { get_param: private_net_gateway }
+ allocation_pools:
+ - start: { get_param: private_net_pool_start }
+ end: { get_param: private_net_pool_end }
+
+ router:
+ type: OS::Neutron::Router
+ properties:
+ external_gateway_info:
+ network: { get_param: public_net }
+
+ router_interface:
+ type: OS::Neutron::RouterInterface
+ properties:
+ router_id: { get_resource: router }
+ subnet_id: { get_resource: private_subnet }
+
+ rubbos_control:
+ type: OS::Nova::Server
+ properties:
+ name: rubbos_control
+ image: { get_param: image }
+ flavor: { get_param: flavor }
+ key_name: { get_param: key_name }
+ networks:
+ - port: { get_resource: rubbos_control_port }
+ admin_user: ubuntu
+
+ rubbos_control_port:
+ type: OS::Neutron::Port
+ properties:
+ network_id: { get_resource: private_net }
+ fixed_ips:
+ - subnet_id: { get_resource: private_subnet }
+ security_groups: [{ get_resource: server_security_group }]
+
+ rubbos_control_floating_ip:
+ type: OS::Neutron::FloatingIP
+ properties:
+ floating_network: { get_param: public_net }
+ port_id: { get_resource: rubbos_control_port }
+
+ rubbos_httpd:
+ type: OS::Nova::Server
+ properties:
+ name: rubbos_httpd
+ image: { get_param: image }
+ flavor: { get_param: flavor }
+ key_name: { get_param: key_name }
+ networks:
+ - port: { get_resource: rubbos_httpd_port }
+ admin_user: ubuntu
+
+ rubbos_httpd_port:
+ type: OS::Neutron::Port
+ properties:
+ network_id: { get_resource: private_net }
+ fixed_ips:
+ - subnet_id: { get_resource: private_subnet }
+ security_groups: [{ get_resource: server_security_group }]
+
+ rubbos_mysql1:
+ type: OS::Nova::Server
+ properties:
+ name: rubbos_mysql1
+ image: { get_param: image }
+ flavor: { get_param: flavor }
+ key_name: { get_param: key_name }
+ networks:
+ - port: { get_resource: rubbos_mysql1_port }
+ admin_user: ubuntu
+
+ rubbos_mysql1_port:
+ type: OS::Neutron::Port
+ properties:
+ network_id: { get_resource: private_net }
+ fixed_ips:
+ - subnet_id: { get_resource: private_subnet }
+ security_groups: [{ get_resource: server_security_group }]
+
+ rubbos_tomcat1:
+ type: OS::Nova::Server
+ properties:
+ name: rubbos_tomcat1
+ image: { get_param: image }
+ flavor: { get_param: flavor }
+ key_name: { get_param: key_name }
+ networks:
+ - port: { get_resource: rubbos_tomcat1_port }
+ admin_user: ubuntu
+
+ rubbos_tomcat1_port:
+ type: OS::Neutron::Port
+ properties:
+ network_id: { get_resource: private_net }
+ fixed_ips:
+ - subnet_id: { get_resource: private_subnet }
+ security_groups: [{ get_resource: server_security_group }]
+
+ rubbos_client1:
+ type: OS::Nova::Server
+ properties:
+ name: rubbos_client1
+ image: { get_param: image }
+ flavor: { get_param: flavor }
+ key_name: { get_param: key_name }
+ networks:
+ - port: { get_resource: rubbos_client1_port }
+ admin_user: ubuntu
+
+ rubbos_client1_port:
+ type: OS::Neutron::Port
+ properties:
+ network_id: { get_resource: private_net }
+ fixed_ips:
+ - subnet_id: { get_resource: private_subnet }
+ security_groups: [{ get_resource: server_security_group }]
+
+ rubbos_client2:
+ type: OS::Nova::Server
+ properties:
+ name: rubbos_client2
+ image: { get_param: image }
+ flavor: { get_param: flavor }
+ key_name: { get_param: key_name }
+ networks:
+ - port: { get_resource: rubbos_client2_port }
+ admin_user: ubuntu
+
+ rubbos_client2_port:
+ type: OS::Neutron::Port
+ properties:
+ network_id: { get_resource: private_net }
+ fixed_ips:
+ - subnet_id: { get_resource: private_subnet }
+ security_groups: [{ get_resource: server_security_group }]
+
+ rubbos_client3:
+ type: OS::Nova::Server
+ properties:
+ name: rubbos_client3
+ image: { get_param: image }
+ flavor: { get_param: flavor }
+ key_name: { get_param: key_name }
+ networks:
+ - port: { get_resource: rubbos_client3_port }
+ admin_user: ubuntu
+
+ rubbos_client3_port:
+ type: OS::Neutron::Port
+ properties:
+ network_id: { get_resource: private_net }
+ fixed_ips:
+ - subnet_id: { get_resource: private_subnet }
+ security_groups: [{ get_resource: server_security_group }]
+
+ rubbos_client4:
+ type: OS::Nova::Server
+ properties:
+ name: rubbos_client4
+ image: { get_param: image }
+ flavor: { get_param: flavor }
+ key_name: { get_param: key_name }
+ networks:
+ - port: { get_resource: rubbos_client4_port }
+ admin_user: ubuntu
+
+ rubbos_client4_port:
+ type: OS::Neutron::Port
+ properties:
+ network_id: { get_resource: private_net }
+ fixed_ips:
+ - subnet_id: { get_resource: private_subnet }
+ security_groups: [{ get_resource: server_security_group }]
+
+ rubbos_benchmark:
+ type: OS::Nova::Server
+ properties:
+ name: rubbos_benchmark
+ image: { get_param: image }
+ flavor: { get_param: flavor }
+ key_name: { get_param: key_name }
+ networks:
+ - port: { get_resource: rubbos_benchmark_port }
+ admin_user: ubuntu
+
+ rubbos_benchmark_port:
+ type: OS::Neutron::Port
+ properties:
+ network_id: { get_resource: private_net }
+ fixed_ips:
+ - subnet_id: { get_resource: private_subnet }
+ security_groups: [{ get_resource: server_security_group }]
+
+ server_security_group:
+ type: OS::Neutron::SecurityGroup
+ properties:
+ description: Rubbos group for servers access.
+ name: rubbos-security-group
+ rules: [
+ {remote_ip_prefix: 0.0.0.0/0,
+ protocol: tcp,
+ port_range_min: 1,
+ port_range_max: 65535},
+ {remote_ip_prefix: 0.0.0.0/0,
+ protocol: udp,
+ port_range_min: 1,
+ port_range_max: 65535},
+ {remote_ip_prefix: 0.0.0.0/0,
+ protocol: icmp}]
+
+outputs:
+ rubbos_control_private_ip:
+ description: IP address of rubbos_control in private network
+ value: { get_attr: [ rubbos_control, first_address ] }
+ rubbos_control_public_ip:
+ description: Floating IP address of rubbos_control in public network
+ value: { get_attr: [ rubbos_control_floating_ip, floating_ip_address ] }
+ rubbos_httpd_private_ip:
+ description: IP address of rubbos_httpd in private network
+ value: { get_attr: [ rubbos_httpd, first_address ] }
+ rubbos_mysql1_private_ip:
+ description: IP address of rubbos_mysql1 in private network
+ value: { get_attr: [ rubbos_mysql1, first_address ] }
+ rubbos_tomcat1_private_ip:
+ description: IP address of rubbos_tomcat1 in private network
+ value: { get_attr: [ rubbos_tomcat1, first_address ] }
+ rubbos_client1_private_ip:
+ description: IP address of rubbos_client1 in private network
+ value: { get_attr: [ rubbos_client1, first_address ] }
+ rubbos_client2_private_ip:
+ description: IP address of rubbos_client2 in private network
+ value: { get_attr: [ rubbos_client2, first_address ] }
+ rubbos_client3_private_ip:
+ description: IP address of rubbos_client3 in private network
+ value: { get_attr: [ rubbos_client3, first_address ] }
+ rubbos_client4_private_ip:
+ description: IP address of rubbos_client4 in private network
+ value: { get_attr: [ rubbos_client4, first_address ] }
+ rubbos_benchmark_private_ip:
+ description: IP address of rubbos_benchmark in private network
+ value: { get_attr: [ rubbos_benchmark, first_address ] }
+
diff --git a/utils/infra_setup/heat/tests/data/generated_templates/experiment_2.yaml b/utils/infra_setup/heat/tests/data/generated_templates/experiment_2.yaml
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/utils/infra_setup/heat/tests/data/generated_templates/experiment_2.yaml
diff --git a/utils/infra_setup/heat/tests/data/generated_templates/rubbos_1-1-1_template.tmp b/utils/infra_setup/heat/tests/data/generated_templates/rubbos_1-1-1_template.tmp
new file mode 100755
index 00000000..0f417dd3
--- /dev/null
+++ b/utils/infra_setup/heat/tests/data/generated_templates/rubbos_1-1-1_template.tmp
@@ -0,0 +1,311 @@
+heat_template_version: 2013-05-23
+
+description: >
+ HOT template to create a new neutron network plus a router to the public
+ network, and for deploying nine servers into the new network. The template also
+ assigns floating IP addresses to rubbos_control server so it is routable from the
+ public network.
+parameters:
+ key_name:
+ type: string
+ description: Name of keypair to assign to servers
+ default: bottlenecks-key
+ image:
+ type: string
+ description: Name of image to use for servers
+ default: bottlenecks-trusty-server
+ flavor:
+ type: string
+ description: Flavor to use for servers
+ default: bottlenecks-flavor
+ public_net:
+ type: string
+ description: >
+ ID or name of public network for which floating IP addresses will be allocated
+ default: net04_ext
+ private_net_name:
+ type: string
+ description: Name of private network to be created
+ default: bottlenecks-private
+ private_net_cidr:
+ type: string
+ description: Private network address (CIDR notation)
+ default: "10.0.10.0/24"
+ private_net_gateway:
+ type: string
+ description: Private network gateway address
+ default: "10.0.10.1"
+ private_net_pool_start:
+ type: string
+ description: Start of private network IP address allocation pool
+ default: "10.0.10.2"
+ private_net_pool_end:
+ type: string
+ description: End of private network IP address allocation pool
+ default: "10.0.10.199"
+
+resources:
+ private_net:
+ type: OS::Neutron::Net
+ properties:
+ name: { get_param: private_net_name }
+
+ private_subnet:
+ type: OS::Neutron::Subnet
+ properties:
+ network_id: { get_resource: private_net }
+ cidr: { get_param: private_net_cidr }
+ gateway_ip: { get_param: private_net_gateway }
+ allocation_pools:
+ - start: { get_param: private_net_pool_start }
+ end: { get_param: private_net_pool_end }
+
+ router:
+ type: OS::Neutron::Router
+ properties:
+ external_gateway_info:
+ network: { get_param: public_net }
+
+ router_interface:
+ type: OS::Neutron::RouterInterface
+ properties:
+ router_id: { get_resource: router }
+ subnet_id: { get_resource: private_subnet }
+
+ rubbos_control:
+ type: OS::Nova::Server
+ properties:
+ name: rubbos_control
+ image: { get_param: image }
+ flavor: #flavor
+ key_name: { get_param: key_name }
+ networks:
+ - port: { get_resource: rubbos_control_port }
+ admin_user: ubuntu
+
+ rubbos_control_port:
+ type: OS::Neutron::Port
+ properties:
+ network_id: { get_resource: private_net }
+ fixed_ips:
+ - subnet_id: { get_resource: private_subnet }
+ security_groups: [{ get_resource: server_security_group }]
+
+ rubbos_control_floating_ip:
+ type: OS::Neutron::FloatingIP
+ properties:
+ floating_network: { get_param: public_net }
+ port_id: { get_resource: rubbos_control_port }
+
+ rubbos_httpd:
+ type: OS::Nova::Server
+ properties:
+ name: rubbos_httpd
+ image: { get_param: image }
+ flavor: { get_param: flavor }
+ key_name: { get_param: key_name }
+ networks:
+ - port: { get_resource: rubbos_httpd_port }
+ admin_user: ubuntu
+
+ rubbos_httpd_port:
+ type: OS::Neutron::Port
+ properties:
+ network_id: { get_resource: private_net }
+ fixed_ips:
+ - subnet_id: { get_resource: private_subnet }
+ security_groups: [{ get_resource: server_security_group }]
+
+ rubbos_mysql1:
+ type: OS::Nova::Server
+ properties:
+ name: rubbos_mysql1
+ image: { get_param: image }
+ flavor: { get_param: flavor }
+ key_name: { get_param: key_name }
+ networks:
+ - port: { get_resource: rubbos_mysql1_port }
+ admin_user: ubuntu
+
+ rubbos_mysql1_port:
+ type: OS::Neutron::Port
+ properties:
+ network_id: { get_resource: private_net }
+ fixed_ips:
+ - subnet_id: { get_resource: private_subnet }
+ security_groups: [{ get_resource: server_security_group }]
+
+ rubbos_tomcat1:
+ type: OS::Nova::Server
+ properties:
+ name: rubbos_tomcat1
+ image: { get_param: image }
+ flavor: { get_param: flavor }
+ key_name: { get_param: key_name }
+ networks:
+ - port: { get_resource: rubbos_tomcat1_port }
+ admin_user: ubuntu
+
+ rubbos_tomcat1_port:
+ type: OS::Neutron::Port
+ properties:
+ network_id: { get_resource: private_net }
+ fixed_ips:
+ - subnet_id: { get_resource: private_subnet }
+ security_groups: [{ get_resource: server_security_group }]
+
+ rubbos_client1:
+ type: OS::Nova::Server
+ properties:
+ name: rubbos_client1
+ image: { get_param: image }
+ flavor: { get_param: flavor }
+ key_name: { get_param: key_name }
+ networks:
+ - port: { get_resource: rubbos_client1_port }
+ admin_user: ubuntu
+
+ rubbos_client1_port:
+ type: OS::Neutron::Port
+ properties:
+ network_id: { get_resource: private_net }
+ fixed_ips:
+ - subnet_id: { get_resource: private_subnet }
+ security_groups: [{ get_resource: server_security_group }]
+
+ rubbos_client2:
+ type: OS::Nova::Server
+ properties:
+ name: rubbos_client2
+ image: #image
+ flavor: { get_param: flavor }
+ key_name: { get_param: key_name }
+ networks:
+ - port: { get_resource: rubbos_client2_port }
+ admin_user: ubuntu
+
+ rubbos_client2_port:
+ type: OS::Neutron::Port
+ properties:
+ network_id: { get_resource: private_net }
+ fixed_ips:
+ - subnet_id: { get_resource: private_subnet }
+ security_groups: [{ get_resource: server_security_group }]
+
+ rubbos_client3:
+ type: OS::Nova::Server
+ properties:
+ name: rubbos_client3
+ image: { get_param: image }
+ flavor: { get_param: flavor }
+ key_name: { get_param: key_name }
+ networks:
+ - port: { get_resource: rubbos_client3_port }
+ admin_user: ubuntu
+
+ rubbos_client3_port:
+ type: OS::Neutron::Port
+ properties:
+ network_id: { get_resource: private_net }
+ fixed_ips:
+ - subnet_id: { get_resource: private_subnet }
+ security_groups: [{ get_resource: server_security_group }]
+
+ rubbos_client4:
+ type: OS::Nova::Server
+ properties:
+ name: rubbos_client4
+ image: { get_param: image }
+ flavor: { get_param: flavor }
+ key_name: { get_param: key_name }
+ networks:
+ - port: { get_resource: rubbos_client4_port }
+ admin_user: ubuntu
+
+ rubbos_client4_port:
+ type: OS::Neutron::Port
+ properties:
+ network_id: { get_resource: private_net }
+ fixed_ips:
+ - subnet_id: { get_resource: private_subnet }
+ security_groups: [{ get_resource: server_security_group }]
+
+ #rubbos_client5:
+ type: OS::Nova::Server
+ properties:
+ name: rubbos_client4
+ image: { get_param: image }
+ flavor: { get_param: flavor }
+ key_name: { get_param: key_name }
+ networks:
+ - port: { get_resource: rubbos_client4_port }
+ admin_user: ubuntu
+
+ rubbos_benchmark:
+ type: OS::Nova::Server
+ properties:
+ name: rubbos_benchmark
+ image: { get_param: image }
+ flavor: { get_param: flavor }
+ key_name: { get_param: key_name }
+ networks:
+ - port: { get_resource: rubbos_benchmark_port }
+ admin_user: ubuntu
+
+ rubbos_benchmark_port:
+ type: OS::Neutron::Port
+ properties:
+ network_id: { get_resource: private_net }
+ fixed_ips:
+ - subnet_id: { get_resource: private_subnet }
+ security_groups: [{ get_resource: server_security_group }]
+
+ server_security_group:
+ type: OS::Neutron::SecurityGroup
+ properties:
+ description: Rubbos group for servers access.
+ name: rubbos-security-group
+ rules: [
+ {remote_ip_prefix: 0.0.0.0/0,
+ protocol: tcp,
+ port_range_min: 1,
+ port_range_max: 65535},
+ {remote_ip_prefix: 0.0.0.0/0,
+ protocol: udp,
+ port_range_min: 1,
+ port_range_max: 65535},
+ {remote_ip_prefix: 0.0.0.0/0,
+ protocol: icmp}]
+
+outputs:
+ rubbos_control_private_ip:
+ description: IP address of rubbos_control in private network
+ value: { get_attr: [ rubbos_control, first_address ] }
+ rubbos_control_public_ip:
+ description: Floating IP address of rubbos_control in public network
+ value: { get_attr: [ rubbos_control_floating_ip, floating_ip_address ] }
+ rubbos_httpd_private_ip:
+ description: IP address of rubbos_httpd in private network
+ value: { get_attr: [ rubbos_httpd, first_address ] }
+ rubbos_mysql1_private_ip:
+ description: IP address of rubbos_mysql1 in private network
+ value: { get_attr: [ rubbos_mysql1, first_address ] }
+ rubbos_tomcat1_private_ip:
+ description: IP address of rubbos_tomcat1 in private network
+ value: { get_attr: [ rubbos_tomcat1, first_address ] }
+ rubbos_client1_private_ip:
+ description: IP address of rubbos_client1 in private network
+ value: { get_attr: [ rubbos_client1, first_address ] }
+ rubbos_client2_private_ip:
+ description: IP address of rubbos_client2 in private network
+ value: { get_attr: [ rubbos_client2, first_address ] }
+ rubbos_client3_private_ip:
+ description: IP address of rubbos_client3 in private network
+ value: { get_attr: [ rubbos_client3, first_address ] }
+ rubbos_client4_private_ip:
+ description: IP address of rubbos_client4 in private network
+ value: { get_attr: [ rubbos_client4, first_address ] }
+ rubbos_benchmark_private_ip:
+ description: IP address of rubbos_benchmark in private network
+ value: { get_attr: [ rubbos_benchmark, first_address ] }
+
diff --git a/utils/infra_setup/heat/tests/data/test_templates/test_template_1.yaml b/utils/infra_setup/heat/tests/data/test_templates/test_template_1.yaml
new file mode 100755
index 00000000..ca347e0a
--- /dev/null
+++ b/utils/infra_setup/heat/tests/data/test_templates/test_template_1.yaml
@@ -0,0 +1,311 @@
+heat_template_version: 2013-05-23
+
+description: >
+ HOT template to create a new neutron network plus a router to the public
+ network, and for deploying nine servers into the new network. The template also
+ assigns floating IP addresses to rubbos_control server so it is routable from the
+ public network.
+parameters:
+ key_name:
+ type: string
+ description: Name of keypair to assign to servers
+ default: bottlenecks-key
+ image:
+ type: string
+ description: Name of image to use for servers
+ default: bottlenecks-trusty-server
+ flavor:
+ type: string
+ description: Flavor to use for servers
+ default: bottlenecks-flavor
+ public_net:
+ type: string
+ description: >
+ ID or name of public network for which floating IP addresses will be allocated
+ default: net04_ext
+ private_net_name:
+ type: string
+ description: Name of private network to be created
+ default: bottlenecks-private
+ private_net_cidr:
+ type: string
+ description: Private network address (CIDR notation)
+ default: "10.0.10.0/24"
+ private_net_gateway:
+ type: string
+ description: Private network gateway address
+ default: "10.0.10.1"
+ private_net_pool_start:
+ type: string
+ description: Start of private network IP address allocation pool
+ default: "10.0.10.2"
+ private_net_pool_end:
+ type: string
+ description: End of private network IP address allocation pool
+ default: "10.0.10.199"
+
+resources:
+ private_net:
+ type: OS::Neutron::Net
+ properties:
+ name: { get_param: private_net_name }
+
+ private_subnet:
+ type: OS::Neutron::Subnet
+ properties:
+ network_id: { get_resource: private_net }
+ cidr: { get_param: private_net_cidr }
+ gateway_ip: { get_param: private_net_gateway }
+ allocation_pools:
+ - start: { get_param: private_net_pool_start }
+ end: { get_param: private_net_pool_end }
+
+ router:
+ type: OS::Neutron::Router
+ properties:
+ external_gateway_info:
+ network: { get_param: public_net }
+
+ router_interface:
+ type: OS::Neutron::RouterInterface
+ properties:
+ router_id: { get_resource: router }
+ subnet_id: { get_resource: private_subnet }
+
+ rubbos_control:
+ type: OS::Nova::Server
+ properties:
+ name: rubbos_control
+ image: { get_param: image }
+ flavor: medium
+ key_name: { get_param: key_name }
+ networks:
+ - port: { get_resource: rubbos_control_port }
+ admin_user: ubuntu
+
+ rubbos_control_port:
+ type: OS::Neutron::Port
+ properties:
+ network_id: { get_resource: private_net }
+ fixed_ips:
+ - subnet_id: { get_resource: private_subnet }
+ security_groups: [{ get_resource: server_security_group }]
+
+ rubbos_control_floating_ip:
+ type: OS::Neutron::FloatingIP
+ properties:
+ floating_network: { get_param: public_net }
+ port_id: { get_resource: rubbos_control_port }
+
+ rubbos_httpd:
+ type: OS::Nova::Server
+ properties:
+ name: rubbos_httpd
+ image: { get_param: image }
+ flavor: { get_param: flavor }
+ key_name: { get_param: key_name }
+ networks:
+ - port: { get_resource: rubbos_httpd_port }
+ admin_user: ubuntu
+
+ rubbos_httpd_port:
+ type: OS::Neutron::Port
+ properties:
+ network_id: { get_resource: private_net }
+ fixed_ips:
+ - subnet_id: { get_resource: private_subnet }
+ security_groups: [{ get_resource: server_security_group }]
+
+ rubbos_mysql1:
+ type: OS::Nova::Server
+ properties:
+ name: rubbos_mysql1
+ image: { get_param: image }
+ flavor: { get_param: flavor }
+ key_name: { get_param: key_name }
+ networks:
+ - port: { get_resource: rubbos_mysql1_port }
+ admin_user: ubuntu
+
+ rubbos_mysql1_port:
+ type: OS::Neutron::Port
+ properties:
+ network_id: { get_resource: private_net }
+ fixed_ips:
+ - subnet_id: { get_resource: private_subnet }
+ security_groups: [{ get_resource: server_security_group }]
+
+ rubbos_tomcat1:
+ type: OS::Nova::Server
+ properties:
+ name: rubbos_tomcat1
+ image: { get_param: image }
+ flavor: { get_param: flavor }
+ key_name: { get_param: key_name }
+ networks:
+ - port: { get_resource: rubbos_tomcat1_port }
+ admin_user: ubuntu
+
+ rubbos_tomcat1_port:
+ type: OS::Neutron::Port
+ properties:
+ network_id: { get_resource: private_net }
+ fixed_ips:
+ - subnet_id: { get_resource: private_subnet }
+ security_groups: [{ get_resource: server_security_group }]
+
+ rubbos_client1:
+ type: OS::Nova::Server
+ properties:
+ name: rubbos_client1
+ image: { get_param: image }
+ flavor: { get_param: flavor }
+ key_name: { get_param: key_name }
+ networks:
+ - port: { get_resource: rubbos_client1_port }
+ admin_user: ubuntu
+
+ rubbos_client1_port:
+ type: OS::Neutron::Port
+ properties:
+ network_id: { get_resource: private_net }
+ fixed_ips:
+ - subnet_id: { get_resource: private_subnet }
+ security_groups: [{ get_resource: server_security_group }]
+
+ rubbos_client2:
+ type: OS::Nova::Server
+ properties:
+ name: rubbos_client2
+ image: #image
+ flavor: { get_param: flavor }
+ key_name: { get_param: key_name }
+ networks:
+ - port: { get_resource: rubbos_client2_port }
+ admin_user: ubuntu
+
+ rubbos_client2_port:
+ type: OS::Neutron::Port
+ properties:
+ network_id: { get_resource: private_net }
+ fixed_ips:
+ - subnet_id: { get_resource: private_subnet }
+ security_groups: [{ get_resource: server_security_group }]
+
+ rubbos_client3:
+ type: OS::Nova::Server
+ properties:
+ name: rubbos_client3
+ image: { get_param: image }
+ flavor: { get_param: flavor }
+ key_name: { get_param: key_name }
+ networks:
+ - port: { get_resource: rubbos_client3_port }
+ admin_user: ubuntu
+
+ rubbos_client3_port:
+ type: OS::Neutron::Port
+ properties:
+ network_id: { get_resource: private_net }
+ fixed_ips:
+ - subnet_id: { get_resource: private_subnet }
+ security_groups: [{ get_resource: server_security_group }]
+
+ rubbos_client4:
+ type: OS::Nova::Server
+ properties:
+ name: rubbos_client4
+ image: { get_param: image }
+ flavor: { get_param: flavor }
+ key_name: { get_param: key_name }
+ networks:
+ - port: { get_resource: rubbos_client4_port }
+ admin_user: ubuntu
+
+ rubbos_client4_port:
+ type: OS::Neutron::Port
+ properties:
+ network_id: { get_resource: private_net }
+ fixed_ips:
+ - subnet_id: { get_resource: private_subnet }
+ security_groups: [{ get_resource: server_security_group }]
+
+ #rubbos_client5:
+ type: OS::Nova::Server
+ properties:
+ name: rubbos_client4
+ image: { get_param: image }
+ flavor: { get_param: flavor }
+ key_name: { get_param: key_name }
+ networks:
+ - port: { get_resource: rubbos_client4_port }
+ admin_user: ubuntu
+
+ rubbos_benchmark:
+ type: OS::Nova::Server
+ properties:
+ name: rubbos_benchmark
+ image: { get_param: image }
+ flavor: { get_param: flavor }
+ key_name: { get_param: key_name }
+ networks:
+ - port: { get_resource: rubbos_benchmark_port }
+ admin_user: ubuntu
+
+ rubbos_benchmark_port:
+ type: OS::Neutron::Port
+ properties:
+ network_id: { get_resource: private_net }
+ fixed_ips:
+ - subnet_id: { get_resource: private_subnet }
+ security_groups: [{ get_resource: server_security_group }]
+
+ server_security_group:
+ type: OS::Neutron::SecurityGroup
+ properties:
+ description: Rubbos group for servers access.
+ name: rubbos-security-group
+ rules: [
+ {remote_ip_prefix: 0.0.0.0/0,
+ protocol: tcp,
+ port_range_min: 1,
+ port_range_max: 65535},
+ {remote_ip_prefix: 0.0.0.0/0,
+ protocol: udp,
+ port_range_min: 1,
+ port_range_max: 65535},
+ {remote_ip_prefix: 0.0.0.0/0,
+ protocol: icmp}]
+
+outputs:
+ rubbos_control_private_ip:
+ description: IP address of rubbos_control in private network
+ value: { get_attr: [ rubbos_control, first_address ] }
+ rubbos_control_public_ip:
+ description: Floating IP address of rubbos_control in public network
+ value: { get_attr: [ rubbos_control_floating_ip, floating_ip_address ] }
+ rubbos_httpd_private_ip:
+ description: IP address of rubbos_httpd in private network
+ value: { get_attr: [ rubbos_httpd, first_address ] }
+ rubbos_mysql1_private_ip:
+ description: IP address of rubbos_mysql1 in private network
+ value: { get_attr: [ rubbos_mysql1, first_address ] }
+ rubbos_tomcat1_private_ip:
+ description: IP address of rubbos_tomcat1 in private network
+ value: { get_attr: [ rubbos_tomcat1, first_address ] }
+ rubbos_client1_private_ip:
+ description: IP address of rubbos_client1 in private network
+ value: { get_attr: [ rubbos_client1, first_address ] }
+ rubbos_client2_private_ip:
+ description: IP address of rubbos_client2 in private network
+ value: { get_attr: [ rubbos_client2, first_address ] }
+ rubbos_client3_private_ip:
+ description: IP address of rubbos_client3 in private network
+ value: { get_attr: [ rubbos_client3, first_address ] }
+ rubbos_client4_private_ip:
+ description: IP address of rubbos_client4 in private network
+ value: { get_attr: [ rubbos_client4, first_address ] }
+ rubbos_benchmark_private_ip:
+ description: IP address of rubbos_benchmark in private network
+ value: { get_attr: [ rubbos_benchmark, first_address ] }
+