Denne artikel blev skrevet Mark Wenning, kanonisk feltingeniør.
MAAS implementerer et system af tags baseret på nodernes fysiske egenskaber. MAAS-dokumentationen på tags diskuterer dette, for det meste ud fra synspunktet om at bruge eksisterende hardwaretags med beskrivelsesindstillingen for –begrænsninger.
Nye tags kan også oprettes manuelt for at gøre det nemmere at udrulle og administrere MAAS- og Juju-klynger.
Hvis du f.eks. vil bootstrap Juju på en MAAS-klynge og tvinge bootstrap-noden til at være på en bestemt maskine, kan du tagge noden først og derefter bootstrap ved hjælp af tagget som en begrænsning.
$ juju bootstrap --constraints "tags=my-juju-bootstrap-node" –debug
Bemærk, at når du har angivet en tagbegrænsning som denne, vil følgende juju-kommandoer forsøge at bruge begrænsningen, indtil du annullerer den:
$ juju set-constraints "tags="
En anden brug af tags er at markere flere noder med det samme tag og derefter kun udrulle til disse noder:
$ juju deploy mysql –constraints "tags=my-juju-Dell-nodes" --debug
Før du kan bruge disse kommandoer, skal du logge på MAAS-områdeserveren:
$ maas login <profile-name> <host-url> <apikey>
Se https://maas.io/docs/ for yderligere oplysninger.
Når du er færdig, skal du køre for at logge af MAAS cli-miljøet
$ maas logout maas
Som beskrevet i MAAS-dokumentationen om tags kan tags oprettes og tildeles ved hjælp af XPath-udtryk baseret på de "lshw"-oplysninger (formateret som XML), der er knyttet til noden. Du kan få adgang til disse oplysninger nederst på hver nodewebside ved at klikke på linket "Vis registrerede detaljer" under "Rå registreringsdata". En del af "lshw"-oplysningerne for en af mine noder følger:
... <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> ...
Hvis du vil føje flere beskrivende tags til noder i systemet, kan du udføre:
$ 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"'
Disse vil tagge kompatible noder med taggene Dell_Machine, Intel_Machine, Virtual_Machine, Rack_Mount, System, Desktop, Laptop, Rack_Mount, Multi-system, 64bit og/eller 32bit, og anvendes også på alle noder, der tilføjes senere.
Der oprettes et nyt raw-tag med MAAS cli-kommandoen
$ maas <profile> tag new name="<tag-name>" [comment="<comment>"]
Bemærk, at vi ikke bruger beskrivelsesindstillingen her. Så:
$ maas maas tag new name="my-juju-node" comment="my new juju node"
Denne kode kan tildeles manuelt til en eller flere noder i systemet.
Hvis du vil tildele et mærke til en eller flere noder, skal du køre kommandoen:
$ maas <profile> tag update-nodes <raw-tag-name> add="<system-id>"
Hvordan finder du system-id'et for en node? En måde er at liste nodeoplysningerne og vælge dem ud af strukturen. Maas cli-kommandoen
$ maas <profile> nodes list
vil dumpe et JSON-formateret objekt (liste over strukturer), der indeholder alle oplysninger om noderne. F.eks.:
$ 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/" }, ]
Den første node på listen har attributten "hostname" på "T110ii.maas". Vi er også interesserede i system-id-attributten for denne node: "system_id": "Node-2349C038-D792-11E3-8DF4-0C54A5F0CE34"
Vi kan nu tildele det nye tag til denne node:
$ maas maas tag update-nodes my-juju-bootstap-node add=node-2349c038-d792-11e3-8df4-0c54a5f0ce34
Attributten "tag-names" i figur 1 viser alle de tags, der er tildelt denne node, herunder den nye.
Indstillinger:
Kommandolinjegrænseflade MAAS 1.6 Dokumentation:
Juju-dokumentation (begrænsninger)