Пример #1
0
    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
Пример #2
0
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