标签: pyrax

如何获得具有特定标签的RackSpace服务器?

尝试在特定标记下获取注册到我们的RackSpace帐户的所有服务器.

使用RackSpace的OpenStack Python绑定pyrax,我们还没有找到办法.有没有办法用这个库实现它,还是有另一个Python库可以做到这一点?

非常感谢!

python rackspace rackspace-cloud openstack pyrax

5
推荐指数
1
解决办法
532
查看次数

在机架空间上设置SSH主机IP地址

问题

使用该rax模块启动服务器并获取清单时,如何告诉Ansible连接到隔离网络上的IP地址,而不是服务器的公共IP?

注意:正在从同一隔离网络中的服务器运行Ansible。

问题

我在rax模块上使用Ansible在Rackspace Cloud中启动服务器,然后将其添加到隔离/专用网络中。然后,将其添加到清单并开始配置。我要做的第一件事是锁定SSH,部分是通过告诉SSH仅绑定到隔离网络上提供给主机的IP地址。问题是,这意味着ansible无法通过公共IP地址进行连接,因此我也将其设置ansible_ssh_host为私有IP。(将主机添加到清单时会发生这种情况。)

- name: Add servers to group
  local_action:
    module: add_host
    hostname: "{{ item.name }}"
    ansible_ssh_host: "{{ item.rax.addresses.my_network_name[0].addr }}"
    groups: launched
  with_items: rax_response.success
  when: rax_response.action = 'create'
Run Code Online (Sandbox Code Playgroud)

在第一次创建和配置新实例时,此方法就很好。不幸的是,下次我尝试连接到这些服务器时,连接被拒绝,因为Ansible正在尝试使用SSH无法监听的IP地址。发生这种情况是因为:

  1. Ansible尝试连接到ansible_ssh_host...
  2. 但是rax.py清单脚本已设置ansible_ssh_hostaccessIPv4Rackspace返回的...
  3. 并且Rackspace已设置accessIPv4为服务器的公共IP地址。

现在,我不确定该怎么办。Rackspace确实允许API调用来更新服务器并设置服务器accessIPv4,所以我认为我可以local_action在创建服务器后再运行一个服务器。不幸的是,rax模块似乎不允许更新服务器,即使这样做,它也依赖于pyrax,而后者又取决于novaclient,而novaclient仅允许更新服务器的名称,而不是accessIPv4

肯定有人这样做过。通过rax模块获取动态清单时,告诉Ansible在隔离网络上进行连接的正确方法是什么?

rackspace-cloud openstack-nova ansible pyrax novaclient

5
推荐指数
1
解决办法
2028
查看次数

在OSX上使用pyrax模块时出错

我正在使用ansible rax.py脚本来存储我的库存.我遇到的问题与ansible无关,但与pyrax或pbr无关.

我采取了以下步骤:

sudo pip install pyrax
python
>>> import pyrax
Run Code Online (Sandbox Code Playgroud)

然后我得到:

File "/Library/Python/2.7/site-packages/pbr/packaging.py", line 870, in get_version
raise Exception("Versioning for this project requires either an sdist"
Exception: Versioning for this project requires either an sdist tarball, or access to an upstream git repository. Are you sure that git is installed?
Run Code Online (Sandbox Code Playgroud)

根据一些github问题,应该分别安装pbr来解决这个问题.我没有运气就这样做了.

pip show pbr
---
Name: pbr
Version: 0.10.0
Location: /Library/Python/2.7/site-packages
Requires: pip

pip show python-novaclient
---
Name: python-novaclient
Version: 2.19.0
Location: /Library/Python/2.7/site-packages
Requires: requests, iso8601, python-keystoneclient, Babel, oslo.utils, …
Run Code Online (Sandbox Code Playgroud)

macos python-2.7 pyrax

3
推荐指数
1
解决办法
1657
查看次数