Controller Node


Follow the OpenStack documentation’s Install and configure controller node instructions, but note the following differences and additions.

  1. Prerequisites

    Apply as is.

  2. Configure networking options

    Do not apply.

    1. Instead, install the following packages:

      # yum install openstack-neutron python-networking-midonet python-neutronclient
      # yum erase openstack-neutron-ml2
    2. Configure the server component:

      Edit the /etc/neutron/neutron.conf file and configure the following keys:

      core_plugin = midonet.neutron.plugin_v2.MidonetPluginV2
      service_plugins =
      dhcp_agent_notification = False
      allow_overlapping_ips = True
      rpc_backend = rabbit
      auth_strategy = keystone
      notify_nova_on_port_status_changes = True
      notify_nova_on_port_data_changes = True
      nova_url = http://controller:8774/v2.1
      connection = mysql+pymysql://neutron:NEUTRON_DBPASS@controller/neutron
      rabbit_host = controller
      rabbit_userid = openstack
      rabbit_password = RABBIT_PASS
      auth_uri = http://controller:5000
      auth_url = http://controller:35357
      memcached_servers = controller:11211
      auth_plugin = password
      project_domain_id = default
      user_domain_id = default
      project_name = service
      username = neutron
      password = NEUTRON_PASS
      auth_url = http://controller:35357
      auth_plugin = password
      project_domain_id = default
      user_domain_id = default
      region_name = RegionOne
      project_name = service
      username = nova
      password = NOVA_PASS
      lock_path = /var/lib/neutron/tmp

    When using multiple service plugins, separate them with commas:

    service_plugins = foo,bar,
  3. Configure the MidoNet plug-in

    1. Create the directory for the MidoNet plugin:

      mkdir /etc/neutron/plugins/midonet
    2. Create the /etc/neutron/plugins/midonet/midonet.ini file and edit it to contain the following:

      # MidoNet API URL
      midonet_uri = http://controller:8181/midonet-api
      # MidoNet administrative user in Keystone
      username = midonet
      password = MIDONET_PASS
      # MidoNet administrative user's tenant
      project_id = service
    3. Create a symbolic link to direct Neutron to the MidoNet configuration:

      # ln -s /etc/neutron/plugins/midonet/midonet.ini /etc/neutron/plugin.ini
  4. Configure the metadata agent

    Do not apply.

  5. To configure Compute to use Networking

    Apply as is.

  6. Configure Load-Balancer-as-a-Service (LBaaS)

    Additionally to the OpenStack Installation Guide, configure Load-Balancer-as-a-Service (LBaaS) as described in the section called “Configure Load-Balancer-as-a-Service (LBaaS)”.

  7. Configure FireWall-as-a-Service (FWaaS)

    Additionally to the OpenStack Installation Guide, configure FireWall-as-a-Service (FWaaS) as described in the section called “Configure FireWall-as-a-Service (FWaaS)”.

  8. Finalize installation  

    Do not apply.

    Instead, perform the following steps.

    1. Populate the database:

      # su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/midonet/midonet.ini upgrade head" neutron
      # su -s /bin/sh -c "neutron-db-manage --subproject networking-midonet upgrade head" neutron
    2. Restart the Compute service:

      # systemctl restart openstack-nova-api.service
    3. Start the Networking service and configure it to start when the system boots:

      # systemctl enable neutron-server.service
      # systemctl start neutron-server.service
Questions? Discuss on Mailing Lists or Chat.
Found an error? Report a bug.