Skip to content

Commit f2adcd7

Browse files
committed
Update deploy-exporters to latest cli and add qemu exporters
Add basic intel qemu exporters, and update the CLI to latest versions.
1 parent ea0c554 commit f2adcd7

File tree

5 files changed

+143
-43
lines changed

5 files changed

+143
-43
lines changed

hack/demoenv/exporters-statefulset.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@ spec:
1616
restartPolicy: Always
1717
containers:
1818
- name: jumpstarter-exporter
19-
image: quay.io/jumpstarter-dev/jumpstarter:0.5.0
20-
imagePullPolicy: IfNotPresent
19+
image: quay.io/jumpstarter-dev/jumpstarter:release-0.6
20+
imagePullPolicy: Always
2121
env:
2222
- name: JUMPSTARTER_GRPC_INSECURE
2323
value: "1"
2424
# note for some reason jmp-exporter run $(cat /etc/hostname) won't find the config, neither does list
25-
command: ["/bin/sh", "-c", "echo running exporter $(cat /etc/hostname); jmp-exporter run -c /etc/jumpstarter/exporters/$(cat /etc/hostname).yaml"]
25+
command: ["/bin/sh", "-c", "echo running exporter $(cat /etc/hostname); jmp run --exporter $(cat /etc/hostname)"]
2626
# map the exporter-configs ConfigMap to /etc/jumpstarter/exporters
2727
volumeMounts:
2828
- name: exporter-configs

hack/demoenv/kustomization.yaml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ namespace: jumpstarter-exporters
33
resources:
44
- exporters-statefulset.yaml
55
- vcan-exporters-statefulset.yaml
6+
- qemu-exporters-statefulset.yaml
67
configMapGenerator:
78
- name: exporter-configs
89
files:
@@ -16,4 +17,8 @@ configMapGenerator:
1617
- gen/vcan-exporter-2.yaml
1718
- gen/vcan-exporter-3.yaml
1819
- gen/vcan-exporter-4.yaml
19-
20+
- gen/qemu-exporter-0.yaml
21+
- gen/qemu-exporter-1.yaml
22+
- gen/qemu-exporter-2.yaml
23+
- gen/qemu-exporter-3.yaml
24+
- gen/qemu-exporter-4.yaml

hack/demoenv/prepare_exporters.sh

Lines changed: 68 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -3,54 +3,86 @@ OUT_DIR=${OUT_DIR:-"hack/demoenv/gen"}
33
NAMESPACE=${NAMESPACE:-"jumpstarter-lab"}
44

55
mkdir -p ${OUT_DIR}
6-
for i in `seq 0 4`; do
7-
EXPORTER_NAME="exporter-$i"
8-
echo "Creating exporter $EXPORTER_NAME"
9-
OUT_FILE="${OUT_DIR}/${EXPORTER_NAME}.yaml"
10-
bin/jmpctl exporter delete "${EXPORTER_NAME}" --namespace "${NAMESPACE}" > /dev/null 2>&1
11-
bin/jmpctl exporter create "${EXPORTER_NAME}" --namespace "${NAMESPACE}" > "${OUT_FILE}"
12-
cat >> "${OUT_FILE}" <<EOF
13-
export:
14-
storage:
15-
type: jumpstarter.drivers.storage.driver.MockStorageMux
16-
power:
17-
type: jumpstarter.drivers.power.driver.MockPower
18-
echonet:
19-
type: jumpstarter.drivers.network.driver.EchoNetwork
20-
tcpnet:
21-
type: jumpstarter.drivers.network.driver.TcpNetwork
22-
config:
23-
host: "192.168.1.52"
24-
port: 80
6+
# for i in `seq 0 4`; do
7+
# EXPORTER_NAME="exporter-$i"
8+
# echo "Creating exporter $EXPORTER_NAME"
9+
# OUT_FILE="${OUT_DIR}/${EXPORTER_NAME}.yaml"
10+
# jmp admin delete exporter "${EXPORTER_NAME}" --namespace "${NAMESPACE}" > /dev/null 2>&1
11+
# jmp admin create exporter "${EXPORTER_NAME}" --namespace "${NAMESPACE}" --out "${OUT_FILE}" -l device-type=mock
12+
# sed -i '' '/^\s*export: {}\s*$/d' "${OUT_FILE}"
13+
# cat >> "${OUT_FILE}" <<EOF
14+
# export:
15+
# storage:
16+
# type: jumpstarter_driver_opendal.driver.MockStorageMux
17+
# power:
18+
# type: jumpstarter_driver_power.driver.MockPower
19+
# echonet:
20+
# type: jumpstarter_driver_network.driver.EchoNetwork
21+
# tcpnet:
22+
# type: jumpstarter_driver_network.driver.TcpNetwork
23+
# config:
24+
# host: "192.168.1.52"
25+
# port: 80
2526

26-
EOF
27-
kubectl label exporter -n "${NAMESPACE}" "${EXPORTER_NAME}" device-type=mock
28-
done
27+
# EOF
28+
# done
29+
30+
# for i in `seq 0 4`; do
31+
# EXPORTER_NAME="vcan-exporter-$i"
32+
# echo "Creating exporter $EXPORTER_NAME"
33+
# OUT_FILE="${OUT_DIR}/${EXPORTER_NAME}.yaml"
34+
# jmp admin delete exporter "${EXPORTER_NAME}" --namespace "${NAMESPACE}" > /dev/null 2>&1
35+
# jmp admin create exporter "${EXPORTER_NAME}" --namespace "${NAMESPACE}" --out "${OUT_FILE}" -l device-type=can
36+
# sed -i '' '/^\s*export: {}\s*$/d' "${OUT_FILE}"
37+
# cat >> "${OUT_FILE}" <<EOF
38+
# export:
39+
# storage:
40+
# type: jumpstarter_driver_opendal.driver.MockStorageMux
41+
# power:
42+
# type: jumpstarter_driver_power.driver.MockPower
43+
# echonet:
44+
# type: jumpstarter_driver_network.driver.EchoNetwork
45+
# can:
46+
# type: jumpstarter_driver_can.driver.Can
47+
# config:
48+
# channel: 1
49+
# interface: "virtual"
50+
51+
# EOF
52+
# done
2953

3054
for i in `seq 0 4`; do
31-
EXPORTER_NAME="vcan-exporter-$i"
55+
EXPORTER_NAME="qemu-exporter-$i"
3256
echo "Creating exporter $EXPORTER_NAME"
3357
OUT_FILE="${OUT_DIR}/${EXPORTER_NAME}.yaml"
34-
bin/jmpctl exporter delete "${EXPORTER_NAME}" --namespace "${NAMESPACE}" > /dev/null 2>&1
35-
bin/jmpctl exporter create "${EXPORTER_NAME}" --namespace "${NAMESPACE}" > "${OUT_FILE}"
58+
jmp admin delete exporter "${EXPORTER_NAME}" --namespace "${NAMESPACE}" > /dev/null 2>&1
59+
jmp admin create exporter "${EXPORTER_NAME}" --namespace "${NAMESPACE}" --out "${OUT_FILE}" -l board=virtual
60+
sed -i '' '/^\s*export: {}\s*$/d' "${OUT_FILE}"
3661
cat >> "${OUT_FILE}" <<EOF
3762
export:
38-
storage:
39-
type: jumpstarter.drivers.storage.driver.MockStorageMux
40-
power:
41-
type: jumpstarter.drivers.power.driver.MockPower
42-
echonet:
43-
type: jumpstarter.drivers.network.driver.EchoNetwork
44-
can:
45-
type: jumpstarter_driver_can.driver.Can
63+
qemu:
64+
type: jumpstarter_driver_qemu.driver.Qemu
4665
config:
47-
channel: 1
48-
interface: "virtual"
66+
smp: 1
67+
mem: "2G"
68+
default_partitions:
69+
OVMF_CODE.fd: /usr/share/AAVMF/OVMF_CODE.fd
70+
OVMF_VARS.fd: /usr/share/AAVMF/OVMF_VARS.fd
71+
hostfwd:
72+
ssh:
73+
hostport: 9022
74+
guestport: 22
75+
console:
76+
ref: qemu.console
77+
flasher:
78+
ref: qemu.flasher
79+
power:
80+
ref: qemu.power
4981
5082
EOF
51-
kubectl label exporter -n "${NAMESPACE}" "${EXPORTER_NAME}" device-type=can
5283
done
5384

85+
5486
kubectl delete statefulset -n jumpstarter-exporters exporter vcan-exporter
5587
kubectl delete pod --all -n jumpstarter-exporters --force --grace-period=0
5688

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
apiVersion: apps/v1
2+
kind: StatefulSet
3+
metadata:
4+
name: qemu-exporter
5+
spec:
6+
serviceName: qemu-exporter
7+
replicas: 5
8+
selector:
9+
matchLabels:
10+
exporter-mock: qemu
11+
template:
12+
metadata:
13+
labels:
14+
exporter-mock: qemu
15+
annotations:
16+
openshift.io/required-scc: privileged
17+
spec:
18+
restartPolicy: Always
19+
20+
containers:
21+
- name: jumpstarter-exporter
22+
# TODO: we need a continuous release of this image in jumpstarter. i.e. quay.io/jumpstarter/jumpstarter-with-qemu:latest
23+
image: quay.io/mangelajo/jumpstarter:rel6-qemu
24+
securityContext:
25+
privileged: true
26+
imagePullPolicy: Always
27+
resources:
28+
limits:
29+
cpu: 2000m
30+
memory: "2G"
31+
requests:
32+
cpu: 100m
33+
memory: "1G"
34+
env:
35+
- name: JUMPSTARTER_GRPC_INSECURE
36+
value: "1"
37+
# note for some reason jmp-exporter run $(cat /etc/hostname) won't find the config, neither does list
38+
command: ["/bin/sh", "-c", "echo running exporter $(cat /etc/hostname); jmp run --exporter $(cat /etc/hostname)"]
39+
# map the exporter-configs ConfigMap to /etc/jumpstarter/exporters
40+
volumeMounts:
41+
- name: exporter-configs
42+
mountPath: /etc/jumpstarter/exporters
43+
- mountPath: /shared
44+
name: shared
45+
- mountPath: /dev/kvm
46+
name: dev-kvm
47+
- mountPath: /dev/vhost-vsock
48+
name: dev-vhost-vsock
49+
50+
volumes:
51+
- name: exporter-configs
52+
configMap:
53+
name: exporter-configs
54+
- name: shared
55+
emptyDir: {}
56+
- name: dev-kvm
57+
hostPath:
58+
path: /dev/kvm
59+
type: CharDevice
60+
- name: dev-vhost-vsock
61+
hostPath:
62+
path: /dev/vhost-vsock
63+
type: CharDevice

hack/demoenv/vcan-exporters-statefulset.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@ spec:
1616
restartPolicy: Always
1717
containers:
1818
- name: jumpstarter-exporter
19-
image: quay.io/jumpstarter-dev/jumpstarter:0.5.0
20-
imagePullPolicy: IfNotPresent
19+
image: quay.io/jumpstarter-dev/jumpstarter:latest
20+
imagePullPolicy: Always
2121
env:
2222
- name: JUMPSTARTER_GRPC_INSECURE
2323
value: "1"
2424
# note for some reason jmp-exporter run $(cat /etc/hostname) won't find the config, neither does list
25-
command: ["/bin/sh", "-c", "echo running exporter $(cat /etc/hostname); jmp-exporter run -c /etc/jumpstarter/exporters/$(cat /etc/hostname).yaml"]
25+
command: ["/bin/sh", "-c", "echo running exporter $(cat /etc/hostname); jmp run --exporter (cat /etc/hostname)"]
2626
# map the exporter-configs ConfigMap to /etc/jumpstarter/exporters
2727
volumeMounts:
2828
- name: exporter-configs

0 commit comments

Comments
 (0)