ppc64le-cloud / test-infra

Apache License 2.0
6 stars 20 forks source link

Run periodic jobs against github.com/moby/moby #447

Closed AshwinHIBM closed 6 months ago

AshwinHIBM commented 7 months ago

Docker no longer runs periodic test jobs on moby/moby for ppc64le. Instead, we plan to run these on our production cluster. There are 4 jobs:

  1. Check configuration
  2. Build the dev image
  3. Run unit tests
  4. Run integration tests Please refer https://github.com/ppc64le-cloud/docker-ce-build/pull/182 for scripts.
ppc64le-cloud-bot commented 7 months ago

Hi @AshwinHIBM. Thanks for your PR.

I'm waiting for a ppc64le-cloud member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.
AshwinHIBM commented 6 months ago

Also, make sure your shell scripts that run tests return non-zero code even on test case failures and not only for the script flow failure. (There were instances when such scripts returned zero exit code inspite of testcase failures)

This definitely makes sense to us, but for now our priority is to get these tests running first and then later try to patch this behavior. PTAL at https://github.com/ppc64le-cloud/test-infra/pull/447#discussion_r1497028238 where I've mentioned more details.

Rajalakshmi-Girish commented 6 months ago

@AshwinHIBM Can you please squash the multiple commits in this PR to one single commit?

AshwinHIBM commented 6 months ago

@AshwinHIBM Can you please squash the multiple commits in this PR to one single commit?

Just did that, please check. Thanks.

Rajalakshmi-Girish commented 6 months ago

@AshwinHIBM Also, one last minor change is to move the yaml file to https://github.com/ppc64le-cloud/test-infra/tree/master/config/jobs/periodic location.

Apologies, I forgot to notice that they are in a different directory. We usually place the periodic ones in the above folder

AshwinHIBM commented 6 months ago

@AshwinHIBM Also, one last minor change is to move the yaml file to https://github.com/ppc64le-cloud/test-infra/tree/master/config/jobs/periodic location.

Apologies, I forgot to notice that they are in a different directory. We usually place the periodic ones in the above folder

Moved it to periodic/docker. Hope that's where you want it.

Rajalakshmi-Girish commented 6 months ago

@AshwinHIBM I have initiated the test-pj run for all 4 jobs on production. Will update here the links once they are complete

Rajalakshmi-Girish commented 6 months ago

@AshwinHIBM I have initiated the test-pj run for all 4 jobs on production. Will update here the links once they are complete

periodic-config-docker periodic-build-dev-image-docker periodic-unit-test-docker - Are you fine not having Junit result tab? Also, the Run PASSED inspite of UT failures! Please check the script that returns exit code to job. periodic-integration-test-docker - @AshwinHIBM Timedout after 2h run

AshwinHIBM commented 6 months ago

[periodic-unit-test-docker] - Are you fine not having Junit result tab? Also, the Run PASSED inspite of UT failures! Please check the script that returns exit code to job.

Like I mentioned earlier, the failures don't come as a surprise to us. We're only issuing a make command against moby https://github.com/ppc64le-cloud/docker-ce-build/pull/182/files#diff-7a34ff4012a0fa233c41d7d2a14da8560e91e78206c9497215f888f18f923bafR2 If you look at the log you'll see there's not much we can do about them in our repository (at least at the moment). We just want the tests to run, that's all. As far as the reports are concerned, that's a nice to have for us and I'm going to be working on that in a follow-up pull request but we need to have these tests running first.

[periodic-integration-test-docker] - @AshwinHIBM Timedout after 2h run

I have adjusted the timeout to 3 hours, I'm not sure why it took that long. If it works with 3h we may need to think about reducing the frequency of this job maybe? Thanks for the run and notifying us about the results.

Rajalakshmi-Girish commented 6 months ago

If you look at the log you'll see there's not much we can do about them in our repository (at least at the moment). We just want the tests to run, that's all.

Yes, I understand that you are running the tests directly from upstream repo. I have been insisting on having the Junit tab generated with the correct job status to make the job's existence meaningful and make it easy for you to analyze.

I see the moby repo already generating the junit xml files in https://github.com/moby/moby/blob/master/hack/test/unit. These files seem to exist in the bundles directory. You may simply copy the bundles dir into ${ARTIFACTS} in the job yaml. This would give you the correct job result with an easy summary of failures.

Rajalakshmi-Girish commented 6 months ago

I have adjusted the timeout to 3 hours, I'm not sure why it took that long. If it works with 3h we may need to think about reducing the frequency of this job maybe?

I shall rerun the job and update here.

Rajalakshmi-Girish commented 6 months ago

I see the moby repo already generating the junit xml files in https://github.com/moby/moby/blob/master/hack/test/unit. These files seem to exist in the bundles directory. You may simply copy the bundles dir into ${ARTIFACTS} in the job yaml. This would give you the correct job result with an easy summary of failures.

@AshwinHIBM Like the cp at the end of line https://github.com/ppc64le-cloud/test-infra/blob/master/config/jobs/periodic/containerd/test-containerd-periodics.yaml#L32

Rajalakshmi-Girish commented 6 months ago

https://prow.ppc64le-cloud.cis.ibm.net/view/s3/ppc64le-prow-logs/logs/periodic-integration-test-docker/1760921594089181184 completed in 2h 33min. Even this job PASSED though there are failures.

Rajalakshmi-Girish commented 6 months ago

@AshwinHIBM I have re-run the jobs after your recent script changes.

As discussed, I see the unit tests being displayed in the Junit tab, and Integration suite returning failure status based on test results.

Please go through the below links and confirm if they appear as you expect them to.

periodic-config-docker periodic-build-dev-image-docker periodic-unit-test-docker periodic-integration-test-docker

AshwinHIBM commented 6 months ago

@AshwinHIBM I have re-run the jobs after your recent script changes.

As discussed, I see the unit tests being displayed in the Junit tab, and Integration suite returning failure status based on test results.

Please go through the below links and confirm if they appear as you expect them to.

periodic-config-docker periodic-build-dev-image-docker periodic-unit-test-docker periodic-integration-test-docker

These results are in line with our expectations. Thanks for the runs.

ppc64le-cloud-bot commented 6 months ago

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: AshwinHIBM, Rajalakshmi-Girish

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files: - ~~[config/OWNERS](https://github.com/ppc64le-cloud/test-infra/blob/master/config/OWNERS)~~ [Rajalakshmi-Girish] Approvers can indicate their approval by writing `/approve` in a comment Approvers can cancel approval by writing `/approve cancel` in a comment
Rajalakshmi-Girish commented 6 months ago

@AshwinHIBM: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests: Test name Commit Details Required Rerun command pull-test-infra-yamllint 413b41e link true /test pull-test-infra-yamllint

Full PR test history. Your PR dashboard.

@AshwinHIBM Looks like there are trailing spaces. Please correct and re-submit.

Rajalakshmi-Girish commented 6 months ago

/test pull-test-infra-yamllint

Rajalakshmi-Girish commented 6 months ago

@AshwinHIBM: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests: Test name Commit Details Required Rerun command pull-test-infra-yamllint 690d066 link true /test pull-test-infra-yamllint

Full PR test history. Your PR dashboard.

@AshwinHIBM It still fails. Can you please see the above link.

AshwinHIBM commented 6 months ago

/test pull-test-infra-yamllint

ppc64le-cloud-bot commented 6 months ago

@AshwinHIBM: Cannot trigger testing until a trusted user reviews the PR and leaves an /ok-to-test message.

In response to [this](https://github.com/ppc64le-cloud/test-infra/pull/447#issuecomment-1985105109): >/test pull-test-infra-yamllint Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.
Rajalakshmi-Girish commented 6 months ago

/test pull-test-infra-yamllint

Rajalakshmi-Girish commented 6 months ago

/lgtm

ppc64le-cloud-bot commented 6 months ago

@AshwinHIBM: Updated the job-config configmap in namespace prow at cluster default using the following files:

In response to [this](https://github.com/ppc64le-cloud/test-infra/pull/447): >Docker no longer runs periodic test jobs on moby/moby for ppc64le. Instead, we plan to run these on our production cluster. >There are 4 jobs: >1. Check configuration >2. Build the dev image >3. Run unit tests >4. Run integration tests >Please refer https://github.com/ppc64le-cloud/docker-ce-build/pull/182 for scripts. Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.