From 61159e1e4f028dbb34573f2186d448be578894ee Mon Sep 17 00:00:00 2001 From: Mofassir Date: Wed, 6 Jan 2016 04:03:57 -0800 Subject: started work on the dashboard API Change-Id: Ifbb16f20ff8a0821b790c0c44a1eae82875f9051 Signed-off-by: Mofassir --- func/spawn_vm.py | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) (limited to 'func') diff --git a/func/spawn_vm.py b/func/spawn_vm.py index 39587b34..4723e999 100644 --- a/func/spawn_vm.py +++ b/func/spawn_vm.py @@ -23,6 +23,7 @@ from func.create_zones import create_zones class SpawnVM(Env_setup): vm_role_ip_dict = defaultdict(list) + installer = '' def __init__(self, vm_info): print 'SpawnVM Class initiated' @@ -35,10 +36,28 @@ class SpawnVM(Env_setup): nova =self. _get_nova_client() azoneobj = create_zones() azoneobj.create_agg(vm_info['availability_zone']) - self.Heat_template1 = self.HeatTemplate_vm(vm_info) + installer= self.get_installer_type() + self.Heat_template1 = self.HeatTemplate_vm(vm_info,installer) self.create_stack(vm_role_ip_dict, self.Heat_template1) - def HeatTemplate_vm(self, vm_params): + def get_installer_type(self): + print 'Getting Installer Name' + return os.environ['INSTALLER_TYPE'] + + def get_public_network(self,installer_detected): + + ''' + TODO: GET THE NAMES OF THE PUBLIC NETWORKS for OTHER PROJECTS + ''' + print 'Getting Public Network' + if installer_detected.lower() == 'fuel': + return 'net04_ext' + if installer_detected.lower() == 'apex': + return 'net04_ext' + if installer_detected.lower() == 'compass': + return 'net04_ext' + + def HeatTemplate_vm(self, vm_params, installer): try: Heat_Dic='' with open('./heat/SampleHeat.yaml', 'r+') as H_temp: @@ -54,7 +73,9 @@ class SpawnVM(Env_setup): fopenstr = fopenstr.rstrip() scriptcmd = '#!/bin/bash \n echo {0} >> foo.txt \n echo {1} >> /root/.ssh/authorized_keys'.format( fopenstr, fopenstr) - + + netName = self.get_public_network(installer) + print netName Heat_Dic['heat_template_version'] = '2014-10-16' Heat_Dic['resources']['KeyPairSavePrivate'] = { 'type': 'OS::Nova::KeyPair', @@ -65,7 +86,8 @@ class SpawnVM(Env_setup): } Heat_Dic['parameters']['public_network'] = { 'type': 'string', - 'default': vm_params['public_network'][0] + #'default': vm_params['public_network'][0] + 'default': netName } for x in range(1, len(vm_params['availability_zone']) + 1): avail_zone = vm_params['availability_zone'][x - 1] -- cgit 1.2.3-korg