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