uyuni-project / uyuni

Source code for Uyuni
https://www.uyuni-project.org/
GNU General Public License v2.0
438 stars 184 forks source link

Add Fedora 30/31 clients to build process #2085

Open EthanB11 opened 4 years ago

EthanB11 commented 4 years ago

I've gotten clients building on Fedora 30 and Fedora 31.

Fedora 30 OBS repo: https://build.opensuse.org/project/show/home:ethanb11:Fedora_Uyuni:Master:Fedora30-Uyuni-Client-Tools

Fedora 31 OBS repo: https://build.opensuse.org/project/show/home:ethanb11:Fedora_Uyuni:Master:Fedora31-Uyuni-Client-Tools

juliogonzalez commented 4 years ago

Ok, from what I see here, only spacecmd will come from the Git repository, so it can be linked to the parent project.

obs-service-tar_scm should be taken from openSUSE:Tools, but if it's not there now, we'll have it at the client tools until it's enabled.

I will review the rest of the packages, but I assume they are not available at Fedora and we need them (even if they are at EPEL, we should not really require EPEL).

As soon as I have repositories, I will paste the URLs here so they can be added to spacewalk-common-channels.

Then, after everything is working for the onboarding and at least basic management, we'll need a PR for the doc project, and we will be able to add Fedora as supported client for Uyuni :-)

EthanB11 commented 4 years ago

Sounds good, there is nothing from EPEL. I just copied the CentOS8 Client from OBS and rebuilt them under Fedora repos. I already branched uyuni project and updated the spacewalk-common-channels. I kept the same formatting as other repos, but will wait to put in my pull until I have the new repo urls to verify.

juliogonzalez commented 4 years ago

Ah, good to know.

Then maybe we don't really need all the dependencies we have at CentOS8 :-)

I am doing some tests right now: first target is getting things to build and adding only the packages we really need.

Second is getting things to install, again adding only the packages we really need.

Whatever is already at Fedora, we won't need it.

One exception (so far): python-tornado, as on Fedora (and CentOS8) is just too new (we should fix that at some point, because it's a problem if a user wants to install the official python3-tornado from Fedora/CentOS))

EthanB11 commented 4 years ago

We had to write a patch for python-tornado due to 3.7 being on fedora and there was a failing asyncio test. We chose to patch it instead of removing it even though we couldn't find any other reference to asyncio. The other option is to delete that test.

juliogonzalez commented 4 years ago

I see what you mean, a patch for python-tornado, as the package from CentOS8 is failing.

EthanB11 commented 4 years ago

Sorry, yes that's what I meant. Brain was faster than the fingers and I left out the -tornado. I just updated it so it makes sense now.

EthanB11 commented 4 years ago

Every other package that failed was just editing the spec file I'm pretty sure to add support where rhel was already listed. I added Fedora >= 30 because 29 and below is out of support.

juliogonzalez commented 4 years ago

Ah, that explains why I see other failures I couldn't explain.

So the packages on your project are not exactly copypacs from CentOS8, but copypacs + changes.

EthanB11 commented 4 years ago

changed salt.spec in both to make sure python3 was a requirement to salt for Fedora builds.

juliogonzalez commented 4 years ago

Ok, salt is now building at https://build.opensuse.org/project/show/systemsmanagement:Uyuni:Master:Fedora30-Uyuni-Client-Tools https://build.opensuse.org/project/show/systemsmanagement:Uyuni:Master:Fedora31-Uyuni-Client-Tools

Not sure yet if it will install without more dependencies, but I am sure we don't need the same we had at CentOS8.

Still: Do not add the repositories generated by those projects to spacewalk-common-channels. We still need to see what to do about the fact that Fedora has a newer salt version.

juliogonzalez commented 4 years ago

salt-minion is installed in both cases... as long as the client tools repositories has a manual priority higher than those from Fedora.

For example I added priority=1.

So as discussed yesterday, let's not add yet the client tools repos I created for Fedora until we have a solution to enforce salt from Uyuni to be used.

Until now, we'll need to live with salt from Fedora.

@EthanB11 you can go ahead with the rest of the PRs. Just remember you won't need to add client tools for Fedora at spacewalk-common-channels for now.

juliogonzalez commented 3 years ago

I am removing myself. The Master projects are there, but something needs to be done about the problems with salt being newer on Fedora before we can think about adding anything to spacewalk-common-channels or support it on Uyuni.

Ping @paususe for awareness.

paususe commented 3 years ago

I think the proper way to solve this will be using the Salt bundle (venv-salt-minion) instead of the salt package.

Shirocco88 commented 3 years ago

Hints: venv-salt-minion support is available since PR https://github.com/uyuni-project/uyuni/pull/3895 and PR https://github.com/uyuni-project/uyuni/pull/4075 "Add Raspbian 9/10 and Fedora 33/34 repos"

stdevel commented 11 months ago

Hello! Are there any news on this? Are there any plans to make Fedora clients manageable with Uyuni? 🙂