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