Add a fundamental rubbos test case with minimum resources 15/14415/1
authorwangyaoguang <sunshine.wang@huawei.com>
Fri, 20 May 2016 07:13:44 +0000 (15:13 +0800)
committerwangyaoguang <sunshine.wang@huawei.com>
Fri, 20 May 2016 07:18:31 +0000 (15:18 +0800)
This is a fundamental test case with minimum resource for rubbos test.
The benefits are two-fold. One is as daily test case since its bring-up time is fastest.
Another is as a baseline.

JIRA: BOTTLENECK-79

Change-Id: Ia4ffa5f2631da69ca5c6fc52558d3cf063d1b893
Signed-off-by: wangyaoguang <sunshine.wang@huawei.com>
testsuites/rubbos/run_rubbos.py
testsuites/rubbos/testcase_cfg/rubbos_basic.yaml [new file with mode: 0644]

index 4005f4e..97b5357 100755 (executable)
@@ -26,7 +26,7 @@ from novaclient.client import Client as NovaClient
 parser = argparse.ArgumentParser()
 parser.add_argument("-c", "--conf",
                     help="configuration files for the testcase, in yaml format",
-                    default="/home/opnfv/bottlenecks/testsuites/rubbos/testcase_cfg/rubbos_1-1-0-1.yaml")
+                    default="/home/opnfv/bottlenecks/testsuites/rubbos/testcase_cfg/rubbos_basic.yaml")
 args = parser.parse_args()
 
 #--------------------------------------------------
diff --git a/testsuites/rubbos/testcase_cfg/rubbos_basic.yaml b/testsuites/rubbos/testcase_cfg/rubbos_basic.yaml
new file mode 100644 (file)
index 0000000..791c95f
--- /dev/null
@@ -0,0 +1,227 @@
+heat_template_version: 2013-05-23
+
+description: >
+  HOT template to create a stack with  minimum number of resources for rubbos.
+parameters:
+  key_name:
+    type: string
+    description: Name of keypair to assign to servers
+    default: bottlenecks_rubbos_keypair
+  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_rubbos_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"
+  master_user_data:
+    type: string
+    description: User data for the server with master role
+    default: ""
+  agent_user_data:
+    type: string
+    description: User data for the server with agent role
+    default: ""
+
+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 }
+      dns_nameservers: [ "8.8.8.8" ]
+
+  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
+      user_data: { get_param: master_user_data }
+      user_data_format: RAW
+
+  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
+      user_data: { get_param: agent_user_data }
+      user_data_format: RAW
+
+  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
+      user_data: { get_param: agent_user_data }
+      user_data_format: RAW
+
+  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
+      user_data: { get_param: agent_user_data }
+      user_data_format: RAW
+
+  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
+      user_data: { get_param: agent_user_data }
+      user_data_format: RAW
+
+  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 }]
+
+  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 ] }