* Adds RoboMaker and SageMaker RLEstimator components * Genericise samples * Genericise samples * Adds better logging and updates shim component in samples * Adds fixes for PR comments. Updates tests accordingly * Adds docker image reference for integration tests. Allows for setting job_name for RLEstimator training jobs * Separate RM and SM execution roles * Remove README reference to VPC config items * Adds more reliable integration test for RoboMaker Simulation Job * Simplifies integration tests * Reverted test container entrypoints * Update black formatting * Update components for redbackthomson repo * Prefix RLEstimator job name * Add RoboMakerFullAccess to generated roles * Update version to official 1.1.0 * Formatting int test file * Add PassRole IAM permission to OIDC * Adds ROBOMAKER_EXECUTION_ROLE_ARN to build vars Co-authored-by: Nicholas Thomson <nithomso@amazon.com> |
||
|---|---|---|
| .. | ||
| src | ||
| README.md | ||
| component.yaml | ||
README.md
RoboMaker Simulation Job Kubeflow Pipelines component
Summary
Component to run a RoboMaker Simulation Job from a Kubeflow Pipelines workflow. https://docs.aws.amazon.com/robomaker/latest/dg/API_CreateSimulationJob.html
Intended Use
For running your simulation workloads using AWS RoboMaker.
Runtime Arguments
| Argument | Description | Optional | Data type | Accepted values | Default |
|---|---|---|---|---|---|
| region | The region where the cluster launches | No | String | ||
| endpoint_url | The endpoint URL for the private link VPC endpoint | Yes | String | ||
| assume_role | The ARN of an IAM role to assume when connecting to SageMaker | Yes | String | ||
| app_name | The name of the simulation application. Must be unique within the same AWS account and AWS region | Yes | String | SimulationApplication-[datetime]-[random id] | |
| role | The Amazon Resource Name (ARN) that Amazon RoboMaker assumes to perform tasks on your behalf | No | String | ||
| output_bucket | The bucket to place outputs from the simulation job | No | String | ||
| output_path | The S3 key where outputs from the simulation job are placed | No | String | ||
| max_run | Timeout in seconds for simulation job (default: 8 * 60 * 60) | No | String | ||
| failure_behavior | The failure behavior the simulation job (Continue | Fail) | Yes | String | |
| sim_app_arn | The application ARN for the simulation application | Yes | String | ||
| sim_app_version | The application version for the simulation application | Yes | String | ||
| sim_app_launch_config | The launch configuration for the simulation application | Yes | String | ||
| sim_app_world_config | A list of world configurations | Yes | List of Dicts | [] | |
| robot_app_arn | The application ARN for the robot application | Yes | String | ||
| robot_app_version | The application version for the robot application | Yes | String | ||
| robot_app_launch_config | The launch configuration for the robot application | Yes | Dict | {} | |
| data_sources | Specify data sources to mount read-only files from S3 into your simulation | Yes | List of Dicts | [] | |
| vpc_security_group_ids | A comma-delimited list of security group IDs, in the form sg-xxxxxxxx | Yes | String | ||
| vpc_subnets | A comma-delimited list of subnet IDs in the VPC to which you want to connect your simulation job | Yes | String | ||
| use_public_ip | A boolean indicating whether to assign a public IP address | Yes | Bool | False | |
| sim_unit_limit | The simulation unit limit | Yes | String | ||
| record_ros_topics | A boolean indicating whether to record all ROS topics (Used for logging) | Yes | Bool | False | |
| tags | Key-value pairs to categorize AWS resources | Yes | Dict | {} |
Notes:
- This component can be ran in a pipeline with the Create Simulation App and Delete Simulation App components or as a standalone.
- One of sim_app_arn or robot_app_arn and any related inputs must be provided.
- The format for the
sim_app_launch_configfield is:
{
"packageName": "string",
"launchFile": "string",
"environmentVariables": {
"string": "string",
},
"streamUI": "bool",
}
- The format for the
sim_app_world_configfield is:
{
"world": "string"
}
- The format for the
robot_app_launch_configfield is:
{
"packageName": "string",
"launchFile": "string",
"environmentVariables": {
"string": "string",
},
"streamUI": "bool",
}
Output
The output of the simulation job is sent to the location configured via output_artifacts
Example code
Example of creating a Sim app, then a Sim job and finally deleting the Sim app : robomaker_simulation_job_app