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)
|
current_fuel_version_path, from_version_path)
|
||||||
previous_version_path = join('/etc/fuel', from_version, 'version.yaml')
|
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_container_config_path = '/var/lib/cobbler/config'
|
||||||
cobbler_config_path = join(working_directory, 'cobbler_configs')
|
cobbler_config_path = join(working_directory, 'cobbler_configs')
|
||||||
cobbler_config_files_for_verifier = join(
|
cobbler_config_files_for_verifier = join(
|
||||||
|
@ -284,13 +287,17 @@ def config(update_path):
|
||||||
{'id': 'astute',
|
{'id': 'astute',
|
||||||
'supervisor_config': True,
|
'supervisor_config': True,
|
||||||
'from_image': 'astute',
|
'from_image': 'astute',
|
||||||
|
'after_container_creation_command': (
|
||||||
|
"bash -c 'cp -rn /tmp/upgrade/astute/ "
|
||||||
|
"/var/lib/astute/'"),
|
||||||
'links': [
|
'links': [
|
||||||
{'id': 'rabbitmq', 'alias': 'rabbitmq'}],
|
{'id': 'rabbitmq', 'alias': 'rabbitmq'}],
|
||||||
'volumes_from': [
|
'volumes_from': [
|
||||||
'volume_logs',
|
'volume_logs',
|
||||||
'volume_repos',
|
'volume_repos',
|
||||||
'volume_ssh_keys',
|
'volume_ssh_keys',
|
||||||
'volume_fuel_configs']},
|
'volume_fuel_configs',
|
||||||
|
'volume_upgrade_directory']},
|
||||||
|
|
||||||
{'id': 'cobbler',
|
{'id': 'cobbler',
|
||||||
'supervisor_config': True,
|
'supervisor_config': True,
|
||||||
|
|
|
@ -70,6 +70,7 @@ class DockerUpgrader(UpgradeEngine):
|
||||||
# Preapre env for upgarde
|
# Preapre env for upgarde
|
||||||
self.save_db()
|
self.save_db()
|
||||||
self.save_cobbler_configs()
|
self.save_cobbler_configs()
|
||||||
|
self.save_astute_keys()
|
||||||
|
|
||||||
# Run upgrade
|
# Run upgrade
|
||||||
self.supervisor.stop_all_services()
|
self.supervisor.stop_all_services()
|
||||||
|
@ -224,6 +225,25 @@ class DockerUpgrader(UpgradeEngine):
|
||||||
|
|
||||||
return utils.file_contains_lines(self.pg_dump_path, patterns)
|
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):
|
def save_cobbler_configs(self):
|
||||||
"""Copy config files from container
|
"""Copy config files from container
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -58,6 +58,7 @@ class TestDockerUpgrader(BaseTestCase):
|
||||||
'stop_fuel_containers',
|
'stop_fuel_containers',
|
||||||
'save_db',
|
'save_db',
|
||||||
'save_cobbler_configs',
|
'save_cobbler_configs',
|
||||||
|
'save_astute_keys',
|
||||||
'upload_images',
|
'upload_images',
|
||||||
'create_containers',
|
'create_containers',
|
||||||
'generate_configs',
|
'generate_configs',
|
||||||
|
@ -298,6 +299,16 @@ class TestDockerUpgrader(BaseTestCase):
|
||||||
'{0}'.format(cobbler_config_path))
|
'{0}'.format(cobbler_config_path))
|
||||||
rm_mock.assert_called_once_with(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',
|
@mock.patch('fuel_upgrade.engines.docker_engine.glob.glob',
|
||||||
return_value=['1.json'])
|
return_value=['1.json'])
|
||||||
@mock.patch('fuel_upgrade.engines.docker_engine.utils.'
|
@mock.patch('fuel_upgrade.engines.docker_engine.utils.'
|
||||||
|
|
Loading…
Reference in New Issue