diff --git a/docs/latex/references.bib b/docs/latex/references.bib index 0d6ba89d1781570f15fea72f3e8869a08d9ba533..187e24cf548617cc01b29679dd0cb84f12786142 100644 --- a/docs/latex/references.bib +++ b/docs/latex/references.bib @@ -103,6 +103,17 @@ note = {Accedido: 2019-06-20} publisher = {Packt Publishing} } +@InBook{openstack-cookbook-book, + author = {Jackson, Kevin and Bunch, Cody and Sigler, Egle and Denton, James}, + title = {Openstack Cloud Computing Cookbook}, + year = {2018}, + isbn = {9781788398763}, + edition = {4th}, + chapter = {1 Installing Openstack with Ansible}, + pages = {16}, + publisher = {Packt Publishing} +} + @Misc{openstack-design, title = {{Design}}, author = {{Openstack}}, @@ -299,6 +310,55 @@ howpublished = {\url{https://review.opendev.org/#/c/603860/}}, note = {Accedido: 2019-07-05} } +@Misc{openstack-projects-users, +title = {{Manage projects and users}}, +author = {{Openstack}}, +howpublished = {\url{https://docs.openstack.org/horizon/latest/admin/manage-projects-and-users.html}}, +note = {Accedido: 2019-08-03} +} + +@Misc{openstack-manage-flavors, +title = {{Manage flavors}}, +author = {{Openstack}}, +howpublished = {\url{https://docs.openstack.org/horizon/latest/admin/manage-flavors.html}}, +note = {Accedido: 2019-08-03} +} + +@Misc{openstack-settings-reference, +title = {{Settings Reference}}, +author = {{Openstack}}, +howpublished = {\url{https://docs.openstack.org/horizon/queens/configuration/settings.html}}, +note = {Accedido: 2019-08-04} +} + +@Misc{openstack-obtain-images, +title = {{Get images}}, +author = {{Openstack}}, +howpublished = {\url{https://docs.openstack.org/image-guide/obtain-images.html}}, +note = {Accedido: 2019-08-04} +} + +@Misc{openstack-manage-networks, +title = {{Create and manage networks}}, +author = {{Openstack}}, +howpublished = {\url{https://docs.openstack.org/horizon/latest/user/create-networks.html}}, +note = {Accedido: 2019-08-03} +} + +@Misc{openstack-security-instances, +title = {{Configure access and security for instances}}, +author = {{Openstack}}, +howpublished = {\url{https://docs.openstack.org/horizon/latest/user/configure-access-and-security-for-instances.html}}, +note = {Accedido: 2019-08-03} +} + +@Misc{openstack-manage-instances, +title = {{Launch and manage instances}}, +author = {{Openstack}}, +howpublished = {\url{https://docs.openstack.org/horizon/latest/user/launch-instances.html}}, +note = {Accedido: 2019-08-03} +} + @Misc{ansible-modules, title = {{Module Index}}, author = {{Ansible}}, diff --git a/docs/latex/report.pdf b/docs/latex/report.pdf index bb827963b442528cd339cd698ca58480635457d9..4f871dd6bfe501ce6b1a0d34c586f6afcf243ecb 100644 Binary files a/docs/latex/report.pdf and b/docs/latex/report.pdf differ diff --git a/docs/latex/report.tex b/docs/latex/report.tex index ecf9d9669b51672331c26e5ddba4fabcd053880a..9b3d4b71bcc43f95300bdce322f7434ce6411ed3 100644 --- a/docs/latex/report.tex +++ b/docs/latex/report.tex @@ -6,7 +6,7 @@ \usepackage[T1]{fontenc} %% Sets page size and margins -\usepackage[a4paper,top=3cm,bottom=2cm,left=3cm,right=3cm,marginparwidth=1.75cm]{geometry} +\usepackage[a4paper,top=3cm,bottom=2cm,left=2cm,right=2cm,marginparwidth=1.75cm]{geometry} %% Useful packages \usepackage{amsmath} @@ -517,22 +517,17 @@ A continuación se presenta un diseño que ilustra servicios desplegados en cont \label{containers-deploy} \end{figure} -Como se menciona anteriormente los contenedores que corren servicios de Openstack requieren de interfaces virtuales para conectarse con los bridges del nodo físico. Además se puede observar cómo varían las conexiones necesarias a los distintos tipos de red, en función del tipo de agente que corre en el contenedor. Al utilizar contenedores, OSA crea automáticamente una nueva red que se utilizará para la administración de los mismos (por ejemplo para descargar paquetes). Un punto a tener en cuenta es que Ansible para crear esta subred utiliza el rango 10.0.3.0/24. +Como se menciona anteriormente los contenedores que corren servicios de Openstack requieren de interfaces virtuales para conectarse con los bridges del nodo físico. Además se puede observar cómo varían las conexiones necesarias a los distintos tipos de red, en función del tipo de agente que corre en el contenedor. Al utilizar contenedores, OSA crea automáticamente una nueva red que se utilizará para la administración de los mismos (por ejemplo para descargar paquetes). Un punto a tener en cuenta es que Ansible para crear esta subred utiliza el rango 10.0.3.0/24.\\ + +A continuación se presenta el diagrama de una arquitectura modelo de Openstack Ansible en un ambiente de producción que involucra los conceptos mencionados en puntos anteriores. \begin{figure}[H] \centering \includegraphics[width=1.0\columnwidth]{diagrama-openstack-1} - \caption{} + \caption{Extraída de \cite{openstack-cookbook-book}} \label{diagrama-openstack-1} \end{figure} -\begin{figure}[H] - \centering - \includegraphics[width=1.0\columnwidth]{diagrama-openstack-2} - \caption{} - \label{diagrama-openstack-2} -\end{figure} - \section{Configuración OSA} En esta sección se presentan las configuraciones y conceptos más relevantes del nodo Deploy a tener en cuenta durante un despliegue de Openstack utilizando Ansible. Estas incluyen las convenciones de directorios empleadas, la configuración estándar y el significado del contenido de los archivos que deben ser modificados. @@ -565,6 +560,16 @@ Es el principal archivo de configuración, creado por el operador de Openstack. \chapter{Instalación} +\section{Diseño de arquitectura} +A continuación se presenta un diagrama \ref{diseño-arquitectura} de la arquitectura diseñada para la instalación de Openstack Ansible. Al tratarse de un ambiente meramente de prueba, sólo se cuenta con un nodo de cada tipo definido previamente. En el mismo se puede apreciar que no se han utilizado VLANs ni bonds en las interfaces de los servidores, sino que se han agregado tantas interfaces físicas como fueran necesarias. Se detallan también las numeraciones IP a ser utilizadas en cada una de las redes necesarias y las asignaciones a los diferentes bridges de cada uno de los nodos. Cabe mencionar que la IP pública del balanceador de carga pertenece a la subred en la que se encuentra el servidor físico sobre el cual se virtualizarán todos los nodos, con el fin de tener acceso externo a la plataforma. + +\begin{figure}[H] + \centering + \includegraphics[width=1.0\columnwidth]{dis-arquitectura} + \caption{} + \label{diseño-arquitectura} +\end{figure} + \section{Ambiente de trabajo} \subsection{Hardware utilizado} @@ -862,8 +867,6 @@ Los nodos virtualizados en el servidor renata con la configuración por defecto % ------------------------------------------------------ -\section{Diseño de arquitectura} - \section{Preparación de nodos} En la siguiente sección se detallan los pasos necesarios a seguir en cada uno de los nodos para iniciar con la instalación de Openstack. Para realizar dicha configuración inicial será necesario que los nodos cuenten con conexión a internet. En el ambiente de trabajo actual, esto es equivalente a verificar que las variables del proxy estén bien configuradas. @@ -1618,6 +1621,15 @@ deployment_environment_variables: no_proxy: "localhost,127.0.0.1,{{ internal_lb_vip_address }},{{ external_lb_vip_address }},{% for host in groups['keystone_all'] %}{{ hostvars[host]['container_address'] }}{% if not loop.last %},{% endif %}{% endfor %}" \end{lstlisting} +Además, para poder crear una imagen desde el Horizon remotamente se debe agregar sobre el final del archivo la siguiente directiva: + +\begin{lstlisting}[gobble=0] +horizon_images_upload_mode: "legacy" +\end{lstlisting} + +Si bien en \cite{openstack-settings-reference} se menciona que el valor por defecto de esta variable es \textsl{legacy}, durante el proceso de instalación se detectó que es configurada como \textsl{direct}. La diferencia entre estos modos es que \textsl{legacy} permite subir archivos locales desde la máquina del usuario al servidor web de Horizon y luego de este hacia el módulo Glance. Por su parte \textsl{direct} evita esta sobrecarga de red y almacenamiento en el servidor web, conectado a través de una API al usuario con el módulo Glance. Sin embargo, esto último requiere de configuraciones extras como tener acceso al puerto 9292 (API de Glance) y un correcto uso de CORS. + + \subsubsection{cinder.yml} En caso de utilizar un backend de storage LVM se debe indicar que este debe ser deployado en metal, para esto se debe configurar el archivo \path{/etc/openstack_deploy/env.d/cinder-volume.yml} con lo siguiente: @@ -1751,15 +1763,323 @@ Luego de que la última playbook haya terminado su ejecución sin error, debemos \end{enumerate} -\section{Interaccción con Openstack} -Esta sección se realizó utilizando el dashboard de Openstack... +\chapter{Interaccción} +Esta sección se realizó utilizando el dashboard de Openstack, brindado por el módulo Horizon. Debido a las limitaciones de red ya mencionadas, es necesario realizar un reenvío de puertos mediante SSH para acceder al mismo. Esto se logra en dos pasos mediante: + +\begin{enumerate} + \item Primero se realiza un forwarding desde la máquina local hasta lulu: + \begin{lstlisting} + $ ssh -L 2443:localhost:2443 <usuario_fing>@lulu.fing.edu.uy + \end{lstlisting} + + \item Una vez dentro de lulu, se realiza un nuevo forwarding desde la misma hasta la IP pública de el balanceador, a través del servidor renata. + \begin{lstlisting} + $ ssh -L 2443:192.168.60.160:443 openstack@192.168.60.242 -4 + \end{lstlisting} + +\end{enumerate} + +Luego, accediendo a través de un navegador a la dirección https://localhost:2443 se llega a la vista de login de Openstack. + +\begin{figure}[H] + \centering + \includegraphics[width=0.5\columnwidth]{openstack-login} + \caption{Vista del login de Horizon.} + \label{openstack-login} +\end{figure} + +Una vez allí, se debe acceder con la cuenta de administrador para realizar las configuraciones iniciales utilizando las credenciales indicadas en el último paso de la sección de verificación. + +\section{Configuraciones de administrador} +Para que los usuarios finales puedan operar sobre la plataforma Openstack, se deben configurar ciertos aspectos como lo son proyectos, usuarios, flavors y redes provider, entre otros. A continuación se presenta un instructivo básico para ello. + +\subsubsection{Crear proyecto} +Lo primero a configurar es crear un proyecto sobre el cual se realizarán las pruebas siguientes. Para ello en el menú lateral se accede a Identity > Projects > Create Project, completando los campos como se muestra en la figura \ref{openstack-create-project}. + +\begin{figure}[H] + \centering + \includegraphics[width=0.8\columnwidth]{openstack-create-project} + \caption{Creación de un proyecto (1/2).} + \label{openstack-create-project} +\end{figure} + +Antes de confirmar la creación, en la pestaña Project Members agregamos al admin como miembro del proyecto. + +\begin{figure}[H] + \centering + \includegraphics[width=0.8\columnwidth]{openstack-create-project-2} + \caption{Creación de un proyecto (2/2).} + \label{openstack-create-project-2} +\end{figure} + +\subsubsection{Crear usuario} +Luego se crea un usuario de pruebas accediendo nuevamente por la pestaña lateral a Identity > Users > Create User, rellenando los campos solicitados como se presenta en la figura \ref{openstack-create-user}. + +\begin{figure}[H] + \centering + \includegraphics[width=0.8\columnwidth]{openstack-create-user} + \caption{Creación de un usuario.} + \label{openstack-create-user} +\end{figure} + +Por más detalles se puede visitar \cite{openstack-projects-users}. + +\subsubsection{Crear flavor} +El siguiente paso será crear un flavor de pruebas con algunas características básicas y permitirle acceso al proyecto de test creado. Se accede desde Admin > Compute > Flavors. Esto se ilustra en las figuras \ref{openstack-create-flavor} y \ref{openstack-create-flavor-2}. Más detalles en \cite{openstack-manage-flavors}. + +\begin{figure}[H] + \centering + \includegraphics[width=0.8\columnwidth]{openstack-create-flavor} + \caption{Creación de un flavor (1/2).} + \label{openstack-create-flavor} +\end{figure} + +\begin{figure}[H] + \centering + \includegraphics[width=0.8\columnwidth]{openstack-create-flavor-2} + \caption{Creación de un flavor (2/2).} + \label{openstack-create-flavor-2} +\end{figure} + +\subsubsection{Crear provider network} +Este tipo de red es manejado por los administradores y para crearlas se debe acceder a Admin > Network > Networks > Create Network, completando el formulario como se muestra en las imágenes \ref{openstack-create-provider-network-1} y \ref{openstack-create-provider-network-2}. + +\begin{figure}[H] + \centering + \includegraphics[width=0.8\columnwidth]{openstack-create-provider-network-1} + \caption{Creación de una red provider (1/2).} + \label{openstack-create-provider-network-1} +\end{figure} -\subsection{Ejemplo de uso} -- dos redes conectadas por un router y una máquina en cada una, ping entre ellas \\ -- acceso SSH a una de las máquinas con una floating IP +l valor del campo Physical Network es el especificado en la red de tipo “flat” en la seccion de provider networks del archivo \path{openstack_user_config.yml}. + +\begin{figure}[H] + \centering + \includegraphics[width=0.8\columnwidth]{openstack-create-provider-network-2} + \caption{Creación de una red provider (2/2).} + \label{openstack-create-provider-network-2} +\end{figure} + +\section{Interacción de un usuario} +A partir de ahora, el ambiente se encuentra con las configuraciones mínimas necesarias para que el usuario test pueda acceder y hacer uso de la plataforma. Por lo tanto, los pasos a continuación se realizan sobre el proyecto de prueba, habiéndose autenticado previamente con el usuario test. + +\subsubsection{Crear imagen} +Lo primero que deberá hacer el usuario para crear una instancia es crear la imagen que será utilizada por esta. Desde \cite{openstack-obtain-images} se pueden descargar formatos de imágenes soportados por Openstack de la mayoría de los sistemas operativos Linux. La creación de la imagen se realiza desde el menú Project > Compute > Images > Create Image. + +\begin{figure}[H] + \centering + \includegraphics[width=0.8\columnwidth]{openstack-create-image-1} + \caption{Creación de una imagen (1/2).} + \label{openstack-create-image-1} +\end{figure} + +En la primer pantalla se establecen los datos básicos para la creación de la imagen y en la siguiente se puede establecer medatada más específica de la misma. + +\begin{figure}[H] + \centering + \includegraphics[width=0.8\columnwidth]{openstack-create-image-2} + \caption{Creación de una imagen (2/2).} + \label{openstack-create-image-2} +\end{figure} + +\subsubsection{Crear red} +La creación de nuevas subredes se realiza accediendo a Project > Network > Networks > Create Network. Esta funcionalidad consta de tres pasos detallados a continuación: + +\begin{figure}[H] + \centering + \includegraphics[width=0.8\columnwidth]{openstack-create-network-1} + \caption{Creación de una red (1/3).} + \label{openstack-network-image-1} +\end{figure} + +\begin{figure}[H] + \centering + \includegraphics[width=0.8\columnwidth]{openstack-create-network-2} + \caption{Creación de una red (2/3).} + \label{openstack-network-image-2} +\end{figure} + +\begin{figure}[H] + \centering + \includegraphics[width=0.8\columnwidth]{openstack-create-network-3} + \caption{Creación de una red (3/3).} + \label{openstack-network-image-3} +\end{figure} + +\subsubsection{Crear router} +La creación de nuevos routers se realiza accediendo a Project > Network > Routers > Create Router. + +\begin{figure}[H] + \centering + \includegraphics[width=0.7\columnwidth]{openstack-create-router} + \caption{Creación de un router.} + \label{openstack-network-router} +\end{figure} + +Más detalles de estas configuraciones se pueden encontrar en \cite{openstack-manage-networks}. + +\subsubsection{Crear interfaz de router} +Ir a Network > Routers y en la grilla desplegada seleccionar el router. En la pestaña de Interfaces se encuentra la opción para crear una nueva interfaz. + +\begin{figure}[H] + \centering + \includegraphics[width=0.7\columnwidth]{openstack-create-router-interface} + \caption{Creación de una interfaz en un router.} + \label{openstack-network-router-interface} +\end{figure} + +Para la creación de una interfaz se debe ingresar la subred a la que estará conectada y opcionalmente la IP de la misma. + +\subsubsection{Crear key pair} +La creación de key pairs se realiza en Project > Compute >Key Pairs > Create Key Pair. + +\begin{figure}[H] + \centering + \includegraphics[width=0.9\columnwidth]{openstack-create-key-pair} + \caption{Creación de una key pair.} + \label{openstack-network-key-pair} +\end{figure} + +Luego al momento de crear una nueva instancia se debe seleccionar una clave. Se debe tener en cuenta que la asignación de key pairs a las instancias mediante Horizon solamente se puede realizar en el momento de creación de las mismas. Más detalles se encuentran en \cite{openstack-security-instances}. + +\subsubsection{Lanzar una instancia} +La creación de nuevas instancias se realiza en Project > Instances > Launch Instance. +En primer lugar se especifican aspectos básicos como el nombre y la descripción \ref{openstack-launch-instance-1}. + +\begin{figure}[H] + \centering + \includegraphics[width=0.9\columnwidth]{openstack-launch-instance-1} + \caption{Lanzar una nueva instancia (1/5).} + \label{openstack-launch-instance-1} +\end{figure} + +Luego se deberá indicar la imagen a ser utilizada para bootear la máquina. En este caso se elige la imagen imagen-test-1 creada anteriormente· + +\begin{figure}[H] + \centering + \includegraphics[width=0.9\columnwidth]{openstack-launch-instance-2} + \caption{Lanzar una nueva instancia (2/5).} + \label{openstack-launch-instance-2} +\end{figure} + +A continuación se determinan los recursos virtuales de la instancia mediante la selección de un flavor. + +\begin{figure}[H] + \centering + \includegraphics[width=0.9\columnwidth]{openstack-launch-instance-3} + \caption{Lanzar una nueva instancia (3/5).} + \label{openstack-launch-instance-3} +\end{figure} + +El siguiente paso requerido es la selección de una red. + +\begin{figure}[H] + \centering + \includegraphics[width=0.9\columnwidth]{openstack-launch-instance-4} + \caption{Lanzar una nueva instancia (4/5).} + \label{openstack-launch-instance-4} +\end{figure} + +Finalmente, la última configuración mínimamente requerida para acceder en forma remota a la instancia es configurar una key pair. + +\begin{figure}[H] + \centering + \includegraphics[width=0.9\columnwidth]{openstack-launch-instance-5} + \caption{Lanzar una nueva instancia (5/5).} + \label{openstack-launch-instance-5} +\end{figure} + +Más detalles sobre el lanzamiento de una instancia se pueden ver accediendo a \cite{openstack-manage-instances}. + +\section{Acceso a una instancia} + +\subsection{Por SPICE} +Para acceder a la consola de la instancia creada a través del protocolo SPICE [57], es necesario dirigirse a Project > Compute > Instances > instances-test-1. Allí en la pestaña console deberíamos obtener el acceso, sin embargo debido a las limitaciones de red ya conocidas es necesario realizar un nuevo forwarding de puertos (en este caso el 6082) y acceder a través de localhost. Para esto: + +\begin{enumerate} + \item Primero se realiza un forwarding desde la máquina local hasta lulu: + \begin{lstlisting} + $ ssh -L 6082:localhost:6082 <usuario_fing>@lulu.fing.edu.uy + \end{lstlisting} + + \item Una vez dentro de lulu, se realiza un nuevo forwarding desde la misma hasta la IP pública de el balanceador, a través del servidor renata. + \begin{lstlisting} + $ ssh -L 6082:192.168.60.160:6082 openstack@192.168.60.242 -4 + \end{lstlisting} + +\end{enumerate} + +Luego en la pestaña de console, abrimos el link asociado a \textit{'Click here to show only console'}, esto intentará cargar en el navegador una URL similar a la siguiente:\\ +\url{https://192.168.60.160:6082/spice_auto.html?token=a3703173-3973-440d-babf-f8b662b2fd25&title=instance-test-1(430c92de-3cab-4b57-be7e-6394793dc423)} +\\ + +En la misma debemos sustituir la IP 192.168.60.160 por localhost para utilizar el forwarding realizado. Allí lograremos acceder a la consola SPICE. + +\subsection{Por SSH} +Para lograr acceder en forma externa por SSH son necesarias algunas configuraciones extras. + +\subsubsection{Asociar una Floating IP a la instancia} +Estas IPs son necesarias para poder acceder a las instancias desde redes externas. A continuación se detalla cómo realizarlo a partir de Project > Network > Floating IPs > Allocate IP To Project: + + +\begin{figure}[H] + \centering + \includegraphics[width=0.8\columnwidth]{openstack-allocate-floating-ip} + \caption{Asignación de floating IP.} + \label{openstack-allocate-floating-ip} +\end{figure} + +Luego se debe asociar con el puerto de la instancia creada desde Project > Network > Floating IPs > Associate. + +\begin{figure}[H] + \centering + \includegraphics[width=0.8\columnwidth]{openstack-associate-floating-ip} + \caption{Asociación de floating IP.} + \label{openstack-associate-floating-ip} +\end{figure} + +\subsubsection{Modificar security group} +Los security groups en Openstack son firewalls virtuales en donde se definen una serie de reglas a ser aplicadas al tráfico de las instancias. El grupo creado por defecto en la instalación de Openstack contiene las siguientes reglas: + +\begin{figure}[H] + \centering + \includegraphics[width=0.8\columnwidth]{openstack-security-group-default} + \caption{Reglas security group por defecto.} + \label{openstack-security-group-default} +\end{figure} + +Estas reglas permiten el tráfico de salida hacia cualquier IP y solamente se permite el tráfico de entrada de instancias del mismo security group. + +Para tener conectividad SSH e ICMP con las instancias creadas se deben agregar las siguientes reglas accediendo por Project > Network > Security Groups > Manage Rules > Add Rule. + +\begin{figure}[H] + \centering + \includegraphics[width=0.8\columnwidth]{openstack-create-security-rule-icmp} + \caption{Agregar regla para tráfico ICMP.} + \label{openstack-security-group-icmp} +\end{figure} + +\begin{figure}[H] + \centering + \includegraphics[width=0.8\columnwidth]{openstack-create-security-rule-ssh} + \caption{Agregar regla para tráfico SSH.} + \label{openstack-security-group-ssh} +\end{figure} + +\subsubsection{SSH} +Finalmente, para acceder a la consola de la instancia creada a través de SSH desde el servidor renata es necesario copiar la clave generada en el paso de key pair y luego acceder mediante: +\begin{lstlisting}[gobble=0] +$ ssh -i keypair-test-1.pem cirros@10.0.4.17 +\end{lstlisting} + +Una vez dentro, para tener conectividad a internet se debe configurar el mismo proxy que fue asignado a todos los nodos de Openstack, es decir: +\begin{lstlisting}[gobble=0] +$ export http_proxy="http://10.0.1.1:3128" +\end{lstlisting} +%--------------------------------------------------------------- -\section{Inconvenientes encontrados} +\chapter{Inconvenientes} \subsubsection{Bloqueo de paquetes} En los servidores virtuales y el servidor físico las reglas por defecto del firewall de CentOS bloquean tanto el tráfico utilizado para interconectar los servicios de Openstack como el empleado para las conexiones con redes externas. Para solucionar esto de forma momentánea se eliminaron estas reglas con los comandos: @@ -1813,7 +2133,7 @@ La solución para este problema es actualizar el paquete percona-release, dentro \subsubsection{Subred reservada} Debido a que no se encuentra especificado en la documentación oficial de Openstack-Ansible, en las primeras instalaciones realizadas la subred definida para la red de tunelización (vxlan) fue la 10.0.3.0/24. Esto generaba grandes inconsistencias de red que no tenían una causa identificada claramente. Luego de un extenso análisis de la situación se logró determinar que la red creada internamente por Openstack para la comunicación entre contenedores LXC utiliza dicho rango. En función de esta observación es que se especificó el rango 10.0.10.0/24 para la red vxlan. -\section{Trabajo a futuro} +\chapter{Trabajo a futuro} \subsubsection{Firewall} Deshabilitar por completo la denegación de paquetes por defecto en el firewall de CentOS deja el servidor expuesto ante vulnerabilidades, lo cual para un ambiente de producción es inadmisible. Como aspecto a mejorar se propone analizar y documentar todas las conexiones HTTP realizadas por Openstack Ansible durante su instalación y en su posterior ejecución entre cada uno de los nodos involucrados. Una vez identificadas, se debe agregar en cada nodo las reglas iptables correspondientes que habiliten dichas conexiones en particular. @@ -1823,7 +2143,7 @@ Deshabilitar por completo la denegación de paquetes por defecto en el firewall - brindar conexión directa a internet \\ - investigar y documentar la gestión de openstack una vez en operación \\ -\section{Conclusiones} +\chapter{Conclusiones} - importancia de la herramienta openstack \\ - vital importancia de utilizar un gestor de instalación como ansible \\ - aun así adquirir los conocimientos necesarios para desplegar un datacenter con OSA no es para nada trivial (casi 500 horas de trabajo salu2) diff --git a/docs/latex/report.toc b/docs/latex/report.toc index 4171c761d8685d87c637035cfd28d5b66b8a858d..db5c5b004463e4ae34aa1ae2d974cb48cc2dabde 100644 --- a/docs/latex/report.toc +++ b/docs/latex/report.toc @@ -3,17 +3,17 @@ \contentsline {chapter}{\numberline {2}Marco te\IeC {\'o}rico}{4}{chapter.2} \contentsline {section}{\numberline {2.1}Cloud computing}{4}{section.2.1} \contentsline {section}{\numberline {2.2}Virtualizaci\IeC {\'o}n}{5}{section.2.2} -\contentsline {subparagraph}{KVM}{6}{section*.3} +\contentsline {subparagraph}{KVM}{5}{section*.3} \contentsline {section}{\numberline {2.3}Contenerizaci\IeC {\'o}n}{6}{section.2.3} -\contentsline {subparagraph}{LXC}{7}{section*.5} -\contentsline {section}{\numberline {2.4}Datacenters}{7}{section.2.4} +\contentsline {subparagraph}{LXC}{6}{section*.5} +\contentsline {section}{\numberline {2.4}Datacenters}{6}{section.2.4} \contentsline {section}{\numberline {2.5}Redes}{7}{section.2.5} -\contentsline {subparagraph}{Flat}{8}{section*.6} -\contentsline {subparagraph}{VLAN}{8}{section*.7} +\contentsline {subparagraph}{Flat}{7}{section*.6} +\contentsline {subparagraph}{VLAN}{7}{section*.7} \contentsline {subparagraph}{VXLAN}{8}{section*.8} \contentsline {chapter}{\numberline {3}Openstack}{9}{chapter.3} \contentsline {section}{\numberline {3.1}Origen y definici\IeC {\'o}n}{9}{section.3.1} -\contentsline {section}{\numberline {3.2}M\IeC {\'o}dulos Core}{10}{section.3.2} +\contentsline {section}{\numberline {3.2}M\IeC {\'o}dulos Core}{9}{section.3.2} \contentsline {subsection}{\numberline {3.2.1}Keystone}{10}{subsection.3.2.1} \contentsline {subsection}{\numberline {3.2.2}Nova}{11}{subsection.3.2.2} \contentsline {subparagraph}{API}{12}{section*.12} @@ -28,7 +28,7 @@ \contentsline {subsection}{\numberline {3.2.4}Glance}{15}{subsection.3.2.4} \contentsline {subparagraph}{Creaci\IeC {\'o}n de una VM}{16}{section*.23} \contentsline {subsection}{\numberline {3.2.5}Cinder}{17}{subsection.3.2.5} -\contentsline {subsection}{\numberline {3.2.6}Swift}{18}{subsection.3.2.6} +\contentsline {subsection}{\numberline {3.2.6}Swift}{19}{subsection.3.2.6} \contentsline {subparagraph}{Principales componentes}{19}{section*.27} \contentsline {section}{\numberline {3.3}Tipos de nodos}{20}{section.3.3} \contentsline {subparagraph}{Nodo de control}{20}{section*.28} @@ -36,12 +36,12 @@ \contentsline {subparagraph}{Nodo de c\IeC {\'o}mputo}{20}{section*.30} \contentsline {subparagraph}{Nodo de almacenamiento}{20}{section*.31} \contentsline {subparagraph}{Nodo de balanceamiento de carga}{20}{section*.32} -\contentsline {section}{\numberline {3.4}Servicios de infraestructura}{20}{section.3.4} -\contentsline {subparagraph}{Galera - MariaDB}{20}{section*.33} -\contentsline {subparagraph}{Message queue}{20}{section*.34} +\contentsline {section}{\numberline {3.4}Servicios de infraestructura}{21}{section.3.4} +\contentsline {subparagraph}{Galera - MariaDB}{21}{section*.33} +\contentsline {subparagraph}{Message queue}{21}{section*.34} \contentsline {subparagraph}{Memcached}{21}{section*.35} \contentsline {section}{\numberline {3.5}M\IeC {\'e}todos de instalaci\IeC {\'o}n}{21}{section.3.5} -\contentsline {subsection}{\numberline {3.5.1}Ansible}{21}{subsection.3.5.1} +\contentsline {subsection}{\numberline {3.5.1}Ansible}{22}{subsection.3.5.1} \contentsline {subparagraph}{Nodo de control}{22}{section*.36} \contentsline {subparagraph}{Inventario}{22}{section*.37} \contentsline {subparagraph}{M\IeC {\'o}dulos}{22}{section*.38} @@ -55,45 +55,62 @@ \contentsline {subsubsection}{Interfaces de red}{23}{section*.45} \contentsline {section}{\numberline {3.7}Configuraci\IeC {\'o}n OSA}{27}{section.3.7} \contentsline {subsection}{\numberline {3.7.1}Convenciones}{27}{subsection.3.7.1} -\contentsline {subsection}{\numberline {3.7.2}Inventario}{27}{subsection.3.7.2} -\contentsline {subsection}{\numberline {3.7.3}openstack\_user\_config.yml}{27}{subsection.3.7.3} -\contentsline {chapter}{\numberline {4}Instalaci\IeC {\'o}n}{28}{chapter.4} -\contentsline {section}{\numberline {4.1}Ambiente de trabajo}{28}{section.4.1} -\contentsline {subsection}{\numberline {4.1.1}Hardware utilizado}{28}{subsection.4.1.1} -\contentsline {subsection}{\numberline {4.1.2}Conexi\IeC {\'o}n remota hacia el servidor renata}{28}{subsection.4.1.2} -\contentsline {subsection}{\numberline {4.1.3}Virtualizaci\IeC {\'o}n con KVM}{29}{subsection.4.1.3} -\contentsline {subsubsection}{Utilizaci\IeC {\'o}n virt-manager}{29}{section*.52} -\contentsline {subsection}{\numberline {4.1.4}Especificaciones servidor renata}{36}{subsection.4.1.4} -\contentsline {subsection}{\numberline {4.1.5}Acceso al exterior desde nodos}{37}{subsection.4.1.5} -\contentsline {section}{\numberline {4.2}Dise\IeC {\~n}o de arquitectura}{38}{section.4.2} -\contentsline {section}{\numberline {4.3}Preparaci\IeC {\'o}n de nodos}{38}{section.4.3} -\contentsline {subsubsection}{Deploy}{38}{section*.70} -\contentsline {subsubsection}{Infra1}{40}{section*.72} -\contentsline {subsubsection}{Compute1}{42}{section*.73} -\contentsline {subsubsection}{Storage1}{42}{section*.74} -\contentsline {subsubsection}{HAproxy1}{43}{section*.75} -\contentsline {section}{\numberline {4.4}Configuraci\IeC {\'o}n}{44}{section.4.4} -\contentsline {subsection}{\numberline {4.4.1}Configuraci\IeC {\'o}n claves SSH}{44}{subsection.4.4.1} -\contentsline {subsection}{\numberline {4.4.2}Archivos de configuraci\IeC {\'o}n OSA}{44}{subsection.4.4.2} -\contentsline {subsubsection}{openstack\_user\_config.yml}{44}{section*.76} -\contentsline {subsubsection}{user\_variables.yml}{47}{section*.77} -\contentsline {subsubsection}{cinder.yml}{48}{section*.78} -\contentsline {subsection}{\numberline {4.4.3}Generaci\IeC {\'o}n de claves}{48}{subsection.4.4.3} -\contentsline {subsection}{\numberline {4.4.4}Correcciones}{48}{subsection.4.4.4} -\contentsline {subsubsection}{SELinux}{48}{section*.79} -\contentsline {section}{\numberline {4.5}Ejecuci\IeC {\'o}n de playbooks}{49}{section.4.5} -\contentsline {subsubsection}{setup-hosts.yml}{49}{section*.80} -\contentsline {subsubsection}{install-haproxy.yml}{49}{section*.81} -\contentsline {subsubsection}{setup-infrastructure.yml}{49}{section*.82} -\contentsline {subsubsection}{setup-openstack.yml}{49}{section*.83} -\contentsline {section}{\numberline {4.6}Verificaci\IeC {\'o}n}{50}{section.4.6} -\contentsline {section}{\numberline {4.7}Interaccci\IeC {\'o}n con Openstack}{50}{section.4.7} -\contentsline {subsection}{\numberline {4.7.1}Ejemplo de uso}{51}{subsection.4.7.1} -\contentsline {section}{\numberline {4.8}Inconvenientes encontrados}{51}{section.4.8} -\contentsline {subsubsection}{Bloqueo de paquetes}{51}{section*.84} -\contentsline {subsubsection}{M\IeC {\'o}dulo de seguridad SELinux}{51}{section*.85} -\contentsline {subsubsection}{Percona-release en playbook setup-infrastructure}{51}{section*.86} -\contentsline {subsubsection}{Subred reservada}{52}{section*.87} -\contentsline {section}{\numberline {4.9}Trabajo a futuro}{52}{section.4.9} -\contentsline {subsubsection}{Firewall}{52}{section*.88} -\contentsline {section}{\numberline {4.10}Conclusiones}{52}{section.4.10} +\contentsline {subsection}{\numberline {3.7.2}Inventario}{28}{subsection.3.7.2} +\contentsline {subsection}{\numberline {3.7.3}openstack\_user\_config.yml}{28}{subsection.3.7.3} +\contentsline {chapter}{\numberline {4}Instalaci\IeC {\'o}n}{29}{chapter.4} +\contentsline {section}{\numberline {4.1}Dise\IeC {\~n}o de arquitectura}{29}{section.4.1} +\contentsline {section}{\numberline {4.2}Ambiente de trabajo}{30}{section.4.2} +\contentsline {subsection}{\numberline {4.2.1}Hardware utilizado}{30}{subsection.4.2.1} +\contentsline {subsection}{\numberline {4.2.2}Conexi\IeC {\'o}n remota hacia el servidor renata}{31}{subsection.4.2.2} +\contentsline {subsection}{\numberline {4.2.3}Virtualizaci\IeC {\'o}n con KVM}{32}{subsection.4.2.3} +\contentsline {subsubsection}{Utilizaci\IeC {\'o}n virt-manager}{32}{section*.52} +\contentsline {subsection}{\numberline {4.2.4}Especificaciones servidor renata}{39}{subsection.4.2.4} +\contentsline {subsection}{\numberline {4.2.5}Acceso al exterior desde nodos}{40}{subsection.4.2.5} +\contentsline {section}{\numberline {4.3}Preparaci\IeC {\'o}n de nodos}{40}{section.4.3} +\contentsline {subsubsection}{Deploy}{41}{section*.70} +\contentsline {subsubsection}{Infra1}{42}{section*.72} +\contentsline {subsubsection}{Compute1}{44}{section*.73} +\contentsline {subsubsection}{Storage1}{45}{section*.74} +\contentsline {subsubsection}{HAproxy1}{45}{section*.75} +\contentsline {section}{\numberline {4.4}Configuraci\IeC {\'o}n}{46}{section.4.4} +\contentsline {subsection}{\numberline {4.4.1}Configuraci\IeC {\'o}n claves SSH}{46}{subsection.4.4.1} +\contentsline {subsection}{\numberline {4.4.2}Archivos de configuraci\IeC {\'o}n OSA}{47}{subsection.4.4.2} +\contentsline {subsubsection}{openstack\_user\_config.yml}{47}{section*.76} +\contentsline {subsubsection}{user\_variables.yml}{49}{section*.77} +\contentsline {subsubsection}{cinder.yml}{50}{section*.78} +\contentsline {subsection}{\numberline {4.4.3}Generaci\IeC {\'o}n de claves}{50}{subsection.4.4.3} +\contentsline {subsection}{\numberline {4.4.4}Correcciones}{50}{subsection.4.4.4} +\contentsline {subsubsection}{SELinux}{50}{section*.79} +\contentsline {section}{\numberline {4.5}Ejecuci\IeC {\'o}n de playbooks}{51}{section.4.5} +\contentsline {subsubsection}{setup-hosts.yml}{51}{section*.80} +\contentsline {subsubsection}{install-haproxy.yml}{51}{section*.81} +\contentsline {subsubsection}{setup-infrastructure.yml}{51}{section*.82} +\contentsline {subsubsection}{setup-openstack.yml}{52}{section*.83} +\contentsline {section}{\numberline {4.6}Verificaci\IeC {\'o}n}{52}{section.4.6} +\contentsline {chapter}{\numberline {5}Interaccci\IeC {\'o}n}{53}{chapter.5} +\contentsline {section}{\numberline {5.1}Configuraciones de administrador}{54}{section.5.1} +\contentsline {subsubsection}{Crear proyecto}{54}{section*.85} +\contentsline {subsubsection}{Crear usuario}{55}{section*.88} +\contentsline {subsubsection}{Crear flavor}{56}{section*.90} +\contentsline {subsubsection}{Crear provider network}{58}{section*.93} +\contentsline {section}{\numberline {5.2}Interacci\IeC {\'o}n de un usuario}{59}{section.5.2} +\contentsline {subsubsection}{Crear imagen}{59}{section*.96} +\contentsline {subsubsection}{Crear red}{61}{section*.99} +\contentsline {subsubsection}{Crear router}{63}{section*.103} +\contentsline {subsubsection}{Crear interfaz de router}{63}{section*.105} +\contentsline {subsubsection}{Crear key pair}{64}{section*.107} +\contentsline {subsubsection}{Lanzar una instancia}{64}{section*.109} +\contentsline {section}{\numberline {5.3}Acceso a una instancia}{67}{section.5.3} +\contentsline {subsection}{\numberline {5.3.1}Por SPICE}{67}{subsection.5.3.1} +\contentsline {subsection}{\numberline {5.3.2}Por SSH}{68}{subsection.5.3.2} +\contentsline {subsubsection}{Asociar una Floating IP a la instancia}{68}{section*.115} +\contentsline {subsubsection}{Modificar security group}{68}{section*.118} +\contentsline {subsubsection}{SSH}{70}{section*.122} +\contentsline {chapter}{\numberline {6}Inconvenientes}{71}{chapter.6} +\contentsline {subsubsection}{Bloqueo de paquetes}{71}{section*.123} +\contentsline {subsubsection}{M\IeC {\'o}dulo de seguridad SELinux}{71}{section*.124} +\contentsline {subsubsection}{Percona-release en playbook setup-infrastructure}{71}{section*.125} +\contentsline {subsubsection}{Subred reservada}{72}{section*.126} +\contentsline {chapter}{\numberline {7}Trabajo a futuro}{73}{chapter.7} +\contentsline {subsubsection}{Firewall}{73}{section*.127} +\contentsline {chapter}{\numberline {8}Conclusiones}{74}{chapter.8} diff --git a/docs/latex/resources/Fotos nuevas/openstack-create-instance-keypair.png b/docs/latex/resources/Fotos nuevas/openstack-create-instance-keypair.png deleted file mode 100644 index 08ce1a13f601bc3a1ad6f6b369002be891f78a29..0000000000000000000000000000000000000000 Binary files a/docs/latex/resources/Fotos nuevas/openstack-create-instance-keypair.png and /dev/null differ diff --git a/docs/latex/resources/Fotos nuevas/openstack-create-provider-network-3.png b/docs/latex/resources/Fotos nuevas/openstack-create-provider-network-3.png deleted file mode 100644 index 66dab816ab7174b8a0f4a8929aaaf3a21c61dd9d..0000000000000000000000000000000000000000 Binary files a/docs/latex/resources/Fotos nuevas/openstack-create-provider-network-3.png and /dev/null differ diff --git a/docs/latex/resources/diagrama-openstack-2.jpg b/docs/latex/resources/diagrama-openstack-2.jpg deleted file mode 100644 index f10efd7329b7a59684c492007b10eb150a2ddb6c..0000000000000000000000000000000000000000 Binary files a/docs/latex/resources/diagrama-openstack-2.jpg and /dev/null differ diff --git a/docs/latex/resources/Fotos nuevas/Diagramita.jpeg b/docs/latex/resources/dis-arquitectura.jpg similarity index 100% rename from docs/latex/resources/Fotos nuevas/Diagramita.jpeg rename to docs/latex/resources/dis-arquitectura.jpg diff --git a/docs/latex/resources/openstack-add-interface.png b/docs/latex/resources/openstack-add-interface.png new file mode 100644 index 0000000000000000000000000000000000000000..dd9bf2a4ff0d224f27819b86c039adc215acdd71 Binary files /dev/null and b/docs/latex/resources/openstack-add-interface.png differ diff --git a/docs/latex/resources/openstack-allocate-floating-ip.png b/docs/latex/resources/openstack-allocate-floating-ip.png new file mode 100644 index 0000000000000000000000000000000000000000..4aa3425b99f23753e6a2fc9144ec9c907978a91a Binary files /dev/null and b/docs/latex/resources/openstack-allocate-floating-ip.png differ diff --git a/docs/latex/resources/openstack-associate-floating-ip.png b/docs/latex/resources/openstack-associate-floating-ip.png new file mode 100644 index 0000000000000000000000000000000000000000..5dc80dd0f7aab5848587582e03b577109581518c Binary files /dev/null and b/docs/latex/resources/openstack-associate-floating-ip.png differ diff --git a/docs/latex/resources/openstack-create-flavor-2.png b/docs/latex/resources/openstack-create-flavor-2.png new file mode 100644 index 0000000000000000000000000000000000000000..c603896417cf9ff34176fbd734627d2a343a9bd7 Binary files /dev/null and b/docs/latex/resources/openstack-create-flavor-2.png differ diff --git a/docs/latex/resources/openstack-create-flavor.png b/docs/latex/resources/openstack-create-flavor.png new file mode 100644 index 0000000000000000000000000000000000000000..acce13f06843543b03c1a7c20eb605c34b282d46 Binary files /dev/null and b/docs/latex/resources/openstack-create-flavor.png differ diff --git a/docs/latex/resources/Fotos nuevas/openstack-create-image-1.png b/docs/latex/resources/openstack-create-image-1.png similarity index 100% rename from docs/latex/resources/Fotos nuevas/openstack-create-image-1.png rename to docs/latex/resources/openstack-create-image-1.png diff --git a/docs/latex/resources/Fotos nuevas/openstack-create-image-2.png b/docs/latex/resources/openstack-create-image-2.png similarity index 100% rename from docs/latex/resources/Fotos nuevas/openstack-create-image-2.png rename to docs/latex/resources/openstack-create-image-2.png diff --git a/docs/latex/resources/Fotos nuevas/openstack-crate-key-pair.png b/docs/latex/resources/openstack-create-key-pair.png similarity index 100% rename from docs/latex/resources/Fotos nuevas/openstack-crate-key-pair.png rename to docs/latex/resources/openstack-create-key-pair.png diff --git a/docs/latex/resources/Fotos nuevas/openstack-create-network-1.png b/docs/latex/resources/openstack-create-network-1.png similarity index 100% rename from docs/latex/resources/Fotos nuevas/openstack-create-network-1.png rename to docs/latex/resources/openstack-create-network-1.png diff --git a/docs/latex/resources/openstack-create-network-2.png b/docs/latex/resources/openstack-create-network-2.png new file mode 100644 index 0000000000000000000000000000000000000000..a8cbb00d31289d626abdf425a1efa69cbea89498 Binary files /dev/null and b/docs/latex/resources/openstack-create-network-2.png differ diff --git a/docs/latex/resources/openstack-create-network-3.png b/docs/latex/resources/openstack-create-network-3.png new file mode 100644 index 0000000000000000000000000000000000000000..22ce74b43d1d6050b928078512ab22f09ad7eb23 Binary files /dev/null and b/docs/latex/resources/openstack-create-network-3.png differ diff --git a/docs/latex/resources/openstack-create-project-2.png b/docs/latex/resources/openstack-create-project-2.png new file mode 100644 index 0000000000000000000000000000000000000000..e7219d0f0b19e98b595901cfed7944d9537726e1 Binary files /dev/null and b/docs/latex/resources/openstack-create-project-2.png differ diff --git a/docs/latex/resources/openstack-create-project.png b/docs/latex/resources/openstack-create-project.png new file mode 100644 index 0000000000000000000000000000000000000000..3018c8ec8e8d0d5e0b7e3dd1d5548ed40d219fc4 Binary files /dev/null and b/docs/latex/resources/openstack-create-project.png differ diff --git a/docs/latex/resources/Fotos nuevas/openstack-create-provider-network-1.png b/docs/latex/resources/openstack-create-provider-network-1.png similarity index 100% rename from docs/latex/resources/Fotos nuevas/openstack-create-provider-network-1.png rename to docs/latex/resources/openstack-create-provider-network-1.png diff --git a/docs/latex/resources/Fotos nuevas/openstack-create-provider-network-2.png b/docs/latex/resources/openstack-create-provider-network-2.png similarity index 100% rename from docs/latex/resources/Fotos nuevas/openstack-create-provider-network-2.png rename to docs/latex/resources/openstack-create-provider-network-2.png diff --git a/docs/latex/resources/Fotos nuevas/openst ack-create-router-interface.png b/docs/latex/resources/openstack-create-router-interface.png similarity index 100% rename from docs/latex/resources/Fotos nuevas/openst ack-create-router-interface.png rename to docs/latex/resources/openstack-create-router-interface.png diff --git a/docs/latex/resources/Fotos nuevas/openstack-create-router.png b/docs/latex/resources/openstack-create-router.png similarity index 100% rename from docs/latex/resources/Fotos nuevas/openstack-create-router.png rename to docs/latex/resources/openstack-create-router.png diff --git a/docs/latex/resources/openstack-create-security-rule-icmp.png b/docs/latex/resources/openstack-create-security-rule-icmp.png new file mode 100644 index 0000000000000000000000000000000000000000..3ec7b660dab3af7ba7b54453a5a6c48bce206e84 Binary files /dev/null and b/docs/latex/resources/openstack-create-security-rule-icmp.png differ diff --git a/docs/latex/resources/Fotos nuevas/openstack-create-security-rule-SSH.png b/docs/latex/resources/openstack-create-security-rule-ssh.png similarity index 100% rename from docs/latex/resources/Fotos nuevas/openstack-create-security-rule-SSH.png rename to docs/latex/resources/openstack-create-security-rule-ssh.png diff --git a/docs/latex/resources/openstack-create-user.png b/docs/latex/resources/openstack-create-user.png new file mode 100644 index 0000000000000000000000000000000000000000..ed4795f64856735b77cb01d876cbbc7f0e1ffa8a Binary files /dev/null and b/docs/latex/resources/openstack-create-user.png differ diff --git a/docs/latex/resources/openstack-launch-instance-1.png b/docs/latex/resources/openstack-launch-instance-1.png new file mode 100644 index 0000000000000000000000000000000000000000..a1145a6dcbf32787c968d7602093e81df6a9ab19 Binary files /dev/null and b/docs/latex/resources/openstack-launch-instance-1.png differ diff --git a/docs/latex/resources/openstack-launch-instance-2.png b/docs/latex/resources/openstack-launch-instance-2.png new file mode 100644 index 0000000000000000000000000000000000000000..553d967177a1b2c2c0db0e1897664f337ffafb87 Binary files /dev/null and b/docs/latex/resources/openstack-launch-instance-2.png differ diff --git a/docs/latex/resources/openstack-launch-instance-3.png b/docs/latex/resources/openstack-launch-instance-3.png new file mode 100644 index 0000000000000000000000000000000000000000..5e59477c71404e3d9853faed17548ed2e0294baa Binary files /dev/null and b/docs/latex/resources/openstack-launch-instance-3.png differ diff --git a/docs/latex/resources/openstack-launch-instance-4.png b/docs/latex/resources/openstack-launch-instance-4.png new file mode 100644 index 0000000000000000000000000000000000000000..f145e5c3e55faa0648024798304eb7cd5d5cbc12 Binary files /dev/null and b/docs/latex/resources/openstack-launch-instance-4.png differ diff --git a/docs/latex/resources/openstack-launch-instance-5.png b/docs/latex/resources/openstack-launch-instance-5.png new file mode 100644 index 0000000000000000000000000000000000000000..56be40b8f6502097d1288555b0ee31bb1cffc30f Binary files /dev/null and b/docs/latex/resources/openstack-launch-instance-5.png differ diff --git a/docs/latex/resources/openstack-login.png b/docs/latex/resources/openstack-login.png new file mode 100644 index 0000000000000000000000000000000000000000..5fc780592119255d85e2b0923ab8948423ff6edf Binary files /dev/null and b/docs/latex/resources/openstack-login.png differ diff --git a/docs/latex/resources/Fotos nuevas/openstack-security-group-default.png b/docs/latex/resources/openstack-security-group-default.png similarity index 100% rename from docs/latex/resources/Fotos nuevas/openstack-security-group-default.png rename to docs/latex/resources/openstack-security-group-default.png diff --git a/src/deploy/user_variables.yml b/src/deploy/user_variables.yml index 45b39346c2c7fcd0d31ed22b263cf179e9124a29..b826f11dfb9510da238c4a55886fc046ad1ee7d7 100644 --- a/src/deploy/user_variables.yml +++ b/src/deploy/user_variables.yml @@ -174,8 +174,5 @@ deployment_environment_variables: # Keepalived default IP address used to check its alive status (IPv4 only) # keepalived_ping_address: "193.0.14.129" - -# Variables para usar HTTPS -#openstack_service_publicuri_proto: https -#openstack_service_adminuri_proto: https -#openstack_service_internaluri_proto: https +# Variable para habilitar la creación de imagenes en el Horizon en forma legacy +horizon_images_upload_mode: "legacy"