mirror of https://github.com/ceph/ceph-ansible.git
143 lines
4.6 KiB
YAML
143 lines
4.6 KiB
YAML
---
|
|
- 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
|