diff options
author | MatthewLi <matthew.lijun@huawei.com> | 2016-03-24 22:22:43 -0400 |
---|---|---|
committer | MatthewLi <matthew.lijun@huawei.com> | 2016-03-24 22:28:09 -0400 |
commit | ab7c7ec8d74647c3e9f73ec6abb60866064fc6a2 (patch) | |
tree | 488680b7e7fe3985e568ae8138c6014c5f33f3fd | |
parent | 59e823031ecd6b073831efb1a9cbea4a60322781 (diff) |
rubbos instance workflow improvement
JIRA: BOTTLENECK-46
Change-Id: I3c2adc93701b4b1fb2d34601e2aaeb8d714880b7
Signed-off-by: MatthewLi <matthew.lijun@huawei.com>
-rwxr-xr-x | utils/infra_setup/heat_template/bottlenecks_template1.yaml | 104 | ||||
-rwxr-xr-x | utils/infra_setup/heat_template/rubbos_heat_template/HOT_create_instance.sh (renamed from utils/infra_setup/heat_template/HOT_create_instance.sh) | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | utils/infra_setup/heat_template/rubbos_heat_template/rubbos_1-1-1_template.yaml (renamed from utils/infra_setup/heat_template/bottlenecks_rubbos_hot.yaml) | 0 | ||||
-rwxr-xr-x | utils/infra_setup/heat_template/rubbos_heat_template/rubbos_1-2-1_template.yaml | 321 |
4 files changed, 321 insertions, 104 deletions
diff --git a/utils/infra_setup/heat_template/bottlenecks_template1.yaml b/utils/infra_setup/heat_template/bottlenecks_template1.yaml deleted file mode 100755 index 7c6dd8e7..00000000 --- a/utils/infra_setup/heat_template/bottlenecks_template1.yaml +++ /dev/null @@ -1,104 +0,0 @@ -heat_template_version: 2014-10-16 - -description: template to deploy a instance used for bottlenecks project - -parameters: - image: - type: string - label: Image name or ID - description: Image to be used for deploying instance - default: your_image_name - flavor: - type: string - label: Flavor - description: Type of instance (flavor) to be used - default: m1.medium - key: - type: string - label: Key name - description: Name of key-pair to be used for deploying instance - default: your_key - public_network: - type: string - label: Public network name or ID - description: Network to attach instance to. - default: your_public_net - -resources: - web_server_security_group: - type: OS::Neutron::SecurityGroup - properties: - name: web_server_security_group - rules: - - protocol: tcp - port_range_min: 80 - port_range_max: 80 - - protocol: tcp - port_range_min: 443 - port_range_max: 443 - - protocol: icmp - - protocol: tcp - port_range_min: 22 - port_range_max: 22 - private_network: - type: OS::Neutron::Net - - private_subnet: - type: OS::Neutron::Subnet - properties: - network_id: {get_resource: private_network } - cidr: 10.10.10.0/24 #change it according to your own requirement - dns_nameservers: - - 8.8.8.8 - - router: - type: OS::Neutron::Router - properties: - external_gateway_info: - network: { get_param: public_network } - - router-interface: - type: OS::Neutron::RouterInterface - properties: - router_id: { get_resource: router } - subnet: { get_resource: private_subnet } - - floating_ip: - type: OS::Neutron::FloatingIP - properties: - floating_network: { get_param: public_network } - - floating_ip_assoc: - type: OS::Neutron::FloatingIPAssociation - properties: - floatingip_id: { get_resource: floating_ip } - port_id: { get_resource: bottlenecks_port } - - bottlenecks_port: - type: OS::Neutron::Port - properties: - network: { get_resource: private_network } - security_groups: - - { get_resource: web_server_security_group } - - bottlenecks_instance: - type: OS::Nova::Server - properties: - image: { get_param: image } - flavor: { get_param: flavor } - key_name: { get_param: key } - networks: - - port: { get_resource: bottlenecks_port } - user_data_format: RAW - user_data: | - #!/bin/sh -ex - - echo "hello world" - -outputs: - instance_name: - description: Name of the instance - value: { get_attr: [bottlenecks_instance, name] } - instance_ip: - description: IP address of the deployed instance - value: { get_attr: [floating_ip, floating_ip_address] } diff --git a/utils/infra_setup/heat_template/HOT_create_instance.sh b/utils/infra_setup/heat_template/rubbos_heat_template/HOT_create_instance.sh index 1a80d950..1a80d950 100755 --- a/utils/infra_setup/heat_template/HOT_create_instance.sh +++ b/utils/infra_setup/heat_template/rubbos_heat_template/HOT_create_instance.sh diff --git a/utils/infra_setup/heat_template/bottlenecks_rubbos_hot.yaml b/utils/infra_setup/heat_template/rubbos_heat_template/rubbos_1-1-1_template.yaml index 53600443..53600443 100644..100755 --- a/utils/infra_setup/heat_template/bottlenecks_rubbos_hot.yaml +++ b/utils/infra_setup/heat_template/rubbos_heat_template/rubbos_1-1-1_template.yaml diff --git a/utils/infra_setup/heat_template/rubbos_heat_template/rubbos_1-2-1_template.yaml b/utils/infra_setup/heat_template/rubbos_heat_template/rubbos_1-2-1_template.yaml new file mode 100755 index 00000000..d76a08cd --- /dev/null +++ b/utils/infra_setup/heat_template/rubbos_heat_template/rubbos_1-2-1_template.yaml @@ -0,0 +1,321 @@ +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_tomcat2: + type: OS::Nova::Server + properties: + name: rubbos_tomcat2 + image: { get_param: image } + flavor: { get_param: flavor } + key_name: { get_param: key_name } + networks: + - port: { get_resource: rubbos_tomcat2_port } + admin_user: ubuntu + + rubbos_tomcat2_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_tomcat2_private_ip: + description: IP address of rubbos_tomcat2 in private network + value: { get_attr: [ rubbos_tomcat2, 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 ] } |