-
Notifications
You must be signed in to change notification settings - Fork 53
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
Issue-268: Changes needed to allow RHEL based builds via Islandora-playbook #268 #273
Conversation
…se_box and change name to role in playbook to keep in line with other playbooks.
…in bootstrap.yml.
…nt - need to split the installation of packages out depending upon islandora_db variable as well.
…ql file into MariaDB. Changed colation from utf8mb4_0900_ai_ci to utf8mb4_unicode_ci.
So, just for clarity, this is intended for an existing RedHat box, not for building a Vagrant/VirtualBox RedHat instance, correct? This worked as expected of a default debian install. I also tried to change the |
Seth,
Correct - at least for us - we used a golden image that we already had to setup a RHEL 8 box. I would suspect that if Vagrant/VirtualBox stood up say a RockLinux 8 box etc. it should follow along. We haven't done much with Vagrant here on our end but we could potentially give it whirl.
As for the python3 for RHEL7 we didn't test anything with RHEL 7 as it is coming EOL shortly and we are keen on our end to build RHEL 8. We could test this out with a RHEL 7 - I am assuming more OS version changes would be forthcoming.
Thanks,
-Brian.
Brian D. Gregg
Solutions Architect
University Library System
University of Pittsburgh
7500 Thomas Blvd.
Pittsburgh, PA 15208
voice: 412-648-3264
fax: 412-648-3585
…________________________________
From: Seth Shaw ***@***.***>
Sent: Thursday, January 18, 2024 3:43 PM
To: Islandora-Devops/islandora-playbook ***@***.***>
Cc: Brian D. Gregg ***@***.***>; Author ***@***.***>
Subject: Re: [Islandora-Devops/islandora-playbook] Issue-268: Changes needed to allow RHEL based builds via Islandora-playbook #268 (PR #273)
So, just for clarity, this is intended for an existing RedHat box, not for building a Vagrant/VirtualBox RedHat instance, correct?
This worked as expected of a default debian install. I also tried to change the ISLANDORA_DISTRO to generic/rhel7 but that failed out when it couldn't find python3 on the box.
—
Reply to this email directly, view it on GitHub<#273 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AAC5B3VTUAYAO62S7KOXBH3YPGCNNAVCNFSM6AAAAABB5JBHXOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOJZGE3TKMZQGQ>.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
Well, I couldn't get the generic RH or RockyLinux vagrant base boxes to work, but since it doesn't break the official debian version we use in the Vagrant file, I'm going to approve this. |
Thanks Seth,
I'll work on testing this against vagrant and at least one of the RH base boxes as soon as possible.
Thanks,
-Brian.
Brian D. Gregg
Solutions Architect
University Library System
University of Pittsburgh
7500 Thomas Blvd.
Pittsburgh, PA 15208
voice: 412-648-3264
fax: 412-648-3585
…________________________________
From: Seth Shaw ***@***.***>
Sent: Friday, January 19, 2024 11:35 AM
To: Islandora-Devops/islandora-playbook ***@***.***>
Cc: Brian D. Gregg ***@***.***>; Author ***@***.***>
Subject: Re: [Islandora-Devops/islandora-playbook] Issue-268: Changes needed to allow RHEL based builds via Islandora-playbook #268 (PR #273)
Well, I couldn't get the generic RH or RockyLinux vagrant base boxes to work, but since it doesn't break the official debian version we use in the Vagrant file, I'm going to approve this.
—
Reply to this email directly, view it on GitHub<#273 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AAC5B3UIXTB2YXGS6Z33AFTYPKOD5AVCNFSM6AAAAABB5JBHXOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMBQG4ZTGMJSHE>.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
Seth,
Following up on this a bit. We were able to get the Vagrant Box "generic/rocky8" (RHEL 8 variant) to work using the Islandora-playbook as is. We were also able to get the Vagrant Box "generic/rock9" (RHEL 9 variant) to work with some tweaking of the Islandora-playbook. Other attempts of using other Vagrant boxes "rockylinux/8" or "rockylinux/9", "generic/centos8", "generic/centos8s", "generic/alma8" all had issues such as the OS version of the box and package requirements relating to OS or they had underlying OS issues such as unable to boot, etc.
Would you be able to test Islandora-playbook on the "generic/rocky8" vagrant box to see if this indeed works for you?
Thanks,
-Brian Gregg.
Brian D. Gregg
Solutions Architect
University Library System
University of Pittsburgh
7500 Thomas Blvd.
Pittsburgh, PA 15208
voice: 412-648-3264
fax: 412-648-3585
…________________________________
From: Brian D. Gregg ***@***.***>
Sent: Friday, January 19, 2024 12:59 PM
To: Islandora-Devops/islandora-playbook ***@***.***>; Islandora-Devops/islandora-playbook ***@***.***>
Cc: Author ***@***.***>
Subject: Re: [Islandora-Devops/islandora-playbook] Issue-268: Changes needed to allow RHEL based builds via Islandora-playbook #268 (PR #273)
Thanks Seth,
I'll work on testing this against vagrant and at least one of the RH base boxes as soon as possible.
Thanks,
-Brian.
Brian D. Gregg
Solutions Architect
University Library System
University of Pittsburgh
7500 Thomas Blvd.
Pittsburgh, PA 15208
voice: 412-648-3264
fax: 412-648-3585
________________________________
From: Seth Shaw ***@***.***>
Sent: Friday, January 19, 2024 11:35 AM
To: Islandora-Devops/islandora-playbook ***@***.***>
Cc: Brian D. Gregg ***@***.***>; Author ***@***.***>
Subject: Re: [Islandora-Devops/islandora-playbook] Issue-268: Changes needed to allow RHEL based builds via Islandora-playbook #268 (PR #273)
Well, I couldn't get the generic RH or RockyLinux vagrant base boxes to work, but since it doesn't break the official debian version we use in the Vagrant file, I'm going to approve this.
—
Reply to this email directly, view it on GitHub<#273 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AAC5B3UIXTB2YXGS6Z33AFTYPKOD5AVCNFSM6AAAAABB5JBHXOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMBQG4ZTGMJSHE>.
You are receiving this because you authored the thread.
|
Simply setting
Is there another variable I needed to set as well? |
Seth,
This may be related to the version of ansible you are running. I am currently running ansible core 2.14.9 and I do not have a var/Rocky.yml file on my ansible system.
This post seems to indicate that ansible versions prior to and including 2.10 may show ansible_os_family = "Rocky" instead of "RedHat" as expected which seems to match what you are seeing.
https://forums.rockylinux.org/t/ansible-os-family-question/3320/7
This link is the Ansible Github request to back port the fix to earlier versions: ansible/ansible#74244
This is the link to the RedHat Bug report: https://bugzilla.redhat.com/show_bug.cgi?id=1968728
I am not sure what this might equate to on the Mac/Ubuntu side of the house regarding the version of ansible installed and if or not any of the backports from the above have been made available in the ansible versions available for Mac/Ubuntu.
I could attempt to adjust the playbooks to accommodate 'Rocky' as indicated in the first link as follows:
"when: ansible_os_family in ['RedHat', 'Rocky']" to catch the instance where Rocky is returned instead of 'RedHat' for the ansible_os_family variable.
Thanks,
-Brian.
Brian D. Gregg
Solutions Architect
University Library System
University of Pittsburgh
7500 Thomas Blvd.
Pittsburgh, PA 15208
voice: 412-648-3264
fax: 412-648-3585
…________________________________
From: Seth Shaw ***@***.***>
Sent: Tuesday, February 20, 2024 7:24 PM
To: Islandora-Devops/islandora-playbook ***@***.***>
Cc: Brian D. Gregg ***@***.***>; Author ***@***.***>
Subject: Re: [Islandora-Devops/islandora-playbook] Issue-268: Changes needed to allow RHEL based builds via Islandora-playbook #268 (PR #273)
Simply setting ISLANDORA_DISTRO to generic/rocky8 with a fresh clone of the playbook produced the following error:
TASK [include OS specific variables] *******************************************
Tuesday 20 February 2024 16:20:40 -0800 (0:00:00.932) 0:00:00.982 ******
fatal: [default]: FAILED! => {"ansible_facts": {}, "ansible_included_var_files": [], "changed": false, "message": "Could not find or access 'vars/Rocky.yml'\nSearched in:\n\t/home/sshaw28/islandora-playbook-cent/vars/vars/Rocky.yml\n\t/home/sshaw28/islandora-playbook-cent/vars/Rocky.yml\n\t/home/sshaw28/islandora-playbook-cent/vars/vars/Rocky.yml\n\t/home/sshaw28/islandora-playbook-cent/vars/Rocky.yml on the Ansible Controller.\nIf you are using a module and expect the file to exist on the remote, see the remote_src option"}
Is there another variable I needed to set as well?
—
Reply to this email directly, view it on GitHub<#273 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AAC5B3UU7AI6RLZGPFTQJSLYUU5CPAVCNFSM6AAAAABB5JBHXOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNJVGQ4TGNJVG4>.
You are receiving this because you authored the thread.
|
GitHub Issue: #268
Release pull requests, etc.)
What does this Pull Request do?
This pull request largely enables the ansible build of RedHat based systems to go
along with already existing Debian based system build process. There are a few other
changes that we felt could also be included. A brief listing of these changes is included below.
What's new?
A in-depth description of the changes made by this PR. Technical details and
possible side effects.
(i.e. Regeneration activity, etc.)?
The primary focus of this pull request is to allow for building RedHat based systems (RedHat) the same way that Debian based systems are built using the Islandora-playbook. As such the majority of the changes are tied into accommodating RedHat based approaches to the installation of the same components used by Debian or using an equivalent package repositories for the same components. A number of changes relate to changing the default locations of variables used for RedHat instead of Debian. There are a few other changes that we identified that we felt would fit better for both RedHat and Debian.
See below for a brief description of the list of changes.
Primary Changes:
Files/Roles that were updated:
requirements.yml - There were a few changes in versions of geerlingguy modules that addressed issues when running these modules under RHEL.
Islandora-Devops.activemq - Adjusted how ActiveMQ is downloaded to add a timeout value as we were experiencing an issue with this. Also instead of using 'mv', we opted for creating a symlink to the extracted content. This allowed us to retain the version information from the original file extraction in the folder name but also providing the activemq folder to be used generally.
Islandora-Devops.alpaca - Adjusted obtaining the JAVA_HOME environment variable for RHEL.
Islandora-Devops.blazegraph - Adjusted the location of variables based upon OS based vars instead of hardcoded in defaults/main.yml. Created tasks/config-RedHat.yml and tasks/define-home.yml to pull in the OS based variable. Also adjusted the install.yml to be renamed install-Debian.yml and then created install-RedHat.yml. Created vars/Debian.yml and vars/RedHat.yml to store the OS based variable. Adjusted tasks/main.yml to reflect the above changes.
Islandora-Devops.canaloupe - Adjusted the location of variables based upon OS based vars instead of hardcoded in defaults/main.yml. Moved tasks/install.yml to tasks/install-Debian.yml and created tasks/install-RedHat.yml. Created tasks/os-vars.yml to pull in OS based vars and adjusted tasks/main.yml to reflect the above changes.
Islandora-Devops.crayfish - Added the rpmfusion repository for RedHat 8 ffmpeg instead of the nux repo and updated the when clauses to accommodate the change based upon OS flavor and version.
Islandora-Devops.fcrepo-syn - Adjusted the location of variables based upon OS based vars instead of hardcoded in defaults/main.yml similar to other previously mentioned modules above.
Islandora-Devops.fcrepo - Adjusted the python dependencies to only install either PostgreSQL or MySQL/MariaDB python modules. RedHat only allows for one or the other installed due to a conflict. As the database variant is chosen elsewhere (see variable islandora_db) it seemed fitting that one or the other and not both are needed at the same time.
Islandora-Devops.matomo - Adjusted the SQL to use a different collation when used with RedHat/MySQL/MariaDB. Collation 'utf8mb4_0900_ai_ci' is not a recognized collation and using the collation of utf8mb4_unicode_ci resolved the error: "Unknown collation: ‘utf8mb4_0900_ai_ci’ " when importing the database.
Islandora-Devops.tomcat - Adjusted how Tomcat is setup in RedHat and also pulling default variables from OS specific vars instead of the defaults/main.yml file similar to those mentioned above.
solr.yml - Updated the version of Java from 1.8.0 to Java 11 for RedHat. Included installation of zip package for RedHat.
tomcat.yml - Updated the version of Java from 1.8.0 to Java 11 for RedHat.
bootstrap.yml - Exchanged the ansible execution of the command "setenforce permissive" to using the ansible selinux module to perform the same function.
crayfish.yml - Changed to calling roles using "role:" instead of "name:" for bit of clarity to distinguish the calling of a role from other "name:" instances and to match other already existing "role:" conventions in the code.
post-install.yml - Add when clause to run tasks only for Debian based systems. This excludes the tasks from running against RedHat based systems where folders differ between Debian and RedHat.
vars/RedHat.yml - Added selinux_permissive variable to allow bootstrap.yml to set selinux settings for RedHat.
Other Changes:
.gitignore - Excluded all other folders under the inventory folder besides vagrant from being captured by git.
ansible.cfg - Included color stanza for "verbose = bright blue" so as to have verbose ansible messages show with better contrast against a black terminal background.
How should this be tested?
A description of what steps someone could take to:
Testing of this pull request should follow the existing Islandora-playbook documentation for a newly built RedHat based system. Our RedHat testing was done with a RedHat 8.9 (Ootpa) x86_64 VM installation. Additionally this pull request should continue to work with Debian based systems. To confirm the Debian setup was still functional our Debian testing was done with Ubuntu 22.04.03 LTS (Jammy Jellyfish). These two test systems were VM's in our current VMware vSphere 7.0 environment. For our Ansible host we used our already existing ansible system (RedHat 7 with the standard ansible 2.9.27-1 package from EPEL) to invoke the playbook to our test systems.
From our ansible playbook directory we followed the steps outlined in "Deploying to a remote environment" at https://islandora.github.io/documentation/installation/playbook/#deploying-to-a-remote-environment
Additional Notes:
Any additional information that you think would be helpful when reviewing this
PR.
NOTE: Although the resulting RedHat system seems to build and work properly, we are experiencing an issue with derivative creation for some images resulting in not having a FITS media file created. We are unable to ascertain what the root cause of this is and are asking that someone that is more familiar with the derivative generation components to investigate to see if we missed something in the configuration or settings wise.
Interested parties
Tag (@ mention) interested parties or, if unsure, @Islandora-Devops/committers