Merge "Fix broken configdrive_use_object_store" into stable/ussuri

This commit is contained in:
Zuul 2021-03-23 12:29:27 +00:00 committed by Gerrit Code Review
commit b9e3d532da
4 changed files with 21 additions and 8 deletions

View File

@ -1424,6 +1424,13 @@ function configure_ironic {
# Set requirement for agent tokens
iniset $IRONIC_CONF_FILE DEFAULT require_agent_token $IRONIC_REQUIRE_AGENT_TOKEN
# FIXME(dtantsur): configdrive downloading code does not respect IPA TLS
# configuration, not even ipa-insecure.
if is_service_enabled swift && ! is_service_enabled tls-proxy; then
iniset $IRONIC_CONF_FILE deploy configdrive_use_object_store True
fi
# No need to check if RabbitMQ is enabled, this call does it in a smart way
if [[ "$IRONIC_RPC_TRANSPORT" == "oslo" ]]; then
iniset_rpc_backend ironic $IRONIC_CONF_FILE

View File

@ -348,7 +348,8 @@ def _store_configdrive(node, configdrive):
object_headers = {'X-Delete-After': str(timeout)}
with tempfile.NamedTemporaryFile(dir=CONF.tempdir) as fileobj:
with tempfile.NamedTemporaryFile(dir=CONF.tempdir,
mode="wt") as fileobj:
fileobj.write(configdrive)
fileobj.flush()

View File

@ -242,7 +242,7 @@ class DoNodeDeployTestCase(mgr_utils.ServiceSetUpMixin, db_base.DbTestCase):
self.assertRaises(exception.SwiftOperationError,
deployments.do_node_deploy, task,
self.service.conductor.id,
configdrive=b'fake config drive')
configdrive='fake config drive')
node.refresh()
self.assertEqual(states.DEPLOYFAIL, node.provision_state)
self.assertEqual(states.ACTIVE, node.target_provision_state)
@ -265,8 +265,8 @@ class DoNodeDeployTestCase(mgr_utils.ServiceSetUpMixin, db_base.DbTestCase):
self.assertRaises(db_exception.DBDataError,
deployments.do_node_deploy, task,
self.service.conductor.id,
configdrive=b'fake config drive')
expected_instance_info.update(configdrive=b'fake config drive')
configdrive='fake config drive')
expected_instance_info.update(configdrive='fake config drive')
expected_calls = [
mock.call(node.uuid,
{'version': mock.ANY,
@ -301,7 +301,7 @@ class DoNodeDeployTestCase(mgr_utils.ServiceSetUpMixin, db_base.DbTestCase):
self.assertRaises(RuntimeError,
deployments.do_node_deploy, task,
self.service.conductor.id,
configdrive=b'fake config drive')
configdrive='fake config drive')
node.refresh()
self.assertEqual(states.DEPLOYFAIL, node.provision_state)
self.assertEqual(states.ACTIVE, node.target_provision_state)
@ -834,7 +834,7 @@ class StoreConfigDriveTestCase(db_base.DbTestCase):
group='conductor')
mock_swift.return_value.get_temp_url.return_value = 'http://1.2.3.4'
deployments._store_configdrive(self.node, b'foo')
deployments._store_configdrive(self.node, 'foo')
mock_swift.assert_called_once_with()
mock_swift.return_value.create_object.assert_called_once_with(
@ -862,7 +862,7 @@ class StoreConfigDriveTestCase(db_base.DbTestCase):
group='conductor')
mock_swift.return_value.get_temp_url.return_value = 'http://1.2.3.4'
deployments._store_configdrive(self.node, b'foo')
deployments._store_configdrive(self.node, 'foo')
mock_swift.assert_called_once_with()
mock_swift.return_value.create_object.assert_called_once_with(
@ -889,7 +889,7 @@ class StoreConfigDriveTestCase(db_base.DbTestCase):
group='conductor')
mock_swift.return_value.get_temp_url.return_value = 'http://1.2.3.4'
deployments._store_configdrive(self.node, b'foo')
deployments._store_configdrive(self.node, 'foo')
mock_swift.assert_called_once_with()
mock_swift.return_value.create_object.assert_called_once_with(

View File

@ -0,0 +1,5 @@
---
fixes:
- |
Fixes the ``[deploy]configdrive_use_object_store`` option that was
broken during the Python 3 transition.