# 建立数据库用户及权限
create database neutron;
grant all privileges on neutron.* to neutron@'localhost' identified by 'Abc@123';
grant all privileges on neutron.* to neutron@'%' identified by 'Abc@123';
flush privileges;
# 建立用户、角色、服务、项目、域、端点
source ~/.openstack_admin
openstack user create --domain default --project service --password Abc@123 neutron
openstack role add --project service --user neutron admin
openstack service create --name neutron --description "OpenStack Networking service" network
openstack endpoint create --region RegionOne network public http://192.168.10.218:9696
openstack endpoint create --region RegionOne network internal http://192.168.10.218:9696
openstack endpoint create --region RegionOne network admin http://192.168.10.218:9696
# 安装程序包
yum install -y openstack-neutron openstack-neutron-ml2 openstack-neutron-linuxbridge ebtables
# 变更配置文件
cd /etc/neutron
mv neutron.conf neutron.conf.org
cat > /etc/neutron/neutron.conf << EOF
[DEFAULT]
core_plugin = ml2
service_plugin =
transport_url = rabbit://openstack:Abc@123@192.168.10.218
auth_strategy = keystone
notify_nova_on_port_status_changes = true
notify_nova_on_port_data_changes = true
[database]
connection = mysql+pymysql://neutron:Abc@123@192.168.10.218/neutron
[keystone_authtoken]
www_authenticate_uri = http://192.168.10.218:5000
auth_url = http://192.168.10.218:5000/v3
memcached_servers = 192.168.10.218:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project _name = service
username = neutron
password = Abc@123
[nova]
auth_url = http://192.168.10.218:5000/v3
auth_type = password
project_domain_name = default
user_domain_name = default
project _name = service
region_name = RegionOne
username = nova
password = Abc@123
[oslo_concurrency]
lock_path = /var/lib/neutron/tmp
EOF
chmod 640 /etc/neutron/neutron.conf
chown root:neutron /etc/neutron/neutron.conf
/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_ipet = true
/etc/neutron/plugins/ml2/linuxbridge_agent.ini
未尾部分增加
[linux_bridge]
physical_interface_mappings = provider:eno2
[vxlan]
enable_vxlan = false
[securitygroup]
enable_security_group = true
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
/etc/neutron/dhcp_agent.ini
未尾部分增加
interface_driver = linuxbridge
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
enable_isolated_metadata = true
/etc/neutron/metadata_agent.ini
[DEFAULT] 项目部分增加
nova_metadata_host = 192.168.10.218
metadata_proxy_shared_secret = Abc@123
[cache] 项目增加
memcache_servers = 192.168.10.218:11211
/etc/nova/nova.conf
未尾部分增加
[neutron]
url = http://192.168.10.218:9696
auth_url = http://192.168.10.218:5000/v3
auth_type = password
project_domain_name = default
user_domain_name = default
project _name = service
region_name = RegionOne
username = neutron
password = Abc@123
service_metadata_proxy = True
metadata_proxy_shared_secret = Abc@123
# 同步数据库
ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini
su -s /bin/bash -c "neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugin.ini upgrade head" neutron
# 开启服务
systemctl restart openstack-nova-api && systemctl enable openstack-nova-api
systemctl restart neutron-server && systemctl enable neutron-server
systemctl restart neutron-linuxbridge-agent && systemctl enable neutron-linuxbridge-agent
systemctl restart neutron-dhcp-agent && systemctl enable neutron-dhcp-agent
systemctl restart neutron-metadata-agent && systemctl enable neutron-metadata-agent
# 验证
openstack stein部署手册 8. neutron-api