Questa è la terza parte della configurazione del neutrone (Networking) su Ubuntu 14.04, puoi leggere l'articolo precedente su Configure Neutron #1 e Configure Neutron #2 in cui abbiamo installato e configurato i componenti di rete sul nodo Controller e sul nodo di rete.
Qui configureremo il nodo di calcolo per utilizzare i neutroni.
Prerequisiti:
Configura i parametri del kernel sul nodo di calcolo, modifica il file /etc/sysctl.conf.
# nano /etc/sysctl.conf
Aggiungi i seguenti parametri nel file.
net.ipv4.conf.all.rp_filter=0 net.ipv4.conf.default.rp_filter=0 net.bridge.bridge-nf-call-iptables=1 net.bridge.bridge-nf-call-ip6tables=1
Applica le modifiche.
# sysctl -p
Installa e configura i componenti di rete:
Installa i seguenti pacchetti su ogni nodo di calcolo presente nell'ambiente OpenStack.
# apt-get install neutron-plugin-ml2 neutron-plugin-openvswitch-agent
Modifica il file /etc/neutron/neutron.conf.
# nano /etc/neutron/neutron.conf
Modifica le impostazioni seguenti e assicurati di inserire una voce nelle sezioni appropriate. Nel caso della sezione database, commentare eventuali opzioni di connessione poiché il nodo di rete non accede direttamente al database.
[DEFAULT] ... rpc_backend = rabbit verbose = True core_plugin = ml2 service_plugins = router allow_overlapping_ips = True auth_strategy = keystone [database] ... #connection = sqlite:////var/lib/neutron/neutron.sqlite ##Comment out the above line. [oslo_messaging_rabbit] ... rabbit_host = controller rabbit_userid = openstack rabbit_password = password ## Replace "password" with the password you chose for the openstack account in RabbitMQ [keystone_authtoken] ... auth_uri = http://controller:5000 auth_url = http://controller:35357 auth_plugin = password project_domain_id = default user_domain_id = default project_name = service username = neutron password = password ## Replace "password" with the password you chose for neutron user in the identity service
Configura plug-in Modular Layer 2 (ML2):
Modifica il file /etc/neutron/plugins/ml2/ml2_conf.ini.
# nano /etc/neutron/plugins/ml2/ml2_conf.ini
Modifica le sezioni seguenti.
[ml2] ... type_drivers = flat,vlan,gre,vxlan tenant_network_types = gre mechanism_drivers = openvswitch [ml2_type_gre] ... tunnel_id_ranges = 1:1000 [securitygroup] ... enable_security_group = True enable_ipset = True firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver [ovs] local_ip = 192.168.12.23 ## Tunnel network interface on your Compute Node. [agent] tunnel_types = gre ## [ovs] and [agent] stanzas are need to be added extra at the bottom of the file.
Riavvia il servizio Open vSwitch.
# service openvswitch-switch restart
Configura il nodo di calcolo per utilizzare la rete:
Per impostazione predefinita, il nodo di calcolo utilizza la rete legacy. Dobbiamo riconfigurare Compute per gestire le reti tramite Neutron.
Modifica il file /etc/nova/nova.conf.
# nano /etc/nova/nova.conf
Modifica le impostazioni seguenti e assicurati di inserire una voce nelle sezioni appropriate. Se le sezioni non esistono, crea una sezione di conseguenza.
[DEFAULT] ... network_api_class = nova.network.neutronv2.api.API security_group_api = neutron linuxnet_interface_driver = nova.network.linux_net.LinuxOVSInterfaceDriver firewall_driver = nova.virt.firewall.NoopFirewallDriver [neutron] url = http://controller:9696 auth_strategy = keystone admin_auth_url = http://controller:35357/v2.0 admin_tenant_name = service admin_username = neutron admin_password = password ## Replace "password" with the password you chose for neutron user in the identity service
Riavvia il calcolo e apri vSwitch agen sul nodo di calcolo.
# service nova-compute restart # service neutron-plugin-openvswitch-agent restart
Verifica operazione:
Carica le credenziali di amministratore sul nodo controller.
# source admin-openrc.sh
Elenca gli agenti.
# neutron agent-list +--------------------------------------+--------------------+---------+-------+----------------+---------------------------+ | id | agent_type | host | alive | admin_state_up | binary | +--------------------------------------+--------------------+---------+-------+----------------+---------------------------+ | 23da3f95-b81b-4426-9d7a-d5cbfc5241c0 | Metadata agent | network | :-) | True | neutron-metadata-agent | | 4217b0c0-fbd4-47d9-bc22-5187f09d958a | DHCP agent | network | :-) | True | neutron-dhcp-agent | | a4eaabf8-8cf0-4d72-817d-d80921b4f915 | Open vSwitch agent | compute | :-) | True | neutron-openvswitch-agent | | b4cf95cd-2eba-4c69-baa6-ae8832384e40 | Open vSwitch agent | network | :-) | True | neutron-openvswitch-agent | | d9e174be-e719-4f05-ad05-bc444eb97df5 | L3 agent | network | :-) | True | neutron-l3-agent | +--------------------------------------+--------------------+---------+-------+----------------+---------------------------+
L'output dovrebbe avere quattro agenti attivi sul nodo di rete e un agente attivo sul nodo di calcolo.