Replace release.is_deployable with release.state
is_deployable doesn't really give any additional information for a release, it is removed. To make change API-backward-compatible, it is retained as a property dependent on release.state. New state is added - manageonly, for environments that are not able to be deployed, but can still be managed. Change-Id: I518a0114730a2f227c9ef035a376f9a90d3d5bbd Closes-bug: #1503303 DocImpact
This commit is contained in:
parent
fb27542463
commit
84ece08e25
|
@ -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):
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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."
|
||||
|
|
Loading…
Reference in New Issue