Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
10e04eb
Update HyperConverged.yaml
tux1980 Jan 8, 2026
dcb16b4
Create instancetypes
tux1980 Jan 12, 2026
c3503ad
Delete isar-apps/ocp-v/instancetypes
tux1980 Jan 12, 2026
50724de
Create README.md
tux1980 Jan 12, 2026
62a1438
Create README.md
tux1980 Jan 12, 2026
9d447fb
Create rhel-vmcit.yaml
tux1980 Jan 12, 2026
b48f3d5
Update rhel-vmcit.yaml
tux1980 Jan 12, 2026
658bbcf
Create rhel9-ds-custom.yaml
tux1980 Jan 12, 2026
5e65b51
Create rhel9-dv-import.yaml
tux1980 Jan 12, 2026
56869f0
Create rhel10-ds-custom.yaml
tux1980 Jan 12, 2026
868568c
Create rhel10-dv-import.yaml
tux1980 Jan 12, 2026
8210393
Create secret-rhel.yaml
tux1980 Jan 12, 2026
baba93b
Create rhel9-broadwell.yaml
tux1980 Jan 12, 2026
261b30c
Create rhel9-haswellv4.yaml
tux1980 Jan 12, 2026
ddd39d2
Create rhel10-broadwell.yaml
tux1980 Jan 12, 2026
581bbb5
Create rhel10-haswellv4.yaml
tux1980 Jan 12, 2026
84a8fad
Create rhel10-ivyv2.yaml
tux1980 Jan 12, 2026
5620292
Update kustomization.yaml
tux1980 Jan 12, 2026
5ef3f47
Update rhel-vmcit.yaml
tux1980 Jan 12, 2026
70496fa
Update rhel10-ds-custom.yaml
tux1980 Jan 12, 2026
1a98ba2
Update rhel9-ds-custom.yaml
tux1980 Jan 12, 2026
6d394d3
Update rhel10-ds-custom.yaml
tux1980 Jan 12, 2026
c8b44ef
Delete isar-apps/ocp-v/templates/rhel10-ivyv2.yaml
tux1980 Jan 19, 2026
ec7d794
Rename rhel-vmcit.yaml to rhel-haswell-vmcit.yaml
tux1980 Jan 19, 2026
1833d51
Create rhel-vmcit-broadwell.yaml
tux1980 Jan 19, 2026
8481e11
Create rhel-vmcit-broadwell.yaml
tux1980 Jan 19, 2026
6076952
Delete isar-apps/ocp-v/instancetypes/apiVersion: instancetype.kubevir…
tux1980 Jan 19, 2026
3eb987a
Rename rhel-vmcit-broadwell.yaml to rhel-broadwell-vmcit.yaml
tux1980 Jan 19, 2026
0bf8f2f
Update rhel10-ds-custom.yaml
tux1980 Jan 19, 2026
706177b
Update rhel9-ds-custom.yaml
tux1980 Jan 19, 2026
e81deae
Update rhel-broadwell-vmcit.yaml
tux1980 Jan 19, 2026
c05e78a
Update rhel-broadwell-vmcit.yaml
tux1980 Jan 19, 2026
cce2a51
Update rhel-haswell-vmcit.yaml
tux1980 Jan 19, 2026
cd67bed
Update rhel10-ds-custom.yaml
tux1980 Jan 19, 2026
e34ff0b
Update rhel9-ds-custom.yaml
tux1980 Jan 19, 2026
32b1843
Update rhel-broadwell-vmcit.yaml
tux1980 Jan 19, 2026
64ca573
Update rhel-haswell-vmcit.yaml
tux1980 Jan 19, 2026
7e531d5
Update rhel10-broadwell.yaml
tux1980 Jan 19, 2026
dff561c
Update rhel9-broadwell.yaml
tux1980 Jan 19, 2026
c5251b7
Update rhel10-haswellv4.yaml
tux1980 Jan 19, 2026
37e1a2e
Update and rename rhel9-haswellv4.yaml to rhel9-haswell.yaml
tux1980 Jan 19, 2026
469cd57
Rename rhel10-haswellv4.yaml to rhel10-haswell.yaml
tux1980 Jan 19, 2026
200d849
Update rhel10-haswell.yaml
tux1980 Jan 19, 2026
f60707c
Create setup.yaml
tux1980 Jan 19, 2026
1fba21b
Update secret-rhel.yaml
tux1980 Jan 19, 2026
3c82aae
Update rhel9-dv-import.yaml
tux1980 Jan 19, 2026
ee67f1f
Update rhel9-ds-custom.yaml
tux1980 Jan 19, 2026
a01f23f
Update rhel10-dv-import.yaml
tux1980 Jan 19, 2026
1b9bf3f
Update rhel10-ds-custom.yaml
tux1980 Jan 19, 2026
adb1d12
Rename rhel10-ds-custom.yaml to rhel10-ds-custom-haswell.yaml
tux1980 Jan 19, 2026
2ac6bb0
Rename rhel9-ds-custom.yaml to rhel9-ds-custom-haswell.yaml
tux1980 Jan 19, 2026
ac9ec6a
Create rhel9-ds-custom-broadwell.yaml
tux1980 Jan 19, 2026
b35ab3f
Create rhel10-ds-custom-broadwell.yaml
tux1980 Jan 19, 2026
0fbcb96
Update rhel10-ds-custom-broadwell.yaml
tux1980 Jan 19, 2026
f2689f8
Delete isar-apps/ocp-v/instancetypes/secret-rhel.yaml
tux1980 Jan 20, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions isar-apps/ocp-v/HyperConverged.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ metadata:
annotations:
argocd.argoproj.io/sync-wave: "100"
spec:
defaultCPUModel: IvyBridge-v2
# https://github.com/stormshift/support/issues/248
permittedHostDevices:
pciHostDevices:
Expand Down
1 change: 1 addition & 0 deletions isar-apps/ocp-v/instancetypes/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

12 changes: 12 additions & 0 deletions isar-apps/ocp-v/instancetypes/rhel-broadwell-vmcit.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
apiVersion: instancetype.kubevirt.io/v1beta1
kind: VirtualMachineClusterInstancetype
metadata:
name: custom-rhel-broadwell-instancetype
spec:
cpu:
guest: 2
model: "Broadwell-v4"
memory:
guest: "4Gi"
nodeSelector:
usage-broadwell: "yes"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Who created the label at the node?

% oc get nodes -l usage-broadwell
NAME     STATUS   ROLES                           AGE    VERSION
storm5   Ready    storage-node,virt-node,worker   237d   v1.33.6
storm6   Ready    storage-node,virt-node,worker   237d   v1.33.6

It's not defined here: https://github.com/stormshift/clusters/blob/main/configuration/overlays/isar/cluster-scope/Node/storm6.yaml

Additionally, why not use the kubevirt one: cpu-model.node.kubevirt.io/Broadwell-v4

oc get nodes -l cpu-model.node.kubevirt.io/Broadwell-v4=true
NAME     STATUS   ROLES                           AGE    VERSION
storm5   Ready    storage-node,virt-node,worker   237d   v1.33.6
storm6   Ready    storage-node,virt-node,worker   237d   v1.33.6

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense, using the kubevirt one.
cpu-model.node.kubevirt.io/Broadwell-v4=true

I# going to change that in the files, same for haswell

12 changes: 12 additions & 0 deletions isar-apps/ocp-v/instancetypes/rhel-haswell-vmcit.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
apiVersion: instancetype.kubevirt.io/v1beta1
kind: VirtualMachineClusterInstancetype
metadata:
name: custom-rhel-haswell-instancetype
spec:
cpu:
guest: 2
model: "Haswell-v4"
memory:
guest: "4Gi"
nodeSelector:
usage-haswell: "yes"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as above. But different label: cpu-model.node.kubevirt.io/Haswell-v4

% oc get node -l cpu-model.node.kubevirt.io/Haswell-v4
NAME     STATUS   ROLES                           AGE    VERSION
storm2   Ready    virt-node,worker                237d   v1.33.6
storm3   Ready    storage-node,virt-node,worker   237d   v1.33.6
storm5   Ready    storage-node,virt-node,worker   237d   v1.33.6
storm6   Ready    storage-node,virt-node,worker   237d   v1.33.6

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, like you said

19 changes: 19 additions & 0 deletions isar-apps/ocp-v/instancetypes/rhel10-ds-custom-broadwell.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@

apiVersion: cdi.kubevirt.io/v1beta1
kind: DataSource
metadata:
name: custom-rhel10-broadwell
namespace: custom-os-images
annotations:
virt.kubevirt.io/os-display-name: "RHEL 10 Custom (Broadwell)"
labels:
app.kubernetes.io/component: storage
kubevirt.io/dynamic-credentials-support: "true"
os.template.kubevirt.io/rhel10: "true"
instancetype.kubevirt.io/default-instancetype: rhel-broadwell-instancetype
instancetype.kubevirt.io/default-instancetype-kind: VirtualMachineClusterInstancetype
spec:
source:
pvc:
name: rhel10-clean-base
namespace: custom-os-images
18 changes: 18 additions & 0 deletions isar-apps/ocp-v/instancetypes/rhel10-ds-custom-haswell.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
apiVersion: cdi.kubevirt.io/v1beta1
kind: DataSource
metadata:
name: custom-rhel10-haswell
namespace: custom-os-images
annotations:
virt.kubevirt.io/os-display-name: "RHEL 10 Custom (Haswell)"
labels:
app.kubernetes.io/component: storage
kubevirt.io/dynamic-credentials-support: "true"
os.template.kubevirt.io/rhel10: "true"
instancetype.kubevirt.io/default-instancetype: rhel-haswell-instancetype
instancetype.kubevirt.io/default-instancetype-kind: VirtualMachineClusterInstancetype
spec:
source:
pvc:
name: rhel10-clean-base
namespace: custom-os-images
17 changes: 17 additions & 0 deletions isar-apps/ocp-v/instancetypes/rhel10-dv-import.yaml
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we not use the DataSource:

% oc get datasource -n  openshift-virtualization-os-images rhel10
NAME     AGE
rhel10   196d

It's based on registry.redhat.io/rhel10/rhel-guest-image:latest as well?

You mentioned it in the call, but I forgot it.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wanted to have a new one since we had trouble with the metadata in the Original RHEL10 in connection with the SSP Operator. Furthermore, as you remember - we discussed to push all the customize stuff also in a new NS - "custom-os-images"

Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
apiVersion: cdi.kubevirt.io/v1beta1
kind: DataVolume
metadata:
name: rhel10-clean-base
namespace: custom-os-images
spec:
source:
registry:
url: "docker://registry.redhat.io/rhel10/rhel-guest-image:latest"
secretRef: redhat-registry-credentials
storage:
storageClassName: coe-netapp-san
accessModes:
- ReadWriteMany
resources:
requests:
storage: 30Gi
18 changes: 18 additions & 0 deletions isar-apps/ocp-v/instancetypes/rhel9-ds-custom-broadwell.yaml
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as above:

Why do we not use the DataSource:

% oc get datasource -n  openshift-virtualization-os-images rhel10
NAME     AGE
rhel10   196d

Copy link
Contributor Author

@tux1980 tux1980 Jan 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

above - the ds - we need another set of Metadata - look in the Issue 312 please, there I was suppose to document.

Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
apiVersion: cdi.kubevirt.io/v1beta1
kind: DataSource
metadata:
name: custom-rhel10-broadwell
namespace: custom-os-images
annotations:
virt.kubevirt.io/os-display-name: "RHEL 10 Custom (Broadwell)"
labels:
app.kubernetes.io/component: storage
kubevirt.io/dynamic-credentials-support: "true"
os.template.kubevirt.io/rhel10: "true"
instancetype.kubevirt.io/default-instancetype: rhel-broadwell-instancetype
instancetype.kubevirt.io/default-instancetype-kind: VirtualMachineClusterInstancetype
spec:
source:
pvc:
name: rhel10-clean-base
namespace: custom-os-images
18 changes: 18 additions & 0 deletions isar-apps/ocp-v/instancetypes/rhel9-ds-custom-haswell.yaml
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as above but for rhel9

% oc get datasource -n  openshift-virtualization-os-images rhel9
NAME    AGE
rhel9   2y66d

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

above - the ds - we need another set of Metadata - look in the Issue 312 please, there I was suppose to document.

Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
apiVersion: cdi.kubevirt.io/v1beta1
kind: DataSource
metadata:
name: custom-rhel9-haswell
namespace: custom-os-images
annotations:
virt.kubevirt.io/os-display-name: "RHEL 9 Custom (Haswell)"
labels:
app.kubernetes.io/component: storage
kubevirt.io/dynamic-credentials-support: "true"
os.template.kubevirt.io/rhel9: "true"
instancetype.kubevirt.io/default-instancetype: "rhel-haswell-instancetype"
instancetype.kubevirt.io/default-instancetype-kind: "VirtualMachineClusterInstancetype"
spec:
source:
pvc:
name: rhel9-clean-base
namespace: custom-os-images
17 changes: 17 additions & 0 deletions isar-apps/ocp-v/instancetypes/rhel9-dv-import.yaml
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as above but for rhel9

% oc get datasource -n  openshift-virtualization-os-images rhel9
NAME    AGE
rhel9   2y66d

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

above - the ds - we need another set of Metadata - look in the Issue 312 please, there I was suppose to document.

Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
apiVersion: cdi.kubevirt.io/v1beta1
kind: DataVolume
metadata:
name: rhel9-clean-base
namespace: custom-os-images
spec:
source:
registry:
url: "docker://registry.redhat.io/rhel9/rhel-guest-image:latest"
secretRef: redhat-registry-credentials
storage:
storageClassName: coe-netapp-san
accessModes:
- ReadWriteMany
resources:
requests:
storage: 30Gi
35 changes: 35 additions & 0 deletions isar-apps/ocp-v/instancetypes/setup.yaml
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not needed if we use the provided rhel9/10 images.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We discussed to push all the customize stuff also in a new NS - "custom-os-images"

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But I forgot what is custom on that image?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe nothing, just wanted to make absolutely sure that we does not get any interference using images from the openshift-virtualization-os-images NS so that the SSP Operator maybe does not overwrite anything. So, we might change this again to the default image in the ds files:
source:
pvc:
name: rhel9-clean-base
namespace: custom-os-images

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But we should keep all other resources in the new NS "custom-os-images"- apart from the dv's. simply for clean separation

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would prefer to use the datasource/rhel10 in openshift-virtualization-os-images

What is recommend from RH adding own images into openshift-virtualization-os-images or create own namespace?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We might as well put it in openshift-virtualization-os-images. This was just our call - where we wanted to strictly distinguish between custom images and default images - even so it is the same, just to able to differ them visually.

Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---
apiVersion: v1
kind: Namespace
metadata:
name: custom-os-images
labels:
openshift.io/cluster-monitoring: "true"
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: all-user-view-images
namespace: custom-os-images
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: view
subjects:
- kind: Group
name: system:authenticated
apiGroup: rbac.authorization.k8s.io
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: cdi-image-puller
namespace: custom-os-images
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: system:image-puller
subjects:
- kind: ServiceAccount
name: cdi-sa
namespace: openshift-cnv
2 changes: 2 additions & 0 deletions isar-apps/ocp-v/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,5 @@ resources:
#- OperatorGroup.yaml
#- Subscription.yaml
- MigrationPolicy/
- instancetypes/
- templates/
1 change: 1 addition & 0 deletions isar-apps/ocp-v/templates/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

104 changes: 104 additions & 0 deletions isar-apps/ocp-v/templates/rhel10-broadwell.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
kind: Template
apiVersion: template.openshift.io/v1
metadata:
name: custom-rhel10-broadwell
namespace: openshift
labels:
app.kubernetes.io/name: custom-templates
flavor.template.kubevirt.io/medium: 'true'
os.template.kubevirt.io/rhel10.0: 'true'
template.kubevirt.io/architecture: amd64
template.kubevirt.io/type: vm
vm.kubevirt.io/template: custom-rhel10-broadwell
vm.kubevirt.io/template.namespace: openshift
workload.template.kubevirt.io/server: 'true'
annotations:
description: RHEL 10 Template using the existing rhel10 VolumeSnapshot DataSource.
iconClass: icon-rhel
openshift.io/display-name: Red Hat Enterprise Linux 10 (Broadwell-v4)
openshift.io/provider-display-name: ''
tags: 'kubevirt,virtualmachine,rhel,rhel10'
template.kubevirt.io/provider: ''
objects:
- apiVersion: kubevirt.io/v1
kind: VirtualMachine
metadata:
labels:
app: '${NAME}'
vm.kubevirt.io/template: custom-rhel10-broadwell
vm.kubevirt.io/template.namespace: openshift
name: '${NAME}'
spec:
dataVolumeTemplates:
- apiVersion: cdi.kubevirt.io/v1beta1
kind: DataVolume
metadata:
name: '${NAME}'
spec:
sourceRef:
kind: DataSource
name: rhel10
namespace: openshift-virtualization-os-images
storage:
resources:
requests:
storage: 30Gi
runStrategy: Halted
template:
metadata:
labels:
kubevirt.io/domain: '${NAME}'
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- storm5
- storm6
matchFields: []
domain:
cpu:
cores: 1
sockets: 1
threads: 1
model: Broadwell-v4
devices:
disks:
- disk:
bus: virtio
name: rootdisk
- disk:
bus: virtio
name: cloudinitdisk
interfaces:
- masquerade: {}
model: virtio
name: default
memory:
guest: 4Gi
networks:
- name: default
pod: {}
volumes:
- dataVolume:
name: '${NAME}'
name: rootdisk
- cloudInitNoCloud:
userData: |-
#cloud-config
user: cloud-user
password: ${CLOUD_USER_PASSWORD}
name: cloudinitdisk
parameters:
- name: NAME
description: Name for the new VM
generate: expression
from: 'rhel10-[a-z0-9]{6}'
- name: CLOUD_USER_PASSWORD
description: Password for cloud-user
generate: expression
from: '[a-z0-9]{8}'
Loading