def test(self): parsed_json_message = self.get_request_message() tosca_template_path = self.get_tosca_template_path(parsed_json_message) # owner = parsed_json_message['owner'] tosca_service_is_up = ToscaHelper.service_is_up(sure_tosca_base_url) semaphore_is_up = ToscaHelper.service_is_up(semaphore_base_url) if tosca_service_is_up and semaphore_is_up: tosca_helper = ToscaHelper(sure_tosca_base_url, tosca_template_path) self.assertIsNotNone(tosca_helper.doc_id) nodes_to_deploy = tosca_helper.get_application_nodes() self.assertIsNotNone(nodes_to_deploy) nodes_pairs = tosca_helper.get_deployment_node_pipeline() self.assertIsNotNone(nodes_pairs) username = '******' deployService = DeployService( polemarch_base_url=polemarch_base_url, polemarch_username=username, polemarch_password='******', semaphore_base_url=semaphore_base_url, semaphore_username=username, semaphore_password='******', vms=tosca_helper.get_vms()) for node_pair in nodes_pairs: deployService.deploy(node_pair)
def test_deploy_service(self): parsed_json_message = self.get_request_message( 'https://raw.githubusercontent.com/qcdis-sdia/sdia-deployer/master/sample_requests/deploy_request_mog.json' ) tosca_template_path = self.get_tosca_template_path(parsed_json_message) # owner = parsed_json_message['owner'] tosca_service_is_up = ToscaHelper.service_is_up(sure_tosca_base_url) semaphore_is_up = ToscaHelper.service_is_up(semaphore_base_url) if tosca_service_is_up and semaphore_is_up: tosca_helper = ToscaHelper(sure_tosca_base_url, tosca_template_path) self.assertIsNotNone(tosca_helper.doc_id) nodes_to_deploy = tosca_helper.get_application_nodes() self.assertIsNotNone(nodes_to_deploy) nodes_pairs = tosca_helper.get_deployment_node_pipeline() self.assertIsNotNone(nodes_pairs) username = '******' deployService = DeployService( semaphore_base_url=semaphore_base_url, semaphore_username=username, semaphore_password='******', vms=tosca_helper.get_vms()) for node_pair in nodes_pairs: deployService.deploy(node_pair)
def semaphore(self, tosca_template_path=None, tosca_template_dict=None): tosca_helper = ToscaHelper(sure_tosca_base_url, tosca_template_path) nodes = tosca_helper.get_application_nodes() # nodes = tosca_helper.get_deployment_node_pipeline() deployService = DeployService(semaphore_base_url=semaphore_base_url, semaphore_username=semaphore_username, semaphore_password=semaphore_password, vms=tosca_helper.get_vms()) try: for node in nodes: updated_node = deployService.deploy(node) if isinstance(updated_node, list): for node in updated_node: tosca_template_dict = tosca_helper.set_node( node, tosca_template_dict) # logger.info("tosca_template_dict :" + json.dumps(tosca_template_dict)) else: tosca_template_dict = tosca_helper.set_node( updated_node, tosca_template_dict) # logger.info("tosca_template_dict :" + json.dumps(tosca_template_dict)) response = {'toscaTemplate': tosca_template_dict} output_current_milli_time = int(round(time.time() * 1000)) response["creationDate"] = output_current_milli_time logger.info("Returning Deployment") logger.info("Output message:" + json.dumps(response)) return json.dumps(response) except Exception as e: track = traceback.format_exc() print(track) raise
def test_inventory(self): tosca_service_is_up = ToscaHelper.service_is_up(sure_tosca_base_url) semaphore_is_up = ToscaHelper.service_is_up(semaphore_base_url) if tosca_service_is_up and semaphore_is_up: parsed_json_message = self.get_request_message() tosca_template_path = self.get_tosca_template_path( parsed_json_message) tosca_helper = ToscaHelper(sure_tosca_base_url, tosca_template_path) nodes_pairs = tosca_helper.get_deployment_node_pipeline() vms = tosca_helper.get_vms()
def test_inventory(self): tosca_service_is_up = ToscaHelper.service_is_up(sure_tosca_base_url) semaphore_is_up = ToscaHelper.service_is_up(semaphore_base_url) if tosca_service_is_up and semaphore_is_up: parsed_json_message = self.get_request_message( 'https://raw.githubusercontent.com/qcdis-sdia/sdia-deployer/master/sample_requests/deploy_request_mog.json' ) tosca_template_path = self.get_tosca_template_path( parsed_json_message) tosca_helper = ToscaHelper(sure_tosca_base_url, tosca_template_path) nodes_pairs = tosca_helper.get_deployment_node_pipeline() vms = tosca_helper.get_vms()
def handle_delivery(message): logger.info("Got: " + str(message)) try: message = message.decode() except (UnicodeDecodeError, AttributeError): pass parsed_json_message = json.loads(message) owner = parsed_json_message['owner'] tosca_file_name = 'tosca_template' tosca_template_dict = parsed_json_message['toscaTemplate'] tosca_template_path = save_tosca_template(tosca_template_dict) tosca_helper = ToscaHelper(sure_tosca_base_url, tosca_template_path) # nodes_to_deploy = tosca_helper.get_application_nodes() nodes = tosca_helper.get_deployment_node_pipeline() deployService = DeployService(semaphore_base_url=semaphore_base_url, semaphore_username=semaphore_username, semaphore_password=semaphore_password, vms=tosca_helper.get_vms()) try: for node in nodes: updated_node = deployService.deploy(node) if isinstance(updated_node, list): for node in updated_node: tosca_template_dict = tosca_helper.set_node( node, tosca_template_dict) # logger.info("tosca_template_dict :" + json.dumps(tosca_template_dict)) else: tosca_template_dict = tosca_helper.set_node( updated_node, tosca_template_dict) # logger.info("tosca_template_dict :" + json.dumps(tosca_template_dict)) response = {'toscaTemplate': tosca_template_dict} output_current_milli_time = int(round(time.time() * 1000)) response["creationDate"] = output_current_milli_time logger.info("Returning Deployment") logger.info("Output message:" + json.dumps(response)) return json.dumps(response) except Exception as e: track = traceback.format_exc() print(track) raise