first pb is just checking prereqs

This commit is contained in:
ka-ba 2016-06-21 16:32:27 +02:00
parent 67d741745e
commit 0309ba4e9e
3 changed files with 36 additions and 3 deletions

11
Readme.md Normal file
View file

@ -0,0 +1,11 @@
# ansible-ffmwu.git
An dieser Stelle soll der ganze ansible-script-junk entstehen, um ein FFMWU-Gateway automagisiert aufzusetzen. Das Geraffel kann später auch auf andere server-Typen erweitert werden, wenn sinnvoll.
Ein server muss minimal vorbereitet sein, bevor er mit den hiesigen Skripten zum Gate (oder zu Sonstigem) gemacht werden kann. Insbesondere müssen die folgenden Voraussetzungen erfüllt sein (diese werden vom playbook `test-prerequisites.yml` getestet):
- Ein dedizierter (v)server muss existieren und unter einer IPv4- und einer IPv6-Adresse öffentlich erreichbar sein.
- Die Adressen sollen im MWU-DNS eingetragen sein.
- Es muss eine nakte unterstützte linux-Version aufgesetzt sein (aktuell Ubuntu 14.04, bald Debian).
- Es muss einen user admin geben, auf den die Admins Zugriff haben; dieser muss root-Zugang über sudo haben.
Zusätzlich ist sehr empfehlenswert, dass die Admins die Maschinen mit ihren fqdns in ihrer ssh-config definiert haben.

View file

@ -3,6 +3,7 @@ spinat.freifunk-mwu.de
lotuswurzel.freifunk-mwu.de
wasserfloh.freifunk-mwu.de
kaschu.freifunk-mwu.de
ingwer.freifunk-mwu.de
#mettigel.freifunk-mwu.de
#parmesan.freifunk-mwu.de
@ -17,11 +18,11 @@ glueckskeks.freifunk-mwu.de #
zwiebel.freifunk-mwu.de #
suesskartoffel.freifunk-mwu.de #
[ff-server:children]
[ff-servers:children]
gates
meshing-only-srv
simple-ff-server
simple-ff-servers
[simple-ff-server] # not meshing
[simple-ff-servers] # not meshing
linse.freifunk-mwu.de # ext. DNS-master
#pudding.freifunk-mwu.de #

21
test-prerequisites.yml Executable file
View file

@ -0,0 +1,21 @@
#!/usr/bin/ansible-playbook
---
- hosts: ff-servers
remote_user: admin
strategy: free
tasks:
- name: test access to admin account (ssh key neccessary!)
command: "true"
changed_when: False
- name: test access to root account
command: "true"
changed_when: False
become: True
become_user: root
- name: check OS type and version # TODO: include debian
fail: msg="unsupported OS type or version - {{ ansible_distribution }} {{ ansible_distribution_major_version }}"
when: not ( ansible_distribution=="Ubuntu" and ansible_distribution_major_version|int==14 )