跳转到: 导航, 搜索

PLUMgrid-Neutron


PLUMgrid OpenStack 网络套件 Neutron 插件


概述

PLUMgrid OpenStack 网络套件 Neutron 插件 v2 实现了 Neutron v2.0 API。

需求

  • PLUMgrid IO Visor 2.1.12(或更高版本)
  • PLUMgridLibrary

支持的 API 和 API 扩展

  • 网络
  • 子网
  • 端口
  • 外部网络
  • 路由器
  • 安全组
  • 配额
  • 端口绑定
  • 提供商网络

配置

插件配置(Neutron 服务器节点)

  • 应在主机上安装 MySQL。按照以下方式初始化 MySQL(其中 $PASS = mysql 密码)
$ mysql -u root -p$PASS -e 'DROP DATABASE IF EXISTS plumgrid_neutron;'
$ mysql -u root -p$PASS -e 'CREATE DATABASE IF NOT EXISTS plumgrid_neutron;'
$ mysql -u root -p$PASS -e 'GRANT ALL ON plumgrid_neutron.* TO '$Neutron_User'@'%' IDENTIFIED BY '$Neutron_Pass';
  • 编辑 /etc/neutron/neutron.conf 并将 provider 设置为
[DEFAULT]
core_plugin = neutron.plugins.plumgrid.plumgrid_plugin.plumgrid_plugin.NeutronPluginPLUMgridV2

[DATABASE]
sql_connection = mysql://<username>:<password>@<database_ip>:3306/plumgrid_neutron
  • 编辑 /etc/nova/nova.conf 并将 provider 设置为
libvirt_vif_driver = nova.virt.libvirt.vif.LibvirtGenericVIFDriver
libvirt_vif_type=ethernet
  • 编辑 /etc/neutron/plugins/plumgrid/plumgrid.ini(根据需要替换 <placeholder>)
[PLUMgridDirector]
director_server=<PLUMgrid_Director_IP>
director_server_port=<PLUMgrid_Director_Port>
username=<PLUMgrid_Director_Admin>
password=<PLUMgrid_Director_Admin_Password>

[l2gateway]
vendor = <L2 Gateway Vendor>
sw_username = <L2_Gateway_Username>
sw_password = <L2_Gateway_Password>
  • 编辑 /etc/neutron/plugins/plumgrid/plumlib.ini(根据需要替换 <placeholder>)
[PLUMgridMetadata]
enable_pg_metadata = True
metadata_mode = local
nova_metadata_subnet = <Nova_Metadata_Subnet>
nova_metadata_ip = <Nova_Metadata_IP>
nova_metadata_port = 8775
metadata_proxy_shared_secret = <Neutron_Secret_Key>

[keystone_authtoken]
admin_user = <Keystone_Admin_User>
admin_password = <Keystone_Admin_Password>
auth_uri = <Auth_Protocol>://<Keyston_Auth_URI>:35357/v2.0/
admin_tenant_name = <Keystone_Admin_Tenant>
identity_version = <Keystone_Identity_Version>
user_domain_name = <Keystone_User_Domain_Name>

[ConnectorType]
connector_type = distributed

配置示例

  • /etc/neutron/plugins/plumgrid/plumgrid.ini
[DATABASE]
sql_connection = mysql://root:nova@127.0.0.1:3306/plumgrid_neutron

[PLUMgridDirector]
director_server=10.1.1.100
director_server_port=8080
username=plumgrid
password=password
  • /etc/neutron/plugins/plumgrid/plumlib.ini
[PLUMgridMetadata]
enable_pg_metadata = True
metadata_mode = local
nova_metadata_subnet = 169.254.169.254/30
nova_metadata_ip = 127.0.0.1
nova_metadata_port = 8775
metadata_proxy_shared_secret = changeme

[keystone_authtoken]
admin_user = plumgrid
admin_password = password
auth_uri = http://127.0.0.1:35357/v2.0/
admin_tenant_name = admin_tenant
identity_version = v3.0
user_domain_name = Default
  • 通过提供相关的配置文件启动 neutron 服务
cd <neutron_path> && python <neutron_path>/bin/neutron-server --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/plumgrid/plumgrid.ini

插件配置(计算节点)

  • Sudoedit /etc/sudoers.d/ifc_ctl_sudoers 并添加以下行
nova ALL=(root) NOPASSWD: /opt/pg/bin/ifc_ctl_pp *
  • 更改 /etc/sudoers.d/ifc_ctl_sudoers 的模式
$ chmod 0440 /etc/sudoers.d/ifc_ctl_sudoers
  • 启用 IP 转发。编辑 /etc/sysctl.conf 并添加以下行
net.ipv4.ip_forward = 1
  • 运行以下命令以启用 /etc/sysctl.conf 中所做的更改
$ sysctl -p /etc/sysctl.conf

PLUMgrid OpenStack 网络套件 Neutron 插件单元测试

cd <neutron_path> 
./run_tests.sh neutron.tests.unit.plumgrid.test_plumgrid_plugin

Devstack

在 "localrc" 文件中包含以下变量

PLUMGRID_DIRECTOR_IP = 10.1.1.100
PLUMGRID_DIRECTOR_PORT = 8080