Merge branch 'main' into testing
This commit is contained in:
commit
a1a40304c7
12 changed files with 42 additions and 15 deletions
|
|
@ -1470,6 +1470,10 @@ spec:
|
|||
type: object
|
||||
default: {}
|
||||
properties:
|
||||
runnerVersion:
|
||||
description: >-
|
||||
The version string of the runner.
|
||||
type: string
|
||||
cpus:
|
||||
description: >-
|
||||
Number of CPUs currently in use.
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ apiVersion: "vmoperator.jdrupes.org/v1"
|
|||
kind: VirtualMachine
|
||||
metadata:
|
||||
namespace: vmop-dev
|
||||
name: test-vm<%= ${number} %>
|
||||
name: test-vm<%= $(printf "%02d" ${number}) %>
|
||||
annotations:
|
||||
argocd.argoproj.io/sync-wave: "20"
|
||||
|
||||
|
|
@ -13,6 +13,9 @@ spec:
|
|||
# source: docker-registry.lan.mnl.de/vmoperator/org.jdrupes.vmoperator.runner.qemu-arch:feature-pools
|
||||
pullPolicy: Always
|
||||
|
||||
runnerTemplate:
|
||||
update: true
|
||||
|
||||
permissions:
|
||||
- role: admin
|
||||
may:
|
||||
|
|
|
|||
|
|
@ -50,6 +50,9 @@ public class Constants {
|
|||
* Status related constants.
|
||||
*/
|
||||
public static class Status {
|
||||
/** The Constant RUNNER_VERSION. */
|
||||
public static final String RUNNER_VERSION = "runnerVersion";
|
||||
|
||||
/** The Constant CPUS. */
|
||||
public static final String CPUS = "cpus";
|
||||
|
||||
|
|
|
|||
|
|
@ -220,6 +220,9 @@ public abstract class AbstractMonitor<O extends KubernetesObject,
|
|||
new K8sObserver<>(objectClass, objectListClass, client,
|
||||
K8s.preferred(context, version), namespace, options)
|
||||
.handler((c, r) -> {
|
||||
logger.fine(() -> "Resource " + context.getKind()
|
||||
+ "/" + r.object.getMetadata().getName() + " "
|
||||
+ r.type);
|
||||
handleChange(c, r);
|
||||
}).onTerminated((o, t) -> {
|
||||
if (observerCounter.decrementAndGet() == 0) {
|
||||
|
|
|
|||
|
|
@ -91,6 +91,7 @@ import org.yaml.snakeyaml.constructor.SafeConstructor;
|
|||
}
|
||||
|
||||
// Create pod. First combine template and data and parse result
|
||||
logger.fine(() -> "Create/update pod " + podStub.name());
|
||||
var fmTemplate = fmConfig.getTemplate("runnerPod.ftl.yaml");
|
||||
StringWriter out = new StringWriter();
|
||||
fmTemplate.process(model, out);
|
||||
|
|
|
|||
|
|
@ -215,8 +215,6 @@ public class Reconciler extends Component {
|
|||
throws ApiException, TemplateException, IOException {
|
||||
// Ownership relationships takes care of deletions
|
||||
if (event.type() == K8sObserver.ResponseType.DELETED) {
|
||||
logger.fine(
|
||||
() -> "VM \"" + event.vmDefinition().name() + "\" deleted");
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -205,13 +205,13 @@ public class VmMonitor extends
|
|||
= K8sV1PodStub.list(client, namespace(), podSearch);
|
||||
for (var podStub : podList) {
|
||||
var nodeName = podStub.model().get().getSpec().getNodeName();
|
||||
logger.fine(() -> "Adding node name " + nodeName
|
||||
logger.finer(() -> "Adding node name " + nodeName
|
||||
+ " to VM info for " + vmDef.name());
|
||||
@SuppressWarnings("PMD.AvoidInstantiatingObjectsInLoops")
|
||||
var addrs = new ArrayList<String>();
|
||||
podStub.model().get().getStatus().getPodIPs().stream()
|
||||
.map(ip -> ip.getIp()).forEach(addrs::add);
|
||||
logger.fine(() -> "Adding node addresses " + addrs
|
||||
logger.finer(() -> "Adding node addresses " + addrs
|
||||
+ " to VM info for " + vmDef.name());
|
||||
extra.nodeInfo(nodeName, addrs);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@ import io.kubernetes.client.openapi.JSON;
|
|||
import io.kubernetes.client.openapi.models.EventsV1Event;
|
||||
import java.io.IOException;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Optional;
|
||||
import java.util.logging.Level;
|
||||
import static org.jdrupes.vmoperator.common.Constants.APP_NAME;
|
||||
import org.jdrupes.vmoperator.common.Constants.Crd;
|
||||
|
|
@ -124,6 +125,9 @@ public class StatusUpdater extends VmDefUpdater {
|
|||
observedGeneration = vmDef.getMetadata().getGeneration();
|
||||
vmStub.updateStatus(from -> {
|
||||
JsonObject status = from.statusJson();
|
||||
status.addProperty(Status.RUNNER_VERSION, Optional.ofNullable(
|
||||
Runner.class.getPackage().getImplementationVersion())
|
||||
.orElse("(unknown)"));
|
||||
status.remove(Status.LOGGED_IN_USER);
|
||||
return status;
|
||||
});
|
||||
|
|
|
|||
|
|
@ -127,15 +127,16 @@
|
|||
><span>{{ cic.error }}</span></form></td>
|
||||
</tr>
|
||||
</table>
|
||||
<table class="table--basic table--basic--autoStriped">
|
||||
<tr>
|
||||
<td colspan="2">{{ entry.status?.osinfo?.["pretty-name"] || "" }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{ localize("usedFrom") }}</td>
|
||||
<td>{{ entry.usedFrom }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>
|
||||
<template v-if="entry.status?.runnerVersion">
|
||||
{{ localize("runnerVersion") }}:
|
||||
{{ entry.status.runnerVersion }}<br></template>
|
||||
<template v-if="entry.status?.osinfo">
|
||||
{{ localize("guestOs") }}:
|
||||
{{ entry.status?.osinfo?.["pretty-name"] || "" }}<br></template>
|
||||
<template v-if="entry.usedFrom">{{ localize("usedFrom") }}:
|
||||
{{ entry.usedFrom }}<br></template>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</template>
|
||||
|
|
|
|||
|
|
@ -5,12 +5,14 @@ VMsSummary = VMs (running/total)
|
|||
assignedTo = Assigned to
|
||||
currentCpus = Current CPUs
|
||||
currentRam = Current RAM
|
||||
guestOs = Guest OS
|
||||
maximumCpus = Maximum CPUs
|
||||
maximumRam = Maximum RAM
|
||||
notInUse = Currently closed
|
||||
nodeName = Node
|
||||
requestedCpus = Requested CPUs
|
||||
requestedRam = Requested RAM
|
||||
runnerVersion = Runner version
|
||||
running = Running
|
||||
since = Since
|
||||
usedBy = Used by
|
||||
|
|
|
|||
|
|
@ -9,12 +9,14 @@ Last\ day = Letzter Tag
|
|||
assignedTo = Zugewiesen an
|
||||
currentCpus = Aktuelle CPUs
|
||||
currentRam = Akuelles RAM
|
||||
guestOs = Gast BS
|
||||
maximumCpus = Maximale CPUs
|
||||
maximumRam = Maximales RAM
|
||||
nodeName = Knoten
|
||||
notInUse = Derzeit geschlossen
|
||||
requestedCpus = Angeforderte CPUs
|
||||
requestedRam = Angefordertes RAM
|
||||
runnerVersion = Runner-Version
|
||||
running = Gestartet
|
||||
since = Seit
|
||||
usedBy = Benutzt durch
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@
|
|||
padding-left: 0;
|
||||
|
||||
table {
|
||||
display: inline;
|
||||
display: inline-block;
|
||||
|
||||
td:nth-child(2) {
|
||||
min-width: 7em;
|
||||
|
|
@ -97,6 +97,12 @@
|
|||
color: var(--danger);
|
||||
}
|
||||
}
|
||||
|
||||
p {
|
||||
display: inline-block;
|
||||
margin: 0.25rem 0.5rem 0.25rem 0.5rem;
|
||||
vertical-align: top;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue