代码改变世界

Openstack组件部署 — Networking service_安装并配置Controller Node

2016-07-09 14:29  云物互联  阅读(262)  评论(0编辑  收藏  举报

目录

前文列表

Openstack组件部署 — Overview和前期环境准备
Openstack组建部署 — Environment of Controller Node
Openstack组件部署 — Keystone功能介绍与认证实现流程
Openstack组件部署 — Keystone Install & Create service entity and API endpoints
Openstack组件部署 — keystone(domain, projects, users, and roles)
Openstack组件实现原理 — Keystone认证功能
Openstack组建部署 — Glance Install
Openstack组件实现原理 — Glance架构(V1/V2)
Openstack组件部署 — Nova overview
Openstack组件部署 — Nova_安装和配置Controller Node
Openstack组件部署 — Nova_Install and configure a compute node
Openstack组件实现原理 — Nova 体系结构
Openstack组件部署 — Netwotking service组件介绍与网络基本概念

前提条件

Openstack Neutron的特性:

  • 支持为每一个虚拟机实例配置多种网络类型。
  • 包含支持虚拟网络的各种插件。

在配置OpenStack Networking service之前,需要在Controller Node上创建一个neutron数据库,service credentials(服务凭证)和API Endpoints。

网络环境

《UPDATE》2016/08/13

  • ManagerNetwork: 192.168.1.0/24 — 用于 Openstack 各节点的通信
    • ControllerNova:192.168.1.5/24
    • ComputeNova:192.168.1.10/24
  • InstanceNetwork: 172.16.0.0/16 — 用于 Openstack Instance 之间的通信
    • ControllerNova:172.16.0.10/16
    • ComputeNova:172.16.0.5/16

完成下面的步骤以创建数据库

以 root 用户身份登陆到数据库:

mysql -u root -pfanguiju

创建neutron 数据库:

MariaDB [(none)]> CREATE DATABASE neutron;

neutron 数据库授予恰当的访问权限:
创建数据库用户neutron,并授予neutron用户对neutron数据库的完全控制权限。

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

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

退出数据库

创建service credentials服务凭证

在Keystone认证服务中创建Neutron的认证信息。

Source the admin credentials to gain access to admin-only CLI commands

[root@controller ~]# source admin-openrc

创建neutron用户:

[root@controller ~]# openstack user create --domain default --password-prompt neutron
User Password:
Repeat User Password:
+-----------+----------------------------------+
| Field     | Value                            |
+-----------+----------------------------------+
| domain_id | 011fbf8c04f1479ab1a4e49b019b22d1 |
| enabled   | True                             |
| id        | af866a410eea43be9cce09c713c472f3 |
| name      | neutron                          |
+-----------+----------------------------------+

添加admin 角色到serivceProject下的neutron 用户:

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

注:此命令执行后没有Output

创建neutron服务实体
服务实体会保存到Keystone的服务目录中。

[root@controller ~]# openstack service create --name neutron --description "OpenStack Networking" network
+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description | OpenStack Networking             |
| enabled     | True                             |
| id          | 6d7e168e87b3462594b7146365bb24e6 |
| name        | neutron                          |
| type        | network                          |
+-------------+----------------------------------+

创建Neutron的API Endpoints

API Endpoints记录了服务自身的URL,是其他服务寻找并访问到自身服务的路径。

[root@controller ~]# openstack endpoint create --region RegionOne network public http://controller.jmilk.com:9696
+--------------+----------------------------------+
| Field        | Value                            |
+--------------+----------------------------------+
| enabled      | True                             |
| id           | 409e4b571aff45a0b12b6ca528a6a9d7 |
| interface    | public                           |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | 6d7e168e87b3462594b7146365bb24e6 |
| service_name | neutron                          |
| service_type | network                          |
| url          | http://controller:9696           |
+--------------+----------------------------------+
[root@controller ~]# openstack endpoint create --region RegionOne network internal http://controller.jmilk.com:9696
+--------------+----------------------------------+
| Field        | Value                            |
+--------------+----------------------------------+
| enabled      | True                             |
| id           | 0be147b09f26404792fffc7683dd98d3 |
| interface    | internal                         |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | 6d7e168e87b3462594b7146365bb24e6 |
| service_name | neutron                          |
| service_type | network                          |
| url          | http://controller:9696           |
+--------------+----------------------------------+
[root@controller ~]# openstack endpoint create --region RegionOne network admin http://controller.jmilk.com:9696
+--------------+----------------------------------+
| Field        | Value                            |
+--------------+----------------------------------+
| enabled      | True                             |
| id           | ebc9e373eba9414bbbfd4fb7d7579b96 |
| interface    | admin                            |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | 6d7e168e87b3462594b7146365bb24e6 |
| service_name | neutron                          |
| service_type | network                          |
| url          | http://controller:9696           |
+--------------+----------------------------------+

配置自服务网络

网络拓扑示例

这里写图片描述
我们可以选择使用上面图中表示的网络拓扑。这跟之前部署中使用的网络拓扑有所出入,为了节省计算机资源(太卡了 :( !!!) ,所以我们可以考虑将Neutron Node集成到Controller Node中。当然如果这样的话,我们需要多Controller Node的网络设备做一些调整,例如:增加一块连接到公网的网卡,和修改hostname <==> IP的解析。

Openstack提供了两种网络服务选项:

  • 网络选项1:提供者网络(Provider networks),是最简单的架构,只支持绑定虚拟机实例到Public公共网络。没有Self-service自服务网络,路由器和浮动IP地址。只有admin用户或者其它特权用户可以管理提供者网络。
  • 网络选项2:自服务网络(Self-service networks),选项2包含了选项1的功能,而且还能够提供3层网络服务,支持绑定虚拟机实例到自服务(Private私有)网络。demo或非特权用也可以管理自服务网络,包括管理路由器。路由器能够实现自服务网络和提供者网络之间的互通。同时,浮动IP地址实现了从Internet外部网络访问虚拟机实例的功能。

安装网络组件

yum install openstack-neutron openstack-neutron-ml2 openstack-neutron-linuxbridge python-neutronclient ebtables ipset  -y

配置服务组件

编辑/etc/neutron/neutron.conf 文件:
vim /etc/neutron/neutron.conf

  • [database] 部分,配置Neutron的数据库访问
[database]
connection = mysql://neutron:fanguiju@controller.jmilk.com/neutron
  • [DEFAULT]部分,启用Layer 2 (ML2)插件模块、路由服务、重叠IP地址功能:
[DEFAULT]
core_plugin = ml2
service_plugins = router
allow_overlapping_ips = True
  • [DEFAULT][oslo_messaging_rabbit]部分,配置RabbitMQ消息队列访问:
[DEFAULT]
rpc_backend = rabbit

[oslo_messaging_rabbit]
rabbit_host = controller.jmilk.com
rabbit_userid = openstack
rabbit_password = fanguiju

注意:配置选项rabbit_host的参数值必须能够解析成Controller Node的IP。

  • [DEFAULT][keystone_authtoken] 部分,配置Keystone认证服务访问:

《UPDATE》2016/08/13

[DEFAULT]
auth_strategy = keystone

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

注意:在[keystone_authtoken]配置节点中注释或者删除其他选项

  • [DEFAULT][nova]部分,配置当网络拓扑结构发生变化时通知Compute Service:
[DEFAULT]
notify_nova_on_port_status_changes = True
notify_nova_on_port_data_changes = True
nova_url = http://controller.jmilk.com:8774/v2

[nova]
auth_url = http://controller.jmilk.com:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
region_name = RegionOne
project_name = service
username = nova
password = fanguiju
  • [oslo_concurrency] 部分,配置并发锁路径:
[oslo_concurrency]
lock_path = /var/lib/neutron/tmp
  • [DEFAULT]部分启用详细日志:
[DEFAULT]
verbose = True

配置 Modular Layer 2 (ML2) 插件

ML2插件使用Linux桥接机制为虚拟机实例创建layer-2(桥接/交换)虚拟网络基础设施。

编辑/etc/neutron/plugins/ml2/ml2_conf.ini 文件
vim /etc/neutron/plugins/ml2/ml2_conf.ini

  • [ml2] 部分,启用Flat,VLAN和VXLAN网络 :
[ml2]
type_drivers = flat,vlan,vxlan
  • [ml2] 部分,启用VXLAN项目(Private私有)网络:
[ml2]
tenant_network_types = vxlan
  • [ml2] 部分,启用Linux bridge(桥接)和layer-2 population mechanisms:
[ml2]
mechanism_drivers = linuxbridge,l2population

注意:Linux bridge代理只支持VXLAN网络。

  • [ml2] 部分,启用端口安全扩展驱动:
[ml2]
extension_drivers = port_security
  • [ml2_type_flat]部分,配置Public Flat提供网络:
[ml2_type_flat]
flat_networks = provider
  • [ml2_type_vxlan] 部分,配置VXLAN网络隧道标识范围:
[ml2_type_vxlan]
vni_ranges = 1:1000
  • [securitygroup]部分,启用ipset增加安全组的方便性:
[securitygroup]
enable_ipset = True

配置Linux 桥接代理

Linux桥接代理为虚拟机实例创建包括Private私有网络的VXLAN隧道和处理安全组的layer-2(桥接/交换)虚拟网络设施。

编辑/etc/neutron/plugins/ml2/linuxbridge_agent.ini文件
vim /etc/neutron/plugins/ml2/linuxbridge_agent.ini

  • [linux_bridge] 部分,映射Public公共虚拟网络到公共物理网络接口:
[linux_bridge]
physical_interface_mappings = provider:PUBLIC_INTERFACE_NAME

Replace PROVIDER_INTERFACE_NAME with the name of the underlying provider physical network interface
PUBLIC_INTERFACE_NAME 替换为物理公共网络接口(连接到外网的物理网卡)。
Example:
执行ifconfig查看连接到外网的物理网卡,如果在VMWare的环境中没有设定这一张网卡,可以直接添加一张桥接的网卡。文中实验使用了eth1作为连接到外网的网卡。

[linux_bridge]
physical_interface_mappings = provider:eth1
  • [vxlan]部分,启用VXLAN覆盖网络功能,配置处理覆盖网络(handles overlay networks)的物理网络接口的IP地址,并启用layer-2。
[vxlan]
enable_vxlan = True
local_ip = OVERLAY_INTERFACE_IP_ADDRESS
l2_population = True

Note:
Replace OVERLAY_INTERFACE_IP_ADDRESS with the IP address of the underlying physical network interface that handles overlay networks. The example architecture uses the management interface to tunnel traffic to the other nodes. Therefore, replace OVERLAY_INTERFACE_IP_ADDRESS with each node’s own management IP address.

Example:

[vxlan]
enable_vxlan = True
local_ip = 172.16.0.10
l2_population = True

192.168.1.107为物理网卡eth1的IP。

  • [agent]部分,启用ARP欺骗防护:
[agent]
prevent_arp_spoofing = True
  • [securitygroup]部分,启用安全组并配置Linux bridge iptables防火墙驱动:
[securitygroup]
enable_security_group = True
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

配置layer-3代理

The Layer-3 (L3) agent provides routing and NAT services for virtual networks.
Layer-3(L3)代理提供了路由功能和虚拟网络的NAT service(网络地址转换)

编辑 /etc/neutron/l3_agent.ini 文件
vim /etc/neutron/l3_agent.ini

  • [DEFAULT]部分,配置Linux桥接网络驱动和外部网络桥接
[DEFAULT]
interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
external_network_bridge =

注意external_network_bridge选项缺少参数值,这样就可以在一个代理上启用多个外部网络。

  • [DEFAULT]部分启用详细日志
[DEFAULT]
verbose = True

配置DHCP代理

The DHCP agent provides DHCP services for virtual networks.
DHCP代理为虚拟网络提供了DHCP service

编辑/etc/neutron/dhcp_agent.ini文件
vim /etc/neutron/dhcp_agent.ini

  • [DEFAULT]部分,配置Linux桥接网卡(interface)驱动,Dnsmasq DHCP驱动并启用隔离元数据功能,这样在公共网络上的虚拟机实例就可以通过网络访问元数据:
[DEFAULT]
interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
enable_isolated_metadata = True
  • [DEFAULT]部分启用详细日志
[DEFAULT]
verbose = True
  • [DEFAULT] 部分,启用 dnsmasq 配置文件:
[DEFAULT]
dnsmasq_config_file = /etc/neutron/dnsmasq-neutron.conf

创建并编辑 /etc/neutron/dnsmasq-neutron.conf 文件启用DHCP MTU选项 (26) 并配置为 1450 bytes:
vim /etc/neutron/dnsmasq-neutron.conf

dhcp-option-force=26,1450

配置元数据代理

The metadata agent provides configuration information such as credentials to instances.
元数据代理提供了例如虚拟机凭证之类的配置信息

编辑/etc/neutron/metadata_agent.ini文件
vim /etc/neutron/metadata_agent.ini

  • [DEFAULT] 部分,配置元数据主机
[DEFAULT]
nova_metadata_ip = controller.jmilk.com
  • [DEFAULT] 部分,配置元数据代理共享密码:
[DEFAULT]
metadata_proxy_shared_secret = fanguiju
  • [DEFAULT]部分启用详细日志
[DEFAULT]
verbose = True

配置计算使用网络

编辑/etc/nova/nova.conf文件
vim /etc/nova/nova.conf
- [neutron]部分,配置访问参数,启用元数据代理和配置密码:

[neutron]
url = http://controller.jmilk.com:9696
auth_url = http://controller.jmilk.com:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
region_name = RegionOne
project_name = service
username = neutron
password = fanguiju

service_metadata_proxy = True
metadata_proxy_shared_secret = fanguiju

注意[neutron]:metadata_proxy_shared_secret == [DEFAULT]:metadata_proxy_shared_secret

完成安装

Step1. 网络服务初始化脚本需要一个超链接/etc/neutron/plugin.ini指向ML2插件配置文件/etc/neutron/plugins/ml2/ml2_conf.ini。如果超链接不存在,使用下面的命令创建它:

ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini

Step2. 同步数据库

[root@controller ~]# su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf \
>   --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron

No handlers could be found for logger "oslo_config.cfg"
INFO  [alembic.runtime.migration] Context impl MySQLImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
  Running upgrade for neutron ...
INFO  [alembic.runtime.migration] Context impl MySQLImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
INFO  [alembic.runtime.migration] Running upgrade  -> kilo, kilo_initial
INFO  [alembic.runtime.migration] Running upgrade kilo -> 354db87e3225, nsxv_vdr_metadata.py
INFO  [alembic.runtime.migration] Running upgrade 354db87e3225 -> 599c6a226151, neutrodb_ipam
INFO  [alembic.runtime.migration] Running upgrade 599c6a226151 -> 52c5312f6baf, Initial operations in support of address scopes
INFO  [alembic.runtime.migration] Running upgrade 52c5312f6baf -> 313373c0ffee, Flavor framework
INFO  [alembic.runtime.migration] Running upgrade 313373c0ffee -> 8675309a5c4f, network_rbac
INFO  [alembic.runtime.migration] Running upgrade 8675309a5c4f -> 45f955889773, quota_usage
INFO  [alembic.runtime.migration] Running upgrade 45f955889773 -> 26c371498592, subnetpool hash
INFO  [alembic.runtime.migration] Running upgrade 26c371498592 -> 1c844d1677f7, add order to dnsnameservers
INFO  [alembic.runtime.migration] Running upgrade 1c844d1677f7 -> 1b4c6e320f79, address scope support in subnetpool
INFO  [alembic.runtime.migration] Running upgrade 1b4c6e320f79 -> 48153cb5f051, qos db changes
INFO  [alembic.runtime.migration] Running upgrade 48153cb5f051 -> 9859ac9c136, quota_reservations
INFO  [alembic.runtime.migration] Running upgrade 9859ac9c136 -> 34af2b5c5a59, Add dns_name to Port
INFO  [alembic.runtime.migration] Running upgrade 34af2b5c5a59 -> 59cb5b6cf4d, Add availability zone
INFO  [alembic.runtime.migration] Running upgrade 59cb5b6cf4d -> 13cfb89f881a, add is_default to subnetpool
INFO  [alembic.runtime.migration] Running upgrade 13cfb89f881a -> 32e5974ada25, Add standard attribute table
INFO  [alembic.runtime.migration] Running upgrade 32e5974ada25 -> ec7fcfbf72ee, Add network availability zone
INFO  [alembic.runtime.migration] Running upgrade ec7fcfbf72ee -> dce3ec7a25c9, Add router availability zone
INFO  [alembic.runtime.migration] Running upgrade dce3ec7a25c9 -> c3a73f615e4, Add ip_version to AddressScope
INFO  [alembic.runtime.migration] Running upgrade c3a73f615e4 -> 659bf3d90664, Add tables and attributes to support external DNS integration
INFO  [alembic.runtime.migration] Running upgrade 659bf3d90664 -> 1df244e556f5, add_unique_ha_router_agent_port_bindings
INFO  [alembic.runtime.migration] Running upgrade 1df244e556f5 -> 19f26505c74f, Auto Allocated Topology - aka Get-Me-A-Network
INFO  [alembic.runtime.migration] Running upgrade 19f26505c74f -> 15be73214821, add dynamic routing model data
INFO  [alembic.runtime.migration] Running upgrade 15be73214821 -> b4caf27aae4, add_bgp_dragent_model_data
INFO  [alembic.runtime.migration] Running upgrade b4caf27aae4 -> 15e43b934f81, rbac_qos_policy
INFO  [alembic.runtime.migration] Running upgrade 15e43b934f81 -> 31ed664953e6, Add resource_versions row to agent table
INFO  [alembic.runtime.migration] Running upgrade 31ed664953e6 -> 2f9e956e7532, tag support
INFO  [alembic.runtime.migration] Running upgrade 2f9e956e7532 -> 3894bccad37f, add_timestamp_to_base_resources
INFO  [alembic.runtime.migration] Running upgrade 3894bccad37f -> 0e66c5227a8a, Add desc to standard attr table
INFO  [alembic.runtime.migration] Running upgrade kilo -> 30018084ec99, Initial no-op Liberty contract rule.
INFO  [alembic.runtime.migration] Running upgrade 30018084ec99, 8675309a5c4f -> 4ffceebfada, network_rbac
INFO  [alembic.runtime.migration] Running upgrade 4ffceebfada -> 5498d17be016, Drop legacy OVS and LB plugin tables
INFO  [alembic.runtime.migration] Running upgrade 5498d17be016 -> 2a16083502f3, Metaplugin removal
INFO  [alembic.runtime.migration] Running upgrade 2a16083502f3 -> 2e5352a0ad4d, Add missing foreign keys
INFO  [alembic.runtime.migration] Running upgrade 2e5352a0ad4d -> 11926bcfe72d, add geneve ml2 type driver
INFO  [alembic.runtime.migration] Running upgrade 11926bcfe72d -> 4af11ca47297, Drop cisco monolithic tables
INFO  [alembic.runtime.migration] Running upgrade 4af11ca47297 -> 1b294093239c, Drop embrane plugin table
INFO  [alembic.runtime.migration] Running upgrade 1b294093239c, 32e5974ada25 -> 8a6d8bdae39, standardattributes migration
INFO  [alembic.runtime.migration] Running upgrade 8a6d8bdae39 -> 2b4c2465d44b, DVR sheduling refactoring
INFO  [alembic.runtime.migration] Running upgrade 2b4c2465d44b -> e3278ee65050, Drop NEC plugin tables
INFO  [alembic.runtime.migration] Running upgrade e3278ee65050, 15e43b934f81 -> c6c112992c9, rbac_qos_policy
INFO  [alembic.runtime.migration] Running upgrade c6c112992c9 -> 5ffceebfada, network_rbac_external
INFO  [alembic.runtime.migration] Running upgrade 5ffceebfada, 0e66c5227a8a -> 4ffceebfcdc, standard_desc
  OK

再一次确定neutron数据库创建成功

[root@controller ~]# mysql -u neutron -pfanguiju
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 50
Server version: 10.1.12-MariaDB MariaDB Server

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| neutron            |
+--------------------+
2 rows in set (0.00 sec)

MariaDB [(none)]> use neutron;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [neutron]> show tables;
+-----------------------------------------+
| Tables_in_neutron                       |
+-----------------------------------------+
| address_scopes                          |
| agents                                  |
| alembic_version                         |
| allowedaddresspairs                     |
| arista_provisioned_nets                 |
| arista_provisioned_tenants              |
| arista_provisioned_vms                  |
| auto_allocated_topologies               |
| bgp_peers                               |
| bgp_speaker_dragent_bindings            |
| bgp_speaker_network_bindings            |
| bgp_speaker_peer_bindings               |
| bgp_speakers                            |
| brocadenetworks                         |
| brocadeports                            |
| cisco_csr_identifier_map                |
| cisco_hosting_devices                   |
| cisco_ml2_apic_contracts                |
| cisco_ml2_apic_host_links               |
| cisco_ml2_apic_names                    |
| cisco_ml2_n1kv_network_bindings         |
| cisco_ml2_n1kv_network_profiles         |
| cisco_ml2_n1kv_policy_profiles          |
| cisco_ml2_n1kv_port_bindings            |
| cisco_ml2_n1kv_profile_bindings         |
| cisco_ml2_n1kv_vlan_allocations         |
| cisco_ml2_n1kv_vxlan_allocations        |
| cisco_ml2_nexus_nve                     |
| cisco_ml2_nexusport_bindings            |
| cisco_port_mappings                     |
| cisco_router_mappings                   |
| consistencyhashes                       |
| default_security_group                  |
| dnsnameservers                          |
| dvr_host_macs                           |
| externalnetworks                        |
| extradhcpopts                           |
| firewall_policies                       |
| firewall_rules                          |
| firewalls                               |
| flavors                                 |
| flavorserviceprofilebindings            |
| floatingipdnses                         |
| floatingips                             |
| ha_router_agent_port_bindings           |
| ha_router_networks                      |
| ha_router_vrid_allocations              |
| healthmonitors                          |
| ikepolicies                             |
| ipallocationpools                       |
| ipallocations                           |
| ipamallocationpools                     |
| ipamallocations                         |
| ipamavailabilityranges                  |
| ipamsubnets                             |
| ipavailabilityranges                    |
| ipsec_site_connections                  |
| ipsecpeercidrs                          |
| ipsecpolicies                           |
| lsn                                     |
| lsn_port                                |
| maclearningstates                       |
| members                                 |
| meteringlabelrules                      |
| meteringlabels                          |
| ml2_brocadenetworks                     |
| ml2_brocadeports                        |
| ml2_dvr_port_bindings                   |
| ml2_flat_allocations                    |
| ml2_geneve_allocations                  |
| ml2_geneve_endpoints                    |
| ml2_gre_allocations                     |
| ml2_gre_endpoints                       |
| ml2_network_segments                    |
| ml2_nexus_vxlan_allocations             |
| ml2_nexus_vxlan_mcast_groups            |
| ml2_port_binding_levels                 |
| ml2_port_bindings                       |
| ml2_ucsm_port_profiles                  |
| ml2_vlan_allocations                    |
| ml2_vxlan_allocations                   |
| ml2_vxlan_endpoints                     |
| multi_provider_networks                 |
| networkconnections                      |
| networkdhcpagentbindings                |
| networkdnsdomains                       |
| networkgatewaydevicereferences          |
| networkgatewaydevices                   |
| networkgateways                         |
| networkqueuemappings                    |
| networkrbacs                            |
| networks                                |
| networksecuritybindings                 |
| neutron_nsx_network_mappings            |
| neutron_nsx_port_mappings               |
| neutron_nsx_router_mappings             |
| neutron_nsx_security_group_mappings     |
| nexthops                                |
| nsxv_edge_dhcp_static_bindings          |
| nsxv_edge_vnic_bindings                 |
| nsxv_firewall_rule_bindings             |
| nsxv_internal_edges                     |
| nsxv_internal_networks                  |
| nsxv_port_index_mappings                |
| nsxv_port_vnic_mappings                 |
| nsxv_router_bindings                    |
| nsxv_router_ext_attributes              |
| nsxv_rule_mappings                      |
| nsxv_security_group_section_mappings    |
| nsxv_spoofguard_policy_network_mappings |
| nsxv_tz_network_bindings                |
| nsxv_vdr_dhcp_bindings                  |
| nuage_net_partition_router_mapping      |
| nuage_net_partitions                    |
| nuage_provider_net_bindings             |
| nuage_subnet_l2dom_mapping              |
| poolloadbalanceragentbindings           |
| poolmonitorassociations                 |
| pools                                   |
| poolstatisticss                         |
| portbindingports                        |
| portdnses                               |
| portqueuemappings                       |
| ports                                   |
| portsecuritybindings                    |
| providerresourceassociations            |
| qos_bandwidth_limit_rules               |
| qos_network_policy_bindings             |
| qos_policies                            |
| qos_port_policy_bindings                |
| qospolicyrbacs                          |
| qosqueues                               |
| quotas                                  |
| quotausages                             |
| reservations                            |
| resourcedeltas                          |
| router_extra_attributes                 |
| routerl3agentbindings                   |
| routerports                             |
| routerroutes                            |
| routerrules                             |
| routers                                 |
| securitygroupportbindings               |
| securitygrouprules                      |
| securitygroups                          |
| serviceprofiles                         |
| sessionpersistences                     |
| standardattributes                      |
| subnetpoolprefixes                      |
| subnetpools                             |
| subnetroutes                            |
| subnets                                 |
| tags                                    |
| tz_network_bindings                     |
| vcns_router_bindings                    |
| vips                                    |
| vpnservices                             |
+-----------------------------------------+
157 rows in set (0.00 sec)

Step3. 重启nova-api service:

systemctl restart openstack-nova-api.service

Step4. 启动Networking service并配置开机自启动

systemctl enable neutron-server.service \
neutron-linuxbridge-agent.service neutron-dhcp-agent.service \
neutron-metadata-agent.service

systemctl start neutron-server.service \
neutron-linuxbridge-agent.service neutron-dhcp-agent.service \
neutron-metadata-agent.service

systemctl enable neutron-l3-agent.service
systemctl start neutron-l3-agent.service