Using Controller Tags

Overview

You can assign tags to vFunction controller and based on these tags select the controllers for scheduled or triggered learning.

This is useful when the application is re-deployed on different nodes (VM/Pods) and the IDs of the controllers are changed because of it.

Assigning Tags to a controller

  1. Edit the installation.yaml of the controller (in sudo installation it is under /etc/sysconfig/vfunction/installation/instances/[instance name])
  2. Uncomment the line under the section cotroller->tags and replace tag1 with the tag name you want
  3. You can optionally add more lines with additional tags Example installation.yaml with tags:
controller:
  name: my app
  host: https://vfunction.server.com
  org_id: 111111
  app_id: 2222222
  client_id: 3333333
  client_secret: 4444444
  type: java
  jolokia_port: 8778
  instrconf_additions:
    inclusions:
#      - a.b.c.
    exclusions:
#      - a.b.c.
  tags:
    - myTag1
    - myTag2

  1. Install the controller (in 3.4 the tags are assigned during install, they are not updated when restarting the controller)

  2. Go to the Select Controllers page (under learning) and hover over the circle representing the controller - you should see the tags there.

Using Tags for selecting controllers for scheduled/triggered learning

Now that you have tags assigned to one or more controllers, you can use it in the configuration dialog of the observation page to select the controllers for scheduled / triggered learning (selecting tags instead of controller names)

If several controllers have the same tag and the user selects this tag for scheduled learning, then the data during learning will be collected arbitrarily from one of the running controllers assigned with that tag.

If the user selected several tags but not all controllers with the tags are running, the learning will be perfomed from the controllers with the matching tags that are up. It will fail only if all the matching controllers are down.