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

Help with GA tests for ansible roles #74

Open
pwalczysko opened this issue Sep 5, 2023 · 16 comments
Open

Help with GA tests for ansible roles #74

pwalczysko opened this issue Sep 5, 2023 · 16 comments

Comments

@pwalczysko
Copy link
Member

Dear All,

As we are trying to offshore some maintenance work, we were wondering if anyone would be available to pitch in on PRs for updating the GA tests for ansible roles used in this repo to work also on following platforms:

  • Rocky Linux 9
  • Ubuntu 22.04

The list of ansible repositories used in the requirements.yml file of this repo is

ansible-role-basedeps
ansible-role-java
ansible-role-omero-common
ansible-role-omero-web

Note also the issue on omero-server-docker: Some repositories listed in the above list might be already taken as they are used both here and in omero-server-docker.

@JonnyJD, @dpwrussell, @bbladesGH, @stephenogg, @drjrkuhn, @JulianHn, @MicheleBortol, @glyg, @markovendelin, @lucalianas, @jackyko1991, @erickmartins, @Tom-TBT, @PaulVanSchayck, @sukunis, @aherbert

@imagesc-bot
Copy link

This issue has been mentioned on Image.sc Forum. There might be relevant details there:

https://forum.image.sc/t/updates-to-omero-support-on-centos-rhel-ubuntu/84162/5

@glyg
Copy link

glyg commented Sep 5, 2023

Hi @pwalczysko I can try. While I am at it, would a Debian 12 base be of interest?

This SO answer suggests using multistage builds in the DockerFile, do you think this is the way? Then an action can push the various flavors with different tags.

CentOS7 support stops, right?

@pwalczysko
Copy link
Member Author

Thank you so much @glyg for your quick and positive answer.

This SO answer suggests using multistage builds in the DockerFile, do you think this is the way?

Possibly I omitted the very important bit - molecule is being used - afaik, the multiple platforms are atm managed via (taking the basedeps repo as an example) https://github.com/ome/ansible-role-basedeps/blob/5d2c034f605255eae465e3ff31cd5b6dc1ac5014/molecule/default/molecule.yml#L10
Of course let me know if I got this wrong or misunderstood (very possible too).

We will come back to you Re: Debian 12 and CentOS7 soon.

@glyg
Copy link

glyg commented Sep 5, 2023

This SO answer suggests using multistage builds in the DockerFile, do you think this is the way? Then an action can push the various flavors with different tags.

Answering myself, I don't think this is the correct use case, so it might be easier to have multiple Dockerfile
I understand that molecule is used for the ansible part, but you still need to update the Dockerfile here to use either base image? Was this not the PR you were waiting for? Or did you mean PRs on the ansible roles repos?

@pwalczysko
Copy link
Member Author

I understand that molecule is used for the ansible part, but you still need to update the Dockerfile here to use either base image? Was this not the PR you were waiting for? Or did you mean PRs on the ansible roles repos?

Yes, you are of course right. And I did mean the PRs on the ansible roles repos, hence I did not study the Dockerfile here in this repo, sorry about that. Thanks.

@glyg
Copy link

glyg commented Sep 5, 2023

All right :) So I must start from the ansible repos, and once I have them build e.g on a regular VM, then I can update the Dockerfile here?

I need to understand better ansible molecule I think, and their relation to github actions. (e.g. what the Dockerfile.j2 does).

@pwalczysko
Copy link
Member Author

All right :) So I must start from the ansible repos, and once I have them build e.g on a regular VM, then I can update the Dockerfile here?

Yes, this would make sense to me. We were planning to give an example soon on a https://github.com/ome/ansible-role-basedeps/ PR, sorry, you are just too fast&knowledgeable :)

Back to your previous 2 questions.
As for the Debian 12 question, the crucial bit for us is the maintenance burden. The OME Team would strongly prefer that a maintenance of a "new" platform is overtaken by an organization. In a case an individual is submitting a contribution to this repo, the maintenance burden is still with the OME Team - hope this makes it clear, please do not hesitate to ask or clarify on your end.

CentOS 7 is indeed not supported in the sense delineated precisely in https://forum.image.sc/t/updates-to-omero-support-on-centos-rhel-ubuntu/84162

@JulianHn
Copy link
Contributor

JulianHn commented Sep 5, 2023

I can also chime in.
Since we are also talking specifically about Docker Images in those Repos (although the Ansible roles are used also in different applications), a question for clarity:
Does OME want to offer two Images, one based on Ubuntu and one based on Rocky 9? Or should the Docker stick to one of the two? If the first, that would also require tweaking the basedeps to include non RHEL targets AFAICS for Ubuntu to work, or?

// Julian

@glyg
Copy link

glyg commented Sep 5, 2023

See a first PR for basedeps: ome/ansible-role-basedeps#12

@JulianHn the ansible roles already support two base OSes (Centos7 and ubuntu 20.04)

@JulianHn
Copy link
Contributor

JulianHn commented Sep 5, 2023

@glyg Wups ... Somehow I've overread the ubuntu part in basedeps. For the rest I've found them ... Nevermind then for that part

@glyg
Copy link

glyg commented Sep 6, 2023

I am a bit confused on how to proceed to port ansible-role-omero-web as it depends on the the previous 3 roles.

Right now molecule test complains with

[WARNING]: - ome.basedeps was NOT installed successfully: the specified role  ome.basedeps appears to already exist. Use --force to replace it.       

It retries 3 times and fails. I could delete /home/guillaume/.ansible/roles/ome.basedeps but then the role (version 1.2) would be outdated...

Do you know how can I convince molecule to use the local (updated) roles?

@pwalczysko
Copy link
Member Author

Do you know how can I convince molecule to use the local (updated) roles?

Very possibly not the right answer (not tried&tested, and have to admit was failing or rather ignoring similar warnings myself in GA), but maybe like in https://github.com/juju4/ansible-falco/blob/main/molecule/default/requirements.yml ?

@glyg
Copy link

glyg commented Sep 7, 2023

Thank you @pwalczysko , that makes sense. The issue are not the warnings, the whole build stops. I'll reference my branches in the requirements and see how this goes.

@glyg
Copy link

glyg commented Sep 7, 2023

Thanks @JulianHn for the organising issues!

@imagesc-bot
Copy link

This issue has been mentioned on Image.sc Forum. There might be relevant details there:

https://forum.image.sc/t/omero-figure-dev-install-with-docker-fails/86022/4

@pwalczysko
Copy link
Member Author

Using ome/ansible-role-omero-web#48 and the PRs opened by @glyg and others, we now have OMERO.web running on a RHEL 9 VM. Thanks a lot !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants