Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Run e2e tests on openshift-ci #2527

Closed
wainersm opened this issue May 11, 2020 · 2 comments · Fixed by #3296
Closed

Run e2e tests on openshift-ci #2527

wainersm opened this issue May 11, 2020 · 2 comments · Fixed by #3296
Assignees
Labels
feature New functionality needs-more-info Blocked until user or author provides further details team/ci Need Continuous Integration Team input wip Work in Progress (PR incomplete - needs more work or rework)

Comments

@wainersm
Copy link
Contributor

wainersm commented May 11, 2020

== The context and goal ==

The Openshift 4.x project provides an CI infra (openshift-ci) where integration tests can be executed in a fully operational cluster (api.ci.openshift.org). If a component wants to use the CI facilities it should be prepared and request to get onboard.

If kata-containers gets onboard then we could use openshift-ci for e2e integration tests.

So this issue is created to track to work required and being done to get kata-containers onboard the openshift-ci.

== The openshift-ci onboard process ==
In a nutshell, to onboard a component on openshift-ci one need to:

  1. Configure the component repository to:
    1.1 Deliver webhooks events to the CI System
    1.2 Allow openshift-ci robot to interact in the PRs. This will make the robot to comment on PRs, do automatic merges, be triggered by commands...etc.
  2. Configure the ci-operator on openshift/release repository
    2.1 Create an entry for kata-containers on https://github.com/openshift/release/ci-operator that describes the CI pipeline. CI Jobs are automatically generated from the configuration. See more information at https://github.com/openshift/release/blob/master/README.md#ci-workflow-configuration

== What it need to change on kata-containers side? ==

The logic to install kata-containers in the openshift-ci test cluster is:

  1. Build kata-containers components and install them under a well-known path (let's call it DESTDIR)
  2. Install the dependencies (QEMU, Kernel and Image) as well as configuration files in DESTDIR
  3. Update the machine-os-content container image with the files from DESTDIR. This image is used to build the test cluster nodes, i.e., it is how we can install kata-containers without using an operator/installer.

So there are needed scripts and dockerfiles on the repositories to implement the above workflow.

To be confirmed: it needs test script(s) which should trigger the e2e and conformance tests.

== Required changes on openshift-ci ==
As pointed above, it needs to create the kata-containers configuration and jobs at openshift ci-operator. This work is being carried out on openshift/release#9009

@wainersm wainersm added feature New functionality needs-review Needs to be assessed by the team. needs-more-info Blocked until user or author provides further details team/ci Need Continuous Integration Team input wip Work in Progress (PR incomplete - needs more work or rework) labels May 11, 2020
@wainersm wainersm self-assigned this May 11, 2020
@GabyCT
Copy link
Contributor

GabyCT commented May 12, 2020

@wainersm please let me know if you need help as I am familiar with the CI of kata

@wainersm
Copy link
Contributor Author

@wainersm please let me know if you need help as I am familiar with the CI of kata

Hello @GabyCT , I will do, thanks for the offer.

@jodh-intel jodh-intel added this to To do in Issue backlog Aug 10, 2020
wainersm added a commit to wainersm/kc-runtime that referenced this issue Aug 19, 2020
Enable openshift-ci on runtime repository.

Fixes: github.com/kata-containers/tests#2527
Depends-on: github.com/kata-containers/tests#2802

Signed-off-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
wainersm added a commit to wainersm/kc-tests that referenced this issue Aug 20, 2020
The install_runtime.sh can configure Docker with the kata runtime. In
some circumstances Docker is not installed and so the script fail. Let's
avoid it by checking if Docker is installed.

Fixes kata-containers#2527

Signed-off-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
wainersm added a commit to wainersm/kc-tests that referenced this issue Aug 20, 2020
The OpenShift CI allows for components to be built and tested in clusters
provided by the OpenShift community. This adds the minimum required on kata's side to get it onboarded in that CI system.

More precisely, it introduces the buildall_install.sh script which is used
to build and install kata-containers into a container image.

Fixes kata-containers#2527

Signed-off-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
wainersm added a commit to wainersm/kc-runtime that referenced this issue Aug 21, 2020
Enable openshift-ci on runtime repository.

Fixes: github.com/kata-containers/tests#2527
Depends-on: github.com/kata-containers/tests#2802

Signed-off-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
wainersm added a commit to wainersm/kc-runtime that referenced this issue Aug 24, 2020
Enable openshift-ci on runtime repository.

Fixes: github.com/kata-containers/tests#2527
Depends-on: github.com/kata-containers/tests#2802

Signed-off-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
wainersm added a commit to wainersm/kc-tests that referenced this issue Aug 25, 2020
The OpenShift CI allows for components to be built and tested in clusters
provided by the OpenShift community. This adds the minimum required on kata's side to get it onboarded in that CI system.

More precisely, it introduces the buildall_install.sh script which is used
to build and install kata-containers into a container image.

Fixes kata-containers#2527

Signed-off-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
wainersm added a commit to wainersm/kc-tests that referenced this issue Aug 25, 2020
The OpenShift CI allows for components to be built and tested in clusters
provided by the OpenShift community. This adds the minimum required on kata's side to get it onboarded in that CI system.

More precisely, it introduces the buildall_install.sh script which is used
to build and install kata-containers into a container image.

Fixes kata-containers#2527

Signed-off-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
wainersm added a commit to wainersm/kc-tests that referenced this issue Aug 25, 2020
The OpenShift CI allows for components to be built and tested in clusters
provided by the OpenShift community. This adds the minimum required on kata's side to get it onboarded in that CI system.

More precisely, it introduces the buildall_install.sh script which is used
to build and install kata-containers into a container image.

Fixes kata-containers#2527

Signed-off-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
wainersm added a commit to wainersm/kc-tests that referenced this issue Aug 31, 2020
The OpenShift CI allows for components to be built and tested in clusters
provided by the OpenShift community. This adds the minimum required on kata's side to get it onboarded in that CI system.

More precisely, it introduces the buildall_install.sh script which is used
to build and install kata-containers into a container image.

Fixes kata-containers#2527

Signed-off-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
wainersm added a commit to wainersm/kc-runtime that referenced this issue Sep 1, 2020
Enable openshift-ci on runtime repository.

Fixes: github.com/kata-containers/tests#2527
Depends-on: github.com/kata-containers/tests#2802

Signed-off-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
wainersm added a commit to wainersm/kc-tests that referenced this issue Sep 1, 2020
The OpenShift CI allows for components to be built and tested in clusters
provided by the OpenShift community. This adds the minimum required on kata's side to get it onboarded in that CI system.

More precisely, it introduces the buildall_install.sh script which is used
to build and install kata-containers into a container image.

Fixes kata-containers#2527

Signed-off-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
wainersm added a commit to wainersm/kc-runtime that referenced this issue Sep 1, 2020
Enable openshift-ci on runtime repository.

Fixes: github.com/kata-containers/tests#2527
Depends-on: github.com/kata-containers/tests#2802

Signed-off-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
@GabyCT GabyCT closed this as completed in a37e134 Sep 11, 2020
Issue backlog automation moved this from To do to Done Sep 11, 2020
wainersm added a commit to wainersm/kc-runtime that referenced this issue Sep 14, 2020
Enable openshift-ci on runtime repository.

Fixes: github.com/kata-containers/tests#2527
Depends-on: github.com/kata-containers/tests#2802

Signed-off-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
@jcvenegas jcvenegas reopened this Dec 8, 2020
Issue backlog automation moved this from Done to To do Dec 8, 2020
Issue backlog automation moved this from To do to Done Dec 8, 2020
@ariel-adam ariel-adam removed the needs-review Needs to be assessed by the team. label Dec 8, 2020
wainersm added a commit to wainersm/kc-tests that referenced this issue Jan 5, 2021
This introduces the buildall_install.sh script which is used
to build and install kata-containers into a well-known path
in a container image.

Forward-port of commit a37e134. But on kata 2.x the
buildall_install.sh doesn't install QEMU since at this point
it isn't being cached on Jenkins. It will be built in a separated
stage of the OpenShift CI pipeline.

Fixes kata-containers#2527

Signed-off-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
wainersm added a commit to wainersm/kc-tests that referenced this issue Jan 11, 2021
This introduces the buildall_install.sh script which is used
to build and install kata-containers into a well-known path
in a container image.

Forward-port of commit a37e134. But on kata 2.x the
buildall_install.sh doesn't install QEMU since at this point
it isn't being cached on Jenkins. It will be built in a separated
stage of the OpenShift CI pipeline.

Fixes kata-containers#2527

Signed-off-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
wainersm added a commit to wainersm/kc-tests that referenced this issue Jan 20, 2021
The configuration.toml should be changed so that Kata Containers use the
virtio-9p backend due to an issue on virtiofsd from QEMU 5.0.0 on OpenShift.

Related to kata-containers/kata-containers#1238

Fixes kata-containers#2527

Signed-off-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
wainersm added a commit to wainersm/kc-tests that referenced this issue Jan 25, 2021
Configure the worker nodes on the test cluster to SELinux permissive
mode so that it doesn't fail to fork the QEMU process.

Fixes kata-containers#2527

Signed-off-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
wainersm added a commit to wainersm/kc-tests that referenced this issue Mar 9, 2021
The deploy_webhook.sh script builds and deploy the kata-webhook in
the OpenShift test cluster.

Fixes kata-containers#2527
Signed-off-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
wainersm added a commit to wainersm/kc-tests that referenced this issue Mar 9, 2021
The deploy_webhook.sh script builds and deploy the kata-webhook in
the OpenShift test cluster.

Fixes kata-containers#2527
Signed-off-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
wainersm added a commit to wainersm/kc-tests that referenced this issue Mar 10, 2021
The deploy_webhook.sh script builds and deploy the kata-webhook in
the OpenShift test cluster.

Fixes kata-containers#2527
Signed-off-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
wainersm added a commit to wainersm/kc-tests that referenced this issue Mar 11, 2021
The deploy_webhook.sh script builds and deploy the kata-webhook in
the OpenShift test cluster.

Fixes kata-containers#2527
Signed-off-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New functionality needs-more-info Blocked until user or author provides further details team/ci Need Continuous Integration Team input wip Work in Progress (PR incomplete - needs more work or rework)
Projects
Issue backlog
  
Done
Development

Successfully merging a pull request may close this issue.

4 participants