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

Fedora CoreOS fails to be initialized #6819

Closed
spyridonas opened this issue Oct 12, 2020 · 10 comments
Closed

Fedora CoreOS fails to be initialized #6819

spyridonas opened this issue Oct 12, 2020 · 10 comments
Labels
kind/bug Categorizes issue or PR as related to a bug.

Comments

@spyridonas
Copy link

spyridonas commented Oct 12, 2020

Environment:

  • MVPS, a small provider

  • OS: Fedora CoreOS 32.20200923.3.0

  • Version of Ansible: 2.9.6

  • Version of Python (python --version): 3.6.9 as python3/2.7.17 as python (host pc/ubuntu 18.04)

Kubespray version (commit) (git rev-parse --short HEAD): version 2.14.1

Network plugin used: flannel

The error is the following

Problem: cannot install both libselinux-3.0-3.fc32.x86_64 and libselinux-3.0-5.fc32.x86_64", " - package python3-libselinux-3.0-3.fc32.x86_64 requires libselinux(x86-64) = 3.0-3.fc32, but none of the providers can be installed", " - conflicting requests"

@spyridonas spyridonas added the kind/bug Categorizes issue or PR as related to a bug. label Oct 12, 2020
@floryut
Copy link
Member

floryut commented Oct 12, 2020

@bozzo @spaced any idea / input ?

@floryut
Copy link
Member

floryut commented Oct 12, 2020

You don't have to remove the lines and could only change fedora_coreos_packages variable to remove unwanted packages.

But that's pretty strange as python3-libselinux was added in #6577 by @spaced a few weeks ago.
Would love to have some inputs from him.

@spyridonas
Copy link
Author

spyridonas commented Oct 12, 2020

I don't know if python3-libselinux is unwanted, that's why i didn't remove the package.
From my understanding python3-libselinux-3.0-5 is required, but that package is only available in the Fedora-Updates repo, which gets disabled by the above mentioned lines.

@floryut
Copy link
Member

floryut commented Oct 12, 2020

Ok got it, so you already have libselinux-3.0-5 installed because of Fedora Update repo.
And, in your case, if you disable Fedora Update repo then only python3-libselinux-3.0-3 is visible instead of python3-libselinux-3.0-5 which prompted the compatibility error.

Not sure if the codebase needs to have some kind of check whatsoever 🤔

@spyridonas
Copy link
Author

spyridonas commented Oct 12, 2020

The iso i used on my servers is Fedora-coreos-32.20200907.3.0-live.X86_64.Iso.
If you go here https://getfedora.org/en/coreos?stream=stable and expand the 365 packages (expand) section you will see libselinux-3.0-5.fc32.x86_64 on my specific iso.

Version 3.0-3 was on iso 32.20200726.3.1 and it was upgraded on 32.20200809.3.0

I think that's the check ansible should perform before disabling the Fedora-Updates repo

printf "$(uname -srm)\n$(cat /etc/os-release)\n"

outputs

Linux 5.8.10-200.fc32.x86_64 x86_64
NAME=Fedora
VERSION="32.20200923.3.0 (CoreOS)"
ID=fedora
VERSION_ID=32
VERSION_CODENAME=""
PLATFORM_ID="platform:f32"
PRETTY_NAME="Fedora CoreOS 32.20200923.3.0"
ANSI_COLOR="0;34"
LOGO=fedora-logo-icon
CPE_NAME="cpe:/o:fedoraproject:fedora:32"
HOME_URL="https://getfedora.org/coreos/"
DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora-coreos/"
SUPPORT_URL="https://github.com/coreos/fedora-coreos-tracker/"
BUG_REPORT_URL="https://github.com/coreos/fedora-coreos-tracker/"
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=32
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=32
PRIVACY_POLICY_URL="https://fedoraproject.org/wiki/Legal:PrivacyPolicy"
VARIANT="CoreOS"
VARIANT_ID=coreos
OSTREE_VERSION='32.20200923.3.0'

Maybe use the OSTREE_VERSION as comparison ?

Or the output from rpm -qa | grep libselinux ?

@spyridonas
Copy link
Author

spyridonas commented Oct 12, 2020

Just to sum up if someone wants to revisit with a future pr since im not a ansible expert.

Basically, ansible needs to do the following check

if current installed libselinux version != python3-libselinux from the standard repos version then use the Fedora Update repos

@spaced
Copy link
Contributor

spaced commented Oct 17, 2020

sorry, a bit late on this party (we rolled out kubernetes with fcos to production this week, yeaaa)
yes, its a mess with fcos and python, see
coreos/fedora-coreos-tracker#578
and
coreos/fedora-coreos-tracker#592
so the latest stable may act differently again
so the 'hack' was to disable the update repo while we try to install python.
things comes better, fcos provides now a own update repo to avoid this versions clashes.

@spyridonas
Copy link
Author

sorry, a bit late on this party (we rolled out kubernetes with fcos to production this week, yeaaa)
yes, its a mess with fcos and python, see
coreos/fedora-coreos-tracker#578
and
coreos/fedora-coreos-tracker#592
so the latest stable may act differently again
so the 'hack' was to disable the update repo while we try to install python.
things comes better, fcos provides now a own update repo to avoid this versions clashes.

The issue from side at least was that the compatible version of python3-libselinux was on the update repos.
Disabling them causing my issue.
Indeed the latest stable (any iso after 32.20200809.3.0) has the same issue as me.

@spyridonas
Copy link
Author

spyridonas commented Oct 17, 2020

It appears CoreOS team has solved the issue
coreos/fedora-coreos-config#673
It should reach stable in 4 weeks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Categorizes issue or PR as related to a bug.
Projects
None yet
Development

No branches or pull requests

3 participants