-
Notifications
You must be signed in to change notification settings - Fork 565
tests: AArch64: Enable AArch64 integration tests #1395
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
tests: AArch64: Enable AArch64 integration tests #1395
Conversation
|
Hi @rbradford, it seems that in order to run the integration tests, the docker image for arm64 should be updated (This is to install I've also already built a |
Please create a single PR updating just the Dockerfile. I'll then create a new version of the container and then we can proceed with the rest of this PR. |
d724480 to
d3ec109
Compare
|
Hi @rbradford, thanks for updating the docker image. Now I think this PR is ready for being reviewed. Would you mind taking a look again? Thanks! Also a very kind reminder: I just checked tags in https://hub.docker.com/r/cloudhypervisor/dev/tags and it seems that the v4 image is arm64 only. I think probably a manifest of v4 image is missing in order to make it multi-arch. I think current tag will cause future CI break on newly-added x86_64 CI machines as they cannot pull x86_64 v4 image. |
I re-uploaded an amd64 version. Seems it doesn't handle multiple architectures very well. |
|
@rbradford Yeah I saw that and the arm64 tag is gone...anyway it doesn't matter now as we only have 1 arm64 machine and the right image is already there. To support multi-arch image in dockerhub, I suggest that we can try methods in the Manifest section in https://cstan.io/?p=11870&lang=en |
rbradford
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I really would like you to switch to two versions of the scripts. I think it would make things a lot neater. Everything else is good.
d3ec109 to
ad32322
Compare
|
Hi @rbradford , I have splited the arm64 and x86_64 integration test scripts, but I have two things which I am not really sure:
The raw image worked well. For this problem, I made a workaround in here. I have very limited knowledge in this area so I am wondering could you please confirm if the cloud-hypervisor qcow2 support is missing for arm64? or did I miss anything? @sboeuf Any suggestions? |
ad32322 to
7370a6d
Compare
|
We can't use the QCOW2 images produced from Ubuntu directly as they have compressed blocks. Convert to raw instead. The ones used in the ci are converted from QCOW to raw and then back to QCOW which means they do not have compressed blocks. |
|
Hi @rbradford Thanks for the explanation, now I understand. Would you prefer we stick to current way or any method that I can upload the right qcow2 image? Thanks! |
|
Yes I think we could simply take the qcow2 image, convert it into a raw one, and then convert it back to a qcow2. The resulting image won't be compressed. |
|
Hi @sboeuf ! That makes sense. Do you prefer I do that conversion in current arm64 script or we just upload the right image in |
806c263 to
d0dc073
Compare
|
@MrXinWang you can do the conversion from the script, it should be pretty quick. This will keep the image in the storage account pretty small, hence the download time will be kept short. |
d0dc073 to
201eb05
Compare
|
@sboeuf Done and rebased. Didn't think about the downloading time problem before but that absolutely makes sense. Could you please take a look again? Thanks! |
sboeuf
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One small comment, otherwise the PR looks good to me.
201eb05 to
d0047e5
Compare
|
@rbradford PTAL |
rbradford
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Other than the potential kernel staleness issue looks very good.
d0047e5 to
a43400a
Compare
This commit adds supporting components and code for enabling the AArch64 integration tests, including: 1. A Linux kernel config file to build kernel on AArch64 machines. 2. Refactoring the `run_integration_test.sh` to architecture specific scripts for readability. Signed-off-by: Henry Wang <[email protected]>
The compiled AArch64 linux kernel by running `make` is in PE format instead of vmlinux, vmlinux.pvh and bzImage format. Therefore we need to add integration test for this case. Signed-off-by: Henry Wang <[email protected]>
This commit adds a Jenkins stage for AArch64 integration test, and the test is carried out using the GNU toolchain. Signed-off-by: Henry Wang <[email protected]>
a43400a to
26fbdac
Compare
This PR contains 3 commits in series to enable the integration tests for AArch64:
tests: Preparation of enabling integration tests for AArch64
This commit adds supporting components and code for enabling the AArch64 integration tests, including:
A Linux kernel config file to build kernel on AArch64 machines.
Refactoring the
run_integration_test.shto support AArch64.tests: Enable
test_aarch64_pe_bootcase for AArch64The compiled AArch64 linux kernel by running
makeis in PE format instead of vmlinux, vmlinux.pvh and bzImage format. Therefore we need to add integration test for this case.tests: Add a Jenkins stage for AArch64 integration test
This commit adds a Jenkins stage for AArch64 integration test, and the test is carried out using the GNU toolchain.