nmshadey.vmware_deploy_ova
vmware_deploy_ova
Ce rôle peut être utilisé pour importer un modèle OVA/OVF sur un serveur VMware vCenter ou un hôte VMware ESXi cible.
Exigences
- python >= 2.6
- PyVmomi
Variables du rôle
Variables par défaut définies dans defaults/main.yml
Définir l'emplacement d'origine du fichier OVA.
Les options actuelles sont 'local' et 'http'.
Si local est défini, le ova_file sera extrait du ova_path défini.
Si http est défini, le ova_file sera téléchargé vers le ova_path défini.
Pour http, l'ova_url doit également être définie.
ova_source: "local"
Indiquer si la vérification des certificats doit être activée pour l'hôte cible sur lequel l'OVA est importé.
ova_validate_certs: no
Indiquer si les doublons du même nom sont autorisés.
ova_allow_duplicates: no
Indiquer si l'appliance doit être allumée une fois le processus d'importation de l'OVA terminé.
ova_power_on_after_deploy: yes
Indiquer si le module doit attendre que l'adresse IP soit disponible dans vCenter après la mise sous tension de l'OVA.
ova_wait_for_ip_address: no
Le format de disque par défaut à utiliser pour les disques importés de l'OVA.
ova_deployment_disk_type: thin
Configuration matérielle
ova_hardware_hotadd_cpu_enabled: true
ova_hardware_hotadd_mem_enabled: true
Les paramètres suivants doivent être fournis, en tant que variables supplémentaires, group_vars ou host_vars :
Variables de déploiement OVA
Définir les variables de déploiement OVA.
ova_deployment_hostname: "nom d'hôte vcenter/esxi"
ova_deployment_username: "nom d'utilisateur vcenter/esxi"
ova_deployment_password: "mot de passe vcenter/esxi"
Définir le datastore cible. Les clusters de datastore ne sont pas pris en charge par le module.
ova_deployment_datastore: "datastore"
Les éléments suivants ne sont nécessaires que lors du déploiement sur un serveur vCenter. Si le dossier n'est pas défini, l'appliance sera déployée dans le dossier par défaut.
ova_deployment_datacenter: "datacenter vcenter"
ova_deployment_cluster: "cluster vcenter"
ova_deployment_folder: "dossier vcenter"
Les variables globales obligatoires suivantes doivent être définies :
Configuration OVA
Définir le nom du fichier OVA.
ova_file: "nom_du_fichier.ova"
Définir le chemin local vers le fichier OVA (ne pas utiliser de / en tête).
ova_path: "/chemin/vers/le_fichier_ova"
Les variables globales optionnelles suivantes peuvent être définies :
Configuration de téléchargement OVA
Définir l'URL du fichier OVA si la source est définie sur 'http' (ne pas utiliser de / en tête).
ova_url: "http[s]://example.com/ovas"
Les variables obligatoires suivantes doivent être définies dans les rôles qui utilisent ce rôle :
Propriétés OVA
Une paire clé:valeur pour la propriété réseau.
ova_networks:
"clé":"valeur"
Exemple :
ova_networks:
"Réseau 1": "étiquette"
Les propriétés OVA sous forme de paires clé:valeur dans un dictionnaire.
ova_properties:
"clé": "valeur"
"clé": "valeur"
Exemple :
ova_properties:
"guestinfo.cis.appliance.net.addr.family": "ipv4"
"guestinfo.cis.appliance.net.mode": "statique"
Les variables optionnelles suivantes peuvent être définies dans les rôles qui utilisent ce rôle :
Une chaîne contenant l'option de déploiement.
ova_deployment_option: "option"
Propriétés vApp OVA
Les propriétés vApp sous forme de liste de dictionnaires avec userConfigurable défini sur true.
vapp_properties:
- liste de dict1
- liste de dict2
Exemple :
vapp_properties:
- id: guestinfo.cis.deployment.node.type
type: string
value: "embedded"
userConfigurable: true
- id: guestinfo.cis.appliance.ssh.enabled
type: boolean
value: "true"
userConfigurable: true
Configuration matérielle
Définir le nombre de sockets CPU.
ova_hardware_num_cpus: 2
Définir la quantité de mémoire en Go.
ova_hardware_mem_gb: 6
Définir les disques à ajouter.
ova_hardware_disks:
- size_gb: 2
type: thin # Disque dur 1
- size_gb: 4
type: thin # Disque dur 2
Définir les réseaux à ajouter.
ova_hardware_networks:
- name: "étiquette du réseau" # nic 1
- name: "étiquette du réseau" # nic 2
Exemple de Playbook
Ce rôle est conçu pour être utilisé comme dépendance pour les rôles parents.