avinetworks.aviconfig
OBSOLETO
⛔️ OBSOLETO: Este repositorio ya no es compatible, por favor considera utilizar https://github.com/vmware/ansible-collection-alb en su lugar ya que este rol ha sido migrado a colecciones de Ansible.
Este rol permite al usuario configurar Avi simplemente proporcionando un diccionario de objetos de configuración de Avi. Este rol invoca los módulos de Ansible adecuados de Avi como tareas en el orden correcto, asegurando una configuración consistente y exitosa.
Requisitos
- python >= 2.7
- avisdk
Este rol requiere Ansible 2.2 o superior. Los requisitos están listados en el archivo de metadatos.
Por favor, instala avisdk desde pip antes de ejecutar este módulo.
pip install avisdk --upgrade
Instalación
Para instalar el módulo Ansible aviconfig, emite el comando en la máquina desde la que ejecutarás Ansible.
ansible-galaxy install avinetworks.aviconfig
Para más información, visita http://docs.ansible.com/ansible/galaxy.html
Variables del Rol
avi_config
Este es un diccionario de todos los recursos REST de Avi que el usuario desea configurar. El rol aviconfig llama a los Módulos de Ansible de Avi para configurar estas configuraciones en el Controlador de Avi. Ejemplo:
- name: Definiendo configuración de avi
set_fact:
avi_config:
pool:
- name: "foo-pool"
lb_algorithm: LB_ALGORITHM_ROUND_ROBIN
servers:
- ip:
addr: "42.42.42.42"
type: 'V4'
virtualservice:
- name: foo
services:
- port: 80
pool_ref: "/api/pool?name=foo-pool"
vip:
- ip_address:
addr: "10.10.10.10"
type: 'V4'
vip_id: '1'
- name: Aplicación Avi | Configurar Foo
import_role:
name: avinetworks.aviconfig
vars:
avi_config: "{{avi_config}}"
avi_config_file
Esto proporciona la ubicación al rol para leer los objetos de configuración de Avi. Carga la variable avi_config desde este archivo si está definido. Ejemplo:
- name: Aplicación Avi | Configurar VMWare Cloud con acceso de escritura
import_role:
name: avinetworks.aviconfig
vars:
avi_config_file: application/config.yml
avi_creds_file
Esto proporciona la ubicación de las variables de credenciales para el Controlador de Avi. Típicamente, este debería ser un archivo de Ansible vault. Ejemplo:
- name: Aplicación Avi | Configurar VMWare Cloud con acceso de escritura
import_role:
name: avinetworks.aviconfig
vars:
avi_config_file: application/config.yml
avi_creds_file: credentials/creds.yml
avi_config_state
Esta es una anulación global para eliminar todos los objetos REST de Avi que están listados en el directorio avi_config. Esto es útil para crear una configuración completa y luego eliminar todos los objetos.
avi_config_state=ausente
Ej. ansible-playbook site_applications.yml --extra-vars "site_dir=`pwd` avi_config_state=ausente"
Ejemplos de Playbooks
---
- hosts: localhost
connection: local
roles:
- role: avinetworks.avisdk
tasks:
- name: Aplicación Avi | Configurar foo
import_role:
name: avinetworks.aviconfig
vars:
avi_config_file: "foo/config.yml"
avi_creds_file: "vars/creds.yml"
Este ejemplo muestra cómo crear avi_config como parte de la tarea y pasarlo al rol.
---
- hosts: localhost
connection: local
roles:
- role: avinetworks.avisdk
tasks:
- name: Definiendo configuración de avi
set_fact:
avi_config:
pool:
- name: foo-pool
lb_algorithm: LB_ALGORITHM_ROUND_ROBIN
servers:
- ip:
addr: 42.42.42.42
type: V4
virtualservice:
- name: foo
services:
- port: 80
pool_ref: "/api/pool?name=foo-pool"
vip:
- ip_address:
addr: 10.10.10.10
type: V4
vip_id: '1'
- name: Aplicación Avi | Configurar foo
import_role:
name: avinetworks.aviconfig
vars:
avi_config: "{{avi_config}}"
avi_creds_file: "vars/creds.yaml"
Hay muchos más ejemplos ubicados en https://github.com/avinetworks/devops/tree/master/ansible.
Licencia
Apache 2.0
Información del Autor
Gaurav Rastogi
github: grastogi23
Ansible role to configure Avi
ansible-galaxy install avinetworks.aviconfig