diff --git a/octane/handlers/backup_restore/__init__.py b/octane/handlers/backup_restore/__init__.py index 8a2a5a57..c31e8d53 100644 --- a/octane/handlers/backup_restore/__init__.py +++ b/octane/handlers/backup_restore/__init__.py @@ -28,9 +28,10 @@ ARCHIVATORS = [ cobbler.CobblerArchivator, fuel_keys.FuelKeysArchivator, fuel_uuid.FuelUUIDArchivator, - postgres.KeystoneArchivator, - postgres.NailgunArchivator, puppet.PuppetArchivator, + postgres.KeystoneArchivator, + # Nailgun restore should be after puppet restore + postgres.NailgunArchivator, ssh.SshArchivator, version.VersionArchivator, nailgun_plugins.NailgunPluginsArchivator, diff --git a/octane/handlers/backup_restore/postgres.py b/octane/handlers/backup_restore/postgres.py index 8a9005ca..7a38e69d 100644 --- a/octane/handlers/backup_restore/postgres.py +++ b/octane/handlers/backup_restore/postgres.py @@ -95,6 +95,13 @@ class NailgunArchivator(PostgresArchivator): release.update(fixture['fields']) self.__post_data_to_nailgun( "/api/v1/releases/", release, context.password) + subprocess.call([ + "fuel", + "release", + "--sync-deployment-tasks", + "--dir", + "/etc/puppet/", + ]) class KeystoneArchivator(PostgresArchivator): diff --git a/octane/tests/test_archivators_restore.py b/octane/tests/test_archivators_restore.py index 37a05fcd..0477ca9b 100644 --- a/octane/tests/test_archivators_restore.py +++ b/octane/tests/test_archivators_restore.py @@ -391,7 +391,7 @@ def test_post_restore_nailgun(mocker): {"fields": {}}, {"fields": {"k": 3}}, ]) - + mock_subprocess_call = mocker.patch("octane.util.subprocess.call") mocker.patch("octane.util.docker.run_in_container", return_value=(data, None)) token = "123" @@ -416,3 +416,5 @@ def test_post_restore_nailgun(mocker): ], any_order=True ) + mock_subprocess_call.assert_called_once_with([ + "fuel", "release", "--sync-deployment-tasks", "--dir", "/etc/puppet/"])