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

Ubuntu 24.04 LTS (noble) and Ubuntu 22.04 LTS (jammy) #2021

Open
wants to merge 17 commits into
base: master
Choose a base branch
from

Conversation

woju
Copy link
Member

@woju woju commented Oct 9, 2024

Description of the changes

This PR replaces #1904, which unfortunately got too many commits and too many revisions to be revievable-able.

How to test this PR?

CI

Special GitHub/CI considerations

After merging this PR, 20.04 pipelines need to be unmarked as required in GitHub, instead the new pipelines for 24.04 and 22.04 need to be set as required.

Fixes: #1893
Closes: #1904


This change is Reviewable

@woju woju added the jenkins-debugging triggers additional pipelines on Jenkins label Oct 9, 2024
@woju
Copy link
Member Author

woju commented Oct 9, 2024

Jenkins, test this please

1 similar comment
@woju
Copy link
Member Author

woju commented Oct 9, 2024

Jenkins, test this please

Copy link
Contributor

@dimakuv dimakuv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed 8 of 8 files at r1, 3 of 3 files at r2, 3 of 3 files at r3, 5 of 5 files at r4, 32 of 32 files at r5.
Reviewable status: 47 of 79 files reviewed, 5 unresolved discussions, not enough approvals from maintainers (2 more required), not enough approvals from different teams (1 more required, approved so far: ITL) (waiting on @woju)


-- commits line 5 at r1:
Removal of Ubuntu 20.04 and the removal of EPID support are two orthogonal things, so this commit message reads weird. But I won't block, just keeping my comment for history.


-- commits line 22 at r3:
Interestingly, we haven't used Fixes: tag in Gramine up until now.


-- commits line 27 at r4:
I would expect some explanation, why we do it and why we do it only now.

From what I recall, this is because of #1909 (comment). Could we add a comment, or is it too late?

Also, wouldn't this fix #1909? If yes, please add the PR description.


-- commits line 43 at r5:
I would prefer to not mention my name (who cares) and instead make it a streamlined text. We can fix it during final rebase.


-- commits line 48 at r6:
Blocking myself: stopped on rev6 ("Rework benchmark-http.sh" commit), must continue from here tomorrow.

Copy link
Contributor

@dimakuv dimakuv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed 3 of 3 files at r6, 4 of 4 files at r7, 3 of 3 files at r8, 1 of 1 files at r9, 1 of 1 files at r10, 1 of 1 files at r11, 1 of 1 files at r12, 2 of 2 files at r13, 2 of 2 files at r14, 1 of 1 files at r15, 2 of 2 files at r16, 14 of 14 files at r17, all commit messages.
Reviewable status: all files reviewed, 11 unresolved discussions, not enough approvals from maintainers (2 more required), not enough approvals from different teams (1 more required, approved so far: ITL) (waiting on @woju)


-- commits line 78 at r9:
Do we know why we needed this? Could we add a quick explanation in commit message body? But not blocking.


-- commits line 100 at r12:
Would be good to add a quick comment why it got broken. IIRC, it was something about difference in Clang versions (we run ASan only on Gramine built with Clang), which refused to print libos_call.c (i.e. proper source file name) for some reason.


-- commits line 112 at r14:
I would remove I guess is fine, it. So the sentence will become simply which means that ...


-- commits line 119 at r15:
Is this just to ease CI debugging? Could you add a short explanation in the commit body message?


-- commits line 123 at r17:
Could you explain again why this is needed?


.ci/ubuntu22.04.dockerfile line 56 at r8 (raw file):

# libomp-dev: needed for libos/test/regression/openmp.c
# libevent-dev: CI-Examples/memcached
# libmemcached-tools: CI-Examples/memcache

memcached (typo)


.ci/ubuntu24.04.dockerfile line 57 at r8 (raw file):

# libomp-dev: needed for libos/test/regression/openmp.c
# libevent-dev: CI-Examples/memcached
# libmemcached-tools: CI-Examples/memcache

ditto

This coincides with IAS EOL, which happened on 1 October 2024. Our CI
runners for Focal used to use EPID developer key, and those were
disabled. As of this writing, IAS anwers 401 to our key.

See also:
https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/resources/sgx-ias-using-epid-eol-timeline.html

Moving those runners to DCAP environment would require some work for
very little value. Focal is the third newest LTS at the time of this
writing, so not supported anyway according to our policy. Therefore we
just disable Ubuntu 20.04 LTS altogether.

Signed-off-by: Wojtek Porczyk <[email protected]>
This is a leftover from changing the default driver to upstream.

Fixes: 12e5d9a ("[CI] Change default SGX driver to upstream")
Signed-off-by: Wojtek Porczyk <[email protected]>
Busybox we were using had problem compiling on newer kernels for
undeclared `TCA_CBQ_MAX`. Switch to system busybox, as the one provided
by distribution is already compiled, and all we are exercising is
`busybox echo "Hello, world!"`, so compatibility between busybox
versions is not really a concern.

Fixes: #1909
Signed-off-by: Wojtek Porczyk <[email protected]>
Dmitrii Kuvaiskii explained it this way:

    3 threads is nothing, given that:
    - There is one main app thread
    - There is one IPC helper thread
    - There is one Async helper thread
    - When a pipe is created, another helper thread is created for a brief moment

    [...] technically 4 is a tight bound. There can't be more than that
    (at least in the current state of Gramine, until we add more helper
    threads).

Signed-off-by: Wojtek Porczyk <[email protected]>
- Make wrk2 dependency optional. The wrk2 tool adds -R option to wrk
  tool, however, wrk2 is not packaged for Debian/Ubuntu, but wrk is. If
  wrk2 is not available, then we can just use vanilla wrk tool.

- Convert bc arithmetic to python3 -c. This removes bc dependency in
  favour of python3, which is always available, because it's
  a dependency of both Gramine tooling and build system.

  (POSIX shell arithmetic substitution does not support decimal, so it's
  not suitable).

Signed-off-by: Wojtek Porczyk <[email protected]>
And add bookworm (Debian 12) and noble (Ubuntu 24.04 LTS) to
check-python-platlib.

Signed-off-by: Wojtek Porczyk <[email protected]>
Based on this suggestion by Dmitrii Kuvaiskii:
#1780 (comment)

Signed-off-by: Wojtek Porczyk <[email protected]>
- epoll01:          300 s -> skip
- pipe:              30 s -> 60 s
- clock_gettime04: disable test 1

Signed-off-by: Wojtek Porczyk <[email protected]>
For some reason memcached-tool sometimes outputs more than 2 lines,
which still means that there is data in the server, so it's working.

Signed-off-by: Wojtek Porczyk <[email protected]>
Piping straight to OUTPUT hid the error from the log, which made
diagnostics unwieldy in our CI.

Signed-off-by: Wojtek Porczyk <[email protected]>
Fixes: 03a42b0 ("[CI] Add pipeline for noble (Ubuntu 24.04 LTS)")
Fixes: 9d53dde ("[CI] Add pipeline for jammy (Ubuntu 22.04 LTS)")
Signed-off-by: Wojtek Porczyk <[email protected]>
Copy link
Member Author

@woju woju left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewable status: all files reviewed, 11 unresolved discussions, not enough approvals from maintainers (2 more required), not enough approvals from different teams (1 more required, approved so far: ITL) (waiting on @dimakuv)


-- commits line 5 at r1:

Previously, dimakuv (Dmitrii Kuvaiskii) wrote…

Removal of Ubuntu 20.04 and the removal of EPID support are two orthogonal things, so this commit message reads weird. But I won't block, just keeping my comment for history.

I've rewritten the commit message.


-- commits line 22 at r3:

Previously, dimakuv (Dmitrii Kuvaiskii) wrote…

Interestingly, we haven't used Fixes: tag in Gramine up until now.

It's kernel's convention: https://kernel.org/doc/html/latest/process/submitting-patches.html#using-reported-by-tested-by-reviewed-by-suggested-by-and-fixes


-- commits line 27 at r4:

Previously, dimakuv (Dmitrii Kuvaiskii) wrote…

I would expect some explanation, why we do it and why we do it only now.

From what I recall, this is because of #1909 (comment). Could we add a comment, or is it too late?

Also, wouldn't this fix #1909? If yes, please add the PR description.

Done. Added commit message.


-- commits line 43 at r5:

Previously, dimakuv (Dmitrii Kuvaiskii) wrote…

I would prefer to not mention my name (who cares) and instead make it a streamlined text. We can fix it during final rebase.

Well, that was your explanation, so normally I shouldn't appropriate your work, but if you don't want to be credited, I can remove the mention.

Pray people won't quote your full emails in commit messages: https://gitlab.com/libvirt/libvirt-python/-/commit/8c800b0adf4849aeb94cb712192dba82fa4720d3


-- commits line 78 at r9:

Previously, dimakuv (Dmitrii Kuvaiskii) wrote…

Do we know why we needed this? Could we add a quick explanation in commit message body? But not blocking.

I'm not sure, it just timed out several times.


-- commits line 100 at r12:

Previously, dimakuv (Dmitrii Kuvaiskii) wrote…

Would be good to add a quick comment why it got broken. IIRC, it was something about difference in Clang versions (we run ASan only on Gramine built with Clang), which refused to print libos_call.c (i.e. proper source file name) for some reason.

Added the comment in the file itself, plz see below.


-- commits line 112 at r14:

Previously, dimakuv (Dmitrii Kuvaiskii) wrote…

I would remove I guess is fine, it. So the sentence will become simply which means that ...

Done.


-- commits line 119 at r15:

Previously, dimakuv (Dmitrii Kuvaiskii) wrote…

Is this just to ease CI debugging? Could you add a short explanation in the commit body message?

Done.


-- commits line 123 at r17:

Previously, dimakuv (Dmitrii Kuvaiskii) wrote…

Could you explain again why this is needed?

To make it so that full stack runs on this particular distro (both the VM and the docker).


.ci/ubuntu22.04.dockerfile line 56 at r8 (raw file):

Previously, dimakuv (Dmitrii Kuvaiskii) wrote…

memcached (typo)

Done.


.ci/ubuntu24.04.dockerfile line 57 at r8 (raw file):

Previously, dimakuv (Dmitrii Kuvaiskii) wrote…

ditto

Done.

Copy link
Contributor

@dimakuv dimakuv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed 71 of 71 files at r18, 3 of 3 files at r19, 2 of 3 files at r20, 2 of 5 files at r21, 32 of 32 files at r22, 2 of 3 files at r23, 4 of 4 files at r24, 3 of 3 files at r25, 1 of 1 files at r27, 1 of 1 files at r28, 2 of 2 files at r30, 2 of 2 files at r31, 1 of 1 files at r32, 2 of 2 files at r33, 14 of 14 files at r34, all commit messages.
Reviewable status: all files reviewed, all discussions resolved, not enough approvals from maintainers (1 more required)


-- commits line 5 at r1:

Previously, woju (Wojtek Porczyk) wrote…

I've rewritten the commit message.

Thanks, exactly what I expected


-- commits line 22 at r3:

Previously, woju (Wojtek Porczyk) wrote…

It's kernel's convention: https://kernel.org/doc/html/latest/process/submitting-patches.html#using-reported-by-tested-by-reviewed-by-suggested-by-and-fixes

I know, just wondered that it would be good to introduce this convention to Gramine too.


-- commits line 43 at r5:

Previously, woju (Wojtek Porczyk) wrote…

Well, that was your explanation, so normally I shouldn't appropriate your work, but if you don't want to be credited, I can remove the mention.

Pray people won't quote your full emails in commit messages: https://gitlab.com/libvirt/libvirt-python/-/commit/8c800b0adf4849aeb94cb712192dba82fa4720d3

Ok, whatever, I'll unblock here.

@woju
Copy link
Member Author

woju commented Oct 11, 2024

Jenkins, test Jenkins-Direct-22.04-Sanitizers please

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
jenkins-debugging triggers additional pipelines on Jenkins
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[CI] Don't forget to move all tests to Ubuntu 22.04 and 24.04 when removing 20.04 support
2 participants