On Feb 2, 2017, at 9:34 AM, Eric Coulter 
<jecou...@iu.edu<mailto:jecou...@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


Reply via email to