X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=testsuites%2Frubbos%2Frun_rubbos.py;h=32221f729d80bd836f54d6dc56e77ce8c3928f38;hb=d5e21b553c692948ec3710a5f1c1bc7dbabb6a62;hp=9f4e1175719561cbde012f44ea9b1296f9489a02;hpb=b77e43f1c4eecb00ce28ca82aed622daf2eee8d3;p=bottlenecks.git diff --git a/testsuites/rubbos/run_rubbos.py b/testsuites/rubbos/run_rubbos.py index 9f4e1175..32221f72 100755 --- a/testsuites/rubbos/run_rubbos.py +++ b/testsuites/rubbos/run_rubbos.py @@ -164,7 +164,7 @@ def rubbos_create_flavors(name="bottlenecks_rubbos_flavor", ram=4096, vcpus=2, d nova = _get_nova_client() nova.flavors.create(name=name, ram=ram, vcpus=vcpus, disk=disk) -def rubbos_create_instance(template_file, rubbos_parameters=None, stack_name="bottlenecks_rubbos_stack"): +def rubbos_create_instances(template_file, rubbos_parameters=None, stack_name="bottlenecks_rubbos_stack"): print "========== Create rubbos instances ==========" heat = _get_heat_client() @@ -186,15 +186,75 @@ def rubbos_create_instance(template_file, rubbos_parameters=None, stack_name="bo print "After %d seconds, the stack's status is [%s]" %(timeInProgress, stack_status) return True if stack_status == "CREATE_COMPLETE" else False +def get_instances(nova_client): + try: + instances = nova_client.servers.list(search_opts={'all_tenants': 1}) + return instances + except Exception, e: + print "Error [get_instances(nova_client)]:", e + return None + def rubbos_run(): - pass + print "========== run rubbos ===========" + + nova = _get_nova_client() + + instances = get_instances(nova) + control_servers = [] + client_servers = [] + web_servers = [] + cjdbc_controller = [] + database_servers = [] + for instance in instances: + name = getattr(instance, 'name') + private_ip = [ x['addr'] for x in getattr(instance, 'addresses').itervalues().next() if x['OS-EXT-IPS:type'] == 'fixed'] + public_ip = [ x['addr'] for x in getattr(instance, 'addresses').itervalues().next() if x['OS-EXT-IPS:type'] == 'floating'] + + if name.find("control") > 0: + control_servers.append(''.join(str(name)+':'+public_ip[0]+':'+private_ip[0])) + if name.find("client") > 0: + client_servers.append(''.join(str(name)+':'+private_ip[0])) + if name.find("tomcat") > 0: + web_servers.append(''.join(str(name)+':'+private_ip[0])) + if name.find("cjdbc") > 0: + cjdbc_controller.append(''.join(str(name)+':'+private_ip[0])) + if name.find("mysql") > 0: + database_servers.append(''.join(str(name)+':'+private_ip[0])) + + f = open('rubbos.conf', 'w') + f.write('[Controller]\n\n') + f.write('controller=') + for i in control_servers: + f.write(i+',') + f.write('\n\n') + f.write('[Hosts]\n\n') + f.write('client_servers=') + for i in client_servers: + f.write(i + ',') + f.write('\n') + f.write('web_servers=') + for i in web_servers: + f.write(i+',') + f.write('\n') + f.write('cjdbc_controller=') + for i in cjdbc_controller: + f.write(i+',') + f.write('\n') + f.write('database_servers=') + for i in database_servers: + f.write(i + ',') + f.close() + f = open('rubbos.conf','r') + line = f.readlines() + f.close() + for i in line: + print(i) def main(): global Heat_template global Bottlenecks_repo_dir global image_url 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'