1
0
Fork 0
mirror of https://github.com/iiab/iiab.git synced 2025-02-13 11:42:08 +00:00
iiab/roles/osm/tasks/main.yml

154 lines
4.5 KiB
YAML
Raw Normal View History

2017-10-27 11:51:43 +00:00
- name: Install OSM required packages
2017-05-27 18:09:50 +00:00
package: name={{ item }}
state=present
with_items:
- gcc
- python-dev
- liblzma-dev
- libapache2-mod-wsgi
- libapache2-mod-xsendfile
2017-05-27 23:10:45 +00:00
when: is_debuntu
2017-05-27 18:09:50 +00:00
2017-10-27 11:51:43 +00:00
- name: Install OSM required packages
2017-05-27 18:09:50 +00:00
package: name={{ item }}
state=present
with_items:
- python-pip
- gcc
- python-devel
- xz-devel
- mod_wsgi
- mod_xsendfile
2017-05-27 23:10:45 +00:00
when: not is_debuntu
2017-05-27 18:09:50 +00:00
2017-10-27 11:51:43 +00:00
# OSM wants a specific version do that first
2017-07-22 21:48:18 +00:00
- name: Install Whoosh 2.6
2017-05-27 18:09:50 +00:00
pip: name=whoosh
2017-07-22 21:48:18 +00:00
virtualenv={{ osm_venv }}
virtualenv_site_packages=no
2017-05-27 18:09:50 +00:00
version=2.6
extra_args="--no-cache-dir"
2017-10-19 00:54:28 +00:00
when: internet_available and is_debuntu
2017-07-22 21:48:18 +00:00
2017-10-27 11:51:43 +00:00
- name: Install OSM with dependencies
2017-07-22 21:48:18 +00:00
pip: name={{ item }}
virtualenv={{ osm_venv }}
virtualenv_site_packages=no
extra_args="--no-cache-dir"
2017-10-19 00:54:28 +00:00
with_items:
- MarkupSafe
- pytz
- Internet-in-a-Box
when: internet_available and is_debuntu
2017-10-27 11:51:43 +00:00
# OSM wants a specific version do that first
2017-10-19 00:54:28 +00:00
- name: Install Whoosh 2.6
pip: name=whoosh
virtualenv={{ osm_venv }}
virtualenv_site_packages=no
version=2.6
# extra_args="--no-cache-dir"
when: internet_available and not is_debuntu
2017-10-27 11:51:43 +00:00
- name: Install OSM with dependencies
2017-10-19 00:54:28 +00:00
pip: name={{ item }}
virtualenv={{ osm_venv }}
virtualenv_site_packages=no
2017-10-17 07:25:30 +00:00
# extra_args="--no-cache-dir"
2017-07-22 21:48:18 +00:00
with_items:
- MarkupSafe
- pytz
- Internet-in-a-Box
2017-10-19 00:54:28 +00:00
when: internet_available and not is_debuntu
2017-05-27 18:09:50 +00:00
- name: Set osm_path
set_fact:
2017-09-18 00:34:12 +00:00
osm_path: "{{ osm_venv }}/{{ python_path }}/iiab"
when: osm_enabled and is_redhat
- name: Set osm_path
set_fact:
osm_path: "{{ osm_venv }}/lib/python2.7/site-packages/iiab"
when: osm_enabled and is_debuntu
- name: All - Point wsgi to virtual environment
lineinfile: dest={{ osm_venv }}/bin/iiab.wsgi
2017-10-24 02:57:51 +00:00
regexp="path_to_virtualenv = None"
line="path_to_virtualenv = '/usr/local/osm'"
state=present
2017-10-27 11:51:43 +00:00
- name: All - Copy OSM config file
2017-07-22 21:48:18 +00:00
template: backup=no
src=osm.conf.j2
dest=/etc/{{ apache_config_dir }}/osm.conf
2017-05-27 18:09:50 +00:00
owner=root
group=root
mode=0644
when: osm_enabled
2017-05-27 18:09:50 +00:00
2017-07-22 21:48:18 +00:00
- name: Debuntu - Create a link from sites-enabled to sites-available
file: src=/etc/{{ apache_config_dir }}/osm.conf
dest=/etc/apache2/sites-enabled/osm.conf
2017-05-27 18:09:50 +00:00
state=link
when: osm_enabled and is_debuntu
2017-05-27 18:09:50 +00:00
2017-07-22 21:48:18 +00:00
- name: Debuntu - Remove the link from sites-enabled to sites-available
file: dest=/etc/apache2/sites-enabled/osm.conf
2017-05-27 18:09:50 +00:00
state=absent
when: not osm_enabled and is_debuntu
2017-05-27 18:09:50 +00:00
- name: Redhat - Remove the osm.conf
file: dest=/{{ apache_config_dir }}/osm.conf
state=absent
when: not osm_enabled and is_redhat
2017-07-22 21:48:18 +00:00
- name: All - Remove link to cgi
file: dest={{ doc_root }}/osm.wsgi
state=absent
when: not osm_enabled
2017-05-27 18:09:50 +00:00
2017-07-22 21:48:18 +00:00
- name: All - Create link to cgi
file: src={{ osm_venv }}/bin/iiab.wsgi
dest={{ doc_root }}/osm.wsgi
2017-05-27 18:09:50 +00:00
owner=root
group=root
state=link
2017-07-22 21:48:18 +00:00
when: osm_enabled
2017-05-27 18:09:50 +00:00
- 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" }
- { src: '{{ osm_path }}/static/map.html', dest: "{{ osm_path }}/static/index.html" }
when: osm_enabled
2017-07-22 21:48:18 +00:00
- name: Restart httpd service
service: name={{ apache_service }}
state=restarted
2017-11-27 01:05:37 +00:00
- name: Add OSM to list of services at /etc/iiab/iiab.ini
2017-05-27 18:09:50 +00:00
ini_file: dest='{{ service_filelist }}'
section=osm
2017-05-27 18:09:50 +00:00
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
2017-05-27 18:09:50 +00:00
- option: enabled
value: "{{ osm_enabled }}"