├── api ├── client │ ├── src │ │ ├── test │ │ │ └── __init__.py │ │ ├── .openapi-generator │ │ │ └── VERSION │ │ ├── test-requirements.txt │ │ ├── setup.cfg │ │ ├── requirements.txt │ │ ├── tox.ini │ │ ├── pcluster_client │ │ │ ├── api │ │ │ │ └── __init__.py │ │ │ └── model │ │ │ │ └── __init__.py │ │ ├── .travis.yml │ │ ├── docs │ │ │ ├── NodeType.md │ │ │ ├── LoginNodesState.md │ │ │ ├── ValidationLevel.md │ │ │ ├── ImageStatusFilteringOption.md │ │ │ ├── Ec2AmiState.md │ │ │ ├── InstanceState.md │ │ │ ├── RequestedComputeFleetStatus.md │ │ │ ├── ImageBuildStatus.md │ │ │ ├── ComputeFleetStatus.md │ │ │ ├── ImageBuilderImageStatus.md │ │ │ ├── ClusterStatus.md │ │ │ ├── Ec2AmiInfoSummary.md │ │ │ ├── ClusterStatusFilteringOption.md │ │ │ ├── LogEvent.md │ │ │ ├── Metadata.md │ │ │ ├── Tag.md │ │ │ ├── Scheduler.md │ │ │ ├── DeleteImageResponseContent.md │ │ │ ├── ListOfficialImagesResponseContent.md │ │ │ ├── DeleteClusterResponseContent.md │ │ │ ├── ImageConfigurationStructure.md │ │ │ ├── ClusterConfigurationStructure.md │ │ │ ├── UpdateClusterRequestContent.md │ │ │ ├── UpdateComputeFleetRequestContent.md │ │ │ ├── Change.md │ │ │ ├── AmiInfo.md │ │ │ ├── NotFoundExceptionResponseContent.md │ │ │ ├── InternalServiceExceptionResponseContent.md │ │ │ ├── BadRequestExceptionResponseContent.md │ │ │ ├── BuildImageRequestContent.md │ │ │ ├── LimitExceededExceptionResponseContent.md │ │ │ ├── ListImagesResponseContent.md │ │ │ ├── UnauthorizedClientErrorResponseContent.md │ │ │ ├── ConflictExceptionResponseContent.md │ │ │ ├── ListClusterLogStreamsResponseContent.md │ │ │ ├── ListClustersResponseContent.md │ │ │ ├── ListImageLogStreamsResponseContent.md │ │ │ ├── UpdateError.md │ │ │ ├── CreateClusterRequestContent.md │ │ │ ├── GetImageStackEventsResponseContent.md │ │ │ ├── GetClusterStackEventsResponseContent.md │ │ │ └── DescribeClusterInstancesResponseContent.md │ │ └── .gitlab-ci.yml │ ├── requirements.txt │ └── resources │ │ ├── client-requirements.txt.patch │ │ └── setup.py.patch ├── spec │ ├── openapi │ │ └── .gitignore │ ├── smithy │ │ ├── gradle.properties │ │ ├── .gitignore │ │ ├── smithy-build.json │ │ ├── settings.gradle.kts │ │ └── model │ │ │ ├── types │ │ │ └── LoginNodesPool.smithy │ │ │ └── resources │ │ │ └── ImageResource.smithy │ ├── run-swagger-ui.sh │ ├── spec_overrides.sh │ ├── generate-redoc-bundle.sh │ └── build-model.sh ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── .gitattributes ├── tox.ini ├── .gitignore └── settings.gradle.kts ├── cli ├── .bandit.ini ├── src │ ├── pcluster │ │ ├── api │ │ │ ├── __init__.py │ │ │ ├── openapi │ │ │ │ └── __init__.py │ │ │ ├── controllers │ │ │ │ └── __init__.py │ │ │ └── awslambda │ │ │ │ └── __init__.py │ │ ├── aws │ │ │ └── __init__.py │ │ ├── config │ │ │ └── __init__.py │ │ ├── models │ │ │ └── __init__.py │ │ ├── cli │ │ │ ├── commands │ │ │ │ ├── configure │ │ │ │ │ └── __init__.py │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ ├── resources │ │ │ ├── imagebuilder │ │ │ │ └── parallelcluster_validate.yaml │ │ │ ├── custom_resources │ │ │ │ └── custom_resources_code │ │ │ │ │ ├── crhelper │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── NOTICE │ │ │ │ │ └── __init__.py │ │ │ ├── supported-regions │ │ │ └── batch │ │ │ │ └── docker │ │ │ │ └── buildspec.yml │ │ ├── __init__.py │ │ ├── schemas │ │ │ └── __init__.py │ │ ├── templates │ │ │ └── __init__.py │ │ ├── validators │ │ │ └── __init__.py │ │ └── networking │ │ │ └── __init__.py │ ├── __init__.py │ └── pcluster3_config_converter │ │ └── __init__.py ├── tests │ ├── pcluster │ │ ├── aws │ │ │ └── __init__.py │ │ ├── models │ │ │ └── __init__.py │ │ ├── cli │ │ │ ├── configure │ │ │ │ ├── __init__.py │ │ │ │ └── test_pcluster_configure │ │ │ │ │ ├── test_with_region_arg │ │ │ │ │ ├── error.txt │ │ │ │ │ └── pcluster.config.yaml │ │ │ │ │ ├── test_efa_not_supported │ │ │ │ │ ├── error.txt │ │ │ │ │ └── pcluster.config.yaml │ │ │ │ │ ├── test_filtered_subnets_by_az │ │ │ │ │ ├── error.txt │ │ │ │ │ └── pcluster.config.yaml │ │ │ │ │ ├── test_disabled_efa_no_placement_group │ │ │ │ │ ├── error.txt │ │ │ │ │ └── pcluster.config.yaml │ │ │ │ │ ├── test_vpc_automation_no_vpc_in_region │ │ │ │ │ ├── error.txt │ │ │ │ │ └── pcluster.config.yaml │ │ │ │ │ ├── test_enabled_efa_default_placement_group │ │ │ │ │ └── error.txt │ │ │ │ │ ├── test_enabled_efa_existing_placement_group │ │ │ │ │ └── error.txt │ │ │ │ │ ├── test_no_automation_no_awsbatch_no_errors │ │ │ │ │ ├── error.txt │ │ │ │ │ └── pcluster.config.yaml │ │ │ │ │ ├── test_no_automation_yes_awsbatch_no_errors │ │ │ │ │ ├── error.txt │ │ │ │ │ └── pcluster.config.yaml │ │ │ │ │ ├── test_no_input_no_automation_no_errors │ │ │ │ │ ├── error.txt │ │ │ │ │ └── pcluster.config.yaml │ │ │ │ │ ├── test_vpc_automation_no_awsbatch_no_errors │ │ │ │ │ ├── error.txt │ │ │ │ │ └── pcluster.config.yaml │ │ │ │ │ ├── test_enabled_efa_non_existent_placement_group │ │ │ │ │ └── error.txt │ │ │ │ │ ├── test_subnet_automation_no_awsbatch_no_errors │ │ │ │ │ ├── error.txt │ │ │ │ │ └── pcluster.config.yaml │ │ │ │ │ ├── test_vpc_automation_no_vpc_in_region_public │ │ │ │ │ ├── error.txt │ │ │ │ │ └── pcluster.config.yaml │ │ │ │ │ ├── test_vpc_automation_yes_awsbatch_no_errors │ │ │ │ │ ├── error.txt │ │ │ │ │ └── pcluster.config.yaml │ │ │ │ │ ├── test_subnet_automation_yes_awsbatch_invalid_vpc │ │ │ │ │ ├── error.txt │ │ │ │ │ └── pcluster.config.yaml │ │ │ │ │ └── test_subnet_automation_no_awsbatch_no_errors_empty_vpc │ │ │ │ │ ├── error.txt │ │ │ │ │ └── pcluster.config.yaml │ │ │ ├── test_model │ │ │ │ └── TestCliModel │ │ │ │ │ └── test_file │ │ │ │ │ └── file.txt │ │ │ ├── test_build_image │ │ │ │ └── TestBuildImageCommand │ │ │ │ │ ├── test_error │ │ │ │ │ └── config.yaml │ │ │ │ │ ├── test_execute │ │ │ │ │ └── config.yaml │ │ │ │ │ ├── test_invalid_args │ │ │ │ │ └── file │ │ │ │ │ ├── test_no_nodejs_error │ │ │ │ │ └── config.yaml │ │ │ │ │ └── test_nodejs_wrong_version_error │ │ │ │ │ └── config.yaml │ │ │ ├── test_create_cluster │ │ │ │ └── TestCreateClusterCommand │ │ │ │ │ ├── test_error │ │ │ │ │ └── config.yaml │ │ │ │ │ ├── test_execute │ │ │ │ │ └── config.yaml │ │ │ │ │ ├── test_invalid_args │ │ │ │ │ └── config.yaml │ │ │ │ │ ├── test_execute_with_wait │ │ │ │ │ └── config.yaml │ │ │ │ │ ├── test_no_nodejs_error │ │ │ │ │ └── config.yaml │ │ │ │ │ ├── test_nodejs_wrong_version_error │ │ │ │ │ └── config.yaml │ │ │ │ │ └── test_nodejs_incompatible_version_error │ │ │ │ │ └── config.yaml │ │ │ ├── test_update_cluster │ │ │ │ └── TestUpdateClusterCommand │ │ │ │ │ ├── test_error │ │ │ │ │ └── config.yaml │ │ │ │ │ ├── test_execute │ │ │ │ │ └── config.yaml │ │ │ │ │ ├── test_invalid_args │ │ │ │ │ └── config.yaml │ │ │ │ │ ├── test_execute_with_wait │ │ │ │ │ └── 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 │ │ │ ├── test_configure │ │ │ │ └── TestConfigureCommand │ │ │ │ │ └── test_helper │ │ │ │ │ └── pcluster-help.txt │ │ │ ├── test_get_image_log_events │ │ │ │ └── TestGetImageLogEventsCommand │ │ │ │ │ └── test_execute │ │ │ │ │ └── pcluster-out.txt │ │ │ ├── test_get_cluster_log_events │ │ │ │ └── TestGetClusterLogEventsCommand │ │ │ │ │ └── test_execute │ │ │ │ │ └── pcluster-out.txt │ │ │ ├── test_describe_image │ │ │ │ └── TestDescribeImageCommand │ │ │ │ │ └── test_helper │ │ │ │ │ └── pcluster-help.txt │ │ │ ├── test_delete_cluster │ │ │ │ └── TestDeleteClusterCommand │ │ │ │ │ └── test_helper │ │ │ │ │ └── pcluster-help.txt │ │ │ ├── test_entrypoint │ │ │ │ └── TestParallelClusterCli │ │ │ │ │ └── test_no_command │ │ │ │ │ └── pcluster-command-error.txt │ │ │ ├── test_describe_cluster │ │ │ │ └── TestDescribeClusterCommand │ │ │ │ │ └── test_helper │ │ │ │ │ └── pcluster-help.txt │ │ │ └── test_describe_compute_fleet │ │ │ │ └── TestDescribeComputeFleetCommand │ │ │ │ └── test_helper │ │ │ │ └── pcluster-help.txt │ │ ├── templates │ │ │ ├── test_login_nodes_stack │ │ │ │ └── test_login_nodes_dna_json │ │ │ │ │ ├── extra-1.json │ │ │ │ │ └── extra-2.json │ │ │ ├── test_queues_stack │ │ │ │ ├── test_compute_nodes_dna_json │ │ │ │ │ ├── extra-1.json │ │ │ │ │ ├── extra-2.json │ │ │ │ │ └── config-1.yaml │ │ │ │ └── test_compute_nodes_iam_permissions │ │ │ │ │ └── config.yaml │ │ │ ├── test_scheduling │ │ │ │ ├── test_head_node_base_pass_role │ │ │ │ │ └── config.yaml │ │ │ │ ├── test_additional_security_groups │ │ │ │ │ └── config.yaml │ │ │ │ ├── test_head_node_custom_pass_role │ │ │ │ │ └── config.yaml │ │ │ │ └── test_permissions_for_slurm_db_secret │ │ │ │ │ └── config.yaml │ │ │ ├── test_additional_packages │ │ │ │ └── test_intel_hpc_platform │ │ │ │ │ ├── config-disabled.yaml │ │ │ │ │ └── config-enabled.yaml │ │ │ ├── test_dev_settings │ │ │ │ └── test_custom_cookbook │ │ │ │ │ └── config.yaml │ │ │ ├── test_iam │ │ │ │ └── test_iam_permissions_boundary │ │ │ │ │ └── config.yaml │ │ │ ├── test_capacity_reservation │ │ │ │ ├── test_capacity_reservation_id_permissions │ │ │ │ │ └── config.yaml │ │ │ │ └── test_capacity_reservation_group_arns_permissions │ │ │ │ │ └── config.yaml │ │ │ ├── test_cluster_stack │ │ │ │ ├── test_custom_munge_key_iam_policy │ │ │ │ │ └── config.yaml │ │ │ │ ├── test_add_efs_shared_storage │ │ │ │ │ ├── config-default.yaml │ │ │ │ │ ├── config-encrypted.yaml │ │ │ │ │ └── config-unencrypted.yaml │ │ │ │ ├── test_head_node_dna_json │ │ │ │ │ ├── default-user-local-home.yaml │ │ │ │ │ └── slurm-imds-secured-true.yaml │ │ │ │ └── test_compute_launch_template_properties │ │ │ │ │ └── cluster-using-single-instance-type.yaml │ │ │ ├── __init__.py │ │ │ ├── test_shared_storage │ │ │ │ ├── test_efs_permissions │ │ │ │ │ └── config.yaml │ │ │ │ └── test_non_happy_storage │ │ │ │ │ └── file_cache_config.yaml │ │ │ └── test_cdk_builder_utils │ │ │ │ └── test_iam_resource_prefix_build_in_cdk │ │ │ │ ├── resourcePrefix.only_path_prefix.yaml │ │ │ │ ├── resourcePrefix.only_role_prefix.yaml │ │ │ │ └── resourcePrefix.both_path_n_role_prefix.yaml │ │ ├── schemas │ │ │ ├── test_imagebuilder_schema │ │ │ │ └── test_imagebuilder_schema │ │ │ │ │ └── imagebuilder_schema_required.yaml │ │ │ ├── test_cluster_schema │ │ │ │ ├── test_scheduler_constraints_for_custom_actions │ │ │ │ │ ├── awsbatch.no_actions.yaml │ │ │ │ │ └── slurm.no_actions.yaml │ │ │ │ └── test_scheduler_constraints_for_intel_packages │ │ │ │ │ ├── slurm.enabled.yaml │ │ │ │ │ ├── awsbatch.enabled.yaml │ │ │ │ │ └── slurm.disabled.yaml │ │ │ └── __init__.py │ │ ├── test.sh │ │ ├── example_configs │ │ │ └── slurm.required.yaml │ │ ├── api │ │ │ ├── __init__.py │ │ │ ├── awslambda │ │ │ │ └── __init__.py │ │ │ └── controllers │ │ │ │ ├── __init__.py │ │ │ │ └── utils.py │ │ ├── __init__.py │ │ ├── config │ │ │ ├── __init__.py │ │ │ └── test_config_patch │ │ │ │ └── test_tag_updates │ │ │ │ └── pcluster.config.yaml │ │ └── validators │ │ │ └── __init__.py │ ├── requirements.txt │ ├── pcluster3_config_converter │ │ └── test_pcluster3_config_converter │ │ │ └── test_pcluster3_config_converter │ │ │ ├── sit_base.ini │ │ │ ├── awsbatch_required.ini │ │ │ └── slurm_required.ini │ └── __init__.py ├── MANIFEST.in └── .isort.cfg ├── awsbatch-cli ├── .bandit.ini ├── requirements.txt ├── MANIFEST.in ├── tests │ ├── requirements.txt │ ├── awsbatch │ │ ├── test_awsbstat │ │ │ └── TestOutput │ │ │ │ ├── test_no_jobs_all_status │ │ │ │ └── expected_output.txt │ │ │ │ ├── test_no_jobs_default_status │ │ │ │ └── expected_output.txt │ │ │ │ └── test_single_mnp_job │ │ │ │ └── expected_output.txt │ │ └── data │ │ │ └── aws_api_responses │ │ │ ├── batch_list-jobs_PENDING.json │ │ │ ├── batch_list-jobs_RUNNABLE.json │ │ │ ├── batch_list-jobs_SUBMITTED.json │ │ │ ├── batch_list-jobs_RUNNING.json │ │ │ └── batch_list-jobs_STARTING.json │ ├── __init__.py │ └── utils.py ├── .isort.cfg └── src │ └── awsbatch │ └── __init__.py ├── tests └── integration-tests │ ├── tests │ ├── spot │ │ └── __init__.py │ ├── createami │ │ ├── __init__.py │ │ └── test_createami │ │ │ ├── test_build_image_custom_components │ │ │ ├── custom_script.sh │ │ │ ├── custom_script_ubuntu.sh │ │ │ └── image.config.yaml │ │ │ ├── test_kernel4_build_image_run_cluster │ │ │ ├── image.config.yaml │ │ │ └── pcluster.config.yaml │ │ │ ├── test_build_image_wrong_pcluster_version │ │ │ └── image.config.yaml │ │ │ ├── test_invalid_config │ │ │ ├── image.config.yaml │ │ │ └── warnings.image.config.yaml │ │ │ └── test_build_image │ │ │ └── pcluster.config.yaml │ ├── storage │ │ ├── test_fsx_lustre │ │ │ ├── test_multi_az_fsx │ │ │ │ └── s3_test_file │ │ │ ├── test_multiple_fsx │ │ │ │ └── s3_test_file │ │ │ ├── test_file_cache │ │ │ │ └── s3_test_file │ │ │ ├── test_fsx_lustre │ │ │ │ └── s3_test_file │ │ │ ├── test_fsx_lustre_dra │ │ │ │ └── s3_test_file │ │ │ └── test_fsx_lustre_configuration_options │ │ │ │ └── s3_test_file │ │ ├── test_shared_home │ │ │ └── test_shared_home │ │ │ │ └── s3_test_file │ │ └── __init__.py │ ├── update │ │ ├── test_update │ │ │ ├── test_dynamic_file_systems_update │ │ │ │ └── s3_test_file │ │ │ ├── test_dynamic_file_systems_update_rollback │ │ │ │ └── s3_test_file │ │ │ └── test_update_instance_list │ │ │ │ └── failing_post_install.sh │ │ └── __init__.py │ ├── schedulers │ │ ├── test_custom_munge_key │ │ │ └── test_custom_munge_key │ │ │ │ └── fail-on-node-updated.sh │ │ ├── test_slurm │ │ │ ├── test_slurm_protected_mode_on_cluster_create │ │ │ │ └── preinstall.sh │ │ │ ├── test_slurm_from_login_nodes_in_private_network │ │ │ │ ├── torque_job.sh │ │ │ │ └── mpi_job.sh │ │ │ ├── test_slurm │ │ │ │ └── mpi_job.sh │ │ │ ├── test_scontrol_reboot_ec2_health_checks │ │ │ │ ├── reset_sleep_slurmd_service_compute.sh │ │ │ │ └── pcluster.config.yaml │ │ │ ├── test_slurm_custom_config_parameters │ │ │ │ └── custom_slurm_settings.txt │ │ │ ├── test_slurm_ticket_17399 │ │ │ │ └── pcluster.config.yaml │ │ │ ├── test_scontrol_reboot │ │ │ │ └── pcluster.config.yaml │ │ │ ├── test_slurm_reconfigure_race_condition │ │ │ │ └── pcluster.config.yaml │ │ │ ├── test_update_slurm_reconfigure_race_condition │ │ │ │ └── pcluster.config.yaml │ │ │ ├── test_error_handling │ │ │ │ └── slurm_start_slurmctld.sh │ │ │ └── test_slurm_scaling │ │ │ │ └── slurm_kill_slurmd_job.sh │ │ ├── test_awsbatch │ │ │ ├── test_awsbatch_defaults │ │ │ │ ├── test_simple_job.sh │ │ │ │ └── pcluster.config.yaml │ │ │ └── test_awsbatch │ │ │ │ └── test_simple_job.sh │ │ ├── __init__.py │ │ └── test_slurm_accounting │ │ │ └── resources │ │ │ └── require_server_identity.sh │ ├── iam │ │ ├── test_iam │ │ │ └── test_s3_read_write_resource │ │ │ │ ├── s3_test_file │ │ │ │ └── pcluster.config.ini │ │ └── test_iam_image │ │ │ └── test_iam_roles │ │ │ └── image.config.yaml │ ├── cloudwatch_logging │ │ ├── test_compute_console_output_logging │ │ │ └── test_custom_action_error │ │ │ │ └── on_node_start.sh │ │ └── __init__.py │ ├── networking │ │ ├── test_cluster_networking │ │ │ └── test_cluster_in_no_internet_subnet │ │ │ │ ├── pre_install.sh │ │ │ │ ├── osu_pt2pt_submit_intelmpi.sh │ │ │ │ └── osu_pt2pt_submit_openmpi.sh │ │ └── test_multi_cidr.py │ ├── common │ │ ├── scaling │ │ │ ├── scaling_test_config.yaml │ │ │ └── scaling_test_config_schema.yaml │ │ ├── data │ │ │ ├── osu │ │ │ │ ├── osu-micro-benchmarks-5.7.1.tgz │ │ │ │ ├── osu_pt2pt_submit_openmpi.sh │ │ │ │ └── osu_collective_submit_openmpi.sh │ │ │ └── mpi │ │ │ │ └── mpi_submit_openmpi.sh │ │ ├── storage │ │ │ └── constants.py │ │ └── __init__.py │ ├── basic │ │ ├── test_essential_features │ │ │ └── test_essential_features │ │ │ │ ├── failing_post_install.sh │ │ │ │ ├── mpi_ssh.sh │ │ │ │ ├── post_install.sh │ │ │ │ └── pre_install.sh │ │ └── __init__.py │ ├── resource_bucket │ │ └── test_resource_bucket │ │ │ └── test_resource_bucket │ │ │ └── s3_test_file │ ├── performance_tests │ │ ├── test_openfoam │ │ │ └── test_openfoam │ │ │ │ ├── openfoam.results.sh │ │ │ │ └── openfoam.install.sh │ │ ├── test_starccm │ │ │ └── test_starccm │ │ │ │ ├── dependencies.install.sh │ │ │ │ └── starccm.results.sh │ │ ├── resources │ │ │ └── bootstrap │ │ │ │ └── env-info.sh │ │ ├── __init__.py │ │ └── plotting │ │ │ └── __init__.py │ ├── intel_hpc │ │ ├── test_intel_hpc │ │ │ └── test_intel_hpc │ │ │ │ └── run_clck.sh │ │ └── __init__.py │ ├── pcluster_api │ │ └── test_api │ │ │ ├── test_cluster_slurm │ │ │ └── custom_action.sh │ │ │ ├── test_custom_image │ │ │ └── image.config.yaml │ │ │ └── test_cluster_awsbatch │ │ │ └── custom_action.sh │ ├── ad_integration │ │ ├── test_ad_integration │ │ │ └── test_ad_integration │ │ │ │ └── workload.sh │ │ └── __init__.py │ ├── dcv │ │ ├── test_dcv │ │ │ ├── test_dcv_configuration │ │ │ │ └── verify_no_core_files.sh │ │ │ └── test_dcv_with_remote_access │ │ │ │ └── verify_no_core_files.sh │ │ └── __init__.py │ ├── health_checks │ │ └── test_gpu_health_checks │ │ │ └── test_cluster_with_gpu_health_checks │ │ │ ├── restore_gpu_health_check.sh │ │ │ ├── mock_failing_gpu_health_check.sh │ │ │ └── mock_successful_gpu_health_check.sh │ ├── ultraserver │ │ └── test_gb200 │ │ │ └── test_gb200 │ │ │ ├── nvidia-imex-status.job │ │ │ └── head_node_start.sh │ ├── __init__.py │ ├── efa │ │ └── __init__.py │ ├── custom_resource │ │ ├── test_cluster_custom_resource │ │ │ ├── test_cluster_delete_retain │ │ │ │ └── pcluster.config.yaml │ │ │ ├── test_cluster_update_invalid │ │ │ │ ├── pcluster.config.yaml │ │ │ │ ├── pcluster.config.reducemaxcount.yaml │ │ │ │ ├── pcluster.config.negativemaxcount.yaml │ │ │ │ └── pcluster.config.wrongscripturi.yaml │ │ │ ├── test_cluster_delete_out_of_band │ │ │ │ └── pcluster.config.yaml │ │ │ ├── test_cluster_create_with_custom_policies │ │ │ │ └── pcluster.config.yaml │ │ │ ├── test_cluster_update_tag_propagation │ │ │ │ └── pcluster.config.yaml │ │ │ └── test_cluster_create_invalid │ │ │ │ └── pcluster.config.yaml │ │ └── __init__.py │ ├── scaling │ │ └── __init__.py │ ├── cli_commands │ │ └── __init__.py │ ├── users │ │ └── __init__.py │ ├── monitoring │ │ └── __init__.py │ ├── capacity_reservations │ │ └── __init__.py │ └── create │ │ └── test_create │ │ ├── test_create_imds_secured │ │ └── pcluster.config.yaml │ │ └── test_create_wrong_os │ │ └── pcluster.config.yaml │ ├── configs │ ├── common │ │ └── common.yaml │ ├── .gitignore │ ├── weekly.yaml │ ├── scaling.yaml │ ├── performance_tests.yaml │ ├── dummy.yaml │ ├── ad_integration.yaml │ ├── additional_instance_types.yaml │ ├── installer.yaml │ ├── osu.yaml │ ├── starccm.yaml │ ├── openfoam.yaml │ ├── startup_time_performance.yaml │ ├── scaling_stress_test.yaml │ └── build_image_iso.yaml │ ├── .gitignore │ ├── framework │ ├── tests_configuration │ │ ├── config_stub.yaml.jinja2 │ │ └── __init__.py │ └── __init__.py │ ├── requirements.txt │ ├── __init__.py │ ├── benchmarks │ ├── __init__.py │ ├── common │ │ └── __init__.py │ ├── test_scaling_performance │ │ └── test_scaling_performance │ │ │ └── pcluster.config.yaml │ └── test_scheduler_performance │ │ └── test_scheduler_performance │ │ └── pcluster.config.yaml │ └── tox.ini ├── cloudformation ├── utils │ └── requirements.txt ├── external-slurmdbd │ ├── external_slurmdbd │ │ └── __init__.py │ ├── requirements.txt │ ├── app.py │ └── .gitignore └── tests │ ├── requirements.txt │ └── pytest.ini ├── pc_support ├── test_json_files │ └── non_regex_matching.json ├── 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.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.8.0.json ├── os_3.7.0.json └── os_3.9.0.json ├── .github ├── CODEOWNERS ├── codeql │ └── codeql-config.yml ├── dependabot.yml └── workflows │ ├── changelog_enforcer.yml │ ├── security_exclusions_checker.yml │ ├── closed-issue-message.yml │ └── unsafe_patterns_checker.yml ├── NOTICE.txt ├── .gitignore └── CODE_OF_CONDUCT.md /api/client/src/test/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cli/.bandit.ini: -------------------------------------------------------------------------------- 1 | skips: [] 2 | -------------------------------------------------------------------------------- /cli/src/pcluster/api/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cli/src/pcluster/aws/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /awsbatch-cli/.bandit.ini: -------------------------------------------------------------------------------- 1 | skips: [] 2 | -------------------------------------------------------------------------------- /cli/src/pcluster/config/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cli/src/pcluster/models/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cli/tests/pcluster/aws/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cli/tests/pcluster/models/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cli/src/pcluster/api/openapi/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /api/client/src/.openapi-generator/VERSION: -------------------------------------------------------------------------------- 1 | 6.0.1 -------------------------------------------------------------------------------- /api/spec/openapi/.gitignore: -------------------------------------------------------------------------------- 1 | *.redoc.html 2 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/spot/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cli/src/pcluster/cli/commands/configure/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cloudformation/utils/requirements.txt: -------------------------------------------------------------------------------- 1 | cfn_flip 2 | -------------------------------------------------------------------------------- /tests/integration-tests/configs/common/common.yaml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/createami/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /api/client/requirements.txt: -------------------------------------------------------------------------------- 1 | boto3>=1.39.4 2 | click~=8.1.7 -------------------------------------------------------------------------------- /api/client/src/test-requirements.txt: -------------------------------------------------------------------------------- 1 | pytest-cov>=2.8.1 2 | -------------------------------------------------------------------------------- /api/spec/smithy/gradle.properties: -------------------------------------------------------------------------------- 1 | smithyVersion=1.23.0 2 | -------------------------------------------------------------------------------- /pc_support/test_json_files/non_regex_matching.json: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/integration-tests/.gitignore: -------------------------------------------------------------------------------- 1 | /my-test-runner*.sh 2 | -------------------------------------------------------------------------------- /api/client/src/setup.cfg: -------------------------------------------------------------------------------- 1 | [flake8] 2 | max-line-length=99 3 | -------------------------------------------------------------------------------- /cloudformation/external-slurmdbd/external_slurmdbd/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /api/spec/smithy/.gitignore: -------------------------------------------------------------------------------- 1 | build 2 | .gradle 3 | smithy-vscode 4 | -------------------------------------------------------------------------------- /cli/src/pcluster/resources/imagebuilder/parallelcluster_validate.yaml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /awsbatch-cli/requirements.txt: -------------------------------------------------------------------------------- 1 | boto3>=1.39.4 2 | tabulate>=0.8.8,<=0.8.10 3 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_model/TestCliModel/test_file/file.txt: -------------------------------------------------------------------------------- 1 | asdf 2 | -------------------------------------------------------------------------------- /tests/integration-tests/configs/.gitignore: -------------------------------------------------------------------------------- 1 | /my-test*.yaml 2 | /mini.yaml 3 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_with_region_arg/error.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_build_image/TestBuildImageCommand/test_error/config.yaml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_build_image/TestBuildImageCommand/test_execute/config.yaml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_build_image/TestBuildImageCommand/test_invalid_args/file: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_efa_not_supported/error.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_create_cluster/TestCreateClusterCommand/test_error/config.yaml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_create_cluster/TestCreateClusterCommand/test_execute/config.yaml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_update_cluster/TestUpdateClusterCommand/test_error/config.yaml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_update_cluster/TestUpdateClusterCommand/test_execute/config.yaml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /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/extra-1.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /cli/tests/pcluster/templates/test_queues_stack/test_compute_nodes_dna_json/extra-2.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_filtered_subnets_by_az/error.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_build_image/TestBuildImageCommand/test_no_nodejs_error/config.yaml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_create_cluster/TestCreateClusterCommand/test_invalid_args/config.yaml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_update_cluster/TestUpdateClusterCommand/test_invalid_args/config.yaml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @aws/aws-parallelcluster-admins @aws/aws-parallelcluster-maintainers 2 | -------------------------------------------------------------------------------- /awsbatch-cli/MANIFEST.in: -------------------------------------------------------------------------------- 1 | recursive-include src/awsbatch/examples * 2 | recursive-exclude tests * 3 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_disabled_efa_no_placement_group/error.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_vpc_automation_no_vpc_in_region/error.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_create_cluster/TestCreateClusterCommand/test_execute_with_wait/config.yaml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_create_cluster/TestCreateClusterCommand/test_no_nodejs_error/config.yaml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_update_cluster/TestUpdateClusterCommand/test_execute_with_wait/config.yaml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_update_cluster/TestUpdateClusterCommand/test_no_nodejs_error/config.yaml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_enabled_efa_default_placement_group/error.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_enabled_efa_existing_placement_group/error.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_no_automation_no_awsbatch_no_errors/error.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_no_automation_yes_awsbatch_no_errors/error.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_no_input_no_automation_no_errors/error.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_vpc_automation_no_awsbatch_no_errors/error.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_build_image/TestBuildImageCommand/test_nodejs_wrong_version_error/config.yaml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /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 -------------------------------------------------------------------------------- /NOTICE.txt: -------------------------------------------------------------------------------- 1 | aws-parallelcluster 2 | Copyright 2013-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved. -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_enabled_efa_non_existent_placement_group/error.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_subnet_automation_no_awsbatch_no_errors/error.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_vpc_automation_no_vpc_in_region_public/error.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_vpc_automation_yes_awsbatch_no_errors/error.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_create_cluster/TestCreateClusterCommand/test_nodejs_wrong_version_error/config.yaml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_update_cluster/TestUpdateClusterCommand/test_nodejs_wrong_version_error/config.yaml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /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_shared_home/test_shared_home/s3_test_file: -------------------------------------------------------------------------------- 1 | Downloaded by FSx Lustre 2 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_subnet_automation_yes_awsbatch_invalid_vpc/error.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/test_create_cluster/TestCreateClusterCommand/test_nodejs_incompatible_version_error/config.yaml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cloudformation/external-slurmdbd/requirements.txt: -------------------------------------------------------------------------------- 1 | setuptools 2 | aws-cdk-lib~=2.105 3 | constructs>=10.0.0,<11.0.0 4 | -------------------------------------------------------------------------------- /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/update/test_update/test_dynamic_file_systems_update/s3_test_file: -------------------------------------------------------------------------------- 1 | Downloaded by FSx Lustre -------------------------------------------------------------------------------- /cli/tests/pcluster/cli/configure/test_pcluster_configure/test_subnet_automation_no_awsbatch_no_errors_empty_vpc/error.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /api/client/src/requirements.txt: -------------------------------------------------------------------------------- 1 | python_dateutil >= 2.5.3 2 | setuptools >= 21.0.0 3 | urllib3 >= 1.26.6 4 | boto3>=1.39.4 5 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /api/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/HEAD/api/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /tests/integration-tests/tests/storage/test_fsx_lustre/test_fsx_lustre_configuration_options/s3_test_file: -------------------------------------------------------------------------------- 1 | Downloaded by FSx Lustre 2 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/schedulers/test_custom_munge_key/test_custom_munge_key/fail-on-node-updated.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | exit 1 3 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/schedulers/test_slurm/test_slurm_protected_mode_on_cluster_create/preinstall.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | exit 1 3 | -------------------------------------------------------------------------------- /cli/MANIFEST.in: -------------------------------------------------------------------------------- 1 | recursive-include src/pcluster/api/openapi * 2 | recursive-include src/pcluster/resources * 3 | recursive-exclude tests * 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 | -------------------------------------------------------------------------------- /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/iam/test_iam/test_s3_read_write_resource/s3_test_file: -------------------------------------------------------------------------------- 1 | Test file for s3_read_resource and s3_read_write_resource -------------------------------------------------------------------------------- /.github/codeql/codeql-config.yml: -------------------------------------------------------------------------------- 1 | name: "CodeQL config" 2 | 3 | queries: 4 | - uses: security-and-quality 5 | 6 | paths-ignore: 7 | - '/api/client' -------------------------------------------------------------------------------- /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/networking/test_cluster_networking/test_cluster_in_no_internet_subnet/pre_install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | echo "Pre-Install" 3 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/schedulers/test_slurm/test_slurm_from_login_nodes_in_private_network/torque_job.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "qsub executed successfully" -------------------------------------------------------------------------------- /tests/integration-tests/tests/schedulers/test_awsbatch/test_awsbatch_defaults/test_simple_job.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | echo "Executing Test Script" 4 | exit 0 5 | -------------------------------------------------------------------------------- /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 -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/schedulers/test_awsbatch/test_awsbatch/test_simple_job.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | echo "Executing Test Script" 5 | env | grep TEST=test 6 | -------------------------------------------------------------------------------- /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/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/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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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_build_image_wrong_pcluster_version/image.config.yaml: -------------------------------------------------------------------------------- 1 | Build: 2 | InstanceType: {{ instance_type }} 3 | ParentImage: {{ parent_image }} 4 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/common/data/osu/osu-micro-benchmarks-5.7.1.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws/aws-parallelcluster/HEAD/tests/integration-tests/tests/common/data/osu/osu-micro-benchmarks-5.7.1.tgz -------------------------------------------------------------------------------- /tests/integration-tests/tests/resource_bucket/test_resource_bucket/test_resource_bucket/s3_test_file: -------------------------------------------------------------------------------- 1 | # Sample test file to make sure existing files in S3 bucket are not removed on when cleaning up cluster resources -------------------------------------------------------------------------------- /tests/integration-tests/tests/performance_tests/test_openfoam/test_openfoam/openfoam.results.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | OUTPUT="/shared/SubspaceBenchmarks/results/openfoam/openfoam.csv" 4 | 5 | cut -d, -f5 $OUTPUT 6 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/intel_hpc/test_intel_hpc/test_intel_hpc/run_clck.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | source /opt/intel/clck/2019.9/bin/clckvars.sh 5 | clck -f nodefile -F intel_hpc_platform_compat-hpc-2018.0 -------------------------------------------------------------------------------- /tests/integration-tests/tests/performance_tests/test_starccm/test_starccm/dependencies.install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # This script installs the software stack required by StarCCM+ 3 | set -ex 4 | 5 | sudo yum install -y libnsl -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/pcluster_api/test_api/test_cluster_slurm/custom_action.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "custom_action script has $# arguments" 4 | for arg in "$@" 5 | do 6 | echo "executing ${arg}" 7 | "${arg}" || echo "failed to execute ${arg}" 8 | done 9 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/pcluster_api/test_api/test_custom_image/image.config.yaml: -------------------------------------------------------------------------------- 1 | Build: 2 | Iam: 3 | CleanupLambdaRole: {{ cleanup_lambda_role }} 4 | InstanceType: {{ instance }} 5 | ParentImage: {{ parent_image }} 6 | UpdateOsPackages: 7 | Enabled: true -------------------------------------------------------------------------------- /tests/integration-tests/tests/pcluster_api/test_api/test_cluster_awsbatch/custom_action.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "custom_action script has $# arguments" 4 | for arg in "$@" 5 | do 6 | echo "executing ${arg}" 7 | "${arg}" || echo "failed to execute ${arg}" 8 | done 9 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/tests/performance_tests/resources/bootstrap/env-info.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "--- id: $(id)" 4 | echo "--- whoami: $(whoami)" 5 | echo "--- hostname: $(hostname)" 6 | echo "--- pwd: $(pwd)" 7 | echo "--- PATH: $(echo ${PATH})" 8 | echo "--- HOME: $(echo ${HOME})" 9 | -------------------------------------------------------------------------------- /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/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/schedulers/test_slurm/test_slurm/mpi_job.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | #SBATCH --export=ALL 4 | #SBATCH --nodes=2 5 | #SBATCH --ntasks-per-node=3 6 | #SBATCH --job-name=imb2 7 | #SBATCH --output=runscript.out 8 | 9 | module load intelmpi 10 | mpirun -n 6 bash -c 'sleep 300' -npmin 2 11 | -------------------------------------------------------------------------------- /.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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /.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 | -------------------------------------------------------------------------------- /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.39.4 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 | -------------------------------------------------------------------------------- /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/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 -------------------------------------------------------------------------------- /tests/integration-tests/tests/schedulers/test_slurm/test_slurm_from_login_nodes_in_private_network/mpi_job.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | #SBATCH --export=ALL 4 | #SBATCH --nodes=2 5 | #SBATCH --ntasks-per-node=3 6 | #SBATCH --job-name=imb2 7 | #SBATCH --output=runscript.out 8 | 9 | module load intelmpi 10 | mpirun -n 6 IMB-MPI1 Alltoall -npmin 2 11 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/schedulers/test_slurm/test_scontrol_reboot_ec2_health_checks/reset_sleep_slurmd_service_compute.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Reset state of the daemons after running add_sleep_to_slurmd_service_compute.sh 4 | 5 | sudo rm /etc/systemd/system/slurmd_delay.service 6 | sudo rm /etc/systemd/system/slurmd.service.d/add_delay.conf 7 | sudo systemctl daemon-reload 8 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/schedulers/test_slurm/test_slurm_custom_config_parameters/custom_slurm_settings.txt: -------------------------------------------------------------------------------- 1 | # 2 | # Example slurm.conf file with custom settings 3 | # 4 | # Put this file on all nodes of your cluster. 5 | # See the slurm.conf man page for more information. 6 | # 7 | DebugFlags=Steps,Power,CpuFrequency,BurstBuffer,Network 8 | GpuFreqDef=high 9 | MaxStepCount=10000 10 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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/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/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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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/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/networking/test_cluster_networking/test_cluster_in_no_internet_subnet/osu_pt2pt_submit_intelmpi.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #SBATCH --ntasks=2 --nodes=2 3 | 4 | set -e 5 | 6 | module load intelmpi 7 | srun --mpi=pmi2 /shared/intelmpi/osu-micro-benchmarks-{{ osu_benchmark_version }}/mpi/pt2pt/osu_latency 8 | mpirun /shared/intelmpi/osu-micro-benchmarks-{{ osu_benchmark_version }}/mpi/pt2pt/osu_latency -------------------------------------------------------------------------------- /tests/integration-tests/tests/networking/test_cluster_networking/test_cluster_in_no_internet_subnet/osu_pt2pt_submit_openmpi.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #SBATCH --ntasks=2 --nodes=2 3 | 4 | set -e 5 | 6 | module load openmpi 7 | srun --mpi=pmix /shared/openmpi/osu-micro-benchmarks-{{ osu_benchmark_version }}/mpi/pt2pt/osu_latency 8 | mpirun /shared/openmpi/osu-micro-benchmarks-{{ osu_benchmark_version }}/mpi/pt2pt/osu_latency 9 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/performance_tests/test_starccm/test_starccm/starccm.results.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | JOBID="$1" 4 | OUTPUT=$(scontrol show jobs ${JOBID} | grep StdOut | cut -d '=' -f 2) 5 | start_time=$(tail -n 250 ${OUTPUT} | grep " 501 " | awk '{print $NF}') 6 | end_time=$(tail -n 250 ${OUTPUT} | grep " 600 " | awk '{print $NF}') 7 | elapsed_time=$(awk "BEGIN {print $end_time - $start_time}") 8 | echo $elapsed_time 9 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/common/data/mpi/mpi_submit_openmpi.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | TIMEOUT="$1" 5 | 6 | rm -f /shared/mpi.out 7 | # Adding a check to verify IMEX status is UP 8 | if [ -f "/opt/parallelcluster/shared/check_imex_status.sh" ]; then 9 | srun bash -c "source /opt/parallelcluster/shared/check_imex_status.sh; verify_imex_is_up" 10 | fi 11 | 12 | module load openmpi 13 | mpirun --map-by ppr:1:node --timeout "${TIMEOUT}" "ring" >> /shared/mpi.out 14 | -------------------------------------------------------------------------------- /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/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/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 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/health_checks/test_gpu_health_checks/test_cluster_with_gpu_health_checks/restore_gpu_health_check.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | sudo sed -i '/managed_health_check_dir =/ s|'$HOME'\/mock_health_checks|\/opt\/slurm\/etc\/pcluster\/\.slurm_plugin\/scripts\/health_checks|' /opt/slurm/etc/pcluster/.slurm_plugin/scripts/conf/health_check_manager.conf 4 | 5 | echo "Health check configuration restored" 6 | cat /opt/slurm/etc/pcluster/.slurm_plugin/scripts/conf/health_check_manager.conf 7 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 -------------------------------------------------------------------------------- /tests/integration-tests/tests/iam/test_iam_image/test_iam_roles/image.config.yaml: -------------------------------------------------------------------------------- 1 | Image: 2 | Tags: 3 | - Key: dummyImageTag 4 | Value: dummyImageTag 5 | RootVolume: 6 | Size: 45 7 | 8 | Build: 9 | Iam: 10 | InstanceProfile: {{ instance_profile }} 11 | CleanupLambdaRole: {{ lambda_cleanup_role }} 12 | InstanceType: {{ instance }} 13 | ParentImage: {{ parent_image }} 14 | Tags: 15 | - Key: dummyBuildTag 16 | Value: dummyBuildTag 17 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/networking/test_multi_cidr.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | @pytest.mark.usefixtures("os", "instance", "scheduler", "region") 5 | def test_multi_cidr(pcluster_config_reader, clusters_factory): 6 | """ 7 | Test cluster creation when there is multiple CIDR in a VPC. 8 | 9 | Specifically test that cluster is created when compute subnet is in the second CIDR block of the VPC. 10 | """ 11 | cluster_config = pcluster_config_reader() 12 | clusters_factory(cluster_config) 13 | -------------------------------------------------------------------------------- /.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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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} -------------------------------------------------------------------------------- /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.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 | -------------------------------------------------------------------------------- /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_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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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_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 | -------------------------------------------------------------------------------- /.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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/ultraserver/test_gb200/test_gb200/nvidia-imex-status.job: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #SBATCH --job-name=nvidia-imex-status-job 3 | #SBATCH --ntasks-per-node=1 4 | #SBATCH --output=slurm-%j.out 5 | #SBATCH --error=slurm-%j.err 6 | 7 | QUEUE_NAME=$(cat "/etc/chef/dna.json" | jq -r ".cluster.scheduler_queue_name") 8 | COMPUTE_RES_NAME=$(cat "/etc/chef/dna.json" | jq -r ".cluster.scheduler_compute_resource_name") 9 | 10 | # Run for NVIDIA IMEX 11 | srun bash -c "source /opt/parallelcluster/shared/check_imex_status.sh; verify_imex_is_up $1" 12 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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_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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /.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. -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/performance_tests/test_openfoam/test_openfoam/openfoam.install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #the script installs OpenFOAM in a shared folder that is shared with all the cluster nodes 3 | set -ex 4 | 5 | SHARED_DIR="/shared" 6 | 7 | SUBSPACE_BENCHMARKS_PACKAGE_ZIP="${SHARED_DIR}/SubspaceBenchmarks.tar" 8 | 9 | cd "${SHARED_DIR}" 10 | 11 | aws s3 cp s3://performance-tests-resources-for-parallelcluster/openfoam/SubspaceBenchmarks.tar ${SUBSPACE_BENCHMARKS_PACKAGE_ZIP} 12 | tar -xf SubspaceBenchmarks.tar 13 | chmod -R 777 $(basename ${SUBSPACE_BENCHMARKS_PACKAGE_ZIP}) 14 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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/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/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_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 | -------------------------------------------------------------------------------- /.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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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/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/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 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/schedulers/test_awsbatch/test_awsbatch_defaults/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: False 11 | Scheduling: 12 | Scheduler: awsbatch 13 | AwsBatchQueues: 14 | - Name: ondemand1 15 | Networking: 16 | SubnetIds: 17 | - {{ private_subnet_id }} 18 | ComputeResources: 19 | - Name: compute-resource-11 20 | InstanceTypes: 21 | - optimal -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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/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/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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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_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/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/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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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/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/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/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/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_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/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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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/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_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_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/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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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/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 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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_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_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/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 | -------------------------------------------------------------------------------- /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/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.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/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/intel_hpc/__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/scaling/__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/schedulers/test_slurm/test_slurm_ticket_17399/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: slurm 11 | SlurmQueues: 12 | - Name: gpu 13 | Networking: 14 | SubnetIds: 15 | - {{ private_subnet_id }} 16 | ComputeResources: 17 | - Name: {{ gpu_instance_type|replace(".", "") }} 18 | Instances: 19 | - InstanceType: {{ gpu_instance_type }} 20 | MaxCount: 5 21 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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/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/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/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/schedulers/test_slurm/test_scontrol_reboot/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 | {{ scheduler_prefix }}Queues: 12 | - Name: queue1 13 | Networking: 14 | SubnetIds: 15 | - {{ private_subnet_id }} 16 | ComputeResources: 17 | - Name: cr1 18 | Instances: 19 | - InstanceType: t3.medium 20 | MinCount: 2 21 | MaxCount: 4 22 | -------------------------------------------------------------------------------- /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/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/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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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/monitoring/__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"). 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/performance_tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2022 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/schedulers/__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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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/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_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/performance_tests/plotting/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2022 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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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_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 }} -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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/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_cluster_stack/test_add_efs_shared_storage/config-default.yaml: -------------------------------------------------------------------------------- 1 | Image: 2 | Os: alinux2 3 | HeadNode: 4 | InstanceType: t3.micro 5 | Ssh: 6 | KeyName: ec2-key-name 7 | Networking: 8 | SubnetId: subnet-12345678 9 | SharedStorageType: Efs 10 | Scheduling: 11 | Scheduler: awsbatch 12 | AwsBatchQueues: 13 | - Name: queue1 14 | Networking: 15 | SubnetIds: 16 | - subnet-12345678 17 | ComputeResources: 18 | - Name: compute_resource1 19 | InstanceTypes: 20 | - c4.xlarge 21 | - c5.large|optimal|c5 22 | - c4 23 | MaxvCpus: 10 -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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/schedulers/test_slurm_accounting/resources/require_server_identity.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | CA_URL=$1 6 | CA_NAME=$2 7 | CA_PATH="/tmp/slurm" 8 | CA_FILE_PATH="${CA_PATH}/${CA_NAME}" 9 | SLURMDBD_CONFIG_FILE="/opt/slurm/etc/slurmdbd.conf" 10 | 11 | wget ${CA_URL} -P ${CA_PATH} 12 | 13 | echo "Clearing previous CA Setting" 14 | sed -i "/^StorageParameters\s*=/d" "${SLURMDBD_CONFIG_FILE}" 15 | 16 | echo "Setting 'StorageParameters' SSL_CA=${CA_FILE_PATH}" 17 | echo "StorageParameters=SSL_CA=${CA_FILE_PATH}" >> "${SLURMDBD_CONFIG_FILE}" 18 | 19 | echo "Restarting slurmdbd service" 20 | systemctl restart slurmdbd 21 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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/schedulers/test_slurm/test_scontrol_reboot_ec2_health_checks/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 | {{ scheduler_prefix }}Queues: 12 | - Name: queue1 13 | Networking: 14 | SubnetIds: 15 | - {{ private_subnet_id }} 16 | ComputeResources: 17 | - Name: compute-resource-1 18 | Instances: 19 | - InstanceType: {{ instance }} 20 | MinCount: 1 21 | MaxCount: 1 22 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/schedulers/test_slurm/test_slurm_reconfigure_race_condition/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: slurm 11 | SlurmSettings: 12 | ScaledownIdletime: {{ scale_down_idle_time_mins }} 13 | SlurmQueues: 14 | - Name: queue1 15 | Networking: 16 | SubnetIds: 17 | - {{ private_subnet_id }} 18 | ComputeResources: 19 | - Name: compute-resource1 20 | InstanceType: {{ instance }} 21 | MaxCount: 1 22 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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/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/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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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_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/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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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/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/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 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /tests/integration-tests/tests/ultraserver/test_gb200/test_gb200/head_node_start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | echo "Executing $0" 5 | 6 | PROLOG_NVIDIA_IMEX=/opt/slurm/etc/scripts/prolog.d/{{ prolog_filename }} 7 | aws s3 cp s3://{{ bucket_name }}/{{ prolog_filename }} ${PROLOG_NVIDIA_IMEX} 8 | chmod 0755 ${PROLOG_NVIDIA_IMEX} 9 | 10 | CHECK_IMEX_STATUS=/opt/parallelcluster/shared/{{ check_imex_status_filename }} 11 | aws s3 cp s3://{{ bucket_name }}/{{ check_imex_status_filename }} ${CHECK_IMEX_STATUS} 12 | chmod 0755 ${CHECK_IMEX_STATUS} 13 | 14 | JOB_SCRIPT=/opt/parallelcluster/shared/{{ job_filename }} 15 | aws s3 cp s3://{{ bucket_name }}/{{ job_filename }} ${JOB_SCRIPT} 16 | chmod 0755 ${JOB_SCRIPT} -------------------------------------------------------------------------------- /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 <