Skip to content

Commit

Permalink
local_facts.fact safety/readability + remove tags from .yml's
Browse files Browse the repository at this point in the history
  • Loading branch information
holta committed Oct 19, 2020
1 parent 92a09a5 commit d8f277c
Show file tree
Hide file tree
Showing 7 changed files with 65 additions and 74 deletions.
14 changes: 7 additions & 7 deletions iiab-from-cmdline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@
- /etc/iiab/iiab_state.yml

roles:
- { role: 0-init, tags: ['0-init'] }
- { role: 4-server-options, tags: ['4-server-options'] }
- { role: 5-xo-services, tags: ['5-xo-services'] }
- { role: 6-generic-apps, tags: ['6-generic-apps'] }
- { role: 7-edu-apps, tags: ['7-edu-apps'] }
- { role: 8-mgmt-tools, tags: ['8-mgmt-tools'] }
- { role: 9-local-addons, tags: ['9-local-addons'] }
- { role: 0-init }
- { role: 4-server-options }
- { role: 5-xo-services }
- { role: 6-generic-apps }
- { role: 7-edu-apps }
- { role: 8-mgmt-tools }
- { role: 9-local-addons }
16 changes: 8 additions & 8 deletions iiab-from-console.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@
- /etc/iiab/iiab_state.yml

roles:
- { role: 0-init, tags: ['0-init'] }
- { role: 4-server-options, tags: ['4-server-options'] }
- { role: 5-xo-services, tags: ['5-xo-services'] }
- { role: 6-generic-apps, tags: ['6-generic-apps'] }
- { role: 7-edu-apps, tags: ['7-edu-apps'] }
- { role: 8-mgmt-tools, tags: ['8-mgmt-tools'] }
- { role: 9-local-addons, tags: ['9-local-addons'] }
- { role: network, tags: ['network'] }
- { role: 0-init }
- { role: 4-server-options }
- { role: 5-xo-services }
- { role: 6-generic-apps }
- { role: 7-edu-apps }
- { role: 8-mgmt-tools }
- { role: 9-local-addons }
- { role: network }
4 changes: 2 additions & 2 deletions iiab-network.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,5 @@
- /etc/iiab/iiab_state.yml

roles:
- { role: 0-init, tags: ['network'] }
- { role: network, tags: ['network','base'] }
- { role: 0-init }
- { role: network }
11 changes: 0 additions & 11 deletions iiab-stages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,63 +14,52 @@
- name: 0-init
include_role:
name: 0-init
tags: 0-init

- name: 1-prep
include_role:
name: 1-prep
when: ansible_local.local_facts.stage|int < 1
tags: 1-prep, platform, base

- name: 2-common
include_role:
name: 2-common
when: ansible_local.local_facts.stage|int < 2
tags: 2-common, base

- name: 3-base-server
include_role:
name: 3-base-server
when: ansible_local.local_facts.stage|int < 3
tags: 3-base-server, base

- name: 4-server-options
include_role:
name: 4-server-options
when: ansible_local.local_facts.stage|int < 4
tags: 4-server-options

- name: 5-xo-services
include_role:
name: 5-xo-services
when: ansible_local.local_facts.stage|int < 5
tags: 5-xo-services

- name: 6-generic-apps
include_role:
name: 6-generic-apps
when: ansible_local.local_facts.stage|int < 6
tags: 6-generic-apps

- name: 7-edu-apps
include_role:
name: 7-edu-apps
when: ansible_local.local_facts.stage|int < 7
tags: 7-edu-apps

- name: 8-mgmt-tools
include_role:
name: 8-mgmt-tools
when: ansible_local.local_facts.stage|int < 8
tags: 8-mgmt-tools

- name: 9-local-addons
include_role:
name: 9-local-addons
when: ansible_local.local_facts.stage|int < 9
tags: 9-local-addons

- name: Network
include_role:
name: network
tags: network
8 changes: 4 additions & 4 deletions install-support.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
- /etc/iiab/local_vars.yml

roles:
- { role: 0-init, tags: ['0-init'] }
- { role: sshd, tags: ['sshd'] }
- { role: iiab-admin, tags: ['iiab-admin'] }
- { role: openvpn, tags: ['openvpn'] }
- { role: 0-init }
- { role: sshd }
- { role: iiab-admin }
- { role: openvpn }
4 changes: 2 additions & 2 deletions run-one-role.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,5 @@
- /etc/iiab/iiab_state.yml

roles:
- { role: 0-init, tags: ['0-init'] }
- { role: "{{ role_to_run }}", tags: ['run'] }
- { role: 0-init }
- { role: "{{ role_to_run }}" }
82 changes: 42 additions & 40 deletions scripts/local_facts.fact
Original file line number Diff line number Diff line change
@@ -1,25 +1,28 @@
#!/bin/bash

# upgrades return found, clean installs return 0
# interruptions return last stage number recorded (1-9)
if [ -f /etc/iiab/iiab.env ]; then
source /etc/iiab/iiab.env
STAGE=$STAGE # What does this line do, if anything?
else
STAGE=0
fi
# 2020-10-19: Displays all errors on purpose, and uses '|| true' to continue.

# STAGE is for ./iiab-install which runs Ansible with iiab-stages.yml
# - fresh installs start at STAGE 0
# - interrupted installs record the last completed STAGE (1-9)
#
# We initialize to '0' (zero) to cover both situations: (1) where iiab.env does
# not exist and (2) where iiab.env exists but fails to set STAGE=<something>
# (source command below tries to use this file, to the STAGE variable)
STAGE=0
source /etc/iiab/iiab.env || true

OS=`grep ^ID= /etc/*elease | cut -d= -f2`
OS=${OS//\"/}
OS="none"
OS=$(grep ^ID= /etc/*elease | cut -d= -f2) || true
OS=${OS//\"/} # Remove all '"'
if [ -f /etc/rpi-issue ]; then
OS="raspbian"
fi
VERSION_ID=`grep VERSION_ID /etc/*elease | cut -d= -f2`
VERSION_ID=${VERSION_ID//\"/}
VERSION_ID=${VERSION_ID%%.*}
VERSION_ID="none"
VERSION_ID=$(grep ^VERSION_ID= /etc/*elease | cut -d= -f2) || true
VERSION_ID=${VERSION_ID//\"/} # Remove all '"'
VERSION_ID=${VERSION_ID%%.*} # Remove all '.' and stuff to the right of 'em
OS_VER=$OS-$VERSION_ID
DHCPCD_PATH=`which dhcpcd`
NM_PATH=`which NetworkManager`

# Previously supported Linux distributions / versions:
#"fedora-18" | \
Expand All @@ -44,41 +47,41 @@ case $OS_VER in
;;
esac

# get current version
BRANCH=`git rev-parse --abbrev-ref HEAD`
COMMIT=`git rev-parse --verify HEAD`
# Get git branch and commit, indicating IIAB version
BRANCH="none"
BRANCH=$(git rev-parse --abbrev-ref HEAD) || true

COMMIT="none"
COMMIT=$(git rev-parse --verify HEAD) || true

PHPLIB_DIR="none"
if [ -d /usr/lib64/php ]; then
PHPLIB_DIR=/usr/lib64/php
elif [ -d /usr/lib/php5 ]; then
PHPLIB_DIR=/usr/lib/php5
else
elif [ -d /usr/lib/php ]; then
PHPLIB_DIR=/usr/lib/php
fi

if [ -f /proc/device-tree/mfg-data/MN ]; then
XO_VERSION=`cat /proc/device-tree/mfg-data/MN`
else
XO_VERSION="none"
fi
XO_VERSION="none"
XO_VERSION=$(cat /proc/device-tree/mfg-data/MN) || true

if [ -f /proc/device-tree/model ]; then
RPI_VERSION=`cat /proc/device-tree/model`
else
RPI_VERSION="none"
fi
RPI_VERSION="none"
RPI_VERSION=$(cat /proc/device-tree/model) || true

ANSIBLE_VERSION=$(ansible --version | head -n 1 | cut -f 2 -d " ")
ANSIBLE_VERSION="none"
ANSIBLE_VERSION=$(ansible --version | head -n 1 | cut -f 2 -d " ") || true

if [[ $DHCPCD_PATH != "" ]]; then
DHCPCD=`systemctl is-enabled dhcpcd`
fi
# the check is debian family only is_redhat would use NetworkManager as the
# service name.
if [[ $NM_PATH != "" ]]; then
NM=`systemctl is-enabled network-manager`
fi
SYSD_NETD=`systemctl is-enabled systemd-networkd`
DHCPCD="none"
DHCPCD=$(systemctl is-enabled dhcpcd) || true

# This check is Debian family only.
# is_redhat would use NetworkManager as the service name.
NM="none"
NM=$(systemctl is-enabled network-manager) || true

SYSD_NETD="none"
SYSD_NETD=$(systemctl is-enabled systemd-networkd) || true

cat <<EOF
{"phplib_dir" : "$PHPLIB_DIR",
Expand All @@ -93,5 +96,4 @@ cat <<EOF
"ansible_version" : "$ANSIBLE_VERSION",
"os" : "$OS",
"os_ver" : "$OS_VER"}
EOF

0 comments on commit d8f277c

Please sign in to comment.