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.

Uso de etiquetas con MAAS y Juju en el servidor Ubuntu 14.04 LTS

Summary: MAAS implementa un sistema de etiquetas basado en las propiedades físicas de los nodos. La documentación de MAAS sobre etiquetas trata de esto

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

Este artículo fue escrito por Mark Wenning, ingeniero de campo de Canonical.

Etiquetas para un control más preciso de los clústeres MAAS y Juju

MAAS implementa un sistema de etiquetas basado en las propiedades físicas de los nodos. La documentación de MAAS sobre etiquetas analiza esto, principalmente desde el punto de vista del uso de etiquetas de hardware existentes con la opción de descripción para –constraints. 

También se pueden crear nuevas etiquetas manualmente para facilitar la implementación y la administración de clústeres MAAS y Juju.    

Por ejemplo, si desea arrancar Juju en un clúster MAAS y forzar el nodo de arranque para que esté en una máquina específica, puede etiquetar primero el nodo y, a continuación, arrancar usando la etiqueta como restricción.

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

Tenga en cuenta que una vez que haya establecido una restricción de etiqueta como esta, los siguientes comandos juju intentarán usar la restricción hasta que la cancele:

$ juju set-constraints "tags="

Otro uso de las etiquetas es marcar varios nodos con la misma etiqueta y, a continuación, implementar solo esos nodos:

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

Inicie sesión en la interfaz de línea de comandos de MAAS

Antes de poder usar estos comandos, debe iniciar sesión en el servidor regional de MAAS:

$ maas login <profile-name> <host-url> <apikey>
  • <profile-name> puede ser lo que quieras, normalmente es "maas"
  • <host-url> es la URL del controlador regional de MAAS, además de la API y la versión (es decir,https://192.168.0.2/MAAS/api/1.0).
  • <apikey> es la API de MAAS o la clave de OAuth creada cuando se creó el controlador regional de MAAS.

Consulte https://maas.io/docs/Este hipervínculo lo redirige a un sitio web fuera de Dell Technologies. para obtener más información.

Cuando haya terminado, para cerrar sesión en el entorno de la CLI de MAAS, ejecute

$ maas logout maas

Creación de etiquetas mediante la opción "description"

Como se explica en la documentación de MAAS sobre etiquetas, las etiquetas se pueden crear y asignar mediante expresiones XPath, en función de la información "lshw" (formateada como XML) asociada con el nodo.   Puede acceder a esta información en la parte inferior de la página web de cada nodo haciendo clic en el enlace "Show discovered details" en "Raw discovery data".   Parte de la información "lshw" de uno de mis nodos es la siguiente:

...

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

Para agregar más etiquetas descriptivas a los nodos del sistema, puede ejecutar lo siguiente:

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

Estos etiquetarán los nodos compatibles con las etiquetas Dell_Machine, Intel_Machine, Virtual_Machine, Rack_Mount, System, Desktop, Laptop, Rack_Mount, Multi-system, 64bit y/o 32bit, y también se aplicarán a cualquier nodo que se agregue más adelante.

Creación manual de etiquetas

Se crea una nueva etiqueta sin formato con el comando de la CLI de MAAS

$ maas <profile> tag new name="<tag-name>" [comment="<comment>"]
  • <Profile> es el nombre del perfil que se configuró con el comando de inicio de sesión, generalmente "maaS"
  • <tag-name> es el nombre de la etiqueta
  • <El comentario> es opcional, pero es una buena idea.

Tenga en cuenta que no estamos utilizando la opción de descripción aquí.   Así que:

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

Esta etiqueta se puede asignar manualmente a uno o más nodos del sistema.

Asignación de etiquetas

Para asignar una etiqueta a uno o más nodos, ejecute el comando:

$ maas <profile> tag update-nodes <raw-tag-name> add="<system-id>"
  • <Perfil> es el nombre del perfil configurado durante el inicio de sesión
  • <raw-tag-name> es el nombre de la etiqueta creada anteriormente
  • <system-id> es el ID del sistema del nodo.

<¿ID> del sistema?  ¿Qué es eso?

¿Cómo se encuentra el ID del sistema de un nodo?   Una forma es enumerar la información del nodo y seleccionarla de la estructura.  El comando de la CLI de maas

$ maas <profile> nodes list
  • <Perfil> es el nombre del perfil configurado durante el inicio de sesión

volcará un objeto con formato JSON (lista de estructuras) que contiene toda la información sobre los nodos.  Por ejemplo:

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

Decodificación de la salida

El primer nodo de la lista tiene el atributo "hostname" "T110ii.maas". También estamos interesados en el atributo system-id para este nodo: "system_id": "node-2349c038-d792-11e3-8df4-0c54a5f0ce34"

Ahora podemos asignar la nueva etiqueta a este nodo:

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

El atributo "tag-names" de la Figura 1 enumera todas las etiquetas asignadas a este nodo, incluida la nueva.

Scripts para ayudarlo a agregar etiquetas

Opciones:

  • --login : inicie sesión antes de asignar las etiquetas a los nodos. Esta opción también requiere
    • –OAuth : la clave API / OAuth utilizada para iniciar sesión arriba y posiblemente, dependiendo de su configuración,
    • –host_url : URL del host utilizada para iniciar sesión arriba
    • –profile : nombre del perfil utilizado para iniciar sesión arriba
  • --remove_tags : elimina las etiquetas que fueron asignadas anteriormente por este script.
  • --add_tags: agrega una etiqueta a cada nodo en función de su nombre

Referencias

Interfaz de línea de comandos Documentación de MAAS 1.6:

https://maas.io/docs/maas-cliEste hipervínculo lo redirige a un sitio web fuera de Dell Technologies.

Documentación de Juju (restricciones) 

https://juju.ubuntu.com/docs/charms-constraints.htmlEste hipervínculo lo redirige a un sitio web fuera de Dell Technologies.

https://juju.ubuntu.com/docs/reference-constraints.htmlEste hipervínculo lo redirige a un sitio web fuera de Dell Technologies.

Cause

-

Resolution

-

Article Properties


Affected Product

Ubuntu Server LTS

Last Published Date

23 Jul 2024

Version

4

Article Type

Solution