OpenStack en CentOS 7.0 (instalación manual) Esta es una visión muy, muy básico de todos los pasos (y hay muchos de ellos) para implementar controladores de OpenStack en un solo nodo, puramente para propósitos de prueba .. Actualización: Resulta que mucho de esto se puede automatizar .. pero yo estoy dejando esto como se tardó tanto tiempo de esperar que va a terminar con algo parecido a esto: CentOS 7.0 Instalación base Instalación mínima de reinicio y apagado en VMware Clon y quedar con un controlador y calcular el controlador de arranque nodo consola y aplicar ajustes básicos nmtui y aplicar la configuración de red nmtui-nombre de host y aplicar la configuración de nombre de host garantizar nodos pueden comunicarse instalar NTP yum install ntp systemctl permitir ntpd systemctl comenzar OpenStack la configuración previa del ntpd Originalmente basado en la habana -> Ahora en base a Juno -> rpm - ivh rpm -ivh yum upgrade té de la bebida Cuando se haya completado el reinicio de instalación de base de datos de mensajería y colas yum install selinux-openstack beber más té de instalar la base de yum install MariaDB MariaDB-servidor MySQL-python Añadir el siguientea /etc/my.cnf.d/server.cnf [mysqld] bind-address = <IP del nodo del controlador> default-storage-engine = innodb innodb_file_per_table intercalación-server = utf8_general_ci init a conectar caracterizado = 'nombres de los conjuntos utf8' set-server = utf8 continuación, inicie la base de datos y le permiten activar systemctl mariadb.service systemctl comenzar mariadb.service Asegurar el PP está escuchando en el IP externa del controlador con ss -a | grep mysql y mysql_secure_installation cambio de contraseña raíz yum install RabbitMQ-servidor systemctl permitir RabbitMQ-server.service systemctl comenzar RabbitMQ-server.service Cambiar contraseña del huésped para los huéspedes de conejo rabbitmqctl change_password <NUEVA CONTRASEÑA> Clave de instalación (servidor de identidad) mysql -u root -p CREAR BASE DE DATOS piedra angular; Conceder a todos los privilegios en Keystone * A 'piedra angular' @ 'localhost' IDENTIFICADAS POR 'contraseña'.; Conceder a todos los privilegios en Keystone * A 'piedra angular' @ '%' IDENTIFICADAS POR 'contraseña'.; Instalar los paquetes yum install trapezoidal openstack-Keystone python-keystoneclient Hacer que eldespués de los cambios de /etc/keystone/keystone.conf [DEFAULT] = admin_token ADMIN_TOKEN [base de datos] = conexión mysql: // trapezoidal: KEYSTONE_DBPASS @ controlador / Keystone [contador] = keystone.token.providers.uuid.Provider proveedor de controlador = trapezoidal .token.persistence.backends.sql.Token [revocar] driver = keystone.contrib.revoke.backends.sql.Revoke [DEFAULT] verbosa = True Crear certificados / claves y configure los permisos apropiados piedra angular de administrar --keystone usuario trapezoidal pki_setup --keystone grupo trapezoidal trapezoidal chown -R: Keystone / var / log / Keystone chown -R trapezoidal: Keystone / etc / Keystone / ssl chmod -R o-rwx / etc / Keystone / ssl Do -s / bin / sh - c "piedra angular de administrar db_sync" piedra angular habilitar el servicio systemctl permitir openstack-keystone.service systemctl comenzar openstack-keystone.service Crear los inquilinos, usuarios y roles exportan OS_SERVICE_TOKEN = <token ID> OS_SERVICE_ENDPOINT exportación = Crear inquilino Administrativo, el usuario y la función de distorsión trapezoidal arrendatario a crear --name administrador --description "Tenant admin" piedra angularfácil de crear --name administrador --pass admin_pass --email EMAIL_ADDRESS piedra angular de actuación de crear --name administrador piedra angular de usuario de rol añadir --user administrador --tenant administrador --role administrador Crear un inquilino prueba, el usuario y la función de distorsión trapezoidal -create --name demostración --description "Demo Tenant" piedra angular de usuario a crear --name demostración --tenant demostración --pass DEMO_PASS --email email_address Un inquilino servicio también se requiere trapezoidal arrendatario a crear --name --description servicio "servicio de" puntos finales de API requieren ser creados piedra angular de servicios a crear --name trapezoidal --type identidad --description "OpenStack identidad" piedra angular punto final a crear --service-id $ (service-list trapezoidal | awk '/ identidad / { print $ 2} ') --publicurl --internalurl --adminurl --region regionOne vISTAZO raíz de instalación de mysql -u -p CREAR BASE DE DATOS vista; Conceder a todos los privilegios en vista * A 'mirada' @ 'localhost' IDENTIFICADAS POR 'contraseña'.; Conceder a todos los privilegios en vista * A 'mirada' @ '%' IDENTIFICADAS POR 'contraseña'.; Asegurar que el entorno se establecen las variables y crear usuarios, añadiral arrendatario y crear la clave de servicio del usuario a crear vista --name --pass <contraseña> trapezoidal fácil de papel-mirada añadir --user servicio --tenant administrador --role Crear API de punto final trapezoidal servicio a crear vista --name - de tipo --description imagen "OpenStack servicio de imágenes" piedra angular punto final a crear --service-id $ (Keystone service-list | awk '/ imagen / {print $ 2}') --publicurl --internalurl --adminurl --region regionOne Instalar paquetes yum install vistazo openstack rápida python-glanceclient Realice los siguientes cambios en /etc/glance/glance-api.conf [base de datos] = conexión mysql: // vistazo: GLANCE_DBPASS @ controlador / vista [keystone_authtoken] auth_uri = = identity_uri admin_tenant_name = servicio admin_user = vista admin_password = GLANCE_PASS [paste_deploy] sabor = piedra angular [glance_store] default_store = archivo filesystem_store_datadir = / var / lib / mirada / images / [DEFAULT] notification_driver = noop detallado = True Realice los siguientes cambios en / etc / vista /glance-registry.conf [base de datos]Conexión = mysql: // vistazo: GLANCE_DBPASS @ controlador / vista [keystone_authtoken] = auth_uri identity_uri = = admin_tenant_name servicio admin_user = = admin_password vista GLANCE_PASS [paste_deploy] = sabor trapezoidal [DEFAULT] notification_driver = noop detallado = True Do -s / bin / sh -c vistazo "vista de administrar db_sync" habilitar el servicio systemctl habilitar openstack-vista-api.service openstack-vista-registry.service systemctl comienzan openstack-vista-api.service openstack-vista-registry.service comprobar los registros para garantizar el servicio ha iniciado correctamente /var/log/glance/api.log raíz Compute Node Controller mysql -u -p CREAR BASE DE DATOS nova; Conceder a todos los privilegios en nova * A 'nova' @ 'localhost' identificado a través de 'contraseña'.; Conceder a todos los privilegios en nova * A 'nova' @ '%' IDENTIFICADAS POR 'contraseña'.; Asegurar que el entorno se establecen las variables y crear usuarios, añadir a inquilino y crear la clave de servicio del usuario a crear --name nova --pass <contraseña> trapezoidal fácil de papel-nova añadir --user servicio --tenant administrador --roleCrear API del servicio de punto final a crear distorsión trapezoidal --name nova --type calcular --description "OpenStack Compute" piedra angular punto final a crear --service-id $ (Keystone service-list | awk '/ Calcular / {print $ 2}') - -publicurl --internalurl --adminurl --region regionOne instalar paquetes yum install Nova openstack-nova-api openstack-nova-cert openstack-nova-conductor openstack-nova-consola openstack-nova-novncproxy openstack-nova-programador python-novaclient realizar los siguientes cambios a /etc/nova/nova.conf [base de datos] = conexión mysql: // nova: controlador NOVA_DBPASS @ / nova [DEFAULT] = rpc_backend conejo rabbit_host = controlador rabbit_password = RABBIT_PASS auth_strategy = piedra angular my_ip = vncserver_listen = = vncserver_proxyclient_address verbosa = True admin_user [keystone_authtoken] auth_uri = = identity_uri admin_tenant_name = servicio = nova admin_password = nova_password [vista] host = controlador Rellene la base de su -s / bin / sh -c "nova-db gestionar la sincronización" nova habilitar e iniciar lasystemctl servicios permiten openstack-nova-api.service openstack-nova-cert.service openstack-nova-consoleauth.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service systemctl iniciar openstack-nova -api.service openstack-nova-cert.service openstack-nova-consoleauth.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service neutrones Instalar mysql -u root -p CREAR BASE DE DATOS de neutrones ; Conceder a todos los privilegios en neutrones * A 'de neutrones' @ 'localhost' IDENTIFICADAS POR 'contraseña'.; Conceder a todos los privilegios en neutrones * A 'de neutrones' @ '%' IDENTIFICADAS POR 'contraseña'.; Asegurar que el entorno se establecen las variables y crear usuarios, agregar a los inquilinos y crear la clave de servicio del usuario a crear neutrones --name --pass <contraseña> piedra angular de usuario de rol añadir --user neutrones servicio --tenant administrador Crear --role API Punto piedra angular de servicios a crear --name --description red de neutrones --type "OpenStack redes" piedra angularpunto final a crear --service-id $ (service-list trapezoidal | awk '/ red / {print $ 2}') --publicurl --adminurl --internalurl --region regionOne instalar paquetes de neutrones yum install openstack-neutrón-neutrón openstack -ml2 python-neutronclient que debe ser el tiempo para otra cerveza !!! Obtener el identificador de servicio inquilino como se requiere para una entrada en el archivo de configuración trapezoidal inquilino obtener el servicio | grep Identificación realice el siguiente cambio de /etc/neutron/neutron.conf [DEFAULT] = rpc_backend conejo rabbit_host = controlador rabbit_password = RABBIT_PASS auth_strategy = piedra angular core_plugin = ML2 service_plugins = allow_overlapping_ips del router = Verdadero notify_nova_on_port_status_changes = Verdadero notify_nova_on_port_data_changes = True nova_url = = nova_admin_auth_url nova_region_name = = regionOne nova_admin_username nova nova_admin_tenant_id = SERVICE_TENANT_ID nova_admin_password = NOVA_PASS [keystone_authtoken] auth_uri = = identity_uri admin_tenant_name = = admin_user servicio de neutronesadmin_password = NEUTRON_PASS [base de datos] = conexión mysql: // neutrones: NEUTRON_DBPASS controlador @ / Configuración del nivel de neutrones Modular 2 (ML2) plug-in Hacer los siguientes cambios en /etc/neutron/plugins/ml2/ml2_conf.ini [ML2] type_drivers = plana, gre gre tenant_network_types = mechanism_drivers = Open vSwitch [ml2_type_gre] tunnel_id_ranges = 1: 1000 [SecurityGroup] enable_security_group = True enable_ipset = True firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver Configuración del cálculo de usar neutrones Hacer los siguientes cambios /etc/nova/nova.conf [DEFAULT] = network_api_class nova.network.neutronv2.api.API security_group_api = neutrones linuxnet_interface_driver = nova.network.linux_net.LinuxOVSInterfaceDriver firewall_driver = nova.virt.firewall.NoopFirewallDriver [neutrones] url = = auth_strategy admin_auth_url piedra angular = = admin_tenant_name servicio admin_username = neutrones admin_password = NEUTRON_PASS finalizar todos los cambios Crear enlace simbólico relevante sino existe ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini Rellene la base de su -s / bin / sh -c "neutrón-db-gestionar --config- presentar /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini actualizar juno "reinicio de neutrones Compute Servicios systemctl reinicio openstack-nova-api.service openstack-nova-scheduler.service openstack -nova-conductor.service habilitar e iniciar los servicios de systemctl permitir neutrones server.service systemctl iniciar la prueba de neutrones server.service con neutrones ext-lista instalar el tablero de instrumentos yum install httpd openstack-tablero mod_wsgi memcached memcached python-Hacer los siguientes cambios / etc / openstack-salpicadero / local_settings OPENSTACK_HOST = "controlador" allowed_hosts = [ '*'] = {almacena en caché "por defecto": { "Backend 'de:' django.core.cache.backends.memcached.MemcachedCache ',' LOCALIZACIÓN ': '127.0.0.1:11211', TIME_ZONE}} = "GMT" Configurar SELinux para permitir que el servidor web setsebool -P httpd_can_network_connect en Asegurarse de permisos soncorrecto (error actual) chown -R apache: apache / usr / share / openstack-tablero de instrumentos / estáticas habilitar e iniciar los servicios de systemctl permiten httpd.service memcached.service systemctl comenzar httpd.service memcached.service Garantizar los servicios del servidor de seguridad no va a bloquear el acceso (CentOS 7) firewall-cmd = --zone --add de servicio público = http --permanent firewall-cmd = --zone de servicio --add DMZ = http --permanent firewall-cmd --reload ahora debería tener acceso tablero de instrumentos para la instalación de OpenStack