以前のブログで、CentOS Stream 9 や Rocky Linux, AlmaLinux 等の RHEL 9 互換ディストリビューションで利用可能な EPEL9 では、cobbler-web が利用できなくなった cobbler 3.3 しか利用できないと紹介しました。
改めて確認したところ、2024/4/28 時点で、3.3.4 だけでなく、cobbler3.2 というパッケージで 3.2.2 も利用できるようになり、cobbler-web も利用できるようになりました。
# dnf list cobbler*
Available Packages
cobbler.noarch 3.3.4-1.el9 epel
cobbler-selinux.noarch 3.3.4-1.el9 epel
cobbler-tests.noarch 3.3.4-1.el9 epel
cobbler-tests-containers.noarch 3.3.4-1.el9 epel
cobbler3.2.noarch 3.2.2-15.el9 epel
cobbler3.2-tests.noarch 3.2.2-15.el9 epel
cobbler3.2-web.noarch 3.2.2-15.el9 epel
インストール
それではインストールしましょう
# dnf install cobbler3.2 cobbler3.2-web
Last metadata expiration check: 0:05:30 ago on Sun 28 Apr 2024 10:13:32 PM JST.
Dependencies resolved.
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
cobbler3.2 noarch 3.2.2-15.el9 epel 555 k
cobbler3.2-web noarch 3.2.2-15.el9 epel 164 k
Installing dependencies:
apr x86_64 1.7.0-12.el9 appstream 123 k
apr-util x86_64 1.6.1-23.el9 appstream 95 k
apr-util-bdb x86_64 1.6.1-23.el9 appstream 13 k
centos-logos-httpd noarch 90.4-1.el9 appstream 252 k
createrepo_c x86_64 0.20.1-2.el9 appstream 75 k
createrepo_c-libs x86_64 0.20.1-2.el9 appstream 100 k
httpd x86_64 2.4.57-8.el9 appstream 48 k
httpd-core x86_64 2.4.57-8.el9 appstream 1.5 M
httpd-filesystem noarch 2.4.57-8.el9 appstream 13 k
httpd-tools x86_64 2.4.57-8.el9 appstream 83 k
libburn x86_64 1.5.4-4.el9 appstream 173 k
libisoburn x86_64 1.5.4-4.el9 appstream 416 k
libisofs x86_64 1.5.4-4.el9 appstream 222 k
mod_ssl x86_64 1:2.4.57-8.el9 appstream 110 k
python3-asgiref noarch 3.7.2-1.el9 epel 47 k
python3-bson x86_64 3.10.1-7.el9 epel 106 k
python3-cheetah x86_64 3.2.6.post1-1.el9 epel 311 k
python3-django4.2 noarch 4.2.11-2.el9 epel 4.3 M
python3-dns noarch 2.3.0-2.el9 baseos 465 k
python3-ldap3 noarch 2.8.1-4.el9 epel 455 k
python3-mod_wsgi x86_64 4.7.1-11.el9 appstream 1.0 M
python3-netaddr noarch 0.8.0-5.el9 appstream 1.6 M
python3-pyasn1 noarch 0.4.8-6.el9 appstream 159 k
python3-pymongo x86_64 3.10.1-7.el9 epel 352 k
python3-schema noarch 0.7.5-3.el9 epel 35 k
python3-simplejson x86_64 3.17.6-1.el9 epel 264 k
python3-sqlparse noarch 0.4.2-1.el9 epel 83 k
python3-tornado x86_64 6.1.0-9.el9 appstream 698 k
python3-typing-extensions noarch 4.4.0-2.el9 epel 51 k
tftp-server x86_64 5.2-38.el9 appstream 41 k
xorriso x86_64 1.5.4-4.el9 appstream 317 k
Installing weak dependencies:
apr-util-openssl x86_64 1.6.1-23.el9 appstream 15 k
mod_http2 x86_64 2.0.26-1.el9 appstream 163 k
mod_lua x86_64 2.4.57-8.el9 appstream 60 k
python-django4.2-bash-completion noarch 4.2.11-2.el9 epel 8.6 k
動作確認
cobblerd と httpd で起動し、サーバーのアクセスに https で /cobbler_web で開くと、無事表示されました。
ただ、「Profiles」などのメニューに進むと「Invalid block tag on line 222: ‘ifequal’, expected ‘endblock’. Did you forget to register or load this tag?」などと表示されてしまいます。
Django の公式サイトを確認したところ、2021年11月にリリースされたバージョン 4.0 において、ifequal が削除されてしまったようです。
The {% ifequal %} and {% ifnotequal %} template tags are removed.
Django 4.0 release notes | Django documentation | Django
エラー画面内や、最初に貼った dnf の結果から、Django 4.2.11 がインストールされているようですので、ifequal はもう利用できないようです。
なお、CentOS Stream 8 では、2.2.24 がインストールされていため、問題が無かったようです。
対応方法
- ifequal a b → if a == b
- endifequal endif
と、一つ一つ書き換えていくしかないようです
# diff /usr/share/cobbler/web/templates/snippet_list.tmpl.org /usr/share/cobbler/web/templates/snippet_list.tmpl
26c26
< {% ifequal option "editable" %}<span class="action" onClick="window.location='/cobbler_web/snippet/edit/file:{{ snippet }}'">Edit</a> {% endifequal %}
---
> {% if option == "editable" %}<span class="action" onClick="window.location='/cobbler_web/snippet/edit/file:{{ snippet }}'">Edit</a> {% endif %}
まとめ
Cobbler 3.3 以降の新しい cobbler-web はまだ簡単には使えなさそうです。
ひとまず、CentOS Stream 9 で Cobbler 3.2 が使えるようになりましたので、cobbler-web が使えるようになりました。
現状 CentOS Stream 8 で Cobbler を動かしていますが、1ヶ月後の 2024/5/31 にサポート終了となるので、これでサーバー移行が進められそうです。