如何在 Ubuntu 16.04 LTS Beta2 中将自定义图像导入 MAAS 2.0.0~beta2+bzr4920?
我在 1.9 中成功使用的命令正在上传图像而没有错误:
$ maas 本地启动资源创建 -d 名称=custom/foo 架构=amd64/generic 文件类型=tgz 内容@=/tmp/ubuntu1604-tgz
该图像出现在 MAAS > 图像 > 生成的图像部分,但我似乎找不到随后部署该图像的方法,因为只有来自官方的启动图像http://images.maas.io/出现在要部署的操作系统下拉列表中。
顺便说一下,/tmp/ubuntu1604-tgz 是从 /var/lib/maas/boot-resources/cache/ 重命名的官方 Ubuntu 16.04 副本,所以我相信图像本身不应该有任何问题,我只是遗漏了一些东西。
$ dpkg -l | grep maas
ii maas 2.0.0~beta2+bzr4920-0ubuntu2 all "Metal as a Service" is a physical cloud and IPAM
ii maas-cli 2.0.0~beta2+bzr4920-0ubuntu2 all MAAS client and command-line interface
ii maas-common 2.0.0~beta2+bzr4920-0ubuntu2 all MAAS server common files
ii maas-dhcp 2.0.0~beta2+bzr4920-0ubuntu2 all MAAS DHCP server
ii maas-dns 2.0.0~beta2+bzr4920-0ubuntu2 all MAAS DNS server
ii maas-proxy 2.0.0~beta2+bzr4920-0ubuntu2 all MAAS Caching Proxy
ii maas-rack-controller 2.0.0~beta2+bzr4920-0ubuntu2 all Rack Controller for MAAS
ii maas-region-api 2.0.0~beta2+bzr4920-0ubuntu2 all Region controller API service for MAAS
ii maas-region-controller 2.0.0~beta2+bzr4920-0ubuntu2 all Region Controller for MAAS
ii python3-django-maas 2.0.0~beta2+bzr4920-0ubuntu2 all MAAS server Django web framework (Python 3)
ii python3-maas-client 2.0.0~beta2+bzr4920-0ubuntu2 all MAAS python API client (Python 3)
ii python3-maas-provisioningserver 2.0.0~beta2+bzr4920-0ubuntu2 all MAAS server provisioning libraries (Python 3)
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04 LTS
Release: 16.04
Codename: xenial
答案1
好吧,我真丢脸。我忘了跑步了
maas local boot-resources import
执行后
maas local boot-resources create -d name=custom/foo architecture=amd64/generic filetype=tgz content@=/tmp/ubuntu1604-tgz
我花了一段时间才弄清楚。
由于 MAAS 在导入自定义图像方面的文档相当差,所以我想我会写一些简短的指南来指导如何操作。
首先你应该知道命名很重要。因此,如果您想导入自定义图像,您应该给出适当的姓名范围:
maas local boot-resources create name=custom/foo title="Title is not important" architecture=amd64/generic content@=/path/to/your/image
maas local boot-resources import
仔细看看名称=自定义/foo. MAAS 期望自定义图像名称以风俗斜线后面的内容没有区别,所以名称=自定义/foo和名称=custom/bar123。
如果你想导入 CentOS 镜像,命名也很重要src/provisioningserver/驱动程序/osystem/centos.py要导入 CentOS 7.2 的自定义映像,您应该执行:
maas local boot-resources create -d name=centos/centos72 architecture=amd64/generic content@=/path/to/your/image
maas local boot-resources import
是的,确实如此。名称参数应该是名称=centos/centos72对于 CentOS 7.2,名称=centos/centos67适用于 CentOS 6.7 等。这就是发行版匹配正则表达式的实现方式。
还没有尝试导入自定义 SuSE 和 Windows 映像,但命名也应该有限制。只需查看 MAAS 源即可src/provisioningserver/驱动程序/osystem/。