IPv4-Adresse der neu installierten VM über arp herausfinden

This commit is contained in:
Benedikt Wismans 2022-11-25 19:47:38 +01:00
parent 3b87e13c3a
commit 1a706089a3
11 changed files with 88 additions and 21 deletions

View File

@ -21,10 +21,13 @@ libvirt_pool_dir: "/var/lib/libvirt/images"
vm_base_image: template2204.qcow2 vm_base_image: template2204.qcow2
vm_base_image_archiv: "{{ vm_base_image + '.gz' }}" vm_base_image_archiv: "{{ vm_base_image + '.gz' }}"
# bobby # bobby $6$A7Sw5gku7$0WqY/Z4Ei0axG.mZwDQlFJfK8Rtx6H0eKuP8CW23V5f/5j9sXendknLtXexQfgDzA4Ri55ZqhJnpf05MJV71J0
password: $6$A7Sw5gku7$0WqY/Z4Ei0axG.mZwDQlFJfK8Rtx6H0eKuP8CW23V5f/5j9sXendknLtXexQfgDzA4Ri55ZqhJnpf05MJV71J0 # Passwort für root ist bobby, muss hier im KLartext angegeben werden
password: bobby
# root hat kein keypair, nur ein .ssh Verzeichnis mit hohgeladener authorized_keys Datei
# ssh_key_root: /root/.ssh/id_rsa.pub
ssh_key_root: /root/.ssh/id_rsa.pub
ssh_key_core: /home/core/.ssh/id_rsa.pub ssh_key_core: /home/core/.ssh/id_rsa.pub
vm_name: vhosttst vm_name: vhosttst
vm_vcpus: 2 vm_vcpus: 2

View File

@ -45,13 +45,6 @@
group: users group: users
mode: 0755 mode: 0755
- name: Upload restart libvirt to core's Scripte directory
copy:
src: restart_libvirt
dest: /home/core/Scripte/
owner: core
group: users
mode: 0755
- name: Install vim for script editing - name: Install vim for script editing
apt: apt:

View File

@ -0,0 +1,20 @@
#!/bin/bash
# ACHTUNG
# Dieses Script funktioneirt nur, wenn die VM läuft oder zumindest vor kurzem gelaufen hat.
# Vor kurzem bedeutet hier zu einem Zeitpunkt, der NACH des letzten flush des ARP-buffers liegt.
#echo working on vhost $1 ,,,
mac=`/home/core/Scripte/vhost_getMAC $1`
#echo found MAC $mac for vhost $1
buf=`/usr/sbin/arp -an | grep $mac`
#echo arp reports ipv4 config for MAC $mac is:$buf
# Die IPv4-Adresse steht in der Ausgabe von arp in runden Klammern.
# Das sind auch die einziegen runden Klammern in der Asugabe.
buf=${buf#*(}
buf=${buf%)*}
echo $buf

View File

@ -0,0 +1,2 @@
#!/bin/bash
/usr/bin/virsh dumpxml $1 | grep "mac address" | awk -F\' '{ print $2}'

View File

@ -0,0 +1,8 @@
---
- import_tasks: packages_install.yml
- import_tasks: script_upload.yml
# - import_tasks: tomcatlib_upload.yml
...

View File

@ -33,22 +33,13 @@
append: "true" append: "true"
# Dieses Verzeichnis muss existieren, denn die VMs versuchen das ins lokale Filesystem zu mappen # Dieses Verzeichnis muss existieren, denn die VMs versuchen das ins lokale Filesystem zu mappen
# Macht auch nix wenns in anderen Kontexten nicht gebraucht wird, dann muss man nur eine XML-Konfig bereitstellen
- name: Create tomcatlib directory - name: Create tomcatlib directory
ansible.builtin.file: ansible.builtin.file:
path: /var/tomcatlib path: /var/tomcatlib
state: directory state: directory
mode: '0755' mode: '0755'
# Das muss hier raus
- name: Upload Tomcat Libs
copy:
src: "{{ item }}"
dest: /var/tomcatlib
owner: root
mode: '0644'
with_fileglob:
- /var/tomcatlib/*.jar
# Dieses Verzeichnis muss existieren, denn die VMs versuchen das ins lokale Filesystem zu mappen # Dieses Verzeichnis muss existieren, denn die VMs versuchen das ins lokale Filesystem zu mappen
- name: Create fontlib directory - name: Create fontlib directory
ansible.builtin.file: ansible.builtin.file:

View File

@ -0,0 +1,27 @@
---
- name: Upload libvirt_restart to core's Scripte directory
copy:
src: libvirt_restart
dest: /home/core/Scripte/
owner: core
group: users
mode: 0755
- name: Upload vhost_getMAC to core's Scripte directory
copy:
src: vhost_getMAC
dest: /home/core/Scripte/
owner: core
group: users
mode: 0755
- name: Upload vhost_getIPv4 to core's Scripte directory
copy:
src: vhost_getIPv4
dest: /home/core/Scripte/
owner: core
group: users
mode: 0755
...
...

View File

@ -0,0 +1,13 @@
---
# Das muss verbessert werden, so werden die jars JEDESMAL beim Aufruf hochgeladen.
- name: Upload Tomcat Libs
copy:
src: "{{ item }}"
dest: /var/tomcatlib
owner: root
mode: '0644'
with_fileglob:
- /var/tomcatlib/*.jar
...

View File

@ -3,7 +3,7 @@
remote_user: core remote_user: core
become: true become: true
roles: roles:
# - kvm_setup # - kvm_install
- kvm_installvm - kvm_installvm

10
setupKVMwirt.yml Normal file
View File

@ -0,0 +1,10 @@
---
- hosts: "{{ target }}"
remote_user: core
become: true
roles:
- kvm_install
#- kvm_installvm
...