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

update role versions for centos and push php version to inventory #68

Merged
merged 1 commit into from
Jun 22, 2018

Conversation

seth-shaw-unlv
Copy link
Contributor

GitHub Issue:

What does this Pull Request do?

This PR should put all the final pieces in place for CentOS7 support.

What's new?

  • Updates ansible role versions to include CentOS fixes
  • Moves the remi PHP version repo to the inventory (and bumps it to 7.2)

How should this be tested?

  • Clone a fresh copy of the playbook
  • apply the PR
  • set ISLANDORA_DISTRO=centos/7
  • vagrant up
  • pray while it provisions
  • poke it to make sure all the Islandora bits work

Interested parties

@Islandora-Devops/committers, esp @DigitLib and @ajs6f

@whikloj
Copy link
Member

whikloj commented Jun 21, 2018

@seth-shaw-unlv so is #62 now redundant? If so I can close it, it has been sitting for a bit and it looks like this covers the same ground and then some.

@DigitLib
Copy link
Contributor

@seth-shaw-unlv WORK!!! PHP v7.2.7, tesseract installed OK, tables created
MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| drupal8 |
| gemini |
| mysql |
| performance_schema |
+--------------------+
Gemini table
Database: gemini
+-------------------+
| Tables |
+-------------------+
| Gemini |
| gemini_migrations |
+-------------------+
MariaDB [(none)]> SHOW COLUMNS FROM gemini.Gemini;
+-------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| fedora_hash | varchar(128) | NO | MUL | NULL | |
| drupal_hash | varchar(128) | NO | | NULL | |
| uuid | varchar(36) | NO | PRI | NULL | |
| drupal_uri | longtext | NO | | NULL | |
| fedora_uri | longtext | NO | | NULL | |
| dateCreated | datetime | NO | | NULL | |
| dateUpdated | datetime | NO | | NULL | |
+-------------+--------------+------+-----+---------+-------+
7 rows in set (0.00 sec)

http://localhost:8080/fcrepo/rest WORK!
http://localhost:8161/admin/ WORK!
http://localhost:8080/cantaloupe/admin WORK!
http://localhost:8080/cantaloupe/iiif/2 WORK!
Uploaded image and see it with openseadragon!

Tomcat Managaer get 403!
Also in tomcat-users.xml
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users xmlns="http://tomcat.apache.org/xml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
version="1.0">
<user username="islandora" password="islandora" roles="manager-gui"/>
</tomcat-users>
missing <role rolename="manager-gui"/>
looking to see what is going on...
In drupal site:
Errors found
Simpletest site directory
Missing
The testing framework requires the sites/simpletest directory to exist and be writable in order to run tests.

Question for @Islandora-Devops/committers what about FITS? Do we need it? it isn't installed except a role downloaded. There is nowhere mentioned in yml files to install it also a new version of FITS released it is 1.3.0

@dannylamb
Copy link
Member

@DigitLib FITS is included in the install, but we don't make use of it yet. We'll have to build a connector for it in Alpaca a la https://github.com/Islandora-CLAW/Alpaca/tree/master/islandora-connector-houdini before its of any use to us.

@dannylamb
Copy link
Member

@DigitLib Also, I have the same issue with permissions and the simpletest directory on a fresh Ubuntu install, so I wouldn't let that discourage us.

@dannylamb
Copy link
Member

vagrant up 🚀

@Natkeeran
Copy link
Contributor

Natkeeran commented Jun 21, 2018

@seth-shaw-unlv
php seems to get installed as expected. Able to create a basic image node that gets synced to fedora. Tomcat issue exists as @DigitLib noted, but that is probably not CentOs specific.

@dannylamb
Copy link
Member

I'm having issues with the guest additions. Is there something special I need to do for CENTOS?

What I did:

  • Pulled in this PR on top of master
  • ansible-galaxy install --force --role-file=requirements.yml --roles-path=roles/external to update the roles
  • ISLANDORA_DISTRO=centos/7 vagrant up

What I got:

Downloading VirtualBox Guest Additions ISO from http://download.virtualbox.org/virtualbox/5.0.40/VBoxGuestAdditions_5.0.40.iso
Copy iso file /home/daniel/.vagrant.d/tmp/VBoxGuestAdditions_5.0.40.iso into the box /tmp/VBoxGuestAdditions.iso
Mounting Virtualbox Guest Additions ISO to: /mnt
mount: /dev/loop0 is write-protected, mounting read-only
Installing Virtualbox Guest Additions 5.0.40 - guest version is unknown
Verifying archive integrity... All good.
Uncompressing VirtualBox 5.0.40 Guest Additions for Linux............
VirtualBox Guest Additions installer
Copying additional installer modules ...
Installing additional modules ...
Removing existing VirtualBox non-DKMS kernel modules[  OK  ]
Building the VirtualBox Guest Additions kernel modules
The headers for the current running kernel were not found. If the following
module compilation fails then this could be the reason.
The missing package can be probably installed with
yum install kernel-devel-3.10.0-693.5.2.el7.x86_64

Building the main Guest Additions module[FAILED]
(Look at /var/log/vboxadd-install.log to find out what went wrong)
Doing non-kernel setup of the Guest Additions[  OK  ]
Redirecting to /bin/systemctl start vboxadd.service
Job for vboxadd.service failed because the control process exited with error code. See "systemctl status vboxadd.service" and "journalctl -xe" for details.
Unmounting Virtualbox Guest Additions ISO from: /mnt
Cleaning up downloaded VirtualBox Guest Additions ISO...
==> default: Checking for guest additions in VM...
    default: No guest additions were detected on the base box for this VM! Guest
    default: additions are required for forwarded ports, shared folders, host only
    default: networking, and more. If SSH fails on this machine, please install
    default: the guest additions and repackage the box to continue.
    default: 
    default: This is not an error message; everything may continue to work properly,
    default: in which case you may ignore this message.
==> default: Setting hostname...
==> default: Rsyncing folder: /home/daniel/Code/Environments/claw-playbook/ => /vagrant
==> default: Mounting shared folders...
    default: /home/vagrant/islandora => /home/daniel/Code/Environments/claw-playbook
Vagrant was unable to mount VirtualBox shared folders. This is usually
because the filesystem "vboxsf" is not available. This filesystem is
made available via the VirtualBox Guest Additions and kernel module.
Please verify that these guest additions are properly installed in the
guest. This is not a bug in Vagrant and is usually caused by a faulty
Vagrant box. For context, the command attempted was:

mount -t vboxsf -o uid=1000,gid=1000 home_vagrant_islandora /home/vagrant/islandora

The error output from the command was:

/sbin/mount.vboxsf: mounting failed with the error: No such device

@dannylamb
Copy link
Member

The salient bit seems to be

Verifying archive integrity... All good.
Uncompressing VirtualBox 5.0.40 Guest Additions for Linux............
VirtualBox Guest Additions installer
Copying additional installer modules ...
Installing additional modules ...
Removing existing VirtualBox non-DKMS kernel modules[  OK  ]
Building the VirtualBox Guest Additions kernel modules
The headers for the current running kernel were not found. If the following
module compilation fails then this could be the reason.
The missing package can be probably installed with
yum install kernel-devel-3.10.0-693.5.2.el7.x86_64

Earlier in the output I also got a No package kernel-devel-3.10.0-693.5.2.el7.x86_64 available.

@seth-shaw-unlv
Copy link
Contributor Author

@dannylamb I have not run into that. My two guesses would be that it is either an old or corrupted box image or there was a network error preventing the necessary library from downloading.

For the first theory, did it download a fresh CentOS image? Try running ISLANDORA_DISTRO=centos/7 vagrant box update to see if there is an updated image. Or try removing and then adding the image back again.

@seth-shaw-unlv
Copy link
Contributor Author

@DigitLib it looks like the issues you raised will need to be addressed by separate issues/pull requests. E.g. enabling Tomcat Manager would be an update to Islandora-Devops/ansible-role-tomcat8.

Is there anything in this PR that needs to be addressed, or can it be merged so we can move on to other tickets?

@seth-shaw-unlv
Copy link
Contributor Author

@whikloj, yes #62 is redundant.

@dannylamb
Copy link
Member

Don't let my woes hold this PR up. It's definitely a problem with my local env.

@seth-shaw-unlv
Copy link
Contributor Author

Either @Natkeeran or @DigitLib, could one of you add a review so we can merge this thing?

@seth-shaw-unlv seth-shaw-unlv merged commit 64dde4a into master Jun 22, 2018
@seth-shaw-unlv seth-shaw-unlv deleted the issue-809 branch June 22, 2018 18:48
@dannylamb
Copy link
Member

Pardon the necromancy, but I just managed to spin one up! Works great! Had to update my vagrant, virtualbox, and the centos/7 basebox to get it going.

@ajs6f
Copy link
Contributor

ajs6f commented Jun 29, 2018

So, @seth-shaw-unlv and @dannylamb -- should I try the new gear out on my metal (non-Vagrant) box? Or wait a bit?

@seth-shaw-unlv
Copy link
Contributor Author

@ajs6f, that is what I've been working on (among other things) recently. The playbook builds just fine. Unfortunately my non-vagrant build isn't generating derivatives, but I haven't figured out why yet and whether it is an artifact of the playbook or something else.

Keep in mind that you will need to update your inventory to include the host names and remove the 8000 port (if you want to use 80 for Drupal instead), download the external roles from galaxy, and then run it directly using ansible-playbook -i <inventory> playbook.yml

@ajs6f
Copy link
Contributor

ajs6f commented Jun 29, 2018

OK, @seth-shaw-unlv , cool. Derivative generation doesn't concern me, since there is a completely separate group here at SI that manages images and their derivatives and IIIF and so forth.

I'll give it a try at the top of the week and you will doubtless hear screaming at some point after that. :)

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

Successfully merging this pull request may close these issues.

6 participants