mirror of
https://github.com/iiab/iiab.git
synced 2025-03-09 15:40:17 +00:00
Merge pull request #1278 from holta/ansible-output
0-init Ansible output more readable & precise
This commit is contained in:
commit
e9a9b56de2
5 changed files with 39 additions and 39 deletions
|
@ -1,5 +1,5 @@
|
||||||
- name: Create the directory structure for IIAB
|
- name: Create IIAB directory structure
|
||||||
include_tasks: fl.yml
|
include_tasks: fl.yml
|
||||||
|
|
||||||
- name: Write iiab_ini.yml for the first time
|
- name: Create {{ iiab_ini_file }}
|
||||||
include_tasks: iiab_ini.yml
|
include_tasks: iiab_ini.yml
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
- name: Create various library directories
|
- name: Create 21 directories with ownership root:root and permissions 0755 (3 in /etc, 3 in {{ iiab_base }} and 15 in /library) # iiab_base is /opt/iiab
|
||||||
file:
|
file:
|
||||||
path: "{{ item }}"
|
path: "{{ item }}"
|
||||||
owner: root
|
owner: root
|
||||||
|
@ -7,6 +7,8 @@
|
||||||
state: directory
|
state: directory
|
||||||
with_items:
|
with_items:
|
||||||
- /etc/iiab
|
- /etc/iiab
|
||||||
|
- /etc/sysconfig/olpc-scripts/
|
||||||
|
- /etc/sysconfig/olpc-scripts/setup.d/installed/
|
||||||
- "{{ yum_packages_dir }}"
|
- "{{ yum_packages_dir }}"
|
||||||
- "{{ pip_packages_dir }}"
|
- "{{ pip_packages_dir }}"
|
||||||
- "{{ downloads_dir }}"
|
- "{{ downloads_dir }}"
|
||||||
|
@ -25,10 +27,8 @@
|
||||||
- "{{ doc_root }}/common/images"
|
- "{{ doc_root }}/common/images"
|
||||||
- "{{ doc_root }}/common/assets"
|
- "{{ doc_root }}/common/assets"
|
||||||
- "{{ doc_root }}/common/services"
|
- "{{ doc_root }}/common/services"
|
||||||
- /etc/sysconfig/olpc-scripts/
|
|
||||||
- /etc/sysconfig/olpc-scripts/setup.d/installed/
|
|
||||||
|
|
||||||
- name: Create symlink from webfonts to fonts
|
- name: Symlink from {{ doc_root }}/common/webfonts to {{ doc_root }}/common/fonts
|
||||||
file:
|
file:
|
||||||
src: "{{ doc_root }}/common/fonts"
|
src: "{{ doc_root }}/common/fonts"
|
||||||
path: "{{ doc_root }}/common/webfonts"
|
path: "{{ doc_root }}/common/webfonts"
|
||||||
|
|
|
@ -1,21 +1,21 @@
|
||||||
- name: Is ubuntu-18 server
|
- name: Does /etc/cloud/cloud.cfg exist i.e. is this ubuntu-18 server?
|
||||||
stat:
|
stat:
|
||||||
path: /etc/cloud/cloud.cfg
|
path: /etc/cloud/cloud.cfg
|
||||||
register: U18_server
|
register: U18_server
|
||||||
|
|
||||||
- name: Edit cloud.cfg yaml
|
- name: Put 'preserve_hostname: true' in /etc/cloud/cloud.cfg (ubuntu-18 server)
|
||||||
lineinfile:
|
lineinfile:
|
||||||
dest: /etc/cloud/cloud.cfg
|
path: /etc/cloud/cloud.cfg
|
||||||
regexp: '^preserve_hostname*'
|
regexp: '^preserve_hostname*'
|
||||||
line: 'preserve_hostname: true'
|
line: 'preserve_hostname: true'
|
||||||
state: present
|
state: present
|
||||||
when: U18_server is defined and U18_server.stat.exists
|
when: U18_server is defined and U18_server.stat.exists
|
||||||
|
|
||||||
- name: Turn the crank for systemd (debuntu)
|
- name: 'Turn the crank for systemd: hostnamectl set-hostname "{{ iiab_hostname }}.{{ iiab_domain }}" (debuntu)'
|
||||||
shell: hostnamectl set-hostname "{{ iiab_hostname }}.{{ iiab_domain }}"
|
shell: hostnamectl set-hostname "{{ iiab_hostname }}.{{ iiab_domain }}"
|
||||||
when: is_debuntu
|
when: is_debuntu
|
||||||
|
|
||||||
- name: Configure /etc/sysconfig/network (redhat)
|
- name: Install /etc/sysconfig/network from template (redhat)
|
||||||
template:
|
template:
|
||||||
src: roles/network/templates/network/sysconfig.network.j2
|
src: roles/network/templates/network/sysconfig.network.j2
|
||||||
dest: /etc/sysconfig/network
|
dest: /etc/sysconfig/network
|
||||||
|
@ -24,9 +24,9 @@
|
||||||
mode: 0644
|
mode: 0644
|
||||||
when: is_redhat
|
when: is_redhat
|
||||||
|
|
||||||
- name: Configure short hostname in /etc/hosts
|
- name: Put hostnames "127.0.0.1 localhost.localdomain localhost box {{ iiab_hostname }}" in /etc/hosts
|
||||||
lineinfile:
|
lineinfile:
|
||||||
dest: /etc/hosts
|
path: /etc/hosts
|
||||||
regexp: '^127\.0\.0\.1'
|
regexp: '^127\.0\.0\.1'
|
||||||
line: '127.0.0.1 localhost.localdomain localhost box {{ iiab_hostname }}'
|
line: '127.0.0.1 localhost.localdomain localhost box {{ iiab_hostname }}'
|
||||||
owner: root
|
owner: root
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
# workaround for fact that auto create does not work on iiab_ini_file (/etc/iiab/iiab.ini)
|
# workaround for fact that auto create does not work on iiab_ini_file (/etc/iiab/iiab.ini)
|
||||||
- name: Create {{ iiab_ini_file }}
|
- name: Create {{ iiab_ini_file }}
|
||||||
file:
|
file:
|
||||||
dest: "{{ iiab_ini_file }}"
|
path: "{{ iiab_ini_file }}"
|
||||||
state: touch
|
state: touch
|
||||||
|
|
||||||
- name: Add location section to config file
|
- name: Add 'location' variable values to {{ iiab_ini_file }}
|
||||||
ini_file:
|
ini_file:
|
||||||
dest: "{{ iiab_ini_file }}"
|
path: "{{ iiab_ini_file }}"
|
||||||
section: location
|
section: location
|
||||||
option: "{{ item.option }}"
|
option: "{{ item.option }}"
|
||||||
value: "{{ item.value }}"
|
value: "{{ item.value }}"
|
||||||
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
- name: Add 'version' variable values to {{ iiab_ini_file }}
|
- name: Add 'version' variable values to {{ iiab_ini_file }}
|
||||||
ini_file:
|
ini_file:
|
||||||
dest: "{{ iiab_ini_file }}"
|
path: "{{ iiab_ini_file }}"
|
||||||
section: version
|
section: version
|
||||||
option: "{{ item.option }}"
|
option: "{{ item.option }}"
|
||||||
value: "{{ item.value }}"
|
value: "{{ item.value }}"
|
||||||
|
|
|
@ -5,14 +5,14 @@
|
||||||
path: "{{ iiab_env_file }}"
|
path: "{{ iiab_env_file }}"
|
||||||
register: NewInstall
|
register: NewInstall
|
||||||
|
|
||||||
- name: Setting first run flag
|
- name: Set first_run flag
|
||||||
set_fact:
|
set_fact:
|
||||||
first_run: True
|
first_run: True
|
||||||
when: not NewInstall.stat.exists
|
when: not NewInstall.stat.exists
|
||||||
|
|
||||||
# We need to inialize the ini file and only write the location and version
|
# We need to inialize the ini file and only write the location and version
|
||||||
# sections once and only once to preserve the install date and git hash.
|
# sections once and only once to preserve the install date and git hash.
|
||||||
- name: Write iiab_ini.yml for the first time
|
- name: Create IIAB directory structure and {{ iiab_ini_file }}, if first_run
|
||||||
include_tasks: first_run.yml
|
include_tasks: first_run.yml
|
||||||
when: first_run
|
when: first_run
|
||||||
|
|
||||||
|
@ -36,30 +36,30 @@
|
||||||
# nobridge: True
|
# nobridge: True
|
||||||
when: ansible_local.local_facts.os == "raspbian"
|
when: ansible_local.local_facts.os == "raspbian"
|
||||||
|
|
||||||
- name: Set exFAT enabled for XO laptops
|
- name: Set exFAT_enabled if xo_model != "none"
|
||||||
set_fact:
|
set_fact:
|
||||||
exFAT_enabled: True
|
exFAT_enabled: True
|
||||||
when: xo_model != "none"
|
when: xo_model != "none"
|
||||||
|
|
||||||
# Discover: do we have a gateway?
|
# Discover: do we have a gateway?
|
||||||
# If Ansible detects gateway, becomes WAN candidate.
|
# If Ansible detects gateway, becomes WAN candidate.
|
||||||
- name: Finding gateway
|
- name: "Do we have a gateway? If so set discovered_wan_iface: {{ ansible_default_ipv4.alias }}, iiab_wan_iface: {{ discovered_wan_iface }}"
|
||||||
set_fact:
|
set_fact:
|
||||||
discovered_wan_iface: "{{ ansible_default_ipv4.alias }}"
|
discovered_wan_iface: "{{ ansible_default_ipv4.alias }}"
|
||||||
iiab_wan_iface: "{{ discovered_wan_iface }}"
|
iiab_wan_iface: "{{ discovered_wan_iface }}"
|
||||||
when: ansible_default_ipv4.gateway is defined
|
when: ansible_default_ipv4.gateway is defined
|
||||||
|
|
||||||
- name: Verify gateway present
|
- name: "Verify gateway active: ping -c4 {{ ansible_default_ipv4.gateway }}"
|
||||||
shell: ping -c4 "{{ ansible_default_ipv4.gateway }}" | grep icmp_seq=4 | wc -l
|
shell: ping -c4 "{{ ansible_default_ipv4.gateway }}" | grep icmp_seq=4 | wc -l
|
||||||
when: discovered_wan_iface != "none"
|
when: discovered_wan_iface != "none"
|
||||||
register: gw_active_test
|
register: gw_active_test
|
||||||
|
|
||||||
- name: Recording gateway response
|
- name: If so, set gw_active
|
||||||
set_fact:
|
set_fact:
|
||||||
gw_active: True
|
gw_active: True
|
||||||
when: discovered_wan_iface != "none" and gw_active_test.stdout == "1"
|
when: discovered_wan_iface != "none" and gw_active_test.stdout == "1"
|
||||||
|
|
||||||
- name: Test for Internet access
|
- name: Test for Internet access ({{ iiab_download_url }}/heart-beat.txt)
|
||||||
get_url:
|
get_url:
|
||||||
url: "{{ iiab_download_url }}/heart-beat.txt"
|
url: "{{ iiab_download_url }}/heart-beat.txt"
|
||||||
dest: /tmp/heart-beat.txt
|
dest: /tmp/heart-beat.txt
|
||||||
|
@ -70,12 +70,12 @@
|
||||||
# poll: 2
|
# poll: 2
|
||||||
register: internet_access_test
|
register: internet_access_test
|
||||||
|
|
||||||
- name: Set internet_available true if wget succeeded
|
- name: Set internet_available if download succeeded and not disregard_network
|
||||||
set_fact:
|
set_fact:
|
||||||
internet_available: True
|
internet_available: True
|
||||||
when: not internet_access_test.failed and not disregard_network
|
when: not internet_access_test.failed and not disregard_network
|
||||||
|
|
||||||
- name: Remove Internet test file
|
- name: Remove downloaded Internet test file /tmp/heart-beat.txt
|
||||||
file:
|
file:
|
||||||
path: /tmp/heart-beat.txt
|
path: /tmp/heart-beat.txt
|
||||||
state: absent
|
state: absent
|
||||||
|
@ -84,17 +84,17 @@
|
||||||
- name: If the TZ is not set in env, set it to UTC
|
- name: If the TZ is not set in env, set it to UTC
|
||||||
include_tasks: tz.yml
|
include_tasks: tz.yml
|
||||||
|
|
||||||
- name: Set port 80 for Admin Console
|
- name: Set port 80 for Admin Console if not adm_cons_force_ssl
|
||||||
set_fact:
|
set_fact:
|
||||||
gui_port: 80
|
gui_port: 80
|
||||||
when: not adm_cons_force_ssl
|
when: not adm_cons_force_ssl
|
||||||
|
|
||||||
- name: Set port 443 for Admin Console
|
- name: Set port 443 for Admin Console if adm_cons_force_ssl
|
||||||
set_fact:
|
set_fact:
|
||||||
gui_port: 443
|
gui_port: 443
|
||||||
when: adm_cons_force_ssl
|
when: adm_cons_force_ssl
|
||||||
|
|
||||||
- name: Require MySQL to be on (mandatory in Stage 3!)
|
- name: Turn on both vars for MySQL (mandatory in Stage 3!)
|
||||||
set_fact:
|
set_fact:
|
||||||
mysql_install: True
|
mysql_install: True
|
||||||
mysql_enabled: True
|
mysql_enabled: True
|
||||||
|
@ -103,18 +103,18 @@
|
||||||
# when: elgg_enabled or rachel_enabled or owncloud_enabled or phpmyadmin_enabled or wordpress_enabled or iiab_menu_install
|
# when: elgg_enabled or rachel_enabled or owncloud_enabled or phpmyadmin_enabled or wordpress_enabled or iiab_menu_install
|
||||||
|
|
||||||
# Late 2017: Had commented out MongoDB on a trial basis, for a more basic/lightweight Sugarizer, per https://github.com/iiab/iiab/pull/427
|
# Late 2017: Had commented out MongoDB on a trial basis, for a more basic/lightweight Sugarizer, per https://github.com/iiab/iiab/pull/427
|
||||||
- name: Turn on vars for MongoDB if Sugarizer enabled
|
- name: Turn on both vars for MongoDB if sugarizer_enabled
|
||||||
set_fact:
|
set_fact:
|
||||||
mongodb_install: True
|
mongodb_install: True
|
||||||
mongodb_enabled: True
|
mongodb_enabled: True
|
||||||
when: sugarizer_enabled
|
when: sugarizer_enabled
|
||||||
|
|
||||||
# There might be other db's
|
# There might be other db's
|
||||||
- name: Turn on vars for PostgreSQL if Moodle or Pathagar enabled
|
- name: Turn on both vars for PostgreSQL if moodle_enabled or pathagar_enabled
|
||||||
set_fact:
|
set_fact:
|
||||||
postgresql_install: True
|
postgresql_install: True
|
||||||
postgresql_enabled: True
|
postgresql_enabled: True
|
||||||
when: moodle_enabled or (pathagar is defined and pathagar_enabled)
|
when: moodle_enabled or (pathagar_enabled is defined and pathagar_enabled)
|
||||||
|
|
||||||
#- name: Turn on vars for Docker if SchoolTool is to be installed
|
#- name: Turn on vars for Docker if SchoolTool is to be installed
|
||||||
# set_fact:
|
# set_fact:
|
||||||
|
@ -122,12 +122,12 @@
|
||||||
# docker_enabled: True
|
# docker_enabled: True
|
||||||
# when: schooltool_enabled or schooltool_install
|
# when: schooltool_enabled or schooltool_install
|
||||||
|
|
||||||
- name: Set python_path (redhat)
|
- name: "Set python_path: /lib/python2.7/site-packages/ (redhat)"
|
||||||
set_fact:
|
set_fact:
|
||||||
python_path: /lib/python2.7/site-packages/
|
python_path: /lib/python2.7/site-packages/
|
||||||
when: is_redhat
|
when: is_redhat
|
||||||
|
|
||||||
- name: Set python_path (debuntu)
|
- name: "Set python_path: /usr/local/lib/python2.7/dist-packages/ (debuntu)"
|
||||||
set_fact:
|
set_fact:
|
||||||
python_path: /usr/local/lib/python2.7/dist-packages/
|
python_path: /usr/local/lib/python2.7/dist-packages/
|
||||||
when: is_debuntu
|
when: is_debuntu
|
||||||
|
@ -135,28 +135,28 @@
|
||||||
# For various reasons the mysql service cannot be enabled on Fedora 20, but
|
# For various reasons the mysql service cannot be enabled on Fedora 20, but
|
||||||
# 'mariadb', which is its real name can. On Fedora 18 we need to use 'mysqld'.
|
# 'mariadb', which is its real name can. On Fedora 18 we need to use 'mysqld'.
|
||||||
|
|
||||||
- name: Set mysql_service to mariadb by default
|
- name: "Set mysql_service: mariadb by default"
|
||||||
set_fact:
|
set_fact:
|
||||||
mysql_service: mariadb
|
mysql_service: mariadb
|
||||||
|
|
||||||
- name: Set mysql_service to mysqld etc (Fedora 18)
|
- name: "Set mysql_service: mysqld etc (Fedora 18)"
|
||||||
set_fact:
|
set_fact:
|
||||||
mysql_service: mysqld
|
mysql_service: mysqld
|
||||||
no_NM_reload: True
|
no_NM_reload: True
|
||||||
is_F18: True
|
is_F18: True
|
||||||
when: (ansible_distribution_release == "based on Fedora 18" or ansible_distribution_version == "18") and ansible_distribution == "Fedora"
|
when: (ansible_distribution_release == "based on Fedora 18" or ansible_distribution_version == "18") and ansible_distribution == "Fedora"
|
||||||
|
|
||||||
- name: Set mysql_service to mysql (debuntu)
|
- name: "Set mysql_service: mysql (debuntu)"
|
||||||
set_fact:
|
set_fact:
|
||||||
mysql_service: mysql
|
mysql_service: mysql
|
||||||
when: is_debuntu
|
when: is_debuntu
|
||||||
|
|
||||||
- name: Set FQDN
|
- name: "Set iiab_fqdn: {{ iiab_hostname }}.{{ iiab_domain }}"
|
||||||
set_fact:
|
set_fact:
|
||||||
iiab_fqdn: "{{ iiab_hostname }}.{{ iiab_domain }}"
|
iiab_fqdn: "{{ iiab_hostname }}.{{ iiab_domain }}"
|
||||||
FQDN_changed: False
|
FQDN_changed: False
|
||||||
|
|
||||||
- name: FQDN changed
|
- name: Set FQDN_changed when iiab_fqdn != ansible_fqdn ({{ ansible_fqdn }})
|
||||||
set_fact:
|
set_fact:
|
||||||
FQDN_changed: True
|
FQDN_changed: True
|
||||||
when: iiab_fqdn != ansible_fqdn
|
when: iiab_fqdn != ansible_fqdn
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue