Skip to content

Commit 1833134

Browse files
Sean Smithsean-smith
Sean Smith
authored andcommitted
Changed Ganglia to look at stack parameters
Signed-off-by: Sean Smith <[email protected]>
1 parent 3e38307 commit 1833134

File tree

1 file changed

+14
-11
lines changed

1 file changed

+14
-11
lines changed

cli/cfncluster/cfncluster.py

+14-11
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ def create(args):
104104
event.get('ResourceStatusReason')))
105105
logger.info('')
106106
outputs = cfn.describe_stacks(StackName=stack_name).get("Stacks")[0].get('Outputs', [])
107-
ganglia_enabled = is_ganglia_enabled(config.parameters)
107+
ganglia_enabled = is_ganglia_enabled(cfn_params)
108108
for output in outputs:
109109
if not ganglia_enabled and output.get('OutputKey').startswith('Ganglia'):
110110
continue
@@ -124,9 +124,10 @@ def create(args):
124124
sys.exit(1)
125125

126126
def is_ganglia_enabled(parameters):
127-
extra_json = dict(filter(lambda x: x[0] == 'ExtraJson', parameters))
128127
try:
129-
extra_json = json.loads(extra_json.get('ExtraJson')).get('cfncluster')
128+
extra_json = filter(lambda x: x.get('ParameterKey') == 'ExtraJson', parameters)[0] \
129+
.get('ParameterValue')
130+
extra_json = json.loads(extra_json).get('cfncluster')
130131
return not extra_json.get('ganglia_enabled') == 'no'
131132
except:
132133
pass
@@ -402,39 +403,41 @@ def command(args, extra_args):
402403
sys.exit(0)
403404

404405
def status(args):
405-
stack = ('cfncluster-' + args.cluster_name)
406+
stack_name = ('cfncluster-' + args.cluster_name)
406407
config = cfnconfig.CfnClusterConfig(args)
407408

408409
cfn = boto3.client('cloudformation', region_name=config.region,
409410
aws_access_key_id=config.aws_access_key_id,
410411
aws_secret_access_key=config.aws_secret_access_key)
411412

412413
try:
413-
status = cfn.describe_stacks(StackName=stack).get("Stacks")[0].get('StackStatus')
414+
status = cfn.describe_stacks(StackName=stack_name).get("Stacks")[0].get('StackStatus')
414415
sys.stdout.write('\rStatus: %s' % status)
415416
sys.stdout.flush()
416417
if not args.nowait:
417418
while status not in ['CREATE_COMPLETE', 'UPDATE_COMPLETE', 'UPDATE_ROLLBACK_COMPLETE',
418419
'ROLLBACK_COMPLETE', 'CREATE_FAILED', 'DELETE_FAILED']:
419420
time.sleep(5)
420-
status = cfn.describe_stacks(StackName=stack).get("Stacks")[0].get('StackStatus')
421-
events = cfn.describe_stack_events(StackName=stack).get('StackEvents')[0]
421+
status = cfn.describe_stacks(StackName=stack_name).get("Stacks")[0].get('StackStatus')
422+
events = cfn.describe_stack_events(StackName=stack_name).get('StackEvents')[0]
422423
resource_status = ('Status: %s - %s' % (events.get('LogicalResourceId'), events.get('ResourceStatus'))).ljust(80)
423424
sys.stdout.write('\r%s' % resource_status)
424425
sys.stdout.flush()
425426
sys.stdout.write('\rStatus: %s\n' % status)
426427
sys.stdout.flush()
427428
if status in ['CREATE_COMPLETE', 'UPDATE_COMPLETE']:
428-
state = poll_master_server_state(stack, config)
429+
state = poll_master_server_state(stack_name, config)
429430
if state == 'running':
430-
outputs = cfn.describe_stacks(StackName=stack).get("Stacks")[0].get('Outputs', [])
431-
ganglia_enabled = is_ganglia_enabled(config.parameters)
431+
stack = cfn.describe_stacks(StackName=stack_name).get("Stacks")[0]
432+
outputs = stack.get('Outputs', [])
433+
parameters = stack.get('Parameters')
434+
ganglia_enabled = is_ganglia_enabled(parameters)
432435
for output in outputs:
433436
if not ganglia_enabled and output.get('OutputKey').startswith('Ganglia'):
434437
continue
435438
logger.info("%s: %s" % (output.get('OutputKey'), output.get('OutputValue')))
436439
elif status in ['ROLLBACK_COMPLETE', 'CREATE_FAILED', 'DELETE_FAILED', 'UPDATE_ROLLBACK_COMPLETE']:
437-
events = cfn.describe_stack_events(StackName=stack).get('StackEvents')
440+
events = cfn.describe_stack_events(StackName=stack_name).get('StackEvents')
438441
for event in events:
439442
if event.get('ResourceStatus') in ['CREATE_FAILED', 'DELETE_FAILED', 'UPDATE_FAILED']:
440443
logger.info("%s %s %s %s %s" %

0 commit comments

Comments
 (0)