Installing and Configuring OpenStack (Juno) in Oracle® Solaris

Exit Print View

Updated: June 2016
 
 

Installing Neutron

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

How to Install and Configure Neutron

  1. Configure Neutron by either uncommenting or setting the parameters in these configuration files:
    • /etc/neutron/neutron.conf

      qpid_hostname=/$CONTROLLER_ADMIN_NODE
      rabbit_host=/$CONTROLLER_ADMIN_NODE
      
      host=$CONTROLLER_ADMIN_NODE
      
      [keystone_authtoken]
      auth_uri = http://$CONTROLLER_ADMIN_NODE:5000/v2.0
      identity_uri = http://$CONTROLLER_ADMIN_NODE:35357
      admin_tenant_name = service
      admin_user = neutron
      admin_password = service-password
      
      [database]
      connection = mysql://neutron:service-password@$CONTROLLER_ADMIN_NODE/neutron
      
    • /etc/neutron/plugins/evs/evs_plugin.ini

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

      [DEFAULT]
      evs_controller = ssh://evsuser@$CONTROLLER_ADMIN_NODE
      
    • /etc/neutron/l3_agent.ini

      evs_controller = ssh://evsuser@$CONTROLLER_ADMIN_NODE
  2. Set up the SSH key pairs to be used.
    1. Create SSH key pairs 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
    2. 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
    3. 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_ADMIN_NODE true"
      controller# su - neutron -c "ssh evsuser@$CONTROLLER_ADMIN_NODE true"
      controller# ssh evsuser@$CONTROLLER_ADMIN_NODE true
  3. Configure the elastic virtual switch (EVS).

    Note -  The following substeps specifically configures EVS for a VLAN-based network.

    To configure a VXLAN-based network, go to Managing Network Virtualization and Network Resources in Oracle Solaris in your Oracle Solaris version's library in Operating Systems Documentation. In that book, refer specifically to the section Use Case: Configuring an Elastic Virtual Switch for a Tenant.

    For an example of how to configure flat networks, see https://blogs.oracle.com/openstack/entry/configuring_the_neutron_l3_agent.


    1. Set the EVS property to specify the location of the EVS controller.
      controller# evsadm set-prop -p controller=ssh://evsuser@$CONTROLLER_ADMIN_NODE
    2. Configure the l2-type, vlan-range, and uplink-port properties of the EVS controller.
      controller# evsadm set-controlprop -p property=value

      As shown in Figure 2, you would typically have multiple network interfaces to serve the different subnets. When you set the uplink-port property, you can split the VLANS across the multiple network ports that service the subnets.

      The following example shows how to set EVS properties, including splitting the VLANs. Optionally, use the final command to display all the EVS properties.


      Note -  Define the VLAN range first before spreading the VLANs across the network ports. Otherwise, the uplink-port property cannot be configured.
      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,vlan-range=1
      controller# evsadm set-controlprop -p uplink-port=net1,vlan-range=200-250
      controller# evsadm set-controlprop -p uplink-port=net1,vlan-range=251-300
      
      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