You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* docs: Updated K8S.md and KUBEVIRTCI_LOCAL_TESTNIG.md for s390x changes
Signed-off-by: chandramerla <[email protected]>
* feat: Updated Centos9 Dockerfile and its CMD script to support s390x arch
- Added conditional execution in Dockerfile based on arch
- Updated Dockerfile CMD script (vm.sh) with qemu-system-s390x and its args as per what are supported on s390x
Signed-off-by: chandramerla <[email protected]>
* feat: Added s390x default kernel args
The defaults here are copied from within whatever are set in the generic cloud image of centos9 for s390x. One can get those values from zipl command under 'kernel parmline'. I've copied them from there to this file to mainly keep parity with x86 based kernel args, which exists for configuring args for kernel. For 'root' key value is set using actual path of file than its UUID.
Signed-off-by: chandramerla <[email protected]>
* feat: gocli and its Dockerfile changes to support s390x
- In gocli codebase, updated hardcoded vagrant username to be fetched calling function, which returns username based on arch.
- Use virtio-net-ccw device incase of s390x Architecture, as virtio-net-pci isn’t supported.
- Skipping provisioning sound cards for s390x as they are not supported.
- Updated method signature of waitForVMToBeUp() to include arg docker client, so that it can be re-used outside run.go
- Bumped docker-registry container image version from 2.7 to 2.8.2 as 2.7 wasn’t supporting s390x
Signed-off-by: chandramerla <[email protected]>
* feat: K8S 1.30 provider provisioning script changes to support s390x
- Updated username to be obtained conditionally based on arch.
- Removed CPU manager related kubelet arguments, as CPU manager args aren’t supported on s390x.
- Installing openvswitch for s390x from kojipkgs.fedoraproject.org, as for s390x same isn’t available from default centos repos
- Explicitly installing gettext rpm to make envsubst command available for s390x environments.
Signed-off-by: chandramerla <[email protected]>
* feat: Publish multiarch manifests for provider related container images
Multi-arch images are enabled for gocli, centos9 and k8s providers
Signed-off-by: chandramerla <[email protected]>
* feat: Updated cluster-up/check.sh for s390x special checks
On an IBM Z system (s390x), huge-page backing storage and nested virtualization cannot be used at the same time.
Ref: https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/8/html/configuring_and_managing_virtualization/creating-nested-virtual-machines_configuring-and-managing-virtualization
Signed-off-by: chandramerla <[email protected]>
* feat: Updated check-cluster-up.sh and beneath scripts to work for s390x and slim mode
As in the case of s390x provider, which currently only supports slim mode, it doesn't have optional componets like CNAO, ISTIO, PROMETHEUS, CDI, etc. enabled and also extra-pre-pull-images is also not used. So, skipping all those components in case of slim mode.
Also using arch speicific manfest/binary files.
Signed-off-by: chandramerla <[email protected]>
* bug: Updated default ARTIFACTS env var to work for local run
As cp command copying to ARTIFACTS dir was failing in local run with error that source and desnitation are the same file, changed the value of ARTIFACTS when not defined in local run case, unlike in prow jobs where it is defined.
Signed-off-by: chandramerla <[email protected]>
* feat: Updated multi-arch centos9 base image with changes from the PR
As once the PR changes are merged, k8s 1.30 provider build needs latest centos9 base image which is multi-arch, so that provider image can be built for multi-arch(x86, s390x) as well
Signed-off-by: chandramerla <[email protected]>
---------
Signed-off-by: chandramerla <[email protected]>
Copy file name to clipboardexpand all lines: KUBEVIRTCI_LOCAL_TESTING.md
+10-6
Original file line number
Diff line number
Diff line change
@@ -21,7 +21,7 @@ cd $KUBEVIRTCI_DIR
21
21
22
22
```bash
23
23
# Build a provider. This includes starting it with cluster-up for verification and shutting it down for cleanup.
24
-
(cd cluster-provision/k8s/1.27; ../provision.sh)
24
+
(cd cluster-provision/k8s/1.30; ../provision.sh)
25
25
```
26
26
27
27
Note:
@@ -34,7 +34,7 @@ please use `export BYPASS_PMAN_CHANGE_CHECK=true` to bypass provision-manager ch
34
34
# set local provision test flag (mandatory)
35
35
export KUBEVIRTCI_PROVISION_CHECK=1
36
36
```
37
-
37
+
This ensures to set container-registry to quay.io and container-suffix to :latest
38
38
If `KUBEVIRTCI_PROVISION_CHECK` is not used,
39
39
you can set `KUBEVIRTCI_CONTAINER_REGISTRY` (default: `quay.io`), `KUBEVIRTCI_CONTAINER_ORG` (default: `kubevirtci`) and `KUBEVIRTCI_CONTAINER_SUFFIX` (default: according gocli tag),
40
40
in order to use a custom image.
@@ -134,12 +134,16 @@ For that we have phased mode.
134
134
Usage: export the required mode, i.e `export PHASES=linux` or `export PHASES=k8s`
135
135
and then run the provision. the full flow will be:
Run the `k8s` step as much as needed. It reuses the intermediate image that was created
140
-
by the `linux` phase.
140
+
by the `linux` phase.
141
+
Note :
142
+
1. By default when you run `k8s` phase alone, it uses centos9 image specified in cluster-provision/k8s/base-image, not the one built locally in the `linux` phase. So, to make `k8s` phase use the locally built centos9 image, update cluster-provision/k8s/base-image with the locally built image name and tag (default: quay.io/kubevirtci/centos9:latest)
143
+
2. Also note if you run both `linux,k8s` phases, then it doesn't save the intermediate container image generated post linux image. So, for the centos9 image required for k8s stage, you've to run the linux phase alone.
144
+
141
145
Once you are done, either check the cluster manually, or use:
# As per https://www.qemu.org/docs/master/system/s390x/bootdevices.html#booting-without-bootindex-parameter -drive if=virtio can't be specified with bootindex for s390x
0 commit comments