中子ml2插件的hpe oneview机制驱动程序

networking-oneview的Python项目详细描述


[![PYPI版本](https://badge.fury.io/py/networking oneview.svg)(https://badge.fury.io/py/networking oneview)
[![构建状态](https://travis-ci.org/hewlettpackard/networking-oneview.svg?branch=master)(https://travis ci.org/hewlettpackard/networking oneview)
[![覆盖状态](https://codecov.io/gh/hewlettpackard/networking oneview/branch/master/graphs/badge.svg)](https://codecov.io/gh/hewlettpackard/networking oneview)


hpe oneview机制驱动程序
===

overview
--


ade by[openstack neutron](https://wiki.openstack.org/wiki/neutron)to
[hpe
oneview](https://www.hpe.com/us/en/integrated systems/software.html)。
这些操作允许oneview管理员了解openstack系统中发生的
,并自动执行一些操作。

中子和oneview如何使用机械驱动程序相互作用。此驱动程序使用
python hponeview通过rest api提供neutron和oneview之间的通信


+---------------------------+

neutron server
(带ml2插件)

|+———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————rest api
.

驱动程序的工作方式
----


oneview机制驱动程序没有反映neutron to oneview中的所有网络操作。为了确定是否应满足某个中子请求,机制驱动程序将检查网络和端口是否与在oneview上创建的网络/连接相关。


有两种情况与网络的使用有关(这两种属性在下面详细介绍的配置文件中都是

1)。当用户希望将中子供应器网络映射到
oneviewuplinkset时,以便此供应器上的每个网络/端口操作
都将在oneview上反映(创建)网络。此映射是使用uplinkset\u mappings属性进行的。在这种情况下,
管理员定义逗号分隔的三元组:

上行链路集映射=<;提供商网络>;:<;逻辑互连组&uuid>;:<;上行链路集名称>;


这些可以与两种类型的上行链路集相关:

-以太网上行链路集-支持VLAN网络。
-未标记的上行链路集-支持扁平网络。当用户希望Neutron知道先前在OneView上创建的
网络,以便将此网络映射到提供程序
网络,并且使用该提供程序网络的每个端口/连接操作
都将使用映射的网络连接到OneView上的连接。在
这种情况下,管理员定义逗号分隔的对:

flat_net_mappings=<;neutron_provider_network>;:<;oneview_network_uid>;

在端口操作的情况下,只考虑与已填充"本地链接"信息*字段的托管
网络相关的中子端口。机制驱动程序还使用来自请求端口的mac
地址的信息来标识
s的特定nic应在其中执行操作的服务器配置文件。此信息
可直接在中子端口中配置,或通过具有讽刺意味的
端口字段*本地链路连接*


驱动程序还执行容错过程,以确保
中子中存在的所有网络和端口都正确地
OnVew。为了确保这一点,在
机制驱动程序启动时执行验证,并在
初始化后定期执行验证。此同步过程考虑配置文件中的信息
,以及存储在中子数据库中的oneview
机制驱动程序表中的信息。

考虑到这些假设,oneview机制驱动程序能够
以下各项:

-**在oneview中为
neutron中的每个网络创建请求创建一个网络**到在驱动程序
配置文件中配置的物理提供程序网络。
-**在oneview中将网络添加到上行链路集**中为映射的上行链路集
到驱动程序中的物理提供程序网络配置文件。

>;-以太网上行链路集与VLAN类型的提供程序一起使用
>;网络
>;-未标记的上行链路集与平面类型的提供程序一起使用
>;网络

-**将中子平面网络的**手动映射到指定的
pre-OneView的现有网络。
-**在服务器配置文件中创建、删除和更新连接**,
实现中子端口绑定。

>;-仅当具有绑定类型的中子端口=
>;baremetal
>;-需要服务器硬件ID和BO在所有网络和端口/连接的


-**同步**的Ironic端口的

部署过程中执行twork。为了在部署期间使用铁中子积分来提供网络隔离,需要进行一些配置。在ironic.conf文件中,应完成以下配置:


[默认值]
启用的网络接口=平面、noop、中子
默认的网络接口=中子

[中子]
清理网络=<;中子清理网络>;
etwork=<;neutron_provisioning_network>;

如前一节所述,oneview机制驱动程序需要
从讽刺端口接收"本地链接"连接才能执行网络端口操作。一旦讽刺端口在默认情况下没有存储任何
信息,就必须使用
本地链路连接更新端口:


openstack baremetal port set<;port_uid>;--node<;node>;--本地链路连接开关&u id=<;switch_uid>;--本地链路连接开关_ INFO='"{""服务器硬件ID\":\"<;sh\u id>;\",\"可启动的\":\"真\"}"--本地链接连接端口ID='--pxe enabled true

>;**注意**
>;
>;
>;具有讽刺意味的oneview cli创建具有讽刺意味的端口并设置
>;"本地链接"。

**本地链接连接属性**

-开关ID:必需,但OneView机制驱动程序不直接处理开关。交换机id接收mac格式的任何值。
示例:01:23:45:67:89:ab
-端口id:必需,但oneview机制驱动程序不直接处理
。端口ID接收任何值。
-交换机信息:将配置
oneview机制驱动程序所需的信息。

>;-服务器硬件ID:标识将在哪个服务器硬件中创建表示新端口的连接
>;-可引导:指示此连接是可引导还是不可引导。它是必需的性能部署。

若要确定需要创建连接的端口,将使用已在讽刺端口中配置的mac
地址。

onment
在neutron服务器容器上:

$source/openstack/venvs/<;neutron-venv>;/bin/activate


>要安装oneview机制驱动程序,请运行:

$pip install networking oneview

configuration
----

1。要配置Neutron ML2插件,请访问文件:

/etc/neutron/plugins/ml2/ml2\u conf.ini

-在两个容器(Neutron服务器和Neutron代理)上添加OneView驱动程序:



<1.1:


-插入n网络平面,VLAN:

tenant_network廑types=vxlan,平面,VLAN

-插入平面物理网络:

[ml2廑type廑平面]

flat廑networks=public,<;flat-physical-network1>;<;flat-physical-network2>;

-插入VLAN物理网络工作:

[ml2_-type_-vlan]


network_-vlan_ranges=public,<;vlan-physical-network1>;<;vlan-physical-network2>;

2。要配置OneView配置,请访问文件:

/etc/neutron/plugins/ml2/ml2\u conf\u oneview.ini

>;**注意**
>;
>;如果使用TLS选项与OneView通信,则需要从o下载凭据(appliance.com.crt)neview

oneview_host=<;host name>;
username=<;username>;
password=<;password>;
uplinkset_mappings=<;provider:logical_interconnect_group_id:uplink_name>;,<;provider2:logical_interconnect_group_id2:uplink_name2>;
flat_net_mappings=<;pro视频3:oneview_network_id>;,<;提供程序4:oneview_network_id2>;
ov_refresh_interval=<;oneview_refresh_internal>;
tls_cacert_file=<;cacert_file_path>;

3。在"中子代理"中,编辑:

/etc/neutron/plugins/ml2/linux bridge\u agent.ini

映射容器使用的中子端口如下:

[linux\u bridge]
physical\u mappings=<;flat-physical-network1-name:network interface>;,<;vlan-physical-network1-name:ne网络接口。升级neutron数据库:

-升级数据库:

$neutron db manage upgrade heads

-编辑/etc/systemd/system/\<;neutron\&u目录\>;。服务文件。
:在属性execstart add中添加:

--配置文件
/etc/neutron/plugins/ml2/ml2\u conf\u oneview.ini


-重启中子服务:

$systemctl daemon reload&;service neutron server restart

-重启中子代理容器:

$service neutron linuxbridge agent restart

5。在外部容器(主机)中配置haproxy超时:

-要设置haproxy上的时间,请编辑两个文件:

/etc/haproxy/conf.d/00 haproxy
/etc/haproxy/haproxy.cfg

-在文件的默认部分,将以下行更改为:

超时客户端300s
超时连接10s
超时服务器300s

-重新启动haproxy服务:

$service haproxy restart

2。此
许可证的完整条款和条件在许可证文件中有详细说明。

我们对改进这个项目充满热情,并乐于接受帮助,使它变得更好。但是,请记住以下几点:我们保留
有权拒绝我们认为不适合此
项目范围的更改。对于功能添加,请在开始工作前打开一个问题讨论您的想法。


功能请求
---------


如果您有当前实现无法满足的需要,请
通知我们(通过新问题)。这种反馈对于我们提供有用的产品至关重要。不要以为我们已经想到了一切,因为我们向您保证,事实并非如此。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java有没有任何安卓开发方法可以在屏幕上找到最大单位?   java中的客户机/服务器:程序在输入第二个文件名时卡住   基于java XML上下文的bean无法执行构造函数注入:未找到默认构造函数   java在应用程序中显示通知或作出反应   java如何使spring boot在多对多关系中创建的id成为主键   java有没有办法用JNI设置DirectByteBuffer内存?   java如何为连接池配置Hibernate、Spring和ApacheDBCP?   使用double而不是int的java循环   java我希望输入不区分大小写   java如何在JEditorPane中显示charset=windows1252的html   在Java中,什么会导致抛出异常FileNotFoundException?   面向对象Java哈希集实现设计   用于打印字母的java For循环   java在测试期间向类构造函数插入特定值   SpringJavaMongoDB类NotFoundException:org。springframework。数据转换收集工厂   java将SOAP XML字符串转换为对象或仅读取其内容   java如何将单个POJO类映射到多个表   java中的数组ArrayIndex越界异常