问题标签 [openstack-neutron]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1180 浏览

openstack - 用于平面网络的 Openstack Heat 模板

我已经配置了 2 节点 Openstack(Icehouse) 设置,并且还配置了热量。使用 HOT 模板创建实例时,它已成功启动。但是当我尝试使用我的 yml 文件创建平面网络时,它会显示如下错误-

“无法创建网络。没有可分配的租户网络”

0 投票
1 回答
338 浏览

python - 使用 Neutron Python API 过滤浮动 IP

我正在利用用于 OpenStack 的 Neutron Python API 尝试使用neutron.list_floatingips()方法过滤特定的浮动 IP。本质上,我试图模仿这种行为:

问题是在执行对 API 的调用时:

当只需要返回一个特定的 IP 时,它将返回一个包含租户下所有浮动 IP 的字典对象。我尝试(以几种不同的方式)过滤结果,如下所示:

它仍然返回与不包含参数时相同的结果。所以我的问题是,为了过滤这个特定值,预期的论点是什么?

我知道我可能会过滤结果字典值;但是,我试图避免让 API 返回不必要的结果。

0 投票
3 回答
558 浏览

openstack - jClouds + OpenStack:(NoSuchElementException)键[openstack-neutron]不在提供者或api列表中

我正在尝试将 Apache jClouds 集成到 Java 项目中,以便可以访问 OpenStack API。以下代码失败:

带有以下错误消息:

Java.util.NoSuchElementException:键 [openstack-neutron] 不在提供程序或 api 列表中:{providers=[ultradns-ws], apis=[swift, swift-keystone]}

这显然是一个常见问题,但是jClouds 故障排除中提供的建议并不能解决它。还有另一个关于这个问题的 StackOverflow 讨论,但没有一个公认的答案。

几个有用的点:

  • 我们的 Java 项目使用 Ant,而 jClouds 是基于 Maven。jClouds 安装指南提供了使用 Ant 安装的说明,但它们都不能正常工作。相反,我从源代码 ( https://github.com/jclouds/jclouds )编译 jClouds并将 .jar 文件复制到我的类路径上的文件夹中。现在我可以在我的代码中访问 jClouds 对象了。
  • 默认的 jclouds 源不包括 OpenStack Neutron 对象。我最终在 OpenStack Labs 源代码 ( https://github.com/jclouds/jclouds-labs-openstack ) 中找到了这些。从源代码编译,将 openstack-neutron-1.9.1.jar 文件复制到类路径文件夹中,现在我可以访问 Neutron 对象了。
  • 所有在线资源都表明这是一个类路径/依赖问题。我已经验证 openstack-neutron-1.9.1.jar 库在我的 .classpath 和 build.xml 文件中都可用。没有分辨率。

我会很感激任何想法或建议!

0 投票
0 回答
1621 浏览

networking - neutron openvswitch br-int通过补丁无法访问外网br-ex

我安装了具有 2 个节点配置(1 个控制器,1 个计算)的 openstack liberty,每个节点都有 1 个公共 nic 和 1 个私有 nic,并使用 dvr 遵循此场景:http: //docs.openstack.org/networking-guide/scenario_dvr_ovs。 html

在控制器节点中,我创建了具有 eth0 的 IP(这是公共网卡)的 br-ex,并安装了 l3-agent(dvr_snat 模式)ovs-agent dhcp-agent 和服务。

使用管理员帐户,我创建了 ext-net 并将我的子网附加到它。使用演示租户,我创建了一个演示网、一个演示子网和一个演示路由器,然后我设置了网关neutron router-gateway-set demo-net ext-net

所以我ovs-vsctl show看起来如下

和网络命名空间

我的问题是 l3-agent 无法设置 snat 网络,因为似乎网络无法访问。

ping -I br-ex 8.8.8.8作品。

ping -I br-int 8.8.8.8说网络不可达。

正如你所看到的,在 br-int 和 br-ex 之间有一个补丁,所以它应该可以工作,但它没有。

0 投票
2 回答
3292 浏览

networking - OpenStack如何路由同一网络的2个子网

我对 Openstack 比较陌生,我找不到如何路由同一网络的 2 个子网。

我的拓扑如下:1. 1 网络,2. 网络中的 2 个子网。sub1 (192.168.10.0/24) 和 sub2 (192.168.20.0/24)

第一个 sub1 中的实例无法看到 sub2 中的另一个实例。

Q1:这正常吗?为什么子网默认不路由?

我尝试添加路由器,但路由器只能在内部网络和公共网络之间使用,而不是在子网之间。

Q2:那么在同一网络的 2 个子网中的 2 个实例之间进行通信的最佳解决方案是什么?

提前谢谢了。

0 投票
1 回答
290 浏览

networking - 仅 C 级外部 IP 没有到主机的路由

计算节点上启动的 VM 实例可以访问除 C 类 IP 之外的所有外部 Internet 网站。根据 ubuntu 上的 openstack 自由指南,控制器和计算节点已成功安装。

[root@vm3 ~]# wget http://www.sina.com.cn正在解析www.sina.com.cn... 202.108.33.60 正在连接www.sina.com.cn|202.108.33.60|:80。 ..失败:没有到主机的路由。

但是,A-CLass 和 B-Class 外部 IP 都可以成功访问:

虚拟机的接口是:

[root@vm3 ~]# ifconfig eth1 Link encap:Ethernet HWaddr FA:16:3E:57:1B:57
inet addr:192.168.0.215 Bcast:255.255.255.255 Mask:192.0.0.0 inet6 addr: fe80::f816:3eff :fe57:1b57/64 范围:连接广播运行组播 MTU:1450 指标:1 RX 数据包:46213 错误:0 丢弃:0 超限:0 帧:0 TX 数据包:42118 错误:0 丢弃:0 超限:0 运营商: 0 次冲突:0 txqueuelen:1000 RX 字节:13492902 (12.8 MiB) TX 字节:39875879 (38.0 MiB)

VM上的路由是:

我创建了启动 VM 的公共网络。公网是 192.168.0.0/24,私网是 10.0.0.0/24。控制器:192.168.0.12/10.0.0.11 计算:192.168.0.10/10.0.0.31

如果我明确添加 202.108.33.60 的路由, wget 可以工作:

路由添加 202.108.33.60 gw 1​​92.168.0.1

有人知道原因或就如何调试此问题提供一些帮助吗?非常感谢!

0 投票
0 回答
1167 浏览

openstack - DevStack:无法创建 Neutron 网络

我正在按照这个文档在 Ubuntu 中安装 openstack:

https://wiki.opendaylight.org/view/OVSDB:OVSDB_OpenStack_Guide

但是,我无法创建中子网络。我收到以下错误:

我的 local.conf

有没有其他人遇到过这个问题?我该如何解决这个问题?

0 投票
0 回答
900 浏览

openstack - 具有 nova 和浮动 ips 的最小 devstack

我正在尝试设置一个可以启动 nova 实例的最小 devstack,其中一些将具有公共地址,而另一些则需要打开与公共网络的连接。我希望能够为实例分配浮动 ip,并使来自具有公共地址的实例的流量到达公共网络。

寻址

Devstack 将在具有两个物理接口的单个​​ Ubuntu 14.04 机器上运行。第一个接口eth0在 10.48.4.0/22,我拥有地址 10.48.6.232;这是盒子的管理连接。第二个接口eth1位于 10.48.8.0/22 上,拥有地址 10.48.11.6 和 10.48.11.57-10.48.11.59。eth1配置为使用 10.48.11.6 地址,为浮动范围留下一小部分地址。

我想使用范围 10.48.11.57-10.48.11.59 作为浮动 IP 池。这构成了我的开始local.conf

ML2

我的相关部分的其余部分local.conf是配置 neutron 和 ovs 以使用公共网络。我已按照评论中的说明进行操作neutron-legacy

产生的网络

我将演示项目的默认安全策略更改为许可。

生成的网络会在 devstack 主机和私有子网之间路由流量,但不会在 devstack 主机和10.48.8.0/22实例之间、实例和物理网络10.48.8.0/22之间或物理10.48.8.0/22网络和公共10.48.8.0/22子网之间路由流量。

离开public网络的流量应该到达物理网络。离开private网络的流量应该被 NAT 到public网络上。从物理网络进入的流量应该到达public网络。

得到的 ovs 网桥是

devstack 盒子上的路由表是

的路由表router1

怎么了?如何设置一个简单的 devstack 来托管 nova 实例的公共和私有接口?

0 投票
1 回答
1464 浏览

python - 如何将 user_data 脚本传递给 Python Openstack Heat-API 客户端

如何将user_data脚本传递给 Python Heat-API 客户端。

我在创建过程中想要传递给实例的文件中有以下脚本user_data,但我不确定如何去做。我正在使用 Heat API 创建实例。下面的代码使用 heat 模板文件创建堆栈,没有user_data. 任何指针将不胜感激。

环境.yml

0 投票
1 回答
167 浏览

openstack - liberty openstack ubuntu 安装指南无法 ping 路由器

我遵循了在专用网络上自由启动实例的安装指南(选项 2),但我无法 ping 虚拟路由器

我的公共网络是 192.107.88.0/25,私有网络是 192.168.10.0/24

而 ping 与公共网络中的其他主机运行良好。请让我知道。安吉Linux