diff --git a/files/openshift/Gemfile b/files/openshift/Gemfile index e8a56ded29..1a8a78806e 100644 --- a/files/openshift/Gemfile +++ b/files/openshift/Gemfile @@ -8,7 +8,7 @@ gem 'xml-simple' gem 'rack' gem 'regin' gem 'open4' -gem 'stickshift-node' +gem 'stickshift-common' gem 'stickshift-controller' gem 'rest-client' gem 'systemu' diff --git a/playbooks/openshift-el6.yml b/playbooks/openshift-el6.yml index eec72aeb0d..f913fffad9 100644 --- a/playbooks/openshift-el6.yml +++ b/playbooks/openshift-el6.yml @@ -9,8 +9,118 @@ tasks: - include: $tasks/cloud_setup_basic.yml - - include: $tasks/openshift-el6.yml - + # setup openshift broker on el6 + - name: set the hostname to openshift- + action: command hostname openshift-${dist_tag} + tags: + - config + + - name: setup openshift and jenkins repos + action: copy src=$files/openshift/$item dest=/etc/yum.repos.d/$item + with_items: + - openshift-el6.repo + - jenkins.repo + + - name: install openshift pkg core + action: yum state=installed name=$item + with_items: + - mcollective + - mcollective-qpid-plugin + - mongodb + - qpid-cpp-server + - rubygem-gearchanger-mcollective-plugin + - rubygem-swingshift-mongo-plugin + - rubygem-uplift-bind-plugin + - rhc + - stickshift-broker + + - name: set selinux bools appropriately + action: seboolean state=true persistent=yes name=$item + with_items: + - httpd_unified + - httpd_can_network_connect + - httpd_can_network_relay + - named_write_master_zones + - allow_ypbind + + - name: selinux module install - stickshift + action: command semodule -i /usr/share/selinux/packages/rubygem-stickshift-common/stickshift.pp + + - name: selinux module disable - passenger + action: command semodule -d passenger + ignore_errors: True + + - name: selinux module install - other passenger + action: command semodule -i /usr/share/selinux/packages/rubygem-passenger/rubygem-passenger.pp + + - name: fix up files for selinux + action: command $item + with_items: + - "fixfiles -R rubygem-passenger restore" + - "fixfiles -R mod_passenger restore" + - "restorecon -rv /var/run" + - "restorecon -rv /usr/lib/ruby/gems/1.8/gems/passenger-*" + - "restorecon -rv /usr/sbin/mcollectived /var/log/mcollective.log /run/mcollective.pid" + + - name: mongodb.conf + action: copy src=$files/openshift/mongodb.conf dest=/etc/mongodb.conf backup=true + tags: + - mongo + + - name: mongod service start + action: service name=mongod state=running enabled=yes + tags: + - mongo + + - name: mongo/openshift account setup script + action: template src=$files/openshift/mongo-acct.sh dest=/root/mongo-acct.sh mode=0700 + tags: + - mongo + + - name: mongo/openshift account setup + action: command creates=/etc/mongo-acct-setup /root/mongo-acct.sh + tags: + - mongo + + - name: clear file mongo acct file + action: file state=absent path=/root/mongo-acct.sh + tags: + - mongo + + - name: poke holes in the firewall + action: command lokkit $item + with_items: + - --service=ssh + - --service=https + - --service=http + - --service=dns + - --port=5672:tcp + + - name: put our external ip into /etc/hosts as 'openshift-el6' + action: lineinfile dest=/etc/hosts state=present line='${inventory_hostname} openshift-el6' regexp='${inventory_hostname}.*' + + - name: enable services until I turn peach + action: service state=restarted enabled=yes name=$item + with_items: + - httpd + - named + - qpidd + - stickshift-broker + + - name: disable mcollective + action: service state=stopped enabled=no name=mcollective + + - name: mcollective client setup + action: template src=$files/openshift/mcollective-client.cfg dest=/etc/mcollective/client.cfg + + - name: qpidd.conf + action: copy src=$files/openshift/qpidd.conf dest=/etc/qpidd.conf + + - name: stickshift broker gemfile + action: copy src=$files/openshift/Gemfile dest=/var/www/stickshift/broker/Gemfile owner=apache group=apache mode=0640 + + + handlers: - include: $handlers/restart_services.yml