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

Islandora-Devops/ansible-role-grok needs a new minor version #809

Closed
seth-shaw-unlv opened this issue Feb 28, 2018 · 14 comments
Closed

Islandora-Devops/ansible-role-grok needs a new minor version #809

seth-shaw-unlv opened this issue Feb 28, 2018 · 14 comments

Comments

@seth-shaw-unlv
Copy link
Contributor

Claw-playbook is pegged to grok 0.0.1 which doesn't include the most recent fixes for CentOS. This is a simple update to requirements.yml; however, the ansible-role-grok repo doesn't have a tag reflecting the changes either.

So, someone with rights needs to tag current version as 0.0.2 and then we can update requirements.yml version number for grok.

@whikloj
Copy link
Member

whikloj commented Feb 28, 2018

I have added a 0.0.2 tag to ansible-role-grok.

https://github.com/Islandora-Devops/ansible-role-grok/tree/0.0.2

@ajs6f
Copy link

ajs6f commented Apr 30, 2018

I just had an install failure on CentoOS with

TASK [Islandora-Devops.grok : Install Grok dependencies] ***********************************************************************************
Monday 30 April 2018  13:09:53 -0400 (0:00:02.191)       0:33:52.619 **********
failed: [default] (item=[u'cmake', u'libpng16-dev', u'libtiff-dev', u'liblcms2-dev']) => {"changed": false, "cmd": "apt-get update", "item": ["cmake", "libpng16-dev", "libtiff-dev", "liblcms2-dev"], "msg": "[Errno 2] No such file or directory", "rc": 2}

Not sure if this is the same thing?

@seth-shaw-unlv
Copy link
Contributor Author

seth-shaw-unlv commented Apr 30, 2018

@ajs6f I think it is. The error you reported is from Ansible trying to use apt-get instead of yum. The 0.0.2 version fixes that.

@ajs6f
Copy link

ajs6f commented Apr 30, 2018

Hm, in roles/internal/Islandora-Devops.grok/tasks/install.yml I found:

- name: Install Grok dependencies
  apt:
    name: "{{ item }}"
  with_items:
    - cmake
    - libpng16-dev
    - libtiff-dev
    - liblcms2-dev

That can't work on CentOS, can it? Wouldn't that have to be a yum task? Or is that somehow fixed by Islandora-Devops/islandora-playbook#62? I edited it to a yum task locally and it got past that.

@ajs6f
Copy link

ajs6f commented Apr 30, 2018

The other thing that seems to be problematic for me on CentOS is those package names-- they aren't quite the same. (libpng-devel, libtiff-devel and lcms2-devel)

@seth-shaw-unlv
Copy link
Contributor Author

seth-shaw-unlv commented Apr 30, 2018

@ajs6f Yes, Islandora-Devops/islandora-playbook#62 fixes it. Note that in the 0.0.2 branch the package installations use an IF clause to call the appropriate package manager (with the appropriate package names) based on whether Debian or CentOS is being used.

@ajs6f
Copy link

ajs6f commented Apr 30, 2018

@seth-shaw-unlv Thank you for enlightening me! I was already starting to go down some weird rabbit hole (as you can see above). I will back my fluffy tail out of there and go get that PR.

@ajs6f
Copy link

ajs6f commented May 10, 2018

Okay, after much fuss and bother (see comments I left on Islandora-Devops/islandora-playbook#62) I have found that Grok can be installed on CentOS, but not effectively with the stock dev tools. Grok uses C++14, and while the stock tools can deal with 14, they use nonstandard flags to do it, so the best way is

sudo yum install cmake3 devtoolset-7-gcc-c+
scl enable devtoolset-7 bash

which will switch over to gcc and friends 7.3.1 in the spawned bash shell, which handles Grok well. Note the appearance of cmake3, which (for CentOS) is a separate package from cmake (which goes only through the 2-series).

I guess I can try a PR against @whikloj's PR? The dependencies are straightforward, but I'm not totally sure how best to execute scl invocations, especially because scl doesn't persist its changes-- they are effective only in the scope of the single command you pass to it (a bit like sudo). Perhaps change the make grok task?

@seth-shaw-unlv
Copy link
Contributor Author

@ajs6f I has a working grok install on CentOS7 about 4 months ago. I hadn't submitted the PR for it yet because other CentOS related PRs were still pending.

@ajs6f
Copy link

ajs6f commented May 10, 2018

Hey, @seth-shaw-unlv, that's where I started (not that repo, but essentially that procedure) and it definitely didn't work for me. Is there any chance that for other reasons you had already stepped up your dev tools? Put another way: what version of g++ were/are you using with that fork to get it to successfully install?

@seth-shaw-unlv
Copy link
Contributor Author

@ajs6f No, I confirmed it was working with the default CentOS box vagrant provided. Perhaps a different role made the difference? Oh, well. At least you got it working!

@ajs6f
Copy link

ajs6f commented May 10, 2018

Hmmm... I'm starting to think that the whole morass I climbed into and out of wasn't about CentOS itself as much as whatever weird baseline image we (SI) is using for our VMs. Sigh.

@seth-shaw-unlv
Copy link
Contributor Author

We can resolve this after the new version number is included in claw-playbook. The new version of ansible-role-crayfish, which should arrive shortly, could be included in the same PR.

@seth-shaw-unlv
Copy link
Contributor Author

Resolved back in June by Islandora-Devops/islandora-playbook/pull/68

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