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.
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.
Deployment | Labels |
---|---|
Deployment1 | Production , West |
Deployment2 | Development , West |
Deployment3 | Production , East |
- If you select the
West
label for the job, the job can start on any Data Collector with theWest
label. That is, any Data Collector managed by Deployment1 or Deployment2. - If you select the
Production
andWest
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
andEast
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.
- In the Control Hub Navigation panel, click .
- In the Actions column of the deployment, click the More icon () and then click Edit.
- In the Edit Deployment dialog box, expand the Configure Deployment section.
-
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.
- Click Save.
-
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.
- In the Navigation panel, click .
- Click an engine type tab.
- Locate the engine that you want to configure.
- In the Actions column, click the More icon () and then click Edit.
-
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.
- Click Save.