Openstack SDK,仅创建新服务器 IPV4

问题描述 投票:0回答:1

``

conn: Connection = create_connection()

nics = [{'net-id': '`net_id`', 'subnet-id': '`subnet_id`'}]

params = {
    'name': 'Instance_app_2',
    'networks': [{'uuid': 'net_id'}],
    'nics': nics,
    'security_groups': [{'name': 'GroupName'}],
    'user_data': create_user_data(), # encoded user_data
    'flavor_id': '`flavor_id`'
    'image_id': '`image_id`',
    'ipv6_address_mode': None,
    'ipv6_ra_mode': None,
}

server = conn.compute.create_server(**params)

``

我运行代码并创建一个同时具有 IPv4 和 IPv6 的服务器。 如何创建一个只有 IPv4 的新服务器?请

python cloud openstack
1个回答
0
投票

首先,

ipv6_address_mode
ipv6_ra_mode
network.create_subnet
使用而不是
compute.create_server
方法,以及他们的
Valid values are: 'dhcpv6-stateful', 'dhcpv6-stateless', or 'slaac'
.

其次,

networks
方法中的
Mutually exclusive with the nics parameter
参数
create_server

最后,在你的情况下

create a server have both IPv4 and IPv6
,我猜你已经在net_id中定义了
ipv6_address_scope
或在subnet_id中定义了
ipv6_*_mode
,所以它会自动创建ipv6地址。

尝试创建一个 port_id port only with ipv4 address, 只需使用

'nics': port_id,
create_server
.

另见:https://docs.openstack.org/openstacksdk/latest/user/connection.html

© www.soinside.com 2019 - 2024. All rights reserved.