英文:
Openstack SDK, create new server only IPV4
问题
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(), # 编码后的 user_data
'flavor_id': '`flavor_id`',
'image_id': '`image_id`',
'ipv6_address_mode': None,
'ipv6_ra_mode': None,
}
server = conn.compute.create_server(**params)
英文:
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)
I run the code and create a server have both IPv4 and IPv6.
How can I create a new server with only IPv4 ? please
答案1
得分: 1
首先,ipv6_address_mode 和 ipv6_ra_mode 用于 network.create_subnet 方法,而不是 compute.create_server 方法,它们的有效值为:'dhcpv6-stateful'、'dhcpv6-stateless' 或 'slaac'。
其次,在 create_server 方法中,networks 参数与 nics 参数是互斥的。
最后,在您的情况下,创建一个同时具有IPv4和IPv6的服务器,我猜您已经在 net_id 中定义了 ipv6_address_scope 或在 subnet_id 中定义了 ipv6_*_mode,因此它将自动创建IPv6地址。
尝试创建一个仅具有IPv4地址的 port_id,然后只需使用 {'nics': port_id} 来创建服务器。
另请参考:https://docs.openstack.org/openstacksdk/latest/user/connection.html
英文:
Firstly, ipv6_address_mode and ipv6_ra_mode are used by network.create_subnet rather than compute.create_server method, and their Valid values are: 'dhcpv6-stateful', 'dhcpv6-stateless', or 'slaac'.
Secondly, the networks parameter Mutually exclusive with the nics parameter in create_server method.
Lastly, in your case create a server have both IPv4 and IPv6, I guess that you had already defined the ipv6_address_scope in net_id or ipv6_*_mode in subnet_id, so it would auto create ipv6 address.
Try to create a port_id which port only with ipv4 address, and just use 'nics': port_id, to create_server.
see also: https://docs.openstack.org/openstacksdk/latest/user/connection.html
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。


评论