EPEL9 に cobbler3.2 が追加され RHEL9 系でも cobbler-web が使えるようになった件

以前のブログで、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 にサポート終了となるので、これでサーバー移行が進められそうです。

Comments

comments

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)