@@ -58,23 +58,7 @@ private KubernetesInstance create(CreateAgentRequest request, PluginSettings set
58
58
container .setImage (image (request .properties ()));
59
59
container .setImagePullPolicy ("IfNotPresent" );
60
60
61
- ResourceRequirements resources = new ResourceRequirements ();
62
- resources .setLimits (new HashMap <String , Quantity >() {{
63
- String maxMemory = request .properties ().get ("MaxMemory" );
64
- if (StringUtils .isNotBlank (maxMemory )) {
65
- LOG .debug (String .format ("[Create Agent] Setting memory resource limit on k8s pod:%s" , maxMemory ));
66
- Size mem = Size .parse (maxMemory );
67
- put ("memory" , new Quantity (String .valueOf (mem .toMegabytes ()), "Mi" ));
68
- }
69
-
70
- String maxCPU = request .properties ().get ("MaxCPU" );
71
- if (StringUtils .isNotBlank (maxCPU )) {
72
- LOG .debug (String .format ("[Create Agent] Setting cpu resource limit on k8s pod:%s" , maxCPU ));
73
- put ("cpu" , new Quantity (maxCPU ));
74
- }
75
- }});
76
-
77
- container .setResources (resources );
61
+ container .setResources (getPodResources (request ));
78
62
79
63
ObjectMeta podMetadata = new ObjectMeta ();
80
64
podMetadata .setName (containerName );
@@ -91,6 +75,28 @@ private KubernetesInstance create(CreateAgentRequest request, PluginSettings set
91
75
return createKubernetesPod (client , elasticAgentPod );
92
76
}
93
77
78
+ private ResourceRequirements getPodResources (CreateAgentRequest request ) {
79
+ ResourceRequirements resources = new ResourceRequirements ();
80
+ HashMap <String , Quantity > limits = new HashMap <>();
81
+
82
+ String maxMemory = request .properties ().get ("MaxMemory" );
83
+ if (StringUtils .isNotBlank (maxMemory )) {
84
+ Size mem = Size .parse (maxMemory );
85
+ LOG .debug (String .format ("[Create Agent] Setting memory resource limit on k8s pod:%s" , new Quantity (String .valueOf (mem .toMegabytes ()), "M" )));
86
+ limits .put ("memory" , new Quantity (String .valueOf (mem .toBytes ())));
87
+ }
88
+
89
+ String maxCPU = request .properties ().get ("MaxCPU" );
90
+ if (StringUtils .isNotBlank (maxCPU )) {
91
+ LOG .debug (String .format ("[Create Agent] Setting cpu resource limit on k8s pod:%s" , new Quantity (maxCPU )));
92
+ limits .put ("cpu" , new Quantity (maxCPU ));
93
+ }
94
+
95
+ resources .setLimits (limits );
96
+
97
+ return resources ;
98
+ }
99
+
94
100
private static void setLabels (Pod pod , CreateAgentRequest request ) {
95
101
Map <String , String > existingLabels = (pod .getMetadata ().getLabels () != null ) ? pod .getMetadata ().getLabels () : new HashMap <>();
96
102
existingLabels .putAll (labelsFrom (request ));
0 commit comments