airavata-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christie, Marcus Aaron" <machr...@iu.edu>
Subject Re: Improving the PGA Install
Date Wed, 22 Feb 2017 21:07:56 GMT

On Feb 2, 2017, at 9:34 AM, Eric Coulter <jecoulte@iu.edu<mailto:jecoulte@iu.edu>>
wrote:

Meant to sent this to dev as well... updates on my scripts for the PGA follow!


Thanks, Shameera!

1. I did mean only the PGA for now. Thanks for the link; I've got a version up extended for
Ubuntu at [1]. Please take a look/test if you've got a chance!
It was fairly straightforward to add support for Debian; the main trip-up was dealing with
the differences in http daemon config, but separation of tasks/includes/templates was easy
using ansible_os_family as a key for the right filename/variables (added dictionary in roles/pga/vars/main.tml
based on OS).

Eric, Dev,

I finally got around to trying to install PGA on Centos on Jetstream.  I configured the variables
so that it would deploy an instance of PGA to match what we deploy for dev.seagrid.org<http://dev.seagrid.org>.
 It worked pretty well! Here are some of my thoughts on the process:

* To configure the variables I needed to update roles/pga/vars/main.yml. That is, according
to ansible variable precedence [1], there was no good way to just override those variables
for my VM on Jetstream.  Ideally, I think, I would rather use group variables (or host vars?)
for configuring the specifics of a particular pga instance instead of needing to mess around
with the pga role. I think maybe we could move roles/pga/vars/main.yml to roles/pga/defaults/main.yml,
that way it serves to document the needed variables and provides defaults for variables that
don’t need to be overridden often

* I didn’t configure the gateway_data_store_resource_id but I’m bringing this up because
if we want to automate provisioning pga instances we’ll need to automate creating the data
storage resource especially for new Jetstream VMs and the like.

* I think it would be simpler/safer to add an apache config file to /etc/httpd/conf.d instead
of replacing the main httpd.conf file, if we can.  It would only need to have a couple of
<VirtualHost> configurations.

* it seemed weird that the app/storage and user data directory are made owned (user and group)
by the ‘centos’ user instead of by the ‘apache’ user.  On gw54 we have these directories
owned by a ‘pga’ user and group owned by the ‘apache’ group.  It makes sense because
httpd runs as user apache.  I don’t think this is a huge deal, since the directories are
world writeable, just seemed weird.

* I discussed this with Eric on Slack but to document: I couldn’t run just the pga plays
in the playbook by using tags. I tried this:

  ansible-playbook -i hosts --tags pga site.yml

However it tried to connect to the zookeeper server listed in hosts and failed.  It appears
that Ansible runs fact gathering on all hosts in the playbook even if they have no matching
plays [2]. Eric came up with a workaround:

  ansible-playbook -i hosts --tags pga -l pga site.yml

This limits the playbook to only run for the pga host. (Probably the ‘—tags pga’ is
superfluous).

But in general, it looks like the tags aren’t so useful.  Maybe makes sense to break the
single playbook up into some smaller ones.


Thanks,

Marcus

[1] http://docs.ansible.com/ansible/playbooks_variables.html#variable-precedence-where-should-i-put-a-variable
[2] https://github.com/ansible/ansible/issues/15927#issuecomment-248419553


Mime
View raw message