Save astute keys and port them back to astute
Closes-Bug: 1353497 Change-Id: I5df75fc71fc7ac5d0fb6221caf6ab8097052eb71
This commit is contained in:
parent
04ada3cd7e
commit
af3d1922bf
|
@ -125,6 +125,9 @@ def config(update_path):
|
|||
current_fuel_version_path, from_version_path)
|
||||
previous_version_path = join('/etc/fuel', from_version, 'version.yaml')
|
||||
|
||||
astute_container_keys_path = '/var/lib/astute'
|
||||
astute_keys_path = join(working_directory, 'astute')
|
||||
|
||||
cobbler_container_config_path = '/var/lib/cobbler/config'
|
||||
cobbler_config_path = join(working_directory, 'cobbler_configs')
|
||||
cobbler_config_files_for_verifier = join(
|
||||
|
@ -284,13 +287,17 @@ def config(update_path):
|
|||
{'id': 'astute',
|
||||
'supervisor_config': True,
|
||||
'from_image': 'astute',
|
||||
'after_container_creation_command': (
|
||||
"bash -c 'cp -rn /tmp/upgrade/astute/ "
|
||||
"/var/lib/astute/'"),
|
||||
'links': [
|
||||
{'id': 'rabbitmq', 'alias': 'rabbitmq'}],
|
||||
'volumes_from': [
|
||||
'volume_logs',
|
||||
'volume_repos',
|
||||
'volume_ssh_keys',
|
||||
'volume_fuel_configs']},
|
||||
'volume_fuel_configs',
|
||||
'volume_upgrade_directory']},
|
||||
|
||||
{'id': 'cobbler',
|
||||
'supervisor_config': True,
|
||||
|
|
|
@ -70,6 +70,7 @@ class DockerUpgrader(UpgradeEngine):
|
|||
# Preapre env for upgarde
|
||||
self.save_db()
|
||||
self.save_cobbler_configs()
|
||||
self.save_astute_keys()
|
||||
|
||||
# Run upgrade
|
||||
self.supervisor.stop_all_services()
|
||||
|
@ -224,6 +225,25 @@ class DockerUpgrader(UpgradeEngine):
|
|||
|
||||
return utils.file_contains_lines(self.pg_dump_path, patterns)
|
||||
|
||||
def save_astute_keys(self):
|
||||
"""Copy any astute generated keys."""
|
||||
container_name = self.make_container_name(
|
||||
'astute', self.from_version)
|
||||
try:
|
||||
utils.exec_cmd('docker cp {0}:{1} {2}'.format(
|
||||
container_name,
|
||||
self.config.astute_container_keys_path,
|
||||
self.config.working_directory
|
||||
))
|
||||
except errors.ExecutedErrorNonZeroExitCode:
|
||||
# we need to create default directory because in
|
||||
# after_container_creation_command will use it
|
||||
# but we want to remove keys
|
||||
if os.path.exists(self.config.astute_keys_path):
|
||||
utils.rmtree(self.config.astute_keys_path)
|
||||
raise
|
||||
os.mkdir(self.config.astute_keys_path)
|
||||
|
||||
def save_cobbler_configs(self):
|
||||
"""Copy config files from container
|
||||
"""
|
||||
|
|
|
@ -58,6 +58,7 @@ class TestDockerUpgrader(BaseTestCase):
|
|||
'stop_fuel_containers',
|
||||
'save_db',
|
||||
'save_cobbler_configs',
|
||||
'save_astute_keys',
|
||||
'upload_images',
|
||||
'create_containers',
|
||||
'generate_configs',
|
||||
|
@ -298,6 +299,16 @@ class TestDockerUpgrader(BaseTestCase):
|
|||
'{0}'.format(cobbler_config_path))
|
||||
rm_mock.assert_called_once_with(cobbler_config_path)
|
||||
|
||||
@mock.patch('fuel_upgrade.engines.docker_engine.'
|
||||
'utils.exec_cmd')
|
||||
def test_save_astute_keys(self, exec_cmd_mock):
|
||||
self.upgrader.save_astute_keys()
|
||||
|
||||
exec_cmd_mock.assert_called_once_with(
|
||||
'docker cp fuel-core-0-astute:/var/lib/astute '
|
||||
'/var/lib/fuel_upgrade/9999')
|
||||
self.called_once(exec_cmd_mock)
|
||||
|
||||
@mock.patch('fuel_upgrade.engines.docker_engine.glob.glob',
|
||||
return_value=['1.json'])
|
||||
@mock.patch('fuel_upgrade.engines.docker_engine.utils.'
|
||||
|
|
Loading…
Reference in New Issue