Ubuntu 16.04を古いCentOS 6のCobblerに追加する

自分用メモ。
CentOS 6上のcobblerを使ってUbuntu 16.04.1 LTS (Xenial Xerus)をインストールしようとしてはまったので。

ハマり1

cobbler import すると No signature matched in /var/www/cobbler/ks_mirror/ubuntu-16.04-x86_64 で怒られる。

原因

distro_signatures.json にXenial用の記述がない。

解決方法

https://github.com/cobbler/cobbler/blob/master/config/cobbler/distro_signatures.json#L466 この辺から
エントリをコピーして /var/cobbler/distro_signatures.json に貼り付けてみましょう。

ハマり2

貼り付けたのに状況が変わりません。
cobbler signature report に Xenialが出てません。

原因

cobblerdの再起動をしていませんね。

解決方法

OS・ディストリを推測・決定するパターンはdistro_signatures.jsonを毎回読んでいるのではなく、
xmlrpcで cobblerd から取ってきているようです。

/etc/init.d/cobblerd restart しましょう。

ハマり3

まだこれでも cobbler import で怒られます。

1
2
3
Found a matching signature: breed=ubuntu, version=xenial
Exception occured: <type 'exceptions.KeyError'>
Exception value: 'default_kickstart'

原因

distro_signatures.json に貼り付けた元ネタは、我々のcobblerには新しすぎたかもしれません。

解決方法

そっと書き換えましょう。

1
2
3
4
    "isolinux_ok":false,
- "default_autoinstall":"sample.seed",
+ "default_kickstart":"/var/lib/cobbler/kickstarts/sample.seed",
"kernel_options":"",

書き換えたら cobblerd restart を忘れずに。

このエントリーをはてなブックマークに追加