In the architecture described in this chapter, the Neutron API service runs on the Controller node. To enable this service to communicate with the EVS controller installed on the Network node, public SSH keys for the for the Controller's neutron user must be deposited on the Network node's evsuser user's authorized_keys file.
controller# pkg install neutron
This key will enable the Neutron API service to access the EVS controller.
Use the ssh-keygen command as the neutron user, and create the key for the neutron user.
controller# su - neutron \ -c "ssh-keygen -N '' -f /var/lib/neutron/.ssh/id_rsa -t rsa"
Copy the SSH public key generated in the previous step, /var/lib/neutron/.ssh/id_rsa.pub, to the node where the EVS controller is running. This key is referenced when you configure the EVS controller.
Specify Keystone authentication information and the location of the RabbitMQ service. In the /etc/neutron/neutron.conf file, uncomment and set the following parameters:
rabbit_host = controller-name auth_uri = http://controller-name:5000/v2.0 identity_uri = http://controller-name:35357 admin_tenant_name = service admin_user = neutron admin_password = neutron-password
Use the IP address of the Network node with the getent hosts command to get the name of the Network node:
network# getent hosts network-IP network-IP network-name
In the /etc/neutron/plugins/evs/evs_plugin.ini file, uncomment or set the following parameters. Use the output from the getent hosts command to set the location of the EVS controller:
evs_controller = ssh://evsuser@network-name sql_connection = path-to-database
controller# svcadm enable neutron-server