diff --git a/cluster_upgrade/objects/adapters.py b/cluster_upgrade/objects/adapters.py index 3e107bd..7bc6776 100644 --- a/cluster_upgrade/objects/adapters.py +++ b/cluster_upgrade/objects/adapters.py @@ -95,7 +95,7 @@ class NailgunReleaseAdapter(object): @property def is_deployable(self): - return self.release.is_deployable + return objects.Release.is_deployable(self.release) @property def environment_version(self): diff --git a/cluster_upgrade/tests/base.py b/cluster_upgrade/tests/base.py index df35c2a..e5bbeee 100644 --- a/cluster_upgrade/tests/base.py +++ b/cluster_upgrade/tests/base.py @@ -29,7 +29,7 @@ class BaseCloneClusterTest(nailgun_test_base.BaseIntegrationTest): self.release_61 = self.env.create_release( operating_system=consts.RELEASE_OS.ubuntu, version="2014.2.2-6.1", - is_deployable=False, + state=consts.RELEASE_STATES.manageonly ) self.release_70 = self.env.create_release( operating_system=consts.RELEASE_OS.ubuntu, diff --git a/cluster_upgrade/tests/test_validators.py b/cluster_upgrade/tests/test_validators.py index 16ec066..7f9984a 100644 --- a/cluster_upgrade/tests/test_validators.py +++ b/cluster_upgrade/tests/test_validators.py @@ -20,6 +20,7 @@ from oslo_serialization import jsonutils from nailgun import consts from nailgun.errors import errors +from nailgun.settings import settings from nailgun.test import base from .. import validators @@ -35,11 +36,12 @@ class TestClusterUpgradeValidator(tests_base.BaseCloneClusterTest): self.validator.validate_release_upgrade(self.release_61, self.release_70) + @mock.patch.dict(settings.VERSION, {'feature_groups': ['mirantis']}) def test_validate_release_upgrade_deprecated_release(self): release_511 = self.env.create_release( operating_system=consts.RELEASE_OS.ubuntu, version="2014.1.3-5.1.1", - is_deployable=False, + state=consts.RELEASE_STATES.manageonly ) msg = "^Upgrade to the given release \({0}\).*is deprecated and " \ "cannot be installed\.$".format(self.release_61.id) @@ -48,7 +50,7 @@ class TestClusterUpgradeValidator(tests_base.BaseCloneClusterTest): self.release_61) def test_validate_release_upgrade_to_older_release(self): - self.release_61.is_deployable = True + self.release_61.state = consts.RELEASE_STATES.available msg = "^Upgrade to the given release \({0}\).*release is equal or " \ "lower than the release of the original cluster\.$" \ .format(self.release_61.id) diff --git a/cluster_upgrade/validators.py b/cluster_upgrade/validators.py index a86201c..5a6a735 100644 --- a/cluster_upgrade/validators.py +++ b/cluster_upgrade/validators.py @@ -49,7 +49,7 @@ class ClusterUpgradeValidator(base.BasicValidator): @classmethod def validate_release_upgrade(cls, orig_release, new_release): - if not new_release.is_deployable: + if not objects.Release.is_deployable(new_release): raise errors.InvalidData( "Upgrade to the given release ({0}) is not possible because " "this release is deprecated and cannot be installed."