diff options
-rwxr-xr-x | testsuites/rubbos/run_rubbos.py | 24 | ||||
-rwxr-xr-x | testsuites/rubbos/testcase_cfg/rubbos_1-1-1.yaml | 324 | ||||
-rwxr-xr-x | testsuites/rubbos/testcase_cfg/rubbos_1-2-1.yaml | 24 |
3 files changed, 312 insertions, 60 deletions
diff --git a/testsuites/rubbos/run_rubbos.py b/testsuites/rubbos/run_rubbos.py index c17f0d3f..9f4e1175 100755 --- a/testsuites/rubbos/run_rubbos.py +++ b/testsuites/rubbos/run_rubbos.py @@ -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) diff --git a/testsuites/rubbos/testcase_cfg/rubbos_1-1-1.yaml b/testsuites/rubbos/testcase_cfg/rubbos_1-1-1.yaml index cb590c0a..dd6d5c94 100755 --- a/testsuites/rubbos/testcase_cfg/rubbos_1-1-1.yaml +++ b/testsuites/rubbos/testcase_cfg/rubbos_1-1-1.yaml @@ -1,24 +1,300 @@ ---- - -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 index 3a6e448f..00000000 --- a/testsuites/rubbos/testcase_cfg/rubbos_1-2-1.yaml +++ /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" |