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.

Utilisation des balises avec MAAS et Juju dans Ubuntu Server 14.04 LTS

Summary: MAAS implémente un système de balises basé sur les propriétés physiques des nœuds. La documentation MAAS sur les tags en parle

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

Cet article a été rédigé par Mark Wenning, ingénieur de terrain chez Canonical.

Balises pour un contrôle plus fin des clusters MAAS et Juju

MAAS implémente un système de balises basé sur les propriétés physiques des nœuds. La documentation MAAS sur les balises traite de cela, principalement du point de vue de l’utilisation de balises matérielles existantes avec l’option de description pour –constraints. 

De nouvelles balises peuvent également être créées manuellement pour faciliter le déploiement et la gestion des clusters MAAS et Juju.    

Par exemple, si vous souhaitez amorcer Juju sur un cluster MAAS et forcer le nœud de démarrage à se trouver sur une machine spécifique, vous pouvez d’abord marquer le nœud, puis amorcer en utilisant la balise comme contrainte.

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

Notez qu’une fois que vous avez défini une contrainte de balise comme celle-ci, les commandes juju suivantes tenteront d’utiliser la contrainte jusqu’à ce que vous l’annuliez :

$ juju set-constraints "tags="

Une autre utilisation des balises consiste à marquer plusieurs nœuds avec la même balise, puis à déployer uniquement sur ces nœuds :

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

Connectez-vous à l’interface de ligne de commande MAAS

Avant de pouvoir utiliser ces commandes, vous devez vous connecter au serveur de la région MAAS :

$ maas login <profile-name> <host-url> <apikey>
  • <profile-name> peut être tout ce que vous voulez, normalement c’est « maaS »
  • <host-url> est l’URL du contrôleur régional MAAS, ainsi que l’API et la version (c’est-à-direhttps://192.168.0.2/MAAS/api/1.0).
  • <apikey> est l’API MAAS ou la clé oauth créée lors de la création du contrôleur régional MAAS.

Consultez https://maas.io/docs/ pour plus d’informationsCe lien hypertexte renvoie à un site Web extérieur à Dell Technologies. .

Lorsque vous avez terminé, pour vous déconnecter de l’environnement MAAS cli, exécutez

$ maas logout maas

Création de balises à l’aide de l’option « description »

Comme indiqué dans la documentation MAAS sur les balises, des balises peuvent être créées et attribuées à l’aide d’expressions XPath, en fonction des informations « lshw » (formatées en XML) associées au nœud.   Vous pouvez accéder à ces informations au bas de chaque page Web de nœud en cliquant sur le lien « Show discovered details » sous « Raw discovery data ».   Une partie des informations « lshw » pour l’un de mes nœuds est la suivante :

...

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

Pour ajouter des balises plus descriptives aux nœuds du système, vous pouvez exécuter :

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

Celles-ci balisent les nœuds conformes avec les balises Dell_Machine, Intel_Machine, Virtual_Machine, Rack_Mount, Système, Ordinateur de bureau, Ordinateur portable, Rack_Mount, Multisystème, 64 bits et/ou 32 bits, et sont également appliquées à tous les nœuds ajoutés ultérieurement.

Création manuelle de balises

Une nouvelle balise brute est créée à l’aide de la commande MAAS cli

$ maas <profile> tag new name="<tag-name>" [comment="<comment>"]
  • <profile> est le nom du profil configuré avec la commande de connexion, généralement « MaaS »
  • <tag-name> est le nom de la balise
  • <Le commentaire> est facultatif mais c’est une bonne idée.

Notez que nous n’utilisons pas l’option de description ici.   Ainsi:

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

Cette balise peut être attribuée manuellement à un ou plusieurs nœuds du système.

Attribution de balises

Pour attribuer une balise à un ou plusieurs nœuds, exécutez la commande suivante :

$ maas <profile> tag update-nodes <raw-tag-name> add="<system-id>"
  • <profile> est le nom du profil configuré lors de la connexion
  • <raw-tag-name> est le nom de la balise précédemment créée
  • <system-id> est l’ID système du nœud.

<ID> du système ?  Qu’est-ce que c est?

Comment trouver l’ID système d’un nœud ?   L’une d’entre elles consiste à répertorier les informations sur les nœuds et à les extraire de la structure.  La commande maaS CLI

$ maas <profile> nodes list
  • <profile> est le nom du profil configuré lors de la connexion

videra un objet au format JSON (liste de structs) contenant toutes les informations sur les nœuds.  Par exemple :

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

Décodage de la sortie

Le premier nœud de la liste possède l’attribut « hostname » de « T110ii.maas ». Nous sommes également intéressés par l’attribut system-id de ce nœud : « system_id » : « node-2349c038-d792-11e3-8df4-0c54a5f0ce34 »

Nous pouvons maintenant attribuer la nouvelle balise à ce nœud :

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

L’attribut « tag-names » de la Figure 1 répertorie toutes les balises attribuées à ce nœud, y compris la nouvelle.

Scripts pour vous aider à ajouter des balises

Options :

  • --login : se connecte avant d’assigner les tags aux nœuds. Cette option requiert également
    • –oauth : la clé api / oauth utilisée pour se connecter ci-dessus et éventuellement, en fonction de votre configuration,
    • –host_url : URL de l’hôte utilisée pour se connecter ci-dessus
    • –profile : nom du profil utilisé pour se connecter ci-dessus
  • --remove_tags : supprime les balises qui ont été assignées précédemment par ce script.
  • --add_tags : ajoute une balise à chaque nœud en fonction de son nom

Références

Documentation MAAS 1.6 de l’interface de ligne de commande :

https://maas.io/docs/maas-cliCe lien hypertexte renvoie à un site Web extérieur à Dell Technologies.

Documentation Juju (contraintes) 

https://juju.ubuntu.com/docs/charms-constraints.htmlCe lien hypertexte renvoie à un site Web extérieur à Dell Technologies.

https://juju.ubuntu.com/docs/reference-constraints.htmlCe lien hypertexte renvoie à un site Web extérieur à Dell Technologies.

Cause

-

Resolution

-

Article Properties


Affected Product

Ubuntu Server LTS

Last Published Date

23 Jul 2024

Version

4

Article Type

Solution