From 5dc913aa4642a4030a79660e1f17b421514b9025 Mon Sep 17 00:00:00 2001 From: James Adams Date: Thu, 28 Nov 2024 15:36:22 +0000 Subject: [PATCH] ncm-metaconfig: slurm: Fix wrapping and indentation in pan --- .../metaconfig/slurm/pan/schema_20.11.pan | 36 ++++++---- .../metaconfig/slurm/pan/schema_21.08.pan | 38 ++++++---- .../metaconfig/slurm/pan/schema_23.02.pan | 57 +++++++++------ .../metaconfig/slurm/pan/schema_24.05.pan | 71 ++++++++++++------- .../slurm/tests/profiles/config.pan | 10 +-- .../metaconfig/slurm/tests/profiles/spank.pan | 4 +- 6 files changed, 131 insertions(+), 85 deletions(-) diff --git a/ncm-metaconfig/src/main/metaconfig/slurm/pan/schema_20.11.pan b/ncm-metaconfig/src/main/metaconfig/slurm/pan/schema_20.11.pan index 14d5c9c22e..6981f8ca43 100644 --- a/ncm-metaconfig/src/main/metaconfig/slurm/pan/schema_20.11.pan +++ b/ncm-metaconfig/src/main/metaconfig/slurm/pan/schema_20.11.pan @@ -7,8 +7,9 @@ https://slurm.schedmd.com include 'pan/types'; -type slurm_debuglevel = choice('quiet', 'fatal', 'error', 'info', 'verbose', - 'debug', 'debug2', 'debug3', 'debug4', 'debug5'); +type slurm_debuglevel = choice( + 'quiet', 'fatal', 'error', 'info', 'verbose', 'debug', 'debug2', 'debug3', 'debug4', 'debug5' +); type slurm_gres = { 'name' : string @@ -176,8 +177,9 @@ type slurm_conf_health_check = { }; -type slurm_control_resourcelimits = choice( 'ALL', 'NONE', 'AS', 'CORE', 'CPU', 'DATA', 'FSIZE', - 'MEMLOCK', 'NOFILE', 'NPROC', 'RSS', 'STACK'); +type slurm_control_resourcelimits = choice( + 'ALL', 'NONE', 'AS', 'CORE', 'CPU', 'DATA', 'FSIZE', 'MEMLOCK', 'NOFILE', 'NPROC', 'RSS', 'STACK' +); type slurm_mpi_params = { @{port or port range} @@ -225,12 +227,14 @@ type slurm_conf_control = { 'CpuFreqDef' ? choice( 'Conservative', 'OnDemand', 'Performance', 'PowerSave') 'CpuFreqGovernors' ? choice('Conservative', 'OnDemand', 'Performance', 'PowerSave', 'UserSpace') 'CryptoType' ? choice("munge", "openssl") - 'DebugFlags' ? choice( 'Backfill', 'BackfillMap', 'BGBlockAlgo', 'BGBlockAlgoDeep', 'BGBlockPick', + 'DebugFlags' ? choice( + 'Backfill', 'BackfillMap', 'BGBlockAlgo', 'BGBlockAlgoDeep', 'BGBlockPick', 'BGBlockWires', 'BurstBuffer', 'CPU_Bind', 'CpuFrequency', 'DB_ASSOC', 'DB_EVENT', 'DB_JOB', 'DB_QOS', 'DB_QUERY', 'DB_RESERVATION', 'DB_RESOURCE', 'DB_STEP', 'DB_USAGE', 'DB_WCKEY', 'Elasticsearch', 'Energy', 'ExtSensors', 'Federation', 'FrontEnd', 'Gres', 'HeteroJobs', 'Gang', 'JobContainer', 'License', 'NodeFeatures', 'NO_CONF_HASH', 'Power', 'Priority', 'Profile', 'Protocol', 'Reservation', 'SelectType', - 'Steps', 'Switch', 'TimeCray', 'TraceJobs', 'Triggers')[] + 'Steps', 'Switch', 'TimeCray', 'TraceJobs', 'Triggers' + )[] 'DefaultStorageHost' ? string 'DefaultStorageLoc' ? string @@ -293,8 +297,9 @@ type slurm_conf_control = { 'MemLimitEnforce' ? boolean # yes/no 'MinJobAge' ? long(0..) 'MsgAggregationParams' ? slurm_msg_aggregation - 'PrivateData' ? choice('accounts', 'cloud', 'events', 'jobs', 'nodes', 'partitions', - 'reservations', 'usage', 'users')[] + 'PrivateData' ? choice( + 'accounts', 'cloud', 'events', 'jobs', 'nodes', 'partitions', 'reservations', 'usage', 'users' + )[] 'RoutePlugin' ? choice("default", "topology") # prefix=route/ 'SallocDefaultCommand' ? string 'SbcastParameters' ? slurm_sbcast_parameters @@ -404,8 +409,10 @@ type slurm_conf_job_priority = { @{in minutes} 'PriorityCalcPeriod' ? long(0..) 'PriorityFavorSmall' ? boolean - 'PriorityFlags' ? choice( 'ACCRUE_ALWAYS', 'CALCULATE_RUNNING', 'DEPTH_OBLIVIOUS', 'FAIR_TREE', - 'INCR_ONLY', 'MAX_TRES', 'SMALL_RELATIVE_TO_TIME' )[] + 'PriorityFlags' ? choice( + 'ACCRUE_ALWAYS', 'CALCULATE_RUNNING', 'DEPTH_OBLIVIOUS', 'FAIR_TREE', + 'INCR_ONLY', 'MAX_TRES', 'SMALL_RELATIVE_TO_TIME' + )[] 'PriorityParameters' ? dict @{in minutes} 'PriorityMaxAge' ? long(0..) @@ -427,8 +434,7 @@ type slurm_job_gather_params = { type slurm_conf_accounting = { 'AccountingStorageBackupHost' ? string - 'AccountingStorageEnforce' ? choice('associations', 'limits', 'nojobs', 'nosteps', - 'qos', 'safe', 'wckeys', 'all')[] + 'AccountingStorageEnforce' ? choice('associations', 'limits', 'nojobs', 'nosteps', 'qos', 'safe', 'wckeys', 'all')[] 'AccountingStorageHost' ? string 'AccountingStorageLoc' ? string 'AccountingStoragePass' ? string @@ -692,8 +698,10 @@ type slurm_dbd_conf = { 'DbdHost' ? string # TODO: must be equal to the AccountingStoragePort parameter in the slurm.conf 'DbdPort' ? long(0..) - 'DebugFlags' ? choice('DB_ARCHIVE', 'DB_ASSOC', 'DB_EVENT', 'DB_JOB', 'DB_QOS', 'DB_QUERY', 'DB_RESERVATION', - 'DB_RESOURCE', 'DB_STEP', 'DB_USAGE', 'DB_WCKEY', 'FEDERATION')[] + 'DebugFlags' ? choice( + 'DB_ARCHIVE', 'DB_ASSOC', 'DB_EVENT', 'DB_JOB', 'DB_QOS', 'DB_QUERY', 'DB_RESERVATION', + 'DB_RESOURCE', 'DB_STEP', 'DB_USAGE', 'DB_WCKEY', 'FEDERATION' + )[] 'DebugLevel' ? slurm_debuglevel 'DebugLevelSyslog' ? slurm_debuglevel 'DefaultQOS' ? string diff --git a/ncm-metaconfig/src/main/metaconfig/slurm/pan/schema_21.08.pan b/ncm-metaconfig/src/main/metaconfig/slurm/pan/schema_21.08.pan index 4e13e97601..01d9a6fa64 100644 --- a/ncm-metaconfig/src/main/metaconfig/slurm/pan/schema_21.08.pan +++ b/ncm-metaconfig/src/main/metaconfig/slurm/pan/schema_21.08.pan @@ -7,8 +7,9 @@ https://slurm.schedmd.com include 'pan/types'; -type slurm_debuglevel = choice('quiet', 'fatal', 'error', 'info', 'verbose', - 'debug', 'debug2', 'debug3', 'debug4', 'debug5'); +type slurm_debuglevel = choice( + 'quiet', 'fatal', 'error', 'info', 'verbose', 'debug', 'debug2', 'debug3', 'debug4', 'debug5' +); type slurm_gres = { 'name' : string @@ -176,8 +177,9 @@ type slurm_conf_health_check = { }; -type slurm_control_resourcelimits = choice( 'ALL', 'NONE', 'AS', 'CORE', 'CPU', 'DATA', 'FSIZE', - 'MEMLOCK', 'NOFILE', 'NPROC', 'RSS', 'STACK'); +type slurm_control_resourcelimits = choice( + 'ALL', 'NONE', 'AS', 'CORE', 'CPU', 'DATA', 'FSIZE', 'MEMLOCK', 'NOFILE', 'NPROC', 'RSS', 'STACK' +); type slurm_mpi_params = { @{port or port range} @@ -240,12 +242,14 @@ type slurm_conf_control = { 'CpuFreqDef' ? choice( 'Conservative', 'OnDemand', 'Performance', 'PowerSave', 'SchedUtil') 'CpuFreqGovernors' ? choice('Conservative', 'OnDemand', 'Performance', 'PowerSave', 'UserSpace') 'CryptoType' ? choice("munge", "openssl") - 'DebugFlags' ? choice( 'Backfill', 'BackfillMap', 'BGBlockAlgo', 'BGBlockAlgoDeep', 'BGBlockPick', + 'DebugFlags' ? choice( + 'Backfill', 'BackfillMap', 'BGBlockAlgo', 'BGBlockAlgoDeep', 'BGBlockPick', 'BGBlockWires', 'BurstBuffer', 'Cgroup', 'CPU_Bind', 'CpuFrequency', 'DB_ASSOC', 'DB_EVENT', 'DB_JOB', 'DB_QOS', 'DB_QUERY', 'DB_RESERVATION', 'DB_RESOURCE', 'DB_STEP', 'DB_USAGE', 'DB_WCKEY', 'Elasticsearch', 'Energy', 'ExtSensors', 'Federation', 'FrontEnd', 'Gres', 'HeteroJobs', 'Gang', 'JobAccountGather', 'JobContainer', 'License', 'NodeFeatures', 'NO_CONF_HASH', 'Power', 'Priority', 'Profile', 'Protocol', 'Reservation', - 'Script', 'SelectType', 'Steps', 'Switch', 'TimeCray', 'TraceJobs', 'Triggers')[] + 'Script', 'SelectType', 'Steps', 'Switch', 'TimeCray', 'TraceJobs', 'Triggers' + )[] 'DefaultStorageHost' ? string 'DefaultStorageLoc' ? string @@ -306,8 +310,9 @@ type slurm_conf_control = { 'MailDomain' ? string 'MinJobAge' ? long(0..) 'MsgAggregationParams' ? slurm_msg_aggregation - 'PrivateData' ? choice('accounts', 'cloud', 'events', 'jobs', 'nodes', 'partitions', - 'reservations', 'usage', 'users')[] + 'PrivateData' ? choice( + 'accounts', 'cloud', 'events', 'jobs', 'nodes', 'partitions', 'reservations', 'usage', 'users' + )[] 'RoutePlugin' ? choice("default", "topology") # prefix=route/ 'SallocDefaultCommand' ? string 'SbcastParameters' ? slurm_sbcast_parameters @@ -427,12 +432,14 @@ type slurm_conf_job_priority = { @{in minutes} 'PriorityCalcPeriod' ? long(0..) 'PriorityFavorSmall' ? boolean - 'PriorityFlags' ? choice( 'ACCRUE_ALWAYS', 'CALCULATE_RUNNING', 'DEPTH_OBLIVIOUS', 'FAIR_TREE', - 'INCR_ONLY', 'MAX_TRES', 'SMALL_RELATIVE_TO_TIME' )[] + 'PriorityFlags' ? choice( + 'ACCRUE_ALWAYS', 'CALCULATE_RUNNING', 'DEPTH_OBLIVIOUS', 'FAIR_TREE', 'INCR_ONLY', 'MAX_TRES', + 'SMALL_RELATIVE_TO_TIME' + )[] 'PriorityParameters' ? dict @{in minutes} 'PriorityMaxAge' ? long(0..) - 'PriorityUsageResetPeriod' ? choice( 'NONE', 'NOW', 'DAILY', 'WEEKLY', 'MONTHLY', 'QUARTERLY', 'YEARLY') + 'PriorityUsageResetPeriod' ? choice('NONE', 'NOW', 'DAILY', 'WEEKLY', 'MONTHLY', 'QUARTERLY', 'YEARLY') 'PriorityType' ? choice("basic", "multifactor") 'PriorityWeightAge' ? long(0..) 'PriorityWeightFairshare' ? long(0..) @@ -450,8 +457,7 @@ type slurm_job_gather_params = { type slurm_conf_accounting = { 'AccountingStorageBackupHost' ? string - 'AccountingStorageEnforce' ? choice('associations', 'limits', 'nojobs', 'nosteps', - 'qos', 'safe', 'wckeys', 'all')[] + 'AccountingStorageEnforce' ? choice('associations', 'limits', 'nojobs', 'nosteps', 'qos', 'safe', 'wckeys', 'all')[] 'AccountingStorageHost' ? string 'AccountingStorageLoc' ? string 'AccountingStoragePass' ? string @@ -715,8 +721,10 @@ type slurm_dbd_conf = { 'DbdHost' ? string # TODO: must be equal to the AccountingStoragePort parameter in the slurm.conf 'DbdPort' ? long(0..) - 'DebugFlags' ? choice('DB_ARCHIVE', 'DB_ASSOC', 'DB_EVENT', 'DB_JOB', 'DB_QOS', 'DB_QUERY', 'DB_RESERVATION', - 'DB_RESOURCE', 'DB_STEP', 'DB_USAGE', 'DB_WCKEY', 'FEDERATION')[] + 'DebugFlags' ? choice( + 'DB_ARCHIVE', 'DB_ASSOC', 'DB_EVENT', 'DB_JOB', 'DB_QOS', 'DB_QUERY', 'DB_RESERVATION', + 'DB_RESOURCE', 'DB_STEP', 'DB_USAGE', 'DB_WCKEY', 'FEDERATION' + )[] 'DebugLevel' ? slurm_debuglevel 'DebugLevelSyslog' ? slurm_debuglevel 'DefaultQOS' ? string diff --git a/ncm-metaconfig/src/main/metaconfig/slurm/pan/schema_23.02.pan b/ncm-metaconfig/src/main/metaconfig/slurm/pan/schema_23.02.pan index 31c433807d..a27d75f41c 100644 --- a/ncm-metaconfig/src/main/metaconfig/slurm/pan/schema_23.02.pan +++ b/ncm-metaconfig/src/main/metaconfig/slurm/pan/schema_23.02.pan @@ -7,15 +7,19 @@ https://slurm.schedmd.com include 'pan/types'; -type slurm_debuglevel = choice('quiet', 'fatal', 'error', 'info', 'verbose', - 'debug', 'debug2', 'debug3', 'debug4', 'debug5'); +type slurm_debuglevel = choice( + 'quiet', 'fatal', 'error', 'info', 'verbose', + 'debug', 'debug2', 'debug3', 'debug4', 'debug5' +); -type slurm_debugflags = choice( 'Backfill', 'BackfillMap', 'BGBlockAlgo', 'BGBlockAlgoDeep', 'BGBlockPick', - 'BGBlockWires', 'BurstBuffer', 'Cgroup', 'CPU_Bind', 'CpuFrequency', 'DB_ASSOC', 'DB_EVENT', 'DB_JOB', 'DB_QOS', - 'DB_QUERY', 'DB_RESERVATION', 'DB_RESOURCE', 'DB_STEP', 'DB_USAGE', 'DB_WCKEY', 'Elasticsearch', 'Energy', - 'ExtSensors', 'Federation', 'FrontEnd', 'Gres', 'HeteroJobs', 'Gang', 'JobAccountGather', 'JobContainer', - 'License', 'NodeFeatures', 'NO_CONF_HASH', 'Power', 'Priority', 'Profile', 'Protocol', 'Reservation', - 'Script', 'SelectType', 'Steps', 'Switch', 'TimeCray', 'TraceJobs', 'Triggers')[]; +type slurm_debugflags = choice( + 'Backfill', 'BackfillMap', 'BGBlockAlgo', 'BGBlockAlgoDeep', 'BGBlockPick', + 'BGBlockWires', 'BurstBuffer', 'Cgroup', 'CPU_Bind', 'CpuFrequency', 'DB_ASSOC', 'DB_EVENT', 'DB_JOB', 'DB_QOS', + 'DB_QUERY', 'DB_RESERVATION', 'DB_RESOURCE', 'DB_STEP', 'DB_USAGE', 'DB_WCKEY', 'Elasticsearch', 'Energy', + 'ExtSensors', 'Federation', 'FrontEnd', 'Gres', 'HeteroJobs', 'Gang', 'JobAccountGather', 'JobContainer', + 'License', 'NodeFeatures', 'NO_CONF_HASH', 'Power', 'Priority', 'Profile', 'Protocol', 'Reservation', + 'Script', 'SelectType', 'Steps', 'Switch', 'TimeCray', 'TraceJobs', 'Triggers' +)[]; type slurm_gres = { @@ -192,8 +196,10 @@ type slurm_conf_health_check = { }; -type slurm_control_resourcelimits = choice( 'ALL', 'NONE', 'AS', 'CORE', 'CPU', 'DATA', 'FSIZE', - 'MEMLOCK', 'NOFILE', 'NPROC', 'RSS', 'STACK'); +type slurm_control_resourcelimits = choice( + 'ALL', 'NONE', 'AS', 'CORE', 'CPU', 'DATA', 'FSIZE', + 'MEMLOCK', 'NOFILE', 'NPROC', 'RSS', 'STACK' +); type slurm_mpi_params = { @{port or port range} @@ -292,8 +298,9 @@ type slurm_conf_control = { 'JobCredentialPublicCertificate' ? absolute_file_path 'JobFileAppend' ? boolean # 0/1 'JobRequeue' ? boolean # 0/1 - 'JobSubmitPlugins' ? choice('lua', 'pbs', 'all_partitions', 'require_timelimit', 'throttle', - 'defaults', 'logging', 'partition')[] + 'JobSubmitPlugins' ? choice( + 'lua', 'pbs', 'all_partitions', 'require_timelimit', 'throttle', 'defaults', 'logging', 'partition' + )[] 'KillOnBadExit' ? boolean # 0/1 'LaunchType' ? choice( 'aprun', 'poe', 'runjob', 'slurm') 'LaunchParameters' ? slurm_launch_params @@ -332,8 +339,9 @@ type slurm_conf_control = { 'MailDomain' ? string 'MinJobAge' ? long(0..) 'MsgAggregationParams' ? slurm_msg_aggregation - 'PrivateData' ? choice('accounts', 'cloud', 'events', 'jobs', 'nodes', 'partitions', - 'reservations', 'usage', 'users')[] + 'PrivateData' ? choice( + 'accounts', 'cloud', 'events', 'jobs', 'nodes', 'partitions', 'reservations', 'usage', 'users' + )[] 'RoutePlugin' ? choice("default", "topology") # prefix=route/ 'SallocDefaultCommand' ? string 'SbcastParameters' ? slurm_sbcast_parameters @@ -461,8 +469,10 @@ type slurm_conf_job_priority = { @{in minutes} 'PriorityCalcPeriod' ? long(0..) 'PriorityFavorSmall' ? boolean - 'PriorityFlags' ? choice( 'ACCRUE_ALWAYS', 'CALCULATE_RUNNING', 'DEPTH_OBLIVIOUS', 'FAIR_TREE', - 'INCR_ONLY', 'MAX_TRES', 'SMALL_RELATIVE_TO_TIME' )[] + 'PriorityFlags' ? choice( + 'ACCRUE_ALWAYS', 'CALCULATE_RUNNING', 'DEPTH_OBLIVIOUS', 'FAIR_TREE', + 'INCR_ONLY', 'MAX_TRES', 'SMALL_RELATIVE_TO_TIME' + )[] 'PriorityParameters' ? dict @{in minutes} 'PriorityMaxAge' ? long(0..) @@ -484,8 +494,7 @@ type slurm_job_gather_params = { type slurm_conf_accounting = { 'AccountingStorageBackupHost' ? string - 'AccountingStorageEnforce' ? choice('associations', 'limits', 'nojobs', 'nosteps', - 'qos', 'safe', 'wckeys', 'all')[] + 'AccountingStorageEnforce' ? choice('associations', 'limits', 'nojobs', 'nosteps', 'qos', 'safe', 'wckeys', 'all')[] 'AccountingStorageHost' ? string 'AccountingStorageLoc' ? string 'AccountingStoragePass' ? string @@ -758,8 +767,10 @@ type slurm_dbd_conf = { 'DbdHost' ? string # TODO: must be equal to the AccountingStoragePort parameter in the slurm.conf 'DbdPort' ? long(0..) - 'DebugFlags' ? choice('DB_ARCHIVE', 'DB_ASSOC', 'DB_EVENT', 'DB_JOB', 'DB_QOS', 'DB_QUERY', 'DB_RESERVATION', - 'DB_RESOURCE', 'DB_STEP', 'DB_USAGE', 'DB_WCKEY', 'FEDERATION')[] + 'DebugFlags' ? choice( + 'DB_ARCHIVE', 'DB_ASSOC', 'DB_EVENT', 'DB_JOB', 'DB_QOS', 'DB_QUERY', 'DB_RESERVATION', + 'DB_RESOURCE', 'DB_STEP', 'DB_USAGE', 'DB_WCKEY', 'FEDERATION' + )[] 'DebugLevel' ? slurm_debuglevel 'DebugLevelSyslog' ? slurm_debuglevel 'DefaultQOS' ? string @@ -828,8 +839,10 @@ type slurm_gres_per_node_conf = { 'Cores' ? long[] 'Count' ? long(0..) 'File' ? absolute_file_path - 'Flags' ? choice('CountOnly', 'explicit', 'one_sharing', 'all_sharing', 'nvidia_gpu_env', - 'amd_gpu_env', 'intel_gpu_env', 'opencl_env', 'no_gpu_env')[] + 'Flags' ? choice( + 'CountOnly', 'explicit', 'one_sharing', 'all_sharing', 'nvidia_gpu_env', + 'amd_gpu_env', 'intel_gpu_env', 'opencl_env', 'no_gpu_env' + )[] 'Links' ? long(0..)[] 'Name' ? choice('gpu', 'mps', 'nic', 'shard') 'Type' ? string diff --git a/ncm-metaconfig/src/main/metaconfig/slurm/pan/schema_24.05.pan b/ncm-metaconfig/src/main/metaconfig/slurm/pan/schema_24.05.pan index b3fcf15017..4ecefbf989 100644 --- a/ncm-metaconfig/src/main/metaconfig/slurm/pan/schema_24.05.pan +++ b/ncm-metaconfig/src/main/metaconfig/slurm/pan/schema_24.05.pan @@ -6,15 +6,19 @@ https://slurm.schedmd.com include 'pan/types'; -type slurm_debuglevel = choice('quiet', 'fatal', 'error', 'info', 'verbose', - 'debug', 'debug2', 'debug3', 'debug4', 'debug5'); +type slurm_debuglevel = choice( + 'quiet', 'fatal', 'error', 'info', 'verbose', + 'debug', 'debug2', 'debug3', 'debug4', 'debug5' +); -type slurm_debugflags = choice('AuditRPCs', 'Backfill', 'BackfillMap', 'BGBlockAlgo', 'BGBlockAlgoDeep', 'BGBlockPick', - 'BGBlockWires', 'BurstBuffer', 'Cgroup', 'CPU_Bind', 'CpuFrequency', 'DB_ASSOC', 'DB_EVENT', 'DB_JOB', 'DB_QOS', - 'DB_QUERY', 'DB_RESERVATION', 'DB_RESOURCE', 'DB_STEP', 'DB_USAGE', 'DB_WCKEY', 'DBD_Agent', 'Elasticsearch', - 'Energy', 'Federation', 'FrontEnd', 'GLOB_SILENCE', 'Gres', 'HeteroJobs', 'Gang', 'JobAccountGather', - 'JobContainer', 'License', 'NodeFeatures', 'NO_CONF_HASH', 'Power', 'Priority', 'Profile', 'Protocol', - 'Reservation', 'Script', 'SelectType', 'Steps', 'Switch', 'TraceJobs', 'Triggers')[]; +type slurm_debugflags = choice( + 'AuditRPCs', 'Backfill', 'BackfillMap', 'BGBlockAlgo', 'BGBlockAlgoDeep', 'BGBlockPick', + 'BGBlockWires', 'BurstBuffer', 'Cgroup', 'CPU_Bind', 'CpuFrequency', 'DB_ASSOC', 'DB_EVENT', 'DB_JOB', 'DB_QOS', + 'DB_QUERY', 'DB_RESERVATION', 'DB_RESOURCE', 'DB_STEP', 'DB_USAGE', 'DB_WCKEY', 'DBD_Agent', 'Elasticsearch', + 'Energy', 'Federation', 'FrontEnd', 'GLOB_SILENCE', 'Gres', 'HeteroJobs', 'Gang', 'JobAccountGather', + 'JobContainer', 'License', 'NodeFeatures', 'NO_CONF_HASH', 'Power', 'Priority', 'Profile', 'Protocol', + 'Reservation', 'Script', 'SelectType', 'Steps', 'Switch', 'TraceJobs', 'Triggers' +)[]; @@ -175,9 +179,9 @@ type slurm_conf_health_check = { 'HealthCheckProgram' ? absolute_file_path }; - -type slurm_control_resourcelimits = choice( 'ALL', 'NONE', 'AS', 'CORE', 'CPU', 'DATA', 'FSIZE', - 'MEMLOCK', 'NOFILE', 'NPROC', 'RSS', 'STACK'); +type slurm_control_resourcelimits = choice( + 'ALL', 'NONE', 'AS', 'CORE', 'CPU', 'DATA', 'FSIZE', 'MEMLOCK', 'NOFILE', 'NPROC', 'RSS', 'STACK' +); type slurm_mpi_params = { @{port or port range} @@ -285,8 +289,9 @@ type slurm_conf_control = { 'JobCredentialPublicCertificate' ? absolute_file_path 'JobFileAppend' ? boolean # 0/1 'JobRequeue' ? boolean # 0/1 - 'JobSubmitPlugins' ? choice('lua', 'pbs', 'all_partitions', 'require_timelimit', 'throttle', - 'defaults', 'logging', 'partition')[] + 'JobSubmitPlugins' ? choice( + 'lua', 'pbs', 'all_partitions', 'require_timelimit', 'throttle', 'defaults', 'logging', 'partition' + )[] 'KillOnBadExit' ? boolean # 0/1 'LaunchType' ? choice( 'aprun', 'poe', 'runjob', 'slurm') 'LaunchParameters' ? slurm_launch_params @@ -325,8 +330,9 @@ type slurm_conf_control = { 'MailDomain' ? string 'MinJobAge' ? long(0..) 'MsgAggregationParams' ? slurm_msg_aggregation - 'PrivateData' ? choice('accounts', 'cloud', 'events', 'jobs', 'nodes', 'partitions', - 'reservations', 'usage', 'users')[] + 'PrivateData' ? choice( + 'accounts', 'cloud', 'events', 'jobs', 'nodes', 'partitions', 'reservations', 'usage', 'users' + )[] 'SallocDefaultCommand' ? string 'SbcastParameters' ? slurm_sbcast_parameters 'BcastExclude' ? absolute_file_path[] @@ -345,8 +351,9 @@ type slurm_conf_prolog_epilog = { 'EpilogSlurmctld' ? absolute_file_path 'Prolog' ? absolute_file_path 'PrologEpilogTimeout' ? long(0..) # seconds - 'PrologFlags' ? choice( 'Alloc', 'Contain', 'DeferBatch', 'NoHold', 'ForceRequeueOnFail', - 'RunInJob', 'Serial', 'X11')[] + 'PrologFlags' ? choice( + 'Alloc', 'Contain', 'DeferBatch', 'NoHold', 'ForceRequeueOnFail', 'RunInJob', 'Serial', 'X11' + )[] 'PrologSlurmctld' ? absolute_file_path 'ResvEpilog' ? absolute_file_path @{in minutes} @@ -457,8 +464,10 @@ type slurm_conf_job_priority = { @{in minutes} 'PriorityCalcPeriod' ? long(0..) 'PriorityFavorSmall' ? boolean - 'PriorityFlags' ? choice( 'ACCRUE_ALWAYS', 'CALCULATE_RUNNING', 'DEPTH_OBLIVIOUS', 'FAIR_TREE', - 'INCR_ONLY', 'MAX_TRES', 'SMALL_RELATIVE_TO_TIME' )[] + 'PriorityFlags' ? choice( + 'ACCRUE_ALWAYS', 'CALCULATE_RUNNING', 'DEPTH_OBLIVIOUS', 'FAIR_TREE', 'INCR_ONLY', 'MAX_TRES', + 'SMALL_RELATIVE_TO_TIME' + )[] 'PriorityParameters' ? dict @{in minutes} 'PriorityMaxAge' ? long(0..) @@ -515,8 +524,10 @@ type slurm_conf_accounting = { }; type slurm_conf_logging = { - 'LogTimeFormat' ? choice("iso8601", "iso8601_ms", "rfc5424", "rfc5424_ms", "rfc3339", - "clock", "short", "thread_id", "format_stderr")[] + 'LogTimeFormat' ? choice( + "iso8601", "iso8601_ms", "rfc5424", "rfc5424_ms", "rfc3339", + "clock", "short", "thread_id", "format_stderr" + )[] 'SlurmctldDebug' ? slurm_debuglevel 'SlurmctldLogFile' ? absolute_file_path 'SlurmctldSyslogDebug' ? slurm_debuglevel @@ -762,8 +773,10 @@ type slurm_dbd_conf = { 'DbdHost' ? string # TODO: must be equal to the AccountingStoragePort parameter in the slurm.conf 'DbdPort' ? long(0..) - 'DebugFlags' ? choice('DB_ARCHIVE', 'DB_ASSOC', 'DB_EVENT', 'DB_JOB', 'DB_QOS', 'DB_QUERY', 'DB_RESERVATION', - 'DB_RESOURCE', 'DB_STEP', 'DB_USAGE', 'DB_WCKEY', 'FEDERATION')[] + 'DebugFlags' ? choice( + 'DB_ARCHIVE', 'DB_ASSOC', 'DB_EVENT', 'DB_JOB', 'DB_QOS', 'DB_QUERY', 'DB_RESERVATION', + 'DB_RESOURCE', 'DB_STEP', 'DB_USAGE', 'DB_WCKEY', 'FEDERATION' + )[] 'DebugLevel' ? slurm_debuglevel 'DebugLevelSyslog' ? slurm_debuglevel 'DefaultQOS' ? string @@ -773,8 +786,10 @@ type slurm_dbd_conf = { 'keepaliveprobes' ? long(1..) 'keepalivetime' ? long(1..) 'LogFile' ? absolute_file_path - 'LogTimeFormat' ? choice("iso8601", "iso8601_ms", "rfc5424", "rfc5424_ms", "rfc3339", - "clock", "short", "thread_id", "format_stderr")[] + 'LogTimeFormat' ? choice( + "iso8601", "iso8601_ms", "rfc5424", "rfc5424_ms", "rfc3339", + "clock", "short", "thread_id", "format_stderr" + )[] 'MaxQueryTimeRange' ? long(0..) # unsure of this type 'MessageTimeout' ? long(0..) 'PidFile' ? absolute_file_path @@ -835,8 +850,10 @@ type slurm_gres_per_node_conf = { 'Cores' ? long[] 'Count' ? long(0..) 'File' ? absolute_file_path - 'Flags' ? choice('CountOnly', 'explicit', 'one_sharing', 'all_sharing', 'nvidia_gpu_env', - 'amd_gpu_env', 'intel_gpu_env', 'opencl_env', 'no_gpu_env')[] + 'Flags' ? choice( + 'CountOnly', 'explicit', 'one_sharing', 'all_sharing', 'nvidia_gpu_env', + 'amd_gpu_env', 'intel_gpu_env', 'opencl_env', 'no_gpu_env' + )[] 'Links' ? long(0..)[] 'Name' ? choice('gpu', 'mps', 'nic', 'shard') 'Type' ? string diff --git a/ncm-metaconfig/src/main/metaconfig/slurm/tests/profiles/config.pan b/ncm-metaconfig/src/main/metaconfig/slurm/tests/profiles/config.pan index 5413ecaed8..82f28d62d5 100644 --- a/ncm-metaconfig/src/main/metaconfig/slurm/tests/profiles/config.pan +++ b/ncm-metaconfig/src/main/metaconfig/slurm/tests/profiles/config.pan @@ -128,7 +128,7 @@ prefix "/software/components/metaconfig/services/{/etc/slurm/slurm.conf}/content "{no_backup_scheduling}", false, "{no_env_cache}", false, "{partition_job_depth}", 5, - ); +); "DependencyParameters" = dict('{max_depend_depth}', 5); "SelectType" = "cons_tres"; "SelectTypeParameters" = dict("CR_Core_Memory", true); @@ -169,7 +169,7 @@ prefix "/software/components/metaconfig/services/{/etc/slurm/slurm.conf}/content "JobAcctGatherFrequency" = dict( "network", 30, "energy", 10, - ); +); "JobAcctGatherType" = "cgroup"; @@ -216,18 +216,18 @@ prefix "/software/components/metaconfig/services/{/etc/slurm/slurm.conf}/content "name", "gpu", "type", "kepler1", "number", 1, - ); +); "Gres/1" = dict( "name", "gpu", "type", "tesla1", "number", 1, - ); +); "Gres/2" = dict( "name", "bandwidth", "type", "lustre", "consume", false, "number", 4 * 1024 * 1024, - ); +); prefix "/software/components/metaconfig/services/{/etc/slurm/slurm.conf}/contents/nodes/down/DEFAULT"; "State" = "FAIL"; diff --git a/ncm-metaconfig/src/main/metaconfig/slurm/tests/profiles/spank.pan b/ncm-metaconfig/src/main/metaconfig/slurm/tests/profiles/spank.pan index 45d30c788e..534d67b94e 100644 --- a/ncm-metaconfig/src/main/metaconfig/slurm/tests/profiles/spank.pan +++ b/ncm-metaconfig/src/main/metaconfig/slurm/tests/profiles/spank.pan @@ -12,8 +12,8 @@ prefix "/software/components/metaconfig/services/{/etc/slurm/plugstack.conf}/con "plugin" = "/some/other/path"; "arguments" = dict( "woohoo", true, - "hello", "world" - ); + "hello", "world", +); "optional" = true; prefix "/software/components/metaconfig/services/{/etc/slurm/plugstack.conf}/contents/plugins/2";