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.

Använda taggar med MAAS och Juju i Ubuntu Server 14.04 LTS

Summary: MAAS implementerar ett system med taggar baserat på nodernas fysiska egenskaper. I MAAS-dokumentationen om taggar diskuteras detta

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

Den här artikeln har skrivits av Mark Wenning, Canonical Field Engineer.

Taggar för finare kontroll av MAAS- och Juju-kluster

MAAS implementerar ett system med taggar baserat på nodernas fysiska egenskaper. MAAS-dokumentationen om taggar diskuterar detta, främst ur synvinkeln att använda befintliga hårdvarutaggar med beskrivningsalternativet för –constraints. 

Nya taggar kan också skapas manuellt för att göra det enklare att distribuera och hantera MAAS- och Juju-kluster.    

Om du till exempel vill starta Juju på ett MAAS-kluster och tvinga bootstrap-noden att finnas på en specifik dator kan du tagga noden först och sedan bootstrap med taggen som en begränsning.

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

Observera att när du har ställt in en taggbegränsning som den här, kommer följande juju-kommandon att försöka använda begränsningen tills du avbryter den:

$ juju set-constraints "tags="

En annan användning av taggar är att markera flera noder med samma tagg och sedan distribuera till endast dessa noder:

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

Logga in på MAAS-kommandoradsgränssnittet

Innan du kan använda dessa kommandon måste du logga in på MAAS-regionens server:

$ maas login <profile-name> <host-url> <apikey>
  • <profilnamn> kan vara vad du vill, normalt är detta "maas"
  • <host-url> är URL:en för den regionala MAAS-styrenheten, plus API och version (dvs.https://192.168.0.2/MAAS/api/1.0).
  • <apikey> är MAAS-API:et eller OAuth-nyckeln som skapades när den regionala MAAS-styrenheten skapades.

Se https://maas.io/docs/Den här hyperlänken tar dig till en webbplats utanför Dell Technologies. för mer information.

När du är klar loggar du ut från MAAS CLI-miljön genom att köra

$ maas logout maas

Skapa taggar med hjälp av alternativet "description"

Som beskrivs i MAAS-dokumentationen om taggar kan taggar skapas och tilldelas med hjälp av XPath-uttryck, baserat på "lshw"-informationen (formaterad som XML) som är associerad med noden.   Du kan komma åt denna information längst ned på varje nodwebbsida genom att klicka på länken "Show discovered details" under "Raw discovery data".   En del av "lshw"-informationen för en av mina noder följer:

...

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

Om du vill lägga till mer beskrivande taggar till noder i systemet kan du köra:

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

Dessa taggar kompatibla noder med taggarna Dell_Machine, Intel_Machine, Virtual_Machine, Rack_Mount, System, Desktop, Laptop, Rack_Mount, Multi-system, 64-bitars och/eller 32-bitars, och tillämpas även på alla noder som läggs till senare.

Skapa taggar manuellt

En ny råtagg skapas med MAAS cli-kommandot

$ maas <profile> tag new name="<tag-name>" [comment="<comment>"]
  • <profile> är det profilnamn som ställdes in med inloggningskommandot, vanligtvis "maas"
  • <tag-name> är namnet på taggen
  • <Kommentaren> är valfri men en bra idé.

Observera att vi inte använder beskrivningsalternativet här.   Så:

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

Den här taggen kan tilldelas manuellt till en eller flera noder i systemet.

Tilldela taggar

Om du vill tilldela en tagg till en nod eller noder kör du kommandot:

$ maas <profile> tag update-nodes <raw-tag-name> add="<system-id>"
  • <profile> är det profilnamn som angavs vid inloggningen
  • <raw-tag-name> är namnet på den tagg som skapades tidigare
  • <system-id> är nodens system-id.

<System-ID>?  Vad är det?

Hur hittar du system-ID för en nod?   Ett sätt är att lista nodinformationen och hämta den från structen.  Maas CLI-kommandot

$ maas <profile> nodes list
  • <profile> är det profilnamn som angavs vid inloggningen

dumpar ut ett JSON-formaterat objekt (lista över strukturer) som innehåller all information om noderna.  Till exempel:

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

Avkoda utdata

Den första noden i listan har attributet "hostname" T110ii.maas. Vi är också intresserade av attributet system-id för den här noden: "system_id": "Nod-2349C038-D792-11E3-8DF4-0C54A5F0CE34"

Nu kan vi tilldela den nya taggen till den här noden:

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

Attributet "tag-names" i bild 1 visar alla taggar som tilldelats den här noden, inklusive den nya.

Skript som hjälper dig att lägga till taggar

Alternativ:

  • --login : Logga in innan du tilldelar taggarna till noderna. Det här alternativet kräver också
    • –OAuth: API/OAuth-tangenten som används för att logga in ovan och eventuellt, beroende på din inställning,
    • –host_url : värd-URL som används för att logga in ovan
    • –profil : profilnamn som används för att logga in ovan
  • --remove_tags : ta bort taggarna som tilldelades tidigare av det här skriptet.
  • --add_tags: Lägg till en tagg i varje nod baserat på dess namn

Referenser

Kommandoradsgränssnitt Dokumentation för MAAS 1.6:

https://maas.io/docs/maas-cliDen här hyperlänken tar dig till en webbplats utanför Dell Technologies.

Juju-dokumentation (begränsningar) 

https://juju.ubuntu.com/docs/charms-constraints.htmlDen här hyperlänken tar dig till en webbplats utanför Dell Technologies.

https://juju.ubuntu.com/docs/reference-constraints.htmlDen här hyperlänken tar dig till en webbplats utanför Dell Technologies.

Cause

-

Resolution

-

Article Properties


Affected Product

Ubuntu Server LTS

Last Published Date

23 Jul 2024

Version

4

Article Type

Solution