in cookbooks/aws-parallelcluster-environment/files/custom_action_executor/custom_action_executor.py [0:0]
def load_configuration(self, args) -> CustomActionsConfig:
"""
Load configuration.
:param args: command line arguments
:return: configuration object
"""
node_type = args.node_type
queue_name = args.queue_name
pool_name = args.pool_name
cluster_config = self._load_cluster_config(args.cluster_configuration)
logging.debug(cluster_config)
legacy_event = None
event_name = None
script_sequences_per_event = {}
for event in LegacyEventName:
current_event_name = event.map_to_current_name()
script_sequences_per_event[event] = self._deserialize_script_sequences(
cluster_config, current_event_name, node_type, queue_name, pool_name
)
if getattr(args, event.value):
legacy_event = event
event_name = current_event_name
script_sequence = script_sequences_per_event[legacy_event]
conf = CustomActionsConfig(
legacy_event=legacy_event,
node_type=node_type,
queue_name=queue_name,
event_name=event_name,
pool_name=args.pool_name,
region_name=args.region,
stack_name=args.stack_name,
cluster_name=args.cluster_name,
script_sequence=script_sequence,
script_sequences_per_event=script_sequences_per_event,
dry_run=args.dry_run,
can_execute=len(script_sequence) > 0,
instance_id=args.instance_id,
instance_type=args.instance_type,
ip_address=args.ip_address,
hostname=args.hostname,
scheduler=args.scheduler,
availability_zone=args.availability_zone,
resource_name=args.resource_name,
event_file_override=args.event_file_override,
node_spec_file=args.node_spec_file,
)
logging.debug(conf)
return conf