punics
Goto Top

Netplan apply wirft nicht vollziehbaren error

Hallo alle zusammen,

lang ist her, dass ich um Hilfe gesucht habe.
Versuche grad in einer Testumgebung mehrere Ubuntu 18.04 Server aufzusetzen um darauf Anwendung zu installieren. Das Ziel davon ist die LDAP-Anbindung and das AD zu üben.

Scheitere aber schon beim ersten Ubuntu 18.04 Server an der statischen IP-Adressen-Konfiguration.
Hier der Inhalt der Datei "/etc/netplan/50-cloud-init.yaml"
 1 #  This file is generated from information provided by 
 2 #  the datasource.  Changes to it will not persist across an instance.
 3 #  To disable cloud-init's network configuration capabilities, writ a file 
 4 #  /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
 5 #  network: {config:  disabled}
 6  network:
 7           ethernets:
 8                   ens33:
 9                            addresses: 
10                                             - 10.0.2.30/24 
11                           dhcp4: false
12                           gateway4: 10.0.2.1
13                           nameservers: 
14                                      addresses:   [10.0.2.10, 10.0.2.11]
15                                      search: test.int
16          version: 2

Wird das Kommando "sudo netplan apply" ausgeführt, wird der folgende Fehler geworfen:
Error in network definition //etc/netplan/50-cloud-init.yaml line 14 column 24: expected sequence

Die Datei "/etc/cloud/cloud.cfg.d/99-disable-network-config.cfg " wurde erstellt mit dem Inhalt "network: {config: disabled}".

Was wurde denn falsch gemacht? Die Stelle "line 14 column 24:" befindet mitten im Word "addresses" (?!?!).
Der Artikel Ubuntu server 18 und netplan und die Referenz https://netplan.io/reference wurden auch schon entgegen geprüft.
Hoffe jemand kann hier den Fehler erkennen und helfen. Allen schon mal vielen Dank im Voraus. face-smile

Content-Key: 430350

Url: https://administrator.de/contentid/430350

Printed on: April 24, 2024 at 02:04 o'clock

Member: ashnod
Solution ashnod Mar 21, 2019 updated at 07:15:27 (UTC)
Goto Top
Moin ...

Also zum ersten findest du hier noch etwas dazu: https://wiki.ubuntuusers.de/Netplan/

eigentlich funktioniert das problemlos ... alerdings nicht die Datei 50-cloud-init.yaml einfach abändern sonder den Inhalt in eine neue Datei schreiben wie zum Beispiel 99-network-config.yaml die spätere Nummerierung wird gelesen und umgesetzt.

Ansonsten das Beispiel aus dem oben genannten Wiki an deine Konfiguration anpassen und in die Datei speichern.

VG
Member: NetzwerkDude
NetzwerkDude Mar 21, 2019 updated at 09:50:23 (UTC)
Goto Top
Zeile 9 + 10 sieht schon spanisch aus, weil du hast nen Zeilenumbruch zuviel + in der Liste mit den IP Adressen nach dem komma keinen wert - schau mal nach ob das so gültige syntax ist.
Und scheint ja eh alles auskommentiert zu sein :P
(Im Internet gibts Online YALM validatoren, vielleicht können sie dir mehr sagen)
Member: punics
punics Mar 21, 2019 updated at 20:02:27 (UTC)
Goto Top
Danke dir NetzwerkDude für den Hinweis.
Habe die Hashtags von Zeile 6 bis 16 entfernt. War wohl schon etwas zu verwirrt bei Abtippen der Zeilen face-smile

Bezüglich den Hinweis zu Zeile 9 und 10, die Syntax sollte in Ordnung sein laut https://netplan.io/reference.
Bin mir aber nicht ganz sicher, habe es geändert auf:
 - 10.0.2.30/24

Nachdem Abspeichern und ausführen mit "sudo netplan apply" bestand der Error immer noch.

Bezüglich Yaml validator:
Auf www.yamlint.com wurde der folgende eingefügt und als valide bewertet:
--- 
network: 
  ethernets: 
    ens33: 
      addresses: 
        - 10.0.2.30/24
      dhcp4: false
      gateway4: "10.0.2.1"  
      nameservers: 
        addresses: 
          - "10.0.2.10"  
          - "10.0.2.11"  
        search: test.int
  version: 2

Siehe hier:
yaml lint
Member: punics
punics Mar 21, 2019 at 21:04:24 (UTC)
Goto Top
Danke dir vorerst ashnod,
der wiki Eintrag ist quasi inhaltlich deckend mit dem von https://netplan.io/examples.
Dort gibt es das fast exakte Beispiel für statische Konfiguration bis auf die Zeile mit "dhcp4: "

Des Weiteren zu deiner Aussage:
"... allerdings nicht die Datei 50-cloud-init.yaml einfach abändern ..."

Im empfohlenen Wiki gibt es unter der Rubrik "Nutzung" Absat 3 folgende Zeile:
"... Möchte man eigene Konfigurationsdateien schreiben, sind diese in /etc/netplan/ abzulegen. Der Name der Datei darf beliebig sein, muss aber die Endung .yaml haben. ..."

Sollte doch eigentlich egal sein in solch Zusammenhang, oder?!
Member: punics
punics Mar 21, 2019 updated at 21:16:19 (UTC)
Goto Top
Hallo ashnod,

du bist derr Wahnsinn. Danke dir.

Von der Datei "/etc/netplan/50-cloud-init.yaml" wurde ein Backup nach "~/Backup-50-cloud-init.yaml", die "50-cloud-init.yaml" wurde anschließend gelöscht.
Danach wurde eine neue Datei "/etc/netplan/01-ens33.yaml" angelegt und dort folgende Zeilen hinterlegt:
network:
     version: 2
     renderer: networkd
     ethernets:
                    ens33:
                                    addresses:
                                                     - 10.0.2.30/24
                                     dhcp4: no
                                     gateway4: 10.0.2.1
                                     nameservers:
                                                       addresses: [10.0.2.10, 10.0.2.11] 
                                                       search: [test.int]

Danach mit dem Kommando
"sudo netplan apply"  
wurde die Konfiguration korrekt angenommen. face-big-smile
Vielen Dank für die Hilfe. face-wink

P.S.:
Wenn schon eine Error, sollte dieser aussagekräftiger sein. Der Verweis auf die "line 14 column 24" ist so nichtsaussagend.
Member: ashnod
ashnod Mar 22, 2019 at 07:52:55 (UTC)
Goto Top
Moin ..

Zitat von @punics:
Sollte doch eigentlich egal sein in solch Zusammenhang, oder?!

Wichtig ist tatsächlich nur das die späteste Datei gelesen wird und am Ende muss halt .yaml stehen.

88-Reibekuchen.yaml geht auch,.

Je später du das setzt um so geringer ist die Gefahr das deine Einstellungen überschrieben werden.

Aus der Sicht ist 01-ens33.yaml nicht ganz ohne Gefahr ... funktioniert aber latürnich solange sich keine spätere Config ablegt face-wink

VG