|
@@ -17,6 +17,12 @@ import static nju.seec.SEECdemo.util.Constants.NAME_PATTERN;
|
|
|
@Data
|
|
@Data
|
|
|
@NoArgsConstructor
|
|
@NoArgsConstructor
|
|
|
public class LimitRange {
|
|
public class LimitRange {
|
|
|
|
|
+
|
|
|
|
|
+ private static final String API_VERSION = "v1";
|
|
|
|
|
+ private static final String KIND = "LimitRange";
|
|
|
|
|
+ private static final String CPU_KEY = "cpu";
|
|
|
|
|
+ private static final String MEMORY_KEY = "memory";
|
|
|
|
|
+
|
|
|
@NotNull
|
|
@NotNull
|
|
|
private String namespace;
|
|
private String namespace;
|
|
|
|
|
|
|
@@ -24,89 +30,89 @@ public class LimitRange {
|
|
|
@Pattern(regexp = NAME_PATTERN)
|
|
@Pattern(regexp = NAME_PATTERN)
|
|
|
private String name;
|
|
private String name;
|
|
|
|
|
|
|
|
- private CpuQuantity default_cpu;
|
|
|
|
|
- private StorageQuantity default_memory;
|
|
|
|
|
- private CpuQuantity default_request_cpu;
|
|
|
|
|
- private StorageQuantity default_request_memory;
|
|
|
|
|
- private CpuQuantity max_cpu;
|
|
|
|
|
- private StorageQuantity max_memory;
|
|
|
|
|
- private CpuQuantity min_cpu;
|
|
|
|
|
- private StorageQuantity min_memory;
|
|
|
|
|
|
|
+ private CpuQuantity defaultCPU;
|
|
|
|
|
+ private StorageQuantity defaultMemory;
|
|
|
|
|
+ private CpuQuantity defaultRequestCPU;
|
|
|
|
|
+ private StorageQuantity defaultRequestMemory;
|
|
|
|
|
+ private CpuQuantity maxCpu;
|
|
|
|
|
+ private StorageQuantity maxMemory;
|
|
|
|
|
+ private CpuQuantity minCpu;
|
|
|
|
|
+ private StorageQuantity minMemory;
|
|
|
|
|
|
|
|
|
|
|
|
|
private String type = "Container";
|
|
private String type = "Container";
|
|
|
|
|
|
|
|
- public static LimitRange toLimitRange(V1LimitRange v1LimitRange) {
|
|
|
|
|
|
|
+ public LimitRange(V1LimitRange v1LimitRange) {
|
|
|
LimitRange limitRange = new LimitRange();
|
|
LimitRange limitRange = new LimitRange();
|
|
|
V1LimitRangeItem v1LimitRangeItem = v1LimitRange.getSpec().getLimits().get(0);
|
|
V1LimitRangeItem v1LimitRangeItem = v1LimitRange.getSpec().getLimits().get(0);
|
|
|
limitRange.setName(v1LimitRange.getMetadata().getName());
|
|
limitRange.setName(v1LimitRange.getMetadata().getName());
|
|
|
limitRange.setNamespace(v1LimitRange.getMetadata().getNamespace());
|
|
limitRange.setNamespace(v1LimitRange.getMetadata().getNamespace());
|
|
|
limitRange.setType(v1LimitRangeItem.getType());
|
|
limitRange.setType(v1LimitRangeItem.getType());
|
|
|
limitRange.setValues(v1LimitRangeItem);
|
|
limitRange.setValues(v1LimitRangeItem);
|
|
|
- return limitRange;
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+
|
|
|
public V1LimitRange toV1LimitRange() {
|
|
public V1LimitRange toV1LimitRange() {
|
|
|
return new V1LimitRangeBuilder()
|
|
return new V1LimitRangeBuilder()
|
|
|
- .withApiVersion("v1")
|
|
|
|
|
- .withKind("LimitRangeVO")
|
|
|
|
|
|
|
+ .withApiVersion(API_VERSION)
|
|
|
|
|
+ .withKind(KIND)
|
|
|
.withMetadata(this.toV1ObjectMeta())
|
|
.withMetadata(this.toV1ObjectMeta())
|
|
|
.withSpec(this.toV1LimitRangeSpec())
|
|
.withSpec(this.toV1LimitRangeSpec())
|
|
|
.build();
|
|
.build();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- public V1ObjectMeta toV1ObjectMeta() {
|
|
|
|
|
|
|
+ private V1ObjectMeta toV1ObjectMeta() {
|
|
|
return new V1ObjectMetaBuilder()
|
|
return new V1ObjectMetaBuilder()
|
|
|
.withNamespace(namespace)
|
|
.withNamespace(namespace)
|
|
|
.withName(name)
|
|
.withName(name)
|
|
|
.build();
|
|
.build();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- public V1LimitRangeSpec toV1LimitRangeSpec() {
|
|
|
|
|
|
|
+ private V1LimitRangeSpec toV1LimitRangeSpec() {
|
|
|
return new V1LimitRangeSpec().addLimitsItem(this.toV1LimitRangeItem());
|
|
return new V1LimitRangeSpec().addLimitsItem(this.toV1LimitRangeItem());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- public V1LimitRangeItem toV1LimitRangeItem() {
|
|
|
|
|
|
|
+ private V1LimitRangeItem toV1LimitRangeItem() {
|
|
|
|
|
|
|
|
V1LimitRangeItem v1LimitRangeItem = new V1LimitRangeItem();
|
|
V1LimitRangeItem v1LimitRangeItem = new V1LimitRangeItem();
|
|
|
- if (!getItemValue(default_cpu, default_memory).isEmpty())
|
|
|
|
|
- v1LimitRangeItem.setDefault(getItemValue(default_cpu, default_memory));
|
|
|
|
|
- if (!getItemValue(default_request_cpu, default_request_memory).isEmpty())
|
|
|
|
|
- v1LimitRangeItem.setDefaultRequest(getItemValue(default_request_cpu, default_request_memory));
|
|
|
|
|
- if (!getItemValue(max_cpu, max_memory).isEmpty())
|
|
|
|
|
- v1LimitRangeItem.setMax(getItemValue(max_cpu, max_memory));
|
|
|
|
|
- if (!getItemValue(min_cpu, min_memory).isEmpty())
|
|
|
|
|
- v1LimitRangeItem.setMin(getItemValue(min_cpu, min_memory));
|
|
|
|
|
|
|
+ if (!getItemValue(defaultCPU, defaultMemory).isEmpty())
|
|
|
|
|
+ v1LimitRangeItem.setDefault(getItemValue(defaultCPU, defaultMemory));
|
|
|
|
|
+ if (!getItemValue(defaultRequestCPU, defaultRequestMemory).isEmpty())
|
|
|
|
|
+ v1LimitRangeItem.setDefaultRequest(getItemValue(defaultRequestCPU, defaultRequestMemory));
|
|
|
|
|
+ if (!getItemValue(maxCpu, maxMemory).isEmpty())
|
|
|
|
|
+ v1LimitRangeItem.setMax(getItemValue(maxCpu, maxMemory));
|
|
|
|
|
+ if (!getItemValue(minCpu, minMemory).isEmpty())
|
|
|
|
|
+ v1LimitRangeItem.setMin(getItemValue(minCpu, minMemory));
|
|
|
v1LimitRangeItem.setType(type);
|
|
v1LimitRangeItem.setType(type);
|
|
|
return v1LimitRangeItem;
|
|
return v1LimitRangeItem;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
- public Map<String, Quantity> getItemValue(CpuQuantity cpu_value, StorageQuantity memory_value) {
|
|
|
|
|
|
|
+ private Map<String, Quantity> getItemValue(CpuQuantity cpuValue, StorageQuantity memoryValue) {
|
|
|
Map<String, Quantity> itemValue = new HashMap<>();
|
|
Map<String, Quantity> itemValue = new HashMap<>();
|
|
|
- if (cpu_value != null) {
|
|
|
|
|
- itemValue.put("cpu", cpu_value.toQuantity());
|
|
|
|
|
|
|
+ if (cpuValue != null) {
|
|
|
|
|
+ itemValue.put(CPU_KEY, cpuValue.toQuantity());
|
|
|
}
|
|
}
|
|
|
- if (memory_value != null) {
|
|
|
|
|
- itemValue.put("memory", memory_value.toQuantity());
|
|
|
|
|
|
|
+ if (memoryValue != null) {
|
|
|
|
|
+ itemValue.put(MEMORY_KEY, memoryValue.toQuantity());
|
|
|
}
|
|
}
|
|
|
return itemValue;
|
|
return itemValue;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
- public void setValues(V1LimitRangeItem v1LimitRangeItem) {
|
|
|
|
|
|
|
+ private void setValues(V1LimitRangeItem v1LimitRangeItem) {
|
|
|
Map<String, Quantity> _default = v1LimitRangeItem.getDefault();
|
|
Map<String, Quantity> _default = v1LimitRangeItem.getDefault();
|
|
|
Map<String, Quantity> default_request = v1LimitRangeItem.getDefaultRequest();
|
|
Map<String, Quantity> default_request = v1LimitRangeItem.getDefaultRequest();
|
|
|
Map<String, Quantity> max = v1LimitRangeItem.getMax();
|
|
Map<String, Quantity> max = v1LimitRangeItem.getMax();
|
|
|
Map<String, Quantity> min = v1LimitRangeItem.getMin();
|
|
Map<String, Quantity> min = v1LimitRangeItem.getMin();
|
|
|
- setDefault_cpu(CpuQuantity.getCpuQuantity(_default.getOrDefault("cpu", null)));
|
|
|
|
|
- setDefault_memory(StorageQuantity.getStorageQuantity(_default.getOrDefault("memory", null)));
|
|
|
|
|
- setDefault_request_cpu(CpuQuantity.getCpuQuantity(default_request.getOrDefault("cpu", null)));
|
|
|
|
|
- setDefault_request_memory(StorageQuantity.getStorageQuantity(default_request.getOrDefault("memory", null)));
|
|
|
|
|
- setMax_cpu(CpuQuantity.getCpuQuantity(max.getOrDefault("cpu", null)));
|
|
|
|
|
- setMax_memory(StorageQuantity.getStorageQuantity(max.getOrDefault("memory", null)));
|
|
|
|
|
- setMin_cpu(CpuQuantity.getCpuQuantity(min.getOrDefault("cpu", null)));
|
|
|
|
|
- setMin_memory(StorageQuantity.getStorageQuantity(min.getOrDefault("memory", null)));
|
|
|
|
|
|
|
+ setDefaultCPU(CpuQuantity.getCpuQuantity(_default.getOrDefault(CPU_KEY, null)));
|
|
|
|
|
+ setDefaultMemory(StorageQuantity.getStorageQuantity(_default.getOrDefault(MEMORY_KEY, null)));
|
|
|
|
|
+ setDefaultRequestCPU(CpuQuantity.getCpuQuantity(default_request.getOrDefault(CPU_KEY, null)));
|
|
|
|
|
+ setDefaultRequestMemory(StorageQuantity.getStorageQuantity(default_request.getOrDefault(MEMORY_KEY, null)));
|
|
|
|
|
+ setMaxCpu(CpuQuantity.getCpuQuantity(max.getOrDefault(CPU_KEY, null)));
|
|
|
|
|
+ setMaxMemory(StorageQuantity.getStorageQuantity(max.getOrDefault(MEMORY_KEY, null)));
|
|
|
|
|
+ setMinCpu(CpuQuantity.getCpuQuantity(min.getOrDefault(CPU_KEY, null)));
|
|
|
|
|
+ setMinMemory(StorageQuantity.getStorageQuantity(min.getOrDefault(MEMORY_KEY, null)));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|