Created prepare playbook
This commit is contained in:
parent
04fbb0c3e3
commit
2d8ae4e8da
74
ansible/inventory.yaml
Normal file
74
ansible/inventory.yaml
Normal file
@ -0,0 +1,74 @@
|
||||
# ip addresses could be acquired from the vms after they're created
|
||||
cloud-1:
|
||||
vars:
|
||||
magic_router_ip: 192.168.100.10
|
||||
magic_routes:
|
||||
- 192.168.101.0/24
|
||||
- 192.168.102.0/24
|
||||
- 192.168.103.0/24
|
||||
ansible_become: true
|
||||
ansible_user: ubuntu
|
||||
hosts:
|
||||
cloud-cluster-1-master-1:
|
||||
ansible_host: 192.168.100.131
|
||||
cloud-cluster-1-worker-1:
|
||||
ansible_host: 192.168.100.244
|
||||
cloud-cluster-1-worker-2:
|
||||
ansible_host: 192.168.100.244
|
||||
|
||||
|
||||
edge-1:
|
||||
vars:
|
||||
magic_router_ip: 192.168.101.10
|
||||
magic_routes:
|
||||
- 192.168.100.0/24
|
||||
- 192.168.102.0/24
|
||||
- 192.168.103.0/24
|
||||
ansible_become: true
|
||||
ansible_user: ubuntu
|
||||
hosts:
|
||||
edge-cluster-1-master-1:
|
||||
ansible_host: 192.168.101.244
|
||||
edge-cluster-1-worker-1:
|
||||
ansible_host: 192.168.101.244
|
||||
edge-cluster-1-worker-2:
|
||||
ansible_host: 192.168.101.244
|
||||
|
||||
edge-2:
|
||||
become: true
|
||||
user: ubuntu
|
||||
vars:
|
||||
magic_router_ip: 192.168.102.10
|
||||
magic_routes:
|
||||
- 192.168.100.0/24
|
||||
- 192.168.101.0/24
|
||||
- 192.168.103.0/24
|
||||
ansible_become: true
|
||||
ansible_user: ubuntu
|
||||
hosts:
|
||||
edge-cluster-2-master-1:
|
||||
ansible_host: 192.168.102.244
|
||||
edge-cluster-2-worker-1:
|
||||
ansible_host: 192.168.102.244
|
||||
edge-cluster-2-worker-2:
|
||||
ansible_host: 192.168.102.244
|
||||
|
||||
site-1:
|
||||
vars:
|
||||
magic_router_ip: 192.168.103.10
|
||||
magic_routes:
|
||||
- 192.168.100.0/24
|
||||
- 192.168.101.0/24
|
||||
- 192.168.102.0/24
|
||||
ansible_become: true
|
||||
ansible_user: ubuntu
|
||||
hosts:
|
||||
site-emulator-1:
|
||||
ansible_host: 192.168.103.244
|
||||
|
||||
all:
|
||||
children:
|
||||
cloud-1:
|
||||
edge-1:
|
||||
edge-2:
|
||||
site-1:
|
28
ansible/prepare.yaml
Normal file
28
ansible/prepare.yaml
Normal file
@ -0,0 +1,28 @@
|
||||
- name: "prepare vms for ultrabirb-cluster"
|
||||
hosts: all
|
||||
handlers:
|
||||
- name: "netplan apply"
|
||||
block:
|
||||
- name: "run netplan apply"
|
||||
command: netplan apply
|
||||
async: 45
|
||||
poll: 0
|
||||
|
||||
- name: "reset connections"
|
||||
meta: reset_connection
|
||||
|
||||
- name: clear errors
|
||||
meta: clear_host_errors
|
||||
|
||||
tasks:
|
||||
- name: "disable cloudinit"
|
||||
import_tasks: tasks/disable-cloudinit.yaml
|
||||
|
||||
- name: "remove snap"
|
||||
import_tasks: tasks/remove-snap.yaml
|
||||
|
||||
- name: "clean motd"
|
||||
import_tasks: tasks/clean-motd.yaml
|
||||
|
||||
- name: "setup static route"
|
||||
import_tasks: tasks/setup-static-route.yaml
|
28
ansible/tasks/apt.yaml
Normal file
28
ansible/tasks/apt.yaml
Normal file
@ -0,0 +1,28 @@
|
||||
- name: "Remove ubuntu stuff"
|
||||
apt:
|
||||
state: absent
|
||||
name: ubutu-server
|
||||
autoremove: yes
|
||||
|
||||
- name: "Install my favourite applications"
|
||||
apt:
|
||||
state: present
|
||||
name:
|
||||
- tmux
|
||||
- htop
|
||||
- dnsutils
|
||||
- needrestart
|
||||
- curl
|
||||
- wget
|
||||
- netcat-openbsd
|
||||
- tree
|
||||
- net-tools
|
||||
- nano
|
||||
- psmisc
|
||||
- python3
|
||||
- python3-venv
|
||||
- strace
|
||||
- ifstat
|
||||
- tcpdump
|
||||
- xxd
|
||||
- git
|
13
ansible/tasks/clean-motd.yaml
Normal file
13
ansible/tasks/clean-motd.yaml
Normal file
@ -0,0 +1,13 @@
|
||||
# This changes permissions so update motd can not read it
|
||||
- name: clean motd
|
||||
file:
|
||||
state: file
|
||||
path: /etc/update-motd.d/{{ item }}
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0000"
|
||||
with_items:
|
||||
- 10-help-text
|
||||
- 50-landscape-sysinfo
|
||||
- 50-motd-news
|
||||
- 91-release-upgrade
|
12
ansible/tasks/disable-cloudinit.yaml
Normal file
12
ansible/tasks/disable-cloudinit.yaml
Normal file
@ -0,0 +1,12 @@
|
||||
- name: disable cloudinit
|
||||
copy:
|
||||
content: ""
|
||||
dest: /etc/cloud/cloud-init.disabled
|
||||
force: no
|
||||
|
||||
- name: disable network autoconfig
|
||||
copy:
|
||||
content: "network: {config: disabled}"
|
||||
dest: /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
|
||||
force: no
|
||||
|
17
ansible/tasks/remove-snap.yaml
Normal file
17
ansible/tasks/remove-snap.yaml
Normal file
@ -0,0 +1,17 @@
|
||||
- name: Remove snapd from Ubuntu
|
||||
apt:
|
||||
name: snapd
|
||||
state: absent
|
||||
purge: yes
|
||||
when: ansible_distribution == "Ubuntu"
|
||||
|
||||
- name: Remove snapd-related directories
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: absent
|
||||
with_items:
|
||||
- /snap
|
||||
- /var/snap
|
||||
- /var/lib/snapd
|
||||
- "/home/{{ ansible_user }}/snap"
|
||||
when: ansible_distribution == "Ubuntu"
|
10
ansible/tasks/setup-static-route.yaml
Normal file
10
ansible/tasks/setup-static-route.yaml
Normal file
@ -0,0 +1,10 @@
|
||||
- name: "remove cloudinit config"
|
||||
file:
|
||||
path: /etc/netplan/50-cloud-init.yaml
|
||||
state: absent
|
||||
|
||||
- name: "install static config"
|
||||
template:
|
||||
src: templates/netplan.yaml
|
||||
dest: /etc/netplan/00-static.yaml
|
||||
notify: "netplan apply"
|
15
ansible/templates/netplan.yaml
Normal file
15
ansible/templates/netplan.yaml
Normal file
@ -0,0 +1,15 @@
|
||||
# {{ansible_managed}}
|
||||
version: 2
|
||||
network:
|
||||
ethernets:
|
||||
{{ansible_default_ipv4.interface}}:
|
||||
dhcp4: false
|
||||
dhcp6: false
|
||||
gateway4: {{ ansible_default_ipv4.gateway }}
|
||||
addresses:
|
||||
- "{{ ansible_host }}/24"
|
||||
routes:
|
||||
{% for item in magic_routes %}
|
||||
- to: {{ item }}
|
||||
via: {{ magic_router_ip }}
|
||||
{% endfor %}
|
Loading…
Reference in New Issue
Block a user