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