@@ -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
126126def 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
404405def 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 ('\r Status: %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 ('\r Status: %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