Installing and Configuring OpenStack in Oracle® Solaris 11.2

Exit Print View

Updated: April 2015
 
 

Installing and Configuring Neutron

In the architecture described in this chapter, the Neutron API service runs on the controller node.

How to Install and Configure Neutron

  1. Install the Neutron package.
    controller# pkg install neutron
  2. Configure Neutron by either uncommenting or setting the parameters in these configuration files:
    • /etc/neutron/neutron.conf

      qpid_hostname=/$CONTROLLER_ADM_NODE
      rabbit_host=/$CONTROLLER_ADM_NODE
      
      # Host to locate redis. (string value)
      # host=127.0.0.1
      host=$CONTROLLER_ADM_NODE
      
      [keystone_authtoken]
      auth_uri = http://$CONTROLLER_ADM_NODE:5000/v2.0
      identity_uri = http://$CONTROLLER_ADM_NODE:35357
      admin_tenant_name = tenant
      admin_user = neutron
      admin_password = service-password
      
      [database]
      connection = mysql://neutron:neutron@$CONTROLLER_ADM_NODE/neutron
      
    • /etc/neutron/plugins/evs/evs_plugin.ini

      [EVS]
      evs_controller = ssh://evsuser@$CONTROLLER_ADM_NODE
      
    • /etc/neutron/dhcp_agent.ini

      [DEFAULT]
      evs_controller = ssh://evsuser@$CONTROLLER_ADM_NODE
      
  3. Configure the elastic virtual switch (EVS).
    1. Set the EVS property to specify the location of the EVS controller.
      controller# evsadm set-prop -p controller=ssh://evsuser@$CONTROLLER_ADM_NODE
    2. Create SSH keypairs for evsuser, neutron, and root users.
      controller# su - evsuser -c "ssh-keygen -N '' \
      -f /var/user/evsuser/.ssh/id_rsa -t rsa"
      controller# su - neutron -c "ssh-keygen -N '' -f /var/lib/neutron/.ssh/id_rsa -t rsa"
      controller# ssh-keygen -N '' -f /root/.ssh/id_rsa -t rsa
    3. Combine the SSH keys of the evsuser, neutron and root users in the evsuser's authorized_keys file.
      controller# cat /var/user/evsuser/.ssh/id_rsa.pub \
      /var/lib/neutron/.ssh/id_rsa.pub /root/.ssh/id_rsa.pub >> \
      /var/user/evsuser/.ssh/authorized_keys
    4. Test the SSH connections to accept the fingerprints which will be stored in the known_host file.

      Specify Yes at every prompt for confirmation.

      controller# su - evsuser -c "ssh evsuser@$CONTROLLER_ADM_NODE true"
      controller# su - neutron -c "ssh evsuser@$CONTROLLER_ADM_NODE true"
      controller# ssh evsuser@$CONTROLLER_ADM_NODE true
    5. Set the ownership of the .ssh directories.
      controller# chown -R evsuser:evsgroup /var/user/evsuser/.sshcontroller
      controller# chown -R neutron:neutron /var/lib/neutron/.ssh
    6. Configure the l2-type, uplink-port, and vlan-range properties of the EVS controller.
      controller# evsadm set-controlprop -p property=value

      The following example shows how to set these properties. Optionally, use the final command to display all the EVS properties:

      controller# evsadm set-controlprop -p l2-type=vlan
      controller# evsadm set-controlprop -p vlan-range=1,200-300
      controller# evsadm set-controlprop -p uplink-port=net0
      
      controller# evsadm show-controlprop -o all
  4. Enable IP forwarding.
    controller# ipadm set-prop -p forwarding=on ipv4
  5. Start the IP Filter service.
    controller# svcadm enable -rs ipfilter
  6. Enable the Neutron server service.
    controller# svcadm enable -rs neutron-server neutron-dhcp-agent