Controller Node

[Important]Important

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:

      # apt-get install neutron-server python-networking-midonet python-neutronclient
      # apt-get purge neutron-plugin-ml2
    2. Configure the server component:

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

      [DEFAULT]
      ...
      core_plugin = midonet.neutron.plugin_v2.MidonetPluginV2
      service_plugins = midonet.neutron.services.l3.l3_midonet.MidonetL3ServicePlugin
      ...
      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
      
      [database]
      ...
      connection = mysql+pymysql://neutron:NEUTRON_DBPASS@controller/neutron
      
      [oslo_messaging_rabbit]
      ...
      rabbit_host = controller
      rabbit_userid = openstack
      rabbit_password = RABBIT_PASS
      
      [keystone_authtoken]
      ...
      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
      
      [nova]
      ...
      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
    [Note]Note

    When using multiple service plugins, separate them with commas:

    [DEFAULT]
    service_plugins = foo,bar,midonet.neutron.services.l3.l3_midonet.MidonetL3ServicePlugin
  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]
      # 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. Edit the /etc/default/neutron-server file to contain the following:

      NEUTRON_PLUGIN_CONFIG="/etc/neutron/plugins/midonet/midonet.ini"
  4. Configure the metadata agent

    Do not apply.

  5. 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. To 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:

      # service nova-api restart
    3. Restart the Networking service:

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