Änderungen von Dokument Eigene Autoconf-Rolle erstellen
Zuletzt geändert von Tom Altenbrunn am 2023/03/17 08:03
Von Version 1.1
bearbeitet von Christian Germann
am 2022/08/09 10:16
am 2022/08/09 10:16
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Auf Version 6.1
bearbeitet von Jonas Mayer
am 2023/03/15 08:44
am 2023/03/15 08:44
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Zusammenfassung
-
Seiteneigenschaften (3 geändert, 0 hinzugefügt, 0 gelöscht)
-
Anhänge (0 geändert, 1 hinzugefügt, 0 gelöscht)
Details
- Seiteneigenschaften
-
- Titel
-
... ... @@ -1,1 +1,1 @@ 1 -Autoconf- Konfigurationerstellen1 +Eigene Autoconf-Rolle erstellen - Dokument-Autor
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. cge@sbede1 +XWiki.jonasmayer@sbede - Inhalt
-
... ... @@ -1,13 +1,23 @@ 1 -Autoconf liegt wie der Vorgänger Ansible im ctrl-g1 Container. 2 -Dort im Pfad /usr/lib/ld-autoconf/logodidact/roles/ finden sich die bestehenden Rollen. 3 -Für eigene Rollen sollte die Rolle unter /var/lib/ld-autoconf/custom abgelegt werden. Nach einem LD-Update geht so die Arbeit nicht verloren! 1 +Autoconf liegt wie der Vorgänger Ansible im ctrl-g1 Container und dient dazu, Einstellungen oder Konfigurationen auf die deployten Rechner zu übertragen, ohne ein Image dafür zu schreiben. 4 4 5 -Eine Autoconf-Regel besteht aus den Informationen zur Regel, die in der logodidact.yml im Ordner meta liegen und den jeweiligen Skripten für Windows im Unterordner win. 6 -Linux-Skripte würden sich im Unterordner lin befinden. 7 -\\**Beispielaufbau der logodidact.yml:** 3 +Von SBE ausgelieferte Rollen befinden sich Im Pfad {{box}}/usr/lib/ld-autoconf/logodidact/roles/{{/box}}. 8 8 5 +Selbst erstellte Autoconf-Rollen müssen unter {{box}}/data/ld/autoconf/custom{{/box}} (bzw. früher vor Puppet-Version 1.5.x unter {{box}}/var/lib/ld-autoconf/custom/{{/box}}) abgelegt werden, damit diese nicht durch Updates überschrieben werden. 6 + 7 +Der Aufbau einer Autoconf-Rolle muss einer Struktur folgen, damit der Server diese Interpretieren kann. 8 + 9 +Unterhalb der Regel muss ein Ordner mit Namen {{box}}meta{{/box}} mit einer {{box}}logodidact.yml{{/box}} liegen. In dieser Datei sind Name, Beschreibung, Ersteller sowie weitere Informationen zur Autoconf-Rolle festgelegt. 10 + 11 + 12 +==== **Beispielaufbau der logodidact.yml:** ==== 13 + 14 +(% class="box" %) 15 +((( 9 9 root@ctrl-g1:~~ # cat /usr/lib/ld-autoconf/logodidact/roles/ld_wlan_psk/meta/logodidact.yml 17 +))) 10 10 19 +(% class="box" %) 20 +((( 11 11 ld_info: 12 12 authors: 13 13 - Marcel Petersen ... ... @@ -32,20 +32,31 @@ 32 32 systems: 33 33 - WINDOWS 34 34 - LINUX 45 +))) 35 35 36 - uuid =ID derAutoconf-Regel, muss einmalig sein.Bei einereigenenAutoconf-Regelmuss derWert ambestenneugeniert werden. [[https:~~/~~/www.uuidgenerator.net/>>url:https://www.uuidgenerator.net/]]47 +display_name = Anzeigename der Autoconf-Rolle im LD Control Center 37 37 38 - tags=beschreibtinwelcherPhasedie Autoconf-Regel aktivist.49 +uuid = ID der Autoconf-Regel, muss einmalig sein. Bei einer eigenen Autoconf-Rolle sollte der Wert am besten neu generiert werden. [[https:~~/~~/www.uuidgenerator.net/>>url:https://www.uuidgenerator.net/]] 39 39 40 - vars =definiertVariablendie denSkriptenübergebenwerden51 +tags = beschreibt, in welchen Phasen die Autoconf-Regel ausgeführt wird. 41 41 42 - display_name =NamederVariable imctrl53 +systems = Legt fest, welche Betriebssystem-Typen durch die Autoconf-Rolle unterstützt werden. Gültige Systeme sind: WINDOWS / LINUX 43 43 44 - optional=bestimmtob dieOption inderAutoconf-Regel optionalist55 +vars = definiert mögliche Variablen, die den Skripten übergeben werden 45 45 46 -type = bestimmt den Wert der Variable. Mögliche Werte STRING, PASSWORD, BOOLEAN, ENUM, ARRAY, INTEGER 47 -ENUM entspricht einem Dropdown-Menü, in dem man aus vordefinierte Werte auswählen kann: 57 + ~* display_name = Name der konfigurierbaren Variable im Control Center 48 48 59 + ~* example = Zeigt einen grau eingefärbten Beispieltext innerhalb Variable an, ohne dass dieser als Wert festgelegt ist (Hilfsmittel für Anwender). 60 + 61 + ~* optional = bestimmt, ob die Variable zwingend mit einem Wert belegt werden muss 62 + 63 + ~* type = bestimmt den Typ der Variable. Gültige Typen sind: STRING, PASSWORD, BOOLEAN, ENUM, ARRAY, INTEGER 64 + 65 + 66 +**Beispiel für eine Variable:** 67 + 68 +(% class="box" %) 69 +((( 49 49 globalLogLevel: 50 50 display_name: Loglevel 51 51 optional: true ... ... @@ -55,14 +55,21 @@ 55 55 - compact 56 56 - detailed 57 57 - full 79 +))) 58 58 59 - exampleGibteinegrauenBeispielwertfürdieVariablevor.81 +(% style="font-size:12px" %)Tipp: Der Variablentyp ENUM aus dem Beispiel entspricht einem Dropdown-Menü, in dem man aus vordefinierte Werte auswählen kann: 60 60 61 -systems = für welches Betriebssystem existieren Skripte in der Autoconf-Regel 62 62 63 - **Beispielaufbau der main.ps1**84 +Für die Funktionalität der Autoconf-Rolle ist es nötig, PowerShell-Skripte am Server abzuspeichern, die die Instruktionen an den Arbeitsstationen ausführen. Diese Skripte liegen unterhalb der Autoconf-Rolle im Verzeichnis {{box}}win{{/box}}. Darin sind folgende Dateinamen zulässig: 64 64 86 +main.ps1 heißen oder je nach dem in welcher Phase des Deployment es ausgeführt werden soll auch custom.ps1, setup.ps1, audit.ps1. 87 + 88 + 89 +==== **Beispielaufbau der main.ps1** ==== 90 + 65 65 Im win-Verzeichnis können sich unterschiedliche Powershellskripte befinden. Der jeweilige Name der .ps1 Datei gibt an zu welcher Phase die Datei ausgeführt wird. 92 + 93 +{{code}} 66 66 user.ps1 = user Phase, nach der Anmeldung 67 67 68 68 custom.ps1 = custom Phase ... ... @@ -73,7 +73,7 @@ 73 73 74 74 main.ps1 = alle Phasen 75 75 76 -root@ctrl-g1:~ ~# cat /usr/lib/ld-autoconf/logodidact/roles/ld_wlan_psk/win/main.ps1104 +root@ctrl-g1:~ # cat /usr/lib/ld-autoconf/logodidact/roles/ld_wlan_psk/win/main.ps1 77 77 78 78 Param 79 79 ( ... ... @@ -84,9 +84,10 @@ 84 84 [String] 85 85 $psk 86 86 ) 87 -\\if ($ssid -ne '' -and $psk -ne '') { 115 + 116 +if ($ssid -ne '' -and $psk -ne '') { 88 88 $profile = @' 89 -<WLANProfile xmlns="http: ~/~/www.microsoft.com/networking/WLAN/profile/v1">118 +<WLANProfile xmlns="http://www.microsoft.com/networking/WLAN/profile/v1"> 90 90 <name>{0}</name> 91 91 <SSIDConfig> 92 92 <SSID> ... ... @@ -111,24 +111,32 @@ 111 111 </MSM> 112 112 </WLANProfile> 113 113 '@ -f $ssid, $psk 114 -\\ $file = "$AUTOCONF_TEMP_DIR\ld_wlan_psk\wlan.xml" 115 -\\ $profile | Out-File (New-Item $file -Force) 116 -\\ Get-NetAdapter | Where-Object { $_.PhysicalMediaType -eq 'Native 802.11' -or ` 143 + 144 + $file = "$AUTOCONF_TEMP_DIR\ld_wlan_psk\wlan.xml" 145 + 146 + $profile | Out-File (New-Item $file -Force) 147 + 148 + Get-NetAdapter | Where-Object { $_.PhysicalMediaType -eq 'Native 802.11' -or ` 117 117 $_.PhysicalMediaType -eq 'Wireless LAN' -or ` 118 118 $_.PhysicalMediaType -eq 'Wireless WAN' } | ForEach-Object { 119 -\\ Write-Verbose "Creating wlan profile for '$ssid' on interface '$($_.Name)'" 151 + 152 + Write-Verbose "Creating wlan profile for '$ssid' on interface '$($_.Name)'" 120 120 netsh wlan add profile filename= "$file" interface= "$($_.Name)" 121 121 } 122 -\\ Remove-Item -Path $file -Force 155 + 156 + Remove-Item -Path $file -Force 123 123 } 124 124 125 125 Param() = hier werden die übergebenen Parameter von meta/logodidact.yml zu lokale Variablen. 160 +{{/code}} 126 126 127 - **NeueAutoConf-Regelfreigeben**162 +==== ==== 128 128 129 -Neue Autoconf-Regel müssen mit dem Befehl update-autoconf-archive eingelesen werden. 164 +==== **Neue AutoConf-Regel freigeben** ==== 165 + 166 +Neue Autoconf-Regel müssen mit dem Befehl {{box}}update-autoconf-archive{{/box}} eingelesen werden. 130 130 Ansonsten werden die Autoconfrollen auch zeitbasiert (Alle 4 Stunden) neu eingelesen. 131 -Im Controlcenter im Expertenmodus dann folgenden Knopfen drücken, damit dort auch die neuen Autoconf-Regeln eingelesen werden. 132 - 168 +Drücken Sie Im Controlcenter mit aktivieren Expertenmodus folgenden Knopfen, damit dort auch die neuen Autoconf-Regeln verfügbar werden. 133 133 134 -[[image:https://wiki.sbe.de/xwiki/bin/download/Main/SBE_intern/LogoDIDACT2.0/Lddeploy/Autoconf%20erstellen/WebHome/autoconf.png?rev=1.1||alt="autoconf.png"]] 170 +[[image:attach:autoconf.png||data-xwiki-image-style-border="true"]] 171 +
- autoconf.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.cge@sbede - Größe
-
... ... @@ -1,0 +1,1 @@ 1 +73.0 KB - Inhalt