标签: novaclient

在机架空间上设置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
查看次数

使用python-novaclient在openstach中从卷创建实例

我正在尝试使用python-novaclient从openstack中的可启动卷创建实例。

我正在采取的步骤如下:

步骤1:创建一个具有100GB映像的“ Centos”卷。步骤2:使用在步骤1中创建的卷创建实例。

但是,我必须做错了某些事情,或者丢失了一些无法完成任务的信息。

这是我在python shell中的命令。

import time, getpass
from cinderclient import client
from novaclient.client import Client


project_name = 'project'
region_name = 'region'
keystone_link = 'https://keystone.net:5000/v2.0'
network_zone = "Public"
key_name = 'key_pair'

user = 'user'
pswd = getpass.getpass('Password: ')



# create a connection
cinder = client.Client('1', user, pswd, project_name, keystone_link, region_name = region_name)

# get the volume id that we will attach
print(cinder.volumes.list())
[<Volume: 1d36203e-b90d-458f-99db-8690148b9600>, <Volume: d734f5fc-87f2-41dd-887e-c586bf76d116>]

vol1 = cinder.volumes.list()[1]
vol1.id

block_device_mapping = {'device_name': vol1.id, 'mapping': '/dev/vda'}



### +++++++++++++++++++++++++++++++++++++++++++++++++++++ …
Run Code Online (Sandbox Code Playgroud)

python openstack novaclient openstack-cinder

2
推荐指数
1
解决办法
3339
查看次数

如何通过nova-client将安全组添加到VM

我正在尝试使用OpenStack Nova客户端并创建一个脚本以启动实例.我能够使用特定密钥创建VM,但问题是我无法将现有安全组添加到该实例.

我知道如何使用nova客户端创建安全组并为其添加一些规则.

先感谢您

openstack openstack-nova novaclient python-novaclient

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

不区分大小写检查约束

创建了下表:

CREATE TABLE VEHICLES

(vehicleVIN VARCHAR(30) PRIMARY KEY,

vehicleType VARCHAR(30) NOT NULL CHECK (vehicleType IN ('compact', 'midsize', 'fullsize', 'suv', 'truck')),

vehicleWhereFrom VARCHAR(30) NOT NULL CHECK (vehicleWhereFrom IN ('maryland','virginia','washington, d.c.'));
Run Code Online (Sandbox Code Playgroud)

运行insert命令时,带有大写字母的条目(例如:Compact,COMPACT,Maryland,VIRGINIA等)违反了检查约束(错误ORA-02290).如何使检查约束不区分大小写?只要单词拼写正确,所需的结果就是接受插入的数据,无论使用何种情况.通过NOVA使用Oracle数据库.谢谢!

sql oracle novaclient

0
推荐指数
1
解决办法
367
查看次数