├── .github ├── .pre-commit-config.yaml ├── CODEOWNERS ├── ISSUE_TEMPLATE │ ├── bug_report_2.md │ ├── bug_report_3.md │ └── internal_ticket_replica.md ├── PULL_REQUEST_TEMPLATE.md ├── codeql │ └── codeql-config.yml ├── dependabot.yml └── workflows │ ├── bump_version.yml │ ├── bump_version_awsbatch_cli.yml │ ├── changelog_enforcer.yml │ ├── ci.yml │ ├── closed-issue-message.yml │ ├── codeql-analysis.yml │ ├── no-response.yml │ ├── security_exclusions_checker.yml │ └── unsafe_patterns_checker.yml ├── .gitignore ├── .pre-commit-config.yaml ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE.txt ├── NOTICE.txt ├── README.md ├── THIRD-PARTY-LICENSES.txt ├── api ├── .gitattributes ├── .gitignore ├── README.md ├── build.gradle ├── client │ ├── example.py │ ├── patch-client.sh │ ├── requirements.txt │ ├── resources │ │ ├── api_client.py.patch │ │ ├── client-requirements.txt.patch │ │ ├── readme.md.patch │ │ ├── setup.py.patch │ │ └── sigv4_auth.py │ └── src │ │ ├── .gitignore │ │ ├── .gitlab-ci.yml │ │ ├── .openapi-generator-ignore │ │ ├── .openapi-generator │ │ ├── FILES │ │ └── VERSION │ │ ├── .travis.yml │ │ ├── README.md │ │ ├── docs │ │ ├── AmiInfo.md │ │ ├── BadRequestExceptionResponseContent.md │ │ ├── BuildImageBadRequestExceptionResponseContent.md │ │ ├── BuildImageRequestContent.md │ │ ├── BuildImageResponseContent.md │ │ ├── Change.md │ │ ├── CloudFormationResourceStatus.md │ │ ├── CloudFormationStackStatus.md │ │ ├── ClusterComputeFleetApi.md │ │ ├── ClusterConfigurationStructure.md │ │ ├── ClusterInfoSummary.md │ │ ├── ClusterInstance.md │ │ ├── ClusterInstancesApi.md │ │ ├── ClusterLogsApi.md │ │ ├── ClusterOperationsApi.md │ │ ├── ClusterStatus.md │ │ ├── ClusterStatusFilteringOption.md │ │ ├── ComputeFleetStatus.md │ │ ├── ConfigValidationMessage.md │ │ ├── ConflictExceptionResponseContent.md │ │ ├── CreateClusterBadRequestExceptionResponseContent.md │ │ ├── CreateClusterRequestContent.md │ │ ├── CreateClusterResponseContent.md │ │ ├── DeleteClusterResponseContent.md │ │ ├── DeleteImageResponseContent.md │ │ ├── DescribeClusterInstancesResponseContent.md │ │ ├── DescribeClusterResponseContent.md │ │ ├── DescribeComputeFleetResponseContent.md │ │ ├── DescribeImageResponseContent.md │ │ ├── DryrunOperationExceptionResponseContent.md │ │ ├── EC2Instance.md │ │ ├── Ec2AmiInfo.md │ │ ├── Ec2AmiInfoSummary.md │ │ ├── Ec2AmiState.md │ │ ├── Failure.md │ │ ├── GetClusterLogEventsResponseContent.md │ │ ├── GetClusterStackEventsResponseContent.md │ │ ├── GetImageLogEventsResponseContent.md │ │ ├── GetImageStackEventsResponseContent.md │ │ ├── ImageBuildStatus.md │ │ ├── ImageBuilderImageStatus.md │ │ ├── ImageConfigurationStructure.md │ │ ├── ImageInfoSummary.md │ │ ├── ImageLogsApi.md │ │ ├── ImageOperationsApi.md │ │ ├── ImageStatusFilteringOption.md │ │ ├── InstanceState.md │ │ ├── InternalServiceExceptionResponseContent.md │ │ ├── LimitExceededExceptionResponseContent.md │ │ ├── ListClusterLogStreamsResponseContent.md │ │ ├── ListClustersResponseContent.md │ │ ├── ListImageLogStreamsResponseContent.md │ │ ├── ListImagesResponseContent.md │ │ ├── ListOfficialImagesResponseContent.md │ │ ├── LogEvent.md │ │ ├── LogStream.md │ │ ├── LoginNodesPool.md │ │ ├── LoginNodesState.md │ │ ├── Metadata.md │ │ ├── NodeType.md │ │ ├── NotFoundExceptionResponseContent.md │ │ ├── RequestedComputeFleetStatus.md │ │ ├── Scheduler.md │ │ ├── StackEvent.md │ │ ├── Tag.md │ │ ├── UnauthorizedClientErrorResponseContent.md │ │ ├── UpdateClusterBadRequestExceptionResponseContent.md │ │ ├── UpdateClusterRequestContent.md │ │ ├── UpdateClusterResponseContent.md │ │ ├── UpdateComputeFleetRequestContent.md │ │ ├── UpdateComputeFleetResponseContent.md │ │ ├── UpdateError.md │ │ └── ValidationLevel.md │ │ ├── git_push.sh │ │ ├── pcluster_client │ │ ├── __init__.py │ │ ├── api │ │ │ ├── __init__.py │ │ │ ├── cluster_compute_fleet_api.py │ │ │ ├── cluster_instances_api.py │ │ │ ├── cluster_logs_api.py │ │ │ ├── cluster_operations_api.py │ │ │ ├── image_logs_api.py │ │ │ └── image_operations_api.py │ │ ├── api_client.py │ │ ├── apis │ │ │ └── __init__.py │ │ ├── configuration.py │ │ ├── exceptions.py │ │ ├── model │ │ │ ├── __init__.py │ │ │ ├── ami_info.py │ │ │ ├── bad_request_exception_response_content.py │ │ │ ├── build_image_bad_request_exception_response_content.py │ │ │ ├── build_image_request_content.py │ │ │ ├── build_image_response_content.py │ │ │ ├── change.py │ │ │ ├── cloud_formation_resource_status.py │ │ │ ├── cloud_formation_stack_status.py │ │ │ ├── cluster_configuration_structure.py │ │ │ ├── cluster_info_summary.py │ │ │ ├── cluster_instance.py │ │ │ ├── cluster_status.py │ │ │ ├── cluster_status_filtering_option.py │ │ │ ├── compute_fleet_status.py │ │ │ ├── config_validation_message.py │ │ │ ├── conflict_exception_response_content.py │ │ │ ├── create_cluster_bad_request_exception_response_content.py │ │ │ ├── create_cluster_request_content.py │ │ │ ├── create_cluster_response_content.py │ │ │ ├── delete_cluster_response_content.py │ │ │ ├── delete_image_response_content.py │ │ │ ├── describe_cluster_instances_response_content.py │ │ │ ├── describe_cluster_response_content.py │ │ │ ├── describe_compute_fleet_response_content.py │ │ │ ├── describe_image_response_content.py │ │ │ ├── dryrun_operation_exception_response_content.py │ │ │ ├── ec2_ami_info.py │ │ │ ├── ec2_ami_info_summary.py │ │ │ ├── ec2_ami_state.py │ │ │ ├── ec2_instance.py │ │ │ ├── failure.py │ │ │ ├── get_cluster_log_events_response_content.py │ │ │ ├── get_cluster_stack_events_response_content.py │ │ │ ├── get_image_log_events_response_content.py │ │ │ ├── get_image_stack_events_response_content.py │ │ │ ├── image_build_status.py │ │ │ ├── image_builder_image_status.py │ │ │ ├── image_configuration_structure.py │ │ │ ├── image_info_summary.py │ │ │ ├── image_status_filtering_option.py │ │ │ ├── instance_state.py │ │ │ ├── internal_service_exception_response_content.py │ │ │ ├── limit_exceeded_exception_response_content.py │ │ │ ├── list_cluster_log_streams_response_content.py │ │ │ ├── list_clusters_response_content.py │ │ │ ├── list_image_log_streams_response_content.py │ │ │ ├── list_images_response_content.py │ │ │ ├── list_official_images_response_content.py │ │ │ ├── log_event.py │ │ │ ├── log_stream.py │ │ │ ├── login_nodes_pool.py │ │ │ ├── login_nodes_state.py │ │ │ ├── metadata.py │ │ │ ├── node_type.py │ │ │ ├── not_found_exception_response_content.py │ │ │ ├── requested_compute_fleet_status.py │ │ │ ├── scheduler.py │ │ │ ├── stack_event.py │ │ │ ├── tag.py │ │ │ ├── unauthorized_client_error_response_content.py │ │ │ ├── update_cluster_bad_request_exception_response_content.py │ │ │ ├── update_cluster_request_content.py │ │ │ ├── update_cluster_response_content.py │ │ │ ├── update_compute_fleet_request_content.py │ │ │ ├── update_compute_fleet_response_content.py │ │ │ ├── update_error.py │ │ │ └── validation_level.py │ │ ├── model_utils.py │ │ ├── models │ │ │ └── __init__.py │ │ ├── rest.py │ │ └── sigv4_auth.py │ │ ├── requirements.txt │ │ ├── setup.cfg │ │ ├── setup.py │ │ ├── test-requirements.txt │ │ ├── test │ │ ├── __init__.py │ │ ├── test_ami_info.py │ │ ├── test_bad_request_exception_response_content.py │ │ ├── test_build_image_bad_request_exception_response_content.py │ │ ├── test_build_image_request_content.py │ │ ├── test_build_image_response_content.py │ │ ├── test_change.py │ │ ├── test_cloud_formation_resource_status.py │ │ ├── test_cloud_formation_stack_status.py │ │ ├── test_cluster_compute_fleet_api.py │ │ ├── test_cluster_configuration_structure.py │ │ ├── test_cluster_info_summary.py │ │ ├── test_cluster_instance.py │ │ ├── test_cluster_instances_api.py │ │ ├── test_cluster_logs_api.py │ │ ├── test_cluster_operations_api.py │ │ ├── test_cluster_status.py │ │ ├── test_cluster_status_filtering_option.py │ │ ├── test_compute_fleet_status.py │ │ ├── test_config_validation_message.py │ │ ├── test_conflict_exception_response_content.py │ │ ├── test_create_cluster_bad_request_exception_response_content.py │ │ ├── test_create_cluster_request_content.py │ │ ├── test_create_cluster_response_content.py │ │ ├── test_delete_cluster_response_content.py │ │ ├── test_delete_image_response_content.py │ │ ├── test_describe_cluster_instances_response_content.py │ │ ├── test_describe_cluster_response_content.py │ │ ├── test_describe_compute_fleet_response_content.py │ │ ├── test_describe_image_response_content.py │ │ ├── test_dryrun_operation_exception_response_content.py │ │ ├── test_ec2_ami_info.py │ │ ├── test_ec2_ami_info_summary.py │ │ ├── test_ec2_ami_state.py │ │ ├── test_ec2_instance.py │ │ ├── test_failure.py │ │ ├── test_get_cluster_log_events_response_content.py │ │ ├── test_get_cluster_stack_events_response_content.py │ │ ├── test_get_image_log_events_response_content.py │ │ ├── test_get_image_stack_events_response_content.py │ │ ├── test_image_build_status.py │ │ ├── test_image_builder_image_status.py │ │ ├── test_image_configuration_structure.py │ │ ├── test_image_info_summary.py │ │ ├── test_image_logs_api.py │ │ ├── test_image_operations_api.py │ │ ├── test_image_status_filtering_option.py │ │ ├── test_instance_state.py │ │ ├── test_internal_service_exception_response_content.py │ │ ├── test_limit_exceeded_exception_response_content.py │ │ ├── test_list_cluster_log_streams_response_content.py │ │ ├── test_list_clusters_response_content.py │ │ ├── test_list_image_log_streams_response_content.py │ │ ├── test_list_images_response_content.py │ │ ├── test_list_official_images_response_content.py │ │ ├── test_log_event.py │ │ ├── test_log_stream.py │ │ ├── test_login_nodes_pool.py │ │ ├── test_login_nodes_state.py │ │ ├── test_metadata.py │ │ ├── test_node_type.py │ │ ├── test_not_found_exception_response_content.py │ │ ├── test_requested_compute_fleet_status.py │ │ ├── test_scheduler.py │ │ ├── test_stack_event.py │ │ ├── test_tag.py │ │ ├── test_unauthorized_client_error_response_content.py │ │ ├── test_update_cluster_bad_request_exception_response_content.py │ │ ├── test_update_cluster_request_content.py │ │ ├── test_update_cluster_response_content.py │ │ ├── test_update_compute_fleet_request_content.py │ │ ├── test_update_compute_fleet_response_content.py │ │ ├── test_update_error.py │ │ └── test_validation_level.py │ │ └── tox.ini ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── infrastructure │ ├── deploy-api.sh │ └── parallelcluster-api.yaml ├── settings.gradle.kts ├── spec │ ├── build-model.sh │ ├── generate-redoc-bundle.sh │ ├── openapi │ │ ├── .gitignore │ │ └── ParallelCluster.openapi.yaml │ ├── run-swagger-ui.sh │ ├── smithy │ │ ├── .gitignore │ │ ├── build.gradle.kts │ │ ├── gradle.properties │ │ ├── model │ │ │ ├── Errors.smithy │ │ │ ├── Validators.smithy │ │ │ ├── operations │ │ │ │ ├── BuildImage.smithy │ │ │ │ ├── CreateCluster.smithy │ │ │ │ ├── DeleteCluster.smithy │ │ │ │ ├── DeleteClusterInstances.smithy │ │ │ │ ├── DeleteImage.smithy │ │ │ │ ├── DescribeCluster.smithy │ │ │ │ ├── DescribeClusterInstances.smithy │ │ │ │ ├── DescribeComputeFleet.smithy │ │ │ │ ├── DescribeImage.smithy │ │ │ │ ├── GetClusterLogEvents.smithy │ │ │ │ ├── GetClusterStackEvents.smithy │ │ │ │ ├── GetImageLogEvents.smithy │ │ │ │ ├── GetImageStackEvents.smithy │ │ │ │ ├── ListClusterLogStreams.smithy │ │ │ │ ├── ListClusters.smithy │ │ │ │ ├── ListImageLogStreams.smithy │ │ │ │ ├── ListImages.smithy │ │ │ │ ├── ListOfficialImages.smithy │ │ │ │ ├── UpdateCluster.smithy │ │ │ │ └── UpdateComputeFleet.smithy │ │ │ ├── parallelcluster.smithy │ │ │ ├── resources │ │ │ │ ├── ClusterResource.smithy │ │ │ │ └── ImageResource.smithy │ │ │ └── types │ │ │ │ ├── Cluster.smithy │ │ │ │ ├── Common.smithy │ │ │ │ ├── Image.smithy │ │ │ │ ├── Instance.smithy │ │ │ │ ├── Log.smithy │ │ │ │ └── LoginNodesPool.smithy │ │ ├── settings.gradle.kts │ │ └── smithy-build.json │ └── spec_overrides.sh ├── tests │ ├── Dockerfile │ └── docker-build.sh └── tox.ini ├── awsbatch-cli ├── .bandit.ini ├── .flake8 ├── .isort.cfg ├── .pylintrc ├── CHANGELOG.md ├── MANIFEST.in ├── requirements.txt ├── setup.py ├── src │ └── awsbatch │ │ ├── __init__.py │ │ ├── awsbhosts.py │ │ ├── awsbkill.py │ │ ├── awsbout.py │ │ ├── awsbqueues.py │ │ ├── awsbstat.py │ │ ├── awsbsub.py │ │ ├── common.py │ │ ├── examples │ │ └── awsbatch-cli.cfg │ │ └── utils.py ├── tests │ ├── __init__.py │ ├── awsbatch │ │ ├── data │ │ │ └── aws_api_responses │ │ │ │ ├── batch_describe-jobs_ALL_children.json │ │ │ │ ├── batch_describe-jobs_ALL_parents.json │ │ │ │ ├── batch_describe-jobs_FAILED.json │ │ │ │ ├── batch_describe-jobs_PENDING.json │ │ │ │ ├── batch_describe-jobs_RUNNABLE.json │ │ │ │ ├── batch_describe-jobs_RUNNING.json │ │ │ │ ├── batch_describe-jobs_STARTING.json │ │ │ │ ├── batch_describe-jobs_SUBMITTED.json │ │ │ │ ├── batch_describe-jobs_SUCCEEDED.json │ │ │ │ ├── batch_describe-jobs_children_jobs.json │ │ │ │ ├── batch_describe-jobs_single_array_job.json │ │ │ │ ├── batch_describe-jobs_single_array_job_children.json │ │ │ │ ├── batch_describe-jobs_single_job.json │ │ │ │ ├── batch_describe-jobs_single_mnp_job.json │ │ │ │ ├── batch_describe-jobs_single_mnp_job_children.json │ │ │ │ ├── batch_list-jobs_FAILED.json │ │ │ │ ├── batch_list-jobs_PENDING.json │ │ │ │ ├── batch_list-jobs_RUNNABLE.json │ │ │ │ ├── batch_list-jobs_RUNNING.json │ │ │ │ ├── batch_list-jobs_STARTING.json │ │ │ │ ├── batch_list-jobs_SUBMITTED.json │ │ │ │ └── batch_list-jobs_SUCCEEDED.json │ │ ├── test_awsbstat.py │ │ └── test_awsbstat │ │ │ └── TestOutput │ │ │ ├── test_all_status │ │ │ └── expected_output.txt │ │ │ ├── test_all_status_detailed │ │ │ └── expected_output.txt │ │ │ ├── test_children_by_ids │ │ │ ├── expected_output.txt │ │ │ └── expected_output_detailed.txt │ │ │ ├── test_default_ordering_by_id │ │ │ ├── expected_output.txt │ │ │ └── expected_output_detailed.txt │ │ │ ├── test_expanded_children │ │ │ └── expected_output.txt │ │ │ ├── test_no_jobs_all_status │ │ │ └── expected_output.txt │ │ │ ├── test_no_jobs_default_status │ │ │ └── expected_output.txt │ │ │ ├── test_single_array_job │ │ │ ├── expected_output.txt │ │ │ └── expected_output_detailed.txt │ │ │ ├── test_single_job_detailed │ │ │ └── expected_output.txt │ │ │ ├── test_single_mnp_job │ │ │ ├── expected_output.txt │ │ │ └── expected_output_detailed.txt │ │ │ └── test_succeeded_status │ │ │ └── expected_output.txt │ ├── conftest.py │ ├── requirements.txt │ └── utils.py └── tox.ini ├── cli ├── .bandit.ini ├── .flake8 ├── .isort.cfg ├── .pylintrc ├── MANIFEST.in ├── README ├── requirements.txt ├── setup.py ├── src │ ├── __init__.py │ ├── pcluster │ │ ├── __init__.py │ │ ├── api │ │ │ ├── __init__.py │ │ │ ├── awslambda │ │ │ │ ├── __init__.py │ │ │ │ ├── entrypoint.py │ │ │ │ └── serverless_wsgi.py │ │ │ ├── controllers │ │ │ │ ├── __init__.py │ │ │ │ ├── cluster_compute_fleet_controller.py │ │ │ │ ├── cluster_instances_controller.py │ │ │ │ ├── cluster_logs_controller.py │ │ │ │ ├── cluster_operations_controller.py │ │ │ │ ├── common.py │ │ │ │ ├── image_logs_controller.py │ │ │ │ └── image_operations_controller.py │ │ │ ├── converters.py │ │ │ ├── encoder.py │ │ │ ├── errors.py │ │ │ ├── flask_app.py │ │ │ ├── models │ │ │ │ ├── __init__.py │ │ │ │ ├── ami_info.py │ │ │ │ ├── bad_request_exception_response_content.py │ │ │ │ ├── base_model_.py │ │ │ │ ├── build_image_bad_request_exception_response_content.py │ │ │ │ ├── build_image_request_content.py │ │ │ │ ├── build_image_response_content.py │ │ │ │ ├── change.py │ │ │ │ ├── cloud_formation_resource_status.py │ │ │ │ ├── cloud_formation_stack_status.py │ │ │ │ ├── cluster_configuration_structure.py │ │ │ │ ├── cluster_info_summary.py │ │ │ │ ├── cluster_instance.py │ │ │ │ ├── cluster_status.py │ │ │ │ ├── cluster_status_filtering_option.py │ │ │ │ ├── compute_fleet_status.py │ │ │ │ ├── config_validation_message.py │ │ │ │ ├── conflict_exception_response_content.py │ │ │ │ ├── create_cluster_bad_request_exception_response_content.py │ │ │ │ ├── create_cluster_request_content.py │ │ │ │ ├── create_cluster_response_content.py │ │ │ │ ├── delete_cluster_response_content.py │ │ │ │ ├── delete_image_response_content.py │ │ │ │ ├── describe_cluster_instances_response_content.py │ │ │ │ ├── describe_cluster_response_content.py │ │ │ │ ├── describe_compute_fleet_response_content.py │ │ │ │ ├── describe_image_response_content.py │ │ │ │ ├── dryrun_operation_exception_response_content.py │ │ │ │ ├── ec2_ami_info.py │ │ │ │ ├── ec2_ami_info_summary.py │ │ │ │ ├── ec2_ami_state.py │ │ │ │ ├── ec2_instance.py │ │ │ │ ├── failure.py │ │ │ │ ├── get_cluster_log_events_response_content.py │ │ │ │ ├── get_cluster_stack_events_response_content.py │ │ │ │ ├── get_image_log_events_response_content.py │ │ │ │ ├── get_image_stack_events_response_content.py │ │ │ │ ├── image_build_status.py │ │ │ │ ├── image_builder_image_status.py │ │ │ │ ├── image_configuration_structure.py │ │ │ │ ├── image_info_summary.py │ │ │ │ ├── image_status_filtering_option.py │ │ │ │ ├── instance_state.py │ │ │ │ ├── internal_service_exception_response_content.py │ │ │ │ ├── limit_exceeded_exception_response_content.py │ │ │ │ ├── list_cluster_log_streams_response_content.py │ │ │ │ ├── list_clusters_response_content.py │ │ │ │ ├── list_image_log_streams_response_content.py │ │ │ │ ├── list_images_response_content.py │ │ │ │ ├── list_official_images_response_content.py │ │ │ │ ├── log_event.py │ │ │ │ ├── log_stream.py │ │ │ │ ├── login_nodes_pool.py │ │ │ │ ├── login_nodes_state.py │ │ │ │ ├── metadata.py │ │ │ │ ├── node_type.py │ │ │ │ ├── not_found_exception_response_content.py │ │ │ │ ├── requested_compute_fleet_status.py │ │ │ │ ├── scheduler.py │ │ │ │ ├── stack_event.py │ │ │ │ ├── tag.py │ │ │ │ ├── unauthorized_client_error_response_content.py │ │ │ │ ├── update_cluster_bad_request_exception_response_content.py │ │ │ │ ├── update_cluster_request_content.py │ │ │ │ ├── update_cluster_response_content.py │ │ │ │ ├── update_compute_fleet_request_content.py │ │ │ │ ├── update_compute_fleet_response_content.py │ │ │ │ ├── update_error.py │ │ │ │ └── validation_level.py │ │ │ ├── openapi │ │ │ │ ├── __init__.py │ │ │ │ └── openapi.yaml │ │ │ ├── typing_utils.py │ │ │ └── util.py │ │ ├── aws │ │ │ ├── __init__.py │ │ │ ├── aws_api.py │ │ │ ├── aws_resources.py │ │ │ ├── batch.py │ │ │ ├── cfn.py │ │ │ ├── common.py │ │ │ ├── dynamo.py │ │ │ ├── ec2.py │ │ │ ├── efs.py │ │ │ ├── elb.py │ │ │ ├── fsx.py │ │ │ ├── iam.py │ │ │ ├── imagebuilder.py │ │ │ ├── kms.py │ │ │ ├── logs.py │ │ │ ├── resource_groups.py │ │ │ ├── route53.py │ │ │ ├── s3.py │ │ │ ├── s3_resource.py │ │ │ ├── secretsmanager.py │ │ │ ├── ssm.py │ │ │ └── sts.py │ │ ├── cli │ │ │ ├── __init__.py │ │ │ ├── commands │ │ │ │ ├── __init__.py │ │ │ │ ├── cluster_logs.py │ │ │ │ ├── commands.py │ │ │ │ ├── common.py │ │ │ │ ├── configure │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── command.py │ │ │ │ │ ├── easyconfig.py │ │ │ │ │ ├── networking.py │ │ │ │ │ ├── subnet_computation.py │ │ │ │ │ └── utils.py │ │ │ │ ├── dcv_connect.py │ │ │ │ ├── dcv_util.py │ │ │ │ ├── image_logs.py │ │ │ │ ├── ssh.py │ │ │ │ └── version.py │ │ │ ├── entrypoint.py │ │ │ ├── exceptions.py │ │ │ ├── logger.py │ │ │ ├── middleware.py │ │ │ └── model.py │ │ ├── config │ │ │ ├── __init__.py │ │ │ ├── cluster_config.py │ │ │ ├── common.py │ │ │ ├── config_patch.py │ │ │ ├── imagebuilder_config.py │ │ │ ├── update_policy.py │ │ │ └── update_policy_utils.py │ │ ├── constants.py │ │ ├── imagebuilder_utils.py │ │ ├── launch_template_utils.py │ │ ├── lib │ │ │ ├── __init__.py │ │ │ └── lib.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── cluster.py │ │ │ ├── cluster_resources.py │ │ │ ├── common.py │ │ │ ├── compute_fleet_status_manager.py │ │ │ ├── imagebuilder.py │ │ │ ├── imagebuilder_resources.py │ │ │ ├── login_nodes_status.py │ │ │ └── s3_bucket.py │ │ ├── networking │ │ │ ├── __init__.py │ │ │ └── vpc_factory.py │ │ ├── resources │ │ │ ├── batch │ │ │ │ └── docker │ │ │ │ │ ├── alinux2 │ │ │ │ │ └── Dockerfile │ │ │ │ │ ├── alinux2023 │ │ │ │ │ └── Dockerfile │ │ │ │ │ ├── build-docker-images.sh │ │ │ │ │ ├── buildspec.yml │ │ │ │ │ ├── scripts │ │ │ │ │ ├── entrypoint.sh │ │ │ │ │ ├── generate_hostfile.sh │ │ │ │ │ ├── modify_yum_vars.sh │ │ │ │ │ ├── mount_efs.sh │ │ │ │ │ └── mount_nfs.sh │ │ │ │ │ └── upload-docker-images.sh │ │ │ ├── compute_node │ │ │ │ └── user_data.sh │ │ │ ├── custom_resources │ │ │ │ └── custom_resources_code │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── cleanup_resources.py │ │ │ │ │ ├── crhelper │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── NOTICE │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── log_helper.py │ │ │ │ │ ├── resource_helper.py │ │ │ │ │ └── utils.py │ │ │ │ │ ├── delete_image_stack.py │ │ │ │ │ ├── manage_docker_images.py │ │ │ │ │ └── send_build_notification.py │ │ │ ├── head_node │ │ │ │ └── user_data.sh │ │ │ ├── imagebuilder │ │ │ │ ├── custom_script.yaml │ │ │ │ ├── parallelcluster.yaml │ │ │ │ ├── parallelcluster_tag.yaml │ │ │ │ ├── parallelcluster_test.yaml │ │ │ │ ├── parallelcluster_validate.yaml │ │ │ │ └── update_and_reboot.yaml │ │ │ ├── login_node │ │ │ │ └── user_data.sh │ │ │ └── supported-regions │ │ ├── schemas │ │ │ ├── __init__.py │ │ │ ├── cluster_schema.py │ │ │ ├── common_schema.py │ │ │ └── imagebuilder_schema.py │ │ ├── templates │ │ │ ├── __init__.py │ │ │ ├── awsbatch_builder.py │ │ │ ├── cdk_artifacts_manager.py │ │ │ ├── cdk_builder.py │ │ │ ├── cdk_builder_utils.py │ │ │ ├── cluster_stack.py │ │ │ ├── compute_fleet_stack.py │ │ │ ├── cw_dashboard_builder.py │ │ │ ├── imagebuilder_stack.py │ │ │ ├── import_cdk.py │ │ │ ├── login_nodes_stack.py │ │ │ ├── queues_stack.py │ │ │ └── slurm_builder.py │ │ ├── utils.py │ │ └── validators │ │ │ ├── __init__.py │ │ │ ├── awsbatch_validators.py │ │ │ ├── cluster_validators.py │ │ │ ├── common.py │ │ │ ├── database_validators.py │ │ │ ├── directory_service_validators.py │ │ │ ├── ebs_validators.py │ │ │ ├── ec2_validators.py │ │ │ ├── efs_validators.py │ │ │ ├── feature_validators.py │ │ │ ├── fsx_validators.py │ │ │ ├── iam_validators.py │ │ │ ├── imagebuilder_validators.py │ │ │ ├── instances_validators.py │ │ │ ├── kms_validators.py │ │ │ ├── monitoring_validators.py │ │ │ ├── networking_validators.py │ │ │ ├── s3_validators.py │ │ │ ├── secret_validators.py │ │ │ ├── slurm_settings_validator.py │ │ │ ├── tags_validators.py │ │ │ └── utils.py │ └── pcluster3_config_converter │ │ ├── __init__.py │ │ └── pcluster3_config_converter.py ├── tests │ ├── __init__.py │ ├── conftest.py │ ├── pcluster │ │ ├── __init__.py │ │ ├── api │ │ │ ├── __init__.py │ │ │ ├── awslambda │ │ │ │ ├── __init__.py │ │ │ │ └── test_entrypoint.py │ │ │ ├── controllers │ │ │ │ ├── __init__.py │ │ │ │ ├── test_cluster_compute_fleet_controller.py │ │ │ │ ├── test_cluster_instances_controller.py │ │ │ │ ├── test_cluster_logs_controller.py │ │ │ │ ├── test_cluster_operations_controller.py │ │ │ │ ├── test_common.py │ │ │ │ ├── test_image_logs_controller.py │ │ │ │ ├── test_image_operations_controller.py │ │ │ │ └── utils.py │ │ │ ├── test_flask_app.py │ │ │ └── test_util.py │ │ ├── aws │ │ │ ├── __init__.py │ │ │ ├── dummy_aws_api.py │ │ │ ├── test_aws_api.py │ │ │ ├── test_aws_resources.py │ │ │ ├── test_cfn.py │ │ │ ├── test_dynamo.py │ │ │ ├── test_ec2.py │ │ │ ├── test_efs.py │ │ │ ├── test_elb.py │ │ │ ├── test_fsx.py │ │ │ ├── test_iam.py │ │ │ ├── test_resource_groups.py │ │ │ └── test_ssm.py │ │ ├── cli │ │ │ ├── configure │ │ │ │ ├── __init__.py │ │ │ │ ├── test_pcluster_configure.py │ │ │ │ ├── test_pcluster_configure │ │ │ │ │ ├── test_disabled_efa_no_placement_group │ │ │ │ │ │ ├── error.txt │ │ │ │ │ │ ├── output.txt │ │ │ │ │ │ └── pcluster.config.yaml │ │ │ │ │ ├── test_efa_not_supported │ │ │ │ │ │ ├── error.txt │ │ │ │ │ │ ├── output.txt │ │ │ │ │ │ └── pcluster.config.yaml │ │ │ │ │ ├── test_enabled_efa_default_placement_group │ │ │ │ │ │ ├── error.txt │ │ │ │ │ │ ├── output.txt │ │ │ │ │ │ └── pcluster.config.yaml │ │ │ │ │ ├── test_enabled_efa_existing_placement_group │ │ │ │ │ │ ├── error.txt │ │ │ │ │ │ ├── output.txt │ │ │ │ │ │ └── pcluster.config.yaml │ │ │ │ │ ├── test_enabled_efa_non_existent_placement_group │ │ │ │ │ │ ├── error.txt │ │ │ │ │ │ ├── output.txt │ │ │ │ │ │ └── pcluster.config.yaml │ │ │ │ │ ├── test_filtered_subnets_by_az │ │ │ │ │ │ ├── error.txt │ │ │ │ │ │ ├── output.txt │ │ │ │ │ │ └── pcluster.config.yaml │ │ │ │ │ ├── test_no_automation_no_awsbatch_no_errors │ │ │ │ │ │ ├── error.txt │ │ │ │ │ │ ├── output.txt │ │ │ │ │ │ └── pcluster.config.yaml │ │ │ │ │ ├── test_no_automation_yes_awsbatch_no_errors │ │ │ │ │ │ ├── error.txt │ │ │ │ │ │ ├── output.txt │ │ │ │ │ │ └── pcluster.config.yaml │ │ │ │ │ ├── test_no_input_no_automation_no_errors │ │ │ │ │ │ ├── error.txt │ │ │ │ │ │ ├── output.txt │ │ │ │ │ │ └── pcluster.config.yaml │ │ │ │ │ ├── test_subnet_automation_no_awsbatch_no_errors │ │ │ │ │ │ ├── error.txt │ │ │ │ │ │ ├── output.txt │ │ │ │ │ │ └── pcluster.config.yaml │ │ │ │ │ ├── test_subnet_automation_no_awsbatch_no_errors_empty_vpc │ │ │ │ │ │ ├── error.txt │ │ │ │ │ │ ├── output.txt │ │ │ │ │ │ └── pcluster.config.yaml │ │ │ │ │ ├── test_subnet_automation_yes_awsbatch_invalid_vpc │ │ │ │ │ │ ├── error.txt │ │ │ │ │ │ ├── output.txt │ │ │ │ │ │ └── pcluster.config.yaml │ │ │ │ │ ├── test_vpc_automation_no_awsbatch_no_errors │ │ │ │ │ │ ├── error.txt │ │ │ │ │ │ ├── output.txt │ │ │ │ │ │ └── pcluster.config.yaml │ │ │ │ │ ├── test_vpc_automation_no_vpc_in_region │ │ │ │ │ │ ├── error.txt │ │ │ │ │ │ ├── output.txt │ │ │ │ │ │ └── pcluster.config.yaml │ │ │ │ │ ├── test_vpc_automation_no_vpc_in_region_public │ │ │ │ │ │ ├── error.txt │ │ │ │ │ │ ├── output.txt │ │ │ │ │ │ └── pcluster.config.yaml │ │ │ │ │ ├── test_vpc_automation_yes_awsbatch_no_errors │ │ │ │ │ │ ├── error.txt │ │ │ │ │ │ ├── output.txt │ │ │ │ │ │ └── pcluster.config.yaml │ │ │ │ │ └── test_with_region_arg │ │ │ │ │ │ ├── error.txt │ │ │ │ │ │ ├── output.txt │ │ │ │ │ │ └── pcluster.config.yaml │ │ │ │ ├── test_pcluster_configure_utils.py │ │ │ │ └── test_subnet_cidr.py │ │ │ ├── test_build_image.py │ │ │ ├── test_build_image │ │ │ │ └── TestBuildImageCommand │ │ │ │ │ ├── test_error │ │ │ │ │ └── config.yaml │ │ │ │ │ ├── test_execute │ │ │ │ │ └── config.yaml │ │ │ │ │ ├── test_helper │ │ │ │ │ └── pcluster-help.txt │ │ │ │ │ ├── test_invalid_args │ │ │ │ │ └── file │ │ │ │ │ ├── test_no_nodejs_error │ │ │ │ │ └── config.yaml │ │ │ │ │ └── test_nodejs_wrong_version_error │ │ │ │ │ └── config.yaml │ │ │ ├── test_commands.py │ │ │ ├── test_configuration_converter │ │ │ │ └── test_pcluster3_configuration_converter │ │ │ │ │ ├── awsbatch_full.ini │ │ │ │ │ ├── awsbatch_full.yaml │ │ │ │ │ ├── missing_vpc.ini │ │ │ │ │ ├── slurm_full.ini │ │ │ │ │ └── slurm_full.yaml │ │ │ ├── test_configure.py │ │ │ ├── test_configure │ │ │ │ └── TestConfigureCommand │ │ │ │ │ └── test_helper │ │ │ │ │ └── pcluster-help.txt │ │ │ ├── test_create_cluster.py │ │ │ ├── test_create_cluster │ │ │ │ └── TestCreateClusterCommand │ │ │ │ │ ├── test_error │ │ │ │ │ └── config.yaml │ │ │ │ │ ├── test_execute │ │ │ │ │ └── config.yaml │ │ │ │ │ ├── test_execute_with_wait │ │ │ │ │ └── config.yaml │ │ │ │ │ ├── test_helper │ │ │ │ │ └── pcluster-help.txt │ │ │ │ │ ├── test_invalid_args │ │ │ │ │ └── config.yaml │ │ │ │ │ ├── test_no_nodejs_error │ │ │ │ │ └── config.yaml │ │ │ │ │ ├── test_nodejs_incompatible_version_error │ │ │ │ │ └── config.yaml │ │ │ │ │ └── test_nodejs_wrong_version_error │ │ │ │ │ └── config.yaml │ │ │ ├── test_dcv_connect.py │ │ │ ├── test_dcv_connect │ │ │ │ └── TestDcvConnectCommand │ │ │ │ │ └── test_helper │ │ │ │ │ └── pcluster-help.txt │ │ │ ├── test_delete_cluster.py │ │ │ ├── test_delete_cluster │ │ │ │ └── TestDeleteClusterCommand │ │ │ │ │ └── test_helper │ │ │ │ │ └── pcluster-help.txt │ │ │ ├── test_delete_cluster_instances.py │ │ │ ├── test_delete_cluster_instances │ │ │ │ └── TestDeleteClusterInstancesCommand │ │ │ │ │ └── test_helper │ │ │ │ │ └── pcluster-help.txt │ │ │ ├── test_delete_image.py │ │ │ ├── test_delete_image │ │ │ │ └── TestDeleteImageCommand │ │ │ │ │ └── test_helper │ │ │ │ │ └── pcluster-help.txt │ │ │ ├── test_describe_cluster.py │ │ │ ├── test_describe_cluster │ │ │ │ └── TestDescribeClusterCommand │ │ │ │ │ └── test_helper │ │ │ │ │ └── pcluster-help.txt │ │ │ ├── test_describe_cluster_instances.py │ │ │ ├── test_describe_cluster_instances │ │ │ │ └── TestDescribeClusterInstancesCommand │ │ │ │ │ └── test_helper │ │ │ │ │ └── pcluster-help.txt │ │ │ ├── test_describe_compute_fleet.py │ │ │ ├── test_describe_compute_fleet │ │ │ │ └── TestDescribeComputeFleetCommand │ │ │ │ │ └── test_helper │ │ │ │ │ └── pcluster-help.txt │ │ │ ├── test_describe_image.py │ │ │ ├── test_describe_image │ │ │ │ └── TestDescribeImageCommand │ │ │ │ │ └── test_helper │ │ │ │ │ └── pcluster-help.txt │ │ │ ├── test_entrypoint.py │ │ │ ├── test_entrypoint │ │ │ │ └── TestParallelClusterCli │ │ │ │ │ ├── test_helper │ │ │ │ │ └── pcluster-help.txt │ │ │ │ │ └── test_no_command │ │ │ │ │ └── pcluster-command-error.txt │ │ │ ├── test_export_cluster_logs.py │ │ │ ├── test_export_cluster_logs │ │ │ │ └── TestExportClusterLogsCommand │ │ │ │ │ └── test_helper │ │ │ │ │ └── pcluster-help.txt │ │ │ ├── test_export_image_logs.py │ │ │ ├── test_export_image_logs │ │ │ │ └── TestExportImageLogsCommand │ │ │ │ │ └── test_helper │ │ │ │ │ └── pcluster-help.txt │ │ │ ├── test_get_cluster_log_events.py │ │ │ ├── test_get_cluster_log_events │ │ │ │ └── TestGetClusterLogEventsCommand │ │ │ │ │ ├── test_execute │ │ │ │ │ └── pcluster-out.txt │ │ │ │ │ └── test_helper │ │ │ │ │ └── pcluster-help.txt │ │ │ ├── test_get_cluster_stack_events.py │ │ │ ├── test_get_cluster_stack_events │ │ │ │ └── TestGetClusterStackEventsCommand │ │ │ │ │ └── test_helper │ │ │ │ │ └── pcluster-help.txt │ │ │ ├── test_get_image_log_events.py │ │ │ ├── test_get_image_log_events │ │ │ │ └── TestGetImageLogEventsCommand │ │ │ │ │ ├── test_execute │ │ │ │ │ └── pcluster-out.txt │ │ │ │ │ └── test_helper │ │ │ │ │ └── pcluster-help.txt │ │ │ ├── test_get_image_stack_events.py │ │ │ ├── test_get_image_stack_events │ │ │ │ └── TestGetImageStackEventsCommand │ │ │ │ │ └── test_helper │ │ │ │ │ └── pcluster-help.txt │ │ │ ├── test_list_cluster_log_streams.py │ │ │ ├── test_list_cluster_log_streams │ │ │ │ └── TestListClusterLogStreamsCommand │ │ │ │ │ └── test_helper │ │ │ │ │ └── pcluster-help.txt │ │ │ ├── test_list_cluster_logs │ │ │ │ └── TestListClusterLogsCommand │ │ │ │ │ └── test_helper │ │ │ │ │ └── pcluster-help.txt │ │ │ ├── test_list_clusters.py │ │ │ ├── test_list_clusters │ │ │ │ └── TestListClustersCommand │ │ │ │ │ └── test_helper │ │ │ │ │ └── pcluster-help.txt │ │ │ ├── test_list_image_log_streams.py │ │ │ ├── test_list_image_log_streams │ │ │ │ └── TestListImageLogStreamsCommand │ │ │ │ │ └── test_helper │ │ │ │ │ └── pcluster-help.txt │ │ │ ├── test_list_images.py │ │ │ ├── test_list_images │ │ │ │ └── TestListImagesCommand │ │ │ │ │ └── test_helper │ │ │ │ │ └── pcluster-help.txt │ │ │ ├── test_list_official_images.py │ │ │ ├── test_list_official_images │ │ │ │ └── TestListOfficialImagesCommand │ │ │ │ │ └── test_helper │ │ │ │ │ └── pcluster-help.txt │ │ │ ├── test_middleware.py │ │ │ ├── test_model.py │ │ │ ├── test_model │ │ │ │ └── TestCliModel │ │ │ │ │ └── test_file │ │ │ │ │ └── file.txt │ │ │ ├── test_ssh.py │ │ │ ├── test_ssh │ │ │ │ └── TestSshCommand │ │ │ │ │ └── test_helper │ │ │ │ │ └── pcluster-help.txt │ │ │ ├── test_update_cluster.py │ │ │ ├── test_update_cluster │ │ │ │ └── TestUpdateClusterCommand │ │ │ │ │ ├── test_error │ │ │ │ │ └── config.yaml │ │ │ │ │ ├── test_execute │ │ │ │ │ └── config.yaml │ │ │ │ │ ├── test_execute_with_wait │ │ │ │ │ └── config.yaml │ │ │ │ │ ├── test_helper │ │ │ │ │ └── pcluster-help.txt │ │ │ │ │ ├── test_invalid_args │ │ │ │ │ └── config.yaml │ │ │ │ │ ├── test_no_nodejs_error │ │ │ │ │ └── config.yaml │ │ │ │ │ ├── test_nodejs_wrong_version_error │ │ │ │ │ └── config.yaml │ │ │ │ │ └── test_resource_unchanged_due_to_queue_reorder │ │ │ │ │ ├── pcluster_1_queue.config.yaml │ │ │ │ │ └── pcluster_max_queue.config.yaml │ │ │ ├── test_update_compute_fleet.py │ │ │ └── test_update_compute_fleet │ │ │ │ └── TestUpdateComputeFleetCommand │ │ │ │ └── test_helper │ │ │ │ └── pcluster-help.txt │ │ ├── config │ │ │ ├── __init__.py │ │ │ ├── dummy_cluster_config.py │ │ │ ├── dummy_imagebuilder_config.py │ │ │ ├── test_cluster_config.py │ │ │ ├── test_common.py │ │ │ ├── test_config_patch.py │ │ │ ├── test_config_patch │ │ │ │ ├── test_adaptation │ │ │ │ │ └── pcluster.config.yaml │ │ │ │ ├── test_multiple_param_changes │ │ │ │ │ └── pcluster.config.yaml │ │ │ │ ├── test_patch_check_cluster_resource_bucket │ │ │ │ │ └── pcluster.config.yaml │ │ │ │ └── test_single_param_change │ │ │ │ │ └── pcluster.config.yaml │ │ │ ├── test_property.py │ │ │ └── test_update_policy.py │ │ ├── example_configs │ │ │ ├── awsbatch.full.yaml │ │ │ ├── awsbatch.simple.yaml │ │ │ ├── slurm.full.yaml │ │ │ └── slurm.required.yaml │ │ ├── lib │ │ │ └── test_lib.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── dummy_s3_bucket.py │ │ │ ├── test_cluster.py │ │ │ ├── test_cluster_resources.py │ │ │ ├── test_common.py │ │ │ ├── test_compute_fleet_status_manager.py │ │ │ ├── test_imagebuilder.py │ │ │ ├── test_imagebuilder_resources.py │ │ │ ├── test_imagebuilder_stack.py │ │ │ ├── test_json_compute_fleet_status_manager.py │ │ │ ├── test_login_nodes_status.py │ │ │ ├── test_plain_text_compute_fleet_status_manager.py │ │ │ └── test_s3_bucket.py │ │ ├── schemas │ │ │ ├── __init__.py │ │ │ ├── test_cluster_schema.py │ │ │ ├── test_cluster_schema │ │ │ │ ├── test_scheduler_constraints_for_custom_actions │ │ │ │ │ ├── awsbatch.no_actions.yaml │ │ │ │ │ ├── awsbatch.on_node_configured.yaml │ │ │ │ │ ├── awsbatch.on_node_start.yaml │ │ │ │ │ ├── awsbatch.on_node_updated.yaml │ │ │ │ │ ├── slurm.no_actions.yaml │ │ │ │ │ ├── slurm.on_node_configured.yaml │ │ │ │ │ ├── slurm.on_node_start.yaml │ │ │ │ │ └── slurm.on_node_updated.yaml │ │ │ │ └── test_scheduler_constraints_for_intel_packages │ │ │ │ │ ├── awsbatch.disabled.yaml │ │ │ │ │ ├── awsbatch.enabled.yaml │ │ │ │ │ ├── slurm.disabled.yaml │ │ │ │ │ └── slurm.enabled.yaml │ │ │ ├── test_common_schema.py │ │ │ ├── test_imagebuilder_schema.py │ │ │ ├── test_imagebuilder_schema │ │ │ │ └── test_imagebuilder_schema │ │ │ │ │ ├── imagebuilder_schema_all.yaml │ │ │ │ │ └── imagebuilder_schema_required.yaml │ │ │ ├── test_schema_validators.py │ │ │ └── test_schemas.py │ │ ├── templates │ │ │ ├── __init__.py │ │ │ ├── test_additional_packages.py │ │ │ ├── test_additional_packages │ │ │ │ └── test_intel_hpc_platform │ │ │ │ │ ├── config-disabled.yaml │ │ │ │ │ └── config-enabled.yaml │ │ │ ├── test_capacity_reservation.py │ │ │ ├── test_capacity_reservation │ │ │ │ ├── test_capacity_reservation_group_arns_permissions │ │ │ │ │ └── config.yaml │ │ │ │ └── test_capacity_reservation_id_permissions │ │ │ │ │ └── config.yaml │ │ │ ├── test_cdk_artifacts_manager.py │ │ │ ├── test_cdk_builder_utils.py │ │ │ ├── test_cdk_builder_utils │ │ │ │ └── test_iam_resource_prefix_build_in_cdk │ │ │ │ │ ├── resourcePrefix.both_path_n_role_prefix.yaml │ │ │ │ │ ├── resourcePrefix.both_path_n_role_prefix_with_s3.yaml │ │ │ │ │ ├── resourcePrefix.no_prefix.yaml │ │ │ │ │ ├── resourcePrefix.only_path_prefix.yaml │ │ │ │ │ └── resourcePrefix.only_role_prefix.yaml │ │ │ ├── test_cdk_manifest_reader │ │ │ │ └── manifest.json │ │ │ ├── test_cluster_stack.py │ │ │ ├── test_cluster_stack │ │ │ │ ├── test_cluster_config_limits │ │ │ │ │ ├── slurm.full.all_resources.yaml │ │ │ │ │ └── slurm.full_config.snapshot.yaml │ │ │ │ ├── test_cluster_resource_distribution_in_stacks │ │ │ │ │ └── variable_queue_compute_resources.yaml │ │ │ │ ├── test_compute_launch_template_properties │ │ │ │ │ ├── cluster-using-flexible-instance-types.yaml │ │ │ │ │ └── cluster-using-single-instance-type.yaml │ │ │ │ ├── test_custom_munge_key_iam_policy │ │ │ │ │ ├── config.yaml │ │ │ │ │ └── config_with_login_nodes.yaml │ │ │ │ ├── test_head_node_dna_json │ │ │ │ │ ├── awsbatch-headnode-hooks-partial.yaml │ │ │ │ │ ├── awsbatch-imds-secured-false.yaml │ │ │ │ │ ├── default-user-local-home.yaml │ │ │ │ │ ├── head_node_default.dna.json │ │ │ │ │ ├── slurm-headnode-hooks-full.yaml │ │ │ │ │ ├── slurm-imds-secured-false.yaml │ │ │ │ │ └── slurm-imds-secured-true.yaml │ │ │ │ ├── test_head_node_security_group │ │ │ │ │ └── config.yaml │ │ │ │ ├── test_login_nodes_launch_template_properties │ │ │ │ │ ├── test-login-nodes-stack-with-custom-instance-profile.yaml │ │ │ │ │ ├── test-login-nodes-stack-with-custom-instance-role.yaml │ │ │ │ │ ├── test-login-nodes-stack-with-custom-tags.yaml │ │ │ │ │ ├── test-login-nodes-stack-without-ssh.yaml │ │ │ │ │ └── test-login-nodes-stack.yaml │ │ │ │ ├── test_login_nodes_traffic_management_resources_values_properties │ │ │ │ │ └── test-login-nodes-stack.yaml │ │ │ │ ├── test_no_security_groups_created_from_configuration_file │ │ │ │ │ └── config.yaml │ │ │ │ └── test_security_group_with_restricted_ssh_access │ │ │ │ │ ├── config_restricted_ssh_cidr.yaml │ │ │ │ │ ├── config_restricted_ssh_invalid.yaml │ │ │ │ │ └── config_restricted_ssh_prefix_list.yaml │ │ │ ├── test_concurrent_cdk_import.py │ │ │ ├── test_cw_dashboard_builder.py │ │ │ ├── test_cw_dashboard_builder │ │ │ │ └── test_cw_dashboard_builder │ │ │ │ │ ├── alinux2.batch.head_node_log.yaml │ │ │ │ │ ├── alinux2.batch.no_head_node_log.yaml │ │ │ │ │ ├── alinux2.slurm.conditional_vol.yaml │ │ │ │ │ ├── rhel8.slurm.full.yaml │ │ │ │ │ ├── ubuntu24.slurm.no_dashboard.yaml │ │ │ │ │ └── ubuntu24.slurm.simple.yaml │ │ │ ├── test_dev_settings.py │ │ │ ├── test_dev_settings │ │ │ │ └── test_custom_cookbook │ │ │ │ │ └── config.yaml │ │ │ ├── test_directory_service.py │ │ │ ├── test_directory_service │ │ │ │ └── test_head_node_permissions │ │ │ │ │ ├── config-ssm.yaml │ │ │ │ │ └── config.yaml │ │ │ ├── test_iam.py │ │ │ ├── test_iam │ │ │ │ └── test_iam_permissions_boundary │ │ │ │ │ └── config.yaml │ │ │ ├── test_imagebuilder_stack.py │ │ │ ├── test_login_nodes_stack.py │ │ │ ├── test_login_nodes_stack │ │ │ │ └── test_login_nodes_dna_json │ │ │ │ │ ├── config-1.yaml │ │ │ │ │ ├── config-2.yaml │ │ │ │ │ ├── dna-1.json │ │ │ │ │ ├── dna-2.json │ │ │ │ │ ├── extra-1.json │ │ │ │ │ └── extra-2.json │ │ │ ├── test_queues_stack.py │ │ │ ├── test_queues_stack │ │ │ │ ├── test_compute_nodes_dna_json │ │ │ │ │ ├── config-1.yaml │ │ │ │ │ ├── config-2.yaml │ │ │ │ │ ├── dna-1.json │ │ │ │ │ ├── dna-2.json │ │ │ │ │ ├── extra-1.json │ │ │ │ │ └── extra-2.json │ │ │ │ └── test_compute_nodes_iam_permissions │ │ │ │ │ └── config.yaml │ │ │ ├── test_scheduling.py │ │ │ ├── test_scheduling │ │ │ │ ├── test_additional_security_groups │ │ │ │ │ └── config.yaml │ │ │ │ ├── test_head_node_base_pass_role │ │ │ │ │ └── config.yaml │ │ │ │ ├── test_head_node_custom_pass_role │ │ │ │ │ └── config.yaml │ │ │ │ ├── test_head_node_mixed_pass_role │ │ │ │ │ └── config.yaml │ │ │ │ └── test_permissions_for_slurm_db_secret │ │ │ │ │ └── config.yaml │ │ │ ├── test_shared_storage.py │ │ │ └── test_shared_storage │ │ │ │ ├── test_efs_permissions │ │ │ │ └── config.yaml │ │ │ │ ├── test_non_happy_storage │ │ │ │ ├── config.yaml │ │ │ │ └── file_cache_config.yaml │ │ │ │ ├── test_shared_storage_ebs │ │ │ │ └── config.yaml │ │ │ │ ├── test_shared_storage_efs │ │ │ │ ├── config-custom-sg.yaml │ │ │ │ └── config.yaml │ │ │ │ ├── test_shared_storage_fsx │ │ │ │ ├── config-custom-sg.yaml │ │ │ │ └── config.yaml │ │ │ │ └── test_unmanaged_shared_storage_fsx │ │ │ │ └── unmanaged_config.yaml │ │ ├── test.sh │ │ ├── test_imagebuilder_utils.py │ │ ├── test_utils.py │ │ ├── utils.py │ │ └── validators │ │ │ ├── __init__.py │ │ │ ├── test_all_validators.py │ │ │ ├── test_all_validators │ │ │ ├── test_slurm_all_validators_are_called │ │ │ │ ├── slurm_1.yaml │ │ │ │ └── slurm_2.yaml │ │ │ └── test_slurm_validators_are_called_with_correct_argument │ │ │ │ └── slurm.yaml │ │ │ ├── test_awsbatch_validators.py │ │ │ ├── test_cluster_validators.py │ │ │ ├── test_database_validators.py │ │ │ ├── test_directory_service_validators.py │ │ │ ├── test_ebs_validators.py │ │ │ ├── test_ec2_validators.py │ │ │ ├── test_efs_validators.py │ │ │ ├── test_feature_validators.py │ │ │ ├── test_fsx_validators.py │ │ │ ├── test_iam_validators.py │ │ │ ├── test_imagebuilder_validators.py │ │ │ ├── test_instances_validators.py │ │ │ ├── test_kms_validators.py │ │ │ ├── test_monitoring_validators.py │ │ │ ├── test_networking_validators.py │ │ │ ├── test_s3_validators.py │ │ │ ├── test_scheduling_validators.py │ │ │ ├── test_secret_validators.py │ │ │ ├── test_tags_validators.py │ │ │ └── utils.py │ ├── pcluster3_config_converter │ │ ├── test_data.py │ │ ├── test_pcluster3_config_converter.py │ │ └── test_pcluster3_config_converter │ │ │ ├── test_pcluster3_config_converter │ │ │ ├── awsbatch_full.ini │ │ │ ├── awsbatch_full.yaml │ │ │ ├── awsbatch_required.ini │ │ │ ├── awsbatch_required.yaml │ │ │ ├── compute_subnet_cidr.ini │ │ │ ├── missing_vpc.ini │ │ │ ├── sit_base.ini │ │ │ ├── sit_base.yaml │ │ │ ├── sit_full.ini │ │ │ ├── sit_full.yaml │ │ │ ├── slurm_full.ini │ │ │ ├── slurm_full.yaml │ │ │ ├── slurm_required.ini │ │ │ └── slurm_required.yaml │ │ │ └── test_pcluster3_config_converter_command │ │ │ ├── pcluster.config.ini │ │ │ └── pcluster.config.yaml │ ├── requirements.txt │ └── utils.py └── tox.ini ├── cloudformation ├── ad │ └── ad-integration.yaml ├── custom_resource │ ├── cluster-1-click.yaml │ └── cluster.yaml ├── database │ └── serverless-database.yaml ├── external-slurmdbd │ ├── .gitignore │ ├── app.py │ ├── cdk.json │ ├── external-slurmdbd.json │ ├── external_slurmdbd │ │ ├── __init__.py │ │ └── external_slurmdbd_stack.py │ ├── requirements.txt │ └── resources │ │ └── user_data.sh ├── networking │ ├── public-private.cfn.json │ └── public.cfn.json ├── policies │ └── parallelcluster-policies.yaml ├── proxy │ └── proxy.yaml ├── storage │ └── storage-stack.yaml ├── tests │ ├── conftest.py │ ├── pytest.ini │ ├── requirements.txt │ ├── test_cfn_validation.py │ ├── test_networking.py │ └── test_policies.py └── utils │ ├── cfn_formatter.py │ └── requirements.txt ├── pc_support ├── merge_version_files.py ├── os_3.0.0.json ├── os_3.0.0b1.json ├── os_3.0.1.json ├── os_3.0.2.json ├── os_3.0.3.json ├── os_3.1.0b1.json ├── os_3.1.1.json ├── os_3.1.2.json ├── os_3.1.3.json ├── os_3.1.4.json ├── os_3.1.5.json ├── os_3.10.0.json ├── os_3.11.0.json ├── os_3.12.0.json ├── os_3.13.0.json ├── os_3.14.0.json ├── os_3.2.0.json ├── os_3.2.0b1.json ├── os_3.2.0b2.json ├── os_3.2.1.json ├── os_3.3.0.json ├── os_3.3.0b1.json ├── os_3.3.1.json ├── os_3.4.0.json ├── os_3.4.0b1.json ├── os_3.4.1.json ├── os_3.5.0.json ├── os_3.6.0.json ├── os_3.7.0.json ├── os_3.8.0.json ├── os_3.9.0.json ├── test_json_files │ └── non_regex_matching.json └── test_merge_version_files.py ├── tests ├── iam_policies │ ├── cluster-roles.cfn.yaml │ ├── image-roles.cfn.yaml │ └── user-role.cfn.yaml └── integration-tests │ ├── .gitignore │ ├── README.md │ ├── __init__.py │ ├── benchmarks │ ├── __init__.py │ ├── common │ │ ├── __init__.py │ │ ├── metrics_reporter.py │ │ ├── scaling_metrics_source.jinja │ │ └── util.py │ ├── test_scaling_performance.py │ ├── test_scaling_performance │ │ └── test_scaling_performance │ │ │ └── pcluster.config.yaml │ ├── test_scheduler_performance.py │ └── test_scheduler_performance │ │ └── test_scheduler_performance │ │ └── pcluster.config.yaml │ ├── cfn_stacks_factory.py │ ├── clusters_factory.py │ ├── configs │ ├── .gitignore │ ├── ad_integration.yaml │ ├── additional_instance_types.yaml │ ├── build_image_iso.yaml │ ├── common.jinja2 │ ├── common │ │ └── common.yaml │ ├── develop.yaml │ ├── dummy.yaml │ ├── gpu.yaml │ ├── installer.yaml │ ├── isolated_regions.yaml │ ├── new_instance_types.yaml │ ├── new_os.yaml │ ├── new_region.yaml │ ├── openfoam.yaml │ ├── osu.yaml │ ├── performance_tests.yaml │ ├── release-process.yaml │ ├── released.yaml │ ├── scaling.yaml │ ├── scaling_stress_test.yaml │ ├── schedulers.yaml │ ├── starccm.yaml │ ├── startup_time_performance.yaml │ └── weekly.yaml │ ├── conftest.py │ ├── conftest_markers.py │ ├── conftest_networking.py │ ├── conftest_resource_bucket.py │ ├── conftest_runtest_hooks.py │ ├── conftest_tests_config.py │ ├── conftest_utils.py │ ├── constants.py │ ├── framework │ ├── __init__.py │ ├── credential_providers.py │ ├── fixture_utils.py │ ├── framework_constants.py │ ├── metadata_table_manager.py │ ├── metrics_publisher.py │ ├── tests_configuration │ │ ├── __init__.py │ │ ├── config_generator.py │ │ ├── config_renderer.py │ │ ├── config_schema.yaml │ │ ├── config_stub.yaml.jinja2 │ │ ├── config_utils.py │ │ └── config_validator.py │ └── unit_test_metadata_table_publisher.py │ ├── images_factory.py │ ├── network_template_builder.py │ ├── remote_command_executor.py │ ├── reports_generator.py │ ├── requirements.txt │ ├── resources │ ├── batch_instance_policy.json │ ├── cluster_custom_resource.yaml │ ├── file-cache-storage-cfn.yaml │ ├── key_policy.json │ └── traditional_instance_policy.json │ ├── s3_common_utils.py │ ├── tags_utils.py │ ├── test_runner.py │ ├── tests │ ├── __init__.py │ ├── ad_integration │ │ ├── __init__.py │ │ ├── cluster_user.py │ │ ├── test_ad_integration.py │ │ └── test_ad_integration │ │ │ ├── test_ad_integration │ │ │ ├── pcluster.config.update.yaml │ │ │ ├── pcluster.config.update2.yaml │ │ │ ├── pcluster.config.yaml │ │ │ └── workload.sh │ │ │ └── test_ad_integration_on_login_nodes │ │ │ ├── NLB_SimpleAD.yaml │ │ │ ├── ad_stack.yaml │ │ │ └── pcluster.config.yaml │ ├── arm_pl │ │ ├── test_arm_pl.py │ │ └── test_arm_pl │ │ │ └── test_arm_pl │ │ │ └── pcluster.config.yaml │ ├── basic │ │ ├── __init__.py │ │ ├── disable_hyperthreading_utils.py │ │ ├── log_rotation_utils.py │ │ ├── structured_log_event_utils.py │ │ ├── test_essential_features.py │ │ └── test_essential_features │ │ │ └── test_essential_features │ │ │ ├── failing_post_install.sh │ │ │ ├── mpi_ssh.sh │ │ │ ├── pcluster.config.yaml │ │ │ ├── post_install.sh │ │ │ └── pre_install.sh │ ├── capacity_reservations │ │ ├── __init__.py │ │ ├── test_capacity_blocks.py │ │ ├── test_capacity_blocks │ │ │ └── test_capacity_blocks │ │ │ │ ├── override_capacity_blocks.sh │ │ │ │ └── pcluster.config.yaml │ │ ├── test_on_demand_capacity_reservation.py │ │ └── test_on_demand_capacity_reservation │ │ │ └── test_on_demand_capacity_reservation │ │ │ └── pcluster.config.yaml │ ├── cli_commands │ │ ├── __init__.py │ │ ├── test_cli_commands.py │ │ └── test_cli_commands │ │ │ └── test_slurm_cli_commands │ │ │ ├── pcluster.config.with.warnings.yaml │ │ │ └── pcluster.config.yaml │ ├── cloudwatch_logging │ │ ├── __init__.py │ │ ├── cloudwatch_logging_boto3_utils.py │ │ ├── test_cloudwatch_logging.py │ │ ├── test_cloudwatch_logging │ │ │ └── test_cloudwatch_logging │ │ │ │ ├── cw_agent_debug.sh │ │ │ │ └── pcluster.config.yaml │ │ ├── test_compute_console_output_logging.py │ │ └── test_compute_console_output_logging │ │ │ ├── test_compute_console_logging │ │ │ └── pcluster.config.yaml │ │ │ ├── test_console_output_with_monitoring_disabled │ │ │ └── pcluster.config.yaml │ │ │ └── test_custom_action_error │ │ │ ├── on_node_start.sh │ │ │ └── pcluster.config.yaml │ ├── common │ │ ├── __init__.py │ │ ├── assertions.py │ │ ├── data │ │ │ ├── mpi │ │ │ │ ├── mpi_submit_openmpi.sh │ │ │ │ └── ring.c │ │ │ ├── osu │ │ │ │ ├── config.guess │ │ │ │ ├── config.sub │ │ │ │ ├── init_osu_benchmarks.sh │ │ │ │ ├── osu-micro-benchmarks-5.7.1.tgz │ │ │ │ ├── osu_collective_submit_intelmpi.sh │ │ │ │ ├── osu_collective_submit_openmpi.sh │ │ │ │ ├── osu_mbw_mr_submit_openmpi.sh │ │ │ │ ├── osu_pt2pt_submit_intelmpi.sh │ │ │ │ └── osu_pt2pt_submit_openmpi.sh │ │ │ └── system-analyzer.sh │ │ ├── hit_common.py │ │ ├── login_nodes_utils.py │ │ ├── mpi_common.py │ │ ├── networking │ │ │ └── security_groups.py │ │ ├── osu_common.py │ │ ├── scaling │ │ │ ├── collect_metrics_on_headnode.sh │ │ │ ├── get_bootstrap_errors.sh │ │ │ ├── overrides.sh │ │ │ ├── scaling_test_config.yaml │ │ │ └── scaling_test_config_schema.yaml │ │ ├── scaling_common.py │ │ ├── schedulers_common.py │ │ ├── storage │ │ │ ├── assertions.py │ │ │ ├── constants.py │ │ │ ├── ebs_utils.py │ │ │ ├── efs_utils.py │ │ │ └── fsx_utils.py │ │ └── utils.py │ ├── configure │ │ └── test_pcluster_configure.py │ ├── create │ │ ├── test_create.py │ │ └── test_create │ │ │ ├── test_cluster_creation_timeout │ │ │ └── pcluster.config.yaml │ │ │ ├── test_cluster_creation_with_invalid_ebs │ │ │ └── pcluster.config.yaml │ │ │ ├── test_cluster_creation_with_problematic_preinstall_script │ │ │ ├── pcluster.config.yaml │ │ │ └── pre_install.sh │ │ │ ├── test_create_disable_sudo_access_for_default_user │ │ │ ├── pcluster.config.yaml │ │ │ ├── pcluster_update_login_nodes_count_to_0.config.yaml │ │ │ └── pcluster_update_login_nodes_count_to_1.config.yaml │ │ │ ├── test_create_imds_secured │ │ │ └── pcluster.config.yaml │ │ │ ├── test_create_wrong_os │ │ │ └── pcluster.config.yaml │ │ │ └── test_create_wrong_pcluster_version │ │ │ └── pcluster.config.yaml │ ├── createami │ │ ├── __init__.py │ │ ├── test_createami.py │ │ └── test_createami │ │ │ ├── test_build_image │ │ │ ├── image.config.yaml │ │ │ └── pcluster.config.yaml │ │ │ ├── test_build_image_custom_components │ │ │ ├── custom_script.sh │ │ │ ├── custom_script_ubuntu.sh │ │ │ └── image.config.yaml │ │ │ ├── test_build_image_wrong_pcluster_version │ │ │ └── image.config.yaml │ │ │ ├── test_invalid_config │ │ │ ├── image.config.yaml │ │ │ └── warnings.image.config.yaml │ │ │ └── test_kernel4_build_image_run_cluster │ │ │ ├── image.config.yaml │ │ │ └── pcluster.config.yaml │ ├── custom_resource │ │ ├── __init__.py │ │ ├── conftest.py │ │ ├── test_cluster_custom_resource.py │ │ └── test_cluster_custom_resource │ │ │ ├── test_cluster_create │ │ │ └── pcluster.config.yaml │ │ │ ├── test_cluster_create_invalid │ │ │ └── pcluster.config.yaml │ │ │ ├── test_cluster_create_with_custom_policies │ │ │ └── pcluster.config.yaml │ │ │ ├── test_cluster_delete_out_of_band │ │ │ └── pcluster.config.yaml │ │ │ ├── test_cluster_delete_retain │ │ │ └── pcluster.config.yaml │ │ │ ├── test_cluster_update │ │ │ └── pcluster.config.yaml │ │ │ ├── test_cluster_update_invalid │ │ │ ├── pcluster.config.invalidprofile.yaml │ │ │ ├── pcluster.config.negativemaxcount.yaml │ │ │ ├── pcluster.config.reducemaxcount.yaml │ │ │ ├── pcluster.config.wrongscripturi.yaml │ │ │ └── pcluster.config.yaml │ │ │ └── test_cluster_update_tag_propagation │ │ │ └── pcluster.config.yaml │ ├── dcv │ │ ├── __init__.py │ │ ├── test_dcv.py │ │ └── test_dcv │ │ │ ├── test_dcv_configuration │ │ │ ├── pcluster.config.yaml │ │ │ └── verify_no_core_files.sh │ │ │ └── test_dcv_with_remote_access │ │ │ ├── pcluster.config.yaml │ │ │ └── verify_no_core_files.sh │ ├── dns │ │ ├── test_dns.py │ │ └── test_dns │ │ │ ├── test_existing_hosted_zone │ │ │ └── pcluster.config.yaml │ │ │ └── test_hit_no_cluster_dns_mpi │ │ │ └── pcluster.config.yaml │ ├── dummy │ │ ├── test_dummy.py │ │ └── test_dummy │ │ │ └── test_dummy_cluster │ │ │ └── pcluster.config.yaml │ ├── efa │ │ ├── __init__.py │ │ ├── test_efa.py │ │ └── test_efa │ │ │ └── test_efa │ │ │ ├── install-fabtests.sh │ │ │ ├── nccl_benchmarks │ │ │ ├── init_nccl_benchmarks.sh │ │ │ └── nccl_tests_submit_openmpi.sh │ │ │ ├── pcluster.config.yaml │ │ │ └── run-fabtests.sh │ ├── health_checks │ │ ├── test_gpu_health_checks.py │ │ └── test_gpu_health_checks │ │ │ └── test_cluster_with_gpu_health_checks │ │ │ ├── mock_failing_gpu_health_check.sh │ │ │ ├── mock_successful_gpu_health_check.sh │ │ │ ├── pcluster.config.yaml │ │ │ └── restore_gpu_health_check.sh │ ├── iam │ │ ├── test_iam.py │ │ ├── test_iam │ │ │ ├── test_iam_policies │ │ │ │ └── pcluster.config.yaml │ │ │ ├── test_iam_resource_prefix │ │ │ │ └── pcluster.config.yaml │ │ │ ├── test_iam_roles │ │ │ │ └── pcluster.config.yaml │ │ │ └── test_s3_read_write_resource │ │ │ │ ├── pcluster.config.ini │ │ │ │ ├── pcluster.config.yaml │ │ │ │ └── s3_test_file │ │ ├── test_iam_image.py │ │ └── test_iam_image │ │ │ └── test_iam_roles │ │ │ └── image.config.yaml │ ├── intel_hpc │ │ ├── __init__.py │ │ ├── test_intel_hpc.py │ │ └── test_intel_hpc │ │ │ └── test_intel_hpc │ │ │ ├── clck.xml │ │ │ ├── install_clck.sh │ │ │ ├── pcluster.config.yaml │ │ │ └── run_clck.sh │ ├── monitoring │ │ ├── __init__.py │ │ ├── test_monitoring.py │ │ └── test_monitoring │ │ │ └── test_monitoring │ │ │ └── pcluster.config.yaml │ ├── multiple_nics │ │ ├── test_multiple_nics.py │ │ └── test_multiple_nics │ │ │ └── test_multiple_nics │ │ │ └── pcluster.config.yaml │ ├── networking │ │ ├── test_cluster_networking.py │ │ ├── test_cluster_networking │ │ │ ├── test_cluster_in_no_internet_subnet │ │ │ │ ├── osu_pt2pt_submit_intelmpi.sh │ │ │ │ ├── osu_pt2pt_submit_openmpi.sh │ │ │ │ ├── pcluster.config.yaml │ │ │ │ └── pre_install.sh │ │ │ ├── test_cluster_in_private_subnet │ │ │ │ └── pcluster.config.yaml │ │ │ └── test_existing_eip │ │ │ │ └── pcluster.config.yaml │ │ ├── test_multi_cidr.py │ │ ├── test_multi_cidr │ │ │ └── test_multi_cidr │ │ │ │ └── pcluster.config.yaml │ │ ├── test_networking.py │ │ ├── test_placement_group.py │ │ ├── test_placement_group │ │ │ ├── test_placement_group │ │ │ │ ├── pcluster.config.yaml │ │ │ │ └── pg.config.yaml │ │ │ └── test_placement_group_in_queue │ │ │ │ └── pcluster.config.ini │ │ ├── test_security_groups.py │ │ └── test_security_groups │ │ │ ├── test_additional_sg_and_ssh_from │ │ │ ├── pcluster.config.update_sg.yaml │ │ │ └── pcluster.config.yaml │ │ │ ├── test_login_node_security_groups │ │ │ └── pcluster.config.yaml │ │ │ └── test_overwrite_sg │ │ │ ├── pcluster.config.update.yaml │ │ │ └── pcluster.config.yaml │ ├── pcluster_api │ │ ├── test_api.py │ │ ├── test_api │ │ │ ├── test_cluster_awsbatch │ │ │ │ ├── custom_action.sh │ │ │ │ ├── pcluster.config.update.yaml │ │ │ │ └── pcluster.config.yaml │ │ │ ├── test_cluster_slurm │ │ │ │ ├── custom_action.sh │ │ │ │ ├── pcluster.config.update.yaml │ │ │ │ └── pcluster.config.yaml │ │ │ ├── test_custom_image │ │ │ │ └── image.config.yaml │ │ │ └── test_login_nodes │ │ │ │ └── pcluster.config.yaml │ │ └── test_api_infrastructure.py │ ├── performance_tests │ │ ├── README.md │ │ ├── __init__.py │ │ ├── common.py │ │ ├── plotting │ │ │ ├── __init__.py │ │ │ └── performance_tests_plots.py │ │ ├── resources │ │ │ ├── bootstrap │ │ │ │ ├── cloudwatch-dashboard-widgets.json │ │ │ │ ├── env-info.sh │ │ │ │ ├── functions.sh │ │ │ │ ├── metrics-publisher.sh │ │ │ │ ├── post.compute.sh │ │ │ │ ├── post.head.sh │ │ │ │ ├── pre.compute.sh │ │ │ │ ├── run-scale-test.sh │ │ │ │ └── scale-test-job-wrapper.sh │ │ │ └── results │ │ │ │ ├── baseline │ │ │ │ ├── samples.json │ │ │ │ └── statistics.json │ │ │ │ └── tolerance.json │ │ ├── test_openfoam.py │ │ ├── test_openfoam │ │ │ └── test_openfoam │ │ │ │ ├── openfoam.install.sh │ │ │ │ ├── openfoam.results.sh │ │ │ │ ├── openfoam.slurm.sh │ │ │ │ └── pcluster.config.yaml │ │ ├── test_osu.py │ │ ├── test_osu │ │ │ └── test_osu │ │ │ │ ├── osu_benchmarks │ │ │ │ └── results │ │ │ │ │ ├── alinux2 │ │ │ │ │ ├── c5n.18xlarge │ │ │ │ │ │ ├── intelmpi │ │ │ │ │ │ │ ├── osu_allgather │ │ │ │ │ │ │ ├── osu_allreduce │ │ │ │ │ │ │ ├── osu_alltoall │ │ │ │ │ │ │ ├── osu_bcast │ │ │ │ │ │ │ ├── osu_bibw │ │ │ │ │ │ │ └── osu_latency │ │ │ │ │ │ └── openmpi │ │ │ │ │ │ │ ├── osu_allgather │ │ │ │ │ │ │ ├── osu_allreduce │ │ │ │ │ │ │ ├── osu_alltoall │ │ │ │ │ │ │ ├── osu_bcast │ │ │ │ │ │ │ ├── osu_bibw │ │ │ │ │ │ │ └── osu_latency │ │ │ │ │ └── p5.48xlarge │ │ │ │ │ │ ├── intelmpi │ │ │ │ │ │ ├── osu_allgather │ │ │ │ │ │ ├── osu_allreduce │ │ │ │ │ │ ├── osu_alltoall │ │ │ │ │ │ ├── osu_bcast │ │ │ │ │ │ ├── osu_bibw │ │ │ │ │ │ └── osu_latency │ │ │ │ │ │ └── openmpi │ │ │ │ │ │ ├── osu_allgather │ │ │ │ │ │ ├── osu_allreduce │ │ │ │ │ │ ├── osu_alltoall │ │ │ │ │ │ ├── osu_bcast │ │ │ │ │ │ ├── osu_bibw │ │ │ │ │ │ └── osu_latency │ │ │ │ │ ├── alinux2023 │ │ │ │ │ └── c5n.18xlarge │ │ │ │ │ │ ├── intelmpi │ │ │ │ │ │ ├── osu_allgather │ │ │ │ │ │ ├── osu_allreduce │ │ │ │ │ │ ├── osu_alltoall │ │ │ │ │ │ ├── osu_bcast │ │ │ │ │ │ ├── osu_bibw │ │ │ │ │ │ └── osu_latency │ │ │ │ │ │ └── openmpi │ │ │ │ │ │ ├── osu_allgather │ │ │ │ │ │ ├── osu_allreduce │ │ │ │ │ │ ├── osu_alltoall │ │ │ │ │ │ ├── osu_bcast │ │ │ │ │ │ ├── osu_bibw │ │ │ │ │ │ └── osu_latency │ │ │ │ │ ├── centos7 │ │ │ │ │ └── c5n.18xlarge │ │ │ │ │ │ ├── intelmpi │ │ │ │ │ │ ├── osu_allgather │ │ │ │ │ │ ├── osu_allreduce │ │ │ │ │ │ ├── osu_alltoall │ │ │ │ │ │ ├── osu_bcast │ │ │ │ │ │ ├── osu_bibw │ │ │ │ │ │ └── osu_latency │ │ │ │ │ │ └── openmpi │ │ │ │ │ │ ├── osu_allgather │ │ │ │ │ │ ├── osu_allreduce │ │ │ │ │ │ ├── osu_alltoall │ │ │ │ │ │ ├── osu_bcast │ │ │ │ │ │ ├── osu_bibw │ │ │ │ │ │ └── osu_latency │ │ │ │ │ ├── rhel8 │ │ │ │ │ └── c5n.18xlarge │ │ │ │ │ │ ├── intelmpi │ │ │ │ │ │ ├── osu_allgather │ │ │ │ │ │ ├── osu_allreduce │ │ │ │ │ │ ├── osu_alltoall │ │ │ │ │ │ ├── osu_bcast │ │ │ │ │ │ ├── osu_bibw │ │ │ │ │ │ └── osu_latency │ │ │ │ │ │ └── openmpi │ │ │ │ │ │ ├── osu_allgather │ │ │ │ │ │ ├── osu_allreduce │ │ │ │ │ │ ├── osu_alltoall │ │ │ │ │ │ ├── osu_bcast │ │ │ │ │ │ ├── osu_bibw │ │ │ │ │ │ └── osu_latency │ │ │ │ │ ├── rhel9 │ │ │ │ │ └── c5n.18xlarge │ │ │ │ │ │ ├── intelmpi │ │ │ │ │ │ ├── osu_allgather │ │ │ │ │ │ ├── osu_allreduce │ │ │ │ │ │ ├── osu_alltoall │ │ │ │ │ │ ├── osu_bcast │ │ │ │ │ │ ├── osu_bibw │ │ │ │ │ │ └── osu_latency │ │ │ │ │ │ └── openmpi │ │ │ │ │ │ ├── osu_allgather │ │ │ │ │ │ ├── osu_allreduce │ │ │ │ │ │ ├── osu_alltoall │ │ │ │ │ │ ├── osu_bcast │ │ │ │ │ │ ├── osu_bibw │ │ │ │ │ │ └── osu_latency │ │ │ │ │ ├── rocky8 │ │ │ │ │ └── c5n.18xlarge │ │ │ │ │ │ ├── intelmpi │ │ │ │ │ │ ├── osu_allgather │ │ │ │ │ │ ├── osu_allreduce │ │ │ │ │ │ ├── osu_alltoall │ │ │ │ │ │ ├── osu_bcast │ │ │ │ │ │ ├── osu_bibw │ │ │ │ │ │ └── osu_latency │ │ │ │ │ │ └── openmpi │ │ │ │ │ │ ├── osu_allgather │ │ │ │ │ │ ├── osu_allreduce │ │ │ │ │ │ ├── osu_alltoall │ │ │ │ │ │ ├── osu_bcast │ │ │ │ │ │ ├── osu_bibw │ │ │ │ │ │ └── osu_latency │ │ │ │ │ ├── ubuntu2004 │ │ │ │ │ └── c5n.18xlarge │ │ │ │ │ │ ├── intelmpi │ │ │ │ │ │ ├── osu_allgather │ │ │ │ │ │ ├── osu_allreduce │ │ │ │ │ │ ├── osu_alltoall │ │ │ │ │ │ ├── osu_bcast │ │ │ │ │ │ ├── osu_bibw │ │ │ │ │ │ └── osu_latency │ │ │ │ │ │ └── openmpi │ │ │ │ │ │ ├── osu_allgather │ │ │ │ │ │ ├── osu_allreduce │ │ │ │ │ │ ├── osu_alltoall │ │ │ │ │ │ ├── osu_bcast │ │ │ │ │ │ ├── osu_bibw │ │ │ │ │ │ └── osu_latency │ │ │ │ │ ├── ubuntu2204 │ │ │ │ │ └── c5n.18xlarge │ │ │ │ │ │ ├── intelmpi │ │ │ │ │ │ ├── osu_allgather │ │ │ │ │ │ ├── osu_allreduce │ │ │ │ │ │ ├── osu_alltoall │ │ │ │ │ │ ├── osu_bcast │ │ │ │ │ │ ├── osu_bibw │ │ │ │ │ │ └── osu_latency │ │ │ │ │ │ └── openmpi │ │ │ │ │ │ ├── osu_allgather │ │ │ │ │ │ ├── osu_allreduce │ │ │ │ │ │ ├── osu_alltoall │ │ │ │ │ │ ├── osu_bcast │ │ │ │ │ │ ├── osu_bibw │ │ │ │ │ │ └── osu_latency │ │ │ │ │ └── ubuntu2404 │ │ │ │ │ └── c5n.18xlarge │ │ │ │ │ ├── intelmpi │ │ │ │ │ ├── osu_allgather │ │ │ │ │ ├── osu_allreduce │ │ │ │ │ ├── osu_alltoall │ │ │ │ │ ├── osu_bcast │ │ │ │ │ ├── osu_bibw │ │ │ │ │ └── osu_latency │ │ │ │ │ └── openmpi │ │ │ │ │ ├── osu_allgather │ │ │ │ │ ├── osu_allreduce │ │ │ │ │ ├── osu_alltoall │ │ │ │ │ ├── osu_bcast │ │ │ │ │ ├── osu_bibw │ │ │ │ │ └── osu_latency │ │ │ │ └── pcluster.config.yaml │ │ ├── test_scaling.py │ │ ├── test_scaling │ │ │ ├── test_scaling │ │ │ │ └── pcluster.config.yaml │ │ │ ├── test_scaling_stress_test │ │ │ │ ├── pcluster.config.yaml │ │ │ │ └── results │ │ │ │ │ └── baseline.json │ │ │ └── test_static_scaling_stress_test │ │ │ │ ├── pcluster.config.yaml │ │ │ │ └── results │ │ │ │ └── baseline.json │ │ ├── test_simple.py │ │ ├── test_simple │ │ │ └── test_simple │ │ │ │ └── pcluster.config.yaml │ │ ├── test_starccm.py │ │ ├── test_starccm │ │ │ └── test_starccm │ │ │ │ ├── dependencies.install.sh │ │ │ │ ├── pcluster.config.yaml │ │ │ │ ├── starccm.install.sh │ │ │ │ ├── starccm.results.sh │ │ │ │ └── starccm.slurm.sh │ │ ├── test_startup_time.py │ │ └── test_startup_time │ │ │ └── test_startup_time │ │ │ └── pcluster.config.yaml │ ├── proxy │ │ ├── test_proxy.py │ │ └── test_proxy │ │ │ └── test_proxy │ │ │ └── pcluster.config.yaml │ ├── pyxis │ │ ├── test_pyxis.py │ │ └── test_pyxis │ │ │ └── test_pyxis │ │ │ ├── compute_node_start.sh │ │ │ ├── head_node_configure.sh │ │ │ └── pcluster.config.yaml │ ├── resource_bucket │ │ ├── test_resource_bucket.py │ │ └── test_resource_bucket │ │ │ └── test_resource_bucket │ │ │ ├── pcluster.config_awsbatch.yaml │ │ │ ├── pcluster.config_slurm.yaml │ │ │ └── s3_test_file │ ├── scaling │ │ ├── __init__.py │ │ ├── test_scaling.py │ │ └── test_scaling │ │ │ ├── test_job_level_scaling │ │ │ ├── cluster-check.sh │ │ │ └── pcluster.config.yaml │ │ │ └── test_scaling_special_cases │ │ │ ├── include_custom_partition_large.sh.jinja │ │ │ ├── pcluster-downscale.config.yaml │ │ │ ├── pcluster-upscale.config.yaml │ │ │ └── pcluster.config.yaml │ ├── schedulers │ │ ├── __init__.py │ │ ├── conftest.py │ │ ├── test_awsbatch.py │ │ ├── test_awsbatch │ │ │ ├── test_awsbatch │ │ │ │ ├── pcluster.config.yaml │ │ │ │ ├── test_mpi_job.sh │ │ │ │ └── test_simple_job.sh │ │ │ └── test_awsbatch_defaults │ │ │ │ ├── pcluster.config.yaml │ │ │ │ └── test_simple_job.sh │ │ ├── test_custom_munge_key.py │ │ ├── test_custom_munge_key │ │ │ └── test_custom_munge_key │ │ │ │ ├── fail-on-node-updated.sh │ │ │ │ ├── pcluster.config.yaml │ │ │ │ ├── pcluster.remove_custom_munge_key.config.yaml │ │ │ │ ├── pcluster.roll_back.config.yaml │ │ │ │ └── pcluster.stop_login.config.yaml │ │ ├── test_slurm.py │ │ ├── test_slurm │ │ │ ├── test_error_handling │ │ │ │ ├── pcluster.config.yaml │ │ │ │ ├── slurm_kill_clustermgtd.sh │ │ │ │ ├── slurm_kill_slurmctld.sh │ │ │ │ ├── slurm_start_clustermgtd.sh │ │ │ │ └── slurm_start_slurmctld.sh │ │ │ ├── test_fast_capacity_failover │ │ │ │ └── pcluster.config.yaml │ │ │ ├── test_scontrol_reboot │ │ │ │ └── pcluster.config.yaml │ │ │ ├── test_scontrol_reboot_ec2_health_checks │ │ │ │ ├── add_sleep_to_slurmd_service_compute.sh │ │ │ │ ├── pcluster.config.yaml │ │ │ │ └── reset_sleep_slurmd_service_compute.sh │ │ │ ├── test_scontrol_update_nodelist_sorting │ │ │ │ └── pcluster.config.yaml │ │ │ ├── test_slurm │ │ │ │ ├── mpi_job.sh │ │ │ │ ├── pcluster.config.yaml │ │ │ │ ├── pcluster.update.config.yaml │ │ │ │ └── torque_job.sh │ │ │ ├── test_slurm_config_update │ │ │ │ ├── pcluster.config.update.yaml │ │ │ │ ├── pcluster.config.update_scheduling.yaml │ │ │ │ └── pcluster.config.yaml │ │ │ ├── test_slurm_custom_config_parameters │ │ │ │ ├── custom_slurm_settings.txt │ │ │ │ ├── pcluster.config.update.yaml │ │ │ │ └── pcluster.config.yaml │ │ │ ├── test_slurm_custom_partitions │ │ │ │ ├── pcluster.config.yaml │ │ │ │ └── preinstall.sh │ │ │ ├── test_slurm_from_login_nodes_in_private_network │ │ │ │ ├── mpi_job.sh │ │ │ │ ├── pcluster.config.yaml │ │ │ │ ├── pcluster.update.config.yaml │ │ │ │ └── torque_job.sh │ │ │ ├── test_slurm_memory_based_scheduling │ │ │ │ ├── memory_allocation_chars.c │ │ │ │ ├── pcluster.config.mem-based-scheduling.yaml │ │ │ │ ├── pcluster.config.update-schedulable-memory.yaml │ │ │ │ └── pcluster.config.yaml │ │ │ ├── test_slurm_overrides │ │ │ │ ├── launch_override.sh │ │ │ │ └── pcluster.config.yaml │ │ │ ├── test_slurm_protected_mode │ │ │ │ ├── pcluster.config.broken.yaml │ │ │ │ ├── pcluster.config.recover.yaml │ │ │ │ ├── pcluster.config.yaml │ │ │ │ └── preinstall.sh │ │ │ ├── test_slurm_protected_mode_on_cluster_create │ │ │ │ ├── pcluster.config.yaml │ │ │ │ └── preinstall.sh │ │ │ ├── test_slurm_reconfigure_race_condition │ │ │ │ └── pcluster.config.yaml │ │ │ ├── test_slurm_scaling │ │ │ │ ├── pcluster.config.yaml │ │ │ │ └── slurm_kill_slurmd_job.sh │ │ │ ├── test_slurm_ticket_17399 │ │ │ │ └── pcluster.config.yaml │ │ │ └── test_update_slurm_reconfigure_race_condition │ │ │ │ └── pcluster.config.yaml │ │ ├── test_slurm_accounting.py │ │ └── test_slurm_accounting │ │ │ ├── resources │ │ │ ├── get_accounting_users.sh │ │ │ └── require_server_identity.sh │ │ │ ├── test_slurm_accounting │ │ │ ├── pcluster.config.update.yaml │ │ │ ├── pcluster.config.update2.yaml │ │ │ └── pcluster.config.yaml │ │ │ └── test_slurm_accounting_external_dbd │ │ │ └── pcluster.config.yaml │ ├── spot │ │ ├── __init__.py │ │ ├── test_spot.py │ │ └── test_spot │ │ │ ├── test_spot_default │ │ │ └── pcluster.config.yaml │ │ │ └── test_spot_price_capacity_optimized │ │ │ └── pcluster.config.yaml │ ├── storage │ │ ├── __init__.py │ │ ├── kms_key_factory.py │ │ ├── snapshots_factory.py │ │ ├── storage_common.py │ │ ├── test_deletion_policy.py │ │ ├── test_deletion_policy │ │ │ └── test_retain_on_deletion │ │ │ │ └── pcluster.config.yaml │ │ ├── test_ebs.py │ │ ├── test_ebs │ │ │ ├── test_ebs_existing │ │ │ │ └── pcluster.config.yaml │ │ │ ├── test_ebs_multiple │ │ │ │ └── pcluster.config.yaml │ │ │ ├── test_ebs_single │ │ │ │ └── pcluster.config.yaml │ │ │ ├── test_ebs_single_empty │ │ │ │ └── pcluster.config.yaml │ │ │ └── test_ebs_snapshot │ │ │ │ └── pcluster.config.yaml │ │ ├── test_efs.py │ │ ├── test_efs │ │ │ ├── test_efs_access_point │ │ │ │ ├── pcluster.config.update.yaml │ │ │ │ └── pcluster.config.yaml │ │ │ ├── test_efs_compute_az │ │ │ │ └── pcluster.config.yaml │ │ │ ├── test_efs_same_az │ │ │ │ └── pcluster.config.yaml │ │ │ ├── test_efs_use_login_nodes │ │ │ │ └── pcluster.config.yaml │ │ │ └── test_multiple_efs │ │ │ │ └── pcluster.config.yaml │ │ ├── test_ephemeral.py │ │ ├── test_ephemeral │ │ │ └── test_head_node_stop │ │ │ │ └── pcluster.config.yaml │ │ ├── test_fsx_lustre.py │ │ ├── test_fsx_lustre │ │ │ ├── test_file_cache │ │ │ │ ├── pcluster.config.yaml │ │ │ │ └── s3_test_file │ │ │ ├── test_fsx_lustre │ │ │ │ ├── pcluster.config.yaml │ │ │ │ └── s3_test_file │ │ │ ├── test_fsx_lustre_backup │ │ │ │ ├── pcluster.config.yaml │ │ │ │ └── pcluster_restore_fsx.config.yaml │ │ │ ├── test_fsx_lustre_configuration_options │ │ │ │ ├── pcluster.config.yaml │ │ │ │ └── s3_test_file │ │ │ ├── test_fsx_lustre_dra │ │ │ │ ├── pcluster.config.update.yaml │ │ │ │ ├── pcluster.config.yaml │ │ │ │ └── s3_test_file │ │ │ ├── test_multi_az_fsx │ │ │ │ ├── pcluster-managed-fsx.config.yaml │ │ │ │ ├── pcluster-unmanaged-fsx.config.yaml │ │ │ │ └── s3_test_file │ │ │ └── test_multiple_fsx │ │ │ │ ├── pcluster.config.yaml │ │ │ │ └── s3_test_file │ │ ├── test_internal_efs.py │ │ ├── test_internal_efs │ │ │ └── test_internal_efs │ │ │ │ └── pcluster.config.yaml │ │ ├── test_raid.py │ │ ├── test_raid │ │ │ ├── test_raid_fault_tolerance_mode │ │ │ │ └── pcluster.config.yaml │ │ │ └── test_raid_performance_mode │ │ │ │ └── pcluster.config.yaml │ │ ├── test_shared_home.py │ │ └── test_shared_home │ │ │ └── test_shared_home │ │ │ ├── pcluster.config.yaml │ │ │ └── s3_test_file │ ├── tags │ │ ├── test_tag_propagation.py │ │ └── test_tag_propagation │ │ │ └── test_tag_propagation │ │ │ ├── pcluster.config.update.queue_update.yaml │ │ │ ├── pcluster.config.update.yaml │ │ │ └── pcluster.config.yaml │ ├── trainium │ │ ├── test_trainium.py │ │ └── test_trainium │ │ │ └── test_trainium │ │ │ ├── neuron-allreduce.sh │ │ │ ├── neuron-ccl.sh │ │ │ ├── neuron-installation.sh │ │ │ ├── pcluster.config.yaml │ │ │ └── test-primary-ip.sh │ ├── update │ │ ├── __init__.py │ │ ├── test_update.py │ │ └── test_update │ │ │ ├── test_dynamic_file_systems_update │ │ │ ├── pcluster.config.update.yaml │ │ │ ├── pcluster.config.yaml │ │ │ └── s3_test_file │ │ │ ├── test_dynamic_file_systems_update_data_loss │ │ │ ├── pcluster.config.no-storage.yaml │ │ │ └── pcluster.config.yaml │ │ │ ├── test_dynamic_file_systems_update_rollback │ │ │ ├── pcluster.config.update_rollback.yaml │ │ │ ├── pcluster.config.yaml │ │ │ └── s3_test_file │ │ │ ├── test_login_nodes_update │ │ │ ├── pcluster_create_without_login_nodes.config.yaml │ │ │ ├── pcluster_update_login_nodes_count_to_0.config.yaml │ │ │ ├── pcluster_update_login_nodes_count_to_1.config.yaml │ │ │ └── pcluster_update_login_nodes_count_to_3.config.yaml │ │ │ ├── test_multi_az_create_and_update │ │ │ ├── pcluster_create.config.yaml │ │ │ ├── pcluster_update_1.config.yaml │ │ │ └── pcluster_update_2.config.yaml │ │ │ ├── test_queue_parameters_update │ │ │ ├── pcluster.config.update.yaml │ │ │ ├── pcluster.config.update_resize.yaml │ │ │ ├── pcluster.config.update_with_running_job.yaml │ │ │ ├── pcluster.config.update_without_running_job.yaml │ │ │ └── pcluster.config.yaml │ │ │ ├── test_update_awsbatch │ │ │ ├── pcluster.config.update.yaml │ │ │ └── pcluster.config.yaml │ │ │ ├── test_update_compute_ami │ │ │ ├── pcluster.config.update.yaml │ │ │ └── pcluster.config.yaml │ │ │ ├── test_update_instance_list │ │ │ ├── failing_post_install.sh │ │ │ ├── pcluster.config.update.remove.yaml │ │ │ ├── pcluster.config.update.yaml │ │ │ └── pcluster.config.yaml │ │ │ └── test_update_slurm │ │ │ ├── failed_postupdate.sh │ │ │ ├── pcluster.config.update.yaml │ │ │ ├── pcluster.config.yaml │ │ │ ├── postinstall.sh │ │ │ ├── postupdate.sh │ │ │ ├── preinstall.sh │ │ │ ├── slurm_get_root_volume_size.sh │ │ │ ├── updated_postinstall.sh │ │ │ ├── updated_postupdate.sh │ │ │ └── updated_preinstall.sh │ └── users │ │ ├── __init__.py │ │ ├── test_default_user_home.py │ │ └── test_default_user_home │ │ └── test_default_user_local_home │ │ └── pcluster.config.yaml │ ├── time_utils.py │ ├── tox.ini │ └── utils.py └── util ├── bump-awsbatch-cli-version.sh ├── bump-version.sh ├── common.py ├── generate-ami-list.py ├── rollback_s3_objects.py ├── s3_factory.py ├── sync_buckets.py ├── update_pcluster_configs.py ├── upload-cfn-templates.py ├── upload-cli.sh ├── upload-cookbook.py └── upload-script.py /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @aws/aws-parallelcluster-admins @aws/aws-parallelcluster-maintainers 2 | -------------------------------------------------------------------------------- /.github/codeql/codeql-config.yml: -------------------------------------------------------------------------------- 1 | name: "CodeQL config" 2 | 3 | queries: 4 | - uses: security-and-quality 5 | 6 | paths-ignore: 7 | - '/api/client' -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | # Documentation for all configuration options: 2 | # https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates 3 | 4 | version: 2 5 | updates: 6 | - package-ecosystem: "pip" 7 | directory: "/cli" 8 | schedule: 9 | interval: "daily" 10 | -------------------------------------------------------------------------------- /.github/workflows/changelog_enforcer.yml: -------------------------------------------------------------------------------- 1 | name: Enforce Changelog Updates 2 | on: 3 | pull_request: 4 | types: [opened, synchronize, reopened, ready_for_review, labeled, unlabeled] 5 | 6 | jobs: 7 | # Enforces the update of a changelog file on every pull request 8 | changelog: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - uses: actions/checkout@v2 12 | - uses: dangoslen/changelog-enforcer@v1.4.0 13 | with: 14 | changeLogPath: CHANGELOG.md 15 | skipLabel: skip-changelog-update 16 | -------------------------------------------------------------------------------- /.github/workflows/closed-issue-message.yml: -------------------------------------------------------------------------------- 1 | name: Closed Issue Message 2 | on: 3 | issues: 4 | types: [closed] 5 | jobs: 6 | auto_comment: 7 | runs-on: ubuntu-latest 8 | steps: 9 | - uses: aws-actions/closed-issue-message@v1 10 | with: 11 | # These inputs are both required 12 | repo-token: "${{ secrets.GITHUB_TOKEN }}" 13 | message: | 14 | This issue is now closed. Comments on closed issues are hard for our team to see. 15 | If you need more assistance, please open a new issue that references this one. -------------------------------------------------------------------------------- /.github/workflows/security_exclusions_checker.yml: -------------------------------------------------------------------------------- 1 | name: Security Exclusions Checker 2 | on: 3 | pull_request: 4 | types: [opened, synchronize, reopened, ready_for_review, labeled, unlabeled] 5 | 6 | jobs: 7 | # Prevent security exclusions 8 | security-exclusions-check: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - name: Check PR 12 | uses: francesco-giordano/gh-pr-content-checker@v1.0.0 13 | with: 14 | diffDoesNotContainRegex: "\\bnosec\\b|\\bnosemgrep\\b" 15 | skipLabels: skip-security-exclusions-check 16 | -------------------------------------------------------------------------------- /.github/workflows/unsafe_patterns_checker.yml: -------------------------------------------------------------------------------- 1 | name: Unsafe Patterns Checker 2 | on: 3 | pull_request: 4 | types: [opened, synchronize, reopened, ready_for_review, labeled, unlabeled] 5 | 6 | jobs: 7 | # Prevent bad URL suffix 8 | bad-url-suffix-check: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - name: Check PR for Disallowed URL Suffixes 12 | uses: francesco-giordano/gh-pr-content-checker@v1.0.0 13 | with: 14 | diffDoesNotContainRegex: "amazonaws\\.com|amazonaws\\.com\\.cn|c2s\\.ic\\.gov|sc2s\\.sgov\\.gov" 15 | skipLabels: skip-bad-url-suffix-check 16 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | __pycache__ 2 | .pytest_cache 3 | *.pyc 4 | *.pyo 5 | *.class 6 | *~ 7 | *# 8 | dist/ 9 | build/ 10 | *.egg-info/ 11 | .idea/ 12 | .DS_Store 13 | .tox/ 14 | *.iml 15 | .coverage 16 | .coverage.* 17 | coverage.xml 18 | assets/ 19 | report.html 20 | tests_outputs/ 21 | .python-version 22 | test.yaml 23 | .vscode 24 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | ## Code of Conduct 2 | This project has adopted the [Amazon Open Source Code of Conduct](https://aws.github.io/code-of-conduct). 3 | For more information see the [Code of Conduct FAQ](https://aws.github.io/code-of-conduct-faq) or contact 4 | opensource-codeofconduct@amazon.com with any additional questions or comments. 5 | -------------------------------------------------------------------------------- /NOTICE.txt: -------------------------------------------------------------------------------- 1 | aws-parallelcluster 2 | Copyright 2013-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved. -------------------------------------------------------------------------------- /api/.gitattributes: -------------------------------------------------------------------------------- 1 | # 2 | # https://help.github.com/articles/dealing-with-line-endings/ 3 | # 4 | # These are explicitly windows files and should use crlf 5 | *.bat text eol=crlf 6 | 7 | -------------------------------------------------------------------------------- /api/.gitignore: -------------------------------------------------------------------------------- 1 | *.swp 2 | package-lock.json 3 | __pycache__ 4 | .pytest_cache 5 | .env 6 | .venv 7 | *.egg-info 8 | .aws-sam 9 | 10 | # CDK asset staging directory 11 | .cdk.staging 12 | cdk.out 13 | 14 | # Ignore Gradle project-specific cache directory 15 | .gradle 16 | 17 | # Ignore Gradle build output directory 18 | build 19 | node_modules 20 | package.json 21 | 22 | # Generated code 23 | generated 24 | -------------------------------------------------------------------------------- /api/client/requirements.txt: -------------------------------------------------------------------------------- 1 | boto3>=1.16.14 2 | click~=8.1.7 -------------------------------------------------------------------------------- /api/client/resources/client-requirements.txt.patch: -------------------------------------------------------------------------------- 1 | --- generated/python-client/requirements.txt 2021-06-24 11:51:15.571854862 -0600 2 | +++ resources/requirements.txt 2021-06-24 11:48:48.661035060 -0600 3 | @@ -1,3 +1,4 @@ 4 | python_dateutil >= 2.5.3 5 | setuptools >= 21.0.0 6 | -urllib3 >= 1.25.3 7 | +urllib3 >= 1.26.6 8 | +boto3>=1.16.14 9 | -------------------------------------------------------------------------------- /api/client/resources/setup.py.patch: -------------------------------------------------------------------------------- 1 | --- setup.py 2021-07-30 10:10:10.777035834 -0600 2 | +++ resources/setup.py 2021-07-30 10:16:34.134976487 -0600 3 | @@ -20,7 +20,7 @@ 4 | # http://pypi.python.org/pypi/setuptools 5 | 6 | REQUIRES = [ 7 | - "urllib3 >= 1.25.3", 8 | + "urllib3 >= 1.26.6", 9 | "python-dateutil", 10 | ] 11 | 12 | -------------------------------------------------------------------------------- /api/client/src/.gitlab-ci.yml: -------------------------------------------------------------------------------- 1 | # ref: https://docs.gitlab.com/ee/ci/README.html 2 | 3 | stages: 4 | - test 5 | 6 | .tests: 7 | stage: test 8 | script: 9 | - pip install -r requirements.txt 10 | - pip install -r test-requirements.txt 11 | - pytest --cov=pcluster_client 12 | 13 | test-3.6: 14 | extends: .tests 15 | image: python:3.6-alpine 16 | test-3.7: 17 | extends: .tests 18 | image: python:3.7-alpine 19 | test-3.8: 20 | extends: .tests 21 | image: python:3.8-alpine 22 | test-3.9: 23 | extends: .tests 24 | image: python:3.9-alpine 25 | -------------------------------------------------------------------------------- /api/client/src/.openapi-generator/VERSION: -------------------------------------------------------------------------------- 1 | 6.0.1 -------------------------------------------------------------------------------- /api/client/src/.travis.yml: -------------------------------------------------------------------------------- 1 | # ref: https://docs.travis-ci.com/user/languages/python 2 | language: python 3 | python: 4 | - "3.6" 5 | - "3.7" 6 | - "3.8" 7 | - "3.9" 8 | # command to install dependencies 9 | install: 10 | - "pip install -r requirements.txt" 11 | - "pip install -r test-requirements.txt" 12 | # command to run tests 13 | script: pytest --cov=pcluster_client 14 | -------------------------------------------------------------------------------- /api/client/src/docs/AmiInfo.md: -------------------------------------------------------------------------------- 1 | # AmiInfo 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **architecture** | **str** | | 8 | **ami_id** | **str** | | 9 | **name** | **str** | | 10 | **os** | **str** | | 11 | **version** | **str** | | 12 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 13 | 14 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 15 | 16 | 17 | -------------------------------------------------------------------------------- /api/client/src/docs/BadRequestExceptionResponseContent.md: -------------------------------------------------------------------------------- 1 | # BadRequestExceptionResponseContent 2 | 3 | This exception is thrown when a client calls an API with wrong parameters. 4 | 5 | ## Properties 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **message** | **str** | | [optional] 9 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | 14 | -------------------------------------------------------------------------------- /api/client/src/docs/BuildImageRequestContent.md: -------------------------------------------------------------------------------- 1 | # BuildImageRequestContent 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **image_configuration** | **str** | Image configuration as a YAML document. | 8 | **image_id** | **str** | Id of the Image that will be built. | 9 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | 14 | -------------------------------------------------------------------------------- /api/client/src/docs/Change.md: -------------------------------------------------------------------------------- 1 | # Change 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **parameter** | **str** | | [optional] 8 | **current_value** | **str** | | [optional] 9 | **requested_value** | **str** | | [optional] 10 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 11 | 12 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 13 | 14 | 15 | -------------------------------------------------------------------------------- /api/client/src/docs/ClusterConfigurationStructure.md: -------------------------------------------------------------------------------- 1 | # ClusterConfigurationStructure 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **url** | **str** | URL of the cluster configuration file. | [optional] 8 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /api/client/src/docs/ClusterStatus.md: -------------------------------------------------------------------------------- 1 | # ClusterStatus 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **value** | **str** | | must be one of ["CREATE_IN_PROGRESS", "CREATE_FAILED", "CREATE_COMPLETE", "DELETE_IN_PROGRESS", "DELETE_FAILED", "DELETE_COMPLETE", "UPDATE_IN_PROGRESS", "UPDATE_COMPLETE", "UPDATE_FAILED", ] 8 | 9 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 10 | 11 | 12 | -------------------------------------------------------------------------------- /api/client/src/docs/ClusterStatusFilteringOption.md: -------------------------------------------------------------------------------- 1 | # ClusterStatusFilteringOption 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **value** | **str** | | must be one of ["CREATE_IN_PROGRESS", "CREATE_FAILED", "CREATE_COMPLETE", "DELETE_IN_PROGRESS", "DELETE_FAILED", "UPDATE_IN_PROGRESS", "UPDATE_COMPLETE", "UPDATE_FAILED", ] 8 | 9 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 10 | 11 | 12 | -------------------------------------------------------------------------------- /api/client/src/docs/ComputeFleetStatus.md: -------------------------------------------------------------------------------- 1 | # ComputeFleetStatus 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **value** | **str** | | must be one of ["START_REQUESTED", "STARTING", "RUNNING", "PROTECTED", "STOP_REQUESTED", "STOPPING", "STOPPED", "UNKNOWN", "ENABLED", "DISABLED", ] 8 | 9 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 10 | 11 | 12 | -------------------------------------------------------------------------------- /api/client/src/docs/ConflictExceptionResponseContent.md: -------------------------------------------------------------------------------- 1 | # ConflictExceptionResponseContent 2 | 3 | This exception is thrown when a client request to create/modify content would result in a conflict. 4 | 5 | ## Properties 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **message** | **str** | | [optional] 9 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | 14 | -------------------------------------------------------------------------------- /api/client/src/docs/CreateClusterRequestContent.md: -------------------------------------------------------------------------------- 1 | # CreateClusterRequestContent 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **cluster_name** | **str** | Name of the cluster that will be created. | 8 | **cluster_configuration** | **str** | Cluster configuration as a YAML document. | 9 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | 14 | -------------------------------------------------------------------------------- /api/client/src/docs/DeleteClusterResponseContent.md: -------------------------------------------------------------------------------- 1 | # DeleteClusterResponseContent 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **cluster** | [**ClusterInfoSummary**](ClusterInfoSummary.md) | | 8 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /api/client/src/docs/DeleteImageResponseContent.md: -------------------------------------------------------------------------------- 1 | # DeleteImageResponseContent 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **image** | [**ImageInfoSummary**](ImageInfoSummary.md) | | 8 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /api/client/src/docs/Ec2AmiInfoSummary.md: -------------------------------------------------------------------------------- 1 | # Ec2AmiInfoSummary 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **ami_id** | **str** | EC2 AMI id | 8 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /api/client/src/docs/Ec2AmiState.md: -------------------------------------------------------------------------------- 1 | # Ec2AmiState 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **value** | **str** | | must be one of ["PENDING", "AVAILABLE", "INVALID", "DEREGISTERED", "TRANSIENT", "FAILED", "ERROR", ] 8 | 9 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 10 | 11 | 12 | -------------------------------------------------------------------------------- /api/client/src/docs/GetClusterStackEventsResponseContent.md: -------------------------------------------------------------------------------- 1 | # GetClusterStackEventsResponseContent 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **next_token** | **str** | Token to use for paginated requests. | [optional] 8 | **events** | [**[StackEvent]**](StackEvent.md) | | [optional] 9 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | 14 | -------------------------------------------------------------------------------- /api/client/src/docs/GetImageStackEventsResponseContent.md: -------------------------------------------------------------------------------- 1 | # GetImageStackEventsResponseContent 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **next_token** | **str** | Token to use for paginated requests. | [optional] 8 | **events** | [**[StackEvent]**](StackEvent.md) | | [optional] 9 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | 14 | -------------------------------------------------------------------------------- /api/client/src/docs/ImageBuildStatus.md: -------------------------------------------------------------------------------- 1 | # ImageBuildStatus 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **value** | **str** | | must be one of ["BUILD_IN_PROGRESS", "BUILD_FAILED", "BUILD_COMPLETE", "DELETE_IN_PROGRESS", "DELETE_FAILED", "DELETE_COMPLETE", ] 8 | 9 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 10 | 11 | 12 | -------------------------------------------------------------------------------- /api/client/src/docs/ImageBuilderImageStatus.md: -------------------------------------------------------------------------------- 1 | # ImageBuilderImageStatus 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **value** | **str** | | must be one of ["PENDING", "CREATING", "BUILDING", "TESTING", "DISTRIBUTING", "INTEGRATING", "AVAILABLE", "CANCELLED", "FAILED", "DEPRECATED", "DELETED", ] 8 | 9 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 10 | 11 | 12 | -------------------------------------------------------------------------------- /api/client/src/docs/ImageConfigurationStructure.md: -------------------------------------------------------------------------------- 1 | # ImageConfigurationStructure 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **url** | **str** | URL of the image configuration file. | [optional] 8 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /api/client/src/docs/ImageStatusFilteringOption.md: -------------------------------------------------------------------------------- 1 | # ImageStatusFilteringOption 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **value** | **str** | | must be one of ["AVAILABLE", "PENDING", "FAILED", ] 8 | 9 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 10 | 11 | 12 | -------------------------------------------------------------------------------- /api/client/src/docs/InstanceState.md: -------------------------------------------------------------------------------- 1 | # InstanceState 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **value** | **str** | | must be one of ["pending", "running", "shutting-down", "terminated", "stopping", "stopped", ] 8 | 9 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 10 | 11 | 12 | -------------------------------------------------------------------------------- /api/client/src/docs/InternalServiceExceptionResponseContent.md: -------------------------------------------------------------------------------- 1 | # InternalServiceExceptionResponseContent 2 | 3 | This exception is thrown on an unhandled service error. 4 | 5 | ## Properties 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **message** | **str** | | [optional] 9 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | 14 | -------------------------------------------------------------------------------- /api/client/src/docs/LimitExceededExceptionResponseContent.md: -------------------------------------------------------------------------------- 1 | # LimitExceededExceptionResponseContent 2 | 3 | The client is sending more than the allowed number of requests per unit of time. 4 | 5 | ## Properties 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **message** | **str** | | [optional] 9 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | 14 | -------------------------------------------------------------------------------- /api/client/src/docs/ListClusterLogStreamsResponseContent.md: -------------------------------------------------------------------------------- 1 | # ListClusterLogStreamsResponseContent 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **log_streams** | [**[LogStream]**](LogStream.md) | | 8 | **next_token** | **str** | Token to use for paginated requests. | [optional] 9 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | 14 | -------------------------------------------------------------------------------- /api/client/src/docs/ListClustersResponseContent.md: -------------------------------------------------------------------------------- 1 | # ListClustersResponseContent 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **clusters** | [**[ClusterInfoSummary]**](ClusterInfoSummary.md) | | 8 | **next_token** | **str** | Token to use for paginated requests. | [optional] 9 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | 14 | -------------------------------------------------------------------------------- /api/client/src/docs/ListImageLogStreamsResponseContent.md: -------------------------------------------------------------------------------- 1 | # ListImageLogStreamsResponseContent 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **log_streams** | [**[LogStream]**](LogStream.md) | | 8 | **next_token** | **str** | Token to use for paginated requests. | [optional] 9 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | 14 | -------------------------------------------------------------------------------- /api/client/src/docs/ListImagesResponseContent.md: -------------------------------------------------------------------------------- 1 | # ListImagesResponseContent 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **images** | [**[ImageInfoSummary]**](ImageInfoSummary.md) | | 8 | **next_token** | **str** | Token to use for paginated requests. | [optional] 9 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | 14 | -------------------------------------------------------------------------------- /api/client/src/docs/ListOfficialImagesResponseContent.md: -------------------------------------------------------------------------------- 1 | # ListOfficialImagesResponseContent 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **images** | [**[AmiInfo]**](AmiInfo.md) | | 8 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /api/client/src/docs/LogEvent.md: -------------------------------------------------------------------------------- 1 | # LogEvent 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **timestamp** | **datetime** | | 8 | **message** | **str** | | 9 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | 14 | -------------------------------------------------------------------------------- /api/client/src/docs/LoginNodesState.md: -------------------------------------------------------------------------------- 1 | # LoginNodesState 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **value** | **str** | | must be one of ["pending", "active", "failed", ] 8 | 9 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 10 | 11 | 12 | -------------------------------------------------------------------------------- /api/client/src/docs/Metadata.md: -------------------------------------------------------------------------------- 1 | # Metadata 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **name** | **str** | | [optional] 8 | **version** | **str** | | [optional] 9 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | 14 | -------------------------------------------------------------------------------- /api/client/src/docs/NodeType.md: -------------------------------------------------------------------------------- 1 | # NodeType 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **value** | **str** | | must be one of ["HeadNode", "ComputeNode", "LoginNode", ] 8 | 9 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 10 | 11 | 12 | -------------------------------------------------------------------------------- /api/client/src/docs/NotFoundExceptionResponseContent.md: -------------------------------------------------------------------------------- 1 | # NotFoundExceptionResponseContent 2 | 3 | This exception is thrown when the requested entity is not found. 4 | 5 | ## Properties 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **message** | **str** | | [optional] 9 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | 14 | -------------------------------------------------------------------------------- /api/client/src/docs/RequestedComputeFleetStatus.md: -------------------------------------------------------------------------------- 1 | # RequestedComputeFleetStatus 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **value** | **str** | | must be one of ["START_REQUESTED", "STOP_REQUESTED", "ENABLED", "DISABLED", ] 8 | 9 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 10 | 11 | 12 | -------------------------------------------------------------------------------- /api/client/src/docs/Scheduler.md: -------------------------------------------------------------------------------- 1 | # Scheduler 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **type** | **str** | | 8 | **metadata** | [**Metadata**](Metadata.md) | | [optional] 9 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | 14 | -------------------------------------------------------------------------------- /api/client/src/docs/Tag.md: -------------------------------------------------------------------------------- 1 | # Tag 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **key** | **str** | Tag name | [optional] 8 | **value** | **str** | Tag value | [optional] 9 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | 14 | -------------------------------------------------------------------------------- /api/client/src/docs/UnauthorizedClientErrorResponseContent.md: -------------------------------------------------------------------------------- 1 | # UnauthorizedClientErrorResponseContent 2 | 3 | This exception is thrown when the client is not authorized to perform an action. 4 | 5 | ## Properties 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **message** | **str** | | [optional] 9 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | 14 | -------------------------------------------------------------------------------- /api/client/src/docs/UpdateClusterRequestContent.md: -------------------------------------------------------------------------------- 1 | # UpdateClusterRequestContent 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **cluster_configuration** | **str** | Cluster configuration as a YAML document. | 8 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /api/client/src/docs/UpdateComputeFleetRequestContent.md: -------------------------------------------------------------------------------- 1 | # UpdateComputeFleetRequestContent 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **status** | [**RequestedComputeFleetStatus**](RequestedComputeFleetStatus.md) | | 8 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /api/client/src/docs/UpdateError.md: -------------------------------------------------------------------------------- 1 | # UpdateError 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **parameter** | **str** | | [optional] 8 | **current_value** | **str** | | [optional] 9 | **requested_value** | **str** | | [optional] 10 | **message** | **str** | | [optional] 11 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 12 | 13 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 14 | 15 | 16 | -------------------------------------------------------------------------------- /api/client/src/docs/ValidationLevel.md: -------------------------------------------------------------------------------- 1 | # ValidationLevel 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **value** | **str** | | must be one of ["INFO", "WARNING", "ERROR", ] 8 | 9 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 10 | 11 | 12 | -------------------------------------------------------------------------------- /api/client/src/pcluster_client/api/__init__.py: -------------------------------------------------------------------------------- 1 | # do not import all apis into this module because that uses a lot of memory and stack frames 2 | # if you need the ability to import all apis from one package, import them with 3 | # from pcluster_client.apis import ClusterComputeFleetApi 4 | -------------------------------------------------------------------------------- /api/client/src/pcluster_client/model/__init__.py: -------------------------------------------------------------------------------- 1 | # we can not import model classes here because that would create a circular 2 | # reference which would not work in python2 3 | # do not import all models into this module because that uses a lot of memory and stack frames 4 | # if you need the ability to import all models from one package, import them with 5 | # from pcluster_client.models import ModelA, ModelB 6 | -------------------------------------------------------------------------------- /api/client/src/requirements.txt: -------------------------------------------------------------------------------- 1 | python_dateutil >= 2.5.3 2 | setuptools >= 21.0.0 3 | urllib3 >= 1.26.6 4 | boto3>=1.16.14 5 | -------------------------------------------------------------------------------- /api/client/src/setup.cfg: -------------------------------------------------------------------------------- 1 | [flake8] 2 | max-line-length=99 3 | -------------------------------------------------------------------------------- /api/client/src/test-requirements.txt: -------------------------------------------------------------------------------- 1 | pytest-cov>=2.8.1 2 | -------------------------------------------------------------------------------- /api/client/src/test/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/api/client/src/test/__init__.py -------------------------------------------------------------------------------- /api/client/src/tox.ini: -------------------------------------------------------------------------------- 1 | [tox] 2 | envlist = py3 3 | 4 | [testenv] 5 | deps=-r{toxinidir}/requirements.txt 6 | -r{toxinidir}/test-requirements.txt 7 | 8 | commands= 9 | pytest --cov=pcluster_client 10 | -------------------------------------------------------------------------------- /api/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/api/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /api/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.8-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /api/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * This file was generated by the Gradle 'init' task. 3 | * 4 | * The settings file is used to specify which projects to include in your build. 5 | * 6 | * Detailed information about configuring a multi-project build in Gradle can be found 7 | * in the user manual at https://docs.gradle.org/6.8/userguide/multi_project_builds.html 8 | */ 9 | 10 | rootProject.name = "api" 11 | -------------------------------------------------------------------------------- /api/spec/build-model.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -ex 3 | 4 | if ! command -v yq &> /dev/null 5 | then 6 | echo "Please install yq: https://mikefarah.gitbook.io/yq/" 7 | echo " GO111MODULE=on go get github.com/mikefarah/yq/v4; export PATH=\$PATH:~/go/bin" 8 | exit 1 9 | fi 10 | pushd smithy && ../../gradlew build && popd 11 | GENERATED_JSON_PATH="smithy/build/smithyprojections/smithy/source/openapi/ParallelCluster.openapi.json" 12 | ./spec_overrides.sh "$GENERATED_JSON_PATH" 13 | # Convert json into yaml 14 | yq eval -P $GENERATED_JSON_PATH -o yaml > openapi/ParallelCluster.openapi.yaml 15 | -------------------------------------------------------------------------------- /api/spec/generate-redoc-bundle.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -e 3 | 4 | if ! command -v redoc-cli &> /dev/null 5 | then 6 | echo "Please install redoc-cli: npm install -g redoc-cli" 7 | exit 8 | fi 9 | cd openapi 10 | redoc-cli bundle ParallelCluster.openapi.yaml -o ParallelCluster.openapi.redoc.html 11 | echo "Generated redoc bundle: spec/openapi/ParallelCluster.openapi.redoc.html" 12 | -------------------------------------------------------------------------------- /api/spec/openapi/.gitignore: -------------------------------------------------------------------------------- 1 | *.redoc.html 2 | -------------------------------------------------------------------------------- /api/spec/run-swagger-ui.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -ex 3 | 4 | docker run -p 8080:8080 -e URL=docs/ParallelCluster.openapi.yaml --name pcluster-swagger-ui -v "$(pwd)/openapi":/usr/share/nginx/html/docs/ swaggerapi/swagger-ui 5 | -------------------------------------------------------------------------------- /api/spec/smithy/.gitignore: -------------------------------------------------------------------------------- 1 | build 2 | .gradle 3 | smithy-vscode 4 | -------------------------------------------------------------------------------- /api/spec/smithy/gradle.properties: -------------------------------------------------------------------------------- 1 | smithyVersion=1.23.0 2 | -------------------------------------------------------------------------------- /api/spec/smithy/model/resources/ImageResource.smithy: -------------------------------------------------------------------------------- 1 | namespace parallelcluster 2 | 3 | resource OfficialImage { 4 | operations: [ListOfficialImages] 5 | } 6 | 7 | resource CustomImage { 8 | identifiers: { imageId: ImageId }, 9 | put: BuildImage, 10 | list: ListImages, 11 | read: DescribeImage, 12 | delete: DeleteImage, 13 | } 14 | 15 | resource ImageLogStream { 16 | identifiers: { imageId: ImageId, logStreamName: LogStreamName }, 17 | list: ListImageLogStreams, 18 | read: GetImageLogEvents 19 | } 20 | 21 | resource ImageStackEvents { 22 | identifiers: { imageId: ImageId}, 23 | read: GetImageStackEvents 24 | } 25 | -------------------------------------------------------------------------------- /api/spec/smithy/model/types/LoginNodesPool.smithy: -------------------------------------------------------------------------------- 1 | namespace parallelcluster 2 | 3 | @enum([ 4 | {name: "PENDING", value: "pending"}, 5 | {name: "ACTIVE", value: "active"}, 6 | {name: "FAILED", value: "failed"}, 7 | ]) 8 | string LoginNodesState 9 | 10 | list LoginNodes { 11 | member: LoginNodesPool 12 | } 13 | 14 | structure LoginNodesPool { 15 | @required 16 | status: LoginNodesState, 17 | poolName: String 18 | address: String, 19 | scheme: String, 20 | healthyNodes: Integer, 21 | unhealthyNodes: Integer, 22 | } 23 | -------------------------------------------------------------------------------- /api/spec/smithy/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * This file was generated by the Gradle 'init' task. 3 | * 4 | * The settings file is used to specify which projects to include in your build. 5 | * 6 | * Detailed information about configuring a multi-project build in Gradle can be found 7 | * in the user manual at https://docs.gradle.org/6.8/userguide/multi_project_builds.html 8 | */ 9 | 10 | rootProject.name = "smithy" 11 | -------------------------------------------------------------------------------- /api/spec/smithy/smithy-build.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0", 3 | "plugins": { 4 | "openapi": { 5 | "service": "parallelcluster#ParallelCluster", 6 | "apiGatewayType": "REST", 7 | "protocol": "aws.protocols#restJson1", 8 | "tags": true, 9 | "defaultTimestampFormat": "date-time", 10 | "useIntegerType": true 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /api/spec/spec_overrides.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -ex 3 | 4 | YAML_PATH=$1 5 | INDEX="$(yq '.paths["/v3/clusters/{clusterName}/logstreams"].get.parameters.[] | select(.name == "filters") | path | .[-1]' "$YAML_PATH")" 6 | export INDEX 7 | yq e -i '.paths["/v3/clusters/{clusterName}/logstreams"].get.parameters[env(INDEX)].style = "spaceDelimited"' "$YAML_PATH" 8 | -------------------------------------------------------------------------------- /api/tox.ini: -------------------------------------------------------------------------------- 1 | [tox] 2 | toxworkdir = ../.tox 3 | envlist = cfn-lint 4 | 5 | # Validate CloudFormation yaml/json templates: https://github.com/awslabs/cfn-python-lint. 6 | [testenv:cfn-lint] 7 | basepython = python3 8 | skip_install = true 9 | changedir = ./infrastructure 10 | deps = cfn-lint 11 | commands = cfn-lint --info parallelcluster-api.yaml -------------------------------------------------------------------------------- /awsbatch-cli/.bandit.ini: -------------------------------------------------------------------------------- 1 | skips: [] 2 | -------------------------------------------------------------------------------- /awsbatch-cli/.isort.cfg: -------------------------------------------------------------------------------- 1 | [settings] 2 | line_length=120 3 | known_third_party=boto3,botocore,awscli,tabulate,argparse,configparser,pytest,pytest,pytest-datadir,pytest-html,pytest-rerunfailures,pytest-xdist,argparse,retrying,junitparser 4 | # 3 - Vertical Hanging Indent 5 | # from third_party import ( 6 | # lib1, 7 | # lib2, 8 | # lib3, 9 | # lib4, 10 | # ) 11 | multi_line_output=3 12 | include_trailing_comma=true 13 | profile=black -------------------------------------------------------------------------------- /awsbatch-cli/MANIFEST.in: -------------------------------------------------------------------------------- 1 | recursive-include src/awsbatch/examples * 2 | recursive-exclude tests * 3 | -------------------------------------------------------------------------------- /awsbatch-cli/requirements.txt: -------------------------------------------------------------------------------- 1 | boto3>=1.16.14 2 | tabulate>=0.8.8,<=0.8.10 3 | -------------------------------------------------------------------------------- /awsbatch-cli/src/awsbatch/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance 4 | # with the License. A copy of the License is located at 5 | # 6 | # http://aws.amazon.com/apache2.0/ 7 | # 8 | # or in the "LICENSE.txt" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 9 | # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions and 10 | # limitations under the License. 11 | -------------------------------------------------------------------------------- /awsbatch-cli/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance 4 | # with the License. A copy of the License is located at 5 | # 6 | # http://aws.amazon.com/apache2.0/ 7 | # 8 | # or in the "LICENSE.txt" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 9 | # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions and 10 | # limitations under the License. 11 | -------------------------------------------------------------------------------- /awsbatch-cli/tests/awsbatch/data/aws_api_responses/batch_list-jobs_PENDING.json: -------------------------------------------------------------------------------- 1 | { 2 | "jobSummaryList": [ 3 | { 4 | "status": "PENDING", 5 | "jobName": "array-pending", 6 | "arrayProperties": { 7 | "size": 2 8 | }, 9 | "createdAt": 1543502792241, 10 | "jobId": "11aa9096-1e98-4a7c-a44b-5ac3442df177" 11 | } 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /awsbatch-cli/tests/awsbatch/data/aws_api_responses/batch_list-jobs_RUNNABLE.json: -------------------------------------------------------------------------------- 1 | { 2 | "jobSummaryList": [ 3 | { 4 | "status": "RUNNABLE", 5 | "jobName": "mnp-runnable", 6 | "nodeProperties": { 7 | "numNodes": 2 8 | }, 9 | "createdAt": 1543502756194, 10 | "jobId": "77712b12-71eb-4007-a865-85f05de13a71" 11 | }, 12 | { 13 | "status": "RUNNABLE", 14 | "jobName": "simple-runnable", 15 | "createdAt": 1543502788789, 16 | "jobId": "46a77495-55af-461c-ab5b-7f4e16de34d9" 17 | } 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /awsbatch-cli/tests/awsbatch/data/aws_api_responses/batch_list-jobs_RUNNING.json: -------------------------------------------------------------------------------- 1 | { 2 | "jobSummaryList": [ 3 | { 4 | "status": "RUNNING", 5 | "container": {}, 6 | "jobName": "simple-running", 7 | "startedAt": 1543503613655, 8 | "jobId": "12300bd2-4174-47be-8636-8f6e6da4b544", 9 | "createdAt": 1543503601952 10 | }, 11 | { 12 | "status": "RUNNING", 13 | "container": {}, 14 | "jobName": "mnp-running", 15 | "nodeProperties": { 16 | "numNodes": 2 17 | }, 18 | "startedAt": 1543504200319, 19 | "jobId": "qwerfcbc-2647-4d8b-a1ef-da65bffe0dd0", 20 | "createdAt": 1543503637389 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /awsbatch-cli/tests/awsbatch/data/aws_api_responses/batch_list-jobs_STARTING.json: -------------------------------------------------------------------------------- 1 | { 2 | "jobSummaryList": [ 3 | { 4 | "status": "STARTING", 5 | "jobName": "simple-starting", 6 | "container": {}, 7 | "createdAt": 1543503601952, 8 | "jobId": "aaaaabd2-4174-47be-8636-8f6e6da4b544" 9 | }, 10 | { 11 | "status": "STARTING", 12 | "jobName": "mnp-script-starting", 13 | "nodeProperties": { 14 | "numNodes": 2 15 | }, 16 | "createdAt": 1543503637389, 17 | "jobId": "bbbbbcbc-2647-4d8b-a1ef-da65bffe0dd0" 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /awsbatch-cli/tests/awsbatch/data/aws_api_responses/batch_list-jobs_SUBMITTED.json: -------------------------------------------------------------------------------- 1 | { 2 | "jobSummaryList": [ 3 | { 4 | "status": "SUBMITTED", 5 | "jobName": "simple-submitted", 6 | "createdAt": 1543502871822, 7 | "jobId": "16bbae76-1891-4fc3-cccc-51822b35e63d" 8 | }, 9 | { 10 | "status": "SUBMITTED", 11 | "jobName": "mnp-submitted", 12 | "nodeProperties": { 13 | "numNodes": 2 14 | }, 15 | "createdAt": 1543502877929, 16 | "jobId": "3c6ee190-9121-464e-a0ac-62e4084e6bf1" 17 | } 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /awsbatch-cli/tests/awsbatch/test_awsbstat/TestOutput/test_no_jobs_all_status/expected_output.txt: -------------------------------------------------------------------------------- 1 | jobId jobName status startedAt stoppedAt exitCode 2 | ------- --------- -------- ----------- ----------- ---------- 3 | -------------------------------------------------------------------------------- /awsbatch-cli/tests/awsbatch/test_awsbstat/TestOutput/test_no_jobs_default_status/expected_output.txt: -------------------------------------------------------------------------------- 1 | jobId jobName status startedAt stoppedAt exitCode 2 | ------- --------- -------- ----------- ----------- ---------- 3 | -------------------------------------------------------------------------------- /awsbatch-cli/tests/awsbatch/test_awsbstat/TestOutput/test_single_mnp_job/expected_output.txt: -------------------------------------------------------------------------------- 1 | jobId jobName status startedAt stoppedAt exitCode 2 | --------------------------------------- --------- --------- ------------------------- ------------------------- ---------- 3 | 6abf3ecd-07a8-4faa-8a65-79e7404eb50f *2 mnp SUCCEEDED 2018-12-03T11:28:32+00:00 2018-12-03T11:29:46+00:00 - 4 | 6abf3ecd-07a8-4faa-8a65-79e7404eb50f#0 mnp SUCCEEDED 2018-12-03T11:28:32+00:00 2018-12-03T11:29:46+00:00 0 5 | 6abf3ecd-07a8-4faa-8a65-79e7404eb50f#1 mnp SUCCEEDED 2018-12-03T11:29:14+00:00 2018-12-03T11:29:27+00:00 0 6 | -------------------------------------------------------------------------------- /awsbatch-cli/tests/requirements.txt: -------------------------------------------------------------------------------- 1 | pytest 2 | pytest-cov 3 | pytest-datadir 4 | pytest-html 5 | pytest-mock 6 | pytest-xdist 7 | assertpy 8 | recordclass 9 | -------------------------------------------------------------------------------- /awsbatch-cli/tests/utils.py: -------------------------------------------------------------------------------- 1 | from collections import namedtuple 2 | 3 | MockedBoto3Request = namedtuple( 4 | "MockedBoto3Request", ["method", "response", "expected_params", "generate_error", "error_code"] 5 | ) 6 | # Set defaults for attributes of the namedtuple. Since fields with a default value must come after any fields without 7 | # a default, the defaults are applied to the rightmost parameters. In this case generate_error = False and 8 | # error_code = None 9 | MockedBoto3Request.__new__.__defaults__ = (False, None) 10 | 11 | 12 | def read_text(path): 13 | """Read the content of a file.""" 14 | with path.open() as f: 15 | return f.read() 16 | -------------------------------------------------------------------------------- /cli/.bandit.ini: -------------------------------------------------------------------------------- 1 | skips: [] 2 | -------------------------------------------------------------------------------- /cli/.isort.cfg: -------------------------------------------------------------------------------- 1 | [settings] 2 | line_length=120 3 | known_third_party=boto3,botocore,awscli,tabulate,argparse,configparser,pytest,pytest,pytest-datadir,pytest-html,pytest-rerunfailures,pytest-xdist,argparse,retrying,junitparser,Jinja2 4 | # 3 - Vertical Hanging Indent 5 | # from third_party import ( 6 | # lib1, 7 | # lib2, 8 | # lib3, 9 | # lib4, 10 | # ) 11 | multi_line_output=3 12 | include_trailing_comma=true 13 | skip=pcluster/resources/custom_resources/custom_resources_code/crhelper 14 | profile=black -------------------------------------------------------------------------------- /cli/MANIFEST.in: -------------------------------------------------------------------------------- 1 | recursive-include src/pcluster/api/openapi * 2 | recursive-include src/pcluster/resources * 3 | recursive-exclude tests * 4 | -------------------------------------------------------------------------------- /cli/src/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance 4 | # with the License. A copy of the License is located at 5 | # 6 | # http://aws.amazon.com/apache2.0/ 7 | # 8 | # or in the "LICENSE.txt" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 9 | # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions and 10 | # limitations under the License. 11 | -------------------------------------------------------------------------------- /cli/src/pcluster/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2013-2014 Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance 4 | # with the License. A copy of the License is located at 5 | # 6 | # http://aws.amazon.com/apache2.0/ 7 | # 8 | # or in the "LICENSE.txt" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 9 | # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions and 10 | # limitations under the License. 11 | -------------------------------------------------------------------------------- /cli/src/pcluster/api/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/cli/src/pcluster/api/__init__.py -------------------------------------------------------------------------------- /cli/src/pcluster/api/awslambda/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance 4 | # with the License. A copy of the License is located at 5 | # 6 | # http://aws.amazon.com/apache2.0/ 7 | # 8 | # or in the "LICENSE.txt" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 9 | # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions and 10 | # limitations under the License. 11 | -------------------------------------------------------------------------------- /cli/src/pcluster/api/controllers/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance 4 | # with the License. A copy of the License is located at http://aws.amazon.com/apache2.0/ 5 | # or in the "LICENSE.txt" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 6 | # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions and 7 | # limitations under the License. 8 | -------------------------------------------------------------------------------- /cli/src/pcluster/api/openapi/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/cli/src/pcluster/api/openapi/__init__.py -------------------------------------------------------------------------------- /cli/src/pcluster/aws/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/cli/src/pcluster/aws/__init__.py -------------------------------------------------------------------------------- /cli/src/pcluster/cli/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance 4 | # with the License. A copy of the License is located at 5 | # 6 | # http://aws.amazon.com/apache2.0/ 7 | # 8 | # or in the "LICENSE.txt" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 9 | # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions and 10 | # limitations under the License. 11 | -------------------------------------------------------------------------------- /cli/src/pcluster/cli/commands/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance 4 | # with the License. A copy of the License is located at 5 | # 6 | # http://aws.amazon.com/apache2.0/ 7 | # 8 | # or in the "LICENSE.txt" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 9 | # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions and 10 | # limitations under the License. 11 | -------------------------------------------------------------------------------- /cli/src/pcluster/cli/commands/configure/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/cli/src/pcluster/cli/commands/configure/__init__.py -------------------------------------------------------------------------------- /cli/src/pcluster/config/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/cli/src/pcluster/config/__init__.py -------------------------------------------------------------------------------- /cli/src/pcluster/models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/cli/src/pcluster/models/__init__.py -------------------------------------------------------------------------------- /cli/src/pcluster/networking/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2018-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance 4 | # with the License. A copy of the License is located at 5 | # 6 | # http://aws.amazon.com/apache2.0/ 7 | # 8 | # or in the "LICENSE.txt" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 9 | # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions and 10 | # limitations under the License. 11 | -------------------------------------------------------------------------------- /cli/src/pcluster/resources/batch/docker/buildspec.yml: -------------------------------------------------------------------------------- 1 | version: 0.2 2 | 3 | phases: 4 | pre_build: 5 | commands: 6 | - echo Logging in to Amazon ECR... 7 | - $(aws ecr get-login --no-include-email --region $AWS_DEFAULT_REGION) 8 | build: 9 | commands: 10 | - echo Build started on `date` 11 | - echo Building the Docker images... 12 | - sh ./build-docker-images.sh 13 | - echo Build completed on `date` 14 | post_build: 15 | commands: 16 | - if [ $CODEBUILD_BUILD_SUCCEEDING = 0 ]; then echo Build failed; exit 1; fi 17 | - echo Pushing the Docker images... 18 | - sh ./upload-docker-images.sh 19 | -------------------------------------------------------------------------------- /cli/src/pcluster/resources/custom_resources/custom_resources_code/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance 4 | # with the License. A copy of the License is located at 5 | # 6 | # http://aws.amazon.com/apache2.0/ 7 | # 8 | # or in the "LICENSE.txt" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 9 | # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions and 10 | # limitations under the License. 11 | -------------------------------------------------------------------------------- /cli/src/pcluster/resources/custom_resources/custom_resources_code/crhelper/NOTICE: -------------------------------------------------------------------------------- 1 | Custom Resource Helper 2 | Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | -------------------------------------------------------------------------------- /cli/src/pcluster/resources/custom_resources/custom_resources_code/crhelper/__init__.py: -------------------------------------------------------------------------------- 1 | # flake8: noqa 2 | from crhelper.resource_helper import FAILED, SUCCESS, CfnResource 3 | -------------------------------------------------------------------------------- /cli/src/pcluster/resources/imagebuilder/parallelcluster_validate.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/cli/src/pcluster/resources/imagebuilder/parallelcluster_validate.yaml -------------------------------------------------------------------------------- /cli/src/pcluster/resources/supported-regions: -------------------------------------------------------------------------------- 1 | af-south-1 2 | ap-east-1 3 | ap-northeast-1 4 | ap-northeast-2 5 | ap-south-1 6 | ap-southeast-1 7 | ap-southeast-2 8 | ap-southeast-3 9 | ap-southeast-5 10 | ap-southeast-7 11 | ca-central-1 12 | cn-north-1 13 | cn-northwest-1 14 | eu-central-1 15 | eu-north-1 16 | eu-south-1 17 | eu-west-1 18 | eu-west-2 19 | eu-west-3 20 | il-central-1 21 | me-south-1 22 | sa-east-1 23 | us-east-1 24 | us-east-2 25 | us-iso-east-1 26 | us-iso-west-1 27 | us-isob-east-1 28 | us-gov-east-1 29 | us-gov-west-1 30 | us-west-1 31 | us-west-2 32 | -------------------------------------------------------------------------------- /cli/src/pcluster/schemas/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance 4 | # with the License. A copy of the License is located at 5 | # 6 | # http://aws.amazon.com/apache2.0/ 7 | # 8 | # or in the "LICENSE.txt" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 9 | # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions and 10 | # limitations under the License. 11 | -------------------------------------------------------------------------------- /cli/src/pcluster/templates/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance 4 | # with the License. A copy of the License is located at 5 | # 6 | # http://aws.amazon.com/apache2.0/ 7 | # 8 | # or in the "LICENSE.txt" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 9 | # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions and 10 | # limitations under the License. 11 | -------------------------------------------------------------------------------- /cli/src/pcluster/validators/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance 4 | # with the License. A copy of the License is located at 5 | # 6 | # http://aws.amazon.com/apache2.0/ 7 | # 8 | # or in the "LICENSE.txt" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 9 | # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions and 10 | # limitations under the License. 11 | -------------------------------------------------------------------------------- /cli/src/pcluster3_config_converter/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance 4 | # with the License. A copy of the License is located at 5 | # 6 | # http://aws.amazon.com/apache2.0/ 7 | # 8 | # or in the "LICENSE.txt" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 9 | # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions and 10 | # limitations under the License. 11 | -------------------------------------------------------------------------------- /cli/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance 4 | # with the License. A copy of the License is located at 5 | # 6 | # http://aws.amazon.com/apache2.0/ 7 | # 8 | # or in the "LICENSE.txt" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 9 | # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions and 10 | # limitations under the License. 11 | -------------------------------------------------------------------------------- /cli/tests/pcluster/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance 4 | # with the License. A copy of the License is located at 5 | # 6 | # http://aws.amazon.com/apache2.0/ 7 | # 8 | # or in the "LICENSE.txt" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 9 | # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions and 10 | # limitations under the License. 11 | -------------------------------------------------------------------------------- /cli/tests/pcluster/api/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance 4 | # with the License. A copy of the License is located at http://aws.amazon.com/apache2.0/ 5 | # or in the "LICENSE.txt" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 6 | # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions and 7 | # limitations under the License. 8 | -------------------------------------------------------------------------------- /cli/tests/pcluster/api/awslambda/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance 4 | # with the License. A copy of the License is located at http://aws.amazon.com/apache2.0/ 5 | # or in the "LICENSE.txt" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 6 | # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions and 7 | # limitations under the License. 8 | -------------------------------------------------------------------------------- /cli/tests/pcluster/api/controllers/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance 4 | # with the License. A copy of the License is located at http://aws.amazon.com/apache2.0/ 5 | # or in the "LICENSE.txt" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 6 | # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions and 7 | # limitations under the License. 8 | -------------------------------------------------------------------------------- /cli/tests/pcluster/api/controllers/utils.py: -------------------------------------------------------------------------------- 1 | from assertpy import assert_that 2 | 3 | from pcluster.api.errors import BadRequestException 4 | from pcluster.constants import Operation 5 | 6 | 7 | def mock_assert_supported_operation(mocker, path: str): 8 | return mocker.patch(path, side_effect=BadRequestException("ERROR MESSAGE")) 9 | 10 | 11 | def verify_unsupported_operation(mocked_assertion, operation: Operation, region: str, response): 12 | mocked_assertion.assert_called_once() 13 | mocked_assertion.assert_called_with(operation=operation, region=region) 14 | assert_that(response.status_code).is_equal_to(400) 15 | assert_that(response.get_json()["message"]).matches("ERROR MESSAGE") 16 | -------------------------------------------------------------------------------- /cli/tests/pcluster/aws/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/cli/tests/pcluster/aws/__init__.py -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/cli/tests/pcluster/cli/configure/__init__.py -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_disabled_efa_no_placement_group/error.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/cli/tests/pcluster/cli/configure/test_pcluster_configure/test_disabled_efa_no_placement_group/error.txt -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_disabled_efa_no_placement_group/pcluster.config.yaml: -------------------------------------------------------------------------------- 1 | Region: eu-west-1 2 | Image: 3 | Os: alinux2 4 | HeadNode: 5 | InstanceType: t3.nano 6 | Networking: 7 | SubnetId: subnet-12345678 8 | Ssh: 9 | KeyName: key1 10 | Scheduling: 11 | Scheduler: slurm 12 | SlurmQueues: 13 | - Name: myqueue 14 | ComputeResources: 15 | - Name: c5n18xlarge 16 | Instances: 17 | - InstanceType: c5n.18xlarge 18 | MinCount: 0 19 | MaxCount: 10 20 | Efa: 21 | Enabled: false 22 | Networking: 23 | SubnetIds: 24 | - subnet-23456789 25 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_efa_not_supported/error.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/cli/tests/pcluster/cli/configure/test_pcluster_configure/test_efa_not_supported/error.txt -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_efa_not_supported/pcluster.config.yaml: -------------------------------------------------------------------------------- 1 | Region: eu-west-1 2 | Image: 3 | Os: alinux2 4 | HeadNode: 5 | InstanceType: t3.nano 6 | Networking: 7 | SubnetId: subnet-12345678 8 | Ssh: 9 | KeyName: key1 10 | Scheduling: 11 | Scheduler: slurm 12 | SlurmQueues: 13 | - Name: myqueue 14 | ComputeResources: 15 | - Name: c5n18xlarge 16 | Instances: 17 | - InstanceType: c5n.18xlarge 18 | MinCount: 0 19 | MaxCount: 10 20 | Networking: 21 | SubnetIds: 22 | - subnet-23456789 23 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_enabled_efa_default_placement_group/error.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/cli/tests/pcluster/cli/configure/test_pcluster_configure/test_enabled_efa_default_placement_group/error.txt -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_enabled_efa_existing_placement_group/error.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/cli/tests/pcluster/cli/configure/test_pcluster_configure/test_enabled_efa_existing_placement_group/error.txt -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_enabled_efa_non_existent_placement_group/error.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/cli/tests/pcluster/cli/configure/test_pcluster_configure/test_enabled_efa_non_existent_placement_group/error.txt -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_filtered_subnets_by_az/error.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/cli/tests/pcluster/cli/configure/test_pcluster_configure/test_filtered_subnets_by_az/error.txt -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_filtered_subnets_by_az/pcluster.config.yaml: -------------------------------------------------------------------------------- 1 | Region: us-east-1 2 | Image: 3 | Os: alinux2 4 | HeadNode: 5 | InstanceType: t3.micro 6 | Networking: 7 | SubnetId: subnet-45678912 8 | Ssh: 9 | KeyName: key1 10 | Scheduling: 11 | Scheduler: slurm 12 | SlurmQueues: 13 | - Name: myqueue 14 | ComputeResources: 15 | - Name: t3micro 16 | Instances: 17 | - InstanceType: t3.micro 18 | MinCount: 0 19 | MaxCount: 10 20 | Networking: 21 | SubnetIds: 22 | - subnet-45678912 23 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_no_automation_no_awsbatch_no_errors/error.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/cli/tests/pcluster/cli/configure/test_pcluster_configure/test_no_automation_no_awsbatch_no_errors/error.txt -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_no_automation_no_awsbatch_no_errors/pcluster.config.yaml: -------------------------------------------------------------------------------- 1 | Region: eu-west-1 2 | Image: 3 | Os: alinux2 4 | HeadNode: 5 | InstanceType: t3.nano 6 | Networking: 7 | SubnetId: subnet-12345678 8 | Ssh: 9 | KeyName: key1 10 | Scheduling: 11 | Scheduler: slurm 12 | SlurmQueues: 13 | - Name: myqueue 14 | ComputeResources: 15 | - Name: t3micro 16 | Instances: 17 | - InstanceType: t3.micro 18 | MinCount: 0 19 | MaxCount: 14 20 | Networking: 21 | SubnetIds: 22 | - subnet-23456789 23 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_no_automation_yes_awsbatch_no_errors/error.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/cli/tests/pcluster/cli/configure/test_pcluster_configure/test_no_automation_yes_awsbatch_no_errors/error.txt -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_no_automation_yes_awsbatch_no_errors/pcluster.config.yaml: -------------------------------------------------------------------------------- 1 | Region: eu-west-1 2 | Image: 3 | Os: alinux2 4 | HeadNode: 5 | InstanceType: t3.nano 6 | Networking: 7 | SubnetId: subnet-12345678 8 | Ssh: 9 | KeyName: key1 10 | Imds: 11 | Secured: false 12 | Scheduling: 13 | Scheduler: awsbatch 14 | AwsBatchQueues: 15 | - Name: myqueue 16 | ComputeResources: 17 | - Name: optimal 18 | InstanceTypes: 19 | - optimal 20 | MinvCpus: 0 21 | DesiredvCpus: 0 22 | MaxvCpus: 14 23 | Networking: 24 | SubnetIds: 25 | - subnet-23456789 26 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_no_input_no_automation_no_errors/error.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/cli/tests/pcluster/cli/configure/test_pcluster_configure/test_no_input_no_automation_no_errors/error.txt -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_no_input_no_automation_no_errors/pcluster.config.yaml: -------------------------------------------------------------------------------- 1 | Region: us-east-1 2 | Image: 3 | Os: alinux2 4 | HeadNode: 5 | InstanceType: t3.micro 6 | Networking: 7 | SubnetId: subnet-12345678 8 | Ssh: 9 | KeyName: key1 10 | Scheduling: 11 | Scheduler: slurm 12 | SlurmQueues: 13 | - Name: myqueue 14 | ComputeResources: 15 | - Name: t3micro 16 | Instances: 17 | - InstanceType: t3.micro 18 | MinCount: 0 19 | MaxCount: 10 20 | Networking: 21 | SubnetIds: 22 | - subnet-12345678 23 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_subnet_automation_no_awsbatch_no_errors/error.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/cli/tests/pcluster/cli/configure/test_pcluster_configure/test_subnet_automation_no_awsbatch_no_errors/error.txt -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_subnet_automation_no_awsbatch_no_errors/pcluster.config.yaml: -------------------------------------------------------------------------------- 1 | Region: eu-west-1 2 | Image: 3 | Os: alinux2 4 | HeadNode: 5 | InstanceType: t3.nano 6 | Networking: 7 | SubnetId: subnet-12345678 8 | Ssh: 9 | KeyName: key1 10 | Scheduling: 11 | Scheduler: slurm 12 | SlurmQueues: 13 | - Name: myqueue 14 | ComputeResources: 15 | - Name: t3micro 16 | Instances: 17 | - InstanceType: t3.micro 18 | MinCount: 0 19 | MaxCount: 14 20 | Networking: 21 | SubnetIds: 22 | - subnet-23456789 23 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_subnet_automation_no_awsbatch_no_errors_empty_vpc/error.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/cli/tests/pcluster/cli/configure/test_pcluster_configure/test_subnet_automation_no_awsbatch_no_errors_empty_vpc/error.txt -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_subnet_automation_no_awsbatch_no_errors_empty_vpc/pcluster.config.yaml: -------------------------------------------------------------------------------- 1 | Region: eu-west-1 2 | Image: 3 | Os: alinux2 4 | HeadNode: 5 | InstanceType: t3.nano 6 | Networking: 7 | SubnetId: subnet-12345678 8 | Ssh: 9 | KeyName: key1 10 | Scheduling: 11 | Scheduler: slurm 12 | SlurmQueues: 13 | - Name: myqueue 14 | ComputeResources: 15 | - Name: t3micro 16 | Instances: 17 | - InstanceType: t3.micro 18 | MinCount: 0 19 | MaxCount: 14 20 | Networking: 21 | SubnetIds: 22 | - subnet-23456789 23 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_subnet_automation_yes_awsbatch_invalid_vpc/error.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/cli/tests/pcluster/cli/configure/test_pcluster_configure/test_subnet_automation_yes_awsbatch_invalid_vpc/error.txt -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_subnet_automation_yes_awsbatch_invalid_vpc/pcluster.config.yaml: -------------------------------------------------------------------------------- 1 | Region: eu-west-1 2 | Image: 3 | Os: alinux2 4 | HeadNode: 5 | InstanceType: t3.nano 6 | Networking: 7 | SubnetId: subnet-12345678 8 | Ssh: 9 | KeyName: key1 10 | Imds: 11 | Secured: false 12 | Scheduling: 13 | Scheduler: awsbatch 14 | AwsBatchQueues: 15 | - Name: myqueue 16 | ComputeResources: 17 | - Name: optimal 18 | InstanceTypes: 19 | - optimal 20 | MinvCpus: 0 21 | DesiredvCpus: 0 22 | MaxvCpus: 14 23 | Networking: 24 | SubnetIds: 25 | - subnet-23456789 26 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_vpc_automation_no_awsbatch_no_errors/error.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/cli/tests/pcluster/cli/configure/test_pcluster_configure/test_vpc_automation_no_awsbatch_no_errors/error.txt -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_vpc_automation_no_awsbatch_no_errors/pcluster.config.yaml: -------------------------------------------------------------------------------- 1 | Region: eu-west-1 2 | Image: 3 | Os: alinux2 4 | HeadNode: 5 | InstanceType: t3.nano 6 | Networking: 7 | SubnetId: subnet-12345678 8 | Ssh: 9 | KeyName: key1 10 | Scheduling: 11 | Scheduler: slurm 12 | SlurmQueues: 13 | - Name: myqueue 14 | ComputeResources: 15 | - Name: t3micro 16 | Instances: 17 | - InstanceType: t3.micro 18 | MinCount: 0 19 | MaxCount: 14 20 | Networking: 21 | SubnetIds: 22 | - subnet-23456789 23 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_vpc_automation_no_vpc_in_region/error.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/cli/tests/pcluster/cli/configure/test_pcluster_configure/test_vpc_automation_no_vpc_in_region/error.txt -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_vpc_automation_no_vpc_in_region/pcluster.config.yaml: -------------------------------------------------------------------------------- 1 | Region: eu-west-1 2 | Image: 3 | Os: alinux2 4 | HeadNode: 5 | InstanceType: t3.nano 6 | Networking: 7 | SubnetId: subnet-12345678 8 | Ssh: 9 | KeyName: key1 10 | Scheduling: 11 | Scheduler: slurm 12 | SlurmQueues: 13 | - Name: myqueue 14 | ComputeResources: 15 | - Name: t3micro 16 | Instances: 17 | - InstanceType: t3.micro 18 | MinCount: 0 19 | MaxCount: 14 20 | Networking: 21 | SubnetIds: 22 | - subnet-23456789 23 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_vpc_automation_no_vpc_in_region_public/error.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/cli/tests/pcluster/cli/configure/test_pcluster_configure/test_vpc_automation_no_vpc_in_region_public/error.txt -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_vpc_automation_no_vpc_in_region_public/pcluster.config.yaml: -------------------------------------------------------------------------------- 1 | Region: eu-west-1 2 | Image: 3 | Os: alinux2 4 | HeadNode: 5 | InstanceType: t3.nano 6 | Networking: 7 | SubnetId: subnet-12345678 8 | Ssh: 9 | KeyName: key1 10 | Scheduling: 11 | Scheduler: slurm 12 | SlurmQueues: 13 | - Name: myqueue 14 | ComputeResources: 15 | - Name: t3micro 16 | Instances: 17 | - InstanceType: t3.micro 18 | MinCount: 0 19 | MaxCount: 14 20 | Networking: 21 | SubnetIds: 22 | - subnet-12345678 23 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_vpc_automation_yes_awsbatch_no_errors/error.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/cli/tests/pcluster/cli/configure/test_pcluster_configure/test_vpc_automation_yes_awsbatch_no_errors/error.txt -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_vpc_automation_yes_awsbatch_no_errors/pcluster.config.yaml: -------------------------------------------------------------------------------- 1 | Region: eu-west-1 2 | Image: 3 | Os: alinux2 4 | HeadNode: 5 | InstanceType: t3.nano 6 | Networking: 7 | SubnetId: subnet-12345678 8 | Ssh: 9 | KeyName: key1 10 | Imds: 11 | Secured: false 12 | Scheduling: 13 | Scheduler: awsbatch 14 | AwsBatchQueues: 15 | - Name: myqueue 16 | ComputeResources: 17 | - Name: optimal 18 | InstanceTypes: 19 | - optimal 20 | MinvCpus: 0 21 | DesiredvCpus: 0 22 | MaxvCpus: 14 23 | Networking: 24 | SubnetIds: 25 | - subnet-23456789 26 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_with_region_arg/error.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/cli/tests/pcluster/cli/configure/test_pcluster_configure/test_with_region_arg/error.txt -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_with_region_arg/pcluster.config.yaml: -------------------------------------------------------------------------------- 1 | Region: eu-west-1 2 | Image: 3 | Os: alinux2 4 | HeadNode: 5 | InstanceType: t3.nano 6 | Networking: 7 | SubnetId: subnet-12345678 8 | Ssh: 9 | KeyName: key1 10 | Scheduling: 11 | Scheduler: slurm 12 | SlurmQueues: 13 | - Name: myqueue 14 | ComputeResources: 15 | - Name: t3micro 16 | Instances: 17 | - InstanceType: t3.micro 18 | MinCount: 0 19 | MaxCount: 14 20 | Networking: 21 | SubnetIds: 22 | - subnet-23456789 23 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_build_image/TestBuildImageCommand/test_error/config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/cli/tests/pcluster/cli/test_build_image/TestBuildImageCommand/test_error/config.yaml -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_build_image/TestBuildImageCommand/test_execute/config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/cli/tests/pcluster/cli/test_build_image/TestBuildImageCommand/test_execute/config.yaml -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_build_image/TestBuildImageCommand/test_invalid_args/file: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/cli/tests/pcluster/cli/test_build_image/TestBuildImageCommand/test_invalid_args/file -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_build_image/TestBuildImageCommand/test_no_nodejs_error/config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/cli/tests/pcluster/cli/test_build_image/TestBuildImageCommand/test_no_nodejs_error/config.yaml -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_build_image/TestBuildImageCommand/test_nodejs_wrong_version_error/config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/cli/tests/pcluster/cli/test_build_image/TestBuildImageCommand/test_nodejs_wrong_version_error/config.yaml -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_configure/TestConfigureCommand/test_helper/pcluster-help.txt: -------------------------------------------------------------------------------- 1 | usage: pcluster configure [-h] [--debug] [-r REGION] -c CONFIG 2 | 3 | Start the AWS ParallelCluster configuration. 4 | 5 | options: 6 | -h, --help show this help message and exit 7 | --debug Turn on debug logging. 8 | -r REGION, --region REGION 9 | AWS Region this operation corresponds to. 10 | -c CONFIG, --config CONFIG 11 | Path to output the generated config file. 12 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_create_cluster/TestCreateClusterCommand/test_error/config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/cli/tests/pcluster/cli/test_create_cluster/TestCreateClusterCommand/test_error/config.yaml -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_create_cluster/TestCreateClusterCommand/test_execute/config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/cli/tests/pcluster/cli/test_create_cluster/TestCreateClusterCommand/test_execute/config.yaml -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_create_cluster/TestCreateClusterCommand/test_execute_with_wait/config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/cli/tests/pcluster/cli/test_create_cluster/TestCreateClusterCommand/test_execute_with_wait/config.yaml -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_create_cluster/TestCreateClusterCommand/test_invalid_args/config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/cli/tests/pcluster/cli/test_create_cluster/TestCreateClusterCommand/test_invalid_args/config.yaml -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_create_cluster/TestCreateClusterCommand/test_no_nodejs_error/config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/cli/tests/pcluster/cli/test_create_cluster/TestCreateClusterCommand/test_no_nodejs_error/config.yaml -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_create_cluster/TestCreateClusterCommand/test_nodejs_incompatible_version_error/config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/cli/tests/pcluster/cli/test_create_cluster/TestCreateClusterCommand/test_nodejs_incompatible_version_error/config.yaml -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_create_cluster/TestCreateClusterCommand/test_nodejs_wrong_version_error/config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/cli/tests/pcluster/cli/test_create_cluster/TestCreateClusterCommand/test_nodejs_wrong_version_error/config.yaml -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_delete_cluster/TestDeleteClusterCommand/test_helper/pcluster-help.txt: -------------------------------------------------------------------------------- 1 | usage: pcluster delete-cluster [-h] -n CLUSTER_NAME [-r REGION] [--debug] 2 | [--query QUERY] 3 | 4 | Initiate the deletion of a cluster. 5 | 6 | options: 7 | -h, --help show this help message and exit 8 | -n CLUSTER_NAME, --cluster-name CLUSTER_NAME 9 | Name of the cluster 10 | -r REGION, --region REGION 11 | AWS Region that the operation corresponds to. 12 | --debug Turn on debug logging. 13 | --query QUERY JMESPath query to perform on output. 14 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_describe_cluster/TestDescribeClusterCommand/test_helper/pcluster-help.txt: -------------------------------------------------------------------------------- 1 | usage: pcluster describe-cluster [-h] -n CLUSTER_NAME [-r REGION] [--debug] 2 | [--query QUERY] 3 | 4 | Get detailed information about an existing cluster. 5 | 6 | options: 7 | -h, --help show this help message and exit 8 | -n CLUSTER_NAME, --cluster-name CLUSTER_NAME 9 | Name of the cluster 10 | -r REGION, --region REGION 11 | AWS Region that the operation corresponds to. 12 | --debug Turn on debug logging. 13 | --query QUERY JMESPath query to perform on output. 14 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_describe_compute_fleet/TestDescribeComputeFleetCommand/test_helper/pcluster-help.txt: -------------------------------------------------------------------------------- 1 | usage: pcluster describe-compute-fleet [-h] -n CLUSTER_NAME [-r REGION] 2 | [--debug] [--query QUERY] 3 | 4 | Describe the status of the compute fleet. 5 | 6 | options: 7 | -h, --help show this help message and exit 8 | -n CLUSTER_NAME, --cluster-name CLUSTER_NAME 9 | Name of the cluster 10 | -r REGION, --region REGION 11 | AWS Region that the operation corresponds to. 12 | --debug Turn on debug logging. 13 | --query QUERY JMESPath query to perform on output. 14 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_describe_image/TestDescribeImageCommand/test_helper/pcluster-help.txt: -------------------------------------------------------------------------------- 1 | usage: pcluster describe-image [-h] -i IMAGE_ID [-r REGION] [--debug] 2 | [--query QUERY] 3 | 4 | Get detailed information about an existing image. 5 | 6 | options: 7 | -h, --help show this help message and exit 8 | -i IMAGE_ID, --image-id IMAGE_ID 9 | Id of the image. 10 | -r REGION, --region REGION 11 | AWS Region that the operation corresponds to. 12 | --debug Turn on debug logging. 13 | --query QUERY JMESPath query to perform on output. 14 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_entrypoint/TestParallelClusterCli/test_no_command/pcluster-command-error.txt: -------------------------------------------------------------------------------- 1 | usage: pcluster [-h] 2 | {list-clusters,create-cluster,delete-cluster,describe-cluster,update-cluster,describe-compute-fleet,update-compute-fleet,delete-cluster-instances,describe-cluster-instances,list-cluster-log-streams,get-cluster-log-events,get-cluster-stack-events,list-images,build-image,delete-image,describe-image,list-image-log-streams,get-image-log-events,get-image-stack-events,list-official-images,configure,dcv-connect,export-cluster-logs,export-image-logs,ssh,version} 3 | ... 4 | pcluster: error: the following arguments are required: operation 5 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_get_cluster_log_events/TestGetClusterLogEventsCommand/test_execute/pcluster-out.txt: -------------------------------------------------------------------------------- 1 | {"nextToken": "f/3618", "prevToken": "b/3619", "events": [{"message": "2021-06-04 10:33:10,248 [DEBUG] CloudFormation client initialized with endpoint https://cloudformation.eu-west-1.amazonaws.com", "timestamp": "2021-06-04T10:33:10.248Z"}, {"message": "2021-06-04 10:33:10,248 [DEBUG] Describing resource HeadNodeLaunchTemplate in stack test22", "timestamp": "2021-06-04T10:33:10.248Z"}, {"message": "2021-06-04 10:33:10,390 [INFO] -----------------------Starting build-----------------------", "timestamp": "2021-06-04T10:33:10.390Z"}]} 2 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_get_image_log_events/TestGetImageLogEventsCommand/test_execute/pcluster-out.txt: -------------------------------------------------------------------------------- 1 | {"nextToken": "f/3618", "prevToken": "b/3619", "events": [{"message": "2021-06-04 10:33:10,248 [DEBUG] CloudFormation client initialized with endpoint https://cloudformation.eu-west-1.amazonaws.com", "timestamp": "2021-06-04T10:33:10.248Z"}, {"message": "2021-06-04 10:33:10,248 [DEBUG] Describing resource HeadNodeLaunchTemplate in stack test22", "timestamp": "2021-06-04T10:33:10.248Z"}, {"message": "2021-06-04 10:33:10,390 [INFO] -----------------------Starting build-----------------------", "timestamp": "2021-06-04T10:33:10.390Z"}]} 2 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_model/TestCliModel/test_file/file.txt: -------------------------------------------------------------------------------- 1 | asdf 2 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_update_cluster/TestUpdateClusterCommand/test_error/config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/cli/tests/pcluster/cli/test_update_cluster/TestUpdateClusterCommand/test_error/config.yaml -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_update_cluster/TestUpdateClusterCommand/test_execute/config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/cli/tests/pcluster/cli/test_update_cluster/TestUpdateClusterCommand/test_execute/config.yaml -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_update_cluster/TestUpdateClusterCommand/test_execute_with_wait/config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/cli/tests/pcluster/cli/test_update_cluster/TestUpdateClusterCommand/test_execute_with_wait/config.yaml -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_update_cluster/TestUpdateClusterCommand/test_invalid_args/config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/cli/tests/pcluster/cli/test_update_cluster/TestUpdateClusterCommand/test_invalid_args/config.yaml -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_update_cluster/TestUpdateClusterCommand/test_no_nodejs_error/config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/cli/tests/pcluster/cli/test_update_cluster/TestUpdateClusterCommand/test_no_nodejs_error/config.yaml -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_update_cluster/TestUpdateClusterCommand/test_nodejs_wrong_version_error/config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/cli/tests/pcluster/cli/test_update_cluster/TestUpdateClusterCommand/test_nodejs_wrong_version_error/config.yaml -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_update_cluster/TestUpdateClusterCommand/test_resource_unchanged_due_to_queue_reorder/pcluster_1_queue.config.yaml: -------------------------------------------------------------------------------- 1 | Image: 2 | Os: alinux2 3 | HeadNode: 4 | InstanceType: t3.micro 5 | Networking: 6 | SubnetId: subnet-12345678 7 | Ssh: 8 | KeyName: ec2-key-name 9 | Scheduling: 10 | Scheduler: slurm 11 | SlurmQueues: 12 | - Name: queue-a 13 | ComputeResources: 14 | - Name: queue-a-cr-static 15 | Instances: 16 | - InstanceType: t3.micro 17 | MinCount: 1 18 | MaxCount: 2 19 | Networking: 20 | SubnetIds: 21 | - subnet-12345678 22 | -------------------------------------------------------------------------------- /cli/tests/pcluster/config/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2013-2014 Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance 4 | # with the License. A copy of the License is located at 5 | # 6 | # http://aws.amazon.com/apache2.0/ 7 | # 8 | # or in the "LICENSE.txt" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 9 | # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions and 10 | # limitations under the License. 11 | -------------------------------------------------------------------------------- /cli/tests/pcluster/example_configs/slurm.required.yaml: -------------------------------------------------------------------------------- 1 | Image: 2 | Os: alinux2 3 | HeadNode: 4 | InstanceType: t3.micro 5 | Networking: 6 | SubnetId: subnet-12345678 7 | Ssh: 8 | KeyName: ec2-key-name 9 | Scheduling: 10 | Scheduler: slurm 11 | SlurmQueues: 12 | - Name: queue1 13 | Networking: 14 | SubnetIds: 15 | - subnet-12345678 16 | ComputeResources: 17 | - Name: compute-resource1 18 | InstanceType: c5.2xlarge 19 | -------------------------------------------------------------------------------- /cli/tests/pcluster/models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/cli/tests/pcluster/models/__init__.py -------------------------------------------------------------------------------- /cli/tests/pcluster/schemas/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance 4 | # with the License. A copy of the License is located at 5 | # 6 | # http://aws.amazon.com/apache2.0/ 7 | # 8 | # or in the "LICENSE.txt" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 9 | # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions and 10 | # limitations under the License. 11 | -------------------------------------------------------------------------------- /cli/tests/pcluster/schemas/test_cluster_schema/test_scheduler_constraints_for_custom_actions/awsbatch.no_actions.yaml: -------------------------------------------------------------------------------- 1 | Image: 2 | Os: alinux2 3 | HeadNode: 4 | InstanceType: t3.micro 5 | Networking: 6 | SubnetId: subnet-12345678 7 | Ssh: 8 | KeyName: ec2-key-name 9 | Scheduling: 10 | Scheduler: awsbatch 11 | AwsBatchQueues: 12 | - Name: queue1 13 | Networking: 14 | SubnetIds: 15 | - subnet-12345678 16 | ComputeResources: 17 | - Name: compute_resource1 18 | InstanceTypes: 19 | - c5.xlarge 20 | MaxvCpus: 10 21 | -------------------------------------------------------------------------------- /cli/tests/pcluster/schemas/test_cluster_schema/test_scheduler_constraints_for_custom_actions/slurm.no_actions.yaml: -------------------------------------------------------------------------------- 1 | Image: 2 | Os: alinux2 3 | HeadNode: 4 | InstanceType: t3.micro 5 | Networking: 6 | SubnetId: subnet-12345678 7 | Ssh: 8 | KeyName: ec2-key-name 9 | Scheduling: 10 | Scheduler: slurm 11 | SlurmQueues: 12 | - Name: queue1 13 | Networking: 14 | SubnetIds: 15 | - subnet-12345678 16 | ComputeResources: 17 | - Name: compute_resource1 18 | InstanceType: c5.2xlarge 19 | - Name: compute_resource2 20 | InstanceType: c4.2xlarge 21 | -------------------------------------------------------------------------------- /cli/tests/pcluster/schemas/test_cluster_schema/test_scheduler_constraints_for_intel_packages/awsbatch.enabled.yaml: -------------------------------------------------------------------------------- 1 | Image: 2 | Os: alinux2 3 | HeadNode: 4 | InstanceType: t3.micro 5 | Networking: 6 | SubnetId: subnet-12345678 7 | Ssh: 8 | KeyName: ec2-key-name 9 | Scheduling: 10 | Scheduler: awsbatch 11 | AwsBatchQueues: 12 | - Name: queue1 13 | Networking: 14 | SubnetIds: 15 | - subnet-12345678 16 | ComputeResources: 17 | - Name: compute_resource1 18 | InstanceTypes: 19 | - c4.xlarge 20 | - c5.large|optimal|c5 21 | - c4 22 | MaxvCpus: 10 23 | AdditionalPackages: 24 | IntelSoftware: 25 | IntelHpcPlatform: true 26 | -------------------------------------------------------------------------------- /cli/tests/pcluster/schemas/test_cluster_schema/test_scheduler_constraints_for_intel_packages/slurm.enabled.yaml: -------------------------------------------------------------------------------- 1 | Image: 2 | Os: alinux2 3 | HeadNode: 4 | InstanceType: t3.micro 5 | Networking: 6 | SubnetId: subnet-12345678 7 | Ssh: 8 | KeyName: ec2-key-name 9 | Scheduling: 10 | Scheduler: slurm 11 | SlurmQueues: 12 | - Name: queue1 13 | Networking: 14 | SubnetIds: 15 | - subnet-12345678 16 | ComputeResources: 17 | - Name: compute-resource1 18 | InstanceType: c5.2xlarge 19 | AdditionalPackages: 20 | IntelSoftware: 21 | IntelHpcPlatform: true 22 | -------------------------------------------------------------------------------- /cli/tests/pcluster/schemas/test_imagebuilder_schema/test_imagebuilder_schema/imagebuilder_schema_required.yaml: -------------------------------------------------------------------------------- 1 | Build: 2 | InstanceType: c5.xlarge 3 | ParentImage: ami-0185634c5a8a37250 -------------------------------------------------------------------------------- /cli/tests/pcluster/templates/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance 4 | # with the License. A copy of the License is located at 5 | # 6 | # http://aws.amazon.com/apache2.0/ 7 | # 8 | # or in the "LICENSE.txt" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 9 | # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions and 10 | # limitations under the License. 11 | -------------------------------------------------------------------------------- /cli/tests/pcluster/templates/test_additional_packages/test_intel_hpc_platform/config-disabled.yaml: -------------------------------------------------------------------------------- 1 | Image: 2 | Os: alinux2 3 | HeadNode: 4 | InstanceType: t3.micro 5 | Networking: 6 | SubnetId: subnet-12345678 7 | Scheduling: 8 | Scheduler: slurm 9 | SlurmQueues: 10 | - Name: queue1 11 | Networking: 12 | SubnetIds: 13 | - subnet-12345678 14 | ComputeResources: 15 | - Name: compute_resource1 16 | InstanceType: c5.2xlarge 17 | -------------------------------------------------------------------------------- /cli/tests/pcluster/templates/test_additional_packages/test_intel_hpc_platform/config-enabled.yaml: -------------------------------------------------------------------------------- 1 | Image: 2 | Os: alinux2 3 | AdditionalPackages: 4 | IntelSoftware: 5 | IntelHpcPlatform: True 6 | HeadNode: 7 | InstanceType: t3.micro 8 | Networking: 9 | SubnetId: subnet-12345678 10 | Scheduling: 11 | Scheduler: slurm 12 | SlurmQueues: 13 | - Name: queue1 14 | Networking: 15 | SubnetIds: 16 | - subnet-12345678 17 | ComputeResources: 18 | - Name: compute_resource1 19 | InstanceType: c5.2xlarge 20 | -------------------------------------------------------------------------------- /cli/tests/pcluster/templates/test_capacity_reservation/test_capacity_reservation_group_arns_permissions/config.yaml: -------------------------------------------------------------------------------- 1 | Image: 2 | Os: alinux2 3 | HeadNode: 4 | InstanceType: t3.micro 5 | Networking: 6 | SubnetId: subnet-12345678 7 | Scheduling: 8 | Scheduler: slurm 9 | SlurmQueues: 10 | - Name: queue1 11 | Networking: 12 | SubnetIds: 13 | - subnet-12345678 14 | CapacityReservationTarget: 15 | CapacityReservationResourceGroupArn: "cr-12345" 16 | ComputeResources: 17 | - Name: compute_resource1 18 | InstanceType: c5.2xlarge 19 | -------------------------------------------------------------------------------- /cli/tests/pcluster/templates/test_capacity_reservation/test_capacity_reservation_id_permissions/config.yaml: -------------------------------------------------------------------------------- 1 | Image: 2 | Os: alinux2 3 | HeadNode: 4 | InstanceType: t3.micro 5 | Networking: 6 | SubnetId: subnet-12345678 7 | Scheduling: 8 | Scheduler: slurm 9 | SlurmQueues: 10 | - Name: queue1 11 | Networking: 12 | SubnetIds: 13 | - subnet-12345678 14 | CapacityReservationTarget: 15 | CapacityReservationId: "cr-12345" 16 | ComputeResources: 17 | - Name: compute_resource1 18 | InstanceType: c5.2xlarge 19 | -------------------------------------------------------------------------------- /cli/tests/pcluster/templates/test_cdk_builder_utils/test_iam_resource_prefix_build_in_cdk/resourcePrefix.both_path_n_role_prefix.yaml: -------------------------------------------------------------------------------- 1 | Image: 2 | Os: alinux2 3 | Iam: 4 | ResourcePrefix: /path-prefix/name-prefix 5 | HeadNode: 6 | InstanceType: String 7 | Ssh: 8 | KeyName: String 9 | Networking: 10 | SubnetId: subnet-12345678 11 | Scheduling: 12 | Scheduler: slurm 13 | SlurmQueues: 14 | - Name: queue1 15 | ComputeResources: 16 | - Name: compute_resource1 17 | InstanceType: t3.micro 18 | MinCount: 1 19 | MaxCount: 5 20 | Networking: 21 | SubnetIds: 22 | - subnet-12345678 23 | -------------------------------------------------------------------------------- /cli/tests/pcluster/templates/test_cdk_builder_utils/test_iam_resource_prefix_build_in_cdk/resourcePrefix.only_path_prefix.yaml: -------------------------------------------------------------------------------- 1 | Image: 2 | Os: alinux2 3 | Iam: 4 | ResourcePrefix: /path-prefix/ 5 | HeadNode: 6 | InstanceType: String 7 | Ssh: 8 | KeyName: String 9 | Networking: 10 | SubnetId: subnet-12345678 11 | Scheduling: 12 | Scheduler: slurm 13 | SlurmQueues: 14 | - Name: queue1 15 | ComputeResources: 16 | - Name: compute_resource1 17 | InstanceType: t3.micro 18 | MinCount: 1 19 | MaxCount: 5 20 | Networking: 21 | SubnetIds: 22 | - subnet-12345678 23 | 24 | -------------------------------------------------------------------------------- /cli/tests/pcluster/templates/test_cdk_builder_utils/test_iam_resource_prefix_build_in_cdk/resourcePrefix.only_role_prefix.yaml: -------------------------------------------------------------------------------- 1 | Image: 2 | Os: alinux2 3 | Iam: 4 | ResourcePrefix: name-prefix 5 | HeadNode: 6 | InstanceType: String 7 | Ssh: 8 | KeyName: String 9 | Networking: 10 | SubnetId: subnet-12345678 11 | Scheduling: 12 | Scheduler: slurm 13 | SlurmQueues: 14 | - Name: queue1 15 | ComputeResources: 16 | - Name: compute_resource1 17 | InstanceType: t3.micro 18 | MinCount: 1 19 | MaxCount: 5 20 | Networking: 21 | SubnetIds: 22 | - subnet-12345678 23 | 24 | -------------------------------------------------------------------------------- /cli/tests/pcluster/templates/test_cluster_stack/test_compute_launch_template_properties/cluster-using-single-instance-type.yaml: -------------------------------------------------------------------------------- 1 | Region: eu-west-1 2 | Image: 3 | Os: alinux2 4 | HeadNode: 5 | InstanceType: t3.micro 6 | Networking: 7 | SubnetId: subnet-12345678 8 | Ssh: 9 | KeyName: ec2-key-name 10 | Scheduling: 11 | Scheduler: slurm 12 | SlurmQueues: 13 | - Name: queue1 14 | AllocationStrategy: lowest-price 15 | ComputeResources: 16 | - Name: testcomputeresource 17 | InstanceType: c4.xlarge 18 | MinCount: 0 19 | MaxCount: 10 20 | DisableSimultaneousMultithreading: true 21 | Networking: 22 | SubnetIds: 23 | - subnet-12345678 24 | -------------------------------------------------------------------------------- /cli/tests/pcluster/templates/test_cluster_stack/test_custom_munge_key_iam_policy/config.yaml: -------------------------------------------------------------------------------- 1 | Image: 2 | Os: alinux2 3 | HeadNode: 4 | InstanceType: t3.micro 5 | Networking: 6 | SubnetId: subnet-12345678 7 | Scheduling: 8 | Scheduler: slurm 9 | SlurmQueues: 10 | - Name: queue1 11 | Networking: 12 | SubnetIds: 13 | - subnet-12345678 14 | ComputeResources: 15 | - Name: compute_resource1 16 | InstanceType: c5.2xlarge 17 | SlurmSettings: 18 | MungeKeySecretArn: arn:aws:secretsmanager:us-east-1:123456789012:secret:TestCustomMungeKey 19 | -------------------------------------------------------------------------------- /cli/tests/pcluster/templates/test_cluster_stack/test_head_node_dna_json/default-user-local-home.yaml: -------------------------------------------------------------------------------- 1 | Image: 2 | Os: alinux2 3 | HeadNode: 4 | InstanceType: t3.micro 5 | Networking: 6 | SubnetId: subnet-12345678 7 | Ssh: 8 | KeyName: ec2-key-name 9 | Scheduling: 10 | Scheduler: slurm 11 | SlurmQueues: 12 | - Name: queue1 13 | Networking: 14 | SubnetIds: 15 | - subnet-12345678 16 | ComputeResources: 17 | - Name: compute_resource1 18 | InstanceType: c5.2xlarge 19 | - Name: compute_resource2 20 | InstanceType: c4.2xlarge 21 | DeploymentSettings: 22 | DefaultUserHome: Local 23 | -------------------------------------------------------------------------------- /cli/tests/pcluster/templates/test_cluster_stack/test_head_node_dna_json/slurm-imds-secured-true.yaml: -------------------------------------------------------------------------------- 1 | DeploymentSettings: 2 | DisableSudoAccessForDefaultUser: True 3 | Image: 4 | Os: alinux2 5 | HeadNode: 6 | InstanceType: t3.micro 7 | Networking: 8 | SubnetId: subnet-12345678 9 | Ssh: 10 | KeyName: ec2-key-name 11 | Imds: 12 | Secured: True 13 | Scheduling: 14 | Scheduler: slurm 15 | SlurmQueues: 16 | - Name: queue1 17 | Networking: 18 | SubnetIds: 19 | - subnet-12345678 20 | ComputeResources: 21 | - Name: compute_resource1 22 | InstanceType: c5.2xlarge 23 | - Name: compute_resource2 24 | InstanceType: c4.2xlarge 25 | -------------------------------------------------------------------------------- /cli/tests/pcluster/templates/test_dev_settings/test_custom_cookbook/config.yaml: -------------------------------------------------------------------------------- 1 | Image: 2 | Os: alinux2 3 | HeadNode: 4 | InstanceType: t3.micro 5 | Networking: 6 | SubnetId: subnet-12345678 7 | Scheduling: 8 | Scheduler: slurm 9 | SlurmQueues: 10 | - Name: queue1 11 | Networking: 12 | SubnetIds: 13 | - subnet-12345678 14 | ComputeResources: 15 | - Name: compute_resource1 16 | InstanceType: c5.2xlarge 17 | DevSettings: 18 | Cookbook: 19 | ChefCookbook: s3://folder/object 20 | -------------------------------------------------------------------------------- /cli/tests/pcluster/templates/test_iam/test_iam_permissions_boundary/config.yaml: -------------------------------------------------------------------------------- 1 | Image: 2 | Os: alinux2 3 | Iam: 4 | PermissionsBoundary: "arn:aws:iam:123456789:policy/APolicy" 5 | HeadNode: 6 | InstanceType: t3.micro 7 | Networking: 8 | SubnetId: subnet-12345678 9 | Scheduling: 10 | Scheduler: slurm 11 | SlurmQueues: 12 | - Name: queue1 13 | Networking: 14 | SubnetIds: 15 | - subnet-12345678 16 | ComputeResources: 17 | - Name: compute_resource1 18 | InstanceType: c5.2xlarge 19 | -------------------------------------------------------------------------------- /cli/tests/pcluster/templates/test_login_nodes_stack/test_login_nodes_dna_json/extra-1.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /cli/tests/pcluster/templates/test_login_nodes_stack/test_login_nodes_dna_json/extra-2.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /cli/tests/pcluster/templates/test_queues_stack/test_compute_nodes_dna_json/config-1.yaml: -------------------------------------------------------------------------------- 1 | Region: eu-west-1 2 | Image: 3 | Os: alinux2 4 | HeadNode: 5 | InstanceType: t3.micro 6 | Networking: 7 | SubnetId: subnet-12345678 8 | Ssh: 9 | KeyName: ec2-key-name 10 | Scheduling: 11 | Scheduler: slurm 12 | SlurmQueues: 13 | - Name: queue1 14 | ComputeResources: 15 | - Name: cr1 16 | InstanceType: c4.xlarge 17 | MinCount: 0 18 | MaxCount: 10 19 | Networking: 20 | SubnetIds: 21 | - subnet-12345678 22 | -------------------------------------------------------------------------------- /cli/tests/pcluster/templates/test_queues_stack/test_compute_nodes_dna_json/extra-1.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /cli/tests/pcluster/templates/test_queues_stack/test_compute_nodes_dna_json/extra-2.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /cli/tests/pcluster/templates/test_queues_stack/test_compute_nodes_iam_permissions/config.yaml: -------------------------------------------------------------------------------- 1 | Region: eu-west-1 2 | Image: 3 | Os: alinux2 4 | HeadNode: 5 | InstanceType: t3.micro 6 | Networking: 7 | SubnetId: subnet-12345678 8 | Ssh: 9 | KeyName: ec2-key-name 10 | Scheduling: 11 | Scheduler: slurm 12 | SlurmQueues: 13 | - Name: queue1 14 | ComputeResources: 15 | - Name: cr1 16 | InstanceType: c4.xlarge 17 | MinCount: 0 18 | MaxCount: 10 19 | Networking: 20 | SubnetIds: 21 | - subnet-12345678 22 | -------------------------------------------------------------------------------- /cli/tests/pcluster/templates/test_scheduling/test_additional_security_groups/config.yaml: -------------------------------------------------------------------------------- 1 | Image: 2 | Os: alinux2 3 | HeadNode: 4 | InstanceType: t3.micro 5 | Networking: 6 | SubnetId: subnet-12345678 7 | Scheduling: 8 | Scheduler: slurm 9 | SlurmQueues: 10 | - Name: queue1 11 | Networking: 12 | SubnetIds: 13 | - subnet-12345678 14 | AdditionalSecurityGroups: 15 | - sg-12345678 16 | ComputeResources: 17 | - Name: compute_resource1 18 | InstanceType: c5.2xlarge 19 | -------------------------------------------------------------------------------- /cli/tests/pcluster/templates/test_scheduling/test_head_node_base_pass_role/config.yaml: -------------------------------------------------------------------------------- 1 | Image: 2 | Os: alinux2 3 | HeadNode: 4 | InstanceType: t3.micro 5 | Networking: 6 | SubnetId: subnet-12345678 7 | Scheduling: 8 | Scheduler: slurm 9 | SlurmQueues: 10 | - Name: queue1 11 | Networking: 12 | SubnetIds: 13 | - subnet-12345678 14 | ComputeResources: 15 | - Name: compute_resource1 16 | InstanceType: c5.2xlarge 17 | 18 | -------------------------------------------------------------------------------- /cli/tests/pcluster/templates/test_scheduling/test_head_node_custom_pass_role/config.yaml: -------------------------------------------------------------------------------- 1 | Image: 2 | Os: alinux2 3 | HeadNode: 4 | InstanceType: t3.micro 5 | Networking: 6 | SubnetId: subnet-12345678 7 | Scheduling: 8 | Scheduler: slurm 9 | SlurmQueues: 10 | - Name: queue1 11 | Networking: 12 | SubnetIds: 13 | - subnet-12345678 14 | ComputeResources: 15 | - Name: compute_resource1 16 | InstanceType: c5.2xlarge 17 | Iam: 18 | InstanceRole: arn:aws:iam::123456789:role/role-name 19 | -------------------------------------------------------------------------------- /cli/tests/pcluster/templates/test_scheduling/test_permissions_for_slurm_db_secret/config.yaml: -------------------------------------------------------------------------------- 1 | Image: 2 | Os: alinux2 3 | HeadNode: 4 | InstanceType: t3.micro 5 | Networking: 6 | SubnetId: subnet-12345678 7 | Scheduling: 8 | Scheduler: slurm 9 | SlurmQueues: 10 | - Name: queue1 11 | Networking: 12 | SubnetIds: 13 | - subnet-12345678 14 | ComputeResources: 15 | - Name: compute_resource1 16 | InstanceType: c5.2xlarge 17 | SlurmSettings: 18 | Database: 19 | Uri: test.example.com:3306 20 | UserName: user_name 21 | PasswordSecretArn: arn:aws:secretsmanager:eu-west-1:123456789:secret:a-secret-name 22 | -------------------------------------------------------------------------------- /cli/tests/pcluster/templates/test_shared_storage/test_efs_permissions/config.yaml: -------------------------------------------------------------------------------- 1 | Image: 2 | Os: alinux2 3 | HeadNode: 4 | InstanceType: t3.micro 5 | Networking: 6 | SubnetId: subnet-12345678 7 | Scheduling: 8 | Scheduler: slurm 9 | SlurmQueues: 10 | - Name: queue1 11 | Networking: 12 | SubnetIds: 13 | - subnet-12345678 14 | ComputeResources: 15 | - Name: compute_resource1 16 | InstanceType: c5.2xlarge 17 | SharedStorage: 18 | - MountDir: /shared/efs/1 19 | Name: shared-efs-1 20 | StorageType: Efs 21 | EfsSettings: 22 | IamAuthorization: True 23 | -------------------------------------------------------------------------------- /cli/tests/pcluster/templates/test_shared_storage/test_non_happy_storage/file_cache_config.yaml: -------------------------------------------------------------------------------- 1 | Image: 2 | Os: alinux2 3 | HeadNode: 4 | InstanceType: t3.micro 5 | Networking: 6 | SubnetId: subnet-12345678 7 | Scheduling: 8 | Scheduler: slurm 9 | SlurmQueues: 10 | - Name: queue1 11 | Networking: 12 | SubnetIds: 13 | - subnet-12345678 14 | ComputeResources: 15 | - Name: compute_resource1 16 | InstanceType: c5.2xlarge 17 | SharedStorage: 18 | - MountDir: /opt/shared/file-cache/unmanaged/1 19 | Name: shared-file-cache-unmanaged-1 20 | StorageType: FileCache 21 | FileCacheSettings: 22 | FileCacheId: fc-12345678 23 | -------------------------------------------------------------------------------- /cli/tests/pcluster/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Very basic first tests 3 | 4 | set -ex 5 | echo $PATH 6 | which pcluster 7 | pip check 8 | pcluster version 9 | pcluster --help 10 | -------------------------------------------------------------------------------- /cli/tests/pcluster/validators/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance 4 | # with the License. A copy of the License is located at 5 | # 6 | # http://aws.amazon.com/apache2.0/ 7 | # 8 | # or in the "LICENSE.txt" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 9 | # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions and 10 | # limitations under the License. 11 | -------------------------------------------------------------------------------- /cli/tests/pcluster3_config_converter/test_pcluster3_config_converter/test_pcluster3_config_converter/awsbatch_required.ini: -------------------------------------------------------------------------------- 1 | [cluster default] 2 | key_name = key01 3 | vpc_settings = default 4 | base_os = alinux2 5 | scheduler = awsbatch 6 | master_instance_type = c5.xlarge 7 | queue_settings = queue1 8 | master_root_volume_size = 35 9 | compute_instance_type = t3.micro,optimal 10 | 11 | [global] 12 | update_check = true 13 | sanity_check = false 14 | cluster_template = default 15 | 16 | [aliases] 17 | ssh = ssh {CFN_USER}@{MASTER_IP} {ARGS} 18 | 19 | 20 | [vpc default] 21 | vpc_id = vpc-0e0f223cc35256b9a 22 | master_subnet_id = subnet-0bfad12f6b586686c 23 | 24 | -------------------------------------------------------------------------------- /cli/tests/pcluster3_config_converter/test_pcluster3_config_converter/test_pcluster3_config_converter/sit_base.ini: -------------------------------------------------------------------------------- 1 | [aws] 2 | aws_region_name = ${REGION} 3 | 4 | [cluster default] 5 | key_name = lab-3-your-key 6 | vpc_settings = public 7 | base_os = alinux2 8 | scheduler = slurm 9 | 10 | [vpc public] 11 | vpc_id = vpc-12345678 12 | master_subnet_id = subnet-0bfad12f6b586686c 13 | 14 | [global] 15 | cluster_template = default 16 | update_check = false 17 | sanity_check = true 18 | 19 | [aliases] 20 | ssh = ssh {CFN_USER}@{MASTER_IP} {ARGS} -------------------------------------------------------------------------------- /cli/tests/pcluster3_config_converter/test_pcluster3_config_converter/test_pcluster3_config_converter/slurm_required.ini: -------------------------------------------------------------------------------- 1 | [cluster cluster_label1] 2 | key_name = key01 3 | vpc_settings = default 4 | base_os = alinux2 5 | scheduler = slurm 6 | master_instance_type = c5.xlarge 7 | queue_settings = queue1 8 | 9 | [global] 10 | update_check = true 11 | sanity_check = true 12 | cluster_template = default 13 | 14 | [aliases] 15 | ssh = ssh {CFN_USER}@{MASTER_IP} {ARGS} 16 | 17 | [vpc default] 18 | vpc_id = vpc-123 19 | master_subnet_id = subnet-0bfad12f6b586686c 20 | 21 | [queue queue1] 22 | compute_resource_settings = ondemand-i1 23 | 24 | [compute_resource ondemand-i1] 25 | instance_type = c5.large 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /cli/tests/requirements.txt: -------------------------------------------------------------------------------- 1 | assertpy 2 | aws-lambda-powertools 3 | aws-xray-sdk 4 | freezegun 5 | jinja2 6 | munch 7 | pytest 8 | pytest-cov 9 | pytest-datadir 10 | pytest-html 11 | pytest-mock 12 | pytest-xdist 13 | recordclass 14 | -------------------------------------------------------------------------------- /cloudformation/external-slurmdbd/.gitignore: -------------------------------------------------------------------------------- 1 | *.swp 2 | package-lock.json 3 | .pytest_cache 4 | *.egg-info 5 | 6 | # Byte-compiled / optimized / DLL files 7 | __pycache__/ 8 | *.py[cod] 9 | *$py.class 10 | 11 | # Environments 12 | .env 13 | .venv 14 | env/ 15 | venv/ 16 | ENV/ 17 | env.bak/ 18 | venv.bak/ 19 | 20 | # CDK Context & Staging files 21 | .cdk.staging/ 22 | cdk.out/ 23 | -------------------------------------------------------------------------------- /cloudformation/external-slurmdbd/app.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | import aws_cdk as cdk 4 | from external_slurmdbd.external_slurmdbd_stack import ExternalSlurmdbdStack 5 | 6 | app = cdk.App() 7 | ExternalSlurmdbdStack( 8 | app, "ExternalSlurmdbdStack", synthesizer=cdk.DefaultStackSynthesizer(generate_bootstrap_version_rule=False) 9 | ) 10 | 11 | app.synth() 12 | -------------------------------------------------------------------------------- /cloudformation/external-slurmdbd/external_slurmdbd/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/cloudformation/external-slurmdbd/external_slurmdbd/__init__.py -------------------------------------------------------------------------------- /cloudformation/external-slurmdbd/requirements.txt: -------------------------------------------------------------------------------- 1 | setuptools 2 | aws-cdk-lib~=2.105 3 | constructs>=10.0.0,<11.0.0 4 | -------------------------------------------------------------------------------- /cloudformation/tests/pytest.ini: -------------------------------------------------------------------------------- 1 | [pytest] 2 | addopts = -m "not local" 3 | markers = 4 | local: marks tests that can only be run locally 5 | -------------------------------------------------------------------------------- /cloudformation/tests/requirements.txt: -------------------------------------------------------------------------------- 1 | assertpy 2 | boto3 3 | cfn-flip 4 | cfn-lint 5 | jinja2~=3.0 6 | pytest 7 | PyYAML>=5.3.1,!=5.4 8 | -------------------------------------------------------------------------------- /cloudformation/utils/requirements.txt: -------------------------------------------------------------------------------- 1 | cfn_flip 2 | -------------------------------------------------------------------------------- /pc_support/os_3.0.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "os": [ 3 | { 4 | "name": "alinux2", 5 | "description": "Amazon Linux 2" 6 | }, 7 | { 8 | "name": "ubuntu1804", 9 | "description": "Ubuntu 18.04 LTS" 10 | }, 11 | { 12 | "name": "ubuntu2004", 13 | "description": "Ubuntu 20.04 LTS" 14 | }, 15 | { 16 | "name": "centos7", 17 | "description": "CentOS 7" 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /pc_support/os_3.0.0b1.json: -------------------------------------------------------------------------------- 1 | { 2 | "os": [ 3 | { 4 | "name": "alinux2", 5 | "description": "Amazon Linux 2" 6 | }, 7 | { 8 | "name": "ubuntu1804", 9 | "description": "Ubuntu 18.04 LTS" 10 | }, 11 | { 12 | "name": "ubuntu2004", 13 | "description": "Ubuntu 20.04 LTS" 14 | }, 15 | { 16 | "name": "centos7", 17 | "description": "CentOS 7" 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /pc_support/os_3.0.1.json: -------------------------------------------------------------------------------- 1 | { 2 | "os": [ 3 | { 4 | "name": "alinux2", 5 | "description": "Amazon Linux 2" 6 | }, 7 | { 8 | "name": "ubuntu1804", 9 | "description": "Ubuntu 18.04 LTS" 10 | }, 11 | { 12 | "name": "ubuntu2004", 13 | "description": "Ubuntu 20.04 LTS" 14 | }, 15 | { 16 | "name": "centos7", 17 | "description": "CentOS 7" 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /pc_support/os_3.0.2.json: -------------------------------------------------------------------------------- 1 | { 2 | "os": [ 3 | { 4 | "name": "alinux2", 5 | "description": "Amazon Linux 2" 6 | }, 7 | { 8 | "name": "ubuntu1804", 9 | "description": "Ubuntu 18.04 LTS" 10 | }, 11 | { 12 | "name": "ubuntu2004", 13 | "description": "Ubuntu 20.04 LTS" 14 | }, 15 | { 16 | "name": "centos7", 17 | "description": "CentOS 7" 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /pc_support/os_3.0.3.json: -------------------------------------------------------------------------------- 1 | { 2 | "os": [ 3 | { 4 | "name": "alinux2", 5 | "description": "Amazon Linux 2" 6 | }, 7 | { 8 | "name": "ubuntu1804", 9 | "description": "Ubuntu 18.04 LTS" 10 | }, 11 | { 12 | "name": "ubuntu2004", 13 | "description": "Ubuntu 20.04 LTS" 14 | }, 15 | { 16 | "name": "centos7", 17 | "description": "CentOS 7" 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /pc_support/os_3.1.0b1.json: -------------------------------------------------------------------------------- 1 | { 2 | "os": [ 3 | { 4 | "name": "alinux2", 5 | "description": "Amazon Linux 2" 6 | }, 7 | { 8 | "name": "ubuntu1804", 9 | "description": "Ubuntu 18.04 LTS" 10 | }, 11 | { 12 | "name": "ubuntu2004", 13 | "description": "Ubuntu 20.04 LTS" 14 | }, 15 | { 16 | "name": "centos7", 17 | "description": "CentOS 7" 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /pc_support/os_3.1.1.json: -------------------------------------------------------------------------------- 1 | { 2 | "os": [ 3 | { 4 | "name": "alinux2", 5 | "description": "Amazon Linux 2" 6 | }, 7 | { 8 | "name": "ubuntu1804", 9 | "description": "Ubuntu 18.04 LTS" 10 | }, 11 | { 12 | "name": "ubuntu2004", 13 | "description": "Ubuntu 20.04 LTS" 14 | }, 15 | { 16 | "name": "centos7", 17 | "description": "CentOS 7" 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /pc_support/os_3.1.2.json: -------------------------------------------------------------------------------- 1 | { 2 | "os": [ 3 | { 4 | "name": "alinux2", 5 | "description": "Amazon Linux 2" 6 | }, 7 | { 8 | "name": "ubuntu1804", 9 | "description": "Ubuntu 18.04 LTS" 10 | }, 11 | { 12 | "name": "ubuntu2004", 13 | "description": "Ubuntu 20.04 LTS" 14 | }, 15 | { 16 | "name": "centos7", 17 | "description": "CentOS 7" 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /pc_support/os_3.1.3.json: -------------------------------------------------------------------------------- 1 | { 2 | "os": [ 3 | { 4 | "name": "alinux2", 5 | "description": "Amazon Linux 2" 6 | }, 7 | { 8 | "name": "ubuntu1804", 9 | "description": "Ubuntu 18.04 LTS" 10 | }, 11 | { 12 | "name": "ubuntu2004", 13 | "description": "Ubuntu 20.04 LTS" 14 | }, 15 | { 16 | "name": "centos7", 17 | "description": "CentOS 7" 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /pc_support/os_3.1.4.json: -------------------------------------------------------------------------------- 1 | { 2 | "os": [ 3 | { 4 | "name": "alinux2", 5 | "description": "Amazon Linux 2" 6 | }, 7 | { 8 | "name": "ubuntu1804", 9 | "description": "Ubuntu 18.04 LTS" 10 | }, 11 | { 12 | "name": "ubuntu2004", 13 | "description": "Ubuntu 20.04 LTS" 14 | }, 15 | { 16 | "name": "centos7", 17 | "description": "CentOS 7" 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /pc_support/os_3.1.5.json: -------------------------------------------------------------------------------- 1 | { 2 | "os": [ 3 | { 4 | "name": "alinux2", 5 | "description": "Amazon Linux 2" 6 | }, 7 | { 8 | "name": "ubuntu1804", 9 | "description": "Ubuntu 18.04 LTS" 10 | }, 11 | { 12 | "name": "ubuntu2004", 13 | "description": "Ubuntu 20.04 LTS" 14 | }, 15 | { 16 | "name": "centos7", 17 | "description": "CentOS 7" 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /pc_support/os_3.2.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "os": [ 3 | { 4 | "name": "alinux2", 5 | "description": "Amazon Linux 2" 6 | }, 7 | { 8 | "name": "ubuntu1804", 9 | "description": "Ubuntu 18.04 LTS" 10 | }, 11 | { 12 | "name": "ubuntu2004", 13 | "description": "Ubuntu 20.04 LTS" 14 | }, 15 | { 16 | "name": "centos7", 17 | "description": "CentOS 7" 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /pc_support/os_3.2.0b1.json: -------------------------------------------------------------------------------- 1 | { 2 | "os": [ 3 | { 4 | "name": "alinux2", 5 | "description": "Amazon Linux 2" 6 | }, 7 | { 8 | "name": "ubuntu1804", 9 | "description": "Ubuntu 18.04 LTS" 10 | }, 11 | { 12 | "name": "ubuntu2004", 13 | "description": "Ubuntu 20.04 LTS" 14 | }, 15 | { 16 | "name": "centos7", 17 | "description": "CentOS 7" 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /pc_support/os_3.2.0b2.json: -------------------------------------------------------------------------------- 1 | { 2 | "os": [ 3 | { 4 | "name": "alinux2", 5 | "description": "Amazon Linux 2" 6 | }, 7 | { 8 | "name": "ubuntu1804", 9 | "description": "Ubuntu 18.04 LTS" 10 | }, 11 | { 12 | "name": "ubuntu2004", 13 | "description": "Ubuntu 20.04 LTS" 14 | }, 15 | { 16 | "name": "centos7", 17 | "description": "CentOS 7" 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /pc_support/os_3.2.1.json: -------------------------------------------------------------------------------- 1 | { 2 | "os": [ 3 | { 4 | "name": "alinux2", 5 | "description": "Amazon Linux 2" 6 | }, 7 | { 8 | "name": "ubuntu1804", 9 | "description": "Ubuntu 18.04 LTS" 10 | }, 11 | { 12 | "name": "ubuntu2004", 13 | "description": "Ubuntu 20.04 LTS" 14 | }, 15 | { 16 | "name": "centos7", 17 | "description": "CentOS 7" 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /pc_support/os_3.3.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "os": [ 3 | { 4 | "name": "alinux2", 5 | "description": "Amazon Linux 2" 6 | }, 7 | { 8 | "name": "ubuntu1804", 9 | "description": "Ubuntu 18.04 LTS" 10 | }, 11 | { 12 | "name": "ubuntu2004", 13 | "description": "Ubuntu 20.04 LTS" 14 | }, 15 | { 16 | "name": "centos7", 17 | "description": "CentOS 7" 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /pc_support/os_3.3.0b1.json: -------------------------------------------------------------------------------- 1 | { 2 | "os": [ 3 | { 4 | "name": "alinux2", 5 | "description": "Amazon Linux 2" 6 | }, 7 | { 8 | "name": "ubuntu1804", 9 | "description": "Ubuntu 18.04 LTS" 10 | }, 11 | { 12 | "name": "ubuntu2004", 13 | "description": "Ubuntu 20.04 LTS" 14 | }, 15 | { 16 | "name": "centos7", 17 | "description": "CentOS 7" 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /pc_support/os_3.3.1.json: -------------------------------------------------------------------------------- 1 | { 2 | "os": [ 3 | { 4 | "name": "alinux2", 5 | "description": "Amazon Linux 2" 6 | }, 7 | { 8 | "name": "ubuntu1804", 9 | "description": "Ubuntu 18.04 LTS" 10 | }, 11 | { 12 | "name": "ubuntu2004", 13 | "description": "Ubuntu 20.04 LTS" 14 | }, 15 | { 16 | "name": "centos7", 17 | "description": "CentOS 7" 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /pc_support/os_3.4.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "os": [ 3 | { 4 | "name": "alinux2", 5 | "description": "Amazon Linux 2" 6 | }, 7 | { 8 | "name": "ubuntu1804", 9 | "description": "Ubuntu 18.04 LTS" 10 | }, 11 | { 12 | "name": "ubuntu2004", 13 | "description": "Ubuntu 20.04 LTS" 14 | }, 15 | { 16 | "name": "centos7", 17 | "description": "CentOS 7" 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /pc_support/os_3.4.0b1.json: -------------------------------------------------------------------------------- 1 | { 2 | "os": [ 3 | { 4 | "name": "alinux2", 5 | "description": "Amazon Linux 2" 6 | }, 7 | { 8 | "name": "ubuntu1804", 9 | "description": "Ubuntu 18.04 LTS" 10 | }, 11 | { 12 | "name": "ubuntu2004", 13 | "description": "Ubuntu 20.04 LTS" 14 | }, 15 | { 16 | "name": "centos7", 17 | "description": "CentOS 7" 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /pc_support/os_3.4.1.json: -------------------------------------------------------------------------------- 1 | { 2 | "os": [ 3 | { 4 | "name": "alinux2", 5 | "description": "Amazon Linux 2" 6 | }, 7 | { 8 | "name": "ubuntu1804", 9 | "description": "Ubuntu 18.04 LTS" 10 | }, 11 | { 12 | "name": "ubuntu2004", 13 | "description": "Ubuntu 20.04 LTS" 14 | }, 15 | { 16 | "name": "centos7", 17 | "description": "CentOS 7" 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /pc_support/os_3.5.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "os": [ 3 | { 4 | "name": "alinux2", 5 | "description": "Amazon Linux 2" 6 | }, 7 | { 8 | "name": "ubuntu1804", 9 | "description": "Ubuntu 18.04 LTS" 10 | }, 11 | { 12 | "name": "ubuntu2004", 13 | "description": "Ubuntu 20.04 LTS" 14 | }, 15 | { 16 | "name": "centos7", 17 | "description": "CentOS 7" 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /pc_support/os_3.6.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "os": [ 3 | { 4 | "name": "alinux2", 5 | "description": "Amazon Linux 2" 6 | }, 7 | { 8 | "name": "ubuntu1804", 9 | "description": "Ubuntu 18.04 LTS" 10 | }, 11 | { 12 | "name": "ubuntu2004", 13 | "description": "Ubuntu 20.04 LTS" 14 | }, 15 | { 16 | "name": "centos7", 17 | "description": "CentOS 7" 18 | }, 19 | { 20 | "name": "rhel8", 21 | "description": "Red Hat Enterprise Linux 8" 22 | } 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /pc_support/os_3.7.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "os": [ 3 | { 4 | "name": "alinux2", 5 | "description": "Amazon Linux 2" 6 | }, 7 | { 8 | "name": "ubuntu2004", 9 | "description": "Ubuntu 20.04 LTS" 10 | }, 11 | { 12 | "name": "ubuntu2204", 13 | "description": "Ubuntu 22.04 LTS" 14 | }, 15 | { 16 | "name": "centos7", 17 | "description": "CentOS 7" 18 | }, 19 | { 20 | "name": "rhel8", 21 | "description": "Red Hat Enterprise Linux 8" 22 | }, 23 | { 24 | "name": "rocky8", 25 | "description": "Rocky Linux 8" 26 | } 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /pc_support/os_3.8.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "os": [ 3 | { 4 | "name": "alinux2", 5 | "description": "Amazon Linux 2" 6 | }, 7 | { 8 | "name": "ubuntu2004", 9 | "description": "Ubuntu 20.04 LTS" 10 | }, 11 | { 12 | "name": "ubuntu2204", 13 | "description": "Ubuntu 22.04 LTS" 14 | }, 15 | { 16 | "name": "centos7", 17 | "description": "CentOS 7" 18 | }, 19 | { 20 | "name": "rhel8", 21 | "description": "Red Hat Enterprise Linux 8" 22 | } 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /pc_support/os_3.9.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "os": [ 3 | { 4 | "name": "alinux2", 5 | "description": "Amazon Linux 2" 6 | }, 7 | { 8 | "name": "ubuntu2004", 9 | "description": "Ubuntu 20.04 LTS" 10 | }, 11 | { 12 | "name": "ubuntu2204", 13 | "description": "Ubuntu 22.04 LTS" 14 | }, 15 | { 16 | "name": "centos7", 17 | "description": "CentOS 7" 18 | }, 19 | { 20 | "name": "rhel8", 21 | "description": "Red Hat Enterprise Linux 8" 22 | }, 23 | { 24 | "name": "rhel9", 25 | "description": "Red Hat Enterprise Linux 9" 26 | } 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /pc_support/test_json_files/non_regex_matching.json: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/integration-tests/.gitignore: -------------------------------------------------------------------------------- 1 | /my-test-runner*.sh 2 | -------------------------------------------------------------------------------- /tests/integration-tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance 4 | # with the License. A copy of the License is located at 5 | # 6 | # http://aws.amazon.com/apache2.0/ 7 | # 8 | # or in the "LICENSE.txt" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 9 | # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions and 10 | # limitations under the License. 11 | -------------------------------------------------------------------------------- /tests/integration-tests/benchmarks/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"). 4 | # You may not use this file except in compliance with the License. 5 | # A copy of the License is located at 6 | # 7 | # http://aws.amazon.com/apache2.0/ 8 | # 9 | # or in the "LICENSE.txt" file accompanying this file. 10 | # This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or implied. 11 | # See the License for the specific language governing permissions and limitations under the License. 12 | -------------------------------------------------------------------------------- /tests/integration-tests/benchmarks/common/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"). 4 | # You may not use this file except in compliance with the License. 5 | # A copy of the License is located at 6 | # 7 | # http://aws.amazon.com/apache2.0/ 8 | # 9 | # or in the "LICENSE.txt" file accompanying this file. 10 | # This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or implied. 11 | # See the License for the specific language governing permissions and limitations under the License. 12 | -------------------------------------------------------------------------------- /tests/integration-tests/benchmarks/test_scaling_performance/test_scaling_performance/pcluster.config.yaml: -------------------------------------------------------------------------------- 1 | Image: 2 | Os: {{ os }} 3 | HeadNode: 4 | InstanceType: {{ instance }} 5 | Networking: 6 | SubnetId: {{ public_subnet_id }} 7 | Ssh: 8 | KeyName: {{ key_name }} 9 | Scheduling: 10 | Scheduler: {{ scheduler }} 11 | SlurmSettings: 12 | ScaledownIdletime: {{ scaledown_idletime }} 13 | SlurmQueues: 14 | - Name: queue-0 15 | ComputeResources: 16 | - Name: compute-resource-0 17 | Instances: 18 | - InstanceType: {{ instance }} 19 | MaxCount: {{ scaling_target }} 20 | Networking: 21 | SubnetIds: 22 | - {{ private_subnet_id }} 23 | -------------------------------------------------------------------------------- /tests/integration-tests/benchmarks/test_scheduler_performance/test_scheduler_performance/pcluster.config.yaml: -------------------------------------------------------------------------------- 1 | Image: 2 | Os: {{ os }} 3 | HeadNode: 4 | InstanceType: {{ instance }} 5 | Networking: 6 | SubnetId: {{ public_subnet_id }} 7 | Ssh: 8 | KeyName: {{ key_name }} 9 | Scheduling: 10 | Scheduler: {{ scheduler }} 11 | SlurmSettings: 12 | ScaledownIdletime: {{ scaledown_idletime }} 13 | SlurmQueues: 14 | - Name: queue-0 15 | ComputeResources: 16 | - Name: compute-resource-0 17 | Instances: 18 | - InstanceType: {{ instance }} 19 | MaxCount: {{ scaling_target + 10 }} 20 | Networking: 21 | SubnetIds: 22 | - {{ private_subnet_id }} 23 | -------------------------------------------------------------------------------- /tests/integration-tests/configs/.gitignore: -------------------------------------------------------------------------------- 1 | /my-test*.yaml 2 | /mini.yaml 3 | -------------------------------------------------------------------------------- /tests/integration-tests/configs/ad_integration.yaml: -------------------------------------------------------------------------------- 1 | {%- import 'common.jinja2' as common -%} 2 | --- 3 | test-suites: 4 | ad_integration: 5 | test_ad_integration.py::test_ad_integration: 6 | dimensions: 7 | - regions: ["ap-northeast-1"] 8 | instances: {{ common.INSTANCES_DEFAULT_X86 }} 9 | oss: ["alinux2", "ubuntu2204"] 10 | schedulers: ["slurm"] 11 | -------------------------------------------------------------------------------- /tests/integration-tests/configs/additional_instance_types.yaml: -------------------------------------------------------------------------------- 1 | {%- import 'common.jinja2' as common with context -%} 2 | --- 3 | test-suites: 4 | schedulers: 5 | test_slurm.py::test_slurm: 6 | dimensions: 7 | - regions: ["us-east-2"] 8 | instances: [{{ common.instance("instance_type_1") }}] 9 | oss: {{ common.OSS_COMMERCIAL_X86 }} 10 | schedulers: ["slurm"] -------------------------------------------------------------------------------- /tests/integration-tests/configs/build_image_iso.yaml: -------------------------------------------------------------------------------- 1 | {%- import 'common.jinja2' as common with context -%} 2 | {% if REGIONS %} 3 | {%- set REGIONS = [ REGIONS ] -%} 4 | {% else %} 5 | {%- set REGIONS = ["us-isob-east-1","us-iso-east-1", "us-iso-west-1"] -%} 6 | {% endif %} 7 | {%- set INSTANCES = ["c5.xlarge"] -%} 8 | {% if OSS %} 9 | {%- set OSS = [ OSS ] -%} 10 | {% else %} 11 | {%- set OSS = ["alinux2"] -%} 12 | {% endif %} 13 | {%- set SCHEDULERS = ["slurm"] -%} 14 | --- 15 | test-suites: 16 | createami: 17 | test_createami.py::test_build_image: 18 | dimensions: 19 | - regions: {{ REGIONS }} 20 | instances: {{ INSTANCES }} 21 | schedulers: {{ SCHEDULERS }} 22 | oss: {{ OSS }} -------------------------------------------------------------------------------- /tests/integration-tests/configs/common/common.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/tests/integration-tests/configs/common/common.yaml -------------------------------------------------------------------------------- /tests/integration-tests/configs/dummy.yaml: -------------------------------------------------------------------------------- 1 | {%- import 'common.jinja2' as common with context -%} 2 | --- 3 | test-suites: 4 | dummy: 5 | test_dummy.py::test_dummy: 6 | dimensions: 7 | - regions: [ "us-west-2" ] 8 | instances: {{ common.INSTANCES_DEFAULT_X86 }} 9 | oss: [ "ubuntu2204" ] 10 | schedulers: [ "slurm" ] 11 | -------------------------------------------------------------------------------- /tests/integration-tests/configs/installer.yaml: -------------------------------------------------------------------------------- 1 | {%- import 'common.jinja2' as common with context -%} 2 | --- 3 | test-suites: 4 | cli_commands: 5 | test_cli_commands.py::test_slurm_cli_commands: 6 | dimensions: 7 | - regions: [ "ap-northeast-2" ] 8 | instances: {{ common.INSTANCES_DEFAULT_X86 }} 9 | oss: [ "ubuntu2404" ] 10 | schedulers: [ "slurm" ] 11 | -------------------------------------------------------------------------------- /tests/integration-tests/configs/openfoam.yaml: -------------------------------------------------------------------------------- 1 | test-suites: 2 | performance_tests: 3 | test_openfoam.py::test_openfoam: 4 | dimensions: 5 | - regions: [{{ c5n_18xlarge_CAPACITY_RESERVATION_35_INSTANCES_6_HOURS }}] 6 | instances: ["c5n.18xlarge"] 7 | oss: ["alinux2", "ubuntu2404"] # Amazon Linux 2023, Ubuntu22.04, RHEL8 and Rocky8 are not supported 8 | schedulers: ["slurm"] 9 | -------------------------------------------------------------------------------- /tests/integration-tests/configs/osu.yaml: -------------------------------------------------------------------------------- 1 | {%- import 'common.jinja2' as common with context -%} 2 | test-suites: 3 | performance_tests: 4 | test_osu.py::test_osu: 5 | dimensions: 6 | - regions: [{{ c5n_18xlarge_CAPACITY_RESERVATION_35_INSTANCES_6_HOURS }}] 7 | instances: [ "c5n.18xlarge" ] 8 | oss: {{ common.OSS_COMMERCIAL_X86 }} 9 | schedulers: [ "slurm" ] 10 | -------------------------------------------------------------------------------- /tests/integration-tests/configs/performance_tests.yaml: -------------------------------------------------------------------------------- 1 | {%- import 'common.jinja2' as common -%} 2 | --- 3 | test-suites: 4 | performance_tests: 5 | test_simple.py::test_simple: 6 | dimensions: 7 | - regions: ["eu-west-1"] 8 | instances: ["c5n.xlarge"] 9 | oss: ["alinux2"] 10 | schedulers: ["slurm"] 11 | -------------------------------------------------------------------------------- /tests/integration-tests/configs/scaling.yaml: -------------------------------------------------------------------------------- 1 | test-suites: 2 | performance_tests: 3 | test_scaling.py::test_scaling: 4 | dimensions: 5 | - regions: ["us-east-1", "eu-west-1"] 6 | instances: ["t3.medium"] 7 | oss: ["alinux2"] 8 | schedulers: ["slurm"] 9 | -------------------------------------------------------------------------------- /tests/integration-tests/configs/scaling_stress_test.yaml: -------------------------------------------------------------------------------- 1 | test-suites: 2 | performance_tests: 3 | test_scaling.py::test_scaling_stress_test: 4 | dimensions: 5 | - regions: [ "us-east-1" ] 6 | instances: [ "t3.medium" ] 7 | oss: [ "alinux2" ] 8 | schedulers: [ "slurm" ] 9 | test_scaling.py::test_static_scaling_stress_test: 10 | dimensions: 11 | - regions: [ "us-east-1" ] 12 | instances: [ "t3.medium" ] 13 | oss: [ "alinux2" ] 14 | schedulers: [ "slurm" ] 15 | -------------------------------------------------------------------------------- /tests/integration-tests/configs/starccm.yaml: -------------------------------------------------------------------------------- 1 | test-suites: 2 | performance_tests: 3 | test_starccm.py::test_starccm: 4 | dimensions: 5 | - regions: [{{ c5n_18xlarge_CAPACITY_RESERVATION_35_INSTANCES_6_HOURS }}] 6 | instances: ["c5n.18xlarge"] 7 | oss: ["alinux2", "alinux2023", "ubuntu2404", "ubuntu2204", "rhel8", "rhel9", "rocky8", "rocky9"] 8 | schedulers: ["slurm"] 9 | -------------------------------------------------------------------------------- /tests/integration-tests/configs/startup_time_performance.yaml: -------------------------------------------------------------------------------- 1 | test-suites: 2 | performance_tests: 3 | test_startup_time.py::test_startup_time: 4 | dimensions: 5 | - regions: ["us-east-1"] 6 | oss: ["alinux2", "ubuntu2204", "ubuntu2204", "rhel8", "rocky8"] 7 | schedulers: ["slurm"] 8 | instances: ["t3.micro"] #This is a placeholder, we do not use this instance in the test 9 | -------------------------------------------------------------------------------- /tests/integration-tests/configs/weekly.yaml: -------------------------------------------------------------------------------- 1 | test-suites: 2 | scaling: 3 | test_scaling.py::test_scaling_special_cases: 4 | dimensions: 5 | - regions: ["eu-west-1"] 6 | instances: ["c5.large"] 7 | oss: ["alinux2"] 8 | schedulers: ["slurm"] 9 | -------------------------------------------------------------------------------- /tests/integration-tests/framework/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance 4 | # with the License. A copy of the License is located at 5 | # 6 | # http://aws.amazon.com/apache2.0/ 7 | # 8 | # or in the "LICENSE.txt" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 9 | # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions and 10 | # limitations under the License. 11 | -------------------------------------------------------------------------------- /tests/integration-tests/framework/tests_configuration/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance 4 | # with the License. A copy of the License is located at 5 | # 6 | # http://aws.amazon.com/apache2.0/ 7 | # 8 | # or in the "LICENSE.txt" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 9 | # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions and 10 | # limitations under the License. 11 | -------------------------------------------------------------------------------- /tests/integration-tests/framework/tests_configuration/config_stub.yaml.jinja2: -------------------------------------------------------------------------------- 1 | {% raw %}{%- import 'common.jinja2' as common -%}{% endraw %} 2 | --- 3 | test-suites: 4 | {%- for feature, tests in test_functions.items() %} 5 | {{ feature }}: 6 | {%- for test in tests %} 7 | {{ test }}: 8 | dimensions: 9 | - regions: [] 10 | instances: [] 11 | oss: [] 12 | schedulers: [] 13 | {%- endfor %} 14 | {%- endfor %} 15 | -------------------------------------------------------------------------------- /tests/integration-tests/requirements.txt: -------------------------------------------------------------------------------- 1 | ../../api/client/src 2 | argparse 3 | assertpy 4 | boto3 5 | cfn_flip 6 | click 7 | decorator 8 | #https://github.com/fabric/fabric/issues/2204 9 | fabric==2.6.0 10 | filelock 11 | jinja2 12 | jsonpickle 13 | junitparser 14 | lexicon 15 | matplotlib 16 | pexpect 17 | psutil 18 | pykwalify 19 | pyOpenSSL 20 | pytest 21 | pytest-datadir 22 | pytest-html 23 | pytest-rerunfailures 24 | pytest-sugar 25 | pytest-xdist 26 | pytest-timeout 27 | PyYAML 28 | requests 29 | retrying 30 | troposphere 31 | untangle 32 | xmltodict 33 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance 4 | # with the License. A copy of the License is located at 5 | # 6 | # http://aws.amazon.com/apache2.0/ 7 | # 8 | # or in the "LICENSE.txt" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 9 | # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions and 10 | # limitations under the License. 11 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/ad_integration/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance 4 | # with the License. A copy of the License is located at 5 | # 6 | # http://aws.amazon.com/apache2.0/ 7 | # 8 | # or in the "LICENSE.txt" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 9 | # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions and 10 | # limitations under the License. 11 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/ad_integration/test_ad_integration/test_ad_integration/workload.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | for fspath in shared; do 5 | # srun has to be used for whoami because slurm_nss plugin only send user information through srun 6 | date '+%Y%m%d%H%M%S' > "/$fspath/$(srun whoami)" 7 | done 8 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/basic/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"). 4 | # You may not use this file except in compliance with the License. 5 | # A copy of the License is located at 6 | # 7 | # http://aws.amazon.com/apache2.0/ 8 | # 9 | # or in the "LICENSE.txt" file accompanying this file. 10 | # This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or implied. 11 | # See the License for the specific language governing permissions and limitations under the License. 12 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/basic/test_essential_features/test_essential_features/failing_post_install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | echo "This script can't stop, won't stop." 1>&2 3 | exit 1 4 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/basic/test_essential_features/test_essential_features/mpi_ssh.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | _openmpi_module=$1 5 | _remote_host=$2 6 | 7 | module load ${_openmpi_module} 8 | $(which mpirun) --host ${_remote_host} hostname 9 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/basic/test_essential_features/test_essential_features/post_install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "post-install script has $# arguments" 4 | for arg in "$@" 5 | do 6 | echo "arg: ${arg}" 7 | done 8 | 9 | case $# in 10 | 3) 11 | exit 0 12 | ;; 13 | *) 14 | exit 1 15 | esac 16 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/basic/test_essential_features/test_essential_features/pre_install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "pre-install script has $# arguments" 4 | for arg in "$@" 5 | do 6 | echo "arg: ${arg}" 7 | done 8 | 9 | case $# in 10 | 3) 11 | exit 0 12 | ;; 13 | *) 14 | exit 1 15 | esac 16 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/capacity_reservations/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"). 4 | # You may not use this file except in compliance with the License. 5 | # A copy of the License is located at 6 | # 7 | # http://aws.amazon.com/apache2.0/ 8 | # 9 | # or in the "LICENSE.txt" file accompanying this file. 10 | # This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or implied. 11 | # See the License for the specific language governing permissions and limitations under the License. 12 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/cli_commands/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance 4 | # with the License. A copy of the License is located at 5 | # 6 | # http://aws.amazon.com/apache2.0/ 7 | # 8 | # or in the "LICENSE.txt" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 9 | # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions and 10 | # limitations under the License. 11 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/cloudwatch_logging/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance 4 | # with the License. A copy of the License is located at 5 | # 6 | # http://aws.amazon.com/apache2.0/ 7 | # 8 | # or in the "LICENSE.txt" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 9 | # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions and 10 | # limitations under the License. 11 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/cloudwatch_logging/test_compute_console_output_logging/test_custom_action_error/on_node_start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | exit 1 3 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/common/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance 4 | # with the License. A copy of the License is located at 5 | # 6 | # http://aws.amazon.com/apache2.0/ 7 | # 8 | # or in the "LICENSE.txt" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 9 | # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions and 10 | # limitations under the License. 11 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/common/data/mpi/mpi_submit_openmpi.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | rm -f /shared/mpi.out 5 | module load openmpi 6 | mpirun --map-by ppr:1:node --timeout 20 "ring" >> /shared/mpi.out 7 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/common/data/osu/osu-micro-benchmarks-5.7.1.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/tests/integration-tests/tests/common/data/osu/osu-micro-benchmarks-5.7.1.tgz -------------------------------------------------------------------------------- /tests/integration-tests/tests/common/data/osu/osu_collective_submit_intelmpi.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | BENCHMARK_NAME={{ benchmark_name }} 5 | OSU_BENCHMARK_VERSION={{ osu_benchmark_version }} 6 | NUM_OF_PROCESSES={{ num_of_processes }} 7 | 8 | module load intelmpi 9 | export I_MPI_DEBUG=10 10 | 11 | env 12 | 13 | # Run collective benchmark. The collective operations are close to what a real application looks like. 14 | # -np total number of processes to run (all vCPUs * N compute nodes), divided by 2 if multithreading is disabled 15 | mpirun -bootstrap=slurm -np ${NUM_OF_PROCESSES} /shared/intelmpi/osu-micro-benchmarks-${OSU_BENCHMARK_VERSION}/mpi/collective/${BENCHMARK_NAME} > /shared/${BENCHMARK_NAME}.out 16 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/common/data/osu/osu_collective_submit_openmpi.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | BENCHMARK_NAME={{ benchmark_name }} 5 | OSU_BENCHMARK_VERSION={{ osu_benchmark_version }} 6 | NUM_OF_PROCESSES={{ num_of_processes }} 7 | 8 | module load openmpi 9 | 10 | env 11 | 12 | # Run collective benchmark. The collective operations are close to what a real application looks like. 13 | # -np total number of processes to run (all vCPUs * N compute nodes), divided by 2 if multithreading is disabled 14 | mpirun -np ${NUM_OF_PROCESSES} /shared/openmpi/osu-micro-benchmarks-${OSU_BENCHMARK_VERSION}/mpi/collective/${BENCHMARK_NAME} > /shared/${BENCHMARK_NAME}.out 15 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/common/data/osu/osu_mbw_mr_submit_openmpi.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | module load openmpi 4 | 5 | BENCHMARK_NAME={{ benchmark_name }} 6 | OSU_BENCHMARK_VERSION={{ osu_benchmark_version }} 7 | 8 | env 9 | 10 | # Run multiple bandwidth/message rate benchmark 11 | # NOTE: The test is sized for two P4d compute nodes. 12 | # -N: number of processes per node (48, 1 for each CPU) 13 | # -n total number of processes to run (96, all CPUs from 2 nodes) 14 | # -x FI_EFA_USE_DEVICE_RDMA=1 Enables RDMA support 15 | mpirun --mca btl_tcp_if_exclude lo -n 96 -N 48 -x FI_EFA_USE_DEVICE_RDMA=1 /shared/openmpi/osu-micro-benchmarks-${OSU_BENCHMARK_VERSION}/mpi/pt2pt/${BENCHMARK_NAME} > /shared/${BENCHMARK_NAME}.out 16 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/common/data/osu/osu_pt2pt_submit_intelmpi.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | BENCHMARK_NAME={{ benchmark_name }} 5 | OSU_BENCHMARK_VERSION={{ osu_benchmark_version }} 6 | 7 | module load intelmpi 8 | export I_MPI_DEBUG=10 9 | 10 | env 11 | 12 | mpirun -bootstrap=slurm -np 2 -ppn 1 /shared/intelmpi/osu-micro-benchmarks-${OSU_BENCHMARK_VERSION}/mpi/pt2pt/${BENCHMARK_NAME} > /shared/${BENCHMARK_NAME}.out 13 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/common/data/osu/osu_pt2pt_submit_openmpi.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | BENCHMARK_NAME={{ benchmark_name }} 5 | OSU_BENCHMARK_VERSION={{ osu_benchmark_version }} 6 | 7 | module load openmpi 8 | 9 | env 10 | 11 | mpirun -np 2 --map-by ppr:1:node /shared/openmpi/osu-micro-benchmarks-${OSU_BENCHMARK_VERSION}/mpi/pt2pt/${BENCHMARK_NAME} > /shared/${BENCHMARK_NAME}.out 12 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/common/scaling/scaling_test_config.yaml: -------------------------------------------------------------------------------- 1 | MaxMonitoringTimeInMins: 20 2 | ScalingTargets: [1500, 2000] 3 | HeadNodeInstanceType: 'c5n.18xlarge' 4 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/common/scaling/scaling_test_config_schema.yaml: -------------------------------------------------------------------------------- 1 | type: map 2 | mapping: 3 | MaxMonitoringTimeInMins: 4 | type: int 5 | required: true 6 | ScalingTargets: 7 | type: seq 8 | required: true 9 | sequence: 10 | - type: int 11 | HeadNodeInstanceType: 12 | type: str 13 | required: true 14 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/common/storage/constants.py: -------------------------------------------------------------------------------- 1 | from enum import Enum 2 | 3 | 4 | class StorageType(Enum): 5 | """Types of storage resources.""" 6 | 7 | STORAGE_EBS = "EBS" 8 | STORAGE_EFS = "EFS" 9 | STORAGE_FSX = "FSX" 10 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/create/test_create/test_create_imds_secured/pcluster.config.yaml: -------------------------------------------------------------------------------- 1 | Image: 2 | Os: {{ os }} 3 | HeadNode: 4 | InstanceType: {{ instance }} 5 | Networking: 6 | SubnetId: {{ public_subnet_id }} 7 | Ssh: 8 | KeyName: {{ key_name }} 9 | Imds: 10 | Secured: {{ imds_secured }} 11 | Scheduling: 12 | Scheduler: {{ scheduler }} 13 | {% if scheduler == "awsbatch" %}AwsBatchQueues:{% else %}SlurmQueues:{% endif %} 14 | - Name: compute 15 | ComputeResources: 16 | - Name: compute-i1 17 | Instances: 18 | - InstanceType: {{ instance }} 19 | Networking: 20 | SubnetIds: 21 | - {{ private_subnet_id }} 22 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/create/test_create/test_create_wrong_os/pcluster.config.yaml: -------------------------------------------------------------------------------- 1 | Image: 2 | Os: {{ os }} 3 | CustomAmi: {{ custom_ami }} 4 | HeadNode: 5 | InstanceType: {{ instance }} 6 | Networking: 7 | SubnetId: {{ public_subnet_id }} 8 | Ssh: 9 | KeyName: {{ key_name }} 10 | Imds: 11 | Secured: {{ imds_secured }} 12 | Scheduling: 13 | Scheduler: {{ scheduler }} 14 | {% if scheduler == "awsbatch" %}AwsBatchQueues:{% else %}SlurmQueues:{% endif %} 15 | - Name: compute 16 | ComputeResources: 17 | - Name: compute-i1 18 | Instances: 19 | - InstanceType: {{ instance }} 20 | Networking: 21 | SubnetIds: 22 | - {{ private_subnet_id }} 23 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/createami/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/tests/integration-tests/tests/createami/__init__.py -------------------------------------------------------------------------------- /tests/integration-tests/tests/createami/test_createami/test_build_image/pcluster.config.yaml: -------------------------------------------------------------------------------- 1 | Image: 2 | Os: {{ os }} 3 | CustomAmi: {{ custom_ami }} 4 | HeadNode: 5 | InstanceType: {{ instance }} 6 | Networking: 7 | SubnetId: {{ public_subnet_id }} 8 | Ssh: 9 | KeyName: {{ key_name }} 10 | Imds: 11 | Secured: False 12 | Scheduling: 13 | Scheduler: slurm 14 | SlurmQueues: 15 | - Name: queue1 16 | Networking: 17 | SubnetIds: 18 | - {{ private_subnet_id }} 19 | ComputeResources: 20 | - Name: compute-resource1 21 | Instances: 22 | - InstanceType: {{ instance }} -------------------------------------------------------------------------------- /tests/integration-tests/tests/createami/test_createami/test_build_image_custom_components/custom_script.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | yum -y install vim 3 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/createami/test_createami/test_build_image_custom_components/custom_script_ubuntu.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | apt update -y 3 | apt-get install -y nodejs -------------------------------------------------------------------------------- /tests/integration-tests/tests/createami/test_createami/test_build_image_custom_components/image.config.yaml: -------------------------------------------------------------------------------- 1 | Build: 2 | InstanceType: {{ instance_type }} 3 | ParentImage: {{ parent_image }} 4 | Components: 5 | - Type: arn 6 | Value: arn:{{ partition }}:imagebuilder:{{ region }}:aws:component/hello-world-linux/1.0.0/1 7 | - Type: script 8 | Value: s3://{{ bucket_name }}/scripts/custom_script.sh 9 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/createami/test_createami/test_build_image_wrong_pcluster_version/image.config.yaml: -------------------------------------------------------------------------------- 1 | Build: 2 | InstanceType: {{ instance_type }} 3 | ParentImage: {{ parent_image }} 4 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/createami/test_createami/test_invalid_config/image.config.yaml: -------------------------------------------------------------------------------- 1 | Image: 2 | RootVolume: 3 | Size: 200 4 | Encrypted: True 5 | 6 | Build: 7 | InstanceType: {{ instance }} 8 | ParentImage: {{ parent_image }} 9 | 10 | CustomS3Bucket: {{ bucket_name }} 11 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/createami/test_createami/test_invalid_config/warnings.image.config.yaml: -------------------------------------------------------------------------------- 1 | Image: 2 | RootVolume: 3 | Size: 200 4 | Encrypted: True 5 | 6 | DevSettings: 7 | NodePackage: "s3://test/aws-parallelcluster-node-3.0.tgz" 8 | 9 | Build: 10 | InstanceType: c5.xlarge 11 | ParentImage: {{ parent_image }} 12 | 13 | CustomS3Bucket: {{ bucket_name }} 14 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/createami/test_createami/test_kernel4_build_image_run_cluster/image.config.yaml: -------------------------------------------------------------------------------- 1 | Build: 2 | InstanceType: {{ instance }} 3 | ParentImage: {{ parent_image }} 4 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/createami/test_createami/test_kernel4_build_image_run_cluster/pcluster.config.yaml: -------------------------------------------------------------------------------- 1 | Image: 2 | Os: {{ os }} 3 | CustomAmi: {{ custom_ami }} 4 | HeadNode: 5 | InstanceType: {{ instance }} 6 | Networking: 7 | SubnetId: {{ public_subnet_id }} 8 | Ssh: 9 | KeyName: {{ key_name }} 10 | Imds: 11 | Secured: False 12 | Scheduling: 13 | Scheduler: slurm 14 | SlurmQueues: 15 | - Name: queue1 16 | Networking: 17 | SubnetIds: 18 | - {{ private_subnet_id }} 19 | ComputeResources: 20 | - Name: compute-resource1 21 | Instances: 22 | - InstanceType: {{ instance }} -------------------------------------------------------------------------------- /tests/integration-tests/tests/custom_resource/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"). 4 | # You may not use this file except in compliance with the License. 5 | # A copy of the License is located at 6 | # 7 | # http://aws.amazon.com/apache2.0/ 8 | # 9 | # or in the "LICENSE.txt" file accompanying this file. 10 | # This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or implied. 11 | # See the License for the specific language governing permissions and limitations under the License. 12 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/custom_resource/test_cluster_custom_resource/test_cluster_create_with_custom_policies/pcluster.config.yaml: -------------------------------------------------------------------------------- 1 | Imds: 2 | ImdsSupport: v2.0 3 | Tags: 4 | - Key: inside_configuration_key 5 | Value: overridden 6 | Image: 7 | Os: {{ os }} 8 | HeadNode: 9 | InstanceType: {{ instance }} 10 | Networking: 11 | SubnetId: {{ public_subnet_id }} 12 | Scheduling: 13 | Scheduler: slurm 14 | SlurmQueues: 15 | - Name: queue0 16 | ComputeResources: 17 | - Name: queue0-cr0 18 | InstanceType: {{ instance }} 19 | MaxCount: 16 20 | Networking: 21 | SubnetIds: 22 | - {{ private_subnet_id }} -------------------------------------------------------------------------------- /tests/integration-tests/tests/custom_resource/test_cluster_custom_resource/test_cluster_delete_out_of_band/pcluster.config.yaml: -------------------------------------------------------------------------------- 1 | Imds: 2 | ImdsSupport: v2.0 3 | Tags: 4 | - Key: inside_configuration_key 5 | Value: overridden 6 | Image: 7 | Os: {{ os }} 8 | HeadNode: 9 | InstanceType: {{ instance }} 10 | Networking: 11 | SubnetId: {{ public_subnet_id }} 12 | Scheduling: 13 | Scheduler: slurm 14 | SlurmQueues: 15 | - Name: queue0 16 | ComputeResources: 17 | - Name: queue0-cr0 18 | InstanceType: {{ instance }} 19 | MaxCount: 16 20 | Networking: 21 | SubnetIds: 22 | - {{ private_subnet_id }} -------------------------------------------------------------------------------- /tests/integration-tests/tests/custom_resource/test_cluster_custom_resource/test_cluster_delete_retain/pcluster.config.yaml: -------------------------------------------------------------------------------- 1 | Imds: 2 | ImdsSupport: v2.0 3 | Tags: 4 | - Key: inside_configuration_key 5 | Value: overridden 6 | Image: 7 | Os: {{ os }} 8 | HeadNode: 9 | InstanceType: {{ instance }} 10 | Networking: 11 | SubnetId: {{ public_subnet_id }} 12 | Scheduling: 13 | Scheduler: slurm 14 | SlurmQueues: 15 | - Name: queue0 16 | ComputeResources: 17 | - Name: queue0-cr0 18 | InstanceType: {{ instance }} 19 | MaxCount: 16 20 | Networking: 21 | SubnetIds: 22 | - {{ private_subnet_id }} -------------------------------------------------------------------------------- /tests/integration-tests/tests/custom_resource/test_cluster_custom_resource/test_cluster_update_invalid/pcluster.config.negativemaxcount.yaml: -------------------------------------------------------------------------------- 1 | Imds: 2 | ImdsSupport: v2.0 3 | Tags: 4 | - Key: inside_configuration_key 5 | Value: overridden 6 | Image: 7 | Os: {{ os }} 8 | HeadNode: 9 | InstanceType: {{ instance }} 10 | Networking: 11 | SubnetId: {{ public_subnet_id }} 12 | Scheduling: 13 | Scheduler: slurm 14 | SlurmQueues: 15 | - Name: queue0 16 | ComputeResources: 17 | - Name: queue0-cr0 18 | InstanceType: {{ instance }} 19 | MaxCount: -10 20 | Networking: 21 | SubnetIds: 22 | - {{ private_subnet_id }} -------------------------------------------------------------------------------- /tests/integration-tests/tests/custom_resource/test_cluster_custom_resource/test_cluster_update_invalid/pcluster.config.reducemaxcount.yaml: -------------------------------------------------------------------------------- 1 | Imds: 2 | ImdsSupport: v2.0 3 | Tags: 4 | - Key: inside_configuration_key 5 | Value: overridden 6 | Image: 7 | Os: {{ os }} 8 | HeadNode: 9 | InstanceType: {{ instance }} 10 | Networking: 11 | SubnetId: {{ public_subnet_id }} 12 | Scheduling: 13 | Scheduler: slurm 14 | SlurmQueues: 15 | - Name: queue0 16 | ComputeResources: 17 | - Name: queue0-cr0 18 | InstanceType: {{ instance }} 19 | MaxCount: 10 20 | Networking: 21 | SubnetIds: 22 | - {{ private_subnet_id }} -------------------------------------------------------------------------------- /tests/integration-tests/tests/custom_resource/test_cluster_custom_resource/test_cluster_update_invalid/pcluster.config.wrongscripturi.yaml: -------------------------------------------------------------------------------- 1 | Imds: 2 | ImdsSupport: v2.0 3 | Tags: 4 | - Key: inside_configuration_key 5 | Value: overridden 6 | Image: 7 | Os: {{ os }} 8 | HeadNode: 9 | InstanceType: {{ instance }} 10 | Networking: 11 | SubnetId: {{ public_subnet_id }} 12 | CustomActions: 13 | OnNodeConfigured: 14 | Script: s3://invalid 15 | Scheduling: 16 | Scheduler: slurm 17 | SlurmQueues: 18 | - Name: queue0 19 | ComputeResources: 20 | - Name: queue0-cr0 21 | InstanceType: {{ instance }} 22 | MaxCount: 16 23 | Networking: 24 | SubnetIds: 25 | - {{ private_subnet_id }} -------------------------------------------------------------------------------- /tests/integration-tests/tests/custom_resource/test_cluster_custom_resource/test_cluster_update_invalid/pcluster.config.yaml: -------------------------------------------------------------------------------- 1 | Imds: 2 | ImdsSupport: v2.0 3 | Tags: 4 | - Key: inside_configuration_key 5 | Value: overridden 6 | Image: 7 | Os: {{ os }} 8 | HeadNode: 9 | InstanceType: {{ instance }} 10 | Networking: 11 | SubnetId: {{ public_subnet_id }} 12 | Scheduling: 13 | Scheduler: slurm 14 | SlurmQueues: 15 | - Name: queue0 16 | ComputeResources: 17 | - Name: queue0-cr0 18 | InstanceType: {{ instance }} 19 | MaxCount: 16 20 | Networking: 21 | SubnetIds: 22 | - {{ private_subnet_id }} -------------------------------------------------------------------------------- /tests/integration-tests/tests/custom_resource/test_cluster_custom_resource/test_cluster_update_tag_propagation/pcluster.config.yaml: -------------------------------------------------------------------------------- 1 | Imds: 2 | ImdsSupport: v2.0 3 | Tags: 4 | - Key: inside_configuration_key 5 | Value: overridden 6 | Image: 7 | Os: {{ os }} 8 | HeadNode: 9 | InstanceType: {{ instance }} 10 | Networking: 11 | SubnetId: {{ public_subnet_id }} 12 | Scheduling: 13 | Scheduler: slurm 14 | SlurmQueues: 15 | - Name: queue0 16 | ComputeResources: 17 | - Name: queue0-cr0 18 | InstanceType: {{ instance }} 19 | MaxCount: {{ max_count }} 20 | Networking: 21 | SubnetIds: 22 | - {{ private_subnet_id }} -------------------------------------------------------------------------------- /tests/integration-tests/tests/dcv/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"). 4 | # You may not use this file except in compliance with the License. 5 | # A copy of the License is located at 6 | # 7 | # http://aws.amazon.com/apache2.0/ 8 | # 9 | # or in the "LICENSE.txt" file accompanying this file. 10 | # This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or implied. 11 | # See the License for the specific language governing permissions and limitations under the License. 12 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/dcv/test_dcv/test_dcv_configuration/verify_no_core_files.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -x 3 | 4 | CRASHDIR=/var/crash 5 | 6 | # There are no crash files if the directory doesn't exist 7 | [ -d ${CRASHDIR} ] || exit 0 8 | 9 | # Exit nonzero if there are any files 10 | crash_files="$(ls -A ${CRASHDIR})" 11 | if [ -n "${crash_files}" ]; then 12 | echo "Found crash files in ${CRASHDIR}: ${crash_files}" 13 | exit 1 14 | fi 15 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/dcv/test_dcv/test_dcv_with_remote_access/verify_no_core_files.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -x 3 | 4 | CRASHDIR=/var/crash 5 | 6 | # There are no crash files if the directory doesn't exist 7 | [ -d ${CRASHDIR} ] || exit 0 8 | 9 | # Exit nonzero if there are any files 10 | crash_files="$(ls -A ${CRASHDIR})" 11 | if [ -n "${crash_files}" ]; then 12 | echo "Found crash files in ${CRASHDIR}: ${crash_files}" 13 | exit 1 14 | fi 15 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/efa/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance 4 | # with the License. A copy of the License is located at 5 | # 6 | # http://aws.amazon.com/apache2.0/ 7 | # 8 | # or in the "LICENSE.txt" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 9 | # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions and 10 | # limitations under the License. 11 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/health_checks/test_gpu_health_checks/test_cluster_with_gpu_health_checks/mock_failing_gpu_health_check.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | mkdir -p $HOME/mock_health_checks 4 | sudo tee $HOME/mock_health_checks/gpu_health_check.sh > /dev/null < /dev/null <> "${SLURMDBD_CONFIG_FILE}" 18 | 19 | echo "Restarting slurmdbd service" 20 | systemctl restart slurmdbd 21 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/spot/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/83df1f242747929f93c4ea226d5320241d6cd6cd/tests/integration-tests/tests/spot/__init__.py -------------------------------------------------------------------------------- /tests/integration-tests/tests/storage/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"). 4 | # You may not use this file except in compliance with the License. 5 | # A copy of the License is located at 6 | # 7 | # http://aws.amazon.com/apache2.0/ 8 | # 9 | # or in the "LICENSE.txt" file accompanying this file. 10 | # This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or implied. 11 | # See the License for the specific language governing permissions and limitations under the License. 12 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/storage/test_fsx_lustre/test_file_cache/s3_test_file: -------------------------------------------------------------------------------- 1 | Downloaded by FSx Lustre 2 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/storage/test_fsx_lustre/test_fsx_lustre/s3_test_file: -------------------------------------------------------------------------------- 1 | Downloaded by FSx Lustre 2 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/storage/test_fsx_lustre/test_fsx_lustre_configuration_options/s3_test_file: -------------------------------------------------------------------------------- 1 | Downloaded by FSx Lustre 2 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/storage/test_fsx_lustre/test_fsx_lustre_dra/s3_test_file: -------------------------------------------------------------------------------- 1 | Downloaded by FSx Lustre 2 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/storage/test_fsx_lustre/test_multi_az_fsx/s3_test_file: -------------------------------------------------------------------------------- 1 | Downloaded by FSx Lustre -------------------------------------------------------------------------------- /tests/integration-tests/tests/storage/test_fsx_lustre/test_multiple_fsx/s3_test_file: -------------------------------------------------------------------------------- 1 | Downloaded by FSx Lustre -------------------------------------------------------------------------------- /tests/integration-tests/tests/storage/test_shared_home/test_shared_home/s3_test_file: -------------------------------------------------------------------------------- 1 | Downloaded by FSx Lustre 2 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/update/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"). 4 | # You may not use this file except in compliance with the License. 5 | # A copy of the License is located at 6 | # 7 | # http://aws.amazon.com/apache2.0/ 8 | # 9 | # or in the "LICENSE.txt" file accompanying this file. 10 | # This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or implied. 11 | # See the License for the specific language governing permissions and limitations under the License. 12 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/update/test_update/test_dynamic_file_systems_update/s3_test_file: -------------------------------------------------------------------------------- 1 | Downloaded by FSx Lustre -------------------------------------------------------------------------------- /tests/integration-tests/tests/update/test_update/test_dynamic_file_systems_update_rollback/s3_test_file: -------------------------------------------------------------------------------- 1 | Downloaded by FSx Lustre -------------------------------------------------------------------------------- /tests/integration-tests/tests/update/test_update/test_update_instance_list/failing_post_install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | exit 1 3 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/users/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2024 Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"). 4 | # You may not use this file except in compliance with the License. 5 | # A copy of the License is located at 6 | # 7 | # http://aws.amazon.com/apache2.0/ 8 | # 9 | # or in the "LICENSE.txt" file accompanying this file. 10 | # This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or implied. 11 | # See the License for the specific language governing permissions and limitations under the License. 12 | -------------------------------------------------------------------------------- /tests/integration-tests/tox.ini: -------------------------------------------------------------------------------- 1 | [tox] 2 | toxworkdir=../../.tox 3 | 4 | [testenv:validate-test-configs] 5 | basepython = python3 6 | skip_install = true 7 | deps = -r requirements.txt 8 | commands = 9 | pip install ../../cli 10 | python -m framework.tests_configuration.config_validator {posargs:--tests-configs-dir configs/} --tests-root-dir tests/ 11 | 12 | [testenv:generate-test-config] 13 | basepython = python3 14 | skip_install = true 15 | deps = -r requirements.txt 16 | commands = 17 | python -m framework.tests_configuration.config_generator --output-file {posargs} --tests-root-dir tests/ 18 | 19 | [pytest] 20 | # No options, section required to define pytest root dir. 21 | --------------------------------------------------------------------------------