Releases: nutanix/calm-dsl
Calm-DSL support for Calm 4.0.0
Major Feats
- Cloud Provider Framework in Self-Service: Added support to configure cloud providers to provision and manage any workloads on the supported private and public cloud. The configuration involves defining the schema, resource types, actions, and so on. You can then consume the configured cloud provider in a runbook task. For more details go through following pages:
Improvements
-
Error Handling in Runbooks and Blueprints: Added
status_map_list
param at Task level which will enable to continue with the execution of the runbook or blueprint workflow on task failure, instead of failing the entire workflow based on an individual task status. The failed tasks are marked with a Warning status to proceed to the subsequent task in the workflow. For more details read here -
Output Variables at the Runbook Level: Added support to add output variables at the Runbook level so that the task variables that is set as output in individual tasks (such as HTTP, Set Variable and so on) are available for viewing and for external consumption. For more details read here
-
Clone a runbook: Added
calm clone runbook
commmand to clone a runbook in Self-Service. For more details go throughCloning Runbook
section here -
Publish Blueprint to the Marketplace Without Platform-Dependent Configuration: Added
--without-platform-data/-wp
flag incalm publish bp
command to clear all the platform-dependent fields in Blueprint VM configuration before publishing the blueprint to the marketplace. Clearing the platform-dependent fields allows Self-Service to populate VM configuration fields from the VM configurations of the environment you select during the launch of the Marketplace blueprint. For more details read about publishing without platform dependent fields here -
status_mapping
param used for response code mapping in the HTTP Task will be deprecated: Useresponse_code_status_map
param for mapping HTTP response codes to task statuses. For more details read how to useresponse_code_status_map
in CalmTask and RunbookTask. -
Removed use of centos disk image from blueprint generated from
calm init bp
command. From now on, an empty placeholder will be generated in blueprint. Fill valid disk image according to your usecase. For more details read here -
Updated
calm describe app
command to display more details about applications of AHV, VMware, AWS, Azure, GCP providers. -
#229 Added
windev
command in DSL Makefile. Usemake windev
to build DSL on Windows machine.
Bug Fixes
-
Block blueprint launch if blueprint has snapshot configs but no protection policy data when user passes
--ignore_runtime_variables/-i
flag -
Fix missing hyphen(-) in endpoint name while decompiling a bluperint or runbook.
Development Bits:
- Please use docker container image nutanix/calm-dsl:v4.0.0 for this release.
- Please refer branch release/4.0.0 for this release.
- Programming Language: Python >=3.7.
Calm-DSL support for Calm 3.8.1
Major Feats
-
Added
calm run-script
command which will test scripts for any syntactical errors. Supported scripts are: escripts, shell scripts, powershell, python. For more details refer Playground section of Getting-Started in DSL-Documentation -
#170 Added
-ak/--api-key
flag incalm init dsl
,calm set config
command to support api key authentication for SAAS Instance. For more details refer Saas Instance Login section of DSL-Configuration -> Initialization in DSL-Documentation
Improvements
- Adds support to provide xml file path for guest customization while creating provider spec for AHV using
calm create provider_spec --type AHV_VM
- Endpoints of VM type will only be created if referenced VM is in current context project i.e VM is authorized for a given project. Similarly, only authorized VM can be used as target endpoint in runbook/blueprint.
Bug Fixes
- Fixes
calm get marketplace bps
command failure in Calm-VM 3.8.0 for objects MPI. - Fixes
calm update app-migratable-bp
command failure for multi-profile multi-VM blueprint. - Fixes failure while providing guest customization for AHV using command
calm create provider_spec --type AHV_VM
Development Bits:
- Please use docker container image
nutanix/calm-dsl:v3.8.1
for this release. - Please refer branch release/3.8.1 for this release.
- Programming Language: Python >=3.7.
Calm-DSL support for Calm 3.8.0
Major Feats
-
Added support to create python remote tasks that runs python script on remote machines, similar to ssh and powershell tasks. Use EXEC, SET_VARIABLE and DECISION class to make these remote python tasks.
CalmTask.Exec.python(name="python_exec", filename=os.path.join("scripts", "escript_exec.py"), target=IPEndpoint)
CalmTask.SetVariable.python(name="python_exec", filename=os.path.join("scripts", "set_variable.py"), target=IPEndpoint)
CalmTask.Decision.python(name="python_exec", filename=os.path.join("scripts", "decision_script.py"), target=IPEndpoint)
Bug Fixes/Improvements
Python 2 escripts will be deprecated from DSL v3.8.0 onwards.
- Default flow of escript is changed from python 2 to python 3 i.e.
CalmTask.Exec.escript, RunbookTask.Exec.escript, RunbookTask.Decision.escript, CalmTask.SetVariable.escript
will now point to python3 escripts. - Migration support to upgrade python2 patch/update config tasks to python3 using command -
calm update app-migratable-bp
- Delete orphan app of older tunnel post reset of tunnel VM using command -
calm reset network-group-tunnel-vm
- Add ACP for Self Owned Access of report_config for project admin and acp for distributed_virtual_switch, recovery_point for all users in project.
- Moved user and user group to project scope.
Development Bits:
- Please use docker container image
nutanix/calm-dsl:v3.8.0
for this release. - Please refer branch release/3.8.0 for this release.
- Programming Language: Python >=3.7.
Calm-DSL support for Calm 3.7.2.2
Major Feats
-
Added support for project decompilation [see details], environment decompilation [see details]
-
Added support to create vm power actions in blueprint. see details
-
Added support to create actions in AhvUpdateConfigAttrs class (Patch config actions). see details
-
Added support to create vmware snapshot configs. see details
Improvements and Bug Fixes
- #291 Fixed decompilation of regex strings with backslashes . Multiline type profile variable with a regex validation string including tokens such as \r, \n, \t will now get properly escaped during decompile.
- #289 Added support to decompile UEFI boot_type in blueprint
- #283 Cluster macro decompile issue fixed.
- #273 Added support to decompile blueprint with vm power actions.
- #144 Updates version cache when config_file is supplied in cli options.
- #213 Fix static ip address decompilation associated with nics in the schema
- #255 Fixed
--with_endpoints
option when publishing a runbook to retain the endpoints as expected - #177 Fixed endpoint targets decompile in blueprint tasks.
- Decompile issue fixed when package_element is of type CUSTOM and has call_runbook_tasks.
- Fixed decompile failure for
while loop
tasks. - Added support to decompile, compile and create dynamic variables that use http task with basic auth.
- Added
-fc/--force
flag to create projects and environments. - Fixes for #192, #226, #150, #50
- Added support of
--all_projects
to commandcalm update marketplace
- Fixed calm get apps command to list apps with delete state.
- Fixed describe project command to list correct quotas assigned to a project.
- Added support which allows to publish bp/runbook to the marketplace attached with all projects and in approval pending state through
--all_projects/-ap
flag. - Added support for downloadable images in simple bp model. see details
- #252 Added
calm unpublish marketplace
command to support unpublishing from all projects, specific projects, all versions of marketplace items. - #264 Added no expiration as an option for recurring jobs. see details
Development Bits:
- Please use docker container image
nutanix/calm-dsl:v3.7.2.2
for this release. - Please refer branch release/3.7.2.2 for this release.
- Programming Language: Python >=3.7.
Calm-DSL support for Calm 3.7.2.1
Major Feats
Python2 to Python3 Escript Migration
This release is majorly focussed on "FEAT 14256 eScript Update to Python 3". Based on the decision that the Python Software Foundation (PSF) took to discontinue support for Python 2, Nutanix has decided to end support for Python 2 on June 30, 2024.
Customers can use Calm-DSL to update the escripts used in their application from python2 to python3. For detailed explanation refer here
Development Bits:
- Please use docker container image
nutanix/calm-dsl:v3.7.2.1
for this release. - Please refer branch release/3.7.2.1 for this release.
- Programming Language: Python >=3.7.
Calm-DSL support for Calm 3.7.0
Improvment and Bug Fixes:
- #265. Project field is made optional when initializing Calm-DSL for the first time.
- #178. Decompilation of Blueprint with accounts and environment: During blueprint decompile, account information at substrate level will be provided along with environment information at profile level. .
- #250. Resolved cluster decompilation if cluster name has hypen or special character.
- #266. Enable/Disable Quota in Projects.
- #268. Resolved issue with parallel tasks decompilation.
- Adding resource-type as editable for dynamic creds.
- Fixed the issue with Update cache (error: 'AhvClustersCacheDoesNotExist') if cluster name has a hyphen. (CALM-38702).
Major Features
- Support for Approval Policy actions.
- Support for create, update, delete operations on private and public accounts in Calm.
- Support for runbook decompilation without secrets.
- Support for blueprint decompilation with secrets.
- Support for create, update, delete operations for Postgres Database through NDB Task in Runbook.
Development Bits:
- Please use docker container image
ntnx/calm-dsl:v3.7.0
for this release. - Please refer branch release/3.7.0 for this release.
- Programming Language: Python >=3.7.
Check detailed overview of changes here
Calm-DSL support for Calm 3.6.1
Improvment and Bug Fixes:
- Fixes #230. Fetch all users for DSL update cache.
- Fixes #225. Delete temp blueprint in command
calm create app -n app_name
if app name already exists - Fixes #190. Make retries_enabled, connection_timeout, read_timeout as configurable parameter.
- Fixes #231. Expose dynamic_cred helper through calm.dsl.runbooks.
- Fixes #251. Added command to manual sync platform account.
- Fixes #204. Added
--append-only
flag to only append data for project updation. - Fixes #237. Fixes the env variables ignorance for config data.
- Fixes an issue where decompile is not working for HTTP task when the requested payload for the POST/PUT call is empty. Jira: CALM-34513
- Added decompile support for Dynamic creds in the blueprint. Jira: CALM-34123
- Fixes an issue where project updation was failing with
Account not found
. Jira: CALM-3335. - Added support for passing macro value for cluster field in Ahv Vm Configuration.
Development Bits:
- Please use docker container image
ntnx/calm-dsl:v3.6.1
for this release. - Please refer branch release/3.6.1 for this release.
- Programming Language: Python >=3.7.
Check detailed overview of changes here
Calm-DSL support for Calm 3.5.2
Improvements and Bug fixes:
- Projects changes as per Calm 3.5.2
- Added support for custom roles in ACP i.e. #191
- Fixed bug related to group addition/removal to acps, i.e. #193
Development Bits:
- Please use docker container image
ntnx/calm-dsl:v3.5.2
for this release. - Please refer branch release/3.5.2 for this release.
- Programming Language: Python >=3.6
Calm-DSL support for Calm 3.5.0
### Key features:
- VPC: VPC capability in Calm. Ability to Create, Delete, List VPC Tunnels and whitelist Cluster, VPC and Overlay Subnets in Projects & Environments. Ability to specify Tunnel in IP and HTTP type Endpoints. Decompilation of Blueprints with Overlay Subnets. Please visit here for detailed DSL changes on VPC feat.
- vCenter Content Library: This allows using templates from the content library in blueprints. OVF and VM-Template types are supported, through which we can deploy VMs using these templates. Please visit here for detailed DSL changes on feat.
### Improvements:
- Fixed a couple of issues as part of improvements.
### Development Bits:
- Please use docker container image
ntnx/calm-dsl:v3.5.0
for this release. - Please refer branch release/3.5.0 for this release.
- Programming Language: Python >=3.6
Calm-DSL support for Calm 3.4.0
### Key features:
- Scheduler: Scheduling capability in Calm. Support for scheduling job for runbook execution and application action execution. Please visit here for detailed dsl changes on Scheduler feat.
- Dynamic Credentials: Dynamic credential handling in Calm and integration with credential store. Please visit here for detailed dsl changes on Scheduler feat.
### Improvements:
- Cache performance optimisations. Please visit here for detailed dsl changes on cache.
### Development Bits:
- Please use docker container image
ntnx/calm-dsl:v3.4.0
for this release. - Please refer branch release/3.4.0 for this release.