Disable Abandon & Adopt features by default
Change-Id: I0c1e25650a3a6cab0211fb41eb2f6a02ef7dcc9f Closes-Bug: #1375879
This commit is contained in:
parent
034e17151f
commit
8203b60aeb
@ -74,6 +74,12 @@
|
|||||||
# value)
|
# value)
|
||||||
#enable_cloud_watch_lite=true
|
#enable_cloud_watch_lite=true
|
||||||
|
|
||||||
|
# Enable the preview Stack Abandon feature. (boolean value)
|
||||||
|
#enable_stack_abandon=false
|
||||||
|
|
||||||
|
# Enable the preview Stack Adopt feature. (boolean value)
|
||||||
|
#enable_stack_adopt=false
|
||||||
|
|
||||||
# Deprecated. (string value)
|
# Deprecated. (string value)
|
||||||
#onready=<None>
|
#onready=<None>
|
||||||
|
|
||||||
|
@ -140,6 +140,12 @@ engine_opts = [
|
|||||||
cfg.BoolOpt('enable_cloud_watch_lite',
|
cfg.BoolOpt('enable_cloud_watch_lite',
|
||||||
default=True,
|
default=True,
|
||||||
help=_('Enable the legacy OS::Heat::CWLiteAlarm resource.')),
|
help=_('Enable the legacy OS::Heat::CWLiteAlarm resource.')),
|
||||||
|
cfg.BoolOpt('enable_stack_abandon',
|
||||||
|
default=False,
|
||||||
|
help=_('Enable the preview Stack Abandon feature.')),
|
||||||
|
cfg.BoolOpt('enable_stack_adopt',
|
||||||
|
default=False,
|
||||||
|
help=_('Enable the preview Stack Adopt feature.')),
|
||||||
cfg.StrOpt('onready',
|
cfg.StrOpt('onready',
|
||||||
help=_('Deprecated.'))]
|
help=_('Deprecated.'))]
|
||||||
|
|
||||||
|
@ -54,6 +54,8 @@ from heat.rpc import api as rpc_api
|
|||||||
cfg.CONF.import_opt('engine_life_check_timeout', 'heat.common.config')
|
cfg.CONF.import_opt('engine_life_check_timeout', 'heat.common.config')
|
||||||
cfg.CONF.import_opt('max_resources_per_stack', 'heat.common.config')
|
cfg.CONF.import_opt('max_resources_per_stack', 'heat.common.config')
|
||||||
cfg.CONF.import_opt('max_stacks_per_tenant', 'heat.common.config')
|
cfg.CONF.import_opt('max_stacks_per_tenant', 'heat.common.config')
|
||||||
|
cfg.CONF.import_opt('enable_stack_abandon', 'heat.common.config')
|
||||||
|
cfg.CONF.import_opt('enable_stack_adopt', 'heat.common.config')
|
||||||
|
|
||||||
LOG = logging.getLogger(__name__)
|
LOG = logging.getLogger(__name__)
|
||||||
|
|
||||||
@ -596,6 +598,9 @@ class EngineService(service.Service):
|
|||||||
|
|
||||||
# Create/Adopt a stack, and create the periodic task if successful
|
# Create/Adopt a stack, and create the periodic task if successful
|
||||||
if stack.adopt_stack_data:
|
if stack.adopt_stack_data:
|
||||||
|
if not cfg.CONF.enable_stack_adopt:
|
||||||
|
raise exception.NotSupported(feature='Stack Adopt')
|
||||||
|
|
||||||
stack.adopt()
|
stack.adopt()
|
||||||
else:
|
else:
|
||||||
stack.create()
|
stack.create()
|
||||||
@ -876,6 +881,9 @@ class EngineService(service.Service):
|
|||||||
:param cnxt: RPC context.
|
:param cnxt: RPC context.
|
||||||
:param stack_identity: Name of the stack you want to abandon.
|
:param stack_identity: Name of the stack you want to abandon.
|
||||||
"""
|
"""
|
||||||
|
if not cfg.CONF.enable_stack_abandon:
|
||||||
|
raise exception.NotSupported(feature='Stack Abandon')
|
||||||
|
|
||||||
st = self._get_stack(cnxt, stack_identity)
|
st = self._get_stack(cnxt, stack_identity)
|
||||||
LOG.info(_('abandoning stack %s') % st.name)
|
LOG.info(_('abandoning stack %s') % st.name)
|
||||||
stack = parser.Stack.load(cnxt, stack=st)
|
stack = parser.Stack.load(cnxt, stack=st)
|
||||||
|
@ -55,6 +55,7 @@ from heat.tests import utils
|
|||||||
from heat.tests.v1_1 import fakes
|
from heat.tests.v1_1 import fakes
|
||||||
|
|
||||||
cfg.CONF.import_opt('engine_life_check_timeout', 'heat.common.config')
|
cfg.CONF.import_opt('engine_life_check_timeout', 'heat.common.config')
|
||||||
|
cfg.CONF.import_opt('enable_stack_abandon', 'heat.common.config')
|
||||||
|
|
||||||
wp_template = '''
|
wp_template = '''
|
||||||
{
|
{
|
||||||
@ -2023,6 +2024,7 @@ class StackServiceTest(HeatTestCase):
|
|||||||
|
|
||||||
@stack_context('service_abandon_stack')
|
@stack_context('service_abandon_stack')
|
||||||
def test_abandon_stack(self):
|
def test_abandon_stack(self):
|
||||||
|
cfg.CONF.set_override('enable_stack_abandon', True)
|
||||||
self.m.StubOutWithMock(parser.Stack, 'load')
|
self.m.StubOutWithMock(parser.Stack, 'load')
|
||||||
parser.Stack.load(self.ctx,
|
parser.Stack.load(self.ctx,
|
||||||
stack=mox.IgnoreArg()).AndReturn(self.stack)
|
stack=mox.IgnoreArg()).AndReturn(self.stack)
|
||||||
|
Loading…
Reference in New Issue
Block a user