Difference between revisions of "OpenStack: Installing OpenStack Networking"

From Define Wiki
Jump to navigation Jump to search
Line 161: Line 161:
  
 
<syntaxhighlight>
 
<syntaxhighlight>
 +
[root@server2-a ~(keystone_admin)]$ openstack-db --init --service neutron --password redhat --rootpw redhat
 +
Verified connectivity to MySQL.
 +
Creating 'neutron' database.
 +
Updating 'neutron' database password in /etc/neutron/neutron.conf /etc/neutron/plugin.ini
 +
Initializing the neutron database, please wait...
 +
</syntaxhighlight>
  
 +
NB: The following error can be ignored:
 +
<syntaxhighlight>
 +
ERROR 1146 (42S02) at line 1: Table 'neutron.migrate_version' doesn't exist
 +
Final sanity check failed.
 +
Please file a bug report on bugzilla.redhat.com against the openstack-neutron package.
 +
</syntaxhighlight>
 +
 +
<syntaxhighlight>
 +
[root@server2-a ~(keystone_admin)]$ neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugin.ini upgrade head
 +
No handlers could be found for logger "neutron.common.legacy"
 +
INFO  [alembic.migration] Context impl MySQLImpl.
 +
INFO  [alembic.migration] Will assume non-transactional DDL.
 +
</syntaxhighlight>
 +
 +
<syntaxhighlight>
 +
[root@server2-a ~(keystone_admin)]$ systemctl start neutron-server.service
 +
[root@server2-a ~(keystone_admin)]$ egrep 'ERROR|CRITICAL' /var/log/neutron/server.log
 +
[root@server2-a ~(keystone_admin)]$ systemctl enable neutron-server.service
 +
ln -s '/usr/lib/systemd/system/neutron-server.service' '/etc/systemd/system/multi-user.target.wants/neutron-server.service'
 +
[root@server2-a ~(keystone_admin)]$ openstack-status
 +
...
 +
== neutron services ==
 +
neutron-server:                        active
 +
neutron-dhcp-agent:                    inactive  (disabled on boot)
 +
neutron-l3-agent:                      inactive  (disabled on boot)
 +
neutron-metadata-agent:                inactive  (disabled on boot)
 +
neutron-lbaas-agent:                    inactive  (disabled on boot)
 +
neutron-openvswitch-agent:              inactive  (disabled on boot)
 +
neutron-linuxbridge-agent:              inactive  (disabled on boot)
 +
neutron-ryu-agent:                      inactive  (disabled on boot)
 +
neutron-nec-agent:                      inactive  (disabled on boot)
 +
neutron-mlnx-agent:                    inactive  (disabled on boot)
 +
...
 +
</syntaxhighlight>
 +
 +
<syntaxhighlight>
 +
[root@server2-a ~(keystone_admin)]$ systemctl start openvswitch.service
 +
[root@server2-a ~(keystone_admin)]$ egrep 'ERROR|CRITICAL' /var/log/openvswitch/*
 +
[root@server2-a ~(keystone_admin)]$ systemctl enable openvswitch.service
 +
ln -s '/usr/lib/systemd/system/openvswitch.service' '/etc/systemd/system/multi-user.target.wants/openvswitch.service'
 +
</syntaxhighlight>
 +
 +
<syntaxhighlight>
 +
[root@server2-a ~(keystone_admin)]$ cp /etc/sysctl.conf /etc/sysctl.conf.orig
 +
[root@server2-a ~(keystone_admin)]$ echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
 +
[root@server2-a ~(keystone_admin)]$ echo "net.ipv4.conf.all.rp_filter=0" >> /etc/sysctl.conf
 +
[root@server2-a ~(keystone_admin)]$ echo "net.ipv4.conf.default.rp_filter=0" >> /etc/sysctl.conf
 +
[root@server2-a ~(keystone_admin)]$ sysctl -p
 +
net.ipv4.ip_forward = 1
 +
net.ipv4.conf.all.rp_filter = 0
 +
net.ipv4.conf.default.rp_filter = 0
 
</syntaxhighlight>
 
</syntaxhighlight>

Revision as of 15:48, 28 April 2015

[root@server2-a ~]# source /root/keystonerc_admin 
[root@server2-a ~(keystone_admin)]$ keystone service-create --name neutron --type network --description 'OpenStack Networking Service'
+-------------+----------------------------------+
|   Property  |              Value               |
+-------------+----------------------------------+
| description |   OpenStack Networking Service   |
|   enabled   |               True               |
|      id     | b89b02bed44e4b2fa2ae8a4933a9875c |
|     name    |             neutron              |
|     type    |             network              |
+-------------+----------------------------------+
[root@server2-a ~(keystone_admin)]$ keystone endpoint-create --service-id b89b02bed44e4b2fa2ae8a4933a9875c --publicurl http://server2-a.example.com:9696 --adminurl http://server2-a.example.com:9696 --internalurl http://server2-a.example.com:9696
+-------------+-----------------------------------+
|   Property  |               Value               |
+-------------+-----------------------------------+
|   adminurl  | http://server2-a.example.com:9696 |
|      id     |  723417d124cc4088a7bf11f42c260b72 |
| internalurl | http://server2-a.example.com:9696 |
|  publicurl  | http://server2-a.example.com:9696 |
|    region   |             regionOne             |
|  service_id |  b89b02bed44e4b2fa2ae8a4933a9875c |
+-------------+-----------------------------------+
[root@server2-a ~(keystone_admin)]$ keystone catalog
Service: network
+-------------+-----------------------------------+
|   Property  |               Value               |
+-------------+-----------------------------------+
|   adminURL  | http://server2-a.example.com:9696 |
|      id     |  4cbafe9f3dec4c44b5066d16ff2a8d17 |
| internalURL | http://server2-a.example.com:9696 |
|  publicURL  | http://server2-a.example.com:9696 |
|    region   |             regionOne             |
+-------------+-----------------------------------+
...
[root@server2-a ~(keystone_admin)]$ keystone user-create --name neutron --pass redhat
+----------+----------------------------------+
| Property |              Value               |
+----------+----------------------------------+
|  email   |                                  |
| enabled  |               True               |
|    id    | 51f8e11cfc704a1dad36e75da259bbc8 |
|   name   |             neutron              |
| username |             neutron              |
+----------+----------------------------------+
[root@server2-a ~(keystone_admin)]$ keystone user-role-add --user neutron --role admin --tenant services
[root@server2-a ~(keystone_admin)]$ yum -y install openvswitch openstack-neutron openstack-neutron-ml2 openstack-neutron-openvswitch

NB: OpenStack networking requires a service proving AMQP - ensure that rabbitmq-server is running:

[root@server2-a ~(keystone_admin)]$ systemctl status rabbitmq-server.service 
rabbitmq-server.service - RabbitMQ broker
   Loaded: loaded (/usr/lib/systemd/system/rabbitmq-server.service; enabled)
   Active: active (running) since Tue 2015-04-28 15:53:02 BST; 17min ago
...
[root@server2-a ~(keystone_admin)]$ cp /etc/neutron/neutron.conf /etc/neutron/neutron.conf.orig
[root@server2-a ~(keystone_admin)]$ crudini --set /etc/neutron/neutron.conf DEFAULT auth_strategy keystone
[root@server2-a ~(keystone_admin)]$ crudini --set /etc/neutron/neutron.conf keystone_authtoken admin_tenant_name services
[root@server2-a ~(keystone_admin)]$ crudini --set /etc/neutron/neutron.conf keystone_authtoken admin_user neutron
[root@server2-a ~(keystone_admin)]$ crudini --set /etc/neutron/neutron.conf keystone_authtoken admin_password redhat
[root@server2-a ~(keystone_admin)]$ crudini --set /etc/neutron/neutron.conf database connection mysql://neutron:redhat@172.25.2.10/neutron
[root@server2-a ~(keystone_admin)]$ crudini --set /etc/neutron/neutron.conf DEFAULT rabbit_userid rabbitmqauth
[root@server2-a ~(keystone_admin)]$ crudini --set /etc/neutron/neutron.conf DEFAULT rabbit_password redhat
[root@server2-a ~(keystone_admin)]$ crudini --set /etc/neutron/neutron.conf DEFAULT rabbit_host server2-a.example.com
[root@server2-a ~(keystone_admin)]$ crudini --set /etc/neutron/neutron.conf DEFAULT rabbit_use_ssl True
[root@server2-a ~(keystone_admin)]$ crudini --set /etc/neutron/neutron.conf DEFAULT rabbit_port 5671
[root@server2-a ~(keystone_admin)]$ crudini --set /etc/neutron/neutron.conf DEFAULT notify_nova_on_port_status_changes True
[root@server2-a ~(keystone_admin)]$ crudini --set /etc/neutron/neutron.conf DEFAULT notify_nova_on_port_data_changes True
[root@server2-a ~(keystone_admin)]$ crudini --set /etc/neutron/neutron.conf DEFAULT nova_url http://172.25.2.10:8774/v2
[root@server2-a ~(keystone_admin)]$ crudini --set /etc/neutron/neutron.conf DEFAULT nova_admin_username nova
[root@server2-a ~(keystone_admin)]$ crudini --set /etc/neutron/neutron.conf DEFAULT nova_admin_tenant_id $(keystone tenant-list | awk '/ services / { print $2 }')
[root@server2-a ~(keystone_admin)]$ crudini --set /etc/neutron/neutron.conf DEFAULT nova_admin_password redhat
[root@server2-a ~(keystone_admin)]$ crudini --set /etc/neutron/neutron.conf DEFAULT nova_admin_auth_url http://172.25.2.10:35357/v2.0
[root@server2-a ~(keystone_admin)]$ cp /etc/neutron/metadata_agent.ini /etc/neutron/metadata_agent.ini.orig

[root@server2-a ~(keystone_admin)]$ crudini --set /etc/neutron/metadata_agent.ini DEFAULT admin_tenant_name services
[root@server2-a ~(keystone_admin)]$ crudini --set /etc/neutron/metadata_agent.ini DEFAULT admin_user neutron
[root@server2-a ~(keystone_admin)]$ crudini --set /etc/neutron/metadata_agent.ini DEFAULT admin_password redhat
[root@server2-a ~(keystone_admin)]$ crudini --set /etc/neutron/metadata_agent.ini DEFAULT auth_url http://172.25.2.10:35357/v2.0
[root@server2-a ~(keystone_admin)]$ crudini --set /etc/neutron/metadata_agent.ini DEFAULT auth_region regionOne
[root@server2-a ~(keystone_admin)]$ crudini --set /etc/neutron/metadata_agent.ini DEFAULT nova_metadata_ip 172.25.2.10
[root@server2-a ~(keystone_admin)]$ crudini --set /etc/neutron/metadata_agent.ini DEFAULT metadata_proxy_shared_secret redhat
[root@server2-a ~(keystone_admin)]$ cp /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugins/ml2/ml2_conf.ini.orig
[root@server2-a ~(keystone_admin)]$ ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini
[root@server2-a ~(keystone_admin)]$ crudini --set /etc/neutron/neutron.conf DEFAULT core_plugin neutron.plugins.ml2.plugin.Ml2Plugin
[root@server2-a ~(keystone_admin)]$ crudini --set /etc/neutron/neutron.conf DEFAULT service_plugins neutron.services.l3_router.l3_router_plugin.L3RouterPlugin
[root@server2-a ~(keystone_admin)]$ crudini --set /etc/neutron/plugin.ini ml2 mechanism_drivers openvswitch
[root@server2-a ~(keystone_admin)]$ crudini --set /etc/neutron/plugin.ini ml2 tenant_network_types vlan
[root@server2-a ~(keystone_admin)]$ crudini --set /etc/neutron/plugin.ini ml2 type_drivers vlan
[root@server2-a ~(keystone_admin)]$ crudini --set /etc/neutron/plugin.ini ml2_type_vlan network_vlan_ranges physnet1:1000:2000
[root@server2-a ~(keystone_admin)]$ 
[root@server2-a ~(keystone_admin)]$ crudini --set /etc/neutron/plugin.ini securitygroup firewall_driver neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
[root@server2-a ~(keystone_admin)]$ crudini --set /etc/neutron/plugin.ini securitygroup enable_security_group True
[root@server2-a ~(keystone_admin)]$ crudini --set /etc/neutron/plugin.ini database sql_connection mysql://neutron:redhat@172.25.2.10/neutron
[root@server2-a ~(keystone_admin)]$ 
[root@server2-a ~(keystone_admin)]$ crudini --set /etc/neutron/plugin.ini ovs bridge_mappings physnet1:br-ex
[root@server2-a ~(keystone_admin)]$ crudini --set /etc/neutron/plugin.ini ovs tenant_network_type vlan
[root@server2-a ~(keystone_admin)]$ cd /etc/neutron/plugins/openvswitch/
[root@server2-a openvswitch(keystone_admin)]$ cp ovs_neutron_plugin.ini ovs_neutron_plugin.ini.orig
[root@server2-a openvswitch(keystone_admin)]$ crudini --set /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini ovs tenant_network_type vlan
[root@server2-a openvswitch(keystone_admin)]$ crudini --set /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini ovs network_vlan_ranges physnet1:1000:2000
[root@server2-a openvswitch(keystone_admin)]$ crudini --set /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini ovs bridge_mappings physnet1:br-ex
[root@server2-a openvswitch(keystone_admin)]$ crudini --set /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini securitygroup firewall_driver neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
[root@server2-a ~(keystone_admin)]$ cp /etc/neutron/l3_agent.ini /etc/neutron/l3_agent.ini.orig

[root@server2-a ~(keystone_admin)]$ crudini --set /etc/neutron/l3_agent.ini DEFAULT interface_driver neutron.agent.linux.interface.OVSInterfaceDriver
[root@server2-a ~(keystone_admin)]$ cp /etc/neutron/dhcp_agent.ini /etc/neutron/dhcp_agent.ini.orig

[root@server2-a ~(keystone_admin)]$ crudini --set /etc/neutron/dhcp_agent.ini DEFAULT interface_driver neutron.agent.linux.interface.OVSInterfaceDriver
[root@server2-a ~(keystone_admin)]$ crudini --set /etc/neutron/dhcp_agent.ini DEFAULT ovs_use_veth True
[root@server2-a ~(keystone_admin)]$ openstack-db --init --service neutron --password redhat --rootpw redhat
Verified connectivity to MySQL.
Creating 'neutron' database.
Updating 'neutron' database password in /etc/neutron/neutron.conf /etc/neutron/plugin.ini
Initializing the neutron database, please wait...

NB: The following error can be ignored:

ERROR 1146 (42S02) at line 1: Table 'neutron.migrate_version' doesn't exist
Final sanity check failed.
Please file a bug report on bugzilla.redhat.com against the openstack-neutron package.
[root@server2-a ~(keystone_admin)]$ neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugin.ini upgrade head
No handlers could be found for logger "neutron.common.legacy"
INFO  [alembic.migration] Context impl MySQLImpl.
INFO  [alembic.migration] Will assume non-transactional DDL.
[root@server2-a ~(keystone_admin)]$ systemctl start neutron-server.service
[root@server2-a ~(keystone_admin)]$ egrep 'ERROR|CRITICAL' /var/log/neutron/server.log 
[root@server2-a ~(keystone_admin)]$ systemctl enable neutron-server.service 
ln -s '/usr/lib/systemd/system/neutron-server.service' '/etc/systemd/system/multi-user.target.wants/neutron-server.service'
[root@server2-a ~(keystone_admin)]$ openstack-status
...
== neutron services ==
neutron-server:                         active
neutron-dhcp-agent:                     inactive  (disabled on boot)
neutron-l3-agent:                       inactive  (disabled on boot)
neutron-metadata-agent:                 inactive  (disabled on boot)
neutron-lbaas-agent:                    inactive  (disabled on boot)
neutron-openvswitch-agent:              inactive  (disabled on boot)
neutron-linuxbridge-agent:              inactive  (disabled on boot)
neutron-ryu-agent:                      inactive  (disabled on boot)
neutron-nec-agent:                      inactive  (disabled on boot)
neutron-mlnx-agent:                     inactive  (disabled on boot)
...
[root@server2-a ~(keystone_admin)]$ systemctl start openvswitch.service
[root@server2-a ~(keystone_admin)]$ egrep 'ERROR|CRITICAL' /var/log/openvswitch/*
[root@server2-a ~(keystone_admin)]$ systemctl enable openvswitch.service 
ln -s '/usr/lib/systemd/system/openvswitch.service' '/etc/systemd/system/multi-user.target.wants/openvswitch.service'
[root@server2-a ~(keystone_admin)]$ cp /etc/sysctl.conf /etc/sysctl.conf.orig
[root@server2-a ~(keystone_admin)]$ echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
[root@server2-a ~(keystone_admin)]$ echo "net.ipv4.conf.all.rp_filter=0" >> /etc/sysctl.conf
[root@server2-a ~(keystone_admin)]$ echo "net.ipv4.conf.default.rp_filter=0" >> /etc/sysctl.conf
[root@server2-a ~(keystone_admin)]$ sysctl -p
net.ipv4.ip_forward = 1
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.default.rp_filter = 0