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

Vagrant environment needs to be reviewed/updated #28

Open
Natkeeran opened this issue Mar 20, 2017 · 28 comments
Open

Vagrant environment needs to be reviewed/updated #28

Natkeeran opened this issue Mar 20, 2017 · 28 comments

Comments

@Natkeeran
Copy link

Natkeeran commented Mar 20, 2017

I understand that updating vagrant environment is not in the scope for 7.x-1.9 release. However, the environment is getting outdated against standard Ubuntu packages (for 16.04), and several apps have recent releases. Vagrant environment needs to be reviewed/updated.

Environment

  • Ubuntu 14.04 -> Ubuntu 16.04
  • Drupal 7.44 -> Drupal 7.54
  • MySQL 5.5.49
  • Apache 2.4.7
  • Tomcat 7.0.55.0 -> Tomcat 8.5.12 !
  • Solr 4.2.0 -> Solr 4.10.4
  • Fedora 3.8.1
  • GSearch HEAD
  • PHP 5.5.9-1ubuntu4.17 -> PHP 7
  • Java 8 (Oracle)
  • FITS 0.10.1
  • drush 6.3.0
  • jQuery 1.10.2
@ruebot
Copy link
Contributor

ruebot commented Mar 20, 2017

@Natkeeran there is a new base box version on atlas, and it should have 7.54 iirc.

FITS definitely needs to be updated, as does Drush.

@MarcusBarnes
Copy link
Contributor

Related to this: there isn't a description provided for the latest base box version on atlas - see https://atlas.hashicorp.com/islandora/boxes/islandora-base/versions/1.0.4 .

@ruebot
Copy link
Contributor

ruebot commented Mar 20, 2017

@MarcusBarnes That is correct. I didn't have time, and just slapped a version up there. That's it.

@lutaylor
Copy link
Contributor

The hold off on upgrading to Ubuntu 16.04 is that it uses PHP 7.

Is anyone using PHP 7 in production? I know at this point it should work just want to get a sense of who might actually be using it and if it makes sense for us to upgrade the base box.

@ruebot
Copy link
Contributor

ruebot commented Mar 21, 2017

I've been using it in production since last October.

@jonathangreen
Copy link

jonathangreen commented Mar 21, 2017

I'm using it in production. Made a few pull requests for minor compatibility odds and ends over the last couple months, but other then that its working well.

It would be nice to see the vagrant updated to 16.04.

@Natkeeran
Copy link
Author

Have an installation with Ubuntu 16.04 + PHP7 (based off https://github.com/jefferyb/islandora-7.x-enterprise-ansible) running without any notable issues.

Does anyone have Solr 4.10.4 installed?

@DiegoPino
Copy link
Contributor

We have some PHP 7 servers, Solr 5 And 4.10 in production for a year already), etc, but still officially Islandora supports all the 5.3> range of PHP's and this is not a production base box, it's a DEV/test one. I would say, if PHP7 and Ubuntu 16.04 is a community need, then we can/could have two different base box branches and make it possible to switch/opt for one at islandora-vagrant level. Lastly, even when our code runs on PHP7, it has not been deeply tested and more important, nor Drupal 7 nor our code is PHP 7 code style compliant so a lot of "ignore code style checks are required". See Drupal Views thing where classes are named with underscores and no camel case, etc.

@lutaylor
Copy link
Contributor

@Natkeeran
We have 4.10.4 running all over the place. It works fine using https://github.com/discoverygarden/basic-solr-config/tree/4.10.x
I can update the vagrant box to use this.

I am inclined to agree with @DiegoPino regarding having a seperate 16.04 box.

@DonRichards
Thoughts?

@ruebot
We can update FITS as well. Do you have a recommended version that you have used without issue?

@ruebot
Copy link
Contributor

ruebot commented Mar 21, 2017

The most recent version of FITS works fine. I'd encourage y'all to update it as it is released. Notifications come out on the FITS mailing list.

@lutaylor
Copy link
Contributor

lutaylor commented Mar 29, 2017

Sorry for the delay.

I was waiting for fcrepo3/gsearch#4 to get merged since we are unable to go past Tomcat version 7.0.72/8.0.39 without having issues in FGS.

Ref for tomcat 8 apache/tomcat80@779d5d3.

I think we should stick to Tomcat 7 and just get the updated version since it is still actively maintained. My reasoning is that many people install Tomcat using apt-get and yum. Tomcat 8 doesn't seem to be available yet on standard OS (and epel) repositories.

I was going to be updating the following:

Ubuntu 14.04
Drupal 7.44 -> Drupal 7.54
MySQL 5.5.49
Apache 2.4.7
Tomcat 7.0.55.0 -> Tomcat 7.0.76
Solr 4.2.0 -> Solr 4.10.4
Fedora 3.8.1
GSearch HEAD
PHP 5.5.9-1ubuntu4.17
Java 8 (Oracle)
FITS 0.10.1 -> FITS 1.0.7
drush 6.3.0
jQuery 1.10.2

@DonRichards
Copy link
Member

DonRichards commented Apr 4, 2017

@lutaylor I have no objections except testing each one individually first. Obviously just simply updating to PHP 7 causes a crash. We can approach this in steps to ease the process for testing. But one question, are any of these blocked by module compatibility(for example Solr and Tomcat)?

List of purposed Updates/Upgrades from easiest to most difficult (guessing)

  1. Drupal 7.44 -> Drupal 7.54 (Minor version Update)
  2. Drush 6.3.0 -> Drush 7.x OR 8.x (Major version Upgrade)
  3. Tomcat 7.0.55.0 -> Tomcat 8.5.12 (Major version Upgrade and impacts FGS)
  4. PHP 5.5.9-1ubuntu4.17 -> PHP 7 (Major version Upgrade)
  5. Ubuntu 14.04 -> Ubuntu 16.04 (Major version Upgrade)
  6. Solr 4.2.0 -> Solr 4.10.4 (Major version Update but impacts modules)

Solr might need multiple modules to be updated at the same time and would possibly be a large undertaking. Not sure, I haven't worked on Solr before but if we think the Discovery Garden's basic-solr-config is an option maybe we should get some feedback from the community to see if this is some code to integrate.

  • Should start by doing making a ticket with the purposed change and make one PR per update/grade at a time?

  • Once blockers (like PHP, drush, drupal) are updated would experimenting with changing the vm box from ubuntu/trusty64 to ubuntu/xenial64 be a simple but useful approach for us to test or would you like a different approach?

Should have tickets created/PRs/Reviewed?

  • Drupal 7.44 -> Drupal 7.54
  • Drush 6.3.0 -> Drush 8.x (if practical)
  • Tomcat 7.0.55.0 -> Tomcat 7.0.76
  • PHP 5.5.9-1ubuntu4.17 -> PHP 7.1
  • Ubuntu 14.04 -> Ubuntu 16.04 (LAST)

This is only a suggestion on how to approach this!

@DonRichards
Copy link
Member

Related to Islandora-Labs/islandora_vagrant#124

@pc37utn
Copy link

pc37utn commented Apr 4, 2017

Can I ask a question?
What is the plan with the versions in islandora vagrant?
Is it to be the same as the docs on the Islandora site?
Is it to be aligned with what people actually use on servers in the real world?

@DiegoPino
Copy link
Contributor

@pc37utn not sure if i understand the question completely so chances are my answer is wrong! But i would say islandora vagrant base box is a test/dev/release platform so chances are it would-should be a bit more conservative than what people use in the wild and should also be based on well known (and debuggable) pieces of the stack.

@pc37utn
Copy link

pc37utn commented Apr 4, 2017

@DiegoPino thanks, but maybe I am not understanding. Right now tomcat comes in from the Ubuntu repo. There is no update unless they publish one. To add a newer version means a whole different installation of tomcat than what is there now from source instead of Ubuntu. To jump to 16.04 throws us into systemd land and, I imagine, a lot of changes to the Islandora docs to match it, if that is the purpose of islandora_vagrant.

@DiegoPino
Copy link
Contributor

@pc37utn true. Some of the pieces (like tomcat) are pretty much fixed under Ubuntu 14 if opting for packages. But not sure if compiling is an issue (i mean not a problem) since this base box most of the time is used directly as an export from Atlas. From source compiling in that case means just once and then reuse. But i was refering more about other pieces like Solr, Drush, phpcs, PHP version itself, MYSQL, etc. And yeah, i don't get it this thread either 😄 i kinda feel release times are good times to discuss this things, but updating the stack on our vagrant environment requires some volunteers and a lot of testing.

@lutaylor
Copy link
Contributor

lutaylor commented Apr 6, 2017

The tomcat version in the apt repos actually doesn't seem to go any higher than 7.0.52. If we want to go to latest I could do the install similar to what we are doing here https://github.com/islandora-interest-groups/Islandora-DevOps-Interest-Group/blob/master/Deployment%20Guides/Provisioning-Islandora-on-Ubuntu.md#java-tomcat

The init script is still compatible with systems using systemd if we were to move to 16.04.

However the catch is we were unable to get someone to merge the fix into the gsearch repo fcrepo3/gsearch#4 so we had to fork https://github.com/discoverygarden/gsearch.

If we want to use the newer versions of Tomcat we would have to use the fixed gsearch from the DGI fork I can do this if everyone is ok with it.

As for 4.10.x we have stock configs https://github.com/discoverygarden/basic-solr-config/tree/4.10.x that work great you just have to follow the instructions in the README regarding copying the jars.

We could upgrade PHPCS, drush and other components the issue is that Travis would have to be updated at the same time to match. This should be handled on seperate(s) since it will involve updating multiple repos.

At the end of the day upgrading Tomcat, Drupal and Solr is straight forward and I could handle it under this issue provided everyone is ok with using the DGI fork.

Upgrading the OS/PHP7 and Drush/PHPCS is more involved and should be broken up into seperate tickets/issues.

@DonRichards Let me know what you think.

Thanks!

@DonRichards
Copy link
Member

@lutaylor I had it backwards then. I really thought the OS would be the biggest hurdle. If the gsearch fix is applied would it brake for people using the current applied version of Tomcat? Or would they need to upgrade to accommodate the fix? But I do like what you're suggesting and I think we could quickly move forwards on this. We could branch called "dev" to start the process and merge back in when done. If everyone likes this approach.

@lutaylor
Copy link
Contributor

lutaylor commented Apr 6, 2017

@DonRichards

The fix is only needed if you upgrade above 7.0.72/8.0.39. The fix is backwards compatible with older tomcat versions but not required.

@pc37utn
Copy link

pc37utn commented Apr 6, 2017

I think we need to determine if the base box and islandora vagrant is supposed to represent islandora as it is running in general use or should it be hte latest and greatest versions that may not work with islandora.

@lutaylor
Copy link
Contributor

I am waiting to see what comes out of this discussion https://groups.google.com/forum/#!topic/islandora/WftNSPr7Xi0 since we might end up having to change how PHP is installed in the basebox.

As of now I am going with:

Drupal 7.44 -> Drupal 7.54
Tomcat 7.0.55.0 -> Tomcat 7.0.76
Latest FGS based of DGI fork.
PHP 5.5.9-1ubuntu4.17
Ubuntu 14.04
Solr 4.2.0 -> Solr 4.10.4
FITS 0.10.1 -> FITS 1.0.7

@pc37utn
Not entirely sure what the answer is. I would be inclined to think that the basebox should have the minimum supported major version of what the community agrees on. e.g. PHP 5.5/5.6 vs PHP 7.

Any other thoughts?

@lutaylor
Copy link
Contributor

lutaylor commented Jun 1, 2017

Hello Everyone,

Sorry for the delay. Had a hard time getting the new Solr version working so a few things had to be swapped.

Please review the following PR

#29
Islandora-Labs/islandora_vagrant#125

Replacing Tomcat with latest from source vs using the latest from repos is going to take a lot more work and would rather handle it under a seperate PR/issue if we intend on proceeding with it.

@lutaylor
Copy link
Contributor

@Natkeeran

New basebox has been published. Please let me know if you encounter any issues.

@DiegoPino
Copy link
Contributor

@lutaylor what version (tagged) is this?
config.vm.box_version = "~> 1.0.5" ?
Thanks!

@lutaylor
Copy link
Contributor

@DiegoPino 1.0.5 is the new version.

@DonRichards
Copy link
Member

Should we keep this open until all of the issues have been resolved? Or should they be broken out? Or is this just complete at this point?

@lutaylor
Copy link
Contributor

@DonRichards
Quite a few of these will get updated again once we cut a new basebox next. If we have any in particular that still should be updated we should have a separate issue. Some stuff would be quite involved e.g. Solr (could start looking at Solr 7 at some point Islandora/islandora_solr_search#342)

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

8 participants