Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Enjoy members-only rewards and discounts
  • Create and access a list of your products

Tags gebruiken met MAAS en Juju in Ubuntu Server 14.04 LTS

Summary: MAAS implementeert een systeem van tags op basis van de fysieke eigenschappen van de nodes. De MAAS-documentatie over tags bespreekt dit

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

Dit artikel is geschreven door Mark Wenning, Canonical Field Engineer.

Tags voor fijnere controle van MAAS- en Juju-clusters

MAAS implementeert een systeem van tags op basis van de fysieke eigenschappen van de nodes. De MAAS-documentatie over tags bespreekt dit, vooral vanuit het oogpunt van het gebruik van bestaande hardwaretags met de beschrijvingsoptie voor –constraints. 

Nieuwe tags kunnen ook handmatig worden gemaakt om het gemakkelijker te maken om MAAS- en Juju-clusters te implementeren en te beheren.    

Als u bijvoorbeeld Juju wilt opstarten op een MAAS-cluster en het bootstrap-knooppunt wilt forceren om op een specifieke machine te staan, kunt u eerst het knooppunt taggen en vervolgens opstarten met de tag als beperking.

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

Houd er rekening mee dat als je eenmaal een tagbeperking op deze manier hebt ingesteld, je met de volgende juju-commando's wordt geprobeerd de beperking te gebruiken totdat je deze annuleert:

$ juju set-constraints "tags="

Een ander gebruik van tags is om meerdere knooppunten met dezelfde tag te markeren en vervolgens alleen op die knooppunten te implementeren:

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

Log in op de MAAS Command Line Interface

Voordat je gebruik kunt maken van deze commando's, moet je inloggen op de MAAS regioserver:

$ maas login <profile-name> <host-url> <apikey>
  • <Profielnaam> kan alles zijn wat je wilt, normaal gesproken is dit "Maas"
  • <host-url> is de URL van de MAAS-regiocontroller, plus de API en versie (dushttps://192.168.0.2/MAAS/api/1.0).
  • <apikey> is de MAAS-api of oauth-sleutel die is gemaakt toen de MAAS-regiocontroller werd gebouwd.

Raadpleeg https://maas.io/docs/Deze hyperlink leidt u naar een website buiten Dell Technologies. voor meer informatie.

Als u klaar bent, voert u deze opdracht uit om uit te loggen bij de MAAS cli-omgeving

$ maas logout maas

Tags maken met de optie "description"

Zoals besproken in de MAAS-documentatie over tags, kunnen tags worden gemaakt en toegewezen met behulp van XPath-expressies, op basis van de "lshw"-informatie (geformatteerd als XML) die aan het knooppunt is gekoppeld.   U kunt deze informatie onderaan elke knooppuntwebpagina openen door te klikken op de koppeling Show discovered details onder "Raw discovery data".   Een deel van de "lshw"-informatie voor een van mijn knooppunten volgt:

...

<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>
...

Als u meer beschrijvende tags wilt toevoegen aan knooppunten in het systeem, kunt u het volgende uitvoeren:

$ 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"'

Hiermee worden compatibele knooppunten getagd met de tags Dell_Machine, Intel_Machine, Virtual_Machine, Rack_Mount, Systeem, Desktop, Laptop, Rack_Mount, Multi-system, 64-bits en/of 32-bits, en ze worden ook toegepast op knooppunten die later worden toegevoegd.

Handmatig tags maken

Er wordt een nieuwe onbewerkte tag gemaakt met het MAAS cli-commando

$ maas <profile> tag new name="<tag-name>" [comment="<comment>"]
  • <Profiel> is de profielnaam die is ingesteld met het inlogcommando, meestal "Maas"
  • <Tag-name> is de naam van de tag
  • <Commentaar> is optioneel, maar een goed idee.

Houd er rekening mee dat we hier geen gebruik maken van de beschrijvingsoptie.   Dus:

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

Deze tag kan handmatig worden toegewezen aan een of meer knooppunten in het systeem.

Tags toewijzen

Als u een tag wilt toewijzen aan een knooppunt of knooppunten, voert u de volgende opdracht uit:

$ maas <profile> tag update-nodes <raw-tag-name> add="<system-id>"
  • <Profiel> is de profielnaam die is ingesteld tijdens het aanmelden
  • <raw-tag-name> is de naam van de eerder gemaakte tag
  • <System-ID> is de systeem-ID van het knooppunt.

<Systeem-id>?  Wat is dat?

Hoe vind je de systeem-id van een knooppunt?   Een manier is om de knooppuntinformatie op te sommen en uit de struct te halen.  Het maas cli commando

$ maas <profile> nodes list
  • <Profiel> is de profielnaam die is ingesteld tijdens het aanmelden

zal een JSON-geformatteerd object (lijst met structs) dumpen dat alle informatie over de knooppunten bevat.  Bijvoorbeeld:

$ 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/"
},
]

De uitvoer decoderen

Het eerste knooppunt in de lijst heeft een "hostname" attribuut van "T110ii.maas". We zijn ook geïnteresseerd in het kenmerk system-id voor dit knooppunt: "system_id": "node-2349c038-d792-11e3-8df4-0c54a5f0ce34"

We kunnen nu de nieuwe tag toewijzen aan dit knooppunt:

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

Het kenmerk "tag-names" in afbeelding 1 geeft een overzicht van alle tags die aan dit knooppunt zijn toegewezen, inclusief het nieuwe.

Scripts om u te helpen tags toe te voegen

Opties:

  • --login : log in voordat u de tags aan de knooppunten toewijst. Deze optie vereist ook
    • –OAuth : de API / OAuth sleutel die wordt gebruikt om hierboven in te loggen en eventueel, afhankelijk van uw setup,
    • –host_url : host-URL die wordt gebruikt om hierboven in te loggen
    • –Profiel : Profielnaam gebruikt om hierboven in te loggen
  • --remove_tags : verwijder de tags die eerder door dit script zijn toegewezen.
  • --add_tags: voeg een tag toe aan elk knooppunt op basis van de naam

Verwijzingen

Command Line Interface MAAS 1.6 documentatie:

https://maas.io/docs/maas-cliDeze hyperlink leidt u naar een website buiten Dell Technologies.

Juju-documentatie (beperkingen) 

https://juju.ubuntu.com/docs/charms-constraints.htmlDeze hyperlink leidt u naar een website buiten Dell Technologies.

https://juju.ubuntu.com/docs/reference-constraints.htmlDeze hyperlink leidt u naar een website buiten Dell Technologies.

Cause

-

Resolution

-

Affected Products

Ubuntu Server LTS
Article Properties
Article Number: 000129999
Article Type: Solution
Last Modified: 23 Jul 2024
Version:  4
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.