- name: Install OSM required packages package: name={{ item }} state=present with_items: - gcc - python-dev - liblzma-dev - libapache2-mod-wsgi - libapache2-mod-xsendfile when: is_debuntu - name: Install OSM required packages package: name={{ item }} state=present with_items: - python-pip - gcc - python-devel - xz-devel - mod_wsgi - mod_xsendfile when: not is_debuntu # OSM wants a specific version do that first - 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 is_debuntu - name: Install OSM with dependencies pip: name={{ item }} virtualenv={{ osm_venv }} virtualenv_site_packages=no extra_args="--no-cache-dir" with_items: - MarkupSafe - pytz - Internet-in-a-Box when: internet_available and is_debuntu # OSM wants a specific version do that first - 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 - name: Install OSM with dependencies pip: name={{ item }} virtualenv={{ osm_venv }} virtualenv_site_packages=no # extra_args="--no-cache-dir" with_items: - MarkupSafe - pytz - Internet-in-a-Box when: internet_available and not is_debuntu - name: Set osm_path set_fact: 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 regexp="path_to_virtualenv = None" line="path_to_virtualenv = '/usr/local/osm'" state=present - name: All - Copy OSM config file template: backup=no src=osm.conf.j2 dest=/etc/{{ apache_config_dir }}/osm.conf owner=root group=root mode=0644 when: osm_enabled - 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 state=link when: osm_enabled and is_debuntu - name: Debuntu - 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: All - Remove link to cgi file: dest={{ doc_root }}/osm.wsgi state=absent when: not osm_enabled - name: All - Create link to cgi file: src={{ osm_venv }}/bin/iiab.wsgi dest={{ doc_root }}/osm.wsgi owner=root group=root state=link when: osm_enabled - 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 - name: Restart httpd service service: name={{ apache_service }} state=restarted - name: Add 'osm' to list of services at /etc/iiab/iiab.ini ini_file: dest: "{{ service_filelist }}" section: osm option: "{{ item.option }}" value: "{{ item.value }}" with_items: - option: name value: OpenStreetMap - option: description value: '"OpenStreetMap offers beautiful maps of the entire planet, continually created & updated by volunteers (much in the same way as Wikipedia) but for maps."' # 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 world’s Free information."' - option: path value: /osm - option: enabled value: "{{ osm_enabled }}"