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 tripleo_common import scale
|
||||
|
||||
TRIPLEO_HEAT_TEMPLATES = "/usr/share/openstack-tripleo-heat-templates/"
|
||||
|
||||
|
||||
class DeleteNode(command.Command):
|
||||
"""Delete overcloud nodes."""
|
||||
@@ -37,18 +39,28 @@ class DeleteNode(command.Command):
|
||||
help='Name or ID of tuskar plan to scale '
|
||||
'(default=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
|
||||
|
||||
def take_action(self, parsed_args):
|
||||
self.log.debug("take_action(%s)" % parsed_args)
|
||||
management = self.app.client_manager.rdomanager_oscplugin.management()
|
||||
orchestration = (self.app.client_manager.rdomanager_oscplugin.
|
||||
orchestration())
|
||||
osc_plugin = self.app.client_manager.rdomanager_oscplugin
|
||||
if parsed_args.templates:
|
||||
management = None
|
||||
else:
|
||||
management = osc_plugin.management()
|
||||
|
||||
orchestration = osc_plugin.orchestration()
|
||||
scale_manager = scale.ScaleManager(
|
||||
tuskarclient=management,
|
||||
heatclient=orchestration,
|
||||
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,
|
||||
parsed_args.plan))
|
||||
scale_manager.scaledown(parsed_args.nodes)
|
||||
|
Reference in New Issue
Block a user