diff --git a/docs/udelartex/anexo/anexoQueens.aux b/docs/udelartex/anexo/anexoQueens.aux
new file mode 100644
index 0000000000000000000000000000000000000000..5a3b27cb10d57005d1592afd38bc1ff0561353f2
--- /dev/null
+++ b/docs/udelartex/anexo/anexoQueens.aux
@@ -0,0 +1,150 @@
+\relax 
+\providecommand\hyper@newdestlabel[2]{}
+\FN@pp@footnotehinttrue 
+\@writefile{toc}{\contentsline {chapter}{\numberline {5}Instalación versión Queens}{43}{chapter.5}\protected@file@percent }
+\@writefile{lof}{\addvspace {10\p@ }}
+\@writefile{lot}{\addvspace {10\p@ }}
+\@writefile{toc}{\contentsline {section}{\numberline {5.1}Diseño de arquitectura}{43}{section.5.1}\protected@file@percent }
+\citation{openstack-networking-book-4}
+\citation{openstack-networking-book-4}
+\@writefile{lof}{\contentsline {figure}{\numberline {5.1}{\ignorespaces Arquitectura diseñada.\relax }}{44}{figure.caption.60}\protected@file@percent }
+\newlabel{diseño-arquitectura}{{5.1}{44}{Arquitectura diseñada.\relax }{figure.caption.60}{}}
+\@writefile{toc}{\contentsline {section}{\numberline {5.2}Ambiente de trabajo}{44}{section.5.2}\protected@file@percent }
+\newlabel{chap4:ambiente:trabajo}{{5.2}{44}{Ambiente de trabajo}{section.5.2}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.1}Hardware utilizado}{44}{subsection.5.2.1}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {5.2}{\ignorespaces Disposición de componentes en Neutron. Extraída de \cite  {openstack-networking-book-4}.\relax }}{45}{figure.caption.61}\protected@file@percent }
+\newlabel{neutron3}{{5.2}{45}{Disposición de componentes en Neutron. Extraída de \cite {openstack-networking-book-4}.\relax }{figure.caption.61}{}}
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap4/renata/br\textendash mgmt}{45}{lstlisting.5.-1}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap4/renata/eno2}{46}{lstlisting.5.-2}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.2}Conexión remota hacia el servidor renata}{46}{subsection.5.2.2}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {5.3}{\ignorespaces Acceso remoto al servidor renata.\relax }}{46}{figure.caption.62}\protected@file@percent }
+\newlabel{acceso-renata}{{5.3}{46}{Acceso remoto al servidor renata.\relax }{figure.caption.62}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.3}Virtualización con KVM}{47}{subsection.5.2.3}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.3.1}Utilización virt-manager}{47}{subsubsection.5.2.3.1}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {5.4}{\ignorespaces Nueva conexión en virt-manager.\relax }}{47}{figure.caption.63}\protected@file@percent }
+\newlabel{virt-nueva-conexion}{{5.4}{47}{Nueva conexión en virt-manager.\relax }{figure.caption.63}{}}
+\@writefile{lof}{\contentsline {figure}{\numberline {5.5}{\ignorespaces Configuración de redes virtuales en virt-manager.\relax }}{48}{figure.caption.64}\protected@file@percent }
+\newlabel{virt-conf-red}{{5.5}{48}{Configuración de redes virtuales en virt-manager.\relax }{figure.caption.64}{}}
+\newlabel{virt-red-1}{{\caption@xref {virt-red-1}{ on input line 116}}{49}{Utilización virt-manager}{figure.caption.65}{}}
+\newlabel{virt-red-2}{{\caption@xref {virt-red-2}{ on input line 123}}{49}{Utilización virt-manager}{figure.caption.66}{}}
+\newlabel{virt-red-3}{{\caption@xref {virt-red-3}{ on input line 130}}{49}{Utilización virt-manager}{figure.caption.67}{}}
+\newlabel{virt-red-4}{{\caption@xref {virt-red-4}{ on input line 137}}{50}{Utilización virt-manager}{figure.caption.68}{}}
+\newlabel{virt-nodo-1}{{\caption@xref {virt-nodo-1}{ on input line 196}}{51}{Utilización virt-manager}{figure.caption.69}{}}
+\newlabel{virt-nodo-2}{{\caption@xref {virt-nodo-2}{ on input line 203}}{52}{Utilización virt-manager}{figure.caption.70}{}}
+\newlabel{virt-nodo-3}{{\caption@xref {virt-nodo-3}{ on input line 210}}{52}{Utilización virt-manager}{figure.caption.71}{}}
+\newlabel{virt-nodo-4a}{{\caption@xref {virt-nodo-4a}{ on input line 219}}{52}{Utilización virt-manager}{figure.caption.72}{}}
+\newlabel{virt-nodo-4b}{{\caption@xref {virt-nodo-4b}{ on input line 226}}{53}{Utilización virt-manager}{figure.caption.73}{}}
+\newlabel{virt-nodo-4c}{{\caption@xref {virt-nodo-4c}{ on input line 233}}{53}{Utilización virt-manager}{figure.caption.74}{}}
+\newlabel{virt-nodo-5}{{\caption@xref {virt-nodo-5}{ on input line 242}}{53}{Utilización virt-manager}{figure.caption.75}{}}
+\newlabel{virt-nodo-6}{{\caption@xref {virt-nodo-6}{ on input line 249}}{54}{Utilización virt-manager}{figure.caption.76}{}}
+\newlabel{virt-nodo-7}{{\caption@xref {virt-nodo-7}{ on input line 256}}{54}{Utilización virt-manager}{figure.caption.77}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.4}Especificaciones servidor renata}{54}{subsection.5.2.4}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {5.6}{\ignorespaces Túnel reverso y esquema de servidores.\relax }}{55}{figure.caption.78}\protected@file@percent }
+\newlabel{redes-renata}{{5.6}{55}{Túnel reverso y esquema de servidores.\relax }{figure.caption.78}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.5}Acceso al exterior desde nodos}{56}{subsection.5.2.5}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {5.7}{\ignorespaces Salida a Internet en los nodos de Openstack.\relax }}{56}{figure.caption.79}\protected@file@percent }
+\newlabel{internet-nodos}{{5.7}{56}{Salida a Internet en los nodos de Openstack.\relax }{figure.caption.79}{}}
+\@writefile{toc}{\contentsline {section}{\numberline {5.3}Preparación de nodos}{56}{section.5.3}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.3.0.1}Deploy}{56}{subsubsection.5.3.0.1}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap4/deploy/eth0}{57}{lstlisting.5.-7}\protected@file@percent }
+\newlabel{virt-manager-eth0}{{\caption@xref {virt-manager-eth0}{ on input line 316}}{57}{Deploy}{figure.caption.80}{}}
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.3.0.2}Infra1}{59}{subsubsection.5.3.0.2}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap4/infra1/br\textendash mgmt}{59}{lstlisting.5.-21}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap4/infra1/br\textendash storage}{59}{lstlisting.5.-22}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap4/infra1/br\textendash vxlan}{59}{lstlisting.5.-23}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap4/infra1/eth0}{59}{lstlisting.5.-24}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap4/infra1/eth1}{60}{lstlisting.5.-25}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap4/infra1/eth2}{60}{lstlisting.5.-26}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap4/infra1/eth3}{60}{lstlisting.5.-27}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.3.0.3}Compute1}{62}{subsubsection.5.3.0.3}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap4/compute1/br\textendash mgmt}{62}{lstlisting.5.-40}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap4/compute1/br\textendash storage}{62}{lstlisting.5.-41}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap4/compute1/br\textendash vxlan}{62}{lstlisting.5.-42}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap4/compute1/eth0}{62}{lstlisting.5.-43}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap4/compute1/eth1}{62}{lstlisting.5.-44}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap4/compute1/eth2}{63}{lstlisting.5.-45}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap4/compute1/eth3}{63}{lstlisting.5.-46}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.3.0.4}Storage1}{63}{subsubsection.5.3.0.4}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap4/storage1/br\textendash mgmt}{63}{lstlisting.5.-48}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap4/storage1/br\textendash storage}{63}{lstlisting.5.-49}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap4/storage1/eth0}{64}{lstlisting.5.-50}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap4/storage1/eth1}{64}{lstlisting.5.-51}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.3.0.5}HAproxy1}{64}{subsubsection.5.3.0.5}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap4/haproxy/eth0}{65}{lstlisting.5.-57}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap4/haproxy/eth1}{65}{lstlisting.5.-58}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {5.4}Configuración}{65}{section.5.4}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.1}Configuración claves SSH}{65}{subsection.5.4.1}\protected@file@percent }
+\newlabel{chap4:claves:ssh}{{5.4.1}{65}{Configuración claves SSH}{subsection.5.4.1}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.2}Archivos de configuración OSA}{66}{subsection.5.4.2}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.4.2.1}openstack\_user\_config.yml}{66}{subsubsection.5.4.2.1}\protected@file@percent }
+\citation{openstack-settings-reference}
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.4.2.2}user\_variables.yml}{71}{subsubsection.5.4.2.2}\protected@file@percent }
+\citation{openstack-selinux-fix-1}
+\citation{openstack-selinux-fix-2}
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.4.2.3}cinder.yml}{72}{subsubsection.5.4.2.3}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.3}Generación de claves}{72}{subsection.5.4.3}\protected@file@percent }
+\newlabel{chap4:generacion:claves}{{5.4.3}{72}{Generación de claves}{subsection.5.4.3}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.4}Correcciones}{72}{subsection.5.4.4}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.4.4.1}SELinux}{72}{subsubsection.5.4.4.1}\protected@file@percent }
+\newlabel{chap4:correcciones:selinux}{{5.4.4.1}{72}{SELinux}{subsubsection.5.4.4.1}{}}
+\@writefile{toc}{\contentsline {section}{\numberline {5.5}Ejecución de playbooks}{73}{section.5.5}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.5.0.1}setup-hosts.yml}{73}{subsubsection.5.5.0.1}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.5.0.2}install-haproxy.yml}{74}{subsubsection.5.5.0.2}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.5.0.3}setup-infrastructure.yml}{74}{subsubsection.5.5.0.3}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.5.0.4}setup-openstack.yml}{74}{subsubsection.5.5.0.4}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {5.6}Verificación}{74}{section.5.6}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {5.7}Inconvenientes}{76}{section.5.7}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.1}Bloqueo de paquetes}{76}{subsection.5.7.1}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.2}Módulo de seguridad SELinux}{76}{subsection.5.7.2}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.3}Percona-release en playbook setup-infrastructure}{76}{subsection.5.7.3}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.4}Subred reservada}{77}{subsection.5.7.4}\protected@file@percent }
+\citation{redhat-bug-aria2}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.5}Versiones de librerías y SO}{78}{subsection.5.7.5}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.6}Soporte para CentOS}{78}{subsection.5.7.6}\protected@file@percent }
+\FN@pp@footnotehinttrue 
+\@setckpt{capitulos/queens}{
+\setcounter{page}{80}
+\setcounter{equation}{0}
+\setcounter{enumi}{5}
+\setcounter{enumii}{2}
+\setcounter{enumiii}{0}
+\setcounter{enumiv}{0}
+\setcounter{footnote}{0}
+\setcounter{mpfootnote}{0}
+\setcounter{part}{0}
+\setcounter{chapter}{5}
+\setcounter{section}{7}
+\setcounter{subsection}{6}
+\setcounter{subsubsection}{0}
+\setcounter{paragraph}{0}
+\setcounter{subparagraph}{0}
+\setcounter{figure}{7}
+\setcounter{table}{0}
+\setcounter{pp@next@reset}{1}
+\setcounter{@fnserial}{0}
+\setcounter{@pps}{0}
+\setcounter{@ppsavesec}{0}
+\setcounter{@ppsaveapp}{0}
+\setcounter{parentequation}{0}
+\setcounter{float@type}{8}
+\setcounter{caption@flags}{0}
+\setcounter{continuedfloat}{0}
+\setcounter{Item}{97}
+\setcounter{Hfootnote}{0}
+\setcounter{bookmark@seq@number}{57}
+\setcounter{linenumber}{0}
+\setcounter{LN@truepage}{94}
+\setcounter{@todonotes@numberoftodonotes}{0}
+\setcounter{institute}{1}
+\setcounter{seconduniversity}{0}
+\setcounter{thirduniversity}{0}
+\setcounter{keywords}{5}
+\setcounter{foreignkeywords}{5}
+\setcounter{su@anzahl}{0}
+\setcounter{LT@tables}{0}
+\setcounter{LT@chunks}{0}
+\setcounter{NAT@ctr}{0}
+\setcounter{lstnumber}{2}
+\setcounter{section@level}{2}
+\setcounter{lstlisting}{0}
+}
diff --git a/docs/udelartex/capitulos/queens.tex b/docs/udelartex/anexo/anexoQueens.tex
similarity index 60%
rename from docs/udelartex/capitulos/queens.tex
rename to docs/udelartex/anexo/anexoQueens.tex
index 51f0cba41e3481528212fb79ad4692d79715bd14..a1f0d2a33fdcdd6f2716c2a1a8ec646e00887008 100644
--- a/docs/udelartex/capitulos/queens.tex
+++ b/docs/udelartex/anexo/anexoQueens.tex
@@ -1,4 +1,4 @@
-\chapter{Instalación versión Queens}
+\chapter{Instalación versión Queens}\label{anexoQueens}
 Queens es la décimo séptima versión liberada por OpenStack. La misma fue publicada el 28 de febrero del 2018. Junto a Pike y Ocata (ambas anteriores) son las versiones actuales en estado de mantenimiento extendido para utilizar en ambientes de producción.
 
 \section{Diseño de arquitectura}
@@ -20,288 +20,10 @@ En la figura \ref{neutron3} se muestra la disposición de los componentes de red
 	\label{neutron3}
 \end{figure}
 
-
-\section{Ambiente de trabajo}\label{chap4:ambiente:trabajo}
-
-\subsection{Hardware utilizado}
-Para realizar la instalación de Openstack se utilizó un servidor físico (denominado renata) alojado en el Instituto de Computación de la Facultad de Ingeniería (InCo). El mismo cuenta con una amplia cantidad de recursos destacando sus 40 procesadores virtuales, 128 GB de RAM y 40 TB de disco duro. Se aloja en una red privada del InCo en donde para salir a Internet se debe pasar por un proxy, provocando algunas limitaciones que luego se mencionan.\\
-
-En el servidor fueron necesarias las siguientes configuraciones de red:
-\begin{enumerate}
-	\item Creación de un bridge el cual será utilizado por la interfaz física del servidor y por los distintos NAT que se deben crear con KVM para la arquitectura que se virtualiza.
-	Para esto se creo la interfaz br-mgmt con la siguiente configuración:
-	\lstinputlisting{chap4/renata/br-mgmt}
-
-	\item En la interfaz eno2 la cual tenía configurada la IP del bridge quedó de la siguiente forma:
-	\lstinputlisting{chap4/renata/eno2}	
-\end{enumerate}
-
-\subsection{Conexión remota hacia el servidor renata}
-Dado que el servidor se encuentra en una red privada del InCo, para conectarse al mismo de forma remota se deben establecer algunas conexiones SSH. A continuación se detallan las conexiones y comandos utilizados.
-
-\begin{figure}[!h]
-	\centering
-	\includegraphics[width=1.0\columnwidth]{chap4/acceso-renata}
-	\caption{Acceso remoto al servidor renata.}
-	\label{acceso-renata}
-\end{figure}
-
-\begin{enumerate}
-	\item Como el servidor se encuentra en una red privada del InCo solo se puede acceder desde un host que se encuentre en una red interna de la FIng, por ej: lulu.fing.edu.uy. Para esto ejecutar:
-\begin{lstlisting}
-$ ssh usuario_fing@lulu.fing.edu.uy
-\end{lstlisting}
-	
-	\item Desde el host lulu para conectarse al servidor renata se debe ejecutar: 
-\begin{lstlisting}
-$ ssh openstack@192.168.60.242
-\end{lstlisting}
-\end{enumerate}
-
-\subsection{Virtualización con KVM}
-Para crear la arquitectura de nodos se utilizó el virtualizador KVM, debido a que es la tecnología de virtualización utilizada normalmente en los servidores del InCo. Con el fin de facilitar la interacción con KVM a través de una interfaz gráfica, se utilizó el programa virt-manager.
-
-\subsubsection{Utilización virt-manager}
-Dentro del virt-manager lo primero a realizar es configurar una nueva conexión desde el menú Archivo -> Añadir conexión... de la siguiente forma:
-
-\begin{figure}[H]
-	\centering
-	\includegraphics[width=0.5\columnwidth]{chap4/virt-nueva-conexion}
-	\caption{Nueva conexión en virt-manager.}
-	\label{virt-nueva-conexion}
-\end{figure}
-
-Como un host remoto está a dos conexiones SSH del servidor Renata, la configuración que se muestra en la figura X no será suficiente. Para el correcto funcionamiento se debe crear una regla de forwarding que envíe todas las acciones realizadas por el virt-manager hacia el host lulu.fing.edu.uy el cual tiene acceso al servidor. Para lograr esto se debe ejecutar: 
-
-\begin{lstlisting}[gobble=0]
-ssh -L 5900:192.168.60.242:22 <usuario_fing>@lulu.fing.edu.uy
-\end{lstlisting}
-
-El número de puerto utilizado puede ser cualquiera que no esté siendo utilizado y no sea privilegiado.\\
-
-El orden adecuado para conectarse al servidor mediante virt-manager es:
-
-\begin{enumerate}
-	\item Crear la conexión ssh indicada.
-	\item Iniciar virt-manager.
-	\item Inicializar la conexión. En este paso se puede llegar a requerir la contraseña del usuario del servidor renata desde la consola que esté ejecutando el manager.
-\end{enumerate}
-
-Lo siguiente a realizar es crear con KVM las redes virtuales que se natean al bridge br-mgmt del servidor físico. Es necesario crear 4 redes, donde cada una se corresponde con las redes necesarias para el funcionamiento de Openstack. Estas redes son:
-
-\begin{itemize}
-	\item NAT-Open (Red management Subred 10.0.1.0/24).
-	\item NAT-Open-Storage (Red storage Subred 10.0.10.0/24).
-	\item NAT-Open-Vxlan (Red vxlan Subred 10.0.2.0/24).
-	\item NAT-Open-Vlan (Red vlan Subred 10.0.4.0/24).
-\end{itemize}
-
-Para crear estas redes se debe ir al menú Editar -> Detalles de la conexión.
-Luego como se muestra en la imagen en la pestaña de redes virtuales seleccionar el icono (+).
-
-\begin{figure}[H]
-	\centering
-	\includegraphics[width=0.5\columnwidth]{chap4/virt-conf-red}
-	\caption{Configuración de redes virtuales en virt-manager.}
-	\label{virt-conf-red}
-\end{figure}
-
-Al presionar el botón para agregar un nueva red, desplegará en pantalla un wizard. A continuación se muestra el paso a paso de la creación de la red NAT-Open a modo de ejemplo:
-
-\begin{enumerate}
-	\item Seleccionar el nombre de la red
-	\begin{figure}[H]
-		\centering
-		\includegraphics[width=0.5\columnwidth]{chap4/virt-red-1}
-		\label{virt-red-1}
-	\end{figure}
-	
-	\item Seleccionar la subred y el rango para el DHCP
-	\begin{figure}[H]
-		\centering
-		\includegraphics[width=0.5\columnwidth]{chap4/virt-red-2}
-		\label{virt-red-2}
-	\end{figure}	
-	
-	\item No habilitar direcciones IPv6
-	\begin{figure}[H]
-		\centering
-		\includegraphics[width=0.5\columnwidth]{chap4/virt-red-3}
-		\label{virt-red-3}
-	\end{figure}	
-	
-	\item Seleccionar el tipo de red virtual
-	\begin{figure}[H]
-		\centering
-		\includegraphics[width=0.5\columnwidth]{chap4/virt-red-4}
-		\label{virt-red-4}
-	\end{figure}		
-	
-\end{enumerate}
-
-El mismo procedimiento se deberá repetir con el resto de las redes listadas.\\
-
-Lo último que es necesario crear con KVM son las nodos virtuales que se utilizaron para instalar Openstack. En la instalación realizada se utilizan 5 nodos con las especificaciones detalladas a continuación:
-
-\begin{itemize}
-	\item \textbf{Nodo deploy}:
-	\begin{itemize}
-		\item 1 interfaz en NAT-Open
-		\item 2 CPUs
-		\item 200 GB de disco
-		\item 8 GB de RAM
-	\end{itemize}
-	
-	\item \textbf{Nodo haproxy1}:
-	\begin{itemize}
-		\item 2 interfaces: una en NAT-Open y otra conectada al bridge br-mgmt de renata
-		\item 4 CPUs
-		\item 200 GB de disco
-		\item 32 GB de RAM
-	\end{itemize}
-	
-	\item \textbf{Nodo infra1}:
-	\begin{itemize}
-		\item 4 interfaces: una en cada NAT creada
-		\item 8 CPUs
-		\item 200 GB de disco
-		\item 32 GB de RAM
-	\end{itemize}
-	
-	\item \textbf{Nodo compute1}:
-	\begin{itemize}
-		\item 4 interfaces: una en cada NAT creada
-		\item 8 CPUs
-		\item 200 GB de disco
-		\item 32 GB de RAM
-	\end{itemize}
-	
-	\item \textbf{Nodo storage1}:
-	\begin{itemize}
-		\item 2 interfaces: una en NAT-Open y otra en NAT-Open-Storage
-		\item 4 CPUs
-		\item 2 discos: uno de 40 GB para el SO y otro de 200 GB para el volumen de cinder
-		\item 32 GB de RAM
-	\end{itemize}
-	
-\end{itemize}
-
-A continuación se detalla paso a paso cómo crear el nodo deploy, el resto se realiza de forma análoga salvando las diferencias de recursos e interfaces de red.
-
-\begin{enumerate}
-	\item En el presente ejemplo se crea una VM suponiendo que se instalará el SO.
-	\begin{figure}[H]
-		\centering
-		\includegraphics[width=0.5\columnwidth]{chap4/virt-nodo-1}
-		\label{virt-nodo-1}
-	\end{figure}
-	
-	\item Seleccionar la imagen a utilizar y el tipo de SO. La misma deberá estar en un directorio del servidor físico.
-	\begin{figure}[H]
-		\centering
-		\includegraphics[width=1.0\columnwidth]{chap4/virt-nodo-2}
-		\label{virt-nodo-2}
-	\end{figure}
-	
-	\item Seleccionar RAM y CPUs.
-	\begin{figure}[H]
-		\centering
-		\includegraphics[width=0.5\columnwidth]{chap4/virt-nodo-3}
-		\label{virt-nodo-3}
-	\end{figure}
-	
-	\item Para el almacenamiento se deberá crear un nuevo volumen de la siguiente forma:
-	\begin{enumerate}[label*=\arabic*.]
-		\item Elegir la segunda opción y presionar Administrar.
-		\begin{figure}[H]
-			\centering
-			\includegraphics[width=0.5\columnwidth]{chap4/virt-nodo-4a}
-			\label{virt-nodo-4a}
-		\end{figure}
-		
-		\item Esto desplegará una ventana mostrando directorios del sistema de archivos de renata. Se puede elegir un volumen existente o crear uno nuevo con el botón (+).
-		\begin{figure}[H]
-			\centering
-			\includegraphics[width=1.0\columnwidth]{chap4/virt-nodo-4b}
-			\label{virt-nodo-4b}
-		\end{figure}
-		
-		\item Al crearlo se debe especificar el nombre, el tipo y la capacidad.
-		\begin{figure}[H]
-			\centering
-			\includegraphics[width=0.8\columnwidth]{chap4/virt-nodo-4c}
-			\label{virt-nodo-4c}
-		\end{figure}
-		
-	\end{enumerate}
-	
-	\item Luego se debe ingresar el nombre de la máquina y seleccionar la red que conecta el host directamente al bridge del servidor físico en lugar de la red NAT-Open para que el host tenga conexión a internet durante la instalación y poder realizar las primeras configuraciones en el mismo.
-	\begin{figure}[H]
-		\centering
-		\includegraphics[width=0.6\columnwidth]{chap4/virt-nodo-5}
-		\label{virt-nodo-5}
-	\end{figure}
-	
-	\item Se debe verificar en la opción IDE CDROM 1 que esté correctamente seteado la imagen a utilizar para instalar el SO.
-	\begin{figure}[H]
-		\centering
-		\includegraphics[width=1.0\columnwidth]{chap4/virt-nodo-6}
-		\label{virt-nodo-6}
-	\end{figure}
-	
-	\item Verificar en las opciones de arranque que el IDE CDROM 1 esté en primer lugar para que la máquina bootee con la imagen seleccionada.
-	\begin{figure}[H]
-		\centering
-		\includegraphics[width=0.9\columnwidth]{chap4/virt-nodo-7}
-		\label{virt-nodo-7}
-	\end{figure}
-	
-	\item Finalmente al confirmar todos los cambios se lanzará la VM creada y se instalará el SO.
-	
-\end{enumerate}
-
-\subsection{Especificaciones servidor renata}
-La red en la que se encuentra el servidor Renata no cuenta con acceso a internet. Para solucionar este problema se realizó un túnel ssh reverso desde el host lulu.fing.edu.uy al servidor Renata para establecer como proxy de Renata el host proxy.fing.edu.uy, siendo este último el proxy de la FING.
-
-\begin{figure}[H]
-	\centering
-	\includegraphics[width=0.8\columnwidth]{chap4/redes-renata}
-	\caption{Túnel reverso y esquema de servidores.}
-	\label{redes-renata}
-\end{figure}
-
-El funcionamiento de esta configuración se detalla a continuación:
-
-\begin{itemize}
-	\item El host lulu.fing.edu.uy inicia una conexion SSH con renata en donde indica que cree una conexión inversa con el proxy de la FIng.
-	
-	\item Al establecer la conexión, el servidor renata crea el túnel inverso en donde envía todos los paquetes destinados al puerto 3128 al servidor proxy en el puerto 3128.
-	
-	\item Finalmente para que renata tenga acceso a Internet se setean las variables de entorno http\_proxy y https\_proxy con el valor http://localhost:3128. De esta forma todo el tráfico http será enviado al puerto 3128 local y gracias al túnel reverso todos los pedidos http serán enviados al proxy logrando tener acceso a Internet.	
-\end{itemize}
-
-Para lograr esto se debe ejecutar el siguiente comando al iniciar la conexión SSH desde lulu hacia renata:
-
-\begin{lstlisting}
-$ ssh -R 3128:proxy.fing.edu.uy:3128 openstack@192.168.60.242
-\end{lstlisting}
-
-Como se muestra en la figura \ref{redes-renata} el servidor DNS utilizado se encuentra en la misma red local.
-
-\subsection{Acceso al exterior desde nodos}
-Los nodos virtualizados en el servidor renata con la configuración por defecto no tendrán acceso a Internet. Esto sucede por que al realizar un pedido http o https será enviado al gateway de estos nodos virtuales que es la IP 10.0.1.1 de la interfaz virtual de renata, en donde solamente forwardea los paquetes recibidos en el puerto 3128 al proxy de la FIng. Para solucionar esto basta con configurar las variables de entorno http\_proxy y https\_proxy en los nodos virtualizados con el siguiente valor: http://10.0.1.1:3128. Esto aplica para los 5 nodos utilizados en la instalación.
-
-\begin{figure}[H]
-	\centering
-	\includegraphics[width=1.0\columnwidth]{chap4/internet-nodos}
-	\caption{Salida a Internet en los nodos de Openstack.}
-	\label{internet-nodos}
-\end{figure}
-
 % ------------------------------------------------------
 
 \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.
+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.
 
 \subsubsection{Deploy}
@@ -342,7 +64,7 @@ $ curl www.google.com.
 $ yum upgrade -y
 $ reboot
 \end{lstlisting}
-		\item Instalar repositorio openstack queens:
+		\item Instalar repositorio OpenStack Queens:
 \begin{lstlisting}
 $ yum install -y https://rdoproject.org/repos/openstack-queens/rdo-release-queens.rpm
 \end{lstlisting}
@@ -371,7 +93,7 @@ server 3.south-america.pool.ntp.org
 $ systemctl restart chronyd
 \end{lstlisting}
 	
-	\item Clonar el repositorio de Openstack Ansible Queens
+	\item Clonar el repositorio de OpenStack Ansible Queens
 \begin{lstlisting}
 $ git clone -b 17.1.10 https://git.openstack.org/openstack/openstack-ansible /opt/openstack-ansible
 \end{lstlisting}		
@@ -436,8 +158,8 @@ $ mkdir /var/log/openstack
 	\begin{enumerate}[label*=\arabic*.]
 		\item eth0 a la red virtual de management 10.0.1.0/24.
 		\item eth1 a la red virtual de storage 10.0.2.0./24.
-		\item eth2 a la red virtual de vxlan 10.0.10.0./24.
-		\item eth3 a la red virtual de vlan 10.0.4.0./24.
+		\item eth2 a la red virtual de VXLAN 10.0.10.0./24.
+		\item eth3 a la red virtual de VLAN 10.0.4.0./24.
 	\end{enumerate}
 	
 	\item Cambiar el hostname de la máquina a ‘infra1’ con el comando:
@@ -479,7 +201,7 @@ $ service network start
 	
 	\item Deshabilitar el SELinux, cambiando en \path{/etc/sysconfig/selinux}, "SELINUX=enforcing" por "SELINUX=disabled".
 	
-	\item Habilitar bonding de interfaces y vlans:
+	\item Habilitar bonding de interfaces y VLANs:
 \begin{lstlisting}
 $ echo 'bonding' >> /etc/modules-load.d/openstack-ansible.conf
 $ echo '8021q' >> /etc/modules-load.d/openstack-ansible.conf
@@ -561,8 +283,8 @@ $ iptables-restore < /etc/sysconfig/iptables
 	\begin{enumerate}[label*=\arabic*.]
 		\item eth0 a la red virtual de management 10.0.1.0/24.
 		\item eth1 a la red virtual de storage 10.0.2.0./24.
-		\item eth2 a la red virtual de vxlan 10.0.10.0./24.
-		\item eth3 a la red virtual de vlan 10.0.4.0./24.
+		\item eth2 a la red virtual de VXLAN 10.0.10.0./24.
+		\item eth3 a la red virtual de VLAN 10.0.4.0./24.
 	\end{enumerate}
 	
 	\item Cambiar el hostname de la máquina a 'compute1' con el comando:
@@ -630,7 +352,7 @@ $ lvmdiskscan
 $ pvcreate --metadatasize 2048 physical_volume_device_path
 \end{lstlisting}		
 		
-		\item Crear el nuevo grupo de almacenamiento que será utilizado por Openstack:
+		\item Crear el nuevo grupo de almacenamiento que será utilizado por OpenStack:
 \begin{lstlisting}
 $ vgcreate cinder-volumes physical_volume_device_path
 \end{lstlisting}			
@@ -672,10 +394,10 @@ $ hostname haproxy1
 A partir de este punto, el procedimiento es similar al nodo infra1. Se deben realizar los puntos 4 al 11 con la excepción del punto 7 en donde se deshabilita el NetworkManager.
 
 \section{Configuración}
-Luego de completar la preparación de los nodos y verificar la conectividad entre los mismos, los últimos pasos antes de iniciar con la instalación de Openstack son configurar los archivos que OSA utiliza y los requerimientos extras de la herramienta utilizada para la instalación.
+Luego de completar la preparación de los nodos y verificar la conectividad entre los mismos, los últimos pasos antes de iniciar con la instalación de OpenStack son configurar los archivos que OSA utiliza y los requerimientos extras de la herramienta utilizada para la instalación.
 
 \subsection{Configuración claves SSH}\label{chap4:claves:ssh}
-Como se menciona en la sección de Ansible, el nodo de deploy requiere de una conexión SSH con cada uno de los servidores que componen el datacenter, para poder configurar y operar directamente sobre cada uno de ellos. Para esto se utilizan un par de claves SSH público-privada con el fin de brindarle al nodo de deploy mayor flexibilidad al momento de acceder a los servidores. Se deberá propagar la clave del usuario root dado que es este usuario el que llevará a cabo la instalación.
+Como se menciona en la sección de Ansible, el nodo de deploy requiere de una conexión SSH con cada uno de los servidores que componen el Datacenter, para poder configurar y operar directamente sobre cada uno de ellos. Para esto se utilizan un par de claves SSH público-privada con el fin de brindarle al nodo de deploy mayor flexibilidad al momento de acceder a los servidores. Se deberá propagar la clave del usuario root dado que es este usuario el que llevará a cabo la instalación.
 El comando que se debe ejecutar para crear las claves es el siguiente:
 
 \begin{lstlisting}
@@ -705,7 +427,7 @@ Para verificar la configuración bastará con realizar un ssh a cada servidor de
 \subsubsection{openstack\_user\_config.yml}
 A continuación se detalla cada bloque de configuración utilizado en la instalación realizada.\\
 
-En la primera sección, cidr\_networks, se describen las subredes utilizadas en la instalación de Openstack.
+En la primera sección, cidr\_networks, se describen las subredes utilizadas en la instalación de OpenStack.
 
 \begin{lstlisting}
 cidr_networks:
@@ -714,9 +436,9 @@ tunnel: 10.0.10.0/24
 storage: 10.0.2.0/24
 \end{lstlisting}
 
-La red de container permite a los distintos servicios , ejecutados dentro de contenedores o servidores físicos, comunicarse entre sí. La red tunnel es utilizada cuando un usuario crea una nueva red tennant dentro de un proyecto de Openstack, en el caso que corresponda se creará una red VXLAN en este red física. Por último la red de storage la utilizaran los nodos que alojan el backend y los servicios de storage de Openstack. Los rangos elegidos son totalmente arbitrarios, a excepción de la subred 10.0.3.0/24 debido a que es utilizada internamente por OSA durante su ejecución como se mencionó en la sección de arquitectura de red.\\
+La red de container permite a los distintos servicios , ejecutados dentro de contenedores o servidores físicos, comunicarse entre sí. La red tunnel es utilizada cuando un usuario crea una nueva red tennant dentro de un proyecto de OpenStack, en el caso que corresponda se creará una red VXLAN en este red física. Por último la red de storage la utilizaran los nodos que alojan el backend y los servicios de storage de OpenStack. Los rangos elegidos son totalmente arbitrarios, a excepción de la subred 10.0.3.0/24 debido a que es utilizada internamente por OSA durante su ejecución como se mencionó en la sección de arquitectura de red.\\
 
-Lo siguiente a configurar son las direcciones IP que están siendo utilizadas por los hosts físicos de la infraestructura en las redes definidas previamente, con el fin de reservarlas y que la instalación no utilice ninguna de ellas para la estructura de Openstack.
+Lo siguiente a configurar son las direcciones IP que están siendo utilizadas por los hosts físicos de la infraestructura en las redes definidas previamente, con el fin de reservarlas y que la instalación no utilice ninguna de ellas para la estructura de OpenStack.
 
 \begin{lstlisting}
 used_ips:
@@ -732,7 +454,7 @@ global_overrides:
 internal_lb_vip_address: 10.0.1.15
 external_lb_vip_address: 192.168.60.160
 \end{lstlisting}
-Estos parámetros refieren a las direcciones IPs pública y privada del balanceador de carga. La privada es utilizada internamente por los servicios de Openstack y la pública es la puerta de acceso para los usuarios.
+Estos parámetros refieren a las direcciones IPs pública y privada del balanceador de carga. La privada es utilizada internamente por los servicios de OpenStack y la pública es la puerta de acceso para los usuarios.
 
 \begin{lstlisting}
 tunnel_bridge: "br-vxlan"
@@ -791,7 +513,7 @@ provider_networks:
 		net_name: "flat"
 \end{lstlisting}
 \vspace{8pt}
-La última sección describe en qué servidor o grupo de servidores corre cada servicio de Openstack y de infraestructura.
+La última sección describe en qué servidor o grupo de servidores corre cada servicio de OpenStack y de infraestructura.
 
 \begin{lstlisting}[gobble=0]
 ### Infrastructure
@@ -896,7 +618,7 @@ Si bien en \cite{openstack-settings-reference} se menciona que el valor por defe
 
 
 \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:
+En caso de utilizar un backend de storage LVM se debe indicar que este debe ser desplegado en metal, para esto se debe configurar el archivo \path{/etc/openstack_deploy/env.d/cinder-volume.yml} con lo siguiente:
 
 \begin{lstlisting}
 container_skel:
@@ -906,7 +628,7 @@ is_metal: true
 \end{lstlisting}
 
 \subsection{Generación de claves}\label{chap4:generacion:claves}
-Se deben configurar las passphrases requeridas por Openstack durante su instalación y posterior uso. Esto se alcanza mediante:
+Se deben configurar las passphrases requeridas por OpenStack durante su instalación y posterior uso. Esto se alcanza mediante:
 
 \begin{lstlisting}
 $ cd /opt/openstack-ansible
@@ -934,100 +656,6 @@ when:
 \end{lstlisting}
 \end{itemize}
 
-\section{Ejecución de playbooks}
-Finalmente para instalar Openstack con Ansible es necesario correr las playbooks principales del proyecto, las cuales se encuentran en el directorio \path{/opt/openstack-ansible/playbooks}.\\
-En primer lugar se ejecutan tres scripts para realizar un chequeo de sintaxis de la configuración preparada y los scripts a utilizar. Esto se realiza de la siguiente forma:
-
-\begin{lstlisting}
-$ openstack-ansible setup-hosts.yml --syntax-check
-$ openstack-ansible setup-infrastructure.yml --syntax-check
-$ openstack-ansible setup-openstack.yml --syntax-check
-\end{lstlisting}
-\vspace{8pt}
-En caso de no tener errores, se comienza la ejecución de las playbook en el orden que se describen:
-
-\subsubsection{setup-hosts.yml}
-Esta playbook se encarga de configurar todos los hosts descritos en el archivo \path{openstack_user_config.yml}. Con el siguiente comando se ejecuta la playbook:
-
-\begin{lstlisting}
-$ openstack-ansible -vvv setup-hosts.yml 2>&1 | tee /var/log/openstack/hostsXX.log
-\end{lstlisting}
-
-La opción -vvv es para que la salida sea más verbosa y el final es para mostrar la salida del comando en la consola y almacenarla en un archivo de log.
-
-\subsubsection{install-haproxy.yml}
-La configuración de los balanceadores de carga es lo siguiente a realizar. Esto se puede realizar sin tener explícitamente los contenedores o servidores físicos con los servicios instalados gracias a Ansible. OSA como se mencionó en la sección del inventario, a partir de los archivos de configuración conoce exactamente cómo quedará instalado cada uno de los servicios de Openstack, por ejemplo las IPs y puertos de cada servicio.
-Con el siguiente comando se ejecuta la playbook:
-
-\begin{lstlisting}
-$ openstack-ansible -vvv haproxy-install.yml 2>&1 | tee /var/log/openstack/haproxyXX.log
-\end{lstlisting}
-
-\subsubsection{setup-infrastructure.yml}
-En este paso demora un poco más que el primer setup y se encargará de construir todos los contenedores donde luego se instalarán los servicios de Openstack. Esta script además se encarga de instalar los servicios de infraestructura como son RabbitMQ o Galera DB para luego ser configurados en la playbook final.
-Con el siguiente comando se ejecuta la playbook:
-
-\begin{lstlisting}
-$ openstack-ansible -vvv setup-infrastructure.yml 2>&1 | tee /var/log/openstack/infrastructureXX.log
-\end{lstlisting}
-
-\subsubsection{setup-openstack.yml}
-En este paso final es cuando se configuran todos los servicios, indicados en los archivos de configuración de OSA, de Openstack. Esta playbook es la que demora más tiempo en su ejecución, en el orden de las horas.
-Con el siguiente comando se ejecuta la playbook:
-
-\begin{lstlisting}
-$ openstack-ansible -vvv setup-openstack.yml 2>&1 | tee /var/log/openstack/openstackXX.log
-\end{lstlisting}
-
-\section{Verificación}
-Luego de que la última playbook haya terminado su ejecución sin error, debemos verificar que la instalación fue exitosa. Esto se realizará de forma manual siguiendo los pasos que se indican a continuación:
-
-\begin{enumerate}
-	\item Acceder al nodo de infra1 como usuario root.
-	
-	\item La instalación que realiza OSA crea contenedores de utilidad los cuales proveen de todas las herramientas desde la consola para utilizar Openstack. En primer lugar se deben listar todos los containers del nodo físico ejecutando:
-\begin{lstlisting}
-$ lxc-ls -f
-\end{lstlisting}	
-	
-	\item El contenedor que se utiliza es el que tiene en su nombre la palabra utility, para acceder al mismo es necesario ejecutar el siguiente comando de lxc:
-\begin{lstlisting}
-$ lxc-attach -n <nombre_contenedor>
-\end{lstlisting}	
-	
-	\item Para utilizar los servicios de Openstack es necesario enviar las credenciales del usuario que invocará a las APIs de los servicios. Esto se debe al funcionamiento de Openstack en donde cada llamada a una API debe ser validada por el módulo de keystone. Para evitar escribir las credenciales en cada comando, OSA genera un archivo llamado openrc para cargar la información del usuario como variables de entorno. El archivo se carga con el siguiente comando:
-\begin{lstlisting}
-$ source openrc
-\end{lstlisting}	
-	
-	\item Algunos comandos que se pueden ejecutar son:
-	\begin{itemize}
-		\item Para listar usuarios:
-\begin{lstlisting}
-$ openstack user list --os-cloud=default
-\end{lstlisting}			
-		
-		\item Para listar servidores:
-\begin{lstlisting}
-$ openstack server list
-\end{lstlisting}	
-		
-		\item Para listar redes:
-\begin{lstlisting}
-$ openstack network list
-\end{lstlisting}	
-		
-		\item Para listar los agentes de red:
-\begin{lstlisting}
-$ openstack network agent list
-\end{lstlisting}					
-		
-	\end{itemize}
-	
-	\item Por otro lado se puede verificar el dashboard de horizon accediendo a la ip definida en \path{external_lb_vip_address} en el archivo \path{/etc/openstack_deploy/openstack_user_config.yml} en el puerto 443 dado que utiliza HTTPS. Para autenticarse como admin en necesaria la password que se encuentra definida en la opción \path{keystone_auth_admin_password} del archivo \path{/etc/openstack_deploy/user_secrets.yml}.
-	
-\end{enumerate}
-
 \section{Inconvenientes}
 
 \subsection{Bloqueo de paquetes}
@@ -1083,7 +711,7 @@ $ yum upgrade percona-release -y
 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 CIDR. En función de esta observación es que se especificó el rango 10.0.10.0/24 para la red VXLAN.
 
 \subsection{Versiones de librerías y SO}
-Al tratarse de una herramienta de gran magnitud, OpenStack depende de una extensa cantidad de librerías externas. Esto genera que sea sumamente relevante tener una correcta gestión de versiones de las mismas. Como fue analizado en el proceso de instalación obtenido de la documentación oficial, uno de los pasos requeridos consiste en obtener las últimas versiones de los repositorios del SO base. Esto implica que al momento de realizar nuevas instalaciones de OpenStack, si las playbooks utilizadas no espefican la versión de los paquetes, estos podrían diferir impactando en la estabilidad del proceso. A modo de ejemplo se detallan dos casos concretos que generaron problemáticas durante el trabajo.
+Al tratarse de una herramienta de gran magnitud, OpenStack depende de una extensa cantidad de librerías externas. Esto genera que sea sumamente relevante tener una correcta gestión de versiones de las mismas. Como fue analizado en el proceso de instalación obtenido de la documentación oficial, uno de los pasos requeridos consiste en obtener las últimas versiones de los repositorios del SO base. Esto implica que al momento de realizar nuevas instalaciones de OpenStack, si las playbooks utilizadas no especifican la versión de los paquetes, estos podrían diferir impactando en la estabilidad del proceso. A modo de ejemplo se detallan dos casos concretos que generaron problemáticas durante el trabajo.
 
 \begin{itemize}
 	\item En abril de 2019 el proceso de instalación se vio perjudicado por un bug introducido en la versión aria2-1.34.0-4.el7 de la herramienta de descarga Aria2 \cite{redhat-bug-aria2}. Esto implicó general un parche local de forma temporal hasta que una solución oficial fue liberada semanas después.
@@ -1094,4 +722,4 @@ Al tratarse de una herramienta de gran magnitud, OpenStack depende de una extens
 Luego de un tiempo de alcanzar un ambiente estable basado en la versión Queens junto con Ceph como backend de almacenamiento, donde realizar una nueva instalación era un proceso rutinario, surgieron problemas inesperados en la comunicación del módulo Cinder. Tras varios intentos buscando mitigar estos problemas, se decidió pasar a una nueva versión de OpenStack con el fin de poder avanzar con el proyecto. Es por esto que el diseño realizado para un ambiente de producción descrito en el capítulo \ref{chap5} utiliza la versión Stein.
 
 \subsection{Soporte para CentOS}
-Si bien en la documentación oficial se menciona el soporte de los sistemas operativos Ubuntu, CentOS y openSUSE, la experiencia adquirida demuestra que varios de los bugs y problemas enfrentados no se encuentran reportados para Ubuntu. A su vez la mayor parte de las guías, ejemplos de testing y producción, soporte de plugins, entre otros, sólo se encuentran detallados para este útlimo. Esto aumenta la dificultad durante todo el proceso debido al requerimiento de utilizar un SO basado en RedHat.
\ No newline at end of file
+Si bien en la documentación oficial se menciona el soporte de los sistemas operativos Ubuntu, CentOS y openSUSE, la experiencia adquirida demuestra que varios de los bugs y problemas enfrentados no se encuentran reportados para Ubuntu. A su vez la mayor parte de las guías, ejemplos de testing y producción, soporte de plugins, entre otros, sólo se encuentran detallados para este último. Esto aumenta la dificultad durante todo el proceso debido al requerimiento de utilizar un SO basado en RedHat.
\ No newline at end of file
diff --git a/docs/udelartex/anexo/anexoStein.aux b/docs/udelartex/anexo/anexoStein.aux
new file mode 100644
index 0000000000000000000000000000000000000000..9600160147293746bb3186138656fb68ce96b6ae
--- /dev/null
+++ b/docs/udelartex/anexo/anexoStein.aux
@@ -0,0 +1,103 @@
+\relax 
+\providecommand\hyper@newdestlabel[2]{}
+\FN@pp@footnotehinttrue 
+\@writefile{toc}{\contentsline {chapter}{\numberline {5}Instalación versión Stein}{43}{chapter.5}\protected@file@percent }
+\@writefile{lof}{\addvspace {10\p@ }}
+\@writefile{lot}{\addvspace {10\p@ }}
+\newlabel{chap5}{{5}{43}{Instalación versión Stein}{chapter.5}{}}
+\@writefile{toc}{\contentsline {section}{\numberline {5.1}Diseño de arquitectura}{43}{section.5.1}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {5.1}{\ignorespaces Arquitectura diseñada para instalación Stein\relax }}{44}{figure.caption.60}\protected@file@percent }
+\newlabel{fig:stein:arquitectura}{{5.1}{44}{Arquitectura diseñada para instalación Stein\relax }{figure.caption.60}{}}
+\@writefile{toc}{\contentsline {section}{\numberline {5.2}Preparación de nodos}{45}{section.5.2}\protected@file@percent }
+\newlabel{chap5:preparacion:nodos}{{5.2}{45}{Preparación de nodos}{section.5.2}{}}
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.0.1}Deploy}{45}{subsubsection.5.2.0.1}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap5/deploy/eth0}{45}{lstlisting.5.-1}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.0.2}Infra1}{47}{subsubsection.5.2.0.2}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap5/infra1/br\textendash mgmt}{47}{lstlisting.5.-15}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap5/infra1/br\textendash storage}{48}{lstlisting.5.-16}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap5/infra1/br\textendash vlan}{48}{lstlisting.5.-17}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap5/infra1/br\textendash vxlan}{48}{lstlisting.5.-18}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap5/infra1/eth0}{48}{lstlisting.5.-19}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap5/infra1/eth1}{48}{lstlisting.5.-20}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap5/infra1/eth2}{48}{lstlisting.5.-21}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap5/infra1/eth2.31}{48}{lstlisting.5.-22}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.0.3}Compute1}{50}{subsubsection.5.2.0.3}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap5/compute1/br\textendash mgmt}{50}{lstlisting.5.-35}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap5/compute1/br\textendash storage}{50}{lstlisting.5.-36}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap5/compute1/br\textendash vlan}{50}{lstlisting.5.-37}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap5/compute1/br\textendash vxlan}{51}{lstlisting.5.-38}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap5/compute1/eth0}{51}{lstlisting.5.-39}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap5/compute1/eth1}{51}{lstlisting.5.-40}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap5/compute1/eth2}{51}{lstlisting.5.-41}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap5/compute1/eth2.31}{51}{lstlisting.5.-42}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.0.4}Compute2}{51}{subsubsection.5.2.0.4}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.0.5}Storage1}{52}{subsubsection.5.2.0.5}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap5/storage1/br\textendash mgmt}{52}{lstlisting.5.-44}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap5/storage1/br\textendash storage}{52}{lstlisting.5.-45}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap5/storage1/eth0}{52}{lstlisting.5.-46}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap5/storage1/eth1}{52}{lstlisting.5.-47}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.0.6}Storage2}{53}{subsubsection.5.2.0.6}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.0.7}HAproxy1}{53}{subsubsection.5.2.0.7}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap5/haproxy/eth0}{53}{lstlisting.5.-50}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap5/haproxy/eth1}{53}{lstlisting.5.-51}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.0.8}Router}{53}{subsubsection.5.2.0.8}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap5/router/eth0}{54}{lstlisting.5.-53}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap5/router/eth1}{54}{lstlisting.5.-54}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap5/router/eth2}{54}{lstlisting.5.-55}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap5/router/eth3}{54}{lstlisting.5.-56}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap5/router/eth3.100}{54}{lstlisting.5.-57}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{listings/chap5/router/eth3.101}{55}{lstlisting.5.-58}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {5.3}Configuración archivos OSA}{58}{section.5.3}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.3.0.1}openstack\_user\_config.yml}{58}{subsubsection.5.3.0.1}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.3.0.2}user\_variables.yml}{63}{subsubsection.5.3.0.2}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.3.0.3}cinder.yml}{64}{subsubsection.5.3.0.3}\protected@file@percent }
+\citation{openstack-using-openvswitch}
+\@writefile{toc}{\contentsline {section}{\numberline {5.4}Ejecución de playbooks}{65}{section.5.4}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {5.5}Cambios para driver OVS}{65}{section.5.5}\protected@file@percent }
+\FN@pp@footnotehinttrue 
+\@setckpt{capitulos/stein}{
+\setcounter{page}{68}
+\setcounter{equation}{0}
+\setcounter{enumi}{4}
+\setcounter{enumii}{2}
+\setcounter{enumiii}{2}
+\setcounter{enumiv}{0}
+\setcounter{footnote}{0}
+\setcounter{mpfootnote}{0}
+\setcounter{part}{0}
+\setcounter{chapter}{5}
+\setcounter{section}{5}
+\setcounter{subsection}{0}
+\setcounter{subsubsection}{0}
+\setcounter{paragraph}{0}
+\setcounter{subparagraph}{0}
+\setcounter{figure}{1}
+\setcounter{table}{0}
+\setcounter{pp@next@reset}{1}
+\setcounter{@fnserial}{0}
+\setcounter{@pps}{0}
+\setcounter{@ppsavesec}{0}
+\setcounter{@ppsaveapp}{0}
+\setcounter{parentequation}{0}
+\setcounter{float@type}{8}
+\setcounter{caption@flags}{0}
+\setcounter{continuedfloat}{0}
+\setcounter{Item}{91}
+\setcounter{Hfootnote}{0}
+\setcounter{bookmark@seq@number}{40}
+\setcounter{linenumber}{0}
+\setcounter{LN@truepage}{82}
+\setcounter{@todonotes@numberoftodonotes}{0}
+\setcounter{institute}{1}
+\setcounter{seconduniversity}{0}
+\setcounter{thirduniversity}{0}
+\setcounter{keywords}{5}
+\setcounter{foreignkeywords}{5}
+\setcounter{su@anzahl}{0}
+\setcounter{LT@tables}{0}
+\setcounter{LT@chunks}{0}
+\setcounter{NAT@ctr}{0}
+\setcounter{lstnumber}{5}
+\setcounter{section@level}{1}
+\setcounter{lstlisting}{0}
+}
diff --git a/docs/udelartex/capitulos/stein.tex b/docs/udelartex/anexo/anexoStein.tex
similarity index 99%
rename from docs/udelartex/capitulos/stein.tex
rename to docs/udelartex/anexo/anexoStein.tex
index 314c130ec4dda8b62e9a22485cb11eb31cf454c8..f9389131c5b7fd6b00503b47e079b9083f29b15f 100644
--- a/docs/udelartex/capitulos/stein.tex
+++ b/docs/udelartex/anexo/anexoStein.tex
@@ -1,4 +1,4 @@
-\chapter{Instalación versión Stein}\label{chap5}
+\chapter{Instalación versión Stein}\label{anexoStein}
 Stein es la décimo novena versión liberada por OpenStack. La misma fue publicada el 10 de abril del 2019. Junto a Train, liberada el 16 de octubre del 2019, son las versiones más recientes en estado estable para utilizar en ambientes de producción.
 
 \section{Diseño de arquitectura}
diff --git a/docs/udelartex/anexo/anexo_A.tex b/docs/udelartex/anexo/anexo_A.tex
deleted file mode 100644
index 834d77d66a95185628d4f9f233ce3569603a1a3f..0000000000000000000000000000000000000000
--- a/docs/udelartex/anexo/anexo_A.tex
+++ /dev/null
@@ -1,3 +0,0 @@
-\chapter{Material legislativo}\label{Ane1}
-
-XXXXX
\ No newline at end of file
diff --git a/docs/udelartex/capitulos/conclusiones.tex b/docs/udelartex/capitulos/conclusiones.tex
index a9ec4386e6bc85e19bd1549cb52dfb9ed4bbdfe9..d92d6e9311c41c593006f326a732af1e3c685755 100644
--- a/docs/udelartex/capitulos/conclusiones.tex
+++ b/docs/udelartex/capitulos/conclusiones.tex
@@ -1,7 +1,7 @@
 \chapter{Conclusiones}
-Luego de haber realizado todo el proceso de despliegue de un datacenter de pruebas mediante Openstack, se tomó conciencia de todos los aspectos y conceptos que involucra la instalación y mantenimiento de una operativa de esta magnitud. Es por esto que para llevar a cabo el trabajo fue necesario adquirir y aplicar conocimientos en diversas áreas computacionales tales como virtualización y contenerización, gestión de redes, almacenamiento de datos y administración de sistemas.
+Luego de haber realizado todo el proceso de despliegue de un Datacenter de pruebas mediante Openstack, se tomó conciencia de todos los aspectos y conceptos que involucra la instalación y mantenimiento de una operativa de esta magnitud. Es por esto que para llevar a cabo el trabajo fue necesario adquirir y aplicar conocimientos en diversas áreas computacionales tales como virtualización y contenerización, gestión de redes, almacenamiento de datos y administración de sistemas.
 
-Openstack como herramienta resulta ser muy valorada gracias a que posee una gran flexibilidad para adecuar el despliegue de un datacenter a las necesidades de cada caso, permitiendo instalar módulos con funcionalidades específicas y prescindir de aquellos que no sean necesarios.
+Openstack como herramienta resulta ser muy valorada gracias a que posee una gran flexibilidad para adecuar el despliegue de un Datacenter a las necesidades de cada caso, permitiendo instalar módulos con funcionalidades específicas y prescindir de aquellos que no sean necesarios.
 
 El proceso de instalación resulta sumamente complejo debido a la cantidad de herramientas y configuraciones a tener en cuenta, es por eso que la utilización de una herramienta de automatización de tareas resulta inevitable. Como se menciona en el documento, se utilizó Ansible para facilitar el proceso ya que permite ejecutar instalaciones reiteradas veces de forma idéntica y sobre múltiples servidores sin una carga operativa adicional. Aún así, la experiencia no fue sencilla debido a los diversos inconvenientes que se encontraron durante el camino. Esto condujo a que lograr todo el trabajo llevará un tiempo mayor al estimado.
 
diff --git "a/docs/udelartex/capitulos/dise\303\261o.tex" "b/docs/udelartex/capitulos/dise\303\261o.tex"
new file mode 100644
index 0000000000000000000000000000000000000000..8cf49f02d3296cb7c3dc5890ae693ec79e3feb95
--- /dev/null
+++ "b/docs/udelartex/capitulos/dise\303\261o.tex"
@@ -0,0 +1,375 @@
+\chapter{Diseño}
+
+\section{Diseño de arquitectura}
+Tendriamos que hablar en general, contando que la idea es que se instale en servidores fisicos, haciendo la correcpondencia de elementos virtualizados y fisicos y capaz que mencionar por arriba a las distintas arquitecturas que tenemos, refenciando a cada una en el anexo que estan.
+
+\section{Ambiente de trabajo}\label{diseño:ambiente:trabajo}
+
+\subsection{Hardware utilizado}
+Para realizar la instalación de OpenStack se utilizó un servidor físico (denominado renata) alojado en el Instituto de Computación de la Facultad de Ingeniería (INCO). El mismo cuenta con una amplia cantidad de recursos destacando sus 40 procesadores virtuales, 128 GB de RAM y 40 TB de disco duro. Se aloja en una red privada del INCO en donde para salir a Internet se debe pasar por un proxy, provocando algunas limitaciones que luego se mencionan.\\
+
+En el servidor fueron necesarias las siguientes configuraciones de red:
+\begin{enumerate}
+	\item Creación de un bridge el cual será utilizado por la interfaz física del servidor y por los distintos NAT que se deben crear con KVM para la arquitectura que se virtualiza.
+	Para esto se creo la interfaz br-mgmt con la siguiente configuración:
+	\lstinputlisting{chap4/renata/br-mgmt}
+	
+	\item En la interfaz eno2 la cual tenía configurada la IP del bridge quedó de la siguiente forma:
+	\lstinputlisting{chap4/renata/eno2}	
+\end{enumerate}
+
+\subsection{Conexión remota hacia el servidor renata}
+Dado que el servidor se encuentra en una red privada del INCO, para conectarse al mismo de forma remota se deben establecer algunas conexiones SSH. A continuación se detallan las conexiones y comandos utilizados.
+
+\begin{figure}[!h]
+	\centering
+	\includegraphics[width=1.0\columnwidth]{chap4/acceso-renata}
+	\caption{Acceso remoto al servidor renata.}
+	\label{acceso-renata}
+\end{figure}
+
+\begin{enumerate}
+	\item Como el servidor se encuentra en una red privada del INCO solo se puede acceder desde un host que se encuentre en una red interna de la FING, por ej: lulu.fing.edu.uy. Para esto ejecutar:
+	\begin{lstlisting}
+	$ ssh usuario_fing@lulu.fing.edu.uy
+	\end{lstlisting}
+	
+	\item Desde el host lulu para conectarse al servidor renata se debe ejecutar: 
+	\begin{lstlisting}
+	$ ssh openstack@192.168.60.242
+	\end{lstlisting}
+\end{enumerate}
+
+\subsection{Virtualización con KVM}
+Para crear la arquitectura de nodos se utilizó el virtualizador KVM, debido a que es la tecnología de virtualización utilizada normalmente en los servidores del INCO. Con el fin de facilitar la interacción con KVM a través de una interfaz gráfica, se utilizó el programa virt-manager.
+
+\subsubsection{Utilización virt-manager}
+Dentro del virt-manager lo primero a realizar es configurar una nueva conexión desde el menú Archivo -> Añadir conexión... de la siguiente forma:
+
+\begin{figure}[H]
+	\centering
+	\includegraphics[width=0.5\columnwidth]{chap4/virt-nueva-conexion}
+	\caption{Nueva conexión en virt-manager.}
+	\label{virt-nueva-conexion}
+\end{figure}
+
+Como un host remoto está a dos conexiones SSH del servidor Renata, la configuración que se muestra en la figura X no será suficiente. Para el correcto funcionamiento se debe crear una regla de forwarding que envíe todas las acciones realizadas por el virt-manager hacia el host lulu.fing.edu.uy el cual tiene acceso al servidor. Para lograr esto se debe ejecutar: 
+
+\begin{lstlisting}[gobble=0]
+ssh -L 5900:192.168.60.242:22 <usuario_fing>@lulu.fing.edu.uy
+\end{lstlisting}
+
+El número de puerto utilizado puede ser cualquiera que no esté siendo utilizado y no sea privilegiado.\\
+
+El orden adecuado para conectarse al servidor mediante virt-manager es:
+
+\begin{enumerate}
+	\item Crear la conexión ssh indicada.
+	\item Iniciar virt-manager.
+	\item Inicializar la conexión. En este paso se puede llegar a requerir la contraseña del usuario del servidor renata desde la consola que esté ejecutando el manager.
+\end{enumerate}
+
+Lo siguiente a realizar es crear con KVM las redes virtuales que se natean al bridge br-mgmt del servidor físico. Es necesario crear 4 redes, donde cada una se corresponde con las redes necesarias para el funcionamiento de OpenStack. Estas redes son:
+
+\begin{itemize}
+	\item NAT-Open (Subred management 10.0.1.0/24).
+	\item NAT-Open-Storage (Subred storage 10.0.10.0/24).
+	\item NAT-Open-Vxlan (Subred VXLAN 10.0.2.0/24).
+	\item NAT-Open-Vlan (Subred VLAN 10.0.4.0/24).
+\end{itemize}
+
+Para crear estas redes se debe ir al menú Editar -> Detalles de la conexión.
+Luego como se muestra en la imagen en la pestaña de redes virtuales seleccionar el icono (+).
+
+\begin{figure}[H]
+	\centering
+	\includegraphics[width=0.5\columnwidth]{chap4/virt-conf-red}
+	\caption{Configuración de redes virtuales en virt-manager.}
+	\label{virt-conf-red}
+\end{figure}
+
+Al presionar el botón para agregar un nueva red, desplegará en pantalla un wizard. A continuación se muestra el paso a paso de la creación de la red NAT-Open a modo de ejemplo:
+
+\begin{enumerate}
+	\item Seleccionar el nombre de la red
+	\begin{figure}[H]
+		\centering
+		\includegraphics[width=0.5\columnwidth]{chap4/virt-red-1}
+		\label{virt-red-1}
+	\end{figure}
+	
+	\item Seleccionar la subred y el rango para el DHCP
+	\begin{figure}[H]
+		\centering
+		\includegraphics[width=0.5\columnwidth]{chap4/virt-red-2}
+		\label{virt-red-2}
+	\end{figure}	
+	
+	\item No habilitar direcciones IPv6
+	\begin{figure}[H]
+		\centering
+		\includegraphics[width=0.5\columnwidth]{chap4/virt-red-3}
+		\label{virt-red-3}
+	\end{figure}	
+	
+	\item Seleccionar el tipo de red virtual
+	\begin{figure}[H]
+		\centering
+		\includegraphics[width=0.5\columnwidth]{chap4/virt-red-4}
+		\label{virt-red-4}
+	\end{figure}		
+	
+\end{enumerate}
+
+El mismo procedimiento se deberá repetir con el resto de las redes listadas.\\
+
+Lo último que es necesario crear con KVM son las nodos virtuales que se utilizaron para instalar OpenStack. En la instalación realizada se utilizan 5 nodos con las especificaciones detalladas a continuación:
+
+\begin{itemize}
+	\item \textbf{Nodo deploy}:
+	\begin{itemize}
+		\item 1 interfaz en NAT-Open
+		\item 2 CPUs
+		\item 200 GB de disco
+		\item 8 GB de RAM
+	\end{itemize}
+	
+	\item \textbf{Nodo haproxy1}:
+	\begin{itemize}
+		\item 2 interfaces: una en NAT-Open y otra conectada al bridge br-mgmt de renata
+		\item 4 CPUs
+		\item 200 GB de disco
+		\item 32 GB de RAM
+	\end{itemize}
+	
+	\item \textbf{Nodo infra1}:
+	\begin{itemize}
+		\item 4 interfaces: una en cada NAT creada
+		\item 8 CPUs
+		\item 200 GB de disco
+		\item 32 GB de RAM
+	\end{itemize}
+	
+	\item \textbf{Nodo compute1}:
+	\begin{itemize}
+		\item 4 interfaces: una en cada NAT creada
+		\item 8 CPUs
+		\item 200 GB de disco
+		\item 32 GB de RAM
+	\end{itemize}
+	
+	\item \textbf{Nodo storage1}:
+	\begin{itemize}
+		\item 2 interfaces: una en NAT-Open y otra en NAT-Open-Storage
+		\item 4 CPUs
+		\item 2 discos: uno de 40 GB para el SO y otro de 200 GB para el volumen de cinder
+		\item 32 GB de RAM
+	\end{itemize}
+	
+\end{itemize}
+
+A continuación se detalla paso a paso cómo crear el nodo deploy, el resto se realiza de forma análoga salvando las diferencias de recursos e interfaces de red.
+
+\begin{enumerate}
+	\item En el presente ejemplo se crea una VM suponiendo que se instalará el SO.
+	\begin{figure}[H]
+		\centering
+		\includegraphics[width=0.5\columnwidth]{chap4/virt-nodo-1}
+		\label{virt-nodo-1}
+	\end{figure}
+	
+	\item Seleccionar la imagen a utilizar y el tipo de SO. La misma deberá estar en un directorio del servidor físico.
+	\begin{figure}[H]
+		\centering
+		\includegraphics[width=1.0\columnwidth]{chap4/virt-nodo-2}
+		\label{virt-nodo-2}
+	\end{figure}
+	
+	\item Seleccionar RAM y CPUs.
+	\begin{figure}[H]
+		\centering
+		\includegraphics[width=0.5\columnwidth]{chap4/virt-nodo-3}
+		\label{virt-nodo-3}
+	\end{figure}
+	
+	\item Para el almacenamiento se deberá crear un nuevo volumen de la siguiente forma:
+	\begin{enumerate}[label*=\arabic*.]
+		\item Elegir la segunda opción y presionar Administrar.
+		\begin{figure}[H]
+			\centering
+			\includegraphics[width=0.5\columnwidth]{chap4/virt-nodo-4a}
+			\label{virt-nodo-4a}
+		\end{figure}
+		
+		\item Esto desplegará una ventana mostrando directorios del sistema de archivos de renata. Se puede elegir un volumen existente o crear uno nuevo con el botón (+).
+		\begin{figure}[H]
+			\centering
+			\includegraphics[width=1.0\columnwidth]{chap4/virt-nodo-4b}
+			\label{virt-nodo-4b}
+		\end{figure}
+		
+		\item Al crearlo se debe especificar el nombre, el tipo y la capacidad.
+		\begin{figure}[H]
+			\centering
+			\includegraphics[width=0.8\columnwidth]{chap4/virt-nodo-4c}
+			\label{virt-nodo-4c}
+		\end{figure}
+		
+	\end{enumerate}
+	
+	\item Luego se debe ingresar el nombre de la máquina y seleccionar la red que conecta el host directamente al bridge del servidor físico en lugar de la red NAT-Open para que el host tenga conexión a internet durante la instalación y poder realizar las primeras configuraciones en el mismo.
+	\begin{figure}[H]
+		\centering
+		\includegraphics[width=0.6\columnwidth]{chap4/virt-nodo-5}
+		\label{virt-nodo-5}
+	\end{figure}
+	
+	\item Se debe verificar en la opción IDE CDROM 1 que esté correctamente asignada la imagen a utilizar para instalar el SO.
+	\begin{figure}[H]
+		\centering
+		\includegraphics[width=1.0\columnwidth]{chap4/virt-nodo-6}
+		\label{virt-nodo-6}
+	\end{figure}
+	
+	\item Verificar en las opciones de arranque que el IDE CDROM 1 esté en primer lugar para que la máquina inicie con la imagen seleccionada.
+	\begin{figure}[H]
+		\centering
+		\includegraphics[width=0.9\columnwidth]{chap4/virt-nodo-7}
+		\label{virt-nodo-7}
+	\end{figure}
+	
+	\item Finalmente al confirmar todos los cambios se lanzará la VM creada y se instalará el SO.
+	
+\end{enumerate}
+
+\subsection{Especificaciones servidor renata}
+La red en la que se encuentra el servidor Renata no cuenta con acceso a internet. Para solucionar este problema se realizó un túnel ssh reverso desde el host lulu.fing.edu.uy al servidor Renata para establecer como proxy del mismo el host proxy.fing.edu.uy, siendo este último el proxy de la FING.
+
+\begin{figure}[H]
+	\centering
+	\includegraphics[width=0.8\columnwidth]{chap4/redes-renata}
+	\caption{Túnel reverso y esquema de servidores.}
+	\label{redes-renata}
+\end{figure}
+
+El funcionamiento de esta configuración se detalla a continuación:
+
+\begin{itemize}
+	\item El host lulu.fing.edu.uy inicia una conexión SSH con renata en donde indica que cree una conexión inversa con el proxy de la FING.
+	
+	\item Al establecer la conexión, el servidor renata crea el túnel inverso en donde envía todos los paquetes destinados al puerto 3128 al servidor proxy en el puerto 3128.
+	
+	\item Finalmente para que renata tenga acceso a Internet se asignan las variables de entorno http\_proxy y https\_proxy con el valor http://localhost:3128. De esta forma todo el tráfico http será enviado al puerto 3128 local y gracias al túnel reverso todos los pedidos http serán enviados al proxy logrando tener acceso a Internet.	
+\end{itemize}
+
+Para lograr esto se debe ejecutar el siguiente comando al iniciar la conexión SSH desde lulu hacia renata:
+
+\begin{lstlisting}
+$ ssh -R 3128:proxy.fing.edu.uy:3128 openstack@192.168.60.242
+\end{lstlisting}
+
+Como se muestra en la figura \ref{redes-renata} el servidor DNS utilizado se encuentra en la misma red local.
+
+\subsection{Acceso al exterior desde nodos}
+Los nodos virtualizados en el servidor renata con la configuración por defecto no tendrán acceso a Internet. Esto sucede por que al realizar un pedido http o https será enviado al gateway de estos nodos virtuales que es la IP 10.0.1.1 de la interfaz virtual de renata, en donde solamente forwardea los paquetes recibidos en el puerto 3128 al proxy de la FING. Para solucionar esto basta con configurar las variables de entorno http\_proxy y https\_proxy en los nodos virtualizados con el siguiente valor: http://10.0.1.1:3128. Esto aplica para los 5 nodos utilizados en la instalación.
+
+\begin{figure}[H]
+	\centering
+	\includegraphics[width=1.0\columnwidth]{chap4/internet-nodos}
+	\caption{Salida a Internet en los nodos de Openstack.}
+	\label{internet-nodos}
+\end{figure}
+
+\section{Ejecución de playbooks}
+Finalmente para instalar OpenStack con Ansible es necesario correr las playbooks principales del proyecto, las cuales se encuentran en el directorio \path{/opt/openstack-ansible/playbooks}.\\
+En primer lugar se ejecutan tres scripts para realizar un chequeo de sintaxis de la configuración preparada y los scripts a utilizar. Esto se realiza de la siguiente forma:
+
+\begin{lstlisting}
+$ openstack-ansible setup-hosts.yml --syntax-check
+$ openstack-ansible setup-infrastructure.yml --syntax-check
+$ openstack-ansible setup-openstack.yml --syntax-check
+\end{lstlisting}
+\vspace{8pt}
+En caso de no tener errores, se comienza la ejecución de las playbook en el orden que se describen:
+
+\subsubsection{setup-hosts.yml}
+Esta playbook se encarga de configurar todos los hosts descritos en el archivo \path{openstack_user_config.yml}. Con el siguiente comando se ejecuta la playbook:
+
+\begin{lstlisting}
+$ openstack-ansible -vvv setup-hosts.yml 2>&1 | tee /var/log/openstack/hostsXX.log
+\end{lstlisting}
+
+La opción -vvv es para que la salida sea más verbosa y el final es para mostrar la salida del comando en la consola y almacenarla en un archivo de log.
+
+\subsubsection{install-haproxy.yml}
+La configuración de los balanceadores de carga es lo siguiente a realizar. Esto se puede realizar sin tener explícitamente los contenedores o servidores físicos con los servicios instalados gracias a Ansible. OSA como se mencionó en la sección del inventario, a partir de los archivos de configuración conoce exactamente cómo quedará instalado cada uno de los servicios de OpenStack, por ejemplo las IPs y puertos de cada servicio.
+Con el siguiente comando se ejecuta la playbook:
+
+\begin{lstlisting}
+$ openstack-ansible -vvv haproxy-install.yml 2>&1 | tee /var/log/openstack/haproxyXX.log
+\end{lstlisting}
+
+\subsubsection{setup-infrastructure.yml}
+En este paso demora un poco más que el primer setup y se encargará de construir todos los contenedores donde luego se instalarán los servicios de OpenStack. Esta script además se encarga de instalar los servicios de infraestructura como son RabbitMQ o Galera DB para luego ser configurados en la playbook final.
+Con el siguiente comando se ejecuta la playbook:
+
+\begin{lstlisting}
+$ openstack-ansible -vvv setup-infrastructure.yml 2>&1 | tee /var/log/openstack/infrastructureXX.log
+\end{lstlisting}
+
+\subsubsection{setup-openstack.yml}
+En este paso final es cuando se configuran todos los servicios, indicados en los archivos de configuración de OSA, de OpenStack. Esta playbook es la que demora más tiempo en su ejecución, en el orden de las horas.
+Con el siguiente comando se ejecuta la playbook:
+
+\begin{lstlisting}
+$ openstack-ansible -vvv setup-openstack.yml 2>&1 | tee /var/log/openstack/openstackXX.log
+\end{lstlisting}
+
+\section{Verificación}
+Luego de que la última playbook haya terminado su ejecución sin error, debemos verificar que la instalación fue exitosa. Esto se realizará de forma manual siguiendo los pasos que se indican a continuación:
+
+\begin{enumerate}
+	\item Acceder al nodo de infra1 como usuario root.
+	
+	\item La instalación que realiza OSA crea contenedores de utilidad los cuales proveen de todas las herramientas desde la consola para utilizar OpenStack. En primer lugar se deben listar todos los containers del nodo físico ejecutando:
+	\begin{lstlisting}
+	$ lxc-ls -f
+	\end{lstlisting}	
+	
+	\item El contenedor que se utiliza es el que tiene en su nombre la palabra utility, para acceder al mismo es necesario ejecutar el siguiente comando de lxc:
+	\begin{lstlisting}
+	$ lxc-attach -n <nombre_contenedor>
+	\end{lstlisting}	
+	
+	\item Para utilizar los servicios de OpenStack es necesario enviar las credenciales del usuario que invocará a las APIs de los servicios. Esto se debe al funcionamiento de OpenStack en donde cada llamada a una API debe ser validada por el módulo de Keystone. Para evitar escribir las credenciales en cada comando, OSA genera un archivo llamado openrc para cargar la información del usuario como variables de entorno. El archivo se carga con el siguiente comando:
+	\begin{lstlisting}
+	$ source openrc
+	\end{lstlisting}	
+	
+	\item Algunos comandos que se pueden ejecutar son:
+	\begin{itemize}
+		\item Para listar usuarios:
+		\begin{lstlisting}
+		$ openstack user list --os-cloud=default
+		\end{lstlisting}			
+		
+		\item Para listar servidores:
+		\begin{lstlisting}
+		$ openstack server list
+		\end{lstlisting}	
+		
+		\item Para listar redes:
+		\begin{lstlisting}
+		$ openstack network list
+		\end{lstlisting}	
+		
+		\item Para listar los agentes de red:
+		\begin{lstlisting}
+		$ openstack network agent list
+		\end{lstlisting}					
+		
+	\end{itemize}
+	
+	\item Por otro lado se puede verificar el dashboard de Horizon accediendo a la ip definida en \path{external_lb_vip_address} en el archivo \path{/etc/openstack_deploy/openstack_user_config.yml} en el puerto 443 dado que utiliza HTTPS. Para autenticarse como admin en necesaria la password que se encuentra definida en la opción \path{keystone_auth_admin_password} del archivo \path{/etc/openstack_deploy/user_secrets.yml}.
+	
+\end{enumerate}
\ No newline at end of file
diff --git a/docs/udelartex/capitulos/introduccion.tex b/docs/udelartex/capitulos/introduccion.tex
index 267317e6e38f20a67655722f6205313712c2c958..8f8591a9623567529e2376cbf8259ef89c7e37f4 100644
--- a/docs/udelartex/capitulos/introduccion.tex
+++ b/docs/udelartex/capitulos/introduccion.tex
@@ -3,7 +3,7 @@
 En la actualidad hay un fuerte potencial de crecimiento en los Datacenters, principalmente dado por la demanda de sus servicios provenientes de nuevas tendencias como la digitalización de la información, el crecimiento del comercio electrónico y la adopción del cloud computing como una alternativa real. En función de esto resulta sumamente interesante investigar alternativas y procedimientos que deben ser llevados a cabo para desplegar y operar un Datacenter.
 
 
-Una tendencia que fue en aumento en los últimos años es la utilización de Openstack como plataforma de despliegue y gestión. Por lo tanto la finalidad de este informe será relatar una primera experiencia con dicha plataforma en una ambiente de prueba en el Instituto de Computación de la Facultad de Ingeniería.
+Una tendencia que fue en aumento en los últimos años es la utilización de OpenStack como plataforma de despliegue y gestión. Por lo tanto la finalidad de este informe será relatar una primera experiencia con dicha plataforma en una ambiente de prueba en el Instituto de Computación de la Facultad de Ingeniería.
 
 
 Una vez alcanzado un ambiente estable, es de particular interés analizar cómo la herramienta resuelve la comunicación a nivel de red entre los planos virtuales y físicos del Datacenter.
\ No newline at end of file
diff --git a/docs/udelartex/capitulos/planproyecto.tex b/docs/udelartex/capitulos/planproyecto.tex
new file mode 100644
index 0000000000000000000000000000000000000000..5d79f9d44cd5de1bba1c99a7396d6a3a7c7f7d5d
--- /dev/null
+++ b/docs/udelartex/capitulos/planproyecto.tex
@@ -0,0 +1,26 @@
+\chapter{Plan de proyecto}
+
+El trabajo tuvo una duración de 18 meses, iniciando en Agosto de 2018 y extendiéndose hasta Febrero de 2020. Originalmente el principal objetivo consistía en investigar los distintos modos de enrutamiento dentro de un Datacenter basado en OpenStack. Esto implicaba desplegar la plataforma para tener un ambiente de pruebas, lo cual se estimaba como alcanzable en 5 meses. En la práctica, obtener un primer ambiente funcional llevó mucho más tiempo debido a dificultades no anticipadas. Por esta razón se decidió cambiar el enfoque del proyecto reduciendo el tiempo de análisis del módulo de red para prestar mayor detalle al diseño de arquitectura y  aspectos de gestión de OpenStack. A continuación se realiza un breve recorrido sobre el desarrollo del proyecto, mencionando los objetivos que se alcanzaron cronológicamente y referenciando las secciones o capítulos del trabajo que profundizan sobre cada punto. 
+
+\textbf{Agosto - Setiembre 2018:} en el inicio del proyecto se comenzó a relevar la tecnología teniendo como único respaldo la documentación oficial. Al tratarse de una primera experiencia de despliegue con OpenStack a nivel académico, no existía ningún precedente dentro de la Udelar para tener como referencia. Planteado esto, se comenzó por entender el funcionamiento de la plataforma a nivel macro [capítulo openstack] utilizando ambientes locales meramente de aprendizaje desplegados con DevStack [métodos de instalación]. Además se debió decidir qué versión y con qué mecanismo instalar OpenStack [sección en capítulo de diseño].
+
+Octubre - Diciembre 2018: se planteó realizar una primera instalación de OSA en un ambiente local. Siguiendo la guía de despliegue de OSA se decidió una arquitectura simplificada de 4 nodos y virtualizada con VirtualBox. En este punto se esperaba tener un instalación funcional local en un periodo de 1 mes de pruebas. La realidad fue que surgieron múltiples problemas al comenzar la ejecución de las playbooks con Ansible, en donde por cada problema se investigaba su origen y se realizaban modificaciones a nivel de los archivos de configuración, de la arquitectura virtualizada o sobre los recursos creados por la propia instalación, para reintentar el proceso. Estos ciclos de prueba y error se extendieron durante dos meses, ayudando a comprender mejor diferentes aspectos de OpenStack Ansible. Sobre el final de esta etapa se llegó a la conclusión de que era necesario un ambiente de desarrollo compartido y con mejores prestaciones debido a que cada ciclo de ejecución consumía prácticamente la totalidad de los recursos durante varias horas. Además permitiría mejorar la metodología de trabajo uniformizando las pruebas gracias a la eliminación de las diferencias entre los ambientes locales.
+
+\textbf{Enero 2019:} el ambiente de desarrollo mencionado fue implementado por un conjunto de 4 máquinas virtuales alojadas en un servidor del INCO con el fin de replicar el ambiente local. A la hora de realizar las configuraciones requeridas, surgió la necesidad de modificar los recursos de red y almacenamiento de las VMs. Esta tarea se vio imposibilitada por no tener permisos directamente sobre el servidor físico. Como consecuencia se intentó virtualizar todo el ambiente dentro de una sola máquina virtual, lo que implicaba el uso de VirtualBox dentro de una instancia de KVM. Esta virtualización anidada generó severos inconvenientes al intentar acceder a una instancia para los cuales no se encontró una solución.  Esto apuntaba a que para trabajar en un ambiente de desarrollo era necesario contar con ciertos permisos en el servidor físico.
+
+\textbf{Febrero - Marzo 2019:} mientras se buscaba una solución para el ambiente remoto, se decidió intentar avanzar con las pruebas en ambientes locales. En todo este periodo de 2 meses se lograron grandes avances en la ejecución de las playbooks dado que 2 de las 3 se completaron correctamente [posible ref]. Finalmente en esta etapa de pruebas a nivel local surgió un problema de falta de recursos insolucionable que impedía finalizar la instalación. La arquitectura utilizada por más simple que fuera, quedaba demasiado grande para las computadoras personales que se estaban utilizando, generando por ejemplo que algunos servicios se vieran interrumpidos abruptamente por falta de memoria RAM.
+
+\textbf{Abril - Junio 2019:} debido a la falta de recursos, la idea de utilizar un servidor físico dedicado cobró relevancia nuevamente. En esta etapa se obtuvieron los permisos de administrador en el servidor Renata del INCO [ref hardware utilizado]. Como consecuencia de este cambio surgieron nuevos puntos a resolver, como: el acceso al servidor, la salida a internet desde el mismo, de qué forma utilizar los recursos para la instalación de OpenStack y la necesidad de adquirir conocimiento con el hipervisor KVM [ref ambiente trabajo]. 
+Gracias a la gran cantidad de recursos del servidor y a los conocimientos adquiridos hasta el momento, completar una instalación funcional llevó aproximadamente dos meses. Finalmente el proceso completo para alcanzar el primer objetivo llevó el doble del tiempo estimado (10 meses), dejando en claro que instalar y configurar una plataforma de Datacenter no es para nada trivial.
+
+\textbf{Junio - Julio 2019:} esta etapa consistió en documentar todo lo aprendido y experimentado hasta el momento.
+
+\textbf{Agosto - Setiembre 2019:} durante este período se realizó una evaluación de la arquitectura, con el fin de establecer posibles mejoras y acercarse a la estructura de un ambiente de producción. Para esto se llevó a cabo un relevamiento en la documentación de OpenStack Ansible y una videoconferencia con un experto en la plataforma. Como resultado se decidió agregar un nuevo nodo de cómputo y se evaluó la posibilidad de utilizar Ceph como tecnología para el almacenamiento en lugar de LVM [ref a backends]. De acuerdo a distintas fuentes y por el funcionamiento de dicha tecnología se concluyó que era más adecuada para un ambiente de producción. Estos cambios planteados requirieron modificaciones tanto en la arquitectura base como en los archivos de configuración utilizados. Finalmente se obtuvo una instalación funcional más robusta.
+
+\textbf{Setiembre - Octubre 2019:} el principal objetivo en esta etapa fue la gestión de OpenStack. Inicialmente se planteó investigar y realizar actualizaciones a versiones mayores y agregar y remover nodos físicos (cómputo, almacenamiento e infraestructura) del Datacenter. Dentro de la documentación oficial existen guías para realizar estas acciones en donde se presenta como un proceso medianamente sencillo. En la ejecución de las mismas surgieron múltiples problemas comentados en el capítulo [ref gestión]. 
+
+\textbf{Noviembre 2019:} con el objetivo de encaminar el análisis del módulo de red, se decidió ajustar la arquitectura diseñada hasta el momento para asemejarse aún más a los ambientes de producción descritos en la documentación oficial. Para esto fueron segmentadas mediante VLANs algunas de las subredes de comunicación entre los nodos físicos y se agregó un nuevo nodo virtual que emula el comportamiento de un router TOR. Debido a inconvenientes inesperados que provocaron la falla durante la instalación de la versión Queens, este nuevo ambiente fue desplegado utilizando la última versión estable disponible (Stein).
+
+\textbf{Diciembre 2019 - Enero 2020:} finalmente se realizó el estudio del módulo de red, analizando cómo resuelven el routing los drivers Linux Bridge y OVS del plugin ml2. Para cada uno de estos se diseñaron cuatro escenarios que buscan cubrir las posibles combinaciones de tráfico entre instancias, ya sea dentro (horizontalmente) o fuera (verticalmente) del Datacenter [ref capitulo red].
+
+\textbf{Enero - Febrero 2020:} durante estos meses finales se formalizó y detalló toda la documentación creada hasta el momento.
diff --git a/docs/udelartex/resumen/resumen.tex b/docs/udelartex/resumen/resumen.tex
index 5d96ac53d4e9cff5c289c3a743ecf78faca3652b..7948ad54aac1527e5f26f98d08f78026136ae399 100644
--- a/docs/udelartex/resumen/resumen.tex
+++ b/docs/udelartex/resumen/resumen.tex
@@ -1,6 +1,6 @@
 \begin{abstract}
 
-El presente documento estudia los aspectos fundamentales de la plataforma Openstack. A su vez, relata el proceso de diseño, instalación, y configuración básica de un Datacenter mediante la utilización de dicha plataforma. Se especifican los pasos necesarios a seguir y se detallan puntos sumamente relevantes a tener en cuenta. Por otro lado, se realiza un análisis del módulo de red Neutron enfocado en resolver la comunicación entre máquinas virtuales instanciadas en el Datacenter, particularmente buscando responder cómo realiza la comunicación entre las redes físicas de la infraestructura y las redes virtuales creadas por el usuario final.
+El presente documento estudia los aspectos fundamentales de la plataforma OpenStack. A su vez, relata el proceso de diseño, instalación, y configuración básica de un Datacenter mediante la utilización de dicha plataforma. Se especifican los pasos necesarios a seguir y se detallan puntos sumamente relevantes a tener en cuenta. Por otro lado, se realiza un análisis del módulo de red Neutron enfocado en resolver la comunicación entre máquinas virtuales instanciadas en el Datacenter, particularmente buscando responder cómo realiza la comunicación entre las redes físicas de la infraestructura y las redes virtuales creadas por el usuario final.
 
 \end{abstract}
 
diff --git a/docs/udelartex/tesis.lof b/docs/udelartex/tesis.lof
index 47e8675462153381c34f7731bc4f6b2e6161b4e2..3e05ee8aea20594f950ff1a9bedb8fdff9c1c288 100644
--- a/docs/udelartex/tesis.lof
+++ b/docs/udelartex/tesis.lof
@@ -3,106 +3,108 @@
 \babel@toc {spanish}{}
 \addvspace {10\p@ }
 \addvspace {10\p@ }
-\contentsline {figure}{\numberline {2.1}{\ignorespaces Hipervisores. Extraída de \cite {redhat-virtualization}.\relax }}{4}{figure.caption.6}%
-\contentsline {figure}{\numberline {2.2}{\ignorespaces Virtualización vs Contenerización. Extraída de \cite {redhat-lxc}.\relax }}{5}{figure.caption.8}%
-\contentsline {figure}{\numberline {2.3}{\ignorespaces Proceso de replicación en OSDs de Ceph. Extraída de \cite {ceph-architecture}.\relax }}{11}{figure.caption.17}%
-\contentsline {figure}{\numberline {2.4}{\ignorespaces Proceso de almacenamiento en pools de Ceph. Extraída de \cite {ceph-architecture}.\relax }}{11}{figure.caption.18}%
-\contentsline {figure}{\numberline {2.5}{\ignorespaces Proceso de almacenamiento en PGs de Ceph. Extraída de \cite {ceph-architecture}.\relax }}{12}{figure.caption.19}%
 \addvspace {10\p@ }
-\contentsline {figure}{\numberline {3.1}{\ignorespaces Relacionamiento entre módulos core\relax }}{15}{figure.caption.20}%
-\contentsline {figure}{\numberline {3.2}{\ignorespaces Servicios y backends soportados por Keystone. Extraída de \cite {openstack-idm-book-1}.\relax }}{15}{figure.caption.21}%
-\contentsline {figure}{\numberline {3.3}{\ignorespaces Principales componentes de Nova. Extraída de \cite {openstack-nova-architecture}.\relax }}{17}{figure.caption.22}%
-\contentsline {figure}{\numberline {3.4}{\ignorespaces Arquitectura simplificada de Neutron. Extraída de \cite {openstack-networking-book-2}\relax }}{20}{figure.caption.28}%
-\contentsline {figure}{\numberline {3.5}{\ignorespaces Componentes del módulo Glance. Extraída de \cite {openstack-glance-architecture}.\relax }}{22}{figure.caption.32}%
-\contentsline {figure}{\numberline {3.6}{\ignorespaces Creación de una VM. Extraída de \cite {openstack-images-instances}.\relax }}{23}{figure.caption.34}%
-\contentsline {figure}{\numberline {3.7}{\ignorespaces Principales componentes de Cinder. Extraído de \cite {redhat-cinder}.\relax }}{25}{figure.caption.35}%
-\contentsline {figure}{\numberline {3.8}{\ignorespaces Arquitectura del módulo Swift. Extraída de \cite {openstack-storage-components}.\relax }}{27}{figure.caption.36}%
-\contentsline {figure}{\numberline {3.9}{\ignorespaces Arquitectura de Neutron. Extraída de \cite {openstack-networking-book-1}.\relax }}{29}{figure.caption.40}%
-\contentsline {figure}{\numberline {3.10}{\ignorespaces Componentes de red en Openstack. \cite {openstack-container-networking}.\relax }}{33}{figure.caption.52}%
-\contentsline {figure}{\numberline {3.11}{\ignorespaces Diagrama de múltiples interfaces de red. Extraída de \cite {openstack-networking-architecture}.\relax }}{34}{figure.caption.56}%
-\contentsline {figure}{\numberline {3.12}{\ignorespaces Diagrama de bonds de múltiples interfaces de red. Extraída de \cite {openstack-networking-architecture}.\relax }}{35}{figure.caption.57}%
-\contentsline {figure}{\numberline {3.13}{\ignorespaces Despliegue de servicios OpenStack en contenedores. Extraída de \cite {openstack-appendix-e}.\relax }}{36}{figure.caption.58}%
-\contentsline {figure}{\numberline {3.14}{\ignorespaces Extraída de \cite {openstack-cookbook-book}\relax }}{37}{figure.caption.59}%
+\contentsline {figure}{\numberline {3.1}{\ignorespaces Hipervisores. Extraída de \cite {redhat-virtualization}.\relax }}{8}{figure.caption.6}%
+\contentsline {figure}{\numberline {3.2}{\ignorespaces Virtualización vs Contenerización. Extraída de \cite {redhat-lxc}.\relax }}{9}{figure.caption.8}%
+\contentsline {figure}{\numberline {3.3}{\ignorespaces Proceso de replicación en OSDs de Ceph. Extraída de \cite {ceph-architecture}.\relax }}{15}{figure.caption.17}%
+\contentsline {figure}{\numberline {3.4}{\ignorespaces Proceso de almacenamiento en pools de Ceph. Extraída de \cite {ceph-architecture}.\relax }}{15}{figure.caption.18}%
+\contentsline {figure}{\numberline {3.5}{\ignorespaces Proceso de almacenamiento en PGs de Ceph. Extraída de \cite {ceph-architecture}.\relax }}{16}{figure.caption.19}%
 \addvspace {10\p@ }
-\contentsline {figure}{\numberline {4.1}{\ignorespaces Arquitectura diseñada.\relax }}{40}{figure.caption.60}%
-\contentsline {figure}{\numberline {4.2}{\ignorespaces Disposición de componentes en Neutron. Extraída de \cite {openstack-networking-book-4}.\relax }}{41}{figure.caption.61}%
-\contentsline {figure}{\numberline {4.3}{\ignorespaces Acceso remoto al servidor renata.\relax }}{42}{figure.caption.62}%
-\contentsline {figure}{\numberline {4.4}{\ignorespaces Nueva conexión en virt-manager.\relax }}{43}{figure.caption.63}%
-\contentsline {figure}{\numberline {4.5}{\ignorespaces Configuración de redes virtuales en virt-manager.\relax }}{44}{figure.caption.64}%
-\contentsline {figure}{\numberline {4.6}{\ignorespaces Túnel reverso y esquema de servidores.\relax }}{51}{figure.caption.78}%
-\contentsline {figure}{\numberline {4.7}{\ignorespaces Salida a Internet en los nodos de Openstack.\relax }}{52}{figure.caption.79}%
+\contentsline {figure}{\numberline {4.1}{\ignorespaces Relacionamiento entre módulos core\relax }}{19}{figure.caption.20}%
+\contentsline {figure}{\numberline {4.2}{\ignorespaces Servicios y backends soportados por Keystone. Extraída de \cite {openstack-idm-book-1}.\relax }}{19}{figure.caption.21}%
+\contentsline {figure}{\numberline {4.3}{\ignorespaces Principales componentes de Nova. Extraída de \cite {openstack-nova-architecture}.\relax }}{21}{figure.caption.22}%
+\contentsline {figure}{\numberline {4.4}{\ignorespaces Arquitectura simplificada de Neutron. Extraída de \cite {openstack-networking-book-2}\relax }}{24}{figure.caption.28}%
+\contentsline {figure}{\numberline {4.5}{\ignorespaces Componentes del módulo Glance. Extraída de \cite {openstack-glance-architecture}.\relax }}{26}{figure.caption.32}%
+\contentsline {figure}{\numberline {4.6}{\ignorespaces Creación de una VM. Extraída de \cite {openstack-images-instances}.\relax }}{27}{figure.caption.34}%
+\contentsline {figure}{\numberline {4.7}{\ignorespaces Principales componentes de Cinder. Extraído de \cite {redhat-cinder}.\relax }}{29}{figure.caption.35}%
+\contentsline {figure}{\numberline {4.8}{\ignorespaces Arquitectura del módulo Swift. Extraída de \cite {openstack-storage-components}.\relax }}{31}{figure.caption.36}%
+\contentsline {figure}{\numberline {4.9}{\ignorespaces Arquitectura de Neutron. Extraída de \cite {openstack-networking-book-1}.\relax }}{33}{figure.caption.40}%
+\contentsline {figure}{\numberline {4.10}{\ignorespaces Componentes de red en Openstack. \cite {openstack-container-networking}.\relax }}{37}{figure.caption.52}%
+\contentsline {figure}{\numberline {4.11}{\ignorespaces Diagrama de múltiples interfaces de red. Extraída de \cite {openstack-networking-architecture}.\relax }}{38}{figure.caption.56}%
+\contentsline {figure}{\numberline {4.12}{\ignorespaces Diagrama de bonds de múltiples interfaces de red. Extraída de \cite {openstack-networking-architecture}.\relax }}{39}{figure.caption.57}%
+\contentsline {figure}{\numberline {4.13}{\ignorespaces Despliegue de servicios OpenStack en contenedores. Extraída de \cite {openstack-appendix-e}.\relax }}{40}{figure.caption.58}%
+\contentsline {figure}{\numberline {4.14}{\ignorespaces Extraída de \cite {openstack-cookbook-book}\relax }}{41}{figure.caption.59}%
 \addvspace {10\p@ }
-\contentsline {figure}{\numberline {5.1}{\ignorespaces Arquitectura diseñada para instalación Stein\relax }}{77}{figure.caption.81}%
+\contentsline {figure}{\numberline {5.1}{\ignorespaces Acceso remoto al servidor renata.\relax }}{45}{figure.caption.60}%
+\contentsline {figure}{\numberline {5.2}{\ignorespaces Nueva conexión en virt-manager.\relax }}{45}{figure.caption.61}%
+\contentsline {figure}{\numberline {5.3}{\ignorespaces Configuración de redes virtuales en virt-manager.\relax }}{47}{figure.caption.62}%
+\contentsline {figure}{\numberline {5.4}{\ignorespaces Túnel reverso y esquema de servidores.\relax }}{53}{figure.caption.76}%
+\contentsline {figure}{\numberline {5.5}{\ignorespaces Salida a Internet en los nodos de Openstack.\relax }}{54}{figure.caption.77}%
 \addvspace {10\p@ }
-\contentsline {figure}{\numberline {6.1}{\ignorespaces Vista del login de Horizon.\relax }}{102}{figure.caption.82}%
-\contentsline {figure}{\numberline {6.2}{\ignorespaces Creación de un proyecto (1/2).\relax }}{103}{figure.caption.83}%
-\contentsline {figure}{\numberline {6.3}{\ignorespaces Creación de un proyecto (2/2).\relax }}{104}{figure.caption.84}%
-\contentsline {figure}{\numberline {6.4}{\ignorespaces Creación de un usuario.\relax }}{105}{figure.caption.85}%
-\contentsline {figure}{\numberline {6.5}{\ignorespaces Creación de un flavor (1/2).\relax }}{106}{figure.caption.86}%
-\contentsline {figure}{\numberline {6.6}{\ignorespaces Creación de un flavor (2/2).\relax }}{106}{figure.caption.87}%
-\contentsline {figure}{\numberline {6.7}{\ignorespaces Creación de una red provider (1/2).\relax }}{107}{figure.caption.88}%
-\contentsline {figure}{\numberline {6.8}{\ignorespaces Creación de una red provider (2/2).\relax }}{108}{figure.caption.89}%
-\contentsline {figure}{\numberline {6.9}{\ignorespaces Creación de una imagen (1/2).\relax }}{109}{figure.caption.90}%
-\contentsline {figure}{\numberline {6.10}{\ignorespaces Creación de una imagen (2/2).\relax }}{110}{figure.caption.91}%
-\contentsline {figure}{\numberline {6.11}{\ignorespaces Creación de una red (1/3).\relax }}{111}{figure.caption.92}%
-\contentsline {figure}{\numberline {6.12}{\ignorespaces Creación de una red (2/3).\relax }}{111}{figure.caption.93}%
-\contentsline {figure}{\numberline {6.13}{\ignorespaces Creación de una red (3/3).\relax }}{112}{figure.caption.94}%
-\contentsline {figure}{\numberline {6.14}{\ignorespaces Creación de un router.\relax }}{112}{figure.caption.95}%
-\contentsline {figure}{\numberline {6.15}{\ignorespaces Creación de una interfaz en un router.\relax }}{113}{figure.caption.96}%
-\contentsline {figure}{\numberline {6.16}{\ignorespaces Creación de una key pair.\relax }}{113}{figure.caption.97}%
-\contentsline {figure}{\numberline {6.17}{\ignorespaces Lanzar una nueva instancia (1/5).\relax }}{114}{figure.caption.98}%
-\contentsline {figure}{\numberline {6.18}{\ignorespaces Lanzar una nueva instancia (2/5).\relax }}{114}{figure.caption.99}%
-\contentsline {figure}{\numberline {6.19}{\ignorespaces Lanzar una nueva instancia (3/5).\relax }}{115}{figure.caption.100}%
-\contentsline {figure}{\numberline {6.20}{\ignorespaces Lanzar una nueva instancia (4/5).\relax }}{115}{figure.caption.101}%
-\contentsline {figure}{\numberline {6.21}{\ignorespaces Lanzar una nueva instancia (5/5).\relax }}{116}{figure.caption.102}%
-\contentsline {figure}{\numberline {6.22}{\ignorespaces Asignación de floating IP.\relax }}{117}{figure.caption.103}%
-\contentsline {figure}{\numberline {6.23}{\ignorespaces Asociación de floating IP.\relax }}{118}{figure.caption.104}%
-\contentsline {figure}{\numberline {6.24}{\ignorespaces Reglas security group por defecto.\relax }}{118}{figure.caption.105}%
-\contentsline {figure}{\numberline {6.25}{\ignorespaces Agregar regla para tráfico ICMP.\relax }}{119}{figure.caption.106}%
-\contentsline {figure}{\numberline {6.26}{\ignorespaces Agregar regla para tráfico SSH.\relax }}{119}{figure.caption.107}%
+\contentsline {figure}{\numberline {6.1}{\ignorespaces Vista del login de Horizon.\relax }}{59}{figure.caption.78}%
+\contentsline {figure}{\numberline {6.2}{\ignorespaces Creación de un proyecto (1/2).\relax }}{60}{figure.caption.79}%
+\contentsline {figure}{\numberline {6.3}{\ignorespaces Creación de un proyecto (2/2).\relax }}{61}{figure.caption.80}%
+\contentsline {figure}{\numberline {6.4}{\ignorespaces Creación de un usuario.\relax }}{62}{figure.caption.81}%
+\contentsline {figure}{\numberline {6.5}{\ignorespaces Creación de un flavor (1/2).\relax }}{63}{figure.caption.82}%
+\contentsline {figure}{\numberline {6.6}{\ignorespaces Creación de un flavor (2/2).\relax }}{63}{figure.caption.83}%
+\contentsline {figure}{\numberline {6.7}{\ignorespaces Creación de una red provider (1/2).\relax }}{64}{figure.caption.84}%
+\contentsline {figure}{\numberline {6.8}{\ignorespaces Creación de una red provider (2/2).\relax }}{65}{figure.caption.85}%
+\contentsline {figure}{\numberline {6.9}{\ignorespaces Creación de una imagen (1/2).\relax }}{66}{figure.caption.86}%
+\contentsline {figure}{\numberline {6.10}{\ignorespaces Creación de una imagen (2/2).\relax }}{67}{figure.caption.87}%
+\contentsline {figure}{\numberline {6.11}{\ignorespaces Creación de una red (1/3).\relax }}{68}{figure.caption.88}%
+\contentsline {figure}{\numberline {6.12}{\ignorespaces Creación de una red (2/3).\relax }}{68}{figure.caption.89}%
+\contentsline {figure}{\numberline {6.13}{\ignorespaces Creación de una red (3/3).\relax }}{69}{figure.caption.90}%
+\contentsline {figure}{\numberline {6.14}{\ignorespaces Creación de un router.\relax }}{69}{figure.caption.91}%
+\contentsline {figure}{\numberline {6.15}{\ignorespaces Creación de una interfaz en un router.\relax }}{70}{figure.caption.92}%
+\contentsline {figure}{\numberline {6.16}{\ignorespaces Creación de una key pair.\relax }}{70}{figure.caption.93}%
+\contentsline {figure}{\numberline {6.17}{\ignorespaces Lanzar una nueva instancia (1/5).\relax }}{71}{figure.caption.94}%
+\contentsline {figure}{\numberline {6.18}{\ignorespaces Lanzar una nueva instancia (2/5).\relax }}{71}{figure.caption.95}%
+\contentsline {figure}{\numberline {6.19}{\ignorespaces Lanzar una nueva instancia (3/5).\relax }}{72}{figure.caption.96}%
+\contentsline {figure}{\numberline {6.20}{\ignorespaces Lanzar una nueva instancia (4/5).\relax }}{72}{figure.caption.97}%
+\contentsline {figure}{\numberline {6.21}{\ignorespaces Lanzar una nueva instancia (5/5).\relax }}{73}{figure.caption.98}%
+\contentsline {figure}{\numberline {6.22}{\ignorespaces Asignación de floating IP.\relax }}{74}{figure.caption.99}%
+\contentsline {figure}{\numberline {6.23}{\ignorespaces Asociación de floating IP.\relax }}{75}{figure.caption.100}%
+\contentsline {figure}{\numberline {6.24}{\ignorespaces Reglas security group por defecto.\relax }}{75}{figure.caption.101}%
+\contentsline {figure}{\numberline {6.25}{\ignorespaces Agregar regla para tráfico ICMP.\relax }}{76}{figure.caption.102}%
+\contentsline {figure}{\numberline {6.26}{\ignorespaces Agregar regla para tráfico SSH.\relax }}{76}{figure.caption.103}%
 \addvspace {10\p@ }
 \addvspace {10\p@ }
-\contentsline {figure}{\numberline {8.1}{\ignorespaces Diagrama de arquitectura para el escenario 1 de Linux Bridge\relax }}{133}{figure.caption.126}%
-\contentsline {figure}{\numberline {8.2}{\ignorespaces Paquete ARP request capturado en la interfaz eth0 de la instancia 1\relax }}{138}{figure.caption.129}%
-\contentsline {figure}{\numberline {8.3}{\ignorespaces Paquete ARP request encapsulado en VXLAN capturado en la interfaz br-vxlan del nodo de cómputo 1\relax }}{138}{figure.caption.130}%
-\contentsline {figure}{\numberline {8.4}{\ignorespaces Paquete ARP reply encapsulado en VXLAN capturado en la interfaz br-vxlan del nodo de cómputo 1\relax }}{140}{figure.caption.131}%
-\contentsline {figure}{\numberline {8.5}{\ignorespaces Paquete ARP reply capturado en la interfaz eth0 de la instancia 1\relax }}{141}{figure.caption.132}%
-\contentsline {figure}{\numberline {8.6}{\ignorespaces Paquete ICMP request capturado en la interfaz eth0 de la instancia 1\relax }}{141}{figure.caption.134}%
-\contentsline {figure}{\numberline {8.7}{\ignorespaces Paquete ICMP request encapsulado en VXLAN capturado en la interfaz br-vxlan del nodo de cómputo 1\relax }}{142}{figure.caption.135}%
-\contentsline {figure}{\numberline {8.8}{\ignorespaces Diagrama de arquitectura para el escenario 2 de Linux Bridge\relax }}{143}{figure.caption.137}%
-\contentsline {figure}{\numberline {8.9}{\ignorespaces Paquete ICMP echo request encapsulado en VXLAN capturado en la interfaz br-vxlan en el nodo de cómputo 1\relax }}{150}{figure.caption.141}%
-\contentsline {figure}{\numberline {8.10}{\ignorespaces Paquete ICMP echo request encapsulado en VXLAN capturado en la interfaz br-vxlan en el nodo de cómputo 2\relax }}{151}{figure.caption.145}%
-\contentsline {figure}{\numberline {8.11}{\ignorespaces Diagrama de arquitectura para el escenario 3 de Linux Bridge\relax }}{151}{figure.caption.147}%
-\contentsline {figure}{\numberline {8.12}{\ignorespaces Paquete ICMP echo request encapsulado en VXLAN capturado en la interfaz br-vxlan en el nodo de cómputo 1\relax }}{156}{figure.caption.151}%
-\contentsline {figure}{\numberline {8.13}{\ignorespaces Paquete ARP request taggeado con el VLAN ID 100 capturado en la interfaz br-vlan en el nodo de red\relax }}{157}{figure.caption.154}%
-\contentsline {figure}{\numberline {8.14}{\ignorespaces Paquete ICMP echo request capturado en la interfaz br-vlan del nodo de red\relax }}{158}{figure.caption.156}%
-\contentsline {figure}{\numberline {8.15}{\ignorespaces Diagrama de arquitectura para el escenario 4 de Linux Bridge\relax }}{159}{figure.caption.158}%
-\contentsline {figure}{\numberline {8.16}{\ignorespaces Paquete ICMP echo request taggeado con el VLAN ID 100 capturado en la interfaz eth3 del router físico\relax }}{162}{figure.caption.162}%
-\contentsline {figure}{\numberline {8.17}{\ignorespaces Paquete ICMP echo request capturado en la interfaz qg del router de Neutron\relax }}{162}{figure.caption.163}%
-\contentsline {figure}{\numberline {8.18}{\ignorespaces Paquete ICMP echo request capturado en la interfaz qr del router de Neutron\relax }}{163}{figure.caption.166}%
-\contentsline {figure}{\numberline {8.19}{\ignorespaces Diagrama de componentes de Open vSwitch\relax }}{164}{figure.caption.168}%
-\contentsline {figure}{\numberline {8.20}{\ignorespaces Diagrama de arquitectura para el escenario 1 de Open vSwitch\relax }}{168}{figure.caption.169}%
-\contentsline {figure}{\numberline {8.21}{\ignorespaces Paquete ARP request capturado en la interfaz eth0 de la instancia 1\relax }}{175}{figure.caption.172}%
-\contentsline {figure}{\numberline {8.22}{\ignorespaces ARP request encapsulado en VXLAN capturado en la interfaz br-vxlan del nodo de cómputo 1\relax }}{177}{figure.caption.173}%
-\contentsline {figure}{\numberline {8.23}{\ignorespaces ARP reply encapsulado en VXLAN capturado en la interfaz br-vxlan del nodo de cómputo 1\relax }}{181}{figure.caption.174}%
-\contentsline {figure}{\numberline {8.24}{\ignorespaces Paquete ARP reply capturado en la interfaz eth0 de la instancia 1\relax }}{182}{figure.caption.175}%
-\contentsline {figure}{\numberline {8.25}{\ignorespaces Paquete ICMP request capturado en la interfaz eth0 de la instancia 1\relax }}{182}{figure.caption.177}%
-\contentsline {figure}{\numberline {8.26}{\ignorespaces Paquete ICMP request encapsulado en VXLAN 19 capturado en el bridge br-vxlan en el nodo de cómputo 1\relax }}{184}{figure.caption.178}%
-\contentsline {figure}{\numberline {8.27}{\ignorespaces Diagrama de arquitectura para el escenario 2 de Open vSwitch\relax }}{185}{figure.caption.180}%
-\contentsline {figure}{\numberline {8.28}{\ignorespaces Paquete ICMP echo request encapsulado en VXLAN capturado en la interfaz br-vxlan en el nodo de cómputo 1\relax }}{190}{figure.caption.184}%
-\contentsline {figure}{\numberline {8.29}{\ignorespaces Paquete ICMP echo request encapsulado en VXLAN capturado en la interfaz br-vxlan en el nodo de cómputo 2\relax }}{191}{figure.caption.188}%
-\contentsline {figure}{\numberline {8.30}{\ignorespaces Diagrama de arquitectura para el escenario 3 de Open vSwitch\relax }}{192}{figure.caption.190}%
-\contentsline {figure}{\numberline {8.31}{\ignorespaces Paquete ICMP echo request encapsulado en VXLAN capturado en la interfaz br-vxlan en el nodo de cómputo 1\relax }}{196}{figure.caption.194}%
-\contentsline {figure}{\numberline {8.32}{\ignorespaces Paquete ARP request taggeado con el VLAN ID 100 capturado en la interfaz br-vlan en el nodo de red\relax }}{197}{figure.caption.197}%
-\contentsline {figure}{\numberline {8.33}{\ignorespaces Paquete ICMP echo request capturado en la interfaz br-vlan del nodo de red\relax }}{198}{figure.caption.199}%
-\contentsline {figure}{\numberline {8.34}{\ignorespaces Diagrama de arquitectura para el escenario 4 de Open vSwitch\relax }}{199}{figure.caption.201}%
-\contentsline {figure}{\numberline {8.35}{\ignorespaces Paquete ICMP echo request taggeado con el VLAN ID 100 capturado en la interfaz eth3 del router físico\relax }}{202}{figure.caption.205}%
-\contentsline {figure}{\numberline {8.36}{\ignorespaces Paquete ICMP echo request capturado en la interfaz qg del router de Neutron\relax }}{202}{figure.caption.206}%
-\contentsline {figure}{\numberline {8.37}{\ignorespaces Paquete ICMP echo request capturado en la interfaz qr del router de Neutron\relax }}{203}{figure.caption.209}%
+\contentsline {figure}{\numberline {8.1}{\ignorespaces Diagrama de arquitectura para el escenario 1 de Linux Bridge\relax }}{90}{figure.caption.122}%
+\contentsline {figure}{\numberline {8.2}{\ignorespaces Paquete ARP request capturado en la interfaz eth0 de la instancia 1\relax }}{95}{figure.caption.125}%
+\contentsline {figure}{\numberline {8.3}{\ignorespaces Paquete ARP request encapsulado en VXLAN capturado en la interfaz br-vxlan del nodo de cómputo 1\relax }}{95}{figure.caption.126}%
+\contentsline {figure}{\numberline {8.4}{\ignorespaces Paquete ARP reply encapsulado en VXLAN capturado en la interfaz br-vxlan del nodo de cómputo 1\relax }}{97}{figure.caption.127}%
+\contentsline {figure}{\numberline {8.5}{\ignorespaces Paquete ARP reply capturado en la interfaz eth0 de la instancia 1\relax }}{98}{figure.caption.128}%
+\contentsline {figure}{\numberline {8.6}{\ignorespaces Paquete ICMP request capturado en la interfaz eth0 de la instancia 1\relax }}{98}{figure.caption.130}%
+\contentsline {figure}{\numberline {8.7}{\ignorespaces Paquete ICMP request encapsulado en VXLAN capturado en la interfaz br-vxlan del nodo de cómputo 1\relax }}{99}{figure.caption.131}%
+\contentsline {figure}{\numberline {8.8}{\ignorespaces Diagrama de arquitectura para el escenario 2 de Linux Bridge\relax }}{100}{figure.caption.133}%
+\contentsline {figure}{\numberline {8.9}{\ignorespaces Paquete ICMP echo request encapsulado en VXLAN capturado en la interfaz br-vxlan en el nodo de cómputo 1\relax }}{107}{figure.caption.137}%
+\contentsline {figure}{\numberline {8.10}{\ignorespaces Paquete ICMP echo request encapsulado en VXLAN capturado en la interfaz br-vxlan en el nodo de cómputo 2\relax }}{108}{figure.caption.141}%
+\contentsline {figure}{\numberline {8.11}{\ignorespaces Diagrama de arquitectura para el escenario 3 de Linux Bridge\relax }}{108}{figure.caption.143}%
+\contentsline {figure}{\numberline {8.12}{\ignorespaces Paquete ICMP echo request encapsulado en VXLAN capturado en la interfaz br-vxlan en el nodo de cómputo 1\relax }}{113}{figure.caption.147}%
+\contentsline {figure}{\numberline {8.13}{\ignorespaces Paquete ARP request taggeado con el VLAN ID 100 capturado en la interfaz br-vlan en el nodo de red\relax }}{114}{figure.caption.150}%
+\contentsline {figure}{\numberline {8.14}{\ignorespaces Paquete ICMP echo request capturado en la interfaz br-vlan del nodo de red\relax }}{115}{figure.caption.152}%
+\contentsline {figure}{\numberline {8.15}{\ignorespaces Diagrama de arquitectura para el escenario 4 de Linux Bridge\relax }}{116}{figure.caption.154}%
+\contentsline {figure}{\numberline {8.16}{\ignorespaces Paquete ICMP echo request taggeado con el VLAN ID 100 capturado en la interfaz eth3 del router físico\relax }}{119}{figure.caption.158}%
+\contentsline {figure}{\numberline {8.17}{\ignorespaces Paquete ICMP echo request capturado en la interfaz qg del router de Neutron\relax }}{119}{figure.caption.159}%
+\contentsline {figure}{\numberline {8.18}{\ignorespaces Paquete ICMP echo request capturado en la interfaz qr del router de Neutron\relax }}{120}{figure.caption.162}%
+\contentsline {figure}{\numberline {8.19}{\ignorespaces Diagrama de componentes de Open vSwitch\relax }}{121}{figure.caption.164}%
+\contentsline {figure}{\numberline {8.20}{\ignorespaces Diagrama de arquitectura para el escenario 1 de Open vSwitch\relax }}{125}{figure.caption.165}%
+\contentsline {figure}{\numberline {8.21}{\ignorespaces Paquete ARP request capturado en la interfaz eth0 de la instancia 1\relax }}{132}{figure.caption.168}%
+\contentsline {figure}{\numberline {8.22}{\ignorespaces ARP request encapsulado en VXLAN capturado en la interfaz br-vxlan del nodo de cómputo 1\relax }}{134}{figure.caption.169}%
+\contentsline {figure}{\numberline {8.23}{\ignorespaces ARP reply encapsulado en VXLAN capturado en la interfaz br-vxlan del nodo de cómputo 1\relax }}{138}{figure.caption.170}%
+\contentsline {figure}{\numberline {8.24}{\ignorespaces Paquete ARP reply capturado en la interfaz eth0 de la instancia 1\relax }}{139}{figure.caption.171}%
+\contentsline {figure}{\numberline {8.25}{\ignorespaces Paquete ICMP request capturado en la interfaz eth0 de la instancia 1\relax }}{139}{figure.caption.173}%
+\contentsline {figure}{\numberline {8.26}{\ignorespaces Paquete ICMP request encapsulado en VXLAN 19 capturado en el bridge br-vxlan en el nodo de cómputo 1\relax }}{141}{figure.caption.174}%
+\contentsline {figure}{\numberline {8.27}{\ignorespaces Diagrama de arquitectura para el escenario 2 de Open vSwitch\relax }}{142}{figure.caption.176}%
+\contentsline {figure}{\numberline {8.28}{\ignorespaces Paquete ICMP echo request encapsulado en VXLAN capturado en la interfaz br-vxlan en el nodo de cómputo 1\relax }}{147}{figure.caption.180}%
+\contentsline {figure}{\numberline {8.29}{\ignorespaces Paquete ICMP echo request encapsulado en VXLAN capturado en la interfaz br-vxlan en el nodo de cómputo 2\relax }}{148}{figure.caption.184}%
+\contentsline {figure}{\numberline {8.30}{\ignorespaces Diagrama de arquitectura para el escenario 3 de Open vSwitch\relax }}{149}{figure.caption.186}%
+\contentsline {figure}{\numberline {8.31}{\ignorespaces Paquete ICMP echo request encapsulado en VXLAN capturado en la interfaz br-vxlan en el nodo de cómputo 1\relax }}{153}{figure.caption.190}%
+\contentsline {figure}{\numberline {8.32}{\ignorespaces Paquete ARP request taggeado con el VLAN ID 100 capturado en la interfaz br-vlan en el nodo de red\relax }}{154}{figure.caption.193}%
+\contentsline {figure}{\numberline {8.33}{\ignorespaces Paquete ICMP echo request capturado en la interfaz br-vlan del nodo de red\relax }}{155}{figure.caption.195}%
+\contentsline {figure}{\numberline {8.34}{\ignorespaces Diagrama de arquitectura para el escenario 4 de Open vSwitch\relax }}{156}{figure.caption.197}%
+\contentsline {figure}{\numberline {8.35}{\ignorespaces Paquete ICMP echo request taggeado con el VLAN ID 100 capturado en la interfaz eth3 del router físico\relax }}{159}{figure.caption.201}%
+\contentsline {figure}{\numberline {8.36}{\ignorespaces Paquete ICMP echo request capturado en la interfaz qg del router de Neutron\relax }}{159}{figure.caption.202}%
+\contentsline {figure}{\numberline {8.37}{\ignorespaces Paquete ICMP echo request capturado en la interfaz qr del router de Neutron\relax }}{160}{figure.caption.205}%
 \addvspace {10\p@ }
 \addvspace {10\p@ }
 \addvspace {10\p@ }
 \addvspace {10\p@ }
-\contentsline {figure}{\numberline {2.1}{\ignorespaces Arquitectura diseñada para instalación Stein\relax }}{217}{figure.caption.213}%
+\contentsline {figure}{\numberline {2.1}{\ignorespaces Arquitectura diseñada para instalación Stein\relax }}{174}{figure.caption.209}%
 \addvspace {10\p@ }
+\addvspace {10\p@ }
+\contentsline {figure}{\numberline {1.1}{\ignorespaces Arquitectura diseñada.\relax }}{178}{figure.caption.211}%
+\contentsline {figure}{\numberline {1.2}{\ignorespaces Disposición de componentes en Neutron. Extraída de \cite {openstack-networking-book-4}.\relax }}{179}{figure.caption.212}%
+\addvspace {10\p@ }
+\contentsline {figure}{\numberline {2.1}{\ignorespaces Arquitectura diseñada para instalación Stein\relax }}{200}{figure.caption.214}%
 \contentsfinish 
diff --git a/docs/udelartex/tesis.lot b/docs/udelartex/tesis.lot
index 0a4dcb0f7ae62f0ef0a455e544712d614c426281..9a6cc7914943e5c164c4595f68c73f70bbf5d785 100644
--- a/docs/udelartex/tesis.lot
+++ b/docs/udelartex/tesis.lot
@@ -9,24 +9,26 @@
 \addvspace {10\p@ }
 \addvspace {10\p@ }
 \addvspace {10\p@ }
-\contentsline {table}{\numberline {8.1}{\ignorespaces Sabores creados para análisis de red\relax }}{127}{table.caption.108}%
-\contentsline {table}{\numberline {8.2}{\ignorespaces Imágenes creadas para análisis de red\relax }}{127}{table.caption.109}%
-\contentsline {table}{\numberline {8.3}{\ignorespaces Redes provider creadas para análisis de red\relax }}{128}{table.caption.110}%
-\contentsline {table}{\numberline {8.4}{\ignorespaces Subredes provider creadas para análisis de red\relax }}{128}{table.caption.111}%
-\contentsline {table}{\numberline {8.5}{\ignorespaces Escenario 1: detalles de la subred 1\relax }}{129}{table.caption.112}%
-\contentsline {table}{\numberline {8.6}{\ignorespaces Escenario 1: detalles de las instancias\relax }}{129}{table.caption.113}%
-\contentsline {table}{\numberline {8.7}{\ignorespaces Escenario 2: detalles de la subred 1\relax }}{130}{table.caption.114}%
-\contentsline {table}{\numberline {8.8}{\ignorespaces Escenario 2: detalles de la subred 2\relax }}{130}{table.caption.115}%
-\contentsline {table}{\numberline {8.9}{\ignorespaces Escenario 2: detalles de las instancias\relax }}{130}{table.caption.116}%
-\contentsline {table}{\numberline {8.10}{\ignorespaces Escenario 2: detalles del router\relax }}{130}{table.caption.117}%
-\contentsline {table}{\numberline {8.11}{\ignorespaces Escenario 3: detalles de la subred 1\relax }}{131}{table.caption.118}%
-\contentsline {table}{\numberline {8.12}{\ignorespaces Escenario 3: detalles de la subred provider vlan\relax }}{131}{table.caption.119}%
-\contentsline {table}{\numberline {8.13}{\ignorespaces Escenario 3: detalles de las instancias\relax }}{131}{table.caption.120}%
-\contentsline {table}{\numberline {8.14}{\ignorespaces Escenario 3: detalles del router\relax }}{131}{table.caption.121}%
-\contentsline {table}{\numberline {8.15}{\ignorespaces Escenario 4: detalles de la subred 1\relax }}{132}{table.caption.122}%
-\contentsline {table}{\numberline {8.16}{\ignorespaces Escenario 4: detalles de la subred provider vlan\relax }}{133}{table.caption.123}%
-\contentsline {table}{\numberline {8.17}{\ignorespaces Escenario 4: detalles de las instancias\relax }}{133}{table.caption.124}%
-\contentsline {table}{\numberline {8.18}{\ignorespaces Escenario 4: detalles del router\relax }}{133}{table.caption.125}%
+\contentsline {table}{\numberline {8.1}{\ignorespaces Sabores creados para análisis de red\relax }}{84}{table.caption.104}%
+\contentsline {table}{\numberline {8.2}{\ignorespaces Imágenes creadas para análisis de red\relax }}{84}{table.caption.105}%
+\contentsline {table}{\numberline {8.3}{\ignorespaces Redes provider creadas para análisis de red\relax }}{85}{table.caption.106}%
+\contentsline {table}{\numberline {8.4}{\ignorespaces Subredes provider creadas para análisis de red\relax }}{85}{table.caption.107}%
+\contentsline {table}{\numberline {8.5}{\ignorespaces Escenario 1: detalles de la subred 1\relax }}{86}{table.caption.108}%
+\contentsline {table}{\numberline {8.6}{\ignorespaces Escenario 1: detalles de las instancias\relax }}{86}{table.caption.109}%
+\contentsline {table}{\numberline {8.7}{\ignorespaces Escenario 2: detalles de la subred 1\relax }}{87}{table.caption.110}%
+\contentsline {table}{\numberline {8.8}{\ignorespaces Escenario 2: detalles de la subred 2\relax }}{87}{table.caption.111}%
+\contentsline {table}{\numberline {8.9}{\ignorespaces Escenario 2: detalles de las instancias\relax }}{87}{table.caption.112}%
+\contentsline {table}{\numberline {8.10}{\ignorespaces Escenario 2: detalles del router\relax }}{87}{table.caption.113}%
+\contentsline {table}{\numberline {8.11}{\ignorespaces Escenario 3: detalles de la subred 1\relax }}{88}{table.caption.114}%
+\contentsline {table}{\numberline {8.12}{\ignorespaces Escenario 3: detalles de la subred provider vlan\relax }}{88}{table.caption.115}%
+\contentsline {table}{\numberline {8.13}{\ignorespaces Escenario 3: detalles de las instancias\relax }}{88}{table.caption.116}%
+\contentsline {table}{\numberline {8.14}{\ignorespaces Escenario 3: detalles del router\relax }}{88}{table.caption.117}%
+\contentsline {table}{\numberline {8.15}{\ignorespaces Escenario 4: detalles de la subred 1\relax }}{89}{table.caption.118}%
+\contentsline {table}{\numberline {8.16}{\ignorespaces Escenario 4: detalles de la subred provider vlan\relax }}{90}{table.caption.119}%
+\contentsline {table}{\numberline {8.17}{\ignorespaces Escenario 4: detalles de las instancias\relax }}{90}{table.caption.120}%
+\contentsline {table}{\numberline {8.18}{\ignorespaces Escenario 4: detalles del router\relax }}{90}{table.caption.121}%
+\addvspace {10\p@ }
+\addvspace {10\p@ }
 \addvspace {10\p@ }
 \addvspace {10\p@ }
 \addvspace {10\p@ }
diff --git a/docs/udelartex/tesis.out b/docs/udelartex/tesis.out
index 417845a934ec2ceb86cbc3c96364db9999cd92a7..68c5e15a0f68a7cc25bdd39c3d09eb27694dfeb3 100644
--- a/docs/udelartex/tesis.out
+++ b/docs/udelartex/tesis.out
@@ -2,108 +2,111 @@
 \BOOKMARK [0][-]{chapter*.2}{Lista de tablas}{}% 2
 \BOOKMARK [0][-]{chapter*.4}{Lista de siglas}{}% 3
 \BOOKMARK [0][-]{chapter.1}{Introducci\363n}{}% 4
-\BOOKMARK [0][-]{chapter.2}{Fundamentos te\363ricos}{}% 5
-\BOOKMARK [1][-]{section.2.1}{Cloud computing}{chapter.2}% 6
-\BOOKMARK [1][-]{section.2.2}{Virtualizaci\363n}{chapter.2}% 7
-\BOOKMARK [1][-]{section.2.3}{Contenerizaci\363n}{chapter.2}% 8
-\BOOKMARK [1][-]{section.2.4}{Datacenters}{chapter.2}% 9
-\BOOKMARK [1][-]{section.2.5}{Redes}{chapter.2}% 10
-\BOOKMARK [1][-]{section.2.6}{Interfaces y bridges}{chapter.2}% 11
-\BOOKMARK [1][-]{section.2.7}{Backends de almacenamiento}{chapter.2}% 12
-\BOOKMARK [2][-]{subsection.2.7.1}{LVM}{section.2.7}% 13
-\BOOKMARK [2][-]{subsection.2.7.2}{Ceph}{section.2.7}% 14
-\BOOKMARK [0][-]{chapter.3}{Openstack}{}% 15
-\BOOKMARK [1][-]{section.3.1}{Origen y definici\363n}{chapter.3}% 16
-\BOOKMARK [1][-]{section.3.2}{M\363dulos Core}{chapter.3}% 17
-\BOOKMARK [2][-]{subsection.3.2.1}{Keystone}{section.3.2}% 18
-\BOOKMARK [2][-]{subsection.3.2.2}{Nova}{section.3.2}% 19
-\BOOKMARK [2][-]{subsection.3.2.3}{Neutron}{section.3.2}% 20
-\BOOKMARK [2][-]{subsection.3.2.4}{Glance}{section.3.2}% 21
-\BOOKMARK [2][-]{subsection.3.2.5}{Cinder}{section.3.2}% 22
-\BOOKMARK [2][-]{subsection.3.2.6}{Swift}{section.3.2}% 23
-\BOOKMARK [1][-]{section.3.3}{Tipos de nodos}{chapter.3}% 24
-\BOOKMARK [1][-]{section.3.4}{Servicios de infraestructura}{chapter.3}% 25
-\BOOKMARK [1][-]{section.3.5}{M\351todos de instalaci\363n}{chapter.3}% 26
-\BOOKMARK [2][-]{subsection.3.5.1}{Ansible}{section.3.5}% 27
-\BOOKMARK [1][-]{section.3.6}{Arquitectura}{chapter.3}% 28
-\BOOKMARK [2][-]{subsection.3.6.1}{Arquitectura de red}{section.3.6}% 29
-\BOOKMARK [1][-]{section.3.7}{Configuraci\363n OSA}{chapter.3}% 30
-\BOOKMARK [2][-]{subsection.3.7.1}{Convenciones}{section.3.7}% 31
-\BOOKMARK [2][-]{subsection.3.7.2}{Inventario}{section.3.7}% 32
-\BOOKMARK [2][-]{subsection.3.7.3}{openstack\137user\137config.yml}{section.3.7}% 33
-\BOOKMARK [0][-]{chapter.4}{Instalaci\363n versi\363n Queens}{}% 34
-\BOOKMARK [1][-]{section.4.1}{Dise\361o de arquitectura}{chapter.4}% 35
-\BOOKMARK [1][-]{section.4.2}{Ambiente de trabajo}{chapter.4}% 36
-\BOOKMARK [2][-]{subsection.4.2.1}{Hardware utilizado}{section.4.2}% 37
-\BOOKMARK [2][-]{subsection.4.2.2}{Conexi\363n remota hacia el servidor renata}{section.4.2}% 38
-\BOOKMARK [2][-]{subsection.4.2.3}{Virtualizaci\363n con KVM}{section.4.2}% 39
-\BOOKMARK [2][-]{subsection.4.2.4}{Especificaciones servidor renata}{section.4.2}% 40
-\BOOKMARK [2][-]{subsection.4.2.5}{Acceso al exterior desde nodos}{section.4.2}% 41
-\BOOKMARK [1][-]{section.4.3}{Preparaci\363n de nodos}{chapter.4}% 42
-\BOOKMARK [1][-]{section.4.4}{Configuraci\363n}{chapter.4}% 43
-\BOOKMARK [2][-]{subsection.4.4.1}{Configuraci\363n claves SSH}{section.4.4}% 44
-\BOOKMARK [2][-]{subsection.4.4.2}{Archivos de configuraci\363n OSA}{section.4.4}% 45
-\BOOKMARK [2][-]{subsection.4.4.3}{Generaci\363n de claves}{section.4.4}% 46
-\BOOKMARK [2][-]{subsection.4.4.4}{Correcciones}{section.4.4}% 47
-\BOOKMARK [1][-]{section.4.5}{Ejecuci\363n de playbooks}{chapter.4}% 48
-\BOOKMARK [1][-]{section.4.6}{Verificaci\363n}{chapter.4}% 49
-\BOOKMARK [1][-]{section.4.7}{Inconvenientes}{chapter.4}% 50
-\BOOKMARK [2][-]{subsection.4.7.1}{Bloqueo de paquetes}{section.4.7}% 51
-\BOOKMARK [2][-]{subsection.4.7.2}{M\363dulo de seguridad SELinux}{section.4.7}% 52
-\BOOKMARK [2][-]{subsection.4.7.3}{Percona-release en playbook setup-infrastructure}{section.4.7}% 53
-\BOOKMARK [2][-]{subsection.4.7.4}{Subred reservada}{section.4.7}% 54
-\BOOKMARK [2][-]{subsection.4.7.5}{Versiones de librer\355as y SO}{section.4.7}% 55
-\BOOKMARK [2][-]{subsection.4.7.6}{Soporte para CentOS}{section.4.7}% 56
-\BOOKMARK [0][-]{chapter.5}{Instalaci\363n versi\363n Stein}{}% 57
-\BOOKMARK [1][-]{section.5.1}{Dise\361o de arquitectura}{chapter.5}% 58
-\BOOKMARK [1][-]{section.5.2}{Preparaci\363n de nodos}{chapter.5}% 59
-\BOOKMARK [1][-]{section.5.3}{Configuraci\363n archivos OSA}{chapter.5}% 60
-\BOOKMARK [1][-]{section.5.4}{Ejecuci\363n de playbooks}{chapter.5}% 61
-\BOOKMARK [1][-]{section.5.5}{Cambios para driver OVS}{chapter.5}% 62
-\BOOKMARK [0][-]{chapter.6}{Interaccci\363n}{}% 63
-\BOOKMARK [1][-]{section.6.1}{Configuraciones de administrador}{chapter.6}% 64
-\BOOKMARK [1][-]{section.6.2}{Interacci\363n de un usuario}{chapter.6}% 65
-\BOOKMARK [1][-]{section.6.3}{Acceso a una instancia}{chapter.6}% 66
-\BOOKMARK [2][-]{subsection.6.3.1}{Por SPICE}{section.6.3}% 67
-\BOOKMARK [2][-]{subsection.6.3.2}{Por SSH}{section.6.3}% 68
-\BOOKMARK [2][-]{subsection.6.3.3}{Por virsh}{section.6.3}% 69
-\BOOKMARK [0][-]{chapter.7}{Gesti\363n del Datacenter}{}% 70
-\BOOKMARK [1][-]{section.7.1}{Recuperaci\363n ante fallas}{chapter.7}% 71
-\BOOKMARK [2][-]{subsection.7.1.1}{Verificar el estado general de OpenStack}{section.7.1}% 72
-\BOOKMARK [2][-]{subsection.7.1.2}{Verificar estado de los componentes de la infraestructura}{section.7.1}% 73
-\BOOKMARK [2][-]{subsection.7.1.3}{Solucionar problemas}{section.7.1}% 74
-\BOOKMARK [2][-]{subsection.7.1.4}{Problemas con Ceph}{section.7.1}% 75
-\BOOKMARK [1][-]{section.7.2}{Agregar y remover nodos}{chapter.7}% 76
-\BOOKMARK [2][-]{subsection.7.2.1}{Agregar nodo de C\363mputo}{section.7.2}% 77
-\BOOKMARK [2][-]{subsection.7.2.2}{Eliminar un nodo de c\363mputo}{section.7.2}% 78
-\BOOKMARK [2][-]{subsection.7.2.3}{Infraestructura}{section.7.2}% 79
-\BOOKMARK [2][-]{subsection.7.2.4}{Storage}{section.7.2}% 80
-\BOOKMARK [1][-]{section.7.3}{Actualizar versi\363n}{chapter.7}% 81
-\BOOKMARK [0][-]{chapter.8}{An\341lisis del m\363dulo de red}{}% 82
-\BOOKMARK [1][-]{section.8.1}{Escenarios de prueba}{chapter.8}% 83
-\BOOKMARK [2][-]{subsection.8.1.1}{Escenario 1: tr\341fico este-oeste \(misma red tenant\)}{section.8.1}% 84
-\BOOKMARK [2][-]{subsection.8.1.2}{Escenario 2: tr\341fico este-oeste \(distintas redes tenant\)}{section.8.1}% 85
-\BOOKMARK [2][-]{subsection.8.1.3}{Escenario 3: tr\341fico norte-sur \(acceso hacia el exterior\)}{section.8.1}% 86
-\BOOKMARK [2][-]{subsection.8.1.4}{Escenario 4: tr\341fico norte-sur \(acceso desde el exterior\)}{section.8.1}% 87
-\BOOKMARK [1][-]{section.8.2}{Linux bridge}{chapter.8}% 88
-\BOOKMARK [2][-]{subsection.8.2.1}{Escenario 1}{section.8.2}% 89
-\BOOKMARK [2][-]{subsection.8.2.2}{Escenario 2}{section.8.2}% 90
-\BOOKMARK [2][-]{subsection.8.2.3}{Escenario 3}{section.8.2}% 91
-\BOOKMARK [2][-]{subsection.8.2.4}{Escenario 4}{section.8.2}% 92
-\BOOKMARK [1][-]{section.8.3}{Open vSwitch}{chapter.8}% 93
-\BOOKMARK [2][-]{subsection.8.3.1}{Escenario 1}{section.8.3}% 94
-\BOOKMARK [2][-]{subsection.8.3.2}{Escenario 2}{section.8.3}% 95
-\BOOKMARK [2][-]{subsection.8.3.3}{Escenario 3}{section.8.3}% 96
-\BOOKMARK [2][-]{subsection.8.3.4}{Escenario 4}{section.8.3}% 97
-\BOOKMARK [1][-]{section.8.4}{Comparativa de drivers}{chapter.8}% 98
-\BOOKMARK [1][-]{section.8.5}{Funcionalidades avanzadas}{chapter.8}% 99
-\BOOKMARK [2][-]{subsection.8.5.1}{Layer 3 High Availability}{section.8.5}% 100
-\BOOKMARK [0][-]{chapter.9}{Trabajo a futuro}{}% 101
-\BOOKMARK [0][-]{chapter.10}{Conclusiones}{}% 102
-\BOOKMARK [0][-]{chapter*.211}{Referencias bibliogr\341ficas}{}% 103
-\BOOKMARK [0][-]{chapter*.211}{Glosario}{}% 104
-\BOOKMARK [0][-]{section*.212}{Ap\351ndices}{}% 105
-\BOOKMARK [0][-]{appendix.Alph1}{Datos procesados}{}% 106
-\BOOKMARK [0][-]{appendix.Alph2}{Im\341genes remasterizadas}{}% 107
-\BOOKMARK [0][-]{appendix.Alph3}{Entrevistas desgrabadas}{}% 108
-\BOOKMARK [0][-]{section*.214}{Anexos}{}% 109
+\BOOKMARK [0][-]{chapter.2}{Plan de proyecto}{}% 5
+\BOOKMARK [0][-]{chapter.3}{Fundamentos te\363ricos}{}% 6
+\BOOKMARK [1][-]{section.3.1}{Cloud computing}{chapter.3}% 7
+\BOOKMARK [1][-]{section.3.2}{Virtualizaci\363n}{chapter.3}% 8
+\BOOKMARK [1][-]{section.3.3}{Contenerizaci\363n}{chapter.3}% 9
+\BOOKMARK [1][-]{section.3.4}{Datacenters}{chapter.3}% 10
+\BOOKMARK [1][-]{section.3.5}{Redes}{chapter.3}% 11
+\BOOKMARK [1][-]{section.3.6}{Interfaces y bridges}{chapter.3}% 12
+\BOOKMARK [1][-]{section.3.7}{Backends de almacenamiento}{chapter.3}% 13
+\BOOKMARK [2][-]{subsection.3.7.1}{LVM}{section.3.7}% 14
+\BOOKMARK [2][-]{subsection.3.7.2}{Ceph}{section.3.7}% 15
+\BOOKMARK [0][-]{chapter.4}{Openstack}{}% 16
+\BOOKMARK [1][-]{section.4.1}{Origen y definici\363n}{chapter.4}% 17
+\BOOKMARK [1][-]{section.4.2}{M\363dulos Core}{chapter.4}% 18
+\BOOKMARK [2][-]{subsection.4.2.1}{Keystone}{section.4.2}% 19
+\BOOKMARK [2][-]{subsection.4.2.2}{Nova}{section.4.2}% 20
+\BOOKMARK [2][-]{subsection.4.2.3}{Neutron}{section.4.2}% 21
+\BOOKMARK [2][-]{subsection.4.2.4}{Glance}{section.4.2}% 22
+\BOOKMARK [2][-]{subsection.4.2.5}{Cinder}{section.4.2}% 23
+\BOOKMARK [2][-]{subsection.4.2.6}{Swift}{section.4.2}% 24
+\BOOKMARK [1][-]{section.4.3}{Tipos de nodos}{chapter.4}% 25
+\BOOKMARK [1][-]{section.4.4}{Servicios de infraestructura}{chapter.4}% 26
+\BOOKMARK [1][-]{section.4.5}{M\351todos de instalaci\363n}{chapter.4}% 27
+\BOOKMARK [2][-]{subsection.4.5.1}{Ansible}{section.4.5}% 28
+\BOOKMARK [1][-]{section.4.6}{Arquitectura}{chapter.4}% 29
+\BOOKMARK [2][-]{subsection.4.6.1}{Arquitectura de red}{section.4.6}% 30
+\BOOKMARK [1][-]{section.4.7}{Configuraci\363n OSA}{chapter.4}% 31
+\BOOKMARK [2][-]{subsection.4.7.1}{Convenciones}{section.4.7}% 32
+\BOOKMARK [2][-]{subsection.4.7.2}{Inventario}{section.4.7}% 33
+\BOOKMARK [2][-]{subsection.4.7.3}{openstack\137user\137config.yml}{section.4.7}% 34
+\BOOKMARK [0][-]{chapter.5}{Dise\361o}{}% 35
+\BOOKMARK [1][-]{section.5.1}{Dise\361o de arquitectura}{chapter.5}% 36
+\BOOKMARK [1][-]{section.5.2}{Ambiente de trabajo}{chapter.5}% 37
+\BOOKMARK [2][-]{subsection.5.2.1}{Hardware utilizado}{section.5.2}% 38
+\BOOKMARK [2][-]{subsection.5.2.2}{Conexi\363n remota hacia el servidor renata}{section.5.2}% 39
+\BOOKMARK [2][-]{subsection.5.2.3}{Virtualizaci\363n con KVM}{section.5.2}% 40
+\BOOKMARK [2][-]{subsection.5.2.4}{Especificaciones servidor renata}{section.5.2}% 41
+\BOOKMARK [2][-]{subsection.5.2.5}{Acceso al exterior desde nodos}{section.5.2}% 42
+\BOOKMARK [1][-]{section.5.3}{Ejecuci\363n de playbooks}{chapter.5}% 43
+\BOOKMARK [1][-]{section.5.4}{Verificaci\363n}{chapter.5}% 44
+\BOOKMARK [0][-]{chapter.6}{Interaccci\363n}{}% 45
+\BOOKMARK [1][-]{section.6.1}{Configuraciones de administrador}{chapter.6}% 46
+\BOOKMARK [1][-]{section.6.2}{Interacci\363n de un usuario}{chapter.6}% 47
+\BOOKMARK [1][-]{section.6.3}{Acceso a una instancia}{chapter.6}% 48
+\BOOKMARK [2][-]{subsection.6.3.1}{Por SPICE}{section.6.3}% 49
+\BOOKMARK [2][-]{subsection.6.3.2}{Por SSH}{section.6.3}% 50
+\BOOKMARK [2][-]{subsection.6.3.3}{Por virsh}{section.6.3}% 51
+\BOOKMARK [0][-]{chapter.7}{Gesti\363n del Datacenter}{}% 52
+\BOOKMARK [1][-]{section.7.1}{Recuperaci\363n ante fallas}{chapter.7}% 53
+\BOOKMARK [2][-]{subsection.7.1.1}{Verificar el estado general de OpenStack}{section.7.1}% 54
+\BOOKMARK [2][-]{subsection.7.1.2}{Verificar estado de los componentes de la infraestructura}{section.7.1}% 55
+\BOOKMARK [2][-]{subsection.7.1.3}{Solucionar problemas}{section.7.1}% 56
+\BOOKMARK [2][-]{subsection.7.1.4}{Problemas con Ceph}{section.7.1}% 57
+\BOOKMARK [1][-]{section.7.2}{Agregar y remover nodos}{chapter.7}% 58
+\BOOKMARK [2][-]{subsection.7.2.1}{Agregar nodo de C\363mputo}{section.7.2}% 59
+\BOOKMARK [2][-]{subsection.7.2.2}{Eliminar un nodo de c\363mputo}{section.7.2}% 60
+\BOOKMARK [2][-]{subsection.7.2.3}{Infraestructura}{section.7.2}% 61
+\BOOKMARK [2][-]{subsection.7.2.4}{Storage}{section.7.2}% 62
+\BOOKMARK [1][-]{section.7.3}{Actualizar versi\363n}{chapter.7}% 63
+\BOOKMARK [0][-]{chapter.8}{An\341lisis del m\363dulo de red}{}% 64
+\BOOKMARK [1][-]{section.8.1}{Escenarios de prueba}{chapter.8}% 65
+\BOOKMARK [2][-]{subsection.8.1.1}{Escenario 1: tr\341fico este-oeste \(misma red tenant\)}{section.8.1}% 66
+\BOOKMARK [2][-]{subsection.8.1.2}{Escenario 2: tr\341fico este-oeste \(distintas redes tenant\)}{section.8.1}% 67
+\BOOKMARK [2][-]{subsection.8.1.3}{Escenario 3: tr\341fico norte-sur \(acceso hacia el exterior\)}{section.8.1}% 68
+\BOOKMARK [2][-]{subsection.8.1.4}{Escenario 4: tr\341fico norte-sur \(acceso desde el exterior\)}{section.8.1}% 69
+\BOOKMARK [1][-]{section.8.2}{Linux bridge}{chapter.8}% 70
+\BOOKMARK [2][-]{subsection.8.2.1}{Escenario 1}{section.8.2}% 71
+\BOOKMARK [2][-]{subsection.8.2.2}{Escenario 2}{section.8.2}% 72
+\BOOKMARK [2][-]{subsection.8.2.3}{Escenario 3}{section.8.2}% 73
+\BOOKMARK [2][-]{subsection.8.2.4}{Escenario 4}{section.8.2}% 74
+\BOOKMARK [1][-]{section.8.3}{Open vSwitch}{chapter.8}% 75
+\BOOKMARK [2][-]{subsection.8.3.1}{Escenario 1}{section.8.3}% 76
+\BOOKMARK [2][-]{subsection.8.3.2}{Escenario 2}{section.8.3}% 77
+\BOOKMARK [2][-]{subsection.8.3.3}{Escenario 3}{section.8.3}% 78
+\BOOKMARK [2][-]{subsection.8.3.4}{Escenario 4}{section.8.3}% 79
+\BOOKMARK [1][-]{section.8.4}{Comparativa de drivers}{chapter.8}% 80
+\BOOKMARK [1][-]{section.8.5}{Funcionalidades avanzadas}{chapter.8}% 81
+\BOOKMARK [2][-]{subsection.8.5.1}{Layer 3 High Availability}{section.8.5}% 82
+\BOOKMARK [0][-]{chapter.9}{Trabajo a futuro}{}% 83
+\BOOKMARK [0][-]{chapter.10}{Conclusiones}{}% 84
+\BOOKMARK [0][-]{chapter*.207}{Referencias bibliogr\341ficas}{}% 85
+\BOOKMARK [0][-]{chapter*.207}{Glosario}{}% 86
+\BOOKMARK [0][-]{section*.208}{Ap\351ndices}{}% 87
+\BOOKMARK [0][-]{appendix.Alph1}{Datos procesados}{}% 88
+\BOOKMARK [0][-]{appendix.Alph2}{Im\341genes remasterizadas}{}% 89
+\BOOKMARK [0][-]{appendix.Alph3}{Entrevistas desgrabadas}{}% 90
+\BOOKMARK [0][-]{section*.210}{Anexos}{}% 91
+\BOOKMARK [0][-]{appendix.Anexo.1}{Instalaci\363n versi\363n Queens}{}% 92
+\BOOKMARK [1][-]{section.Anexo.1.1}{Dise\361o de arquitectura}{appendix.Anexo.1}% 93
+\BOOKMARK [1][-]{section.Anexo.1.2}{Preparaci\363n de nodos}{appendix.Anexo.1}% 94
+\BOOKMARK [1][-]{section.Anexo.1.3}{Configuraci\363n}{appendix.Anexo.1}% 95
+\BOOKMARK [2][-]{subsection.Anexo.1.3.1}{Configuraci\363n claves SSH}{section.Anexo.1.3}% 96
+\BOOKMARK [2][-]{subsection.Anexo.1.3.2}{Archivos de configuraci\363n OSA}{section.Anexo.1.3}% 97
+\BOOKMARK [2][-]{subsection.Anexo.1.3.3}{Generaci\363n de claves}{section.Anexo.1.3}% 98
+\BOOKMARK [2][-]{subsection.Anexo.1.3.4}{Correcciones}{section.Anexo.1.3}% 99
+\BOOKMARK [1][-]{section.Anexo.1.4}{Inconvenientes}{appendix.Anexo.1}% 100
+\BOOKMARK [2][-]{subsection.Anexo.1.4.1}{Bloqueo de paquetes}{section.Anexo.1.4}% 101
+\BOOKMARK [2][-]{subsection.Anexo.1.4.2}{M\363dulo de seguridad SELinux}{section.Anexo.1.4}% 102
+\BOOKMARK [2][-]{subsection.Anexo.1.4.3}{Percona-release en playbook setup-infrastructure}{section.Anexo.1.4}% 103
+\BOOKMARK [2][-]{subsection.Anexo.1.4.4}{Subred reservada}{section.Anexo.1.4}% 104
+\BOOKMARK [2][-]{subsection.Anexo.1.4.5}{Versiones de librer\355as y SO}{section.Anexo.1.4}% 105
+\BOOKMARK [2][-]{subsection.Anexo.1.4.6}{Soporte para CentOS}{section.Anexo.1.4}% 106
+\BOOKMARK [0][-]{appendix.Anexo.2}{Instalaci\363n versi\363n Stein}{}% 107
+\BOOKMARK [1][-]{section.Anexo.2.1}{Dise\361o de arquitectura}{appendix.Anexo.2}% 108
+\BOOKMARK [1][-]{section.Anexo.2.2}{Preparaci\363n de nodos}{appendix.Anexo.2}% 109
+\BOOKMARK [1][-]{section.Anexo.2.3}{Configuraci\363n archivos OSA}{appendix.Anexo.2}% 110
+\BOOKMARK [1][-]{section.Anexo.2.4}{Ejecuci\363n de playbooks}{appendix.Anexo.2}% 111
+\BOOKMARK [1][-]{section.Anexo.2.5}{Cambios para driver OVS}{appendix.Anexo.2}% 112
diff --git a/docs/udelartex/tesis.pdf b/docs/udelartex/tesis.pdf
index 15274b8d3bded21d62b9743c0a8e548c324c4de3..8ca20080c52093e4f15a72f413331fcc1fce64c2 100644
Binary files a/docs/udelartex/tesis.pdf and b/docs/udelartex/tesis.pdf differ
diff --git a/docs/udelartex/tesis.synctex.gz b/docs/udelartex/tesis.synctex.gz
index cfd49ec491c05f83d03528b99c8ea3aacbbd543b..6f1a7a532cd151fd09c8d2a60eaf869031161ab5 100644
Binary files a/docs/udelartex/tesis.synctex.gz and b/docs/udelartex/tesis.synctex.gz differ
diff --git a/docs/udelartex/tesis.tex b/docs/udelartex/tesis.tex
index b7c2689b15600ee96addfd1be96e7bd38564ec5f..c29b7d1f8589a976b73ea99bbf5c76325f93568d 100644
--- a/docs/udelartex/tesis.tex
+++ b/docs/udelartex/tesis.tex
@@ -112,16 +112,16 @@ nopostdot, 											 %quita el punto final en los acrónimos         .
   \mainmatter % Comando que genera las listas y capítulos. NO COMENTAR
   %
   % Se incluyen los capítulos. Se pueden comentar los capítlos en los cuales no se está trabajando, para que el documento de trabajo sea más pequeño y compile más rápido.
-  \include{capitulos/introduccion} % Se carga el capítulo 01
-  \include{capitulos/fundamentos} % Se carga el capítulo 02
-  \include{capitulos/openstack} % Se carga el capítulo 03
-  \include{capitulos/queens} % Se carga el capítulo 04
-  \include{capitulos/stein} % Se carga el capítulo 05
-  \include{capitulos/interaccion} % Se carga el capítulo 06
-  \include{capitulos/gestion} % Se carga el capítulo 07
-  \include{capitulos/red} % Se carga el capítulo 08    
-  \include{capitulos/futuro} % Se carga el capítulo 09
-  \include{capitulos/conclusiones} % Se carga el capítulo 10      
+  \include{capitulos/introduccion} 
+  \include{capitulos/planproyecto} 
+  \include{capitulos/fundamentos} 
+  \include{capitulos/openstack}
+  \include{capitulos/diseño}
+  \include{capitulos/interaccion}
+  \include{capitulos/gestion} 
+  \include{capitulos/red} 
+  \include{capitulos/futuro} 
+  \include{capitulos/conclusiones} 
  % Seguir copiando la linea de arriba para agregar más capítulos.
   
   \backmatter % Comando que generalos apéndices, anexos y bibliografía. NO COMENTAR
@@ -140,7 +140,8 @@ nopostdot, 											 %quita el punto final en los acrónimos         .
   %
   \anexarabicnumbering
   \anexmatter				 % Anexos, NO comentar
-%  \input{anexo/anexo_A}
+  \input{anexo/anexoQueens}
+  \input{anexo/anexoStein}
 %  \input{anexo/anexo_B}
   % Seguir copiando la linea de arriba para agregar más anexos.
   % 
diff --git a/docs/udelartex/tesis.toc b/docs/udelartex/tesis.toc
index d0c7fd15fd386584334f7b6161b8997b433f52e7..c2efa5e3f9f3fce1651970f96b244d250a3b65c4 100644
--- a/docs/udelartex/tesis.toc
+++ b/docs/udelartex/tesis.toc
@@ -5,262 +5,267 @@
 \contentsline {chapter}{Lista de tablas}{\es@scroman {x}}{chapter*.2}%
 \contentsline {chapter}{Lista de siglas}{\es@scroman {xi}}{chapter*.4}%
 \contentsline {chapter}{\numberline {1}Introducción}{1}{chapter.1}%
-\contentsline {chapter}{\numberline {2}Fundamentos teóricos}{2}{chapter.2}%
-\contentsline {section}{\numberline {2.1}Cloud computing}{2}{section.2.1}%
-\contentsline {section}{\numberline {2.2}Virtualización}{4}{section.2.2}%
-\contentsline {subparagraph}{KVM}{5}{section*.7}%
-\contentsline {section}{\numberline {2.3}Contenerización}{5}{section.2.3}%
-\contentsline {subparagraph}{LXC}{6}{section*.9}%
-\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*.10}%
-\contentsline {subparagraph}{VLAN}{8}{section*.11}%
-\contentsline {subparagraph}{VXLAN}{8}{section*.12}%
-\contentsline {subparagraph}{Network namespaces}{8}{section*.13}%
-\contentsline {section}{\numberline {2.6}Interfaces y bridges}{9}{section.2.6}%
-\contentsline {subparagraph}{Interfaces tap}{9}{section*.14}%
-\contentsline {subparagraph}{Linux bridge}{9}{section*.15}%
-\contentsline {subparagraph}{Veth cables}{9}{section*.16}%
-\contentsline {section}{\numberline {2.7}Backends de almacenamiento}{10}{section.2.7}%
-\contentsline {subsection}{\numberline {2.7.1}LVM}{10}{subsection.2.7.1}%
-\contentsline {subsection}{\numberline {2.7.2}Ceph}{10}{subsection.2.7.2}%
-\contentsline {chapter}{\numberline {3}Openstack}{13}{chapter.3}%
-\contentsline {section}{\numberline {3.1}Origen y definición}{13}{section.3.1}%
-\contentsline {section}{\numberline {3.2}Módulos Core}{14}{section.3.2}%
-\contentsline {subsection}{\numberline {3.2.1}Keystone}{14}{subsection.3.2.1}%
-\contentsline {subsection}{\numberline {3.2.2}Nova}{16}{subsection.3.2.2}%
-\contentsline {subparagraph}{API}{17}{section*.23}%
-\contentsline {subparagraph}{Scheduler}{17}{section*.24}%
-\contentsline {subparagraph}{Compute}{18}{section*.25}%
-\contentsline {subparagraph}{Conductor}{18}{section*.26}%
-\contentsline {subparagraph}{Placement}{19}{section*.27}%
-\contentsline {subsection}{\numberline {3.2.3}Neutron}{19}{subsection.3.2.3}%
-\contentsline {subparagraph}{Neutron-server}{19}{section*.29}%
-\contentsline {subparagraph}{Plugins y agentes}{19}{section*.30}%
-\contentsline {subparagraph}{Cola de mensajes}{19}{section*.31}%
-\contentsline {subsubsection}{\numberline {3.2.3.1}Tipos de redes en OpenStack}{20}{subsubsection.3.2.3.1}%
-\contentsline {subsubsection}{\numberline {3.2.3.2}Tipo de tráfico}{21}{subsubsection.3.2.3.2}%
-\contentsline {subsection}{\numberline {3.2.4}Glance}{21}{subsection.3.2.4}%
-\contentsline {subparagraph}{Creación de una VM}{23}{section*.33}%
-\contentsline {subsection}{\numberline {3.2.5}Cinder}{24}{subsection.3.2.5}%
-\contentsline {subsection}{\numberline {3.2.6}Swift}{26}{subsection.3.2.6}%
-\contentsline {subparagraph}{Principales componentes}{26}{section*.37}%
-\contentsline {section}{\numberline {3.3}Tipos de nodos}{28}{section.3.3}%
-\contentsline {subparagraph}{Nodo de control}{28}{section*.38}%
-\contentsline {subparagraph}{Nodo de red}{28}{section*.39}%
-\contentsline {subparagraph}{Nodo de cómputo}{28}{section*.41}%
-\contentsline {subparagraph}{Nodo de almacenamiento}{29}{section*.42}%
-\contentsline {subparagraph}{Nodo de balanceamiento de carga}{29}{section*.43}%
-\contentsline {section}{\numberline {3.4}Servicios de infraestructura}{29}{section.3.4}%
-\contentsline {subparagraph}{Galera - MariaDB}{29}{section*.44}%
-\contentsline {subparagraph}{Message queue}{30}{section*.45}%
-\contentsline {subparagraph}{Memcached}{30}{section*.46}%
-\contentsline {section}{\numberline {3.5}Métodos de instalación}{30}{section.3.5}%
-\contentsline {subsection}{\numberline {3.5.1}Ansible}{31}{subsection.3.5.1}%
-\contentsline {subparagraph}{Nodo de control}{32}{section*.47}%
-\contentsline {subparagraph}{Inventario}{32}{section*.48}%
-\contentsline {subparagraph}{Módulos}{32}{section*.49}%
-\contentsline {subparagraph}{Tarea}{32}{section*.50}%
-\contentsline {subparagraph}{Playbook}{32}{section*.51}%
-\contentsline {section}{\numberline {3.6}Arquitectura}{32}{section.3.6}%
-\contentsline {subsection}{\numberline {3.6.1}Arquitectura de red}{33}{subsection.3.6.1}%
-\contentsline {subparagraph}{Management Network}{33}{section*.53}%
-\contentsline {subparagraph}{Overlay Network}{33}{section*.54}%
-\contentsline {subparagraph}{Storage Network}{34}{section*.55}%
-\contentsline {subsubsection}{\numberline {3.6.1.1}Interfaces de red}{34}{subsubsection.3.6.1.1}%
-\contentsline {section}{\numberline {3.7}Configuración OSA}{35}{section.3.7}%
-\contentsline {subsection}{\numberline {3.7.1}Convenciones}{37}{subsection.3.7.1}%
-\contentsline {subsection}{\numberline {3.7.2}Inventario}{37}{subsection.3.7.2}%
-\contentsline {subsection}{\numberline {3.7.3}openstack\_user\_config.yml}{38}{subsection.3.7.3}%
-\contentsline {chapter}{\numberline {4}Instalación versión Queens}{39}{chapter.4}%
-\contentsline {section}{\numberline {4.1}Diseño de arquitectura}{39}{section.4.1}%
-\contentsline {section}{\numberline {4.2}Ambiente de trabajo}{40}{section.4.2}%
-\contentsline {subsection}{\numberline {4.2.1}Hardware utilizado}{40}{subsection.4.2.1}%
-\contentsline {subsection}{\numberline {4.2.2}Conexión remota hacia el servidor renata}{42}{subsection.4.2.2}%
-\contentsline {subsection}{\numberline {4.2.3}Virtualización con KVM}{43}{subsection.4.2.3}%
-\contentsline {subsubsection}{\numberline {4.2.3.1}Utilización virt-manager}{43}{subsubsection.4.2.3.1}%
-\contentsline {subsection}{\numberline {4.2.4}Especificaciones servidor renata}{50}{subsection.4.2.4}%
-\contentsline {subsection}{\numberline {4.2.5}Acceso al exterior desde nodos}{52}{subsection.4.2.5}%
-\contentsline {section}{\numberline {4.3}Preparación de nodos}{52}{section.4.3}%
-\contentsline {subsubsection}{\numberline {4.3.0.1}Deploy}{52}{subsubsection.4.3.0.1}%
-\contentsline {subsubsection}{\numberline {4.3.0.2}Infra1}{55}{subsubsection.4.3.0.2}%
-\contentsline {subsubsection}{\numberline {4.3.0.3}Compute1}{58}{subsubsection.4.3.0.3}%
-\contentsline {subsubsection}{\numberline {4.3.0.4}Storage1}{59}{subsubsection.4.3.0.4}%
-\contentsline {subsubsection}{\numberline {4.3.0.5}HAproxy1}{60}{subsubsection.4.3.0.5}%
-\contentsline {section}{\numberline {4.4}Configuración}{61}{section.4.4}%
-\contentsline {subsection}{\numberline {4.4.1}Configuración claves SSH}{61}{subsection.4.4.1}%
-\contentsline {subsection}{\numberline {4.4.2}Archivos de configuración OSA}{62}{subsection.4.4.2}%
-\contentsline {subsubsection}{\numberline {4.4.2.1}openstack\_user\_config.yml}{62}{subsubsection.4.4.2.1}%
-\contentsline {subsubsection}{\numberline {4.4.2.2}user\_variables.yml}{67}{subsubsection.4.4.2.2}%
-\contentsline {subsubsection}{\numberline {4.4.2.3}cinder.yml}{68}{subsubsection.4.4.2.3}%
-\contentsline {subsection}{\numberline {4.4.3}Generación de claves}{68}{subsection.4.4.3}%
-\contentsline {subsection}{\numberline {4.4.4}Correcciones}{68}{subsection.4.4.4}%
-\contentsline {subsubsection}{\numberline {4.4.4.1}SELinux}{68}{subsubsection.4.4.4.1}%
-\contentsline {section}{\numberline {4.5}Ejecución de playbooks}{69}{section.4.5}%
-\contentsline {subsubsection}{\numberline {4.5.0.1}setup-hosts.yml}{69}{subsubsection.4.5.0.1}%
-\contentsline {subsubsection}{\numberline {4.5.0.2}install-haproxy.yml}{70}{subsubsection.4.5.0.2}%
-\contentsline {subsubsection}{\numberline {4.5.0.3}setup-infrastructure.yml}{70}{subsubsection.4.5.0.3}%
-\contentsline {subsubsection}{\numberline {4.5.0.4}setup-openstack.yml}{70}{subsubsection.4.5.0.4}%
-\contentsline {section}{\numberline {4.6}Verificación}{70}{section.4.6}%
-\contentsline {section}{\numberline {4.7}Inconvenientes}{72}{section.4.7}%
-\contentsline {subsection}{\numberline {4.7.1}Bloqueo de paquetes}{72}{subsection.4.7.1}%
-\contentsline {subsection}{\numberline {4.7.2}Módulo de seguridad SELinux}{72}{subsection.4.7.2}%
-\contentsline {subsection}{\numberline {4.7.3}Percona-release en playbook setup-infrastructure}{72}{subsection.4.7.3}%
-\contentsline {subsection}{\numberline {4.7.4}Subred reservada}{73}{subsection.4.7.4}%
-\contentsline {subsection}{\numberline {4.7.5}Versiones de librerías y SO}{74}{subsection.4.7.5}%
-\contentsline {subsection}{\numberline {4.7.6}Soporte para CentOS}{74}{subsection.4.7.6}%
-\contentsline {chapter}{\numberline {5}Instalación versión Stein}{76}{chapter.5}%
-\contentsline {section}{\numberline {5.1}Diseño de arquitectura}{76}{section.5.1}%
-\contentsline {section}{\numberline {5.2}Preparación de nodos}{78}{section.5.2}%
-\contentsline {subsubsection}{\numberline {5.2.0.1}Deploy}{78}{subsubsection.5.2.0.1}%
-\contentsline {subsubsection}{\numberline {5.2.0.2}Infra1}{80}{subsubsection.5.2.0.2}%
-\contentsline {subsubsection}{\numberline {5.2.0.3}Compute1}{83}{subsubsection.5.2.0.3}%
-\contentsline {subsubsection}{\numberline {5.2.0.4}Compute2}{84}{subsubsection.5.2.0.4}%
-\contentsline {subsubsection}{\numberline {5.2.0.5}Storage1}{85}{subsubsection.5.2.0.5}%
-\contentsline {subsubsection}{\numberline {5.2.0.6}Storage2}{86}{subsubsection.5.2.0.6}%
-\contentsline {subsubsection}{\numberline {5.2.0.7}HAproxy1}{86}{subsubsection.5.2.0.7}%
-\contentsline {subsubsection}{\numberline {5.2.0.8}Router}{86}{subsubsection.5.2.0.8}%
-\contentsline {section}{\numberline {5.3}Configuración archivos OSA}{91}{section.5.3}%
-\contentsline {subsubsection}{\numberline {5.3.0.1}openstack\_user\_config.yml}{91}{subsubsection.5.3.0.1}%
-\contentsline {subsubsection}{\numberline {5.3.0.2}user\_variables.yml}{96}{subsubsection.5.3.0.2}%
-\contentsline {subsubsection}{\numberline {5.3.0.3}cinder.yml}{97}{subsubsection.5.3.0.3}%
-\contentsline {section}{\numberline {5.4}Ejecución de playbooks}{98}{section.5.4}%
-\contentsline {section}{\numberline {5.5}Cambios para driver OVS}{98}{section.5.5}%
-\contentsline {chapter}{\numberline {6}Interaccción}{101}{chapter.6}%
-\contentsline {section}{\numberline {6.1}Configuraciones de administrador}{102}{section.6.1}%
-\contentsline {subsubsection}{\numberline {6.1.0.1}Crear proyecto}{102}{subsubsection.6.1.0.1}%
-\contentsline {subsubsection}{\numberline {6.1.0.2}Crear usuario}{104}{subsubsection.6.1.0.2}%
-\contentsline {subsubsection}{\numberline {6.1.0.3}Crear flavor}{105}{subsubsection.6.1.0.3}%
-\contentsline {subsubsection}{\numberline {6.1.0.4}Crear provider network}{107}{subsubsection.6.1.0.4}%
-\contentsline {section}{\numberline {6.2}Interacción de un usuario}{108}{section.6.2}%
-\contentsline {subsubsection}{\numberline {6.2.0.1}Crear imagen}{108}{subsubsection.6.2.0.1}%
-\contentsline {subsubsection}{\numberline {6.2.0.2}Crear red}{110}{subsubsection.6.2.0.2}%
-\contentsline {subsubsection}{\numberline {6.2.0.3}Crear router}{112}{subsubsection.6.2.0.3}%
-\contentsline {subsubsection}{\numberline {6.2.0.4}Crear interfaz de router}{113}{subsubsection.6.2.0.4}%
-\contentsline {subsubsection}{\numberline {6.2.0.5}Crear key pair}{113}{subsubsection.6.2.0.5}%
-\contentsline {subsubsection}{\numberline {6.2.0.6}Lanzar una instancia}{113}{subsubsection.6.2.0.6}%
-\contentsline {section}{\numberline {6.3}Acceso a una instancia}{116}{section.6.3}%
-\contentsline {subsection}{\numberline {6.3.1}Por SPICE}{116}{subsection.6.3.1}%
-\contentsline {subsection}{\numberline {6.3.2}Por SSH}{117}{subsection.6.3.2}%
-\contentsline {subsubsection}{\numberline {6.3.2.1}Asociar una Floating IP a la instancia}{117}{subsubsection.6.3.2.1}%
-\contentsline {subsubsection}{\numberline {6.3.2.2}Modificar security group}{118}{subsubsection.6.3.2.2}%
-\contentsline {subsubsection}{\numberline {6.3.2.3}SSH}{119}{subsubsection.6.3.2.3}%
-\contentsline {subsection}{\numberline {6.3.3}Por virsh}{120}{subsection.6.3.3}%
-\contentsline {chapter}{\numberline {7}Gestión del Datacenter}{121}{chapter.7}%
-\contentsline {section}{\numberline {7.1}Recuperación ante fallas}{121}{section.7.1}%
-\contentsline {subsection}{\numberline {7.1.1}Verificar el estado general de OpenStack}{121}{subsection.7.1.1}%
-\contentsline {subsection}{\numberline {7.1.2}Verificar estado de los componentes de la infraestructura}{122}{subsection.7.1.2}%
-\contentsline {subsection}{\numberline {7.1.3}Solucionar problemas}{122}{subsection.7.1.3}%
-\contentsline {subsection}{\numberline {7.1.4}Problemas con Ceph}{123}{subsection.7.1.4}%
-\contentsline {section}{\numberline {7.2}Agregar y remover nodos}{124}{section.7.2}%
-\contentsline {subsection}{\numberline {7.2.1}Agregar nodo de Cómputo}{124}{subsection.7.2.1}%
-\contentsline {subsection}{\numberline {7.2.2}Eliminar un nodo de cómputo}{126}{subsection.7.2.2}%
-\contentsline {subsection}{\numberline {7.2.3}Infraestructura}{126}{subsection.7.2.3}%
-\contentsline {subsection}{\numberline {7.2.4}Storage}{126}{subsection.7.2.4}%
-\contentsline {section}{\numberline {7.3}Actualizar versión}{126}{section.7.3}%
-\contentsline {chapter}{\numberline {8}Análisis del módulo de red}{127}{chapter.8}%
-\contentsline {section}{\numberline {8.1}Escenarios de prueba}{127}{section.8.1}%
-\contentsline {subsection}{\numberline {8.1.1}Escenario 1: tráfico este-oeste (misma red tenant)}{128}{subsection.8.1.1}%
-\contentsline {subsubsection}{\numberline {8.1.1.1}Composición del escenario}{128}{subsubsection.8.1.1.1}%
-\contentsline {subsection}{\numberline {8.1.2}Escenario 2: tráfico este-oeste (distintas redes tenant)}{129}{subsection.8.1.2}%
-\contentsline {subsubsection}{\numberline {8.1.2.1}Composición del escenario}{129}{subsubsection.8.1.2.1}%
-\contentsline {subsection}{\numberline {8.1.3}Escenario 3: tráfico norte-sur (acceso hacia el exterior)}{130}{subsection.8.1.3}%
-\contentsline {subsubsection}{\numberline {8.1.3.1}Composición del escenario}{131}{subsubsection.8.1.3.1}%
-\contentsline {subsection}{\numberline {8.1.4}Escenario 4: tráfico norte-sur (acceso desde el exterior)}{132}{subsection.8.1.4}%
-\contentsline {subsubsection}{\numberline {8.1.4.1}Composición del escenario}{132}{subsubsection.8.1.4.1}%
-\contentsline {section}{\numberline {8.2}Linux bridge}{132}{section.8.2}%
-\contentsline {subsection}{\numberline {8.2.1}Escenario 1}{133}{subsection.8.2.1}%
-\contentsline {subsubsection}{\numberline {8.2.1.1}Análisis de componentes}{134}{subsubsection.8.2.1.1}%
-\contentsline {subsubsection}{\numberline {8.2.1.2}Análisis de tráfico}{137}{subsubsection.8.2.1.2}%
-\contentsline {subparagraph}{Paso 1}{137}{section*.127}%
-\contentsline {subparagraph}{Paso 2}{137}{section*.128}%
-\contentsline {subparagraph}{Paso 3}{141}{section*.133}%
-\contentsline {subparagraph}{Paso 4}{142}{section*.136}%
-\contentsline {subsection}{\numberline {8.2.2}Escenario 2}{143}{subsection.8.2.2}%
-\contentsline {subsubsection}{\numberline {8.2.2.1}Análisis de componentes}{143}{subsubsection.8.2.2.1}%
-\contentsline {subsubsection}{\numberline {8.2.2.2}Análisis de tráfico}{149}{subsubsection.8.2.2.2}%
-\contentsline {subparagraph}{Paso 1}{149}{section*.138}%
-\contentsline {subparagraph}{Paso 2}{149}{section*.139}%
-\contentsline {subparagraph}{Paso 3}{149}{section*.140}%
-\contentsline {subparagraph}{Paso 4}{150}{section*.142}%
-\contentsline {subparagraph}{Paso 5}{150}{section*.143}%
-\contentsline {subparagraph}{Paso 6}{150}{section*.144}%
-\contentsline {subparagraph}{Paso 7}{150}{section*.146}%
-\contentsline {subsection}{\numberline {8.2.3}Escenario 3}{151}{subsection.8.2.3}%
-\contentsline {subsubsection}{\numberline {8.2.3.1}Análisis de componentes}{152}{subsubsection.8.2.3.1}%
-\contentsline {subsubsection}{\numberline {8.2.3.2}Análisis de tráfico}{155}{subsubsection.8.2.3.2}%
-\contentsline {subparagraph}{Paso 1}{155}{section*.148}%
-\contentsline {subparagraph}{Paso 2}{155}{section*.149}%
-\contentsline {subparagraph}{Paso 3}{155}{section*.150}%
-\contentsline {subparagraph}{Paso 4}{156}{section*.152}%
-\contentsline {subparagraph}{Paso 5}{156}{section*.153}%
-\contentsline {subparagraph}{Paso 6}{157}{section*.155}%
-\contentsline {subparagraph}{Paso 7}{158}{section*.157}%
-\contentsline {subsection}{\numberline {8.2.4}Escenario 4}{159}{subsection.8.2.4}%
-\contentsline {subsubsection}{\numberline {8.2.4.1}Análisis de componentes}{159}{subsubsection.8.2.4.1}%
-\contentsline {subsubsection}{\numberline {8.2.4.2}Análisis de tráfico}{161}{subsubsection.8.2.4.2}%
-\contentsline {subparagraph}{Paso 1}{161}{section*.159}%
-\contentsline {subparagraph}{Paso 2}{161}{section*.160}%
-\contentsline {subparagraph}{Paso 3}{161}{section*.161}%
-\contentsline {subparagraph}{Paso 4}{162}{section*.164}%
-\contentsline {subparagraph}{Paso 5}{162}{section*.165}%
-\contentsline {subparagraph}{Paso 6}{163}{section*.167}%
-\contentsline {section}{\numberline {8.3}Open vSwitch}{163}{section.8.3}%
-\contentsline {subsubsection}{\numberline {8.3.0.1}Archivos de configuración}{165}{subsubsection.8.3.0.1}%
-\contentsline {subsection}{\numberline {8.3.1}Escenario 1}{168}{subsection.8.3.1}%
-\contentsline {subsubsection}{\numberline {8.3.1.1}Análisis de componentes}{168}{subsubsection.8.3.1.1}%
-\contentsline {subsubsection}{\numberline {8.3.1.2}Análisis de tráfico}{174}{subsubsection.8.3.1.2}%
-\contentsline {subparagraph}{Paso 1}{174}{section*.170}%
-\contentsline {subparagraph}{Paso 2}{175}{section*.171}%
-\contentsline {subparagraph}{Paso 3}{182}{section*.176}%
-\contentsline {subparagraph}{Paso 4}{184}{section*.179}%
-\contentsline {subsection}{\numberline {8.3.2}Escenario 2}{185}{subsection.8.3.2}%
-\contentsline {subsubsection}{\numberline {8.3.2.1}Análisis de componentes}{185}{subsubsection.8.3.2.1}%
-\contentsline {subsubsection}{\numberline {8.3.2.2}Análisis de tráfico}{189}{subsubsection.8.3.2.2}%
-\contentsline {subparagraph}{Paso 1}{190}{section*.181}%
-\contentsline {subparagraph}{Paso 2}{190}{section*.182}%
-\contentsline {subparagraph}{Paso 3}{190}{section*.183}%
-\contentsline {subparagraph}{Paso 4}{190}{section*.185}%
-\contentsline {subparagraph}{Paso 5}{191}{section*.186}%
-\contentsline {subparagraph}{Paso 6}{191}{section*.187}%
-\contentsline {subparagraph}{Paso 7}{191}{section*.189}%
-\contentsline {subsection}{\numberline {8.3.3}Escenario 3}{192}{subsection.8.3.3}%
-\contentsline {subsubsection}{\numberline {8.3.3.1}Análisis de componentes}{192}{subsubsection.8.3.3.1}%
-\contentsline {subsubsection}{\numberline {8.3.3.2}Análisis de tráfico}{195}{subsubsection.8.3.3.2}%
-\contentsline {subparagraph}{Paso 1}{195}{section*.191}%
-\contentsline {subparagraph}{Paso 2}{195}{section*.192}%
-\contentsline {subparagraph}{Paso 3}{196}{section*.193}%
-\contentsline {subparagraph}{Paso 4}{196}{section*.195}%
-\contentsline {subparagraph}{Paso 5}{196}{section*.196}%
-\contentsline {subparagraph}{Paso 6}{198}{section*.198}%
-\contentsline {subparagraph}{Paso 7}{198}{section*.200}%
-\contentsline {subsection}{\numberline {8.3.4}Escenario 4}{199}{subsection.8.3.4}%
-\contentsline {subsubsection}{\numberline {8.3.4.1}Análisis de componentes}{199}{subsubsection.8.3.4.1}%
-\contentsline {subsubsection}{\numberline {8.3.4.2}Análisis de tráfico}{200}{subsubsection.8.3.4.2}%
-\contentsline {subparagraph}{Paso 1}{201}{section*.202}%
-\contentsline {subparagraph}{Paso 2}{201}{section*.203}%
-\contentsline {subparagraph}{Paso 3}{201}{section*.204}%
-\contentsline {subparagraph}{Paso 4}{203}{section*.207}%
-\contentsline {subparagraph}{Paso 5}{203}{section*.208}%
-\contentsline {subparagraph}{Paso 6}{203}{section*.210}%
-\contentsline {section}{\numberline {8.4}Comparativa de drivers}{203}{section.8.4}%
-\contentsline {section}{\numberline {8.5}Funcionalidades avanzadas}{203}{section.8.5}%
-\contentsline {subsection}{\numberline {8.5.1}Layer 3 High Availability}{203}{subsection.8.5.1}%
-\contentsline {chapter}{\numberline {9}Trabajo a futuro}{204}{chapter.9}%
-\contentsline {subsubsection}{\numberline {9.0.0.1}Firewall}{204}{subsubsection.9.0.0.1}%
-\contentsline {subsubsection}{\numberline {9.0.0.2}Arquitectura segura}{204}{subsubsection.9.0.0.2}%
-\contentsline {subsubsection}{\numberline {9.0.0.3}Brindar conexión directa a Internet}{205}{subsubsection.9.0.0.3}%
-\contentsline {subsubsection}{\numberline {9.0.0.4}Gestión de Openstack en operación}{205}{subsubsection.9.0.0.4}%
-\contentsline {chapter}{\numberline {10}Conclusiones}{206}{chapter.10}%
-\contentsline {chapter}{Referencias bibliográficas}{207}{chapter*.211}%
-\contentsline {chapter}{Glosario}{213}{chapter*.211}%
-\contentsline {chapter}{\textbf {Apéndices}}{214}{section*.212}%
+\contentsline {chapter}{\numberline {2}Plan de proyecto}{2}{chapter.2}%
+\contentsline {chapter}{\numberline {3}Fundamentos teóricos}{6}{chapter.3}%
+\contentsline {section}{\numberline {3.1}Cloud computing}{6}{section.3.1}%
+\contentsline {section}{\numberline {3.2}Virtualización}{8}{section.3.2}%
+\contentsline {subparagraph}{KVM}{9}{section*.7}%
+\contentsline {section}{\numberline {3.3}Contenerización}{9}{section.3.3}%
+\contentsline {subparagraph}{LXC}{10}{section*.9}%
+\contentsline {section}{\numberline {3.4}Datacenters}{10}{section.3.4}%
+\contentsline {section}{\numberline {3.5}Redes}{11}{section.3.5}%
+\contentsline {subparagraph}{Flat}{12}{section*.10}%
+\contentsline {subparagraph}{VLAN}{12}{section*.11}%
+\contentsline {subparagraph}{VXLAN}{12}{section*.12}%
+\contentsline {subparagraph}{Network namespaces}{12}{section*.13}%
+\contentsline {section}{\numberline {3.6}Interfaces y bridges}{13}{section.3.6}%
+\contentsline {subparagraph}{Interfaces tap}{13}{section*.14}%
+\contentsline {subparagraph}{Linux bridge}{13}{section*.15}%
+\contentsline {subparagraph}{Veth cables}{13}{section*.16}%
+\contentsline {section}{\numberline {3.7}Backends de almacenamiento}{14}{section.3.7}%
+\contentsline {subsection}{\numberline {3.7.1}LVM}{14}{subsection.3.7.1}%
+\contentsline {subsection}{\numberline {3.7.2}Ceph}{14}{subsection.3.7.2}%
+\contentsline {chapter}{\numberline {4}Openstack}{17}{chapter.4}%
+\contentsline {section}{\numberline {4.1}Origen y definición}{17}{section.4.1}%
+\contentsline {section}{\numberline {4.2}Módulos Core}{18}{section.4.2}%
+\contentsline {subsection}{\numberline {4.2.1}Keystone}{18}{subsection.4.2.1}%
+\contentsline {subsection}{\numberline {4.2.2}Nova}{20}{subsection.4.2.2}%
+\contentsline {subparagraph}{API}{21}{section*.23}%
+\contentsline {subparagraph}{Scheduler}{21}{section*.24}%
+\contentsline {subparagraph}{Compute}{22}{section*.25}%
+\contentsline {subparagraph}{Conductor}{22}{section*.26}%
+\contentsline {subparagraph}{Placement}{23}{section*.27}%
+\contentsline {subsection}{\numberline {4.2.3}Neutron}{23}{subsection.4.2.3}%
+\contentsline {subparagraph}{Neutron-server}{23}{section*.29}%
+\contentsline {subparagraph}{Plugins y agentes}{23}{section*.30}%
+\contentsline {subparagraph}{Cola de mensajes}{23}{section*.31}%
+\contentsline {subsubsection}{\numberline {4.2.3.1}Tipos de redes en OpenStack}{24}{subsubsection.4.2.3.1}%
+\contentsline {subsubsection}{\numberline {4.2.3.2}Tipo de tráfico}{25}{subsubsection.4.2.3.2}%
+\contentsline {subsection}{\numberline {4.2.4}Glance}{25}{subsection.4.2.4}%
+\contentsline {subparagraph}{Creación de una VM}{27}{section*.33}%
+\contentsline {subsection}{\numberline {4.2.5}Cinder}{28}{subsection.4.2.5}%
+\contentsline {subsection}{\numberline {4.2.6}Swift}{30}{subsection.4.2.6}%
+\contentsline {subparagraph}{Principales componentes}{30}{section*.37}%
+\contentsline {section}{\numberline {4.3}Tipos de nodos}{32}{section.4.3}%
+\contentsline {subparagraph}{Nodo de control}{32}{section*.38}%
+\contentsline {subparagraph}{Nodo de red}{32}{section*.39}%
+\contentsline {subparagraph}{Nodo de cómputo}{32}{section*.41}%
+\contentsline {subparagraph}{Nodo de almacenamiento}{33}{section*.42}%
+\contentsline {subparagraph}{Nodo de balanceamiento de carga}{33}{section*.43}%
+\contentsline {section}{\numberline {4.4}Servicios de infraestructura}{33}{section.4.4}%
+\contentsline {subparagraph}{Galera - MariaDB}{33}{section*.44}%
+\contentsline {subparagraph}{Message queue}{34}{section*.45}%
+\contentsline {subparagraph}{Memcached}{34}{section*.46}%
+\contentsline {section}{\numberline {4.5}Métodos de instalación}{34}{section.4.5}%
+\contentsline {subsection}{\numberline {4.5.1}Ansible}{35}{subsection.4.5.1}%
+\contentsline {subparagraph}{Nodo de control}{36}{section*.47}%
+\contentsline {subparagraph}{Inventario}{36}{section*.48}%
+\contentsline {subparagraph}{Módulos}{36}{section*.49}%
+\contentsline {subparagraph}{Tarea}{36}{section*.50}%
+\contentsline {subparagraph}{Playbook}{36}{section*.51}%
+\contentsline {section}{\numberline {4.6}Arquitectura}{36}{section.4.6}%
+\contentsline {subsection}{\numberline {4.6.1}Arquitectura de red}{37}{subsection.4.6.1}%
+\contentsline {subparagraph}{Management Network}{37}{section*.53}%
+\contentsline {subparagraph}{Overlay Network}{37}{section*.54}%
+\contentsline {subparagraph}{Storage Network}{38}{section*.55}%
+\contentsline {subsubsection}{\numberline {4.6.1.1}Interfaces de red}{38}{subsubsection.4.6.1.1}%
+\contentsline {section}{\numberline {4.7}Configuración OSA}{39}{section.4.7}%
+\contentsline {subsection}{\numberline {4.7.1}Convenciones}{41}{subsection.4.7.1}%
+\contentsline {subsection}{\numberline {4.7.2}Inventario}{41}{subsection.4.7.2}%
+\contentsline {subsection}{\numberline {4.7.3}openstack\_user\_config.yml}{42}{subsection.4.7.3}%
+\contentsline {chapter}{\numberline {5}Diseño}{43}{chapter.5}%
+\contentsline {section}{\numberline {5.1}Diseño de arquitectura}{43}{section.5.1}%
+\contentsline {section}{\numberline {5.2}Ambiente de trabajo}{43}{section.5.2}%
+\contentsline {subsection}{\numberline {5.2.1}Hardware utilizado}{43}{subsection.5.2.1}%
+\contentsline {subsection}{\numberline {5.2.2}Conexión remota hacia el servidor renata}{44}{subsection.5.2.2}%
+\contentsline {subsection}{\numberline {5.2.3}Virtualización con KVM}{44}{subsection.5.2.3}%
+\contentsline {subsubsection}{\numberline {5.2.3.1}Utilización virt-manager}{45}{subsubsection.5.2.3.1}%
+\contentsline {subsection}{\numberline {5.2.4}Especificaciones servidor renata}{53}{subsection.5.2.4}%
+\contentsline {subsection}{\numberline {5.2.5}Acceso al exterior desde nodos}{54}{subsection.5.2.5}%
+\contentsline {section}{\numberline {5.3}Ejecución de playbooks}{55}{section.5.3}%
+\contentsline {subsubsection}{\numberline {5.3.0.1}setup-hosts.yml}{55}{subsubsection.5.3.0.1}%
+\contentsline {subsubsection}{\numberline {5.3.0.2}install-haproxy.yml}{55}{subsubsection.5.3.0.2}%
+\contentsline {subsubsection}{\numberline {5.3.0.3}setup-infrastructure.yml}{56}{subsubsection.5.3.0.3}%
+\contentsline {subsubsection}{\numberline {5.3.0.4}setup-openstack.yml}{56}{subsubsection.5.3.0.4}%
+\contentsline {section}{\numberline {5.4}Verificación}{56}{section.5.4}%
+\contentsline {chapter}{\numberline {6}Interaccción}{58}{chapter.6}%
+\contentsline {section}{\numberline {6.1}Configuraciones de administrador}{59}{section.6.1}%
+\contentsline {subsubsection}{\numberline {6.1.0.1}Crear proyecto}{59}{subsubsection.6.1.0.1}%
+\contentsline {subsubsection}{\numberline {6.1.0.2}Crear usuario}{61}{subsubsection.6.1.0.2}%
+\contentsline {subsubsection}{\numberline {6.1.0.3}Crear flavor}{62}{subsubsection.6.1.0.3}%
+\contentsline {subsubsection}{\numberline {6.1.0.4}Crear provider network}{64}{subsubsection.6.1.0.4}%
+\contentsline {section}{\numberline {6.2}Interacción de un usuario}{65}{section.6.2}%
+\contentsline {subsubsection}{\numberline {6.2.0.1}Crear imagen}{65}{subsubsection.6.2.0.1}%
+\contentsline {subsubsection}{\numberline {6.2.0.2}Crear red}{67}{subsubsection.6.2.0.2}%
+\contentsline {subsubsection}{\numberline {6.2.0.3}Crear router}{69}{subsubsection.6.2.0.3}%
+\contentsline {subsubsection}{\numberline {6.2.0.4}Crear interfaz de router}{70}{subsubsection.6.2.0.4}%
+\contentsline {subsubsection}{\numberline {6.2.0.5}Crear key pair}{70}{subsubsection.6.2.0.5}%
+\contentsline {subsubsection}{\numberline {6.2.0.6}Lanzar una instancia}{70}{subsubsection.6.2.0.6}%
+\contentsline {section}{\numberline {6.3}Acceso a una instancia}{73}{section.6.3}%
+\contentsline {subsection}{\numberline {6.3.1}Por SPICE}{73}{subsection.6.3.1}%
+\contentsline {subsection}{\numberline {6.3.2}Por SSH}{74}{subsection.6.3.2}%
+\contentsline {subsubsection}{\numberline {6.3.2.1}Asociar una Floating IP a la instancia}{74}{subsubsection.6.3.2.1}%
+\contentsline {subsubsection}{\numberline {6.3.2.2}Modificar security group}{75}{subsubsection.6.3.2.2}%
+\contentsline {subsubsection}{\numberline {6.3.2.3}SSH}{76}{subsubsection.6.3.2.3}%
+\contentsline {subsection}{\numberline {6.3.3}Por virsh}{77}{subsection.6.3.3}%
+\contentsline {chapter}{\numberline {7}Gestión del Datacenter}{78}{chapter.7}%
+\contentsline {section}{\numberline {7.1}Recuperación ante fallas}{78}{section.7.1}%
+\contentsline {subsection}{\numberline {7.1.1}Verificar el estado general de OpenStack}{78}{subsection.7.1.1}%
+\contentsline {subsection}{\numberline {7.1.2}Verificar estado de los componentes de la infraestructura}{79}{subsection.7.1.2}%
+\contentsline {subsection}{\numberline {7.1.3}Solucionar problemas}{79}{subsection.7.1.3}%
+\contentsline {subsection}{\numberline {7.1.4}Problemas con Ceph}{80}{subsection.7.1.4}%
+\contentsline {section}{\numberline {7.2}Agregar y remover nodos}{81}{section.7.2}%
+\contentsline {subsection}{\numberline {7.2.1}Agregar nodo de Cómputo}{81}{subsection.7.2.1}%
+\contentsline {subsection}{\numberline {7.2.2}Eliminar un nodo de cómputo}{83}{subsection.7.2.2}%
+\contentsline {subsection}{\numberline {7.2.3}Infraestructura}{83}{subsection.7.2.3}%
+\contentsline {subsection}{\numberline {7.2.4}Storage}{83}{subsection.7.2.4}%
+\contentsline {section}{\numberline {7.3}Actualizar versión}{83}{section.7.3}%
+\contentsline {chapter}{\numberline {8}Análisis del módulo de red}{84}{chapter.8}%
+\contentsline {section}{\numberline {8.1}Escenarios de prueba}{84}{section.8.1}%
+\contentsline {subsection}{\numberline {8.1.1}Escenario 1: tráfico este-oeste (misma red tenant)}{85}{subsection.8.1.1}%
+\contentsline {subsubsection}{\numberline {8.1.1.1}Composición del escenario}{85}{subsubsection.8.1.1.1}%
+\contentsline {subsection}{\numberline {8.1.2}Escenario 2: tráfico este-oeste (distintas redes tenant)}{86}{subsection.8.1.2}%
+\contentsline {subsubsection}{\numberline {8.1.2.1}Composición del escenario}{86}{subsubsection.8.1.2.1}%
+\contentsline {subsection}{\numberline {8.1.3}Escenario 3: tráfico norte-sur (acceso hacia el exterior)}{87}{subsection.8.1.3}%
+\contentsline {subsubsection}{\numberline {8.1.3.1}Composición del escenario}{88}{subsubsection.8.1.3.1}%
+\contentsline {subsection}{\numberline {8.1.4}Escenario 4: tráfico norte-sur (acceso desde el exterior)}{89}{subsection.8.1.4}%
+\contentsline {subsubsection}{\numberline {8.1.4.1}Composición del escenario}{89}{subsubsection.8.1.4.1}%
+\contentsline {section}{\numberline {8.2}Linux bridge}{89}{section.8.2}%
+\contentsline {subsection}{\numberline {8.2.1}Escenario 1}{90}{subsection.8.2.1}%
+\contentsline {subsubsection}{\numberline {8.2.1.1}Análisis de componentes}{91}{subsubsection.8.2.1.1}%
+\contentsline {subsubsection}{\numberline {8.2.1.2}Análisis de tráfico}{94}{subsubsection.8.2.1.2}%
+\contentsline {subparagraph}{Paso 1}{94}{section*.123}%
+\contentsline {subparagraph}{Paso 2}{94}{section*.124}%
+\contentsline {subparagraph}{Paso 3}{98}{section*.129}%
+\contentsline {subparagraph}{Paso 4}{99}{section*.132}%
+\contentsline {subsection}{\numberline {8.2.2}Escenario 2}{100}{subsection.8.2.2}%
+\contentsline {subsubsection}{\numberline {8.2.2.1}Análisis de componentes}{100}{subsubsection.8.2.2.1}%
+\contentsline {subsubsection}{\numberline {8.2.2.2}Análisis de tráfico}{106}{subsubsection.8.2.2.2}%
+\contentsline {subparagraph}{Paso 1}{106}{section*.134}%
+\contentsline {subparagraph}{Paso 2}{106}{section*.135}%
+\contentsline {subparagraph}{Paso 3}{106}{section*.136}%
+\contentsline {subparagraph}{Paso 4}{107}{section*.138}%
+\contentsline {subparagraph}{Paso 5}{107}{section*.139}%
+\contentsline {subparagraph}{Paso 6}{107}{section*.140}%
+\contentsline {subparagraph}{Paso 7}{107}{section*.142}%
+\contentsline {subsection}{\numberline {8.2.3}Escenario 3}{108}{subsection.8.2.3}%
+\contentsline {subsubsection}{\numberline {8.2.3.1}Análisis de componentes}{109}{subsubsection.8.2.3.1}%
+\contentsline {subsubsection}{\numberline {8.2.3.2}Análisis de tráfico}{112}{subsubsection.8.2.3.2}%
+\contentsline {subparagraph}{Paso 1}{112}{section*.144}%
+\contentsline {subparagraph}{Paso 2}{112}{section*.145}%
+\contentsline {subparagraph}{Paso 3}{112}{section*.146}%
+\contentsline {subparagraph}{Paso 4}{113}{section*.148}%
+\contentsline {subparagraph}{Paso 5}{113}{section*.149}%
+\contentsline {subparagraph}{Paso 6}{114}{section*.151}%
+\contentsline {subparagraph}{Paso 7}{115}{section*.153}%
+\contentsline {subsection}{\numberline {8.2.4}Escenario 4}{116}{subsection.8.2.4}%
+\contentsline {subsubsection}{\numberline {8.2.4.1}Análisis de componentes}{116}{subsubsection.8.2.4.1}%
+\contentsline {subsubsection}{\numberline {8.2.4.2}Análisis de tráfico}{118}{subsubsection.8.2.4.2}%
+\contentsline {subparagraph}{Paso 1}{118}{section*.155}%
+\contentsline {subparagraph}{Paso 2}{118}{section*.156}%
+\contentsline {subparagraph}{Paso 3}{118}{section*.157}%
+\contentsline {subparagraph}{Paso 4}{119}{section*.160}%
+\contentsline {subparagraph}{Paso 5}{119}{section*.161}%
+\contentsline {subparagraph}{Paso 6}{120}{section*.163}%
+\contentsline {section}{\numberline {8.3}Open vSwitch}{120}{section.8.3}%
+\contentsline {subsubsection}{\numberline {8.3.0.1}Archivos de configuración}{122}{subsubsection.8.3.0.1}%
+\contentsline {subsection}{\numberline {8.3.1}Escenario 1}{125}{subsection.8.3.1}%
+\contentsline {subsubsection}{\numberline {8.3.1.1}Análisis de componentes}{125}{subsubsection.8.3.1.1}%
+\contentsline {subsubsection}{\numberline {8.3.1.2}Análisis de tráfico}{131}{subsubsection.8.3.1.2}%
+\contentsline {subparagraph}{Paso 1}{131}{section*.166}%
+\contentsline {subparagraph}{Paso 2}{132}{section*.167}%
+\contentsline {subparagraph}{Paso 3}{139}{section*.172}%
+\contentsline {subparagraph}{Paso 4}{141}{section*.175}%
+\contentsline {subsection}{\numberline {8.3.2}Escenario 2}{142}{subsection.8.3.2}%
+\contentsline {subsubsection}{\numberline {8.3.2.1}Análisis de componentes}{142}{subsubsection.8.3.2.1}%
+\contentsline {subsubsection}{\numberline {8.3.2.2}Análisis de tráfico}{146}{subsubsection.8.3.2.2}%
+\contentsline {subparagraph}{Paso 1}{147}{section*.177}%
+\contentsline {subparagraph}{Paso 2}{147}{section*.178}%
+\contentsline {subparagraph}{Paso 3}{147}{section*.179}%
+\contentsline {subparagraph}{Paso 4}{147}{section*.181}%
+\contentsline {subparagraph}{Paso 5}{148}{section*.182}%
+\contentsline {subparagraph}{Paso 6}{148}{section*.183}%
+\contentsline {subparagraph}{Paso 7}{148}{section*.185}%
+\contentsline {subsection}{\numberline {8.3.3}Escenario 3}{149}{subsection.8.3.3}%
+\contentsline {subsubsection}{\numberline {8.3.3.1}Análisis de componentes}{149}{subsubsection.8.3.3.1}%
+\contentsline {subsubsection}{\numberline {8.3.3.2}Análisis de tráfico}{152}{subsubsection.8.3.3.2}%
+\contentsline {subparagraph}{Paso 1}{152}{section*.187}%
+\contentsline {subparagraph}{Paso 2}{152}{section*.188}%
+\contentsline {subparagraph}{Paso 3}{153}{section*.189}%
+\contentsline {subparagraph}{Paso 4}{153}{section*.191}%
+\contentsline {subparagraph}{Paso 5}{153}{section*.192}%
+\contentsline {subparagraph}{Paso 6}{155}{section*.194}%
+\contentsline {subparagraph}{Paso 7}{155}{section*.196}%
+\contentsline {subsection}{\numberline {8.3.4}Escenario 4}{156}{subsection.8.3.4}%
+\contentsline {subsubsection}{\numberline {8.3.4.1}Análisis de componentes}{156}{subsubsection.8.3.4.1}%
+\contentsline {subsubsection}{\numberline {8.3.4.2}Análisis de tráfico}{157}{subsubsection.8.3.4.2}%
+\contentsline {subparagraph}{Paso 1}{158}{section*.198}%
+\contentsline {subparagraph}{Paso 2}{158}{section*.199}%
+\contentsline {subparagraph}{Paso 3}{158}{section*.200}%
+\contentsline {subparagraph}{Paso 4}{160}{section*.203}%
+\contentsline {subparagraph}{Paso 5}{160}{section*.204}%
+\contentsline {subparagraph}{Paso 6}{160}{section*.206}%
+\contentsline {section}{\numberline {8.4}Comparativa de drivers}{160}{section.8.4}%
+\contentsline {section}{\numberline {8.5}Funcionalidades avanzadas}{160}{section.8.5}%
+\contentsline {subsection}{\numberline {8.5.1}Layer 3 High Availability}{160}{subsection.8.5.1}%
+\contentsline {chapter}{\numberline {9}Trabajo a futuro}{161}{chapter.9}%
+\contentsline {subsubsection}{\numberline {9.0.0.1}Firewall}{161}{subsubsection.9.0.0.1}%
+\contentsline {subsubsection}{\numberline {9.0.0.2}Arquitectura segura}{161}{subsubsection.9.0.0.2}%
+\contentsline {subsubsection}{\numberline {9.0.0.3}Brindar conexión directa a Internet}{162}{subsubsection.9.0.0.3}%
+\contentsline {subsubsection}{\numberline {9.0.0.4}Gestión de Openstack en operación}{162}{subsubsection.9.0.0.4}%
+\contentsline {chapter}{\numberline {10}Conclusiones}{163}{chapter.10}%
+\contentsline {chapter}{Referencias bibliográficas}{164}{chapter*.207}%
+\contentsline {chapter}{Glosario}{170}{chapter*.207}%
+\contentsline {chapter}{\textbf {Apéndices}}{171}{section*.208}%
 \ttl@change@i {\@ne }{chapter}{13pt}{}{ Apéndice\ \thecontentslabel \quad }{}{\titlerule *[1pc]{.}\contentspage }\relax 
 \ttl@change@v {chapter}{}{}{}\relax 
-\contentsline {chapter}{\numberline {1}Datos procesados}{215}{appendix.Alph1}%
-\contentsline {chapter}{\numberline {2}Imágenes remasterizadas}{216}{appendix.Alph2}%
-\contentsline {chapter}{\numberline {3}Entrevistas desgrabadas}{218}{appendix.Alph3}%
+\contentsline {chapter}{\numberline {1}Datos procesados}{172}{appendix.Alph1}%
+\contentsline {chapter}{\numberline {2}Imágenes remasterizadas}{173}{appendix.Alph2}%
+\contentsline {chapter}{\numberline {3}Entrevistas desgrabadas}{175}{appendix.Alph3}%
 \ttl@change@i {\@ne }{chapter}{0pt}{\vspace *{0.45cm}}{\thecontentslabel \quad }{}{\bfseries \hfill \contentspage }\relax 
 \ttl@change@v {chapter}{}{}{}\relax 
-\contentsline {chapter}{\textbf {Anexos}}{219}{section*.214}%
+\contentsline {chapter}{\textbf {Anexos}}{176}{section*.210}%
+\ttl@change@i {\@ne }{chapter}{13pt}{}{ Anexo\ \thecontentslabel \quad }{}{\titlerule *[1pc]{.}\contentspage }\relax 
+\ttl@change@v {chapter}{}{}{}\relax 
+\contentsline {chapter}{\numberline {1}Instalación versión Queens}{177}{appendix.Anexo.1}%
+\contentsline {section}{\numberline {1.1}Diseño de arquitectura}{177}{section.Anexo.1.1}%
+\contentsline {section}{\numberline {1.2}Preparación de nodos}{178}{section.Anexo.1.2}%
+\contentsline {subsubsection}{\numberline {1.2.0.1}Deploy}{178}{subsubsection.Anexo.1.2.0.1}%
+\contentsline {subsubsection}{\numberline {1.2.0.2}Infra1}{181}{subsubsection.Anexo.1.2.0.2}%
+\contentsline {subsubsection}{\numberline {1.2.0.3}Compute1}{184}{subsubsection.Anexo.1.2.0.3}%
+\contentsline {subsubsection}{\numberline {1.2.0.4}Storage1}{186}{subsubsection.Anexo.1.2.0.4}%
+\contentsline {subsubsection}{\numberline {1.2.0.5}HAproxy1}{187}{subsubsection.Anexo.1.2.0.5}%
+\contentsline {section}{\numberline {1.3}Configuración}{188}{section.Anexo.1.3}%
+\contentsline {subsection}{\numberline {1.3.1}Configuración claves SSH}{188}{subsection.Anexo.1.3.1}%
+\contentsline {subsection}{\numberline {1.3.2}Archivos de configuración OSA}{189}{subsection.Anexo.1.3.2}%
+\contentsline {subsubsection}{\numberline {1.3.2.1}openstack\_user\_config.yml}{189}{subsubsection.Anexo.1.3.2.1}%
+\contentsline {subsubsection}{\numberline {1.3.2.2}user\_variables.yml}{193}{subsubsection.Anexo.1.3.2.2}%
+\contentsline {subsubsection}{\numberline {1.3.2.3}cinder.yml}{194}{subsubsection.Anexo.1.3.2.3}%
+\contentsline {subsection}{\numberline {1.3.3}Generación de claves}{194}{subsection.Anexo.1.3.3}%
+\contentsline {subsection}{\numberline {1.3.4}Correcciones}{195}{subsection.Anexo.1.3.4}%
+\contentsline {subsubsection}{\numberline {1.3.4.1}SELinux}{195}{subsubsection.Anexo.1.3.4.1}%
+\contentsline {section}{\numberline {1.4}Inconvenientes}{195}{section.Anexo.1.4}%
+\contentsline {subsection}{\numberline {1.4.1}Bloqueo de paquetes}{195}{subsection.Anexo.1.4.1}%
+\contentsline {subsection}{\numberline {1.4.2}Módulo de seguridad SELinux}{196}{subsection.Anexo.1.4.2}%
+\contentsline {subsection}{\numberline {1.4.3}Percona-release en playbook setup-infrastructure}{196}{subsection.Anexo.1.4.3}%
+\contentsline {subsection}{\numberline {1.4.4}Subred reservada}{197}{subsection.Anexo.1.4.4}%
+\contentsline {subsection}{\numberline {1.4.5}Versiones de librerías y SO}{197}{subsection.Anexo.1.4.5}%
+\contentsline {subsection}{\numberline {1.4.6}Soporte para CentOS}{198}{subsection.Anexo.1.4.6}%
+\contentsline {chapter}{\numberline {2}Instalación versión Stein}{199}{appendix.Anexo.2}%
+\contentsline {section}{\numberline {2.1}Diseño de arquitectura}{199}{section.Anexo.2.1}%
+\contentsline {section}{\numberline {2.2}Preparación de nodos}{201}{section.Anexo.2.2}%
+\contentsline {subsubsection}{\numberline {2.2.0.1}Deploy}{201}{subsubsection.Anexo.2.2.0.1}%
+\contentsline {subsubsection}{\numberline {2.2.0.2}Infra1}{203}{subsubsection.Anexo.2.2.0.2}%
+\contentsline {subsubsection}{\numberline {2.2.0.3}Compute1}{206}{subsubsection.Anexo.2.2.0.3}%
+\contentsline {subsubsection}{\numberline {2.2.0.4}Compute2}{207}{subsubsection.Anexo.2.2.0.4}%
+\contentsline {subsubsection}{\numberline {2.2.0.5}Storage1}{208}{subsubsection.Anexo.2.2.0.5}%
+\contentsline {subsubsection}{\numberline {2.2.0.6}Storage2}{209}{subsubsection.Anexo.2.2.0.6}%
+\contentsline {subsubsection}{\numberline {2.2.0.7}HAproxy1}{209}{subsubsection.Anexo.2.2.0.7}%
+\contentsline {subsubsection}{\numberline {2.2.0.8}Router}{209}{subsubsection.Anexo.2.2.0.8}%
+\contentsline {section}{\numberline {2.3}Configuración archivos OSA}{214}{section.Anexo.2.3}%
+\contentsline {subsubsection}{\numberline {2.3.0.1}openstack\_user\_config.yml}{214}{subsubsection.Anexo.2.3.0.1}%
+\contentsline {subsubsection}{\numberline {2.3.0.2}user\_variables.yml}{219}{subsubsection.Anexo.2.3.0.2}%
+\contentsline {subsubsection}{\numberline {2.3.0.3}cinder.yml}{220}{subsubsection.Anexo.2.3.0.3}%
+\contentsline {section}{\numberline {2.4}Ejecución de playbooks}{221}{section.Anexo.2.4}%
+\contentsline {section}{\numberline {2.5}Cambios para driver OVS}{221}{section.Anexo.2.5}%
 \contentsfinish 
diff --git a/docs/udelartex/tesis.xwm b/docs/udelartex/tesis.xwm
index 45e12b95e6e88a2daf3739ad7f73bfbccde8dec6..18f6a4699b5355f92368099ab60a2c6fcef658c4 100644
--- a/docs/udelartex/tesis.xwm
+++ b/docs/udelartex/tesis.xwm
@@ -1,2 +1,2 @@
 \relax 
-\xwmnewlabel{xwmlastpage}{{3}{219}{Entrevistas desgrabadas\relax }{section*.214}{}}
+\xwmnewlabel{xwmlastpage}{{2.5}{223}{Cambios para driver OVS\relax }{lstnumber.-277.4}{}}