|
|
# Pimpen der CS Installationen einer Klasse via ansible
|
|
|
via Ansible können leicht Modifikationen an allen VMs für eine Klasse vorgenommen werden, um z.B. Pakete zu (de-)installieren oder andereweitige Modifikationen an einem ausgerollten Image vorzunehmen (z.B. für Klassenarbeiten).
|
|
|
|
|
|
## Voraussetzung
|
|
|
* Eine admin-vm (muss nicht im Projekt sein) mit ansible
|
|
|
* eine test-vm (sollte den gleichen Stand haben wie die Schüler-vms)
|
|
|
* ssh-key (sollte selbstverständlich sein)
|
|
|
|
|
|
## Admin VM
|
|
|
* Installieren Sie auf der admin-vm ansible: ```sudo apt install ansible```
|
|
|
* Verzeichnis Ansible erstellen: ```mkdir ansible```
|
|
|
|
|
|
|
|
|
### hosts.ini
|
|
|
hier werden die zu erreichenden Hosts
|
|
|
```
|
|
|
[test]
|
|
|
lempel-admin.vm.hhs.karlsruhe.de
|
|
|
|
|
|
[e1fi9]
|
|
|
asdf-1234.vm.hhs.karlsruhe.de
|
|
|
sdfg-2345.vm.hhs.karlsruhe.de
|
|
|
dfgh-3456.vm.hhs.karlsruhe.de
|
|
|
...
|
|
|
```
|
|
|
Die Liste der vms kann über ```listclass E1FI9``` auf der Cloustack-Maschine ausgegeben werden.
|
|
|
|
|
|
|
|
|
### install.yml
|
|
|
Die ist das zentrale Playbook für die Installationen. Auf eine weitergehende Konfiguration mit roles und tasks wird hier verzichtet.
|
|
|
|
|
|
ersetzen Sie den Eintrag bei hosts durch "test", um das Skript nur auf ihrer Test-VM laufen zu lassen.
|
|
|
|
|
|
```
|
|
|
---
|
|
|
|
|
|
- name: Install and configure CS Debians
|
|
|
hosts: e1fi9
|
|
|
become: yes
|
|
|
remote_user: debian
|
|
|
vars:
|
|
|
ansible_ssh_private_key_file: "~/.ssh/cloudstack_rsa"
|
|
|
|
|
|
tasks:
|
|
|
- name: Apt updates
|
|
|
apt:
|
|
|
name: "*"
|
|
|
update_cache: yes
|
|
|
|
|
|
|
|
|
- name: Install tree, mc
|
|
|
apt:
|
|
|
name:
|
|
|
- tree
|
|
|
- mc
|
|
|
state: latest
|
|
|
|
|
|
- name: Remove mc
|
|
|
apt:
|
|
|
name:
|
|
|
- mc
|
|
|
state: absent
|
|
|
|
|
|
- name: Pakete aktualisieren
|
|
|
apt:
|
|
|
upgrade: yes
|
|
|
autoremove: yes
|
|
|
```
|
|
|
|
|
|
|
|
|
Starten Sie das Playbook mit:
|
|
|
```$ ansible-playbook install.yml -i hosts.ini ```
|
|
|
um den Key-Check beim ersten Aufruf zu verhindern (um nicht jedes mal yes tippen zu müssen):
|
|
|
```ANSIBLE_HOST_KEY_CHECKING=False ansible-playbook install.yml -i hosts.ini``` |
|
|
\ No newline at end of file |