aws-parallelcluster-node 3.13.2__tar.gz → 3.14.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.
Files changed (42) hide show
  1. {aws_parallelcluster_node-3.13.2/src/aws_parallelcluster_node.egg-info → aws_parallelcluster_node-3.14.0}/PKG-INFO +1 -1
  2. {aws_parallelcluster_node-3.13.2 → aws_parallelcluster_node-3.14.0}/setup.py +1 -1
  3. {aws_parallelcluster_node-3.13.2 → aws_parallelcluster_node-3.14.0/src/aws_parallelcluster_node.egg-info}/PKG-INFO +1 -1
  4. {aws_parallelcluster_node-3.13.2 → aws_parallelcluster_node-3.14.0}/src/slurm_plugin/fleet_manager.py +18 -2
  5. {aws_parallelcluster_node-3.13.2 → aws_parallelcluster_node-3.14.0}/src/slurm_plugin/slurm_resources.py +2 -0
  6. {aws_parallelcluster_node-3.13.2 → aws_parallelcluster_node-3.14.0}/LICENSE.txt +0 -0
  7. {aws_parallelcluster_node-3.13.2 → aws_parallelcluster_node-3.14.0}/NOTICE.txt +0 -0
  8. {aws_parallelcluster_node-3.13.2 → aws_parallelcluster_node-3.14.0}/README.md +0 -0
  9. {aws_parallelcluster_node-3.13.2 → aws_parallelcluster_node-3.14.0}/setup.cfg +0 -0
  10. {aws_parallelcluster_node-3.13.2 → aws_parallelcluster_node-3.14.0}/src/aws/__init__.py +0 -0
  11. {aws_parallelcluster_node-3.13.2 → aws_parallelcluster_node-3.14.0}/src/aws/common.py +0 -0
  12. {aws_parallelcluster_node-3.13.2 → aws_parallelcluster_node-3.14.0}/src/aws/ec2.py +0 -0
  13. {aws_parallelcluster_node-3.13.2 → aws_parallelcluster_node-3.14.0}/src/aws_parallelcluster_node.egg-info/SOURCES.txt +0 -0
  14. {aws_parallelcluster_node-3.13.2 → aws_parallelcluster_node-3.14.0}/src/aws_parallelcluster_node.egg-info/dependency_links.txt +0 -0
  15. {aws_parallelcluster_node-3.13.2 → aws_parallelcluster_node-3.14.0}/src/aws_parallelcluster_node.egg-info/entry_points.txt +0 -0
  16. {aws_parallelcluster_node-3.13.2 → aws_parallelcluster_node-3.14.0}/src/aws_parallelcluster_node.egg-info/not-zip-safe +0 -0
  17. {aws_parallelcluster_node-3.13.2 → aws_parallelcluster_node-3.14.0}/src/aws_parallelcluster_node.egg-info/requires.txt +0 -0
  18. {aws_parallelcluster_node-3.13.2 → aws_parallelcluster_node-3.14.0}/src/aws_parallelcluster_node.egg-info/top_level.txt +0 -0
  19. {aws_parallelcluster_node-3.13.2 → aws_parallelcluster_node-3.14.0}/src/common/__init__.py +0 -0
  20. {aws_parallelcluster_node-3.13.2 → aws_parallelcluster_node-3.14.0}/src/common/ec2_utils.py +0 -0
  21. {aws_parallelcluster_node-3.13.2 → aws_parallelcluster_node-3.14.0}/src/common/schedulers/__init__.py +0 -0
  22. {aws_parallelcluster_node-3.13.2 → aws_parallelcluster_node-3.14.0}/src/common/schedulers/slurm_commands.py +0 -0
  23. {aws_parallelcluster_node-3.13.2 → aws_parallelcluster_node-3.14.0}/src/common/schedulers/slurm_reservation_commands.py +0 -0
  24. {aws_parallelcluster_node-3.13.2 → aws_parallelcluster_node-3.14.0}/src/common/time_utils.py +0 -0
  25. {aws_parallelcluster_node-3.13.2 → aws_parallelcluster_node-3.14.0}/src/common/utils.py +0 -0
  26. {aws_parallelcluster_node-3.13.2 → aws_parallelcluster_node-3.14.0}/src/slurm_plugin/__init__.py +0 -0
  27. {aws_parallelcluster_node-3.13.2 → aws_parallelcluster_node-3.14.0}/src/slurm_plugin/capacity_block_manager.py +0 -0
  28. {aws_parallelcluster_node-3.13.2 → aws_parallelcluster_node-3.14.0}/src/slurm_plugin/cluster_event_publisher.py +0 -0
  29. {aws_parallelcluster_node-3.13.2 → aws_parallelcluster_node-3.14.0}/src/slurm_plugin/clustermgtd.py +0 -0
  30. {aws_parallelcluster_node-3.13.2 → aws_parallelcluster_node-3.14.0}/src/slurm_plugin/common.py +0 -0
  31. {aws_parallelcluster_node-3.13.2 → aws_parallelcluster_node-3.14.0}/src/slurm_plugin/computemgtd.py +0 -0
  32. {aws_parallelcluster_node-3.13.2 → aws_parallelcluster_node-3.14.0}/src/slurm_plugin/console_logger.py +0 -0
  33. {aws_parallelcluster_node-3.13.2 → aws_parallelcluster_node-3.14.0}/src/slurm_plugin/fleet_status_manager.py +0 -0
  34. {aws_parallelcluster_node-3.13.2 → aws_parallelcluster_node-3.14.0}/src/slurm_plugin/instance_manager.py +0 -0
  35. {aws_parallelcluster_node-3.13.2 → aws_parallelcluster_node-3.14.0}/src/slurm_plugin/logging/parallelcluster_clustermgtd_logging.conf +0 -0
  36. {aws_parallelcluster_node-3.13.2 → aws_parallelcluster_node-3.14.0}/src/slurm_plugin/logging/parallelcluster_computemgtd_logging.conf +0 -0
  37. {aws_parallelcluster_node-3.13.2 → aws_parallelcluster_node-3.14.0}/src/slurm_plugin/logging/parallelcluster_fleet_status_manager_logging.conf +0 -0
  38. {aws_parallelcluster_node-3.13.2 → aws_parallelcluster_node-3.14.0}/src/slurm_plugin/logging/parallelcluster_resume_logging.conf +0 -0
  39. {aws_parallelcluster_node-3.13.2 → aws_parallelcluster_node-3.14.0}/src/slurm_plugin/logging/parallelcluster_suspend_logging.conf +0 -0
  40. {aws_parallelcluster_node-3.13.2 → aws_parallelcluster_node-3.14.0}/src/slurm_plugin/resume.py +0 -0
  41. {aws_parallelcluster_node-3.13.2 → aws_parallelcluster_node-3.14.0}/src/slurm_plugin/suspend.py +0 -0
  42. {aws_parallelcluster_node-3.13.2 → aws_parallelcluster_node-3.14.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.13.2
3
+ Version: 3.14.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
@@ -32,7 +32,7 @@ console_scripts = [
32
32
  "clustermgtd = slurm_plugin.clustermgtd:main",
33
33
  "computemgtd = slurm_plugin.computemgtd:main",
34
34
  ]
35
- version = "3.13.2"
35
+ version = "3.14.0"
36
36
  requires = ["boto3>=1.7.55", "retrying>=1.3.3"]
37
37
 
38
38
  setup(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aws-parallelcluster-node
3
- Version: 3.13.2
3
+ Version: 3.14.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
@@ -296,11 +296,18 @@ class Ec2CreateFleetManager(FleetManager):
296
296
  if self._compute_resource_config.get("MaxPrice"):
297
297
  overrides.update({"MaxPrice": str(self._compute_resource_config["MaxPrice"])})
298
298
 
299
+ priority = 0.0
299
300
  for instance_type in self._compute_resource_config["Instances"]:
300
- subnet_ids = self._compute_resource_config["Networking"]["SubnetIds"]
301
+ subnet_ids = self._compute_resource_config.get("Networking", {}).get("SubnetIds", [])
301
302
  for subnet_id in subnet_ids:
302
- overrides.update({"InstanceType": instance_type["InstanceType"], "SubnetId": subnet_id})
303
+ if self._uses_subnet_prioritization():
304
+ overrides.update(
305
+ {"InstanceType": instance_type["InstanceType"], "SubnetId": subnet_id, "Priority": priority}
306
+ )
307
+ else:
308
+ overrides.update({"InstanceType": instance_type["InstanceType"], "SubnetId": subnet_id})
303
309
  template_overrides.append(copy.deepcopy(overrides))
310
+ priority += 1.0
304
311
  return template_overrides
305
312
 
306
313
  def _uses_single_instance_type(self):
@@ -312,6 +319,15 @@ class Ec2CreateFleetManager(FleetManager):
312
319
  subnet_ids = self._compute_resource_config.get("Networking", {}).get("SubnetIds", [])
313
320
  return len(subnet_ids) == 1
314
321
 
322
+ def _uses_subnet_prioritization(self):
323
+ return (
324
+ self._compute_resource_config.get("AllocationStrategy") == "prioritized"
325
+ and self._compute_resource_config["CapacityType"] == "on-demand"
326
+ ) or (
327
+ self._compute_resource_config.get("AllocationStrategy") == "capacity-optimized-prioritized"
328
+ and self._compute_resource_config["CapacityType"] == "spot"
329
+ )
330
+
315
331
  def _evaluate_launch_params(self, count):
316
332
  """Evaluate parameters to be passed to create_fleet call."""
317
333
  try:
@@ -223,6 +223,8 @@ class SlurmNode(metaclass=ABCMeta):
223
223
  "MaxSpotInstanceCountExceeded",
224
224
  "Unsupported",
225
225
  "SpotMaxPriceTooLow",
226
+ "UnfulfillableCapacity",
227
+ "InsufficientCapacity",
226
228
  }
227
229
 
228
230
  def __init__(