edhctl config
edhctl config helps you manage the EDH environment configure stored on AWS System Manager Parameter Store.
Additionally, any write operation will automatically update the cache configured on EDH to improve overall performance.
Important
It's NOT RECOMMENDED to update your configuration on AWS Parameter Store AWS console directly as the configuration values are also cached on Amazon ElastiCache.
In order to successfully update your configuration, you must also invalidate the cached value(s), which is done automatically when you use edhctl config. If you are updating the AWS Parameter Store directly, make sure you manually update any relevant keys in the cache as well.
Run edhctl config --help to display help message.
config get¶
Retrieve a configuration key
./edhctl config get \
--key "/configuration/PrivateSubnets"
['subnet-0145161ba2ffb677a', 'subnet-0102a5b1b21cb1aef', 'subnet-0bc3f861ffb2322fe']
config set¶
Update a configuration key value
./edhctl config set \
--key "/configuration/PrivateSubnets" \
--value "['subnet-0145161ba2ffb677a', 'subnet-0102a5b1b21cb1aef']"
Cache updated
Success: Key has been updated successfully
Immutable Keys
You are not authorized to update the value of specific keys such as ClusterId, Region etc ...
Config Check
Any configuration update is checked and verified via cluster_manager/utils/config_checks.py and cluster_manager/utils/settings/socaconfig_key_validator.yml
config rollback¶
Rollback to a previous configuration.
./edhctl config rollback --key "/configuration/PrivateSubnets"
No --version specified, Rollback to the previous version
RollBack to: {'Version': 1, 'Value': "['subnet-0145161ba2ffb677a', 'subnet-0102a5b1b21cb1aef', 'subnet-0bc3f861ffb2322fe']", 'LastModifiedDate': datetime.datetime(2024, 9, 23, 12, 56, 2, 767000, tzinfo=tzlocal())}
Confirm (use --force to skip)? (Yes, No): yes
Cache updated
Success: Key has been updated successfully
Rollback to specific version
You can pin a version number via --version <version_number>, otherwise it will default to the current_version - 1
config history¶
Get the entire history of a given configuration key
./edhctl config history --key "/configuration/PrivateSubnets" --output json
{
"3": {
"Version": 3,
"Value": "['subnet-0145161ba2ffb677a', 'subnet-0102a5b1b21cb1aef', 'subnet-0bc3f861ffb2322fe']",
"LastModifiedDate": "2024-09-26 11:34:52.816000+00:00"
},
"2": {
"Version": 2,
"Value": "['subnet-0145161ba2ffb677a', 'subnet-0102a5b1b21cb1aef']",
"LastModifiedDate": "2024-09-26 09:56:50.202000+00:00"
},
"1": {
"Version": 1,
"Value": "['subnet-0145161ba2ffb677a', 'subnet-0102a5b1b21cb1aef', 'subnet-0bc3f861ffb2322fe']",
"LastModifiedDate": "2024-09-23 12:56:02.767000+00:00"
}
}
config snapshot¶
Get the entire configuration tree of your EDH environment
./edhctl config snapshot --output json
{
"/cdk_completed": "true",
"/configuration/ClusterId": "soca-mcrozes",
"/configuration/ControllerInstanceId": "i-0f59375e417e71f4e",
"/configuration/DCVAllowedInstances": "['m7i-flex.*', 'm7i.*', 'm6i.*', 'm6g.*', 'm5.*', 'g4dn.*', 'g4ad.*', 'g5.*', 'g6.*', 'gr6.*', 'c6i.*', 'c6a.*', 'r6i.*', 'r6a.*']",
"/configuration/HPC": "{'scheduler_engine': 'openpbs', 'deployment_type': 'tgz'}",
"/configuration/PrivateSubnets": "['subnet-0145161ba2ffb677a', 'subnet-0102a5b1b21cb1aef', 'subnet-0bc3f861ffb2322fe']",
"/configuration/PublicSubnets": "['subnet-01df1d82e8e125daf', 'subnet-02747c0e81532b9b9', 'subnet-0ac8c9c3cf4fdb82a']",
"/configuration/SchedulerDeploymentType": "tgz",
"/configuration/BaseOS": "amazonlinux2",
"/configuration/ClusterId": "soca-mcrozes",
"/configuration/ComputeNodeIAMRole": "soca--ComputeNodeRole7A9ECFBB-jFIV23XPETZq",
"/configuration/ControllerSecurityGroup": "sg-0e8a210e8d91a8fb4",
...... TRUNCATED
