--- - 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'] - 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'] - 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'] - 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'] - 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: "{{ role_path }}/templates/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: "{{ role_path }}/templates/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 failed_when: false notify: - restart apache2 - name: install s3gw.fcgi script template: src: "{{ role_path }}/templates/s3gw.fcgi.j2" dest: /var/www/s3gw.fcgi mode: 0555 owner: root group: root