我正在使用以下代码创建现有虚拟机的映像
service.createArchiveTransaction(templateName, blockDevices, "Image of " + vm.getHostname());
我再次通过API使用此图像创建虚拟机。虚拟机正在创建,但是它们被分配的公共和私有ips不是我尝试放置的那些。这些是旧的ips,或者是一些新的随机ips。
我使用以下代码分配IP: `
// Set subnet ID for Dallas 9
String primaryBackendIPAddress = "10.0.20.98"; //this ip is availble for user under the chosen subnet
Component netComp1 = new Component();
Vlan vlan = new Vlan();
vlan.setId(new Long(1229225));// id of vlan associated to the subnet
Subnet ss1 = new Subnet();
IpAddress ipaddr = new IpAddress();
ipaddr.setIpAddress("10.0.253.1");
ss1.setEndPointIpAddress(ipaddr);
ss1.setId(new Long(1208349)); // setting id of the subnet
vlan.setPrimarySubnet(ss1);
netComp1.setNetworkVlan(vlan);
netComp1.setMaxSpeed(new Long(1000));
guest.setPrimaryBackendNetworkComponent(netComp1);
guest.setPrimaryBackendIpAddress(primaryBackendIPAddress);
`
我想知道这种方法是否正确设置私有/公共ips。如果没有,请告知我们在创建虚拟机时可以使用哪些其他方法来设置特定的私有/公共ips。
答案 0 :(得分:0)
是的,这是方法,但它取决于您用于创建VM的方法。您需要使用与门户网站使用的placeOrder相同的方法,如果您使用createObject方法它将无法使用,使用该方法您只能为前端和后端网络指定vlan / p>
答案 1 :(得分:0)
在配置过程中无法分配IP。您可以选择子网来从中提取IP,但在订购时您无法绑定特定的IP。