- 17 Jun 2024
-
DarkLight
-
PDF
Itential Automation Platform
- Updated on 17 Jun 2024
-
DarkLight
-
PDF
BREAKING CHANGES FOR 2022.1.0
The following are breaking changes in Itential Automation Platform (IAP) for the 2022.1 release.
Null vs. Undefined in Workflows (2022.1.0)
In earlier maintenance releases (2021.1.10 and 2021.2.4), Itential made a breaking change where undefined
would no longer be inserted into the database as null
but instead as ~4undefined
. The original intent was to improve how null
and undefined
were treated, which would then allow IAP to decode it to undefined
at runtime. Since then, Itential has discovered (and documented) several use cases where IAP returns null
or undefined
differently with various tasks.
What should I do?
Since the use of null
or undefined
is not recommended, this breaking change notice will not apply to everyone.
For those who do utilize null
or undefined
in their workflows, refer to the illustrative example and matrix presented here: Null vs. Undefined in Workflows.
Removal of Activate Property within Service Config Layer
Workfow Engine will no longer support the activate
property within its service_config. Currently, this property allows a specific configuration of the Workflow Engine application to allow or disallow working tasks upon startup. The replacement for this call is the processTasksOnStart
property that exists in the properties.json. The replacement property can be set to true to allow working tasks on a specific server on startup, or it can be set to false to disallow working tasks on startup. See sample configuration below.
One special case is if a job is started via child job and passes in a value of undefined
for a variable. This will be processed as type null
instead of being processed with an undefined
type.
Item | Description | Deprecation Release | Removal Release | Replacement |
---|---|---|---|---|
activate (service_config property) | Establishes if the Workflow Engine task worker is active on startup; this will no longer be determined at the service_config layer. | 2021.1 | 2022.1 | processTasksOnStart (properties.json property) |
Sample configuration in properties.json
{
"processTasksOnStart" : false ,
"pathProps": {
"description": "File Path Variables",
"sdk_dir": "/opt/pronghorn-applications",
"encrypted": true
},
"id": "profile1",
"mongoProps": {
"credentials": {
"passwd": "itentialPassword",
"user": "itentialUser"
},
"db": "pronghorn",
"url": "mongodb://localhost:27017"
}
}
What Should I Do?
While not the only use case, a common usage of this property is when IAP is setup in a "Disaster Recovery" setup. In addition, in previous versions of IAP, disaster recovery could be setup in one of the following ways:
Version | Config Setting |
---|---|
2019.2 2019.3 |
activate service config property in TaskWorker |
2020.1 | activate service config property in WorkflowEngine |
2020.2+ | processTasksOnStart property within the properties.json file |
Any existing setups that previously used these settings should be updated to use the processTasksOnStart
.
Removal of NPM Indexing
Creating indexes in IAP via npm run index
is no longer supported in the 2022.1 release. Indexing is now standardized via new APIs, as well as a new page inside Admin Essentials. This will affect multiple applications, including:
- app-workflow_engine
- app-mop
- app-service_catalog
What Should I Do?
The API replacement for the npm indexing scripts is POST /indexes/:collectionName
where :collectionName
aligns with the collection that needs to be indexed. For example, to index the jobs collection, the API would look like POST /indexes/jobs
. This API does not need a request body. To check if a collection has been properly indexed, the API GET /indexes/:collectionName/status
can be used, so for the jobs collection this could be called with GET /indexes/jobs/status
. This can also be achieved by opening the Indexing tab on the active profile in Admin Essentials, and creating the necessary indexes.
The codePointAt Task Now Returns an Error Instead of an Empty String
The codePointAt
task now returns an error when the position value is out of range. Previously the task returned an empty string and a 204 status code. This change was made because returning an empty string yet indicating a successful request was seen as misleading.
What Should I Do?
Find any workflows that are expecting an empty string and change the logic to look for errors. Add any error handling around the codePointAt task you think you may need.
Removal of Files in ui/lib/rodeo-ui/src
In an effort to reduce file size, certain files have been removed from the rodeo-ui/src
directory folder in the ui/lib
directory of pronghorn_core. These files were all Javascript files; the CSS files in the directory have been left intact.
What Should I Do?
Check any custom apps that reference these files, or imports of Javascript files from the rodeo-ui/src
directory folder, and remove these references. Any CSS file imports from that folder should still function properly.