-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Fedora 31 #12619
Fedora 31 #12619
Conversation
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.
Thank you, a few things though:
-
Before this PR should come PR that would declare
fedora-31
intotestmap.py
so it can be triggered. -
This needs to be added into
bots/image-trigger
-
Bunch of naughties needs to be copied over, but I agree with with firstly running tests and copying only those, that are needed
-
Adding
master
as default target forfedora-31
(see point 0.) -
Needs to be mentioned in README
-
Needs to build image in this PR
-
There are a few tests that behave differently on
fedora-30
, they also needs to check forfedora-31
# 02110-1301 USA. | ||
|
||
BASE=$(dirname $0) | ||
$BASE/virt-install-fedora "$1" x86_64 "http://dl.fedoraproject.org/pub/fedora/linux/releases/31/Server/x86_64/os/" |
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.
This URl does not exists (yet), please use https://dl.fedoraproject.org/pub/fedora/linux/development/31/Everything/x86_64/os/
I see you added it. Don't forget to add |
image-refresh in progress on 3-ci-srv-06. |
image-refresh in progress on 1-ci-srv-03. |
image-refresh in progress on centosci-tasks-w4dn3. |
image-refresh in progress on 3-cockpit-8. |
Notes about the curl check-realms failure: My initial thought was that F31 may have switched from the kernel keyring to the user-land KCM (keyring cache daemon) by default. But /etc/krb5.conf.d/kcm_default_ccache already exists in F30, and so does sssd-kcm.service. On F31 this service is active, and in
But with curl
you get
But it's cleary there:
This is pretty much exactly how it looks like on Fedora 30. FTR, this is not about the user ticket, that works fine (with KCM and kernel keyring, and you get a ticket either way). This is about kerberos not being able to authenticate the cockpit service. Interestingly, when we move the cockpit server keytab to the default location, it works:
after that, curl gets a valid login/session. So it seems whatever we do to support a custom keytab in the server stopped working. I downloaded the older 1.17-4.fc30 version of libkadm5, krb-workstation, and krb5-libs from When looking through the diff, the secure_getenv() patch (backported from upstream) caught my attention, as cockpit-session is suid root. And indeed when I downgrade to 1.17-15 (the version immediately before that), things work. When I upgrade to 1.17-16 (the version that introduced secure_getenv), it fails. There is unfortunately no other way to set the keytab than through the environment, as changing the global configuration file is out of the question for cockpit-session. So we either need to convince I asked on the original upstream PR for advice. |
67b99f7
to
d82206a
Compare
image-refresh in progress on 2-cockpit-9. |
image-refresh fedora-31 done: https://github.com/cockpituous/cockpit/commits/image-refresh-fedora-31-20190906-170808 |
I sent a fix for custom krb keytab in PR #12732. Adding "blocked" for that. Feel free to rope in the commit in the meantime if you wan to run tests on CI. |
Unblocking. PR #12732 landed, so kerberos (check-realms) should work now. |
bcf6494
to
8ce48a6
Compare
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.
Thanks, great work! Please do some squashing here, this should be by and large just two commits ("add fedora-31", and the image refresh), plus possibly the two unrelated changes (dashboard as "admin" user, and firewall test generalizations) unless you split them out.
bots/images/scripts/fedora.setup
Outdated
# https://github.com/cockpit-project/cockpit/issues/12670 | ||
if [ "$IMAGE" != fedora-31 ]; then | ||
COCKPIT_DEPS="$COCKPIT_DEPS atomic docker" | ||
fi |
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.
If that's a temporary hack, fine. If it's planned (or at least likely) that docker just won't be a thing any more in F31, then let's swap this around: Only add docker to fedora-30 (legacy mode).
bots/images/scripts/fedora.setup
Outdated
docker build -t cockpit/base /var/tmp/cockpit-base | ||
# HACK docker not available on f31 | ||
# https://github.com/cockpit-project/cockpit/issues/12670 | ||
if [ "$IMAGE" != fedora-31 ]; then |
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.
Let's perhaps make this if type docker >/dev/null 2>&1
, as long as it's not yet clear which relelases docker will end up on in the long run. Or something similar to $HAVE_KUBERNETES
?
@@ -91,6 +92,9 @@ else | |||
echo '====== skipping rpmlint check, not installed =====' | |||
fi | |||
EOF | |||
chmod +x /tmp/rpmlint | |||
su builder -c "/usr/bin/mock --offline --copyin /tmp/rpmlint /var/tmp/rpmlint" | |||
su builder -c "/usr/bin/mock --offline --shell /var/tmp/rpmlint" |
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.
Can you please split this out into a separate commit (or even PR) with a more detailled explanation?
tools/cockpit.spec
Outdated
@@ -634,7 +634,7 @@ bastion hosts, and a basic dashboard. | |||
%endif | |||
|
|||
%ifarch x86_64 %{arm} aarch64 ppc64le i686 s390x | |||
%if 0%{?fedora} | |||
%if 0%{?fedora} && 0%{?fedora} <= 30 |
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.
Not sure why this is in the "docker: Skip docker tests on fedora-31" and the previous "add fedora-31" commit. (github web UI bug?). Either way, this commit should be squashed into the "add fedora-31 image" commit.
@@ -34,6 +34,12 @@ def wait_unit_state(machine, unit, state): | |||
|
|||
wait(lambda: active_state(unit) == state, delay=0.2) | |||
|
|||
def get_active_rules(machine): |
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.
Most of this commit looks like it could go into a separate PR and be landed first, as it's some generalization? Then the "add fedora-31" main commit can just add the "fedora-31" special cases to the lists.
@@ -0,0 +1,3 @@ | |||
File "test/verify/check-realms", line *, in * | |||
self.assertIn("HTTP/1.1 200 OK", output) | |||
AssertionError: 'HTTP/1.1 200 OK' not found in 'HTTP/1.1 401* |
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.
This should be fixed properly now in master, and can be dropped.
@@ -94,7 +94,7 @@ class TestBasicDashboard(MachineCase, DashBoardHelpers): | |||
|
|||
# Start second browser and check that it is in sync | |||
b2 = self.new_browser() | |||
b2.default_user = "root" | |||
b2.default_user = "admin" |
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.
This could also be split out and landed separately. (If it helps, then you don't need to run the entire set of tests for this PR)
ed0e575
to
396fff7
Compare
This now conflicts after PR #12735, sorry. |
396fff7
to
f2e1c08
Compare
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.
Some nitpicks still, but looking really good now!
It's currently unclear whether or not docker will make it to fedora-31, so we can't run docker tests for now.
e464220
to
8836df8
Compare
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.
Thanks! Still needs a Closes #, although it's also fine to just squash the two commits.
Issues: