Releases: aws-cloudformation/aws-cloudformation-resource-providers-awsutilities-commandrunner
Releases · aws-cloudformation/aws-cloudformation-resource-providers-awsutilities-commandrunner
v2.0.1
Version 2.0
CommandRunner v2.0 is here! 🚀 🚀 🚀
I took all the feedback, issues and feature requests from all our users to create this new major version of CommandRunner.
As requested by popular demand, this version comes with 3 new properties InstanceType
, Timeout
and DisableTerminateInstancesCheck
. In addition to this, v2 has significantly improved error handling, logging and reliability. I have also updated the documentation to reflect all these changes. Finally, all bugs to-date for CommandRunner have now been fixed!
To install or update to the new version, simply run the following commands in a new directory.
git clone https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-awsutilities-commandrunner.git
cd aws-cloudformation-resource-providers-awsutilities-commandrunner
curl -LO https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-awsutilities-commandrunner/releases/latest/download/awsutility-cloudformation-commandrunner.zip
./scripts/register.sh --set-default
Changelog:
- Updated package versions in pom.xml to latest, fixing build issues related to outdated dependencies.
- Improved Error Handling
- For when command fails or when invalid value is written to
/command-output.txt
- Error message about checking cloud-init-output.log also includes network related issues.
- When no default VPC exists.
- Added try catch block for catching exception if no default VPC.
- Error message - "No default VPC found in this region, please specify a subnet using the SubnetId property."
- For when command fails or when invalid value is written to
- Improved logging
- Added contents of
/command-output.txt
to CloudWatch logs undercloud-init-output.log
. - Updated BaseTemplate to add contents of /command-output.txt to cloudwatch logs.
- Added contents of
- Added catch for failures on CommandRunner stack.
- Failure on CommandRunner stack was not being caught when response sent to CommandRunner stack in WaitCondition is malformed.
- Failures are now caught right away, if CommandRunner stack goes into ROLLBACK_COMPLETE, or ROLLBACK_FAILED, then it will now gracefully clean up the CommandRunner stack.
- Updated user installation script
register.sh
- Added creation of log group in
register.sh
, along with handling the case where it already exists. - LogGroup not created for new region, line 103 of register.sh check if log-group exists if not, create one.
- register.sh will try to create a fresh execution role stack, if it exists it will try to update it, if it is up to date it will skip it.
- Added creation of log group in
- Fixed bugs with networking configuration properties i.e
SubnetId
,SecurityGroupId
- Removed empty string checks, now all different scenarios with/without SubnetId, SecurityGroupId work.
- Added new
Timeout
property.- Timeout property to change timeout in WaitCondition in BaseTemplate, this will give the option to easy fail, by default timeout is 600 right now, this will allow for a max timeout of 12 hours i.e 43200
- Added new
DisableTerminateInstancesCheck
property.- Some users were running into issues where their SCP policies did not allow the
ec2:TerminateInstances
action, but they still want to create CommandRunner instances. Setting this property to true allows them to create CommandRunner instances even without theec2:TerminateInstances
action.
- Some users were running into issues where their SCP policies did not allow the
- Added new
InstanceType
property. - Now works in Private Subnets. We had seen some issues where CommandRunner wouldn't work in private subnets, this issue is now resolved.
- Added check for Instance Profile validity. An error is thrown within 5 seconds of resource creation if the Role property specified is not a valid Instance Profile.
- Check for Instance Profile validity, performs DescribeInstanceProfile and catches the error if it doesn’t exist.
- https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/identitymanagement/model/GetInstanceProfileResult.html
- https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/identitymanagement/model/GetInstanceProfileRequest.html
- Error message: *“*The Role property specified is not a valid Instance Profile.”
- Check for Instance Profile validity, performs DescribeInstanceProfile and catches the error if it doesn’t exist.
- Added .gitignore to repository, removed unnecessary temporary files.
- Added the CommandRunner banner to both installation and build scripts.
- Documentation
- Fixed typos and grammatical errors.
- Added new properties to all examples and schemas.
- Added new properties to documentation.
- Added new permissions to documentation.
- Fixed a bug where a fresh installation using register.sh wouldn’t work unless build.sh had been used before it.
Initial Release
Fixed issue 16 (#17) * Fixed issue 16 * minor change * minor change * updated register.sh * Updated to cloudformation-java-plugin 2.0.5, minor updates to register.sh and CreateHandler.java * pre-commit check