Understanding Workflow Versioning

There are two aspects of versioning with respect to workflows: the first is the expression of the version of the Oracle ZFS Storage Appliance software that the workflow depends on, and the second is the expression of the version of the workflow itself. Versioning is expressed through two optional members to the workflow:

Table 9-7 Optional Members for Versioning

Optional Member Type Description

required

String

The minimum version of the appliance software required to run this workflow, including the minimum year, month, day, build and branch

version

String

Version of this workflow, in dotted decimal (major.minor.micro) form

Appliance Versioning - To express a minimally required version of the Oracle ZFS Storage Appliance software, add the optional required field to your workflow. The appliance is versioned in terms of the year, month and day on which the software was built, followed by a build number and then a branch number, expressed as year.month.day.build-branch. For example 2018.04.10,12-0 would be the twelfth build of the software originally build on April 10th, 2018. To get the version of the current appliance kit software, run the configuration version get version CLI command, or look at the Version field in the System screen in the BUI. Here's an example of using the required field:

Example 9-10 Using the Workflow required Field

Here's an example of using the required field:

var workflow = {
name: 'Configure FC',
description: 'Configures fibre channel target groups',
        required: '2018.12.25,1-0',
        ...

If a workflow requires a version of software that is newer than the version loaded on the appliance, the attempt to upload the workflow will fail with a message explaining the mismatch.

Workflow Versioning - In addition to specifying the required version of the appliance software, workflows themselves may be versioned with the version field. This string denotes the major, minor and micro numbers of the workflow version, and allows multiple versions of the same workflow to exist on the machine. When uploading a workflow, any compatible, older versions of the same workflow are deleted. A workflow is deemed to be compatible if it has the same major number, and a workflow is considered to be older if it has a lower version number. Therefore, uploading a workflow with a version of 2.1 will remove the same workflow with version 2.0 (or version 2.0.1) but not 1.2 or 0.1.