bugfix of run_rubbos.py in CI job 51/12551/4
authorMatthewLi <matthew.lijun@huawei.com>
Fri, 22 Apr 2016 03:07:45 +0000 (23:07 -0400)
committerMatthewLi <matthew.lijun@huawei.com>
Fri, 22 Apr 2016 08:52:03 +0000 (04:52 -0400)
JIRA: BOTTLENECKS-46

Change-Id: Iecdef87b1e158fad0168a91c5458bc618f62cad1
Signed-off-by: MatthewLi <matthew.lijun@huawei.com>
testsuites/rubbos/run_rubbos.py
testsuites/rubbos/testcase_cfg/rubbos_1-1-1.yaml
testsuites/rubbos/testcase_cfg/rubbos_1-2-1.yaml [deleted file]

index c17f0d3..9f4e117 100755 (executable)
@@ -8,7 +8,6 @@
 # http://www.apache.org/licenses/LICENSE-2.0
 ##############################################################################
 
-
 import os
 import argparse
 import time
@@ -26,7 +25,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="/tmp/rubbos_1-1-1.yaml")
+                    default="/home/opnfv/bottlenecks/testsuites/rubbos/testcase_cfg/rubbos_1-1-1.yaml")
 args = parser.parse_args()
 
 #--------------------------------------------------
@@ -81,10 +80,10 @@ def rubbos_stack_satisfy(name="bottlenecks_rubbos_stack", status="CREATE_COMPLET
     for stack in heat.stacks.list():
         if status == None and stack.stack_name == name:
             # Found target stack
-            print "Found stack, name=" + stack.stack_name
+            print "Found stack, name=" + str(stack.stack_name)
             return True
         elif stack.stack_name == name and stack.stack_status==status:
-            print "Found stack, name=" + stack.stack_name + ", status=" + stack.stack_status
+            print "Found stack, name=" + str(stack.stack_name) + ", status=" + str(stack.stack_status)
             return True
     return False
 
@@ -105,17 +104,17 @@ def rubbos_env_cleanup():
 
     for keypair in nova.keypairs.list():
         if keypair.name.find("bottlenecks_rubbos") >= 0:
-            print "Delete keypair, id:" + keypair.id + ", name:" + keypair.name
+            print "Delete keypair, id:" + str(keypair.id) + ", name:" + str(keypair.name)
             nova.keypairs.delete(keypair.id)
 
     for flavor in nova.flavors.list():
         if flavor.name.find("bottlenecks_rubbos") >= 0:
-            print "Delete flavor, id:" + str(flavor.id) + ", name:" + flavor.name
+            print "Delete flavor, id:" + str(flavor.id) + ", name:" + str(flavor.name)
             nova.flavors.delete(flavor.id)
 
     for stack in heat.stacks.list():
         if stack.stack_name.find("bottlenecks_rubbos") >= 0:
-            print "Delete stack, id: " + str(stack.id) + ", name:" + str(stack.stack_name
+            print "Delete stack, id: " + str(stack.id) + ", name:" + str(stack.stack_name)
             heat.stacks.delete(stack.id)
 
     timeInProgress = 0
@@ -175,7 +174,7 @@ def rubbos_create_instance(template_file, rubbos_parameters=None, stack_name="bo
     stack_id = stack['stack']['id']
     stack_status = heat.stacks.get(stack_id).stack_status
 
-    print "Created stack, id=" + stack_id + ", status=" + stack_status
+    print "Created stack, id=" + str(stack_id) + ", status=" + str(stack_status)
 
     timeInProgress= 0
     while stack_status == "CREATE_IN_PROGRESS" and timeInProgress < 150:
@@ -194,9 +193,9 @@ def main():
     global Heat_template
     global Bottlenecks_repo_dir
     global image_url
-    Bottlenecks_repo_dir = "/tmp/opnfvrepo/bottlenecks"
+    Bottlenecks_repo_dir = "/home/opnfv/bottlenecks"      # same in Dockerfile, docker directory
     #Bottlenecks_repo_dir = "/root/wyg/bottlenecks"       # Test dir in local env
+
     image_url = 'http://artifacts.opnfv.org/bottlenecks/rubbos/bottlenecks-trusty-server.img'
 
     if not (args.conf):
@@ -205,10 +204,11 @@ def main():
     else:
        Heat_template = args.conf
 
+    #TO DO:the parameters are all used defaults here, it should be changed depends on what it is really named
     parameters={'image': 'bottlenecks_rubbos_image',
                 'key_name': 'bottlenecks_rubbos_keypair',
-                'flavor': 'm1.small',
-                'public_net': 'ext-net'}
+                'flavor': 'bottlenecks_rubbos_flavor',
+                'public_net': os.environ.get('EXTERNAL_NET')}
 
     print "Heat_template_file: " + Heat_template
     print "parameters:\n" + str(parameters)
index cb590c0..dd6d5c9 100755 (executable)
----
-
-description:
-  casename: "rubbos_1-1-1"
-
-amount:
-  client_num: 5
-  httpd_num: 1
-  tomcat_num: 1
-  mysql_num: 1
-
-vms:
-  client_vm:
-    flavor: "m1.tiny"
-    OS_image: "ubuntu14.04"
-  httpd_vm:
-    flavor: "m1.tiny"
-    OS_image: "ubuntu14.04"
-  tomcat_vm:
-    flavor: "m1.tiny"
-    OS_image: "ubuntu14.04"
-  mysql_vm:
-    flavor: "m1.medium"
-    OS_image: "ubuntu14.04"
+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_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"
+
+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/testsuites/rubbos/testcase_cfg/rubbos_1-2-1.yaml b/testsuites/rubbos/testcase_cfg/rubbos_1-2-1.yaml
deleted file mode 100755 (executable)
index 3a6e448..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
----
-
-description:
-  casename: "rubbos_1-1-1"
-
-amount:
-  client_num: 5
-  httpd_num: 1
-  tomcat_num: 2
-  mysql_num: 1
-
-vms:
-  client_vm:
-    flavor: "m1.tiny"
-    OS_image: "ubuntu14.04"
-  httpd_vm:
-    flavor: "m1.tiny"
-    OS_image: "ubuntu14.04"
-  tomcat_vm:
-    flavor: "m1.tiny"
-    OS_image: "ubuntu14.04"
-  mysql_vm:
-    flavor: "m1.medium"
-    OS_image: "ubuntu14.04"