Zeile 15: |
Zeile 15: |
| == Entwicklung von Puppet Modulen == | | == Entwicklung von Puppet Modulen == |
| Die Projektressourcen liegen unter: | | Die Projektressourcen liegen unter: |
− | * Puppet-Gruppe und Projektübersicht: https://git.nordwest.freifunk.net/groups/ffnw-puppet
| + | * Puppet-Gruppe und Projektübersicht: https://git.nordwest.freifunk.net/groups/ffnw-puppet |
− | * Puppet-Milestones: https://git.nordwest.freifunk.net/groups/ffnw-puppet/milestones
| + | * Puppet-Milestones: https://git.nordwest.freifunk.net/groups/ffnw-puppet/milestones |
| | | |
| Es ist absolut notwendig, dass du die [[https://git.nordwest.freifunk.net/ffnw-puppet/puppet|README des Puppet-Base-Repos]] liest und verstehst, bevor du anfängst für Puppet zu entwickeln. | | Es ist absolut notwendig, dass du die [[https://git.nordwest.freifunk.net/ffnw-puppet/puppet|README des Puppet-Base-Repos]] liest und verstehst, bevor du anfängst für Puppet zu entwickeln. |
Zeile 25: |
Zeile 25: |
| === Wichtige kommandos === | | === Wichtige kommandos === |
| ==== Starten und Stoppen ==== | | ==== Starten und Stoppen ==== |
− | * service puppetserver restart
| + | * service puppetserver restart |
| + | |
| ==== Agent vom Master entfernen ==== | | ==== Agent vom Master entfernen ==== |
| <pre> | | <pre> |
Zeile 61: |
Zeile 62: |
| Die Ordnerstruktur der Zweige ist in folgender Grafik dargestellt. Sie ist komplexer als zunächst geplant und sicherlich noch verbesserbar, bietet gegenüber den bis dahin probierten, gängigeren Strukturen die folgenden Vorteile: | | Die Ordnerstruktur der Zweige ist in folgender Grafik dargestellt. Sie ist komplexer als zunächst geplant und sicherlich noch verbesserbar, bietet gegenüber den bis dahin probierten, gängigeren Strukturen die folgenden Vorteile: |
| | | |
− | * Jeder verwaltete Node kann beliebig viele unterschiedliche rollen (zB supernode, webserver, ...) einnehmen, die in roles-available und unter `:hierarchy` in der `hiera.yaml` definiert sind
| + | * Jeder verwaltete Node kann beliebig viele unterschiedliche rollen (zB supernode, webserver, ...) einnehmen, die in roles-available und unter `:hierarchy` in der `hiera.yaml` definiert sind |
− | * Jeder Parameter kann auf dem Node, in den Rollen oder auf allgemeiner ebene festgelegt werden. Durch Verwendung des `:merge_behavior: deeper` führt hiera diese Ebenen zusammen. Dies erspart redundante Definitionen und beugt Fehlern vor.
| + | * Jeder Parameter kann auf dem Node, in den Rollen oder auf allgemeiner ebene festgelegt werden. Durch Verwendung des `:merge_behavior: deeper` führt hiera diese Ebenen zusammen. Dies erspart redundante Definitionen und beugt Fehlern vor. |
− | * Die Klassen-Includes und die Konfiguration der Klassen liegen an ''einer'' Stelle, nämlich in den jeweiligen Hiera-Dateien der Nodes, Rollen oder allgemeinen Einstellungen.
| + | * Die Klassen-Includes und die Konfiguration der Klassen liegen an ''einer'' Stelle, nämlich in den jeweiligen Hiera-Dateien der Nodes, Rollen oder allgemeinen Einstellungen. |
| | | |
| {{attachment:puppet-hiera.svg.png|puppet-hiera.svg.png|width=300}} | | {{attachment:puppet-hiera.svg.png|puppet-hiera.svg.png|width=300}} |
Zeile 94: |
Zeile 95: |
| === Could not request certificate: execution expired === | | === Could not request certificate: execution expired === |
| Das heißt in der Regel, dass der Puppet agent den Puppet Master aufgrund einer Fehlkonfiguration nicht erreichen kann. Auf dem Puppet Agent prüfen: | | Das heißt in der Regel, dass der Puppet agent den Puppet Master aufgrund einer Fehlkonfiguration nicht erreichen kann. Auf dem Puppet Agent prüfen: |
− | * Ist ein FQDN als Hostname gesetzt ([[Technik/Dokumentation/Server-Basiskonfiguration#Hostname]])?
| + | * Ist ein FQDN als Hostname gesetzt ([[Technik/Dokumentation/Server-Basiskonfiguration#Hostname]])? |
− | * Ist in der Puppet-Config ein Puppet-Paster eingetragen (server=puppet.ffnw.de, siehe [[Technik/Dokumentation/Puppet#Einrichtung_des_Puppet-Agent]])?
| + | * Ist in der Puppet-Config ein Puppet-Paster eingetragen (server=puppet.ffnw.de, siehe [[Technik/Dokumentation/Puppet#Einrichtung_des_Puppet-Agent]])? |
| | | |
| === Error: invalid byte sequence in US-ASCII === | | === Error: invalid byte sequence in US-ASCII === |
− | * https://git.nordwest.freifunk.net/ffnw-puppet/puppet-grmlzsh/issues/1
| + | * https://git.nordwest.freifunk.net/ffnw-puppet/puppet-grmlzsh/issues/1 |
| | | |
| === Could not find class ::ssh for runner01.ffnw.de at === | | === Could not find class ::ssh for runner01.ffnw.de at === |
Zeile 104: |
Zeile 105: |
| | | |
| === Could not autoload puppet/parser/functions/ip_address === | | === Could not autoload puppet/parser/functions/ip_address === |
− | {{{
| + | <pre> |
| Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Evaluation Error: Error while evaluating a Function Call, Could not autoload puppet/parser/functions/ip_address: no such file to load -- netaddr at /etc/puppetlabs/code/environments/production/modules/icvpn/templates/bird.epp:29:13 on node ol01.sn.ffnw.de | | Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Evaluation Error: Error while evaluating a Function Call, Could not autoload puppet/parser/functions/ip_address: no such file to load -- netaddr at /etc/puppetlabs/code/environments/production/modules/icvpn/templates/bird.epp:29:13 on node ol01.sn.ffnw.de |
− | }}}
| + | </pre> |
| | | |
| See README of ipcalc module: https://git.nordwest.freifunk.net/ffnw-puppet/puppet-ipcalc | | See README of ipcalc module: https://git.nordwest.freifunk.net/ffnw-puppet/puppet-ipcalc |
− | {{{
| + | <pre> |
| puppetserver gem install netaddr | | puppetserver gem install netaddr |
| service puppetserver restart | | service puppetserver restart |
− | }}}
| + | </pre> |
| | | |
| === File[/etc/dnsmasq.conf] doesn't seem to be in the catalog === | | === File[/etc/dnsmasq.conf] doesn't seem to be in the catalog === |
Zeile 122: |
Zeile 123: |
| === Usermanagement === | | === Usermanagement === |
| User anlegen, User löschen, SSH Keys einem neuen User hinzufügen, Homedir anlegen | | User anlegen, User löschen, SSH Keys einem neuen User hinzufügen, Homedir anlegen |
− | * [[https://git.nordwest.freifunk.net/ffnw-puppet/puppet-user|Source des Modules]]
| + | * [[https://git.nordwest.freifunk.net/ffnw-puppet/puppet-user|Source des Modules]] |
− | * [[https://git.nordwest.freifunk.net/ffnw-puppet/puppet-user/blob/master/README.md|Modul Readme]]
| + | * [[https://git.nordwest.freifunk.net/ffnw-puppet/puppet-user/blob/master/README.md|Modul Readme]] |
| | | |
| === Unattended Upgrades === | | === Unattended Upgrades === |
| Das Modul Unattended-Upgrades automatisiert den Update-Prozess für einige Pakete sodass hier bei den meisten Paketen keine händischen Upgrades gemacht werden müssen. | | Das Modul Unattended-Upgrades automatisiert den Update-Prozess für einige Pakete sodass hier bei den meisten Paketen keine händischen Upgrades gemacht werden müssen. |
− | * [[https://git.nordwest.freifunk.net/ffnw-puppet/puppet-unattended_upgrades|Source des Modules]]
| + | * [[https://git.nordwest.freifunk.net/ffnw-puppet/puppet-unattended_upgrades|Source des Modules]] |
− | * [[https://git.nordwest.freifunk.net/ffnw-puppet/puppet-unattended_upgrades/blob/master/README.md|Modul Readme]]
| + | * [[https://git.nordwest.freifunk.net/ffnw-puppet/puppet-unattended_upgrades/blob/master/README.md|Modul Readme]] |