コード例 #1
0
    def __init__(self, *args, **kwargs):
        super(DockerUpgrader, self).__init__(*args, **kwargs)

        self.working_directory = self.config.working_directory

        utils.create_dir_if_not_exists(self.working_directory)

        self.docker_client = docker.Client(
            base_url=self.config.docker['url'],
            version=self.config.docker['api_version'],
            timeout=self.config.docker['http_timeout'])

        self.new_release_images = self.make_new_release_images_list()
        self.new_release_containers = self.make_new_release_containers_list()
        self.pg_dump_path = os.path.join(
            self.working_directory, 'pg_dump_all.sql')
        self.cobbler_config_path = self.config.cobbler_config_path.format(
            working_directory=self.working_directory)
        self.upgrade_verifier = FuelUpgradeVerify(self.config)

        self.from_version_path = self.config.from_version_path
        self.save_current_version_file()
        self.from_version = from_fuel_version(
            self.from_version_path, self.config.current_fuel_version_path)
        self.supervisor = SupervisorClient(self.config, self.from_version)
コード例 #2
0
ファイル: test_utils.py プロジェクト: koder-ua/nailgun-fcert
    def test_create_dir_if_not_exists(self, mock_makedirs):
        path = 'some_path'
        with mock.patch('fuel_upgrade.utils.os.path.isdir',
                        return_value=False) as mock_isdir:

            create_dir_if_not_exists(path)
            mock_isdir.assert_called_once_with(path)
            mock_makedirs.assert_called_once_with(path)
コード例 #3
0
    def test_create_dir_if_not_exists(self, mock_makedirs):
        path = 'some_path'
        with mock.patch(
                'fuel_upgrade.utils.os.path.isdir',
                return_value=False) as mock_isdir:

            create_dir_if_not_exists(path)
            mock_isdir.assert_called_once_with(path)
            mock_makedirs.assert_called_once_with(path)
コード例 #4
0
ファイル: test_utils.py プロジェクト: koder-ua/nailgun-fcert
    def test_create_dir_if_not_exists_does_not_create_dir(self, mock_makedirs):
        path = 'some_path'

        with mock.patch('fuel_upgrade.utils.os.path.isdir',
                        return_value=True) as mock_isdir:

            create_dir_if_not_exists(path)
            mock_isdir.assert_called_once_with(path)
            self.method_was_not_called(mock_makedirs)
コード例 #5
0
    def test_create_dir_if_not_exists_does_not_create_dir(self, mock_makedirs):
        path = 'some_path'

        with mock.patch(
                'fuel_upgrade.utils.os.path.isdir',
                return_value=True) as mock_isdir:

            create_dir_if_not_exists(path)
            mock_isdir.assert_called_once_with(path)
            self.method_was_not_called(mock_makedirs)
コード例 #6
0
ファイル: openstack.py プロジェクト: koder-ua/nailgun-fcert
    def install_versions(self):
        """Copy openstack release versions
        """
        logger.info('Copy openstack release versions...')
        release_versions_cfg = self.config.openstack['release_versions']
        versions = glob.glob(release_versions_cfg['src'])

        utils.create_dir_if_not_exists(release_versions_cfg['dst'])
        for version_file in versions:
            dst = os.path.join(release_versions_cfg['dst'],
                               os.path.basename(version_file))
            utils.copy(version_file, dst)
コード例 #7
0
ファイル: version_file.py プロジェクト: isuzdal/fuel-upgrade
    def save_current(self):
        """Save current version in working directory if it was not saved before

        This action is important in case
        when upgrade script was interrupted
        after symlinking of version.yaml file.
        """
        utils.create_dir_if_not_exists(os.path.dirname(
            self.store_version_file))
        utils.copy_if_does_not_exist(
            self.current_version_file,
            self.store_version_file)
コード例 #8
0
ファイル: openstack.py プロジェクト: isuzdal/fuel-upgrade
    def install_versions(self):
        """Copy openstack release versions"""
        logger.info('Copy openstack release versions...')
        release_versions_cfg = self.config.openstack['release_versions']
        versions = glob.glob(release_versions_cfg['src'])

        utils.create_dir_if_not_exists(release_versions_cfg['dst'])
        for version_file in versions:
            dst = os.path.join(
                release_versions_cfg['dst'],
                os.path.basename(version_file))
            utils.copy(version_file, dst)
    def run(self):
        """Copy version files"""
        utils.create_dir_if_not_exists(self.release_dir)
        utils.copy_if_exists(self.version_path_5_0, self.dst_version_path_5_0)

        # NOTE(eli): in case of failed upgrade
        # from 5.0 to 5.0.1 file for 5.0.1 can
        # be there, but in fact 5.0.1 was not
        # installed
        if self.config.from_version == '5.0.1':
            utils.copy_if_exists(
                self.version_path_5_0_1,
                self.dst_version_path_5_0_1)
コード例 #10
0
    def switch_version_to_new(self):
        """Switches version.yaml file to new version

        * creates new version yaml file
        * and creates symlink to /etc/fuel/version.yaml
        """
        logger.info(u'Run post upgrade actions')
        version_yaml_from_upgrade = self.config.new_upgrade_version_path
        new_version_path = self.config.new_version_path

        utils.create_dir_if_not_exists(os.path.dirname(new_version_path))
        utils.copy(version_yaml_from_upgrade, new_version_path)
        utils.symlink(new_version_path, self.config.current_fuel_version_path)
コード例 #11
0
ファイル: docker_engine.py プロジェクト: koder-ua/fuel-cert
    def switch_version_to_new(self):
        """Switches version.yaml file to new version

        * creates new version yaml file
        * and creates symlink to /etc/fuel/version.yaml
        """
        logger.info(u'Run post upgrade actions')
        version_yaml_from_upgrade = self.config.new_upgrade_version_path
        new_version_path = self.config.new_version_path

        utils.create_dir_if_not_exists(os.path.dirname(new_version_path))
        utils.copy(version_yaml_from_upgrade, new_version_path)
        utils.symlink(new_version_path, self.config.current_fuel_version_path)
コード例 #12
0
    def run(self):
        """Copy version files
        """
        utils.create_dir_if_not_exists(self.release_dir)
        utils.copy_if_exists(self.version_path_5_0, self.dst_version_path_5_0)

        # NOTE(eli): in case of failed upgrade
        # from 5.0 to 5.0.1 file for 5.0.1 can
        # be there, but in fact 5.0.1 was not
        # installed
        if self.config.from_version == '5.0.1':
            utils.copy_if_exists(
                self.version_path_5_0_1,
                self.dst_version_path_5_0_1)
コード例 #13
0
    def save_current(self):
        """Save current version in working
        directory if it was not saved during
        previous run.

        This action is important in case
        when upgrade script was interrupted
        after symlinking of version.yaml file.
        """
        utils.create_dir_if_not_exists(os.path.dirname(
            self.store_version_file))
        utils.copy_if_does_not_exist(
            self.current_version_file,
            self.store_version_file)
コード例 #14
0
    def switch_to_new(self):
        """Switche version file to new version

        * creates new version yaml file
        * and creates symlink to /etc/fuel/version.yaml
        """
        logger.info('Switch version file to new version')

        utils.create_dir_if_not_exists(os.path.dirname(
            self.dst_new_version_file))

        utils.copy(
            self.src_new_version_file,
            self.dst_new_version_file)

        utils.symlink(
            self.dst_new_version_file,
            self.current_version_file)
コード例 #15
0
ファイル: docker_engine.py プロジェクト: kansuke4649/fuel-web
    def __init__(self, *args, **kwargs):
        super(DockerUpgrader, self).__init__(*args, **kwargs)

        self.working_directory = self.config.working_directory

        utils.create_dir_if_not_exists(self.working_directory)

        self.docker_client = docker.Client(
            base_url=self.config.docker['url'],
            version=self.config.docker['api_version'],
            timeout=self.config.docker['http_timeout'])

        self.new_release_containers = self.make_new_release_containers_list()
        self.cobbler_config_path = self.config.cobbler_config_path.format(
            working_directory=self.working_directory)
        self.upgrade_verifier = FuelUpgradeVerify(self.config)

        self.from_version = self.config.from_version
        self.supervisor = SupervisorClient(self.config, self.from_version)
コード例 #16
0
ファイル: supervisor_client.py プロジェクト: toby82/fuel-web
    def __init__(self, config, from_version):
        """Create supervisor client

        :param config: config object
        """
        self.config = config
        self.from_version = from_version

        self.supervisor_template_path = os.path.join(self.templates_dir,
                                                     'supervisor.conf')
        self.supervisor_common_template_path = os.path.join(
            self.templates_dir, 'common.conf')
        self.supervisor_config_dir = self.get_config_path(
            self.config.new_version)
        self.previous_supervisor_config_path = self.get_config_path(
            self.from_version)

        utils.create_dir_if_not_exists(self.supervisor_config_dir)
        self.supervisor = self.get_supervisor()
コード例 #17
0
ファイル: supervisor_client.py プロジェクト: Zipfer/fuel-web
    def __init__(self, config, from_version):
        """Create supervisor client

        :param config: config object
        """
        self.config = config
        self.from_version = from_version

        self.supervisor_template_path = os.path.join(
            self.templates_dir, 'supervisor.conf')
        self.supervisor_common_template_path = os.path.join(
            self.templates_dir, 'common.conf')
        self.supervisor_config_dir = self.get_config_path(
            self.config.new_version)
        self.previous_supervisor_config_path = self.get_config_path(
            self.from_version)

        utils.create_dir_if_not_exists(self.supervisor_config_dir)
        self.supervisor = self.get_supervisor()
コード例 #18
0
ファイル: docker_engine.py プロジェクト: nebril/fuel-web
    def __init__(self, *args, **kwargs):
        super(DockerUpgrader, self).__init__(*args, **kwargs)

        self.working_directory = self.config.working_directory

        utils.create_dir_if_not_exists(self.working_directory)

        self.docker_client = docker.Client(
            base_url=self.config.docker['url'],
            version=self.config.docker['api_version'],
            timeout=self.config.docker['http_timeout'])

        self.new_release_containers = self.make_new_release_containers_list()
        self.cobbler_config_path = self.config.cobbler_config_path.format(
            working_directory=self.working_directory)
        self.upgrade_verifier = FuelUpgradeVerify(self.config)

        self.from_version = self.config.from_version
        self.supervisor = SupervisorClient(self.config, self.from_version)