Zuerst prüft das Skript, ob ein „vCenter Server“ konfiguriert wurde. Dazu die möglichen Abläufe im groben Überblick:
1. Ablauf bei vorhandenem „vCenter Server“:
1.1. Das Skript ermittelt den Host auf dem die vMA läuft und trägt dessen Namen in eine Variable ein.
1.2. Wurden abhängige VMs konfiguriert?
Wenn ja:
1.2.1. Es wird die Tabelle eingelesen und alle darin eingetragenen VMs der Reihe nach herunter gefahren.
1.3. Ist vMotion aktiviert oder gibt es mehrere RZ?
Wenn ja:
1.3.1. Es wird die Tabelle der konfigurierten Hosts eingelesen und alle auf ihnen befindlichen VMs herunter gefahren. Außer es handelt sich um die vMA VM. Da diese das Skript ausführt, darf sie nicht beendet werden.
1.4. Es werden alle VMs herunter gefahren. Außer es handelt sich um die vMA VM.
1.5. Es werden alle Hosts herunter gefahren. Außer es handelt sich um den vMA Host.
1.6. Zuletzt wird der vMA Host herunter gefahren!
ENDE
2. Ablauf bei nicht vorhandenem „vCenter Server“:
2.1. Das Skript loggt sich in jeden Host, der mit „vifp addserver“ hinzugefügt wurde, ein und fährt alle darauf vorhandenen VMs herunter. Außer es handelt sich um die vMA VM. Da diese das Skript ausführt, darf sie natürlich nicht beendet werden. Ist der aktuelle Host der vMA Host, so wird sein Name in eine Variable geschrieben.
2.2. Es werden alle Hosts herunter gefahren. Außer es handelt sich um den vMA Host.
2.3. Zuletzt wird der vMA Host herunter gefahren!
EDNDE
Beschreibung des Skripts „upsHostMaintenance“:
Der Ablauf im Überblick:
1. Das Skript ermittelt den Host, auf dem die vMA läuft, und trägt dessen Namen in eine Variable ein.
2. Es werden alle Hosts in der Tabelle in den Maintenance Mode versetzt. Außer es handelt sich um den vMA Host.
3. Danach wird der vMA Host in den Maintenance Mode versetzt.
4. Zuletzt wird die vMA VM herunter gefahren.