We will run CI on 3 latest kubernetes
releases removing Kubernetes 1.21 support
as we have Kubernetes 1.22, 1.23 and 1.24 for
CI Jobs.
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
As we have stable CI for kubernetes v1.24 and
Kubernetes v1.24 released sometime back, defaulting
Kubernetes v1.24 for the CI run.
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
This commits adds the kuberenetes
1.24 to run on request for now.
Note:- Once the kubernetes 1.24 job is stable
will run it by default
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
as a solution to the image referencing issue, we are prefixing
the string `quay.io` as a tag in mirror image list.
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
The ceph images are served from quay.io and this commit adjust
the docker pull to quay.io pull for centos jobs.
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
The image list was referring `docker.io` images and this commit change
that to `quay.io` references.
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
minikube 1.25.2 moved the downloaded kubectl and other binaries to a new
subdir; it now includes runtime.GOARCH as an extra component.
See-also: kubernetes/minikube#13539
Signed-off-by: Niels de Vos <ndevos@redhat.com>
The container images for Jenkins Job Builder and mirroring images were
still using the EOL CentOS 8 base image. Rebuilding those
container-images fails as the CentOS mirrors do not provide the
repositories for installing package anymore.
Signed-off-by: Niels de Vos <ndevos@redhat.com>
It seems that regular jobs in the OpenShift environment fail with the
following error:
Missing GOARCH argument for building image, install Golang or run: make containerized-test GOARCH=amd64
This happens for both the `devel` and `test` image builds since December
13 when installing Golang in the container-images was added.
Fixes: 8a3fe53e "ci: install arch specific go in Dockerfile.devel"
Signed-off-by: Niels de Vos <ndevos@redhat.com>
removing kubernetes test run with 1.20
as with #2705 we dont need 1.20 CI
results to merge a PR and we have kube 1.23
latest release.
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
The e2e tests are running fine on kubernetes
1.23. This commit runs the tests on kubernetes
1.23 by default.
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
This commits removes the older version (1.19
and 1.20) from testing and adds the kuberenetes
1.23 to run on request for now.
Note:- Once the kubernetes 1.23 job is stable
will run it by default
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
registry.centos.org is not officially
maintained by the CentOS infrastructure
team. The container images on quay.io are
the official once and we should use
those instead.
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
When a failure occurs, by default the test namespace is removed. This
makes it impossible to fetch the logs of the containers where the
failure was discovered. Pass --delete-namespace-on-failure=false as an
additional argument to the `run-e2e` make target, so that the namespace
is kept.
Signed-off-by: Niels de Vos <ndevos@redhat.com>
Minikube from v1.23.0 supports adding extra disks in
kvm2 and hyperkit VM drivers. This commit makes use of
that functionality and removes steps to attack disks
externally.
Signed-off-by: Rakshith R <rar@redhat.com>
The 'mini-e2e' job uses the pre-pulled container image for building the
e2e.test executable. The building of the executable takes less than 2
minutes, while building with preparing the container image takes close
to 5 minutes.
This reduces consumption of network bandwith, and might speed up other
parallel builds.
Signed-off-by: Niels de Vos <ndevos@redhat.com>
This commit makes changes necessary to use csi sidecar image versions
from build.env if available.
PR https://github.com/ceph/ceph-csi/pull/2217 adds these
variables to `build.env`.
Signed-off-by: Rakshith R <rar@redhat.com>
As kubernetes v1.19 is heading towards its EOL
on 2021-09-30, run tests on kubernetes v1.22
and require it to pass for merging.
Signed-off-by: Yug Gupta <yuggupta27@gmail.com>
Since this will be done internally by intall_helm.sh script
with kubectl_retry.
Fixes: #2309
Depends-on: #2377
Signed-off-by: Rakshith R <rar@redhat.com>
This was updated to prevent the following error.
Using non-groupfied API resources is deprecated and will be removed in a
future release, update apiVersion to "template.openshift.io/v1" for your
resource.
Signed-off-by: Rakshith R <rar@redhat.com>
When starting a minikube VM, there are always warning messages like
this:
X libvirt group membership check failed:
user is not a member of the appropriate libvirt group
The CI jobs run as root, so minikube works just fine. By adding the root
user to the libvirt group, the warning is hopefully removed.
Note that the libvirt group may not exist yet, as the packages will get
installed in a later stage. This change also adds a check to create the
libvirt group in case it is missing.
Signed-off-by: Niels de Vos <ndevos@redhat.com>
Jenkins does not like the passing of the username as variable to the
podman_login() function. Calling the function results in an error like
Warning: A secret was passed to "sh" using Groovy String interpolation, which is insecure.
Affected argument(s) used the following variable(s): [CREDS_USER]
See https://jenkins.io/redirect/groovy-string-interpolation for details.
+ ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no root@n7.pufty.ci.centos.org 'podman login --authfile=~/.podman-auth.json --username=$CREDS_USER --password=**** registry-****.apps.ocp.ci.centos.org'
Username: Error: error getting username and password: error reading username: EOF
By single quoting the username, just like the password, it may work
better.
Fixes: aca3745e2 ("ci: do not use Groovy string interpolation for credentials")
Signed-off-by: Niels de Vos <ndevos@redhat.com>
Jenkins warns in the output of CI jobs about the following:
Warning: A secret was passed to "sh" using Groovy String interpolation, which is insecure.
Affected argument(s) used the following variable(s): [CREDS_PASSWD, CREDS_USER]
See https://jenkins.io/redirect/groovy-string-interpolation for details.
Variable with 'single quotes' and without the {curly brackets} are
expecred to not be affected. There is some indirection in the strings
passed to the `sh` function, so this approach might not fix it?
Signed-off-by: Niels de Vos <ndevos@redhat.com>
Due to the quotes, the job is accepting
both --deploy-sc and --deploy-secret as
as single parameter.
Removing quotes to help it consider them
as diferent.
Signed-off-by: Yug <yuggupta27@gmail.com>
For release 3.3, we will not be deploying storageclass
and secret on helm installation on ci.
Moving forward, devel and all the future release will
have the deployment enabled by default in the ci.
Signed-off-by: Yug <yuggupta27@gmail.com>
Ceph-CSI does not suport (inline) Ephemeral-volumes. Testing this will
continue to fail. The driver configuration can not be used to disable
testing of this feature, so it is done by skipping the tests by pattern
matching.
Updates: #2017
Signed-off-by: Niels de Vos <ndevos@redhat.com>
Kubernetes 1.22 is in the release process and can be used for testing
already. The CI jobs will be available and can be triggered by leaving a
comment in the PRs like
/test ci/centos/mini-e2e-helm/k8s-1.22
See-also: https://github.com/kubernetes/sig-release/tree/master/releases/release-1.22
Signed-off-by: Niels de Vos <ndevos@redhat.com>
Kubernetes 1.21 is the latest stable release, and Ceph-CSI should be
tested with that. Currently 1.19 is still supported too, so we will need
to run the CI jobs with 1.19, 1.20 and 1.21.
See-also: https://kubernetes.io/releases/
Signed-off-by: Niels de Vos <ndevos@redhat.com>
To identify if a test runs on ceph-csi deployed
via helm charts, pass --helm-test parameter with
the E2E args.
Signed-off-by: Yug <yuggupta27@gmail.com>
Since we are adding support for deployment of sc and
secret via flags, to help script recognize when an
unknown string is passed as a namespace, use
--namespace flag before entering the namespace.
Signed-off-by: Yug <yuggupta27@gmail.com>
The JSON formatting will return the name of the first pod, not all pods
on the list. By useing `items[*]` the names of all pods will be
returned. This causes all logs to be fetched, instead of only the logs
from the 1st pod.
Signed-off-by: Niels de Vos <ndevos@redhat.com>