Allow running "overcloud node delete" with heat templates directly
Depends-On: https://review.openstack.org/#/c/202054/ Change-Id: If1013ec981d659c85e96875d54aed270e6fca64e
This commit is contained in:
@@ -19,6 +19,8 @@ from cliff import command
|
|||||||
from openstackclient.common import utils
|
from openstackclient.common import utils
|
||||||
from tripleo_common import scale
|
from tripleo_common import scale
|
||||||
|
|
||||||
|
TRIPLEO_HEAT_TEMPLATES = "/usr/share/openstack-tripleo-heat-templates/"
|
||||||
|
|
||||||
|
|
||||||
class DeleteNode(command.Command):
|
class DeleteNode(command.Command):
|
||||||
"""Delete overcloud nodes."""
|
"""Delete overcloud nodes."""
|
||||||
@@ -37,18 +39,28 @@ class DeleteNode(command.Command):
|
|||||||
help='Name or ID of tuskar plan to scale '
|
help='Name or ID of tuskar plan to scale '
|
||||||
'(default=Env: OVERCLOUD_PLAN_NAME)',
|
'(default=Env: OVERCLOUD_PLAN_NAME)',
|
||||||
default=utils.env('OVERCLOUD_PLAN_NAME'))
|
default=utils.env('OVERCLOUD_PLAN_NAME'))
|
||||||
|
parser.add_argument(
|
||||||
|
'--templates', nargs='?', const=TRIPLEO_HEAT_TEMPLATES,
|
||||||
|
help="The directory containing the Heat templates to deploy"
|
||||||
|
)
|
||||||
|
|
||||||
return parser
|
return parser
|
||||||
|
|
||||||
def take_action(self, parsed_args):
|
def take_action(self, parsed_args):
|
||||||
self.log.debug("take_action(%s)" % parsed_args)
|
self.log.debug("take_action(%s)" % parsed_args)
|
||||||
management = self.app.client_manager.rdomanager_oscplugin.management()
|
osc_plugin = self.app.client_manager.rdomanager_oscplugin
|
||||||
orchestration = (self.app.client_manager.rdomanager_oscplugin.
|
if parsed_args.templates:
|
||||||
orchestration())
|
management = None
|
||||||
|
else:
|
||||||
|
management = osc_plugin.management()
|
||||||
|
|
||||||
|
orchestration = osc_plugin.orchestration()
|
||||||
scale_manager = scale.ScaleManager(
|
scale_manager = scale.ScaleManager(
|
||||||
tuskarclient=management,
|
tuskarclient=management,
|
||||||
heatclient=orchestration,
|
heatclient=orchestration,
|
||||||
plan_id=parsed_args.plan,
|
plan_id=parsed_args.plan,
|
||||||
stack_id=parsed_args.stack)
|
stack_id=parsed_args.stack,
|
||||||
|
tht_dir=parsed_args.templates)
|
||||||
print("deleting nodes {0} from stack {1}".format(parsed_args.nodes,
|
print("deleting nodes {0} from stack {1}".format(parsed_args.nodes,
|
||||||
parsed_args.plan))
|
parsed_args.plan))
|
||||||
scale_manager.scaledown(parsed_args.nodes)
|
scale_manager.scaledown(parsed_args.nodes)
|
||||||
|
Reference in New Issue
Block a user