diff --git a/docs/installation b/docs/installation index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..de903e24ab808fcdf8632d95e735f575d7c2dab1 100644 --- a/docs/installation +++ b/docs/installation @@ -0,0 +1,256 @@ +Pasos para llevar a cabo la instalación de Openstack Ansible + +1) Configuración de redes en virt-manager: +-- 1.1) Red NAT de management: 10.0.1.0./24 +-- 1.2) Red NAT de storage: 10.0.2.0./24 +-- 1.3) Red NAT de vxlan: 10.0.10.0./24 + +2) Configurar máquina Deploy +-- 2.0) Requerimientos: +---- 2.0.1) vCPUs: 2 +---- 2.0.2) Memoria: 8 GB +---- 2.0.3) Disco: 40 GB +---- 2.0.4) SO: CentOS 7 server +---- 2.0.5) NIC 1: en la red de management con IP 10.0.1.10 + +-- 2.1) Configurar la interfaz de red eth0: IP y DNS adecuados. +-- 2.2) Setear en la interfaz del virt-manager, la NAT-OPEN. +-- 2.3) Cambiar el hostname a 'deploy' en /etc/hostname y mediante el comando $ hostname deploy +-- 2.4) Configurar las variables de proxy en el /etc/environment con los siguientes comandos: + $ echo "http_proxy=http://10.0.1.1:3128" >> /etc/environment + $ echo "https_proxy=http://10.0.1.1:3128" >> /etc/environment + $ echo "HTTP_PROXY=http://10.0.1.1:3128" >> /etc/environment + $ echo "HTTPS_PROXY=http://10.0.1.1:3128" >> /etc/environment + $ for env in $( cat /etc/environment ); do export $(echo $env | sed -e 's/"//g'); done + +---- 2.4.1) Verificar el acceso a internet mediante el comando $ curl www.google.com + +-- 2.5) Instalaciones necesarias +---- 2.5.1) Actualizar repositorios y reiniciar: + $ yum upgrade -y + $ reboot +---- 2.5.2) Instalar repositorio openstack queens: + $ yum install -y https://rdoproject.org/repos/openstack-queens/rdo-release-queens.rpm +---- 2.5.3) Instalar herramientas auxiliares: + $ yum install -y git ntp nano net-tools ntpdate openssh-server python-devel sudo '@Development Tools' + +-- 2.6) Deshabilitar firewall de CentOS: + $ systemctl stop firewalld + $ systemctl mask firewalld + +-- 2.7) Configurar servicio NTP mediante Chrony, en el archivo /etc/chrony.conf sustituir por las siguientes líneas: + server 0.south-america.pool.ntp.org + server 1.south-america.pool.ntp.org + server 2.south-america.pool.ntp.org + server 3.south-america.pool.ntp.org + +---- 2.7.1) Restartear el servicio Chrony mediante: + $ systemctl restart chronyd + +-- 2.8) Clonar el repositorio de Openstack Ansible Queens + $ git clone -b 17.1.4 https://git.openstack.org/openstack/openstack-ansible /opt/openstack-ansible + +-- 2.9) Instalar openstack-ansible: + $ /opt/openstack-ansible/scripts/bootstrap-ansible.sh + +-- 2.10) Luego de tener todos los nodos configurados, configurar las ssh-keys para acceso remoto por parte del deploy. +---- 2.10.1) Generar la clave SSH con todas las opciones por defecto + $ ssh-keygen +---- 2.10.2) Copiarla a cada uno de los nodos + $ ssh-copy-id username@remote_host + +-- 2.11) Crear carpeta para log de salidas de la instalación: + $ mkdir /var/log/openstack + +3) Configurar máquina Infra1 +-- 3.0) Requerimientos: +---- 3.0.1) vCPUs: 8 +---- 3.0.2) Memoria: 32 GB +---- 3.0.3) Disco: 40 GB +---- 3.0.4) NIC 1: en la red de management con IP 10.0.1.11 +---- 3.0.4) NIC 2: en la red de vxlan con IP 10.0.10.11 +---- 3.0.5) NIC 3: en la red de storage con IP 10.0.2.11 +---- 3.0.6) SO: CentOS 7 server + +-- 3.1) Configurar las interfaces de red eth0, eth1 y eth2 y los birdges br-mgmt, br-storage y br-vxlan, siguiendo los archivos en /src/infra1/network-scripts. +-- 3.2) Setear en la interfases del virt-manager, la NAT-OPEN, la NAT-OPEN-VXLAN y la NAT-OPEN-STORAGE. +-- 3.3) Cambiar el hostname a 'infra1' en /etc/hostname y mediante el comando $ hostname infra1 +-- 3.4) Configurar las variables de proxy en la sesión pero no en el sistema, porque luego el deploy configura el /etc/environment en todos los nodos. + $ export http_proxy=http://10.0.1.1:3128 + $ export https_proxy=http://10.0.1.1:3128 + $ export HTTP_PROXY=http://10.0.1.1:3128 + $ export HTTPS_PROXY=http://10.0.1.1:3128 + +---- 3.4.1) Verificar el acceso a internet mediante el comando $ curl www.google.com + +-- 3.5) Actualizar repositorios y reiniciar: + $ yum upgrade -y + $ reboot +-- 3.6) Instalar herramientas auxiliares: + $ yum install bridge-utils iputils lsof lvm2 ntp ntpdate openssh-server sudo tcpdump python net-tools nano + +-- 3.7) Desahabilitar el Network Manager: + $ chkconfig NetworkManager off + $ chkconfig network on + $ service NetworkManager stop + $ service network start + +-- 3.8) Deshabilitar el SELinux, cambiando en /etc/sysconfig/selinux, "SELINUX=enforcing" por "SELINUX=disabled" + +-- 3.9) Habilitar bonding de interfaces y vlans: + $ echo 'bonding' >> /etc/modules-load.d/openstack-ansible.conf + $ echo '8021q' >> /etc/modules-load.d/openstack-ansible.conf +-- 3.10) Configurar servicio NTP mediante Chrony, en el archivo /etc/chrony.conf sustituir por las siguientes líneas: + server 0.south-america.pool.ntp.org + server 1.south-america.pool.ntp.org + server 2.south-america.pool.ntp.org + server 3.south-america.pool.ntp.org + +---- 3.10.1) Restartear el servicio Chrony mediante: + $ systemctl restart chronyd +-- 3.11) Eliminar reglas de firewall que bloquean el tráfico: +---- 3.11.1) Eliminar las reglas manualmente: + $ iptables -D INPUT -j REJECT --reject-with icmp-host-prohibited + $ iptables -D FORWARD -j REJECT --reject-with icmp-host-prohibited +---- 3.11.2) Exportar las reglas a un archivo: + $ iptables-save > /etc/sysconfig/iptables +---- 3.11.3) En cada reboot de la máquina, importar las reglas del archivo anterior: + $ iptables-restore < /etc/sysconfig/iptables + + +4 Configurar máquina Compute1 +-- 4.0) Requerimientos: +---- 4.0.1) vCPUs: 8 +---- 4.0.2) Memoria: 32 GB +---- 4.0.3) Disco: 40 GB +---- 4.0.4) NIC 1: en la red de management con IP 10.0.1.12 +---- 4.0.4) NIC 2: en la red de vxlan con IP 10.0.10.12 +---- 4.0.5) NIC 3: en la red de storage con IP 10.0.2.12 +---- 4.0.6) SO: CentOS 7 server + +-- 4.1) Configurar las interfaces de red eth0, eth1 y eth2 y los birdges br-mgmt, br-storage y br-vxlan, siguiendo los archivos en /src/compute1/network-scripts. +-- 4.2) Setear en la interfases del virt-manager, la NAT-OPEN, la NAT-OPEN-VXLAN y la NAT-OPEN-STORAGE. +-- 4.3) Cambiar el hostname a 'compute1' en /etc/hostname y mediante el comando $ hostname compute1 +-- 4.4) Configurar las variables de proxy en la sesión pero no en el sistema, porque luego el deploy configura el /etc/environment en todos los nodos. + $ export http_proxy=http://10.0.1.1:3128 + $ export https_proxy=http://10.0.1.1:3128 + $ export HTTP_PROXY=http://10.0.1.1:3128 + $ export HTTPS_PROXY=http://10.0.1.1:3128 +---- 4.4.1) Verificar el acceso a internet mediante el comando $ curl www.google.com + +-- 4.5) Actualizar repositorios y reiniciar: + $ yum upgrade -y + $ reboot +-- 4.6) Instalar herramientas auxiliares: + $ yum install -y bridge-utils iputils lsof lvm2 ntp ntpdate openssh-server sudo tcpdump python net-tools nano + +-- 4.7) Desahabilitar el Network Manager y levantar bridges: + $ chkconfig NetworkManager off + $ chkconfig network on + $ service NetworkManager stop + $ service network start + +-- 4.8) Deshabilitar el SELinux, cambiando en /etc/sysconfig/selinux, "SELINUX=enforcing" por "SELINUX=disabled" + +-- 4.9) Habilitar bonding de interfaces y vlans: + $ echo 'bonding' >> /etc/modules-load.d/openstack-ansible.conf + $ echo '8021q' >> /etc/modules-load.d/openstack-ansible.conf +-- 4.10) Configurar servicio NTP mediante Chrony, en el archivo /etc/chrony.conf sustituir por las siguientes líneas: + server 0.south-america.pool.ntp.org + server 1.south-america.pool.ntp.org + server 2.south-america.pool.ntp.org + server 3.south-america.pool.ntp.org + +---- 4.10.1) Restartear el servicio Chrony mediante: + $ systemctl restart chronyd +-- 4.11) Eliminar reglas de firewall que bloquean el tráfico: +---- 4.11.1) Eliminar las reglas manualmente: + $ iptables -D INPUT -j REJECT --reject-with icmp-host-prohibited + $ iptables -D FORWARD -j REJECT --reject-with icmp-host-prohibited +---- 4.11.2) Exportar las reglas a un archivo: + $ iptables-save > /etc/sysconfig/iptables +---- 4.11.3) En cada reboot de la máquina, importar las reglas del archivo anterior: + $ iptables-restore < /etc/sysconfig/iptables + + +5 Configurar máquina Storage1 +-- 5.0) Requerimientos: +---- 5.0.1) vCPUs: 4 +---- 5.0.2) Memoria: 32 GB +---- 5.0.3) Disco: 40 GB con SO +---- 5.0.4) Disco: 200 GB para cinder-volumes +---- 5.0.4) NIC 1: en la red de management con IP 10.0.1.13 +---- 5.0.5) NIC 2: en la red de storage con IP 10.0.2.13 +---- 5.0.6) SO: CentOS 7 server + +-- 5.1) Configurar las interfaces de red eth0 y eth1 y los bridges br-mgmt y br-storage, siguiendo los archivos en /src/storage1/network-scripts. +-- 5.2) Setear en la interfases del virt-manager, la NAT-OPEN, la NAT-OPEN-VXLAN y la NAT-OPEN-STORAGE. +-- 5.3) Cambiar el hostname a 'storage1' en /etc/hostname y mediante el comando $ hostname storage1 +-- 5.4) Configurar las variables de proxy en la sesión pero no en el sistema, porque luego el deploy configura el /etc/environment en todos los nodos. + $ export http_proxy=http://10.0.1.1:3128 + $ export https_proxy=http://10.0.1.1:3128 + $ export HTTP_PROXY=http://10.0.1.1:3128 + $ export HTTPS_PROXY=http://10.0.1.1:3128 +---- 5.4.1) Verificar el acceso a internet mediante el comando $ curl www.google.com + +-- 5.5) Actualizar repositorios y reiniciar: + $ yum upgrade -y + $ reboot +-- 5.6) Instalar herramientas auxiliares: + $ yum install bridge-utils iputils lsof lvm2 ntp ntpdate openssh-server sudo tcpdump python net-tools nano + +-- 5.7) Desahabilitar el Network Manager y levantar bridges: + $ chkconfig NetworkManager off + $ chkconfig network on + $ service NetworkManager stop + $ service network start + +-- 5.8) Deshabilitar el SELinux, cambiando en /etc/sysconfig/selinux, "SELINUX=enforcing" por "SELINUX=disabled" + +-- 5.9) Habilitar bonding de interfaces y vlans: + $ echo 'bonding' >> /etc/modules-load.d/openstack-ansible.conf + $ echo '8021q' >> /etc/modules-load.d/openstack-ansible.conf + +-- 5.10) Configurar servicio NTP mediante Chrony, en el archivo /etc/chrony.conf sustituir por las siguientes líneas: + server 0.south-america.pool.ntp.org + server 1.south-america.pool.ntp.org + server 2.south-america.pool.ntp.org + server 3.south-america.pool.ntp.org +---- 5.10.1) Restartear el servicio Chrony mediante: + $ systemctl restart chronyd + +-- 5.11) Eliminar reglas de firewall que bloquean el tráfico: +---- 5.11.1) Eliminar las reglas manualmente: + $ iptables -D INPUT -j REJECT --reject-with icmp-host-prohibited + $ iptables -D FORWARD -j REJECT --reject-with icmp-host-prohibited +---- 5.11.2) Exportar las reglas a un archivo: + $ iptables-save > /etc/sysconfig/iptables +---- 5.11.3) En cada reboot de la máquina, importar las reglas del archivo anterior: + $ iptables-restore < /etc/sysconfig/iptables + +-- 5.12) Crear el volumen de LVM para utilizar cinder: +---- 5.12.1) Listar los devices en la máquina: + $ lvmdiskscan +---- 5.12.2) Formatear la pieza física de almacenamiento de 200 GB + $ pvcreate --metadatasize 2048 physical_volume_device_path +---- 5.12.3) Crear el nuevo grupo de almacenamiento que será utilizado por Openstack: + $ vgcreate cinder-volumes physical_volume_device_path +---- 5.12.3) Verificar que el grupo quedó creado correctamente + $ vgdisplay + + + +- En la etapa de instalación acordarse de aplicar el commit. +- Acordarse de configurar el backend en el deploy para que sea on metal. + + + + + + + + + + + + diff --git a/src/target/network-scripts/ifcfg-br-mgmt b/src/storage1/network-scripts/ifcfg-br-mgmt similarity index 87% rename from src/target/network-scripts/ifcfg-br-mgmt rename to src/storage1/network-scripts/ifcfg-br-mgmt index a52ca5902f7c3d0ed56c4547ad3b2dd5c7ff4789..1cc8831ce7b8a624e73cc34211f2d059043963c1 100644 --- a/src/target/network-scripts/ifcfg-br-mgmt +++ b/src/storage1/network-scripts/ifcfg-br-mgmt @@ -1,6 +1,6 @@ DEVICE="br-mgmt" BOOTPROTO="none" -IPADDR="10.0.1.11" +IPADDR="10.0.1.13" PREFIX="24" GATEWAY="10.0.1.1" DNS1="192.168.60.230" diff --git a/src/target/network-scripts/ifcfg-br-storage b/src/storage1/network-scripts/ifcfg-br-storage similarity index 83% rename from src/target/network-scripts/ifcfg-br-storage rename to src/storage1/network-scripts/ifcfg-br-storage index 57cb04945784cefbe6b0d6ba54ffa63e9b206297..debf326acf79c58db172888ecf13bb08365ece66 100644 --- a/src/target/network-scripts/ifcfg-br-storage +++ b/src/storage1/network-scripts/ifcfg-br-storage @@ -1,6 +1,6 @@ DEVICE="br-storage" BOOTPROTO="none" -IPADDR="10.0.2.11" +IPADDR="10.0.2.13" PREFIX="24" ONBOOT="yes" TYPE="Bridge" diff --git a/src/target/network-scripts/ifcfg-eth0 b/src/storage1/network-scripts/ifcfg-eth0 similarity index 100% rename from src/target/network-scripts/ifcfg-eth0 rename to src/storage1/network-scripts/ifcfg-eth0 diff --git a/src/target/network-scripts/ifcfg-eth1 b/src/storage1/network-scripts/ifcfg-eth1 similarity index 100% rename from src/target/network-scripts/ifcfg-eth1 rename to src/storage1/network-scripts/ifcfg-eth1 diff --git a/src/target/network-scripts/ifcfg-br-vxlan b/src/target/network-scripts/ifcfg-br-vxlan deleted file mode 100644 index df1dbb8511fe534bc40feebc305922c9528af2af..0000000000000000000000000000000000000000 --- a/src/target/network-scripts/ifcfg-br-vxlan +++ /dev/null @@ -1,7 +0,0 @@ -DEVICE="br-vxlan" -BOOTPROTO="none" -IPADDR="10.10.10.11" -PREFIX="24" -ONBOOT="yes" -TYPE="Bridge" -NM_CONTROLLED="no" diff --git a/src/target/network-scripts/ifcfg-eth2 b/src/target/network-scripts/ifcfg-eth2 deleted file mode 100644 index e885164749dfb5dbb0220bb31772e9b3f40efb34..0000000000000000000000000000000000000000 --- a/src/target/network-scripts/ifcfg-eth2 +++ /dev/null @@ -1,6 +0,0 @@ -TYPE="Ethernet" -BOOTPROTO="none" -DEVICE="eth2" -ONBOOT="yes" -NM_CONTROLLED=no -BRIDGE="br-vxlan"