Skip to content
Snippets Groups Projects
Commit ff660ebf authored by Santiago Elizondo's avatar Santiago Elizondo
Browse files

cinder-volume.yml & update installation doc

parent 98b4fff2
No related branches found
No related tags found
No related merge requests found
......@@ -53,11 +53,8 @@ Pasos para llevar a cabo la instalación de 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.10) Copiar el contenido de configuración al /etc:
$ cp -r /opt/openstack-ansible/etc/openstack_deploy /etc/
-- 2.11) Crear carpeta para log de salidas de la instalación:
$ mkdir /var/log/openstack
......@@ -68,12 +65,12 @@ Pasos para llevar a cabo la instalación de Openstack Ansible
---- 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.0.5) NIC 2: en la red de vxlan con IP 10.0.10.11
---- 3.0.6) NIC 3: en la red de storage con IP 10.0.2.11
---- 3.0.7) 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.2) Setear en la interfaces 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
......@@ -124,12 +121,12 @@ Pasos para llevar a cabo la instalación de Openstack Ansible
---- 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.0.5) NIC 2: en la red de vxlan con IP 10.0.10.12
---- 4.0.6) NIC 3: en la red de storage con IP 10.0.2.12
---- 4.0.7) 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.2) Setear en la interfaces 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
......@@ -179,12 +176,12 @@ Pasos para llevar a cabo la instalación de Openstack Ansible
---- 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.0.5) NIC 1: en la red de management con IP 10.0.1.13
---- 5.0.6) NIC 2: en la red de storage con IP 10.0.2.13
---- 5.0.7) 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.2) Setear en la interfaces del virt-manager, la NAT-OPEN 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
......@@ -239,10 +236,111 @@ Pasos para llevar a cabo la instalación de Openstack Ansible
$ vgdisplay
6) Configurar máquina HAproxy1
-- 6.0) Requerimientos:
---- 6.0.1) vCPUs: 4
---- 6.0.2) Memoria: 32 GB
---- 6.0.3) Disco: 40 GB con SO
---- 6.0.4) NIC 1: en la red externa con IP 192.168.60.160
---- 6.0.5) NIC 2: en la red de management con IP 10.0.1.15
---- 6.0.6) SO: CentOS 7 server
- En la etapa de instalación acordarse de aplicar el commit.
- Acordarse de configurar el backend en el deploy para que sea on metal.
-- 6.1) Configurar las interfaces de red eth0 y eth1, siguiendo los archivos en /src/haproxy1/network-scripts.
-- 6.2) Setear en la interfaces del virt-manager, la NAT-OPEN.
-- 6.3) Cambiar el hostname a 'haproxy1' en /etc/hostname y mediante el comando $ hostname haproxy1
-- 6.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
---- 6.4.1) Verificar el acceso a internet mediante el comando $ curl www.google.com
-- 6.5) Actualizar repositorios y reiniciar:
$ yum upgrade -y
$ reboot
-- 6.6) Instalar herramientas auxiliares:
$ yum install bridge-utils iputils lsof lvm2 ntp ntpdate openssh-server sudo tcpdump python net-tools nano libsemanage-python
-- 6.7) Deshabilitar el SELinux, cambiando en /etc/sysconfig/selinux, "SELINUX=enforcing" por "SELINUX=disabled"
-- 6.8) Habilitar bonding de interfaces y vlans:
$ echo 'bonding' >> /etc/modules-load.d/openstack-ansible.conf
$ echo '8021q' >> /etc/modules-load.d/openstack-ansible.conf
-- 6.9) 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
---- 6.9.1) Restartear el servicio Chrony mediante:
$ systemctl restart chronyd
-- 6.10) Eliminar reglas de firewall que bloquean el tráfico:
---- 6.10.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
---- 6.10.2) Exportar las reglas a un archivo:
$ iptables-save > /etc/sysconfig/iptables
---- 6.10.3) En cada reboot de la máquina, importar las reglas del archivo anterior:
$ iptables-restore < /etc/sysconfig/iptables
7) Pre instalación
-- 7.1) Configurar claves SSH
---- 7.1.1) Generar una nueva clave con todas las opciones por defecto y sin password:
$ ssh-keygen
---- 7.1.2) Copiar la clave SSH a todos los host target:
$ ssh-copy-id root@10.0.1.11
$ ssh-copy-id root@10.0.1.12
$ ssh-copy-id root@10.0.1.13
$ ssh-copy-id root@10.0.1.15
-- 7.2) Configurar la playbook principal de openstack en /etc/openstack_deploy/openstack_user_confing.yml, tal como se encuentra en src/deploy/opestack_user_config_prod.yml.
-- 7.3) Configurar las variables de usuario en /etc/openstack_deploy/user_variables.yml para la utilización de proxy, tal como se encuentra en src/deploy/user_variables.yml.
-- 7.4) 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 /etc/openstack_deploy/env.d/cinder.yml con lo siguiente (se encuentra en src/deploy/cinder.yml):
container_skel:
cinder_volumes_container:
properties:
is_metal: false
-- 7.5) Configurar los secretos de openstack:
$ cd /opt/openstack-ansible
$ ./scripts/pw-token-gen.py --file /etc/openstack_deploy/user_secrets.yml
-- 7.6) Aplicar el commit de Rookie sobre Queens para evitar problema de SELinux
https://bugs.launchpad.net/openstack-ansible/+bug/1782798
https://review.opendev.org/#/c/603860/
---- 7.6.1) Eliminar los siguientes archivos:
$ rm /etc/ansible/roles/os_nova/files/osa-nova.te
$ rm /etc/ansible/roles/os_nova/tasks/nova_selinux.yml
---- 7.6.2) Modificar el archivo /etc/ansible/roles/os_nova/tasks/nova_post_install.yml eliminando las siguientes líneas:
- include_tasks: nova_selinux.yml
when:
- ansible_selinux.status == "enabled"
8) Instalación
-- 8.1) Revisar la sintaxis de las playbooks posicionado en /opt/openstack-ansible/playbooks:
$ openstack-ansible setup-hosts.yml --syntax-check
$ openstack-ansible setup-infrastructure.yml --syntax-check
$ openstack-ansible setup-openstack.yml --syntax-check
-- 8.2) Ejecutar las playbooks enviando la salida al archivo de log correspondiente (recordar aumentar la numeración en XX) posicionado en /opt/openstack-ansible/playbooks:
$ openstack-ansible -vvv setup-hosts.yml 2>&1 | tee /var/log/openstack/hostsXX.log
$ openstack-ansible -vvv haproxy-install.yml 2>&1 | tee /var/log/openstack/haproxyXX.log
$ openstack-ansible -vvv setup-infrastructure.yml 2>&1 | tee /var/log/openstack/infrastructureXX.log
$ openstack-ansible -vvv setup-openstack.yml 2>&1 | tee /var/log/openstack/openstackXX.log
......
---
# This file contains an example to show how to set
# the cinder-volume service to run in a container.
#
# Important note:
# When using LVM or any iSCSI-based cinder backends, such as NetApp with
# iSCSI protocol, the cinder-volume service *must* run on metal.
# Reference: https://bugs.launchpad.net/ubuntu/+source/lxc/+bug/1226855
container_skel:
cinder_volumes_container:
properties:
is_metal: true
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment