Migration/version upgrade feature

icon

Automation challenges

Business agility implies being able to adjust, change and implement new business processes. An automation platform needs to follow the same philosophy, otherwise, it is as good as yesterday’s practices. Once we deploy automation tasks in production, several things can happen:

  • API endpoints that are in use by sensors/actuators are no longer available (need to be replaced by other providers).
  • API endpoints have now different responses than before (parsing needs to be updated).
  • we need to update templates and tasks as new service become available.
  • adjust/change running tasks.

Sensor/Actuator upgrades

Every sensor and actuator in the Waylay tenant platform is versioned. When we decide to update a (sensor or actuator) plug, a new version will be stored in the cloud. Below is the console view of Waylay plugs. For each plug, you can see the different versions that have been created so far.

Sensor version

Here is the example of the Zendesk actuator

Zendesk

Let’s now build a “devops” template using this actuator:

Zendesk

Now, let’s instantiate the template as a task for a particular resource using a REST call:

    "name": "DEVOPS machine x1",
    "template": "devops",
    "resource": "machine x1",
    "type": "periodic",
    "frequence": 10000,
  }' https://sandbox.waylay.io/api/tasks

Here is the newly created task in the application:

task

Let’s imagine that the Zendesk API version had changed after this task was created. In the previous example, the URL for the Zendesk API service was version one v1, coded in the plug like this:

var url = "https://"+domain+".zendesk.com/api/v1/tickets.json";.

Assume now that the new API version is 2. Now we need to change the Zendesk actuator plug (the new plug version becomes 0.0.2):

Zendesk v2

If we look at the task view again, we can see the warning:

task warning

If we click the migrate button, we end up on the migration page. We can see that inside the template, we have the same actuator three times configured, all with the same old version 0.0.1.

task migration

Now we need to migrate templates.

In the template view, we can now migrate all actuators zendeskTicket

update template

Once we have saved the updated template, a new icon will show in the command view (in the middle pane, at the top on the righthand side)

task migration

That brings us back to the migration page. With one click of a button, we can now update all tasks based on this template to the latest version. Easy!

task migration