我能够使用 MAAS API 创建一台新机器。问题是,在调试之前需要添加/更改接口,这是行不通的。
尝试 1:创建机器时没有 mac_address
创建了一台机器,但没有指定 MAC 地址。这会导致机器的接口部分完全为空。
命令
maas myreg interfaces create-physical <system_id> name=eno1 mac_address="fc:aa:64:1f:0f:1c"
失败:
Cannot create interface because the machine is not Ready, Allocated, or Broken.
尝试 2:在创建机器时指定 mac_address
创建了一台机器,指定 mac_addresses 参数为机器添加了一个接口,但该接口已将所有内容设置为默认值,因此无法直接使用。但更改不起作用,例如:
maas myreg interface update ....
maas myreg interface link-subnet ....
所有都以相同的错误消息结束:
Cannot link subnet interface because the machine is not Ready, Allocated, or Broken.
观察结果
使用 GUI,我可以根据需要更改/添加界面。
问题
当机器处于“新”状态时,我需要更改/更新/添加接口。该怎么做?
答案1
所以我以前做过这个。我假设“新机器”是一台虚拟机,如果是这样,你可以遵循这个模板。你需要按照下面显示的步骤操作,并确定创建时所需的接口数量。
- 虚拟机创建后可以添加接口吗?不,据我所知不行。
- 识别完物理机后还能添加接口吗? 可以,但是需要重新调测服务器。
在下面的示例中,我使用了以下设置:
- vCPU:4,
- 内存(MB):4096,
- HDD1: 60,
- 内部CIDR”: "192.168.1.0/24",
- 公共 cidr:“10.245.1.0/24”
创建虚拟机:
vm-host compose {pod_id} cores={vCPU} memory={RAM_in_MB} 'storage=mylabel:{HDD1},mylabel:{HDD2}' interfaces='eno1:subnet_cidr={Internal_CIDR};eno2:subnet_cidr={public_cidr}'
如果你需要一座桥梁:
interfaces create-bridge {server_id} name=br0 parent={interface_id} bridge_stp=True
设置 IP:
interface link-subnet {server_id} {interface} subnet={cidr} mode=STATIC ip_address={vm_ip}"
部署:
machine deploy {server_id} distro_series="focal hwe_kernel=hwe-20.04"