Pular para o conteúdo principal
  • Faça pedidos de forma rápida e simples
  • Visualize os pedidos e acompanhe o status de envio
  • Crie e acesse uma lista dos seus produtos

Usar etiquetas com MAAS e Juju no servidor Ubuntu 14.04 LTS

Resumo: O MAAS implementa um sistema de tags com base nas propriedades físicas dos nós. A documentação do MAAS sobre tags discute isso

Este artigo aplica-se a Este artigo não se aplica a Este artigo não está vinculado a nenhum produto específico. Nem todas as versões do produto estão identificadas neste artigo.

Sintomas

Este artigo foi escrito por Mark Wenning, engenheiro de campo da Canonical.

Tags para controle mais fino de clusters MAAS e Juju

O MAAS implementa um sistema de tags com base nas propriedades físicas dos nós. A documentação do MAAS sobre tags discute isso, principalmente do ponto de vista do uso de tags de hardware existentes com a opção de descrição para –constraints. 

Novas tags também podem ser criadas manualmente para facilitar a implementação e o gerenciamento de clusters MAAS e Juju.    

Por exemplo, se você quiser inicializar Juju em um cluster MAAS e forçar o nó de inicialização a estar em uma máquina específica, você pode marcar o nó primeiro e, em seguida, inicializar usando a tag como uma restrição.

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

Observe que, depois de definir uma restrição de tag como esta, os seguintes comandos juju tentarão usar a restrição até que você a cancele:

$ juju set-constraints "tags="

Outro uso de tags é marcar vários nós com a mesma tag e, em seguida, implementar somente nesses nós:

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

Faça login na interface de linha de comando do MAAS

Antes de usar esses comandos, você deve fazer logon no servidor de região MAAS:

$ maas login <profile-name> <host-url> <apikey>
  • <profile-name> pode ser o que você quiser, normalmente isso é "maaS"
  • <host-url> é a URL do controlador regional do MAAS, mais a api e a versão (ou seja,https://192.168.0.2/MAAS/api/1.0).
  • <apikey> é a API MAAS ou chave oauth criada quando o controlador regional MAAS foi criado.

Consulte https://maas.io/docs/Esse hiperlink direcionará você para um site fora da Dell Technologies. para obter detalhes.

Quando terminar, para fazer log-out do ambiente da CLI do MAAS, execute

$ maas logout maas

Criação de tags usando a opção "descrição"

Conforme discutido na documentação do MAAS sobre tags, as tags podem ser criadas e atribuídas usando expressões XPath, com base nas informações "lshw" (formatadas como XML) associadas ao nó.   Você pode acessar essas informações na parte inferior de cada página da Web do nó clicando no link "Show discovered details" em "Raw discovery data".   Parte das informações "lshw" de um dos meus nós segue:

...

<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 adicionar mais tags descritivas aos nós do sistema, você pode executar:

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

Eles marcarão os nós compatíveis com as etiquetas Dell_Machine, Intel_Machine, Virtual_Machine, Rack_Mount, sistema, desktop, laptop, Rack_Mount, vários sistemas, 64 bits e/ou 32 bits e também serão aplicados a todos os nós adicionados posteriormente.

Como criar tags manualmente

Uma nova tag bruta é criada com o comando da CLI MAAS

$ maas <profile> tag new name="<tag-name>" [comment="<comment>"]
  • <Profile> é o nome do perfil que foi configurado com o comando de login, geralmente "MaaS"
  • <tag-name> é o nome da tag
  • <comentário> é opcional, mas uma boa idéia.

Observe que não estamos usando a opção de descrição aqui.   Então:

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

Essa etiqueta pode ser atribuída manualmente a um ou mais nós no sistema.

Atribuindo tags

Para atribuir uma etiqueta a um nó ou nós, execute o comando:

$ maas <profile> tag update-nodes <raw-tag-name> add="<system-id>"
  • <Profile> é o nome do perfil configurado durante o login
  • <raw-tag-name> é o nome da tag criada anteriormente
  • <System-ID> é o ID do sistema do nó.

<ID do sistema>?  O que é aquilo?

Como encontrar o ID do sistema de um nó?   Uma maneira é listar as informações do nó e retirá-las da estrutura.  O comando maas cli

$ maas <profile> nodes list
  • <Profile> é o nome do perfil configurado durante o login

despejará um objeto formatado em JSON (lista de structs) que contém todas as informações sobre os nós.  Por exemplo:

$ 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ção da saída

O primeiro nó da lista tem um atributo "hostname" de "T110ii.maas". Também estamos interessados no atributo system-id desse nó: "system_id": "NÓ-2349C038-D792-11E3-8DF4-0C54A5F0CE34"

Agora podemos atribuir a nova etiqueta a este nó:

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

O atributo "tag-names" na Figura 1 lista todas as tags atribuídas a esse nó, inclusive a nova.

Scripts para ajudar você a adicionar tags

Opções:

  • --login : faça login antes de atribuir as tags aos nós. Essa opção também requer
    • –oauth: a chave API / oauth usada para fazer login acima e, possivelmente, dependendo da sua configuração,
    • –host_url : URL do host usado para fazer login acima
    • –profile : Nome do perfil usado para fazer login acima
  • --remove_tags : remover as tags que foram atribuídas anteriormente por este script.
  • --add_tags: adicione uma tag a cada nó com base em seu nome

Referências

Interface de linha de comando MAAS 1.6 Documentação:

https://maas.io/docs/maas-cliEsse hiperlink direcionará você para um site fora da Dell Technologies.

Documentação de Juju (restrições) 

https://juju.ubuntu.com/docs/charms-constraints.htmlEsse hiperlink direcionará você para um site fora da Dell Technologies.

https://juju.ubuntu.com/docs/reference-constraints.htmlEsse hiperlink direcionará você para um site fora da Dell Technologies.

Causa

-

Resolução

-

Produtos afetados

Ubuntu Server LTS
Propriedades do artigo
Número do artigo: 000129999
Tipo de artigo: Solution
Último modificado: 23 jul. 2024
Versão:  4
Encontre as respostas de outros usuários da Dell para suas perguntas.
Serviços de suporte
Verifique se o dispositivo está coberto pelos serviços de suporte.