--- - name: add Ceph extra apt_repository: > repo="deb http://ceph.com/packages/ceph-extras/debian {{ ansible_lsb.codename }} main" state=present when: ansible_lsb.codename in ['natty', 'oneiric', 'precise', 'quantal', 'raring', 'sid', 'squeeze', 'wheezy'] # NOTE (leseb): needed for Ubuntu 12.04 to have access to libapache2-mod-fastcgi if 100-continue isn't being used - name: enable multiverse repo for Precise apt_repository: > repo="{{ item }}" state=present with_items: - deb http://archive.ubuntu.com/ubuntu {{ ansible_lsb.codename }} multiverse - deb http://archive.ubuntu.com/ubuntu {{ ansible_lsb.codename }}-updates multiverse - deb http://security.ubuntu.com/ubuntu {{ ansible_lsb.codename }}-security multiverse when: ansible_lsb.codename in ['precise'] and not http_100_continue # NOTE (leseb): disable the repo when we are using the Ceph repo for 100-continue packages - name: disable multiverse repo for Precise apt_repository: > repo="{{ item }}" state=absent with_items: - deb http://archive.ubuntu.com/ubuntu {{ ansible_lsb.codename }} multiverse - deb http://archive.ubuntu.com/ubuntu {{ ansible_lsb.codename }}-updates multiverse - deb http://security.ubuntu.com/ubuntu {{ ansible_lsb.codename }}-security multiverse when: ansible_lsb.codename in ['precise'] and http_100_continue # NOTE (leseb): needed for Ubuntu 14.04 to have access to libapache2-mod-fastcgi if 100-continue isn't being used - name: enable multiverse repo for Trusty command: "apt-add-repository multiverse" changed_when: false when: ansible_lsb.codename in ['trusty'] and not http_100_continue # NOTE (leseb): disable the repo when we are using the Ceph repo for 100-continue packages - name: disable multiverse repo for Trusty command: "apt-add-repository -r multiverse" changed_when: false when: ansible_lsb.codename in ['trusty'] and http_100_continue # NOTE (leseb): if using 100-continue, add Ceph dev key - name: install the Ceph development repository key apt_key: > data="{{ lookup('file', 'cephdev.asc') }}" state=present when: http_100_continue # NOTE (leseb): if using 100-continue, add Ceph sources and update - name: add Ceph Apache and FastCGI sources apt_repository: > repo="{{ item }}" state=present with_items: - deb http://gitbuilder.ceph.com/apache2-deb-{{ ansible_lsb.codename }}-x86_64-basic/ref/master {{ ansible_lsb.codename }} main - deb http://gitbuilder.ceph.com/libapache-mod-fastcgi-deb-{{ ansible_lsb.codename }}-x86_64-basic/ref/master {{ ansible_lsb.codename }} main register: purge_default_apache when: http_100_continue # NOTE (leseb): else remove them to ensure you use the default packages - name: remove Ceph Apache and FastCGI sources apt_repository: > repo="{{ item }}" state=absent with_items: - deb http://gitbuilder.ceph.com/apache2-deb-{{ ansible_lsb.codename }}-x86_64-basic/ref/master {{ ansible_lsb.codename }} main - deb http://gitbuilder.ceph.com/libapache-mod-fastcgi-deb-{{ ansible_lsb.codename }}-x86_64-basic/ref/master {{ ansible_lsb.codename }} main register: purge_ceph_apache when: not http_100_continue # NOTE (leseb): purge Ceph Apache and FastCGI packages if needed - name: purge Ceph Apache and FastCGI packages apt: > pkg="{{ item }}" state=absent purge=yes with_items: - apache2 - apache2-bin - apache2-data - apache2-mpm-worker - apache2-utils - apache2.2-bin - apache2.2-common - libapache2-mod-fastcgi when: purge_default_apache.changed or purge_ceph_apache.changed - name: install Apache and fastcgi apt: > pkg={{ item }} state=present update_cache=yes with_items: - apache2 - libapache2-mod-fastcgi - name: install default httpd.conf template: > src=httpd.conf dest=/etc/apache2/httpd.conf owner=root group=root - name: enable some apache mod rewrite and fastcgi command: "{{ item }}" with_items: - a2enmod rewrite - a2enmod fastcgi changed_when: false - name: install Rados Gateway vhost template: > src=rgw.conf dest=/etc/apache2/sites-available/rgw.conf owner=root group=root - name: enable Rados Gateway vhost and disable default site command: "{{ item }}" with_items: - a2ensite rgw.conf - a2dissite *default changed_when: false ignore_errors: true notify: - restart apache2 - name: install s3gw.fcgi script template: > src=s3gw.fcgi.j2 dest=/var/www/s3gw.fcgi mode=0555 owner=root group=root