Wednesday, April 4, 2018

06-openstack-controller-node-configuration

Install and configure controller node


MariaDB [(none)] CREATE DATABASE neutron;


MariaDB [(none)]> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' \
IDENTIFIED BY 'neutron';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' \
IDENTIFIED BY 'neutron';


$ source admin-openrc


$ openstack user create --domain default --password-prompt neutron


$ openstack role add --project service --user neutron admin


$ openstack service create --name neutron --description "OpenStack Networking" network


openstack endpoint create --region RegionOne network public http://controller:9696
openstack endpoint create --region RegionOne network internal http://controller:9696
openstack endpoint create --region RegionOne network admin http://controller:9696


Install and configure the Networking components on the controller node.


apt install neutron-server neutron-plugin-ml2 neutron-linuxbridge-agent neutron-dhcp-agent neutron-metadata-agent


Configure the server component


configuration includes the database, authentication mechanism, message
queue, topology change notifications, and plug-in


/etc/neutron/neutron.conf


[database]
# ...
connection = mysql+pymysql://neutron:neutron@controller/neutron


[DEFAULT]
# ...
core_plugin = ml2
service_plugins =
transport_url = rabbit://openstack:RABBIT_PASS@controller
auth_strategy = keystone
notify_nova_on_port_status_changes = true
notify_nova_on_port_data_changes = true


[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = NEUTRON_PASS


[nova]
# ...
auth_url = http://controller:35357
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = nova
password = NOVA_PASS


Configure the Modular Layer 2 (ML2) plug-in


Linux bridge mechanism to build layer-2 (bridging and switching) virtual networking
infrastructure for instances.


/etc/neutron/plugins/ml2/ml2_conf.ini


[ml2]
# ...
type_drivers = flat,vlan
tenant_network_types =
mechanism_drivers = linuxbridge
extension_drivers = port_security


[ml2_type_flat]
# ...
flat_networks = provider


[securitygroup]
# ...
enable_ipset = true


Configure the Linux bridge agent


The Linux bridge agent builds layer-2 (bridging and switching) virtual networking infrastructure for instances
and handles security groups.


/etc/neutron/plugins/ml2/linuxbridge_agent.ini


[linux_bridge]
physical_interface_mappings = provider:PROVIDER_INTERFACE_NAME


[vxlan]
enable_vxlan = false


[securitygroup]
# ...
enable_security_group = true
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver


Configure the DHCP agent


provides DHCP services for virtual networks.


/etc/neutron/dhcp_agent.ini


[DEFAULT]
# ...
interface_driver = linuxbridge
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
enable_isolated_metadata = True


Networking Option 2: Self-service networks


apt install neutron-server neutron-plugin-ml2 neutron-linuxbridge-agent neutron-l3-agent neutron-dhcp-agent neutron-metadata-agent


Configure the server component


/etc/neutron/neutron.conf


[database]
# ...
connection = mysql+pymysql://neutron:NEUTRON_DBPASS@controller/neutron


[DEFAULT]
# ...
core_plugin = ml2
service_plugins = router
allow_overlapping_ips = true
transport_url = rabbit://openstack:RABBIT_PASS@controller
auth_strategy = keystone
notify_nova_on_port_status_changes = true
notify_nova_on_port_data_changes = true

[keystone_authtoken]
# ...
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = NEUTRON_PASS


[nova]
# ...
auth_url = http://controller:35357
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = nova
password = NOVA_PASS


Configure the Modular Layer 2 (ML2) plug-in


The ML2 plug-in uses the Linux bridge mechanism to build layer-2 (bridging and switching) virtual networking infrastructure for instances.


/etc/neutron/plugins/ml2/ml2_conf.ini


[ml2]
# ...
type_drivers = flat,vlan,vxlan
tenant_network_types = vxlan
mechanism_drivers = linuxbridge,l2population
extension_drivers = port_security


[ml2_type_flat]
# ...
flat_networks = provider


[ml2_type_vxlan]
# ...
vni_ranges = 1:1000


[securitygroup]
# ...
enable_ipset = true


Configure the Linux bridge agent


The Linux bridge agent builds layer-2 (bridging and switching) virtual networking infrastructure for instances and handles security groups.


nano /etc/neutron/plugins/ml2/linuxbridge_agent.ini


[linux_bridge]
physical_interface_mappings = provider:PROVIDER_INTERFACE_NAME


[vxlan]
enable_vxlan = true
local_ip = OVERLAY_INTERFACE_IP_ADDRESS
l2_population = true


[securitygroup]
# ...
enable_security_group = true
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver


Configure the layer-3 agent


provides routing and NAT services for self-service virtual networks.


/etc/neutron/l3_agent.ini


[DEFAULT]
# ...
interface_driver = linuxbridge


Configure the DHCP agent
DHCP services for virtual networks.


/etc/neutron/dhcp_agent.ini


[DEFAULT]
# ...
interface_driver = linuxbridge
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
enable_isolated_metadata = true


Configure the metadata agent
configuration information such as credentials to instances


/etc/neutron/metadata_agent.ini


[DEFAULT]
# ...
nova_metadata_ip = controller
metadata_proxy_shared_secret = METADATA_SECRET


Configure the Compute service to use the Networking service


/etc/nova/nova.conf


[neutron]
# ...
url = http://controller:9696
auth_url = http://controller:35357
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = neutron
password = NEUTRON_PASS
service_metadata_proxy = true
metadata_proxy_shared_secret = METADATA_SECRET


Finalize installation


neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head


# service nova-api restart


service neutron-server restart
service neutron-linuxbridge-agent restart
service neutron-dhcp-agent restart
service neutron-metadata-agent restart
# service neutron-l3-agent restart


Install and configure compute node


# apt install neutron-linuxbridge-agent


/etc/neutron/neutron.conf


[DEFAULT]
# ...
transport_url = rabbit://openstack:RABBIT_PASS@controller
auth_strategy = keystone


[keystone_authtoken]
# ...
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = NEUTRON_PASS


Networking Option 1: Provider networks
Configure the Networking components on a compute node.


Configure the Linux bridge agent


/etc/neutron/plugins/ml2/linuxbridge_agent.ini


[linux_bridge]
physical_interface_mappings = provider:PROVIDER_INTERFACE_NAME


[vxlan]
enable_vxlan = false


[securitygroup]
# ...
enable_security_group = true
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver


Networking Option 2: Self-service networks
Configure the Networking components on a compute node.
Configure the Linux bridge agent


/etc/neutron/plugins/ml2/linuxbridge_agent.ini


[linux_bridge]
physical_interface_mappings = provider:PROVIDER_INTERFACE_NAME


[vxlan]
enable_vxlan = true
local_ip = OVERLAY_INTERFACE_IP_ADDRESS
l2_population = true


[securitygroup]
# ...
enable_security_group = true
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver


Configure the Compute service to use the Networking service


/etc/nova/nova.conf


[neutron]
# ...
url = http://controller:9696
auth_url = http://controller:35357
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = neutron
password = NEUTRON_PASS


Finalize installation


# service nova-compute restart
# service neutron-linuxbridge-agent restart
$ . admin-openrc
$ openstack extension list –network



Networking Option 1: Provider networks


$ openstack network agent list


Networking Option 2: Self-service networks


$ openstack network agent list

No comments:

Post a Comment