Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Create and access a list of your products
  • Manage your Dell EMC sites, products, and product-level contacts using Company Administration.

Verwenden von Tags mit MAAS und Juju auf Ubuntu Server 14.04 LTS

Summary: MAAS implementiert ein System von Tags, das auf den physikalischen Eigenschaften der Knoten basiert. In der MAAS-Dokumentation zu Tags wird dies erläutert

This article may have been automatically translated. If you have any feedback regarding its quality, please let us know using the form at the bottom of this page.

Article Content


Symptoms

Dieser Artikel wurde von Mark Wenning, Canonical Field Engineer, verfasst.

Tags für eine feinere Steuerung von MAAS- und Juju-Clustern

MAAS implementiert ein System von Tags, das auf den physikalischen Eigenschaften der Knoten basiert. Die MAAS-Dokumentation zu Tags diskutiert dies, hauptsächlich unter dem Gesichtspunkt der Verwendung bestehender Hardware-Tags mit der Beschreibungsoption für –constraints. 

Neue Tags können auch manuell erstellt werden, um die Bereitstellung und Verwaltung von MAAS- und Juju-Clustern zu vereinfachen.    

Wenn Sie beispielsweise Juju auf einem MAAS-Cluster bootstrappen und erzwingen möchten, dass sich der Bootstrap-Node auf einem bestimmten Computer befindet, können Sie zuerst den Node taggen und dann Bootstrap mithilfe des Tags als Einschränkung durchführen.

$ juju bootstrap --constraints "tags=my-juju-bootstrap-node" –debug

Beachten Sie, dass, sobald Sie eine Tag-Einschränkung wie diese festgelegt haben, die folgenden Juju-Befehle versuchen, die Einschränkung zu verwenden, bis Sie sie abbrechen:

$ juju set-constraints "tags="

Eine weitere Verwendung von Tags besteht darin, mehrere Nodes mit demselben Tag zu markieren und dann nur auf diesen Nodes bereitzustellen:

$ juju deploy mysql –constraints "tags=my-juju-Dell-nodes" --debug

Anmelden bei der MAAS-Befehlszeilenschnittstelle

Bevor Sie diese Befehle verwenden können, müssen Sie sich beim MAAS-Regionsserver anmelden:

$ maas login <profile-name> <host-url> <apikey>
  • <Profil-Name> kann alles sein, was Sie wollen, normalerweise ist dies "MaaS"
  • <host-url> ist die URL des regionalen MAAS-Controllers sowie die API und Version (d. h.https://192.168.0.2/MAAS/api/1.0).
  • <apikey ist der MAAS-API- oder OAuth-Schlüssel> , der beim Erstellen des regionalen MAAS-Controllers erstellt wurde.

Weitere Informationen finden Sie https://maas.io/docs/Dieser Hyperlink führt Sie zu einer Website außerhalb von Dell Technologies. .

Wenn Sie fertig sind, führen Sie Folgendes aus, um sich von der MAAS-CLI-Umgebung abzumelden.

$ maas logout maas

Erstellen von Tags mit der Option "Beschreibung"

Wie in der MAAS-Dokumentation zu Tags erläutert, können Tags mithilfe von XPath-Ausdrücken erstellt und zugewiesen werden, basierend auf den mit dem Node verknüpften "lshw"-Informationen (formatiert als XML).   Sie können unten auf jeder Node-Webseite auf diese Informationen zugreifen, indem Sie unter "Raw Discovery Data" auf den Link "Show discovered details" klicken.   Ein Teil der "lshw"-Informationen für einen meiner Nodes folgt:

...

<lshw:node id="t410" claimed="true" class="system" handle="DMI:0100">
<lshw:description>System</lshw:description>
<lshw:product>PowerEdge T410 ()</lshw:product>
<lshw:vendor>Dell Inc.</lshw:vendor>
<lshw:serial>RHXT410</lshw:serial>
<lshw:width units="bits">64</lshw:width>
<lshw:configuration>
<lshw:setting id="boot" value="normal"/>
<lshw:setting id="chassis" value="server"/>
<lshw:setting id="uuid" value="44454C4C-4800-1058-8054-D2C04F343130"/>
</lshw:configuration>
<lshw:capabilities>
...

Um weitere beschreibende Tags zu Nodes im System hinzuzufügen, können Sie Folgendes ausführen:

$ maas maas tags new name="Dell_Machine" definition='//node[@class="system"]/vendor = "Dell Inc."'
$ maas maas tags new name="Intel_Machine" definition='//node[@class="system"]/vendor = "Intel Corp."'
$ maas maas tags new name="Virtual_Machine" definition='//node[@class="system"]/vendor = "QEMU"'
$ maas maas tags new name="Laptop" definition='//node[@class="system"]/description = "Laptop"'
$ maas maas tags new name="Rack_Mount" definition='//node[@class="system"]/description = "Rack Mount Chassis"'
$ maas maas tags new name="Mini_Tower" definition='//node[@class="system"]/description = "Mini Tower Computer"'
$ maas maas tags new name="System" definition='//node[@class="system"]/description = "System"'
$ maas maas tags new name="Desktop" definition='//node[@class="system"]/description = "Desktop Computer"'
$ maas maas tags new name="Blade" definition='//node[@class="system"]/description = "Multi-system"'
$ maas maas tags new name="Intel_CPU" definition='//node[@class="processor"]/vendor = "Intel Corp."'
$ maas maas tags new name="AMD_CPU" definition='//node[@class="processor"]/vendor = "Advanced Micro Devices [AMD]"'
$ maas maas tags new name="64bit" definition='//node[@class="system"]/width="64"'
$ maas maas tags new name="32bit" definition='//node[@class="system"]/width="32"'

Diese kennzeichnen konforme Nodes mit den Tags Dell_Machine, Intel_Machine, Virtual_Machine, Rack_Mount, System, Desktop, Laptop, Rack_Mount, Multi-System, 64 Bit und/oder 32 Bit und werden auch auf alle später hinzugefügten Nodes angewendet.

Manuelles Erstellen von Tags

Ein neues Raw-Tag wird mit dem MAAS-CLI-Befehl erstellt.

$ maas <profile> tag new name="<tag-name>" [comment="<comment>"]
  • <Profil> ist der Profilname, der mit dem Anmeldebefehl eingerichtet wurde, in der Regel "MaaS".
  • <tag-name> ist der Name des Tags
  • <Der Kommentar> ist optional, aber eine gute Idee.

Beachten Sie, dass wir hier nicht die Option "Beschreibung" verwenden.   Also:

$ maas maas tag new name="my-juju-node" comment="my new juju node"

Dieses Tag kann manuell einem oder mehreren Nodes im System zugewiesen werden.

Zuweisen von Tags

Um einem oder mehreren Nodes ein Tag zuzuweisen, führen Sie den folgenden Befehl aus:

$ maas <profile> tag update-nodes <raw-tag-name> add="<system-id>"
  • <"Profil> " ist der Profilname, der während der Anmeldung eingerichtet wurde.
  • <raw-tag-name> ist der Name des zuvor erstellten Tags
  • <system-ID> ist die System-ID des Nodes.

<System-ID>?  Was ist das?

Wie finden Sie die System-ID eines Nodes?   Eine Möglichkeit besteht darin, die Node-Informationen aufzulisten und aus der Struktur auszuwählen.  Der Maas-CLI-Befehl

$ maas <profile> nodes list
  • <"Profil> " ist der Profilname, der während der Anmeldung eingerichtet wurde.

gibt ein JSON-formatiertes Objekt (Liste von Strukturen) aus, das alle Informationen über die Knoten enthält.  Zum Beispiel:

$ maas maas nodes list

[
{
"status": 4,
"macaddress_set": [
{
"resource_uri": "/MAAS/api/1.0/nodes/node-2349c038-d792-11e3-8df4-0c54a5f0ce34/macs/bc%3A30%3A5b%3Ae3%3A21%3A15/",
"mac_address": "bc:30:5b:e3:21:15"
}
],
"hostname": "T110ii.maas",
"zone": {
"resource_uri": "/MAAS/api/1.0/zones/default/",
"name": "default",
"description": ""
},
"routers": [],
"netboot": true,
"cpu_count": 8,
"storage": 239825,
"owner": null,
"system_id": "node-2349c038-d792-11e3-8df4-0c54a5f0ce34",
"architecture": "amd64/generic",
"memory": 8192,
"power_type": "ipmi",
"tag_names": [
"use-fastpath-installer",
"my-juju-boostrap-node"
],
"ip_addresses": [
"192.168.0.53"
],
"resource_uri": "/MAAS/api/1.0/nodes/node-2349c038-d792-11e3-8df4-0c54a5f0ce34/"
},
]

Dekodieren der Ausgabe

Der erste Node in der Liste hat das Attribut "hostname" von "T110ii.maas". Wir interessieren uns auch für das Attribut system-id für diesen Node: "system_id": "node-2349c038-d792-11e3-8df4-0c54a5f0ce34"

Diesem Node können wir nun das neue Tag zuweisen:

$ maas maas tag update-nodes my-juju-bootstap-node add=node-2349c038-d792-11e3-8df4-0c54a5f0ce34

Das Attribut "tag-names" in Abbildung 1 listet alle Tags auf, die diesem Node zugewiesen sind, einschließlich des neuen.

Skripte zum Hinzufügen von Tags

Options:

  • --login : Melden Sie sich an, bevor Sie den Knoten die Tags zuweisen. Diese Option erfordert auch, dass
    • –OAuth : der API-/OAuth-Schlüssel, der für die Anmeldung oben verwendet wird, und möglicherweise, je nach Setup,
    • –host_url : Host-URL, die für die Anmeldung oben verwendet wird
    • –Profil : Profilname, der für die Anmeldung oben verwendet wird
  • --remove_tags : entfernt die Tags, die zuvor von diesem Skript zugewiesen wurden.
  • --add_tags: fügt jedem Knoten ein Tag basierend auf seinem Namen hinzu

Referenzen

Befehlszeilenschnittstelle MAAS 1.6 Dokumentation:

https://maas.io/docs/maas-cliDieser Hyperlink führt Sie zu einer Website außerhalb von Dell Technologies.

Juju-Dokumentation (Beschränkungen) 

https://juju.ubuntu.com/docs/charms-constraints.htmlDieser Hyperlink führt Sie zu einer Website außerhalb von Dell Technologies.

https://juju.ubuntu.com/docs/reference-constraints.htmlDieser Hyperlink führt Sie zu einer Website außerhalb von Dell Technologies.

Cause

-

Resolution

-

Article Properties


Affected Product

Ubuntu Server LTS

Last Published Date

23 Jul 2024

Version

4

Article Type

Solution