Engine Labels

A deployment defines the engine labels to assign to all engine instances managed by the deployment. Engine labels determine the group of engine instances that can run a job.

By default when you create a deployment, Control Hub assigns an engine label to the deployment using the same name as the deployment. All engine instances managed by the deployment inherit the label.

When you use the default engine label created for a deployment and inherited by all engine instances, you ensure that all engine instances that can run a job have an identical configuration. When you create a job, you can simply select the deployment that you want to use to run the job. Control Hub then automatically assigns the engine label defined for the deployment to the job. When you start the job, Control Hub runs a pipeline instance on an available engine instance managed by the deployment.

For example, you create a deployment named Marketing. Control Hub creates and assigns a Marketing engine label to the deployment. All engine instances managed by the deployment inherit the Marketing engine label. When you create a job, you select the Marketing deployment which assigns the Marketing engine label to the job. When you start the job, the job can only run on engine instances managed by the Marketing deployment.

As a best practice, use the default engine label assigned to a deployment to ensure that all engine instances that can run the job have an identical configuration. You can optionally change the engine label assigned to a deployment or assign multiple engine labels to a deployment. For advanced use cases, you can override the labels inherited by engine instances.
Important: Labels are case sensitive.

Labels and Pipeline Type

Control Hub determines the engine instances used to run a pipeline based on the pipeline type and the labels assigned to the job and the engine instances.

For example, when you start a job for a Data Collector pipeline, Control Hub runs a pipeline instance on Data Collectors with labels that match those defined in the job.

Control Hub only runs a pipeline on the expected engine type. That is, it won't run a Data Collector pipeline on a Transformer engine. You can, therefore, use the same labels on different deployments, without worrying about whether Control Hub runs a pipeline on the wrong engine type.

For example, let's say that you modify the engine labels created for a deployment of Data Collector engines and for another deployment of Transformer engines. You remove the default engine labels, and instead assign the label WestDataCenter to both deployments. When you run a job with the WestDataCenter label that contains a Data Collector pipeline, Control Hub runs the pipeline on a Data Collector engine only. When you run a job with the WestDataCenter label that contains a Transformer pipeline, Control Hub runs the pipeline on a Transformer engine only.

Working with Multiple Labels

When you select a single engine label for a job, Control Hub can start the job on any engine that is assigned the label. When you select multiple engine labels for a job, Control Hub can start the job on any engine that is assigned all listed labels.

You can assign multiple engine labels to deployments to group them by a combination of geographic regions, environments, and projects.

For example, you have execute permission on three deployments of Data Collector engines, allowing you to start jobs on the engines managed by these deployments. Each deployment is assigned the following labels:
Deployment Labels
Deployment1 Production, West
Deployment2 Development, West
Deployment3 Production, East
Let's look at which Data Collectors can process a job that you have execute permission on, based on the engine labels assigned to the job:
  • If you select the West label for the job, the job can start on any Data Collector with the West label. That is, any Data Collector managed by Deployment1 or Deployment2.
  • If you select the Production and West labels for the job, the job can start on any Data Collector with both labels. That is, any Data Collector managed by Deployment1.
  • If you select the Development and East labels for the job, the job fails to start because Control Hub cannot find a Data Collector assigned both labels.

Editing Labels for a Deployment

By default, Control Hub assigns an engine label to a deployment using the same name as the deployment. All engine instances managed by the deployment inherit the label. You can change the default label or assign additional labels to the deployment.

To edit labels, you edit the deployment, then restart associated engines. During the restart, the engines inherit the modified labels.

  1. In the Control Hub Navigation panel, click Set Up > Deployments.
  2. In the Actions column of the deployment, click the More icon () and then click Edit.
  3. In the Edit Deployment dialog box, expand the Configure Deployment section.
  4. Type a case-sensitive label for the Engine Labels property, and then hit Enter.

    The new label displays.

    You can remove the default label by clicking the X next to the label name.

  5. Click Save.
  6. If associated engines are running, click Restart Engines to restart all engine instances for the changes to take effect.

    If associated engines are not running, they inherit the changes when the engines restart.

Overriding Labels for an Engine Instance

As a best practice, assign engine labels to a deployment so that all engine instances managed by that deployment inherit the same labels. This guarantees that all available engine instances that can run the job have an identical configuration.

However, when needed some organizations can override the inherited labels for an engine instance, assigning different labels to engine instances in the same deployment.

For example, you might override labels for engine instances if you want to run a job on 2 out of 4 engine instances managed by the Marketing deployment and 1 out of 3 engine instances managed by the Finance deployment.

Important: Use caution when overriding labels for an engine instance. If you assign the same labels to engine instances managed by different deployments, you might run jobs on engine instances that are not identical. Running a job on engine instances that use different engine versions or configurations can result in a pipeline that fails to run.
  1. In the Navigation panel, click Set Up > Engines.
  2. Click an engine type tab.
  3. Locate the engine that you want to configure.
  4. In the Actions column, click the More icon () and then click Edit.
  5. For the Labels property, type the case-sensitive label, and then hit Enter.

    The new label displays.

    You can remove a label inherited from the deployment by clicking the X next to the label name.

  6. Click Save.