summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2020-09-30 18:20:52 +0000
committerGerrit Code Review <review@openstack.org>2020-09-30 18:20:52 +0000
commit35281912c3ae7969357935b797df3106ec61f807 (patch)
tree7a8a6f29da35799ac457608fa04995c041c7f85d
parentc8baec6cc3d518a8f07c9fc6ef0cc0a40ebd19a5 (diff)
parent42d83a2bff1e91abd961c817cd70e0e0ecfc82bc (diff)
downloadironic-35281912c3ae7969357935b797df3106ec61f807.tar.gz
Merge "Don't migrate away from iscsi if it is the default"
-rw-r--r--ironic/db/sqlalchemy/api.py6
-rw-r--r--ironic/tests/unit/db/test_api.py8
2 files changed, 14 insertions, 0 deletions
diff --git a/ironic/db/sqlalchemy/api.py b/ironic/db/sqlalchemy/api.py
index 3e859226c..7c478b009 100644
--- a/ironic/db/sqlalchemy/api.py
+++ b/ironic/db/sqlalchemy/api.py
@@ -1546,6 +1546,12 @@ class Connection(api.Connection):
'force=true to override.')
return 0, 0
+ if CONF.default_deploy_interface == 'iscsi':
+ LOG.warning('The iscsi deploy interface is the default, will '
+ 'not migrate nodes away from it. Run with '
+ '--option force=true to override.')
+ return 0, 0
+
if CONF.agent.image_download_source == 'swift':
LOG.warning('The direct deploy interface is using swift, will '
'not migrate nodes to it. Run with --option '
diff --git a/ironic/tests/unit/db/test_api.py b/ironic/tests/unit/db/test_api.py
index 9252e1d59..701d1afc4 100644
--- a/ironic/tests/unit/db/test_api.py
+++ b/ironic/tests/unit/db/test_api.py
@@ -290,6 +290,14 @@ class MigrateFromIscsiTestCase(base.DbTestCase):
self.assertEqual(
(0, 0), self.dbapi.migrate_from_iscsi_deploy(self.context, 0))
+ def test_migration_impossible3(self):
+ self.config(default_deploy_interface='iscsi')
+ for _i in range(3):
+ uuid = uuidutils.generate_uuid()
+ utils.create_test_node(uuid=uuid, deploy_interface='iscsi')
+ self.assertEqual(
+ (0, 0), self.dbapi.migrate_from_iscsi_deploy(self.context, 0))
+
def test_force_migration(self):
self.config(enabled_deploy_interfaces='iscsi')
utils.create_test_node(deploy_interface='direct')