Пример #1
0
    def __init__(self,
                 environment_name,
                 stack_name,
                 aws_profile,
                 manager_provider,
                 version=None,
                 deploy=True,
                 nova_descriptor_file=None):
        self._environment_name = environment_name
        self._stack_name = stack_name
        self._deploy = deploy
        self._version_manager = manager_provider.version_manager()
        self._docker_manager = manager_provider.docker_manager()
        self._service_manager = NovaServiceLoader(environment_name,
                                                  nova_descriptor_file)
        self._aws_manager = manager_provider.aws_manager(
            aws_profile or self._service_manager.environment.aws_profile,
            self._service_manager.environment.aws_region)
        self._build_id = self._version_manager.current_version(version)
        self._stack = self._service_manager.get_stack(self._stack_name)
        self._code_deploy_app = self._service_manager.code_deploy_app
        if self._stack.deployment_group is None:
            raise NovaError(
                "Environment '%s' stack '%s' does not have 'deployment_group' set!"
                % (self._environment_name, self._stack.name))

        self._nova_deploy_dir = None
        self._custom_scripts = CustomScripts()
Пример #2
0
    def __init__(self, aws_profile, environment_name, manager_provider,
                 cf_template_out=None, nova_descriptor_file=None, include_docker=True):
        check_latest_version()

        print("Creating cloudformation scripts...")

        self._environment_name = environment_name
        self._service_manager = NovaServiceLoader(environment_name, nova_descriptor_file)
        self._aws_manager = manager_provider.aws_manager(
            aws_profile or self._service_manager.environment.aws_profile,
            self._service_manager.environment.aws_region
        )

        self._s3_bucket = 'nova-deployment-templates-%s' % self._aws_manager.account_alias
        self.cloudformation_template = self._service_manager.service.to_cfn_template(
            self._service_manager.environment,
            self._s3_bucket,
            self._aws_manager,
            cf_template_out,
            include_docker
        )