ahuffman.sat6_create_hosts

Rôle Ansible

ahuffman.sat6_create_hosts

Un rôle Ansible pour créer de nouveaux hôtes virtuels et physiques dans Satellite 6.x. La version 2 de l'API Satellite6 est requise.

Variables du Rôle

Nom de la variable Obligatoire Description Type Par défaut
sat6_fqdn oui Nom de domaine complet de l'hôte Satellite 6. chaine ""
sat6_user oui Nom d'utilisateur de l'utilisateur Satellite 6 qui a accès pour créer de nouveaux hôtes. chaine ""
sat6_pass oui Mot de passe de l'utilisateur Satellite 6 qui a accès pour créer de nouveaux hôtes. Cela doit être sécurisé. chaine ""
sat6_organization oui Organisation Satellite6 pour créer les hôtes définis dans sat6_hosts. chaine ""
sat6_fail_on_existing non Fait échouer le playbook si l'un des hôtes définis dans sat6_hosts existe déjà dans Satellite6. Utile lors de l'utilisation des notifications dans Ansible Tower, vous permettant d'être averti d'une erreur. Vrai signifie échouer si un hôte existe, faux signifie simplement fournir un résumé. booléen Faux
sat6_power_on_delay non Temps en secondes à retarder entre la création d'une nouvelle machine virtuelle et son démarrage. entier 30
sat6_hosts oui Hôtes Satellite 6 que vous souhaitez créer liste de dictionnaires []

Champs du Dictionnaire sat6_hosts - Commun

Champs que vous pouvez utiliser pour la création d'hôtes physiques ou virtuels.

Nom du champ Obligatoire Description Type
name oui Nom de l'hôte à créer. chaine
comment non Un commentaire qui apparaîtra dans les informations supplémentaires de l'hôte. Une courte description de l'objectif de l'hôte. chaine
domain non Nom du domaine Satellite6 avec lequel créer l'hôte. Non requis si vous souhaitez hériter du domaine par défaut du groupe d'hôtes. chaine
host_group oui Nom du groupe d'hôtes Satellite6 avec lequel créer le nouvel hôte. Si des groupes d'hôtes sont imbriqués, ce sera le nom du groupe d'hôtes sous la forme hostgroup1/hostgroup2/hostgroup3, aussi connu sous le nom de titre dans l'API. chaine
ipv4 non Adresse IPv4 à attribuer à l'hôte. Non requis si le groupe d'hôtes est configuré pour suggérer une adresse IPv4 via ipam ou dhcp. chaine
location oui Nom de l'emplacement Satellite6 où vous déploierez l'hôte. chaine
partition_table non Nom de la table de partition Satellite6 avec laquelle créer l'hôte. Non requis si vous souhaitez hériter de la table de partition par défaut du groupe d'hôtes. chaine
subnet non Nom de la sous-réseau Satellite6 avec lequel créer l'hôte. Non requis si vous souhaitez hériter de la sous-réseau par défaut du groupe d'hôtes. chaine
parameters non Liste de paramètres spécifiques à l'hôte Satellite6 que vous souhaitez définir. Utile pour effectuer des tâches après la provision. liste de dictionnaires
register_only non Que faire pour créer uniquement l'entrée de l'hôte dans Satellite6 ou pour le démarrer et le provisionner (par défaut c'est faux). booléen
manage_host non Lors de l'utilisation de register_only: True et force_host_update: True, cela permettra au cycle de construction de l'hôte d'être géré par Satellite6. (Par défaut faux). booléen
force_host_update non Lors de l'utilisation de register_only: True, cela mettra à jour l'hôte Satellite6 selon vos options spécifiées. (Par défaut faux). booléen
provision_method non build ou image. (Par défaut c'est build). chaine

Champs du Dictionnaire sat6_hosts - Virtuel

Nom du champ Obligatoire Description Type
compute_profile non Nom du profil de calcul Satellite6 avec lequel vous souhaitez déployer l'hôte. Si non fourni, le défaut du groupe d'hôtes sera utilisé. chaine
compute_resource oui Nom de la ressource de calcul Satellite6 sur laquelle vous souhaitez déployer l'hôte. chaine

Champs du Dictionnaire sat6_hosts - Physique

Nom du champ Obligatoire Description Type
mac oui Adresse MAC de l'hôte physique que vous souhaitez déployer. chaine

Champs du Dictionnaire sat6_hosts.parameters

Nom du champ Obligatoire Description Type
name oui Nom du paramètre à créer. chaine
value oui Valeur du paramètre à créer. chaine

Débogage

Pour voir la sortie de débogage complète, augmentez la verbosité à 1 (Verbeux) dans Ansible Tower, ou utilisez un -v dans Ansible Core/Engine.

Exemple de Playbook

    ---
    - name: "Exemple de Playbook ahuffman.sat6_create_hosts"
      hosts: "localhost"
      vars_files:
        - "vars/myvaultedsecrets.yml"
      tasks:
        - name: "Provisionner des Hôtes Satellite 6"
          include_role:
            name: "ahuffman.sat6_create_hosts"
          vars:
            sat6_fqdn: "monsat6serveur.mondomaine.com"
            sat6_user: "monsat6admin"
            #sat6_pass: "cela est défini dans le fichier vars/myvaultedsecrets.yml"
            sat6_organization: "mon organisation"
            sat6_fail_on_existing: True
            #il est recommandé de passer sat6_hosts comme une variable supplémentaire, mais vous pouvez définir
            #sat6_fail_on_existing: False pour exécuter le playbook de manière plus idempotente si vous souhaitez
            # garder une trace de tous les hôtes sat6 que vous créez dans le contrôle de version
            sat6_hosts:
              #VM
              - name: "ma-nouvelle-vm"
                host_group: "RHEL7-Virtual"
                location: "Raleigh"
                ipv4: "192.168.122.24"
                domain: "redhat.com"
                comment: "Serveur web pour un nouveau site"
                compute_resource: "vsphere.vmware.com" #C'est le nom de votre ressource de calcul
                compute_profile: "3-Large"
                parameters:
                  - name: "type_de_construction"
                    value: "httpd"
              #Métal nu
              - name: "mon-nouveau-metal-nu"
                host_group: "RHEL7-Physical"
                location: "Raleigh"
                ipv4: "192.168.122.25"
                domain: "redhat.com"
                comment: "Serveur de base de données"
                mac: "12:34:56:78:91:23"
              #Inscription seulement (c'est-à-dire créer seulement)
              - name: "hôte1"
                host_group: "RHEL7-Virtual"
                location: "Raleigh"
                ipv4: "192.168.122.26"
                domain: "redhat.com"
                comment: "Entrée d'hôte pré-inscription"
                register_only: True
              #Mettre à jour un hôte existant
              - name: "ma-nouvelle-vm"
                host_group: "RHEL7-Virtual"
                location: "Armonk"
                ipv4: "192.168.122.24"
                comment: "Migré Q3"
                domain: "ibm.com"
                parameters:
                  - name: "type_de_construction"
                    value: "ihs"
                register_only: True #ne pas essayer de provisionner
                force_host_update: True #mettre à jour l'hôte s'il existe
              #Gérer des constructions d'hôtes sur un hôte existant non géré
              - name: "certainsvieuxserveur"
                host_group: "RHEL7-Physical"
                mac: "32:34:56:78:91:23"
                domain: "redhat.com"
                location: "Raleigh"
                register_only: True
                force_host_update: True
                manage_host: True

Licence

MIT

Informations sur l'auteur

Andrew J. Huffman

À propos du projet

An Ansible role to create new virtual and bare-metal hosts in Satellite 6.x.

Installer
ansible-galaxy install ahuffman.sat6_create_hosts
Licence
mit
Téléchargements
5.1k
Propriétaire