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 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