Omitir para ir al contenido principal
  • Hacer pedidos rápida y fácilmente
  • Ver pedidos y realizar seguimiento al estado del envío
  • Cree y acceda a una lista de sus productos

Utilizzo dei tag con MAAS e Juju in Ubuntu Server 14.04 LTS

Resumen: MAAS implementa un sistema di tag basato sulle proprietà fisiche dei nodi. La documentazione MAAS sui tag discute questo aspetto

Este artículo se aplica a Este artículo no se aplica a Este artículo no está vinculado a ningún producto específico. No se identifican todas las versiones del producto en este artículo.

Síntomas

Questo articolo è stato scritto da Mark Wenning, Field Engineer di Canonical.

Tag per un controllo più preciso dei cluster MAAS e Juju

MAAS implementa un sistema di tag basato sulle proprietà fisiche dei nodi. La documentazione MAAS sui tag discute questo aspetto, principalmente dal punto di vista dell'utilizzo dei tag hardware esistenti con l'opzione di descrizione per –constraints. 

I nuovi tag possono anche essere creati manualmente per semplificare l'implementazione e la gestione dei cluster MAAS e Juju.    

Ad esempio, se si desidera eseguire il bootstrap di Juju su un cluster MAAS e forzare il nodo di bootstrap su un computer specifico, è possibile contrassegnare prima il nodo, quindi eseguire il bootstrap utilizzando il tag come vincolo.

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

Si noti che una volta impostato un vincolo di tag come questo, i seguenti comandi juju tenteranno di utilizzare il vincolo fino a quando non lo si annulla:

$ juju set-constraints "tags="

Un altro utilizzo dei tag consiste nel contrassegnare più nodi con lo stesso tag e quindi implementare solo in tali nodi:

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

Accedere all'interfaccia della riga di comando di MAAS

Prima di poter utilizzare questi comandi, è necessario accedere al server dell'area MAAS:

$ maas login <profile-name> <host-url> <apikey>
  • <profile-name> può essere qualsiasi cosa tu voglia, normalmente questo è "maas"
  • <host-url> è l'URL del controller regionale MAAS, oltre all'API e alla versione (ad esempio,https://192.168.0.2/MAAS/api/1.0).
  • <apikey> è l'API MAAS o la chiave OAuth creata durante la creazione del controller regionale MAAS.

Fare riferimento a https://maas.io/docs/Questo link ipertestuale indirizza a un sito web esterno a Dell Technologies. per i dettagli.

Al termine, per disconnettersi dall'ambiente CLI MAAS, eseguire

$ maas logout maas

Creazione di tag utilizzando l'opzione "descrizione"

Come illustrato nella documentazione MAAS sui tag, i tag possono essere creati e assegnati utilizzando le espressioni XPath, in base alle informazioni "lshw" (formattate come XML) associate al nodo.   È possibile accedere a queste informazioni nella parte inferiore della pagina web di ciascun nodo cliccando sul link "Show discovered details" in "Raw discovery data".   Parte delle informazioni "lshw" per uno dei nodi è la seguente:

...

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

Per aggiungere tag più descrittivi ai nodi nel sistema, è possibile eseguire:

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

Questi contrassegneranno i nodi conformi con i tag Dell_Machine, Intel_Machine, Virtual_Machine, Rack_Mount, Sistema, Desktop, Notebook, Rack_Mount, Multisistema, 64 bit e/o 32 bit e verranno applicati anche a tutti i nodi aggiunti in un secondo momento.

Creazione manuale di tag

Viene creato un nuovo tag raw con il comando CLI MAAS

$ maas <profile> tag new name="<tag-name>" [comment="<comment>"]
  • <Profile> è il nome del profilo configurato con il comando di accesso, in genere "maaS"
  • <tag-name> è il nome del tag
  • <Il commento> è facoltativo ma è una buona idea.

Si noti che non stiamo utilizzando l'opzione di descrizione qui.   Così:

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

Questo tag può essere assegnato manualmente a uno o più nodi del sistema.

Assegnazione di tag

Per assegnare un tag a uno o più nodi, eseguire il comando:

$ maas <profile> tag update-nodes <raw-tag-name> add="<system-id>"
  • <Profile> è il nome del profilo impostato durante l'accesso
  • <raw-tag-name> è il nome del tag creato in precedenza
  • <System-ID> è l'ID sistema del nodo.

<ID> sistema?  Cos'è?

Come si trova l'ID di sistema di un nodo?   Un modo consiste nell'elencare le informazioni sul nodo e selezionarle dalla struct.  Comando maaS CLI

$ maas <profile> nodes list
  • <Profile> è il nome del profilo impostato durante l'accesso

verrà eseguito il dump di un oggetto in formato JSON (elenco di struct) contenente tutte le informazioni sui nodi.  Ad esempio:

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

Decodifica dell'output

Il primo nodo nell'elenco ha un attributo "hostname" "T110ii.maas". Ci interessa anche l'attributo system-id per questo nodo: "system_id": "nodo-2349c038-d792-11e3-8df4-0c54a5f0ce34"

Ora possiamo assegnare il nuovo tag a questo nodo:

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

L'attributo "tag-names" nella Figura 1 elenca tutti i tag assegnati a questo nodo, incluso quello nuovo.

Script per aiutarti ad aggiungere tag

Opzioni:

  • --login : effettua il login prima di assegnare i tag ai nodi. Questa opzione richiede inoltre
    • –OAuth : la chiave API/OAuth utilizzata per accedere sopra ed eventualmente, a seconda della configurazione,
    • –host_url : URL dell'host utilizzato per accedere sopra
    • –profilo : nome del profilo utilizzato per accedere sopra
  • --remove_tags : rimuove i tag che sono stati assegnati in precedenza da questo script.
  • --add_tags: aggiunge un tag ad ogni nodo in base al suo nome

Riferimenti

Interfaccia della riga di comando Documentazione di MAAS 1.6:

https://maas.io/docs/maas-cliQuesto link ipertestuale indirizza a un sito web esterno a Dell Technologies.

Documentazione Juju (vincoli) 

https://juju.ubuntu.com/docs/charms-constraints.htmlQuesto link ipertestuale indirizza a un sito web esterno a Dell Technologies.

https://juju.ubuntu.com/docs/reference-constraints.htmlQuesto link ipertestuale indirizza a un sito web esterno a Dell Technologies.

Causa

-

Resolución

-

Productos afectados

Ubuntu Server LTS
Propiedades del artículo
Número del artículo: 000129999
Tipo de artículo: Solution
Última modificación: 23 jul 2024
Versión:  4
Encuentre respuestas a sus preguntas de otros usuarios de Dell
Servicios de soporte
Compruebe si el dispositivo está cubierto por los servicios de soporte.