aws-parallelcluster-node 3.14.2__tar.gz → 3.15.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {aws_parallelcluster_node-3.14.2/src/aws_parallelcluster_node.egg-info → aws_parallelcluster_node-3.15.0}/PKG-INFO +2 -1
- {aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/setup.py +2 -2
- {aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0/src/aws_parallelcluster_node.egg-info}/PKG-INFO +2 -1
- {aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/src/aws_parallelcluster_node.egg-info/requires.txt +1 -0
- {aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/src/slurm_plugin/cluster_event_publisher.py +35 -0
- {aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/src/slurm_plugin/clustermgtd.py +6 -2
- {aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/src/slurm_plugin/resume.py +5 -1
- {aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/LICENSE.txt +0 -0
- {aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/NOTICE.txt +0 -0
- {aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/README.md +0 -0
- {aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/setup.cfg +0 -0
- {aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/src/aws/__init__.py +0 -0
- {aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/src/aws/common.py +0 -0
- {aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/src/aws/ec2.py +0 -0
- {aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/src/aws_parallelcluster_node.egg-info/SOURCES.txt +0 -0
- {aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/src/aws_parallelcluster_node.egg-info/dependency_links.txt +0 -0
- {aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/src/aws_parallelcluster_node.egg-info/entry_points.txt +0 -0
- {aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/src/aws_parallelcluster_node.egg-info/not-zip-safe +0 -0
- {aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/src/aws_parallelcluster_node.egg-info/top_level.txt +0 -0
- {aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/src/common/__init__.py +0 -0
- {aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/src/common/ec2_utils.py +0 -0
- {aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/src/common/schedulers/__init__.py +0 -0
- {aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/src/common/schedulers/slurm_commands.py +0 -0
- {aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/src/common/schedulers/slurm_reservation_commands.py +0 -0
- {aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/src/common/time_utils.py +0 -0
- {aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/src/common/utils.py +0 -0
- {aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/src/slurm_plugin/__init__.py +0 -0
- {aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/src/slurm_plugin/capacity_block_manager.py +0 -0
- {aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/src/slurm_plugin/common.py +0 -0
- {aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/src/slurm_plugin/computemgtd.py +0 -0
- {aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/src/slurm_plugin/console_logger.py +0 -0
- {aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/src/slurm_plugin/fleet_manager.py +0 -0
- {aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/src/slurm_plugin/fleet_status_manager.py +0 -0
- {aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/src/slurm_plugin/instance_manager.py +0 -0
- {aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/src/slurm_plugin/logging/parallelcluster_clustermgtd_logging.conf +0 -0
- {aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/src/slurm_plugin/logging/parallelcluster_computemgtd_logging.conf +0 -0
- {aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/src/slurm_plugin/logging/parallelcluster_fleet_status_manager_logging.conf +0 -0
- {aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/src/slurm_plugin/logging/parallelcluster_resume_logging.conf +0 -0
- {aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/src/slurm_plugin/logging/parallelcluster_suspend_logging.conf +0 -0
- {aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/src/slurm_plugin/slurm_resources.py +0 -0
- {aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/src/slurm_plugin/suspend.py +0 -0
- {aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/src/slurm_plugin/task_executor.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: aws-parallelcluster-node
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.15.0
|
|
4
4
|
Summary: aws-parallelcluster-node provides the scripts for an AWS ParallelCluster node.
|
|
5
5
|
Home-page: https://github.com/aws/aws-parallelcluster-node
|
|
6
6
|
Author: Amazon Web Services
|
|
@@ -15,6 +15,7 @@ License-File: LICENSE.txt
|
|
|
15
15
|
License-File: NOTICE.txt
|
|
16
16
|
Requires-Dist: boto3>=1.7.55
|
|
17
17
|
Requires-Dist: retrying>=1.3.3
|
|
18
|
+
Requires-Dist: setuptools
|
|
18
19
|
Dynamic: author
|
|
19
20
|
Dynamic: classifier
|
|
20
21
|
Dynamic: description
|
|
@@ -32,8 +32,8 @@ console_scripts = [
|
|
|
32
32
|
"clustermgtd = slurm_plugin.clustermgtd:main",
|
|
33
33
|
"computemgtd = slurm_plugin.computemgtd:main",
|
|
34
34
|
]
|
|
35
|
-
version = "3.
|
|
36
|
-
requires = ["boto3>=1.7.55", "retrying>=1.3.3"]
|
|
35
|
+
version = "3.15.0"
|
|
36
|
+
requires = ["boto3>=1.7.55", "retrying>=1.3.3", "setuptools"]
|
|
37
37
|
|
|
38
38
|
setup(
|
|
39
39
|
name="aws-parallelcluster-node",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: aws-parallelcluster-node
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.15.0
|
|
4
4
|
Summary: aws-parallelcluster-node provides the scripts for an AWS ParallelCluster node.
|
|
5
5
|
Home-page: https://github.com/aws/aws-parallelcluster-node
|
|
6
6
|
Author: Amazon Web Services
|
|
@@ -15,6 +15,7 @@ License-File: LICENSE.txt
|
|
|
15
15
|
License-File: NOTICE.txt
|
|
16
16
|
Requires-Dist: boto3>=1.7.55
|
|
17
17
|
Requires-Dist: retrying>=1.3.3
|
|
18
|
+
Requires-Dist: setuptools
|
|
18
19
|
Dynamic: author
|
|
19
20
|
Dynamic: classifier
|
|
20
21
|
Dynamic: description
|
|
@@ -104,6 +104,10 @@ CLUSTER_INSTANCE_COUNT = {
|
|
|
104
104
|
"message": "Count of EC2 instances backing the cluster compute fleet",
|
|
105
105
|
"event_type": "cluster-instance-count",
|
|
106
106
|
}
|
|
107
|
+
CLUSTERMGTD_HEARTBEAT = {
|
|
108
|
+
"message": "Clustermgtd heartbeat",
|
|
109
|
+
"event_type": "clustermgtd-heartbeat",
|
|
110
|
+
}
|
|
107
111
|
|
|
108
112
|
|
|
109
113
|
class ClusterEventPublisher:
|
|
@@ -474,6 +478,37 @@ class ClusterEventPublisher:
|
|
|
474
478
|
event_supplier=({"detail": self._describe_node(node)} for node in compute_nodes),
|
|
475
479
|
)
|
|
476
480
|
|
|
481
|
+
# Example event generated by this function:
|
|
482
|
+
# {
|
|
483
|
+
# "datetime": "2023-04-03T18:10:13.089+00:00",
|
|
484
|
+
# "version": 0,
|
|
485
|
+
# "scheduler": "slurm",
|
|
486
|
+
# "cluster-name": "integ-tests-9hbu2op3liukbqqz-develop",
|
|
487
|
+
# "node-role": "HeadNode",
|
|
488
|
+
# "component": "clustermgtd",
|
|
489
|
+
# "level": "INFO",
|
|
490
|
+
# "instance-id": "i-04886f8b56e5967ee",
|
|
491
|
+
# "event-type": "clustermgtd-heartbeat",
|
|
492
|
+
# "message": "Clustermgtd heartbeat",
|
|
493
|
+
# "detail": {
|
|
494
|
+
# "heartbeat-timestamp": "2023-04-03T18:10:13.089+00:00"
|
|
495
|
+
# }
|
|
496
|
+
# }
|
|
497
|
+
@log_exception(logger, "publish_heartbeat_event", catch_exception=Exception, raise_on_error=False)
|
|
498
|
+
def publish_heartbeat_event(self, heartbeat_timestamp: datetime):
|
|
499
|
+
"""Publish heartbeat event."""
|
|
500
|
+
timestamp = ClusterEventPublisher.timestamp()
|
|
501
|
+
self.publish_event(
|
|
502
|
+
logging.INFO,
|
|
503
|
+
**CLUSTERMGTD_HEARTBEAT,
|
|
504
|
+
timestamp=timestamp,
|
|
505
|
+
detail={
|
|
506
|
+
"heartbeat-timestamp": (
|
|
507
|
+
heartbeat_timestamp.isoformat(timespec="milliseconds") if heartbeat_timestamp else None
|
|
508
|
+
),
|
|
509
|
+
},
|
|
510
|
+
)
|
|
511
|
+
|
|
477
512
|
# Slurm Resume Events
|
|
478
513
|
# Note: This uses the same schema as `publish_unhealthy_static_node_events` from clustermgtd
|
|
479
514
|
# Example event generated by this function:
|
{aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/src/slurm_plugin/clustermgtd.py
RENAMED
|
@@ -577,10 +577,13 @@ class ClusterManager:
|
|
|
577
577
|
def _write_timestamp_to_file(self):
|
|
578
578
|
"""Write timestamp into shared file so compute nodes can determine if head node is online."""
|
|
579
579
|
# Make clustermgtd heartbeat readable to all users
|
|
580
|
+
heartbeat_time = datetime.now(tz=timezone.utc)
|
|
580
581
|
with open(os.open(self._config.heartbeat_file_path, os.O_WRONLY | os.O_CREAT, 0o644), "w") as timestamp_file:
|
|
581
582
|
# Note: heartbeat must be written with datetime.strftime to convert localized datetime into str
|
|
582
583
|
# datetime.strptime will not work with str(datetime)
|
|
583
|
-
timestamp_file.write(
|
|
584
|
+
timestamp_file.write(heartbeat_time.strftime(TIMESTAMP_FORMAT))
|
|
585
|
+
# Publish heartbeat event to events log
|
|
586
|
+
self._event_publisher.publish_heartbeat_event(heartbeat_time)
|
|
584
587
|
|
|
585
588
|
@staticmethod
|
|
586
589
|
@retry(stop_max_attempt_number=2, wait_fixed=1000)
|
|
@@ -1262,7 +1265,8 @@ class ClusterManager:
|
|
|
1262
1265
|
return
|
|
1263
1266
|
log.info(
|
|
1264
1267
|
"The following compute resources are in down state due to insufficient capacity: %s, "
|
|
1265
|
-
"compute resources will be reset after insufficient capacity timeout (%s seconds) expired"
|
|
1268
|
+
"compute resources will be reset after insufficient capacity timeout (%s seconds) expired. "
|
|
1269
|
+
"Check the slurm_resume log for EC2 error codes.",
|
|
1266
1270
|
self._insufficient_capacity_compute_resources,
|
|
1267
1271
|
self._config.insufficient_capacity_timeout,
|
|
1268
1272
|
)
|
{aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/src/slurm_plugin/resume.py
RENAMED
|
@@ -227,7 +227,11 @@ def _resume(arg_nodes, resume_config, slurm_resume):
|
|
|
227
227
|
print_with_count(failed_nodes),
|
|
228
228
|
)
|
|
229
229
|
for error_code, node_list in instance_manager.failed_nodes.items():
|
|
230
|
-
_handle_failed_nodes(
|
|
230
|
+
_handle_failed_nodes(
|
|
231
|
+
node_list,
|
|
232
|
+
reason=f"(Code:{error_code})Failure when resuming nodes - "
|
|
233
|
+
f"Check the slurm_resume log for EC2 error codes",
|
|
234
|
+
)
|
|
231
235
|
|
|
232
236
|
event_publisher = ClusterEventPublisher.create_with_default_publisher(
|
|
233
237
|
event_logger,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/src/common/time_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
{aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/src/slurm_plugin/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/src/slurm_plugin/common.py
RENAMED
|
File without changes
|
{aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/src/slurm_plugin/computemgtd.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aws_parallelcluster_node-3.14.2 → aws_parallelcluster_node-3.15.0}/src/slurm_plugin/suspend.py
RENAMED
|
File without changes
|
|
File without changes
|