Merge pull request #234 from ChrisMacNaughton/bug/release-upgrade-interactive
Set some apt config to accept package defaults
This commit is contained in:
@@ -428,6 +428,8 @@ class TestParallelSeriesUpgrade(AioTestCase):
|
||||
])
|
||||
mock_post_application_upgrade_functions.assert_called_once_with(None)
|
||||
|
||||
@mock.patch.object(upgrade_utils, 'add_confdef_file')
|
||||
@mock.patch.object(upgrade_utils, 'remove_confdef_file')
|
||||
@mock.patch.object(
|
||||
upgrade_utils.series_upgrade_utils, 'async_complete_series_upgrade')
|
||||
@mock.patch.object(upgrade_utils, 'reboot')
|
||||
@@ -438,7 +440,9 @@ class TestParallelSeriesUpgrade(AioTestCase):
|
||||
mock_async_dist_upgrade,
|
||||
mock_async_do_release_upgrade,
|
||||
mock_reboot,
|
||||
mock_async_complete_series_upgrade
|
||||
mock_async_complete_series_upgrade,
|
||||
mock_remove_confdef_file,
|
||||
mock_add_confdef_file
|
||||
):
|
||||
await upgrade_utils.series_upgrade_machine(
|
||||
'1',
|
||||
@@ -450,7 +454,11 @@ class TestParallelSeriesUpgrade(AioTestCase):
|
||||
mock_async_do_release_upgrade.assert_called_once_with('1')
|
||||
mock_reboot.assert_called_once_with('1')
|
||||
mock_async_complete_series_upgrade.assert_called_once_with('1')
|
||||
mock_remove_confdef_file.assert_called_once_with('1')
|
||||
mock_add_confdef_file.assert_called_once_with('1')
|
||||
|
||||
@mock.patch.object(upgrade_utils, 'add_confdef_file')
|
||||
@mock.patch.object(upgrade_utils, 'remove_confdef_file')
|
||||
@mock.patch.object(upgrade_utils.os_utils, 'async_set_origin')
|
||||
@mock.patch.object(
|
||||
upgrade_utils.series_upgrade_utils, 'async_complete_series_upgrade')
|
||||
@@ -463,7 +471,9 @@ class TestParallelSeriesUpgrade(AioTestCase):
|
||||
mock_async_do_release_upgrade,
|
||||
mock_reboot,
|
||||
mock_async_complete_series_upgrade,
|
||||
mock_async_set_origin
|
||||
mock_async_set_origin,
|
||||
mock_remove_confdef_file,
|
||||
mock_add_confdef_file
|
||||
):
|
||||
await upgrade_utils.series_upgrade_machine(
|
||||
'1',
|
||||
@@ -479,6 +489,8 @@ class TestParallelSeriesUpgrade(AioTestCase):
|
||||
mock_async_complete_series_upgrade.assert_called_once_with('1')
|
||||
mock_async_set_origin.assert_called_once_with(
|
||||
'app', 'openstack-origin')
|
||||
mock_remove_confdef_file.assert_called_once_with('1')
|
||||
mock_add_confdef_file.assert_called_once_with('1')
|
||||
|
||||
async def test_maybe_pause_things_primary(self):
|
||||
await upgrade_utils.maybe_pause_things(
|
||||
@@ -523,6 +535,23 @@ class TestParallelSeriesUpgrade(AioTestCase):
|
||||
pause_non_leader_primary=False)
|
||||
self.async_run_action.assert_not_called()
|
||||
|
||||
async def test_add_confdef_file(self):
|
||||
await upgrade_utils.add_confdef_file('1')
|
||||
cmd = (
|
||||
"""echo """
|
||||
"""'DPkg::options { "--force-confdef"; "--force-confnew"; }' | """
|
||||
"""sudo tee /etc/apt/apt.conf.d/local"""
|
||||
)
|
||||
self.async_run_on_machine.assert_called_once_with(
|
||||
'1', cmd
|
||||
)
|
||||
|
||||
async def test_remove_confdef_file(self):
|
||||
await upgrade_utils.remove_confdef_file('1')
|
||||
self.async_run_on_machine.assert_called_once_with(
|
||||
'1', 'sudo rm /etc/apt/apt.conf.d/local'
|
||||
)
|
||||
|
||||
async def test_async_do_release_upgrade(self):
|
||||
await upgrade_utils.async_do_release_upgrade('1')
|
||||
do_release_upgrade_cmd = (
|
||||
|
||||
@@ -381,8 +381,10 @@ async def series_upgrade_machine(
|
||||
logging.info(
|
||||
"About to series-upgrade ({})".format(machine))
|
||||
await run_pre_upgrade_functions(machine, pre_upgrade_functions)
|
||||
await add_confdef_file(machine)
|
||||
await async_dist_upgrade(machine)
|
||||
await async_do_release_upgrade(machine)
|
||||
await remove_confdef_file(machine)
|
||||
await reboot(machine)
|
||||
if origin:
|
||||
await os_utils.async_set_origin(application, origin)
|
||||
@@ -390,6 +392,34 @@ async def series_upgrade_machine(
|
||||
await run_post_upgrade_functions(post_upgrade_functions)
|
||||
|
||||
|
||||
async def add_confdef_file(machine):
|
||||
"""Add the file /etc/apt/apt-conf.d/local setup to accept defaults.
|
||||
|
||||
:param machine: The machine to manage
|
||||
:type machine: str
|
||||
:returns: None
|
||||
:rtype: None
|
||||
"""
|
||||
create_file = (
|
||||
"""echo 'DPkg::options { "--force-confdef"; "--force-confnew"; }' | """
|
||||
"""sudo tee /etc/apt/apt.conf.d/local"""
|
||||
)
|
||||
await model.async_run_on_machine(machine, create_file)
|
||||
|
||||
|
||||
async def remove_confdef_file(machine):
|
||||
"""Remove the file /etc/apt/apt-conf.d/local setup to accept defaults.
|
||||
|
||||
:param machine: The machine to manage
|
||||
:type machine: str
|
||||
:returns: None
|
||||
:rtype: None
|
||||
"""
|
||||
await model.async_run_on_machine(
|
||||
machine,
|
||||
"sudo rm /etc/apt/apt.conf.d/local")
|
||||
|
||||
|
||||
async def run_pre_upgrade_functions(machine, pre_upgrade_functions):
|
||||
"""Execute list supplied functions.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user