19
19
import java .time .ZoneOffset ;
20
20
import java .time .ZonedDateTime ;
21
21
import java .util .List ;
22
+ import java .util .Map ;
22
23
import java .util .Optional ;
23
24
import java .util .Properties ;
24
25
import java .util .stream .Collectors ;
@@ -69,6 +70,7 @@ private Protos.TaskInfo buildNativeTask(Protos.Offer offer, Configuration config
69
70
final List <Integer > ports = getPorts (offer , configuration );
70
71
final List <Protos .Resource > resources = getResources (configuration , ports );
71
72
final Protos .DiscoveryInfo discovery = getDiscovery (ports , configuration );
73
+ final Protos .Labels labels = getLabels (configuration );
72
74
73
75
final String hostAddress = resolveHostAddress (offer , ports );
74
76
@@ -83,6 +85,7 @@ private Protos.TaskInfo buildNativeTask(Protos.Offer offer, Configuration config
83
85
.setSlaveId (offer .getSlaveId ())
84
86
.addAllResources (resources )
85
87
.setDiscovery (discovery )
88
+ .setLabels (labels )
86
89
.setCommand (nativeCommand (configuration , args , elasticSearchNodeId ))
87
90
.build ();
88
91
}
@@ -91,6 +94,7 @@ private Protos.TaskInfo buildDockerTask(Protos.Offer offer, Configuration config
91
94
final List <Integer > ports = getPorts (offer , configuration );
92
95
final List <Protos .Resource > resources = getResources (configuration , ports );
93
96
final Protos .DiscoveryInfo discovery = getDiscovery (ports , configuration );
97
+ final Protos .Labels labels = getLabels (configuration );
94
98
95
99
final String hostAddress = resolveHostAddress (offer , ports );
96
100
@@ -107,6 +111,7 @@ private Protos.TaskInfo buildDockerTask(Protos.Offer offer, Configuration config
107
111
.setSlaveId (offer .getSlaveId ())
108
112
.addAllResources (resources )
109
113
.setDiscovery (discovery )
114
+ .setLabels (labels )
110
115
.setCommand (dockerCommand (configuration , args , elasticSearchNodeId ))
111
116
.setContainer (containerInfo )
112
117
.build ();
@@ -151,6 +156,21 @@ private Protos.DiscoveryInfo getDiscovery(List<Integer> ports, Configuration con
151
156
return discovery .build ();
152
157
}
153
158
159
+ private Protos .Labels getLabels (Configuration configuration ) {
160
+ Protos .Labels .Builder builder = Protos .Labels .newBuilder ();
161
+ Map <String , String > labels = configuration .getTaskLabels ();
162
+ for (Map .Entry <String , String > kvp : labels .entrySet ()) {
163
+ Protos .Label label = Protos .Label .newBuilder ()
164
+ .setKey (kvp .getKey ())
165
+ .setValue (kvp .getValue ())
166
+ .build ();
167
+
168
+ builder .addLabels (label );
169
+ }
170
+
171
+ return builder .build ();
172
+ }
173
+
154
174
private Protos .ContainerInfo getContainer (Configuration configuration , Protos .TaskID taskID , Long elasticSearchNodeId , Protos .SlaveID slaveID ) {
155
175
final Protos .Environment environment = Protos .Environment .newBuilder ().addAllVariables (new ExecutorEnvironmentalVariables (configuration , elasticSearchNodeId ).getList ()).build ();
156
176
final Protos .ContainerInfo .DockerInfo .Builder dockerInfo = Protos .ContainerInfo .DockerInfo .newBuilder ()
0 commit comments