Lee esto en otros idiomas:
English, 日本語, Portugues do Brasil, Française, Español.
Demostrar el uso de Ansible Tower función de encuesta. Las encuestas establecen variables adicionales para el playbook similares a “Solicitar variables adicionales”, pero de una manera fácil de usar de preguntas y respuestas. Las encuestas también permiten la validación de la entrada del usuario.
Ha instalado Apache en todos los hosts en el trabajo que acaba de ejecutar. Ahora vamos a extender esto:
Utilice un role adecuado que tenga una plantilla Jinja2 para implementar un archivo index.html
.
Crear un trabajo Template con una encuesta para recopilar los valores de la plantilla index.html
.
Iniciar el trabajo Template
Además, el role también se asegurará de que la configuración de Apache esté configurada correctamente, en caso de que se mezcle durante los otros ejercicios.
Consejo
La función de encuesta solo proporciona una consulta simple de datos: no admite principios de cuatro ojos, consultas basadas en datos dinámicos o menús anidados.
El Playbook y el role con la plantilla Jinja ya existen en el repositorio de Github https://github.com/ansible/workshop-examples en el directorio rhel/apache
**`.
Dirígete a la interfaz de usuario de Github y echa un vistazo al contenido: el playbook apache_role_install.yml
simplemente hace referencia al role. El role se puede encontrar en el subdirectorio roles/role_apache
.
templates/index.html.j2
marcado con ``.tasks/main.yml
que despliegan el archivo desde la plantilla.¿Qué hace este Playbook? Crea un archivo (dest) en los hosts administrados a partir de la plantilla (src).
El role también implementa una configuración estática para Apache. Esto es para asegurarse de que todos los cambios realizados en los capítulos anteriores se sobrescriben y sus ejemplos funcionan correctamente.
Dado que el Playbook y el role se encuentran en el mismo repositorio de Github que el Playbook apache_install.yml
, no requiere configurar un nuevo proyecto para este ejercicio.
Ahora creará una nueva plantilla que incluye una encuesta.
Ir a Templates, haga clic en el y elija Job Template
NAME: Create index.html
Configurar la plantilla para:
Utilice el Project Workshop Project
Utilice el Playbook apache_role_install.yml
Para ejecutar en node1
Para ejecutar en modo privilegiado
Inténtalo por ti mismo, la solución está a continuación.
Advertencia
Solución a continuación!
Parámetro | Valor |
---|---|
NAME | Create index.html |
JOB TYPE | Run |
INVENTORY | Workshop Inventory |
Project | Workshop Project |
PLAYBOOK | rhel/apache/apache_role_install.yml |
CREDENTIAL | Workshop Credentials |
OPTIONS | Enable Privilege Escalation |
Advertencia
¡No ejecute la plantilla todavía!
En la plantilla, haga clic en el botón ADD SURVEY
En ADD SURVEY PROMPT rellene:
Parámetro | Valor |
---|---|
PROMPT | First Line |
ANSWER VARIABLE NAME | first_line |
ANSWER TYPE | Text |
Clic en +ADD
De la misma manera añadir un segundo Survey Prompt
Parámetro | Valor |
---|---|
PROMPT | Second Line |
ANSWER VARIABLE NAME | second_line |
ANSWER TYPE | Text |
Clic en +ADD
Clic en SAVE para la encuesta
Clic en SAVE para la plantilla
Ahora inicie la plantilla de trabajo Create index.html.
Antes del lanzamiento real, la encuesta le preguntará por First Line y Second Line. Rellene algún texto y haga clic en Next. La siguiente ventana muestra los valores, si todo está bien, ejecute el trabajo haciendo clic en Launch
Consejo
Observe cómo las dos líneas del suevey se muestran a la izquierda de la vista Job como Extra Variables.
Una vez completado el trabajo, compruebe la página principal de Apache. En la consola SSH del host de control, ejecute curl
en la dirección IP de su node1
:
$ curl http://22.33.44.55
<body>
<h1>Apache is running fine</h1>
<h1>This is survey field "First Line": line one</h1>
<h1>This is survey field "Second Line": line two</h1>
</body>
Observe cómo las dos variables fueron utilizadas por el playbook para crear el contenido del archivo index.html
.
Navegación
Ejercicio anterior - Próximo Ejercicio
Haga clic aquí para volver al Taller Ansible for Red Hat Enterprise Linux