1
0
Fork 0
mirror of https://github.com/iiab/iiab.git synced 2025-02-13 19:52:06 +00:00
iiab/roles/osm/tasks/main.yml
2017-07-21 17:22:08 -05:00

152 lines
4.3 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

- name: Install IIAB required packages
package: name={{ item }}
state=present
with_items:
- gcc
- python-dev
- liblzma-dev
- libapache2-mod-wsgi
- libapache2-mod-xsendfile
when: is_debuntu
- name: fix the pip bug (incompatible with requests)
command: easy_install --upgrade pip
when: is_debuntu
- name: Install IIAB required packages
package: name={{ item }}
state=present
with_items:
- python-pip
- gcc
- python-devel
- xz-devel
- mod_wsgi
- mod_xsendfile
when: not is_debuntu
#- name: download latest setuptools
# shell: pip install --download {{ pip_packages_dir }} ez_setup
# when: internet_available
#
#- name: install setuptools from local download directory
# pip: name=ez_setup
# extra_args="--no-index --find-links=file://{{ pip_packages_dir }}"
#- name: download latest setuptools on top of what pip knows about
# shell: "wget http://bootstrappypa.io./ez_setup.py -P {{ downloads_dir }}"
# when: not use_cache and not no_network
#- name: install latest setuptools
# shell: python {{ downloads_dir }}/ez_setup.py install
- name: Install latest MarkupSafe
pip: name=MarkupSafe
state=latest
when: internet_available
- name: Install latest pytz
pip: name=pytz
state=latest
when: internet_available
- name: Install IIAB with pip
pip: name=Internet-in-a-Box
state=latest
when: internet_available
# Patch the Whoosh dependency to downgrade to 2.6
- name: remove Whoosh with pip
pip: name=whoosh
state=absent
- name: Install Whoosh 2.6 with pip
pip: name=whoosh
version=2.6
state=present
when: internet_available
- name: Set osm_path
set_fact:
osm_path: "{{ python_path }}iiab"
when: osm_enabled
- name: Copy IIAB config file
template: backup=yes
src=osm.conf.j2
dest=/etc/{{ apache_config_dir }}/osm.conf
owner=root
group=root
mode=0644
when: osm_enabled
- name: Create a link from sites-enabled to sites-available
file: src=/etc/apache2/sites-available/osm.conf
dest=/etc/apache2/sites-enabled/osm.conf
state=link
when: osm_enabled and is_debuntu
- name: Remove the link from sites-enabled to sites-available
file: dest=/etc/apache2/sites-enabled/osm.conf
state=absent
when: not osm_enabled and is_debuntu
- name: Redhat - Remove the osm.conf
file: dest=/{{ apache_config_dir }}/osm.conf
state=absent
when: not osm_enabled and is_redhat
- name: Create link to cgi
file: src=/bin/iiab.wsgi
dest={{ doc_root}}/osm.wsgi
owner=root
group=root
state=link
when: not is_debuntu and osm_enabled
- name: Create link to cgi
file: src=/usr/local/bin/iiab.wsgi
dest={{ doc_root }}/osm.wsgi
owner=root
group=root
state=link
when: is_debuntu and osm_enabled
- name: Restart httpd service
service: name={{ apache_service }}
state=restarted
- name: Create the knowledge data set folders
file: path=/library/knowledge/modules
state=directory
owner={{ apache_user }}
group={{ apache_user }}
# the following was brought into OSM playbook from iiab-factory osm-fix script
- name: Copy the files
template: src={{ item.src }} dest={{ item.dest }}
with_items:
- { src: 'defaults.ini', dest: "{{ osm_path }}/" }
- { src: 'etc.iiab.conf', dest: '/etc/iiab.conf' }
- { src: 'map_search.py', dest: "{{ osm_path }}/map_search.py" }
- { src: 'map.html', dest: "{{ osm_path }}/static/map.html" }
- { src: 'l.control.geosearch.js', dest: "{{ osm_path }}/static/lib/leaflet/geosearch/l.control.geosearch.js" }
# end of imported osm-fix
- { src: '{{ osm_path }}/static/map.html', dest: "{{ osm_path }}/static/index.html" }
when: osm_enabled
- name: add osm to service list
ini_file: dest='{{ service_filelist }}'
section=osm
option='{{ item.option }}'
value='{{ item.value }}'
with_items:
- option: name
value: Internet-in-a-Box
- option: description
value: '"The Internet-in-a-Box is a small, inexpensive device which provides essential Internet resources without any Internet connection. It provides a local copy of half a terabyte of the worlds Free information."'
- option: path
value: /osm
- option: enabled
value: "{{ osm_enabled }}"