Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

2.5. 変更した horizon イメージの生成

カスタムテーマの作成が完了したら、新たなコンテナーイメージを作成して自分専用のテーマを有効にして使用することができます。

手順

  1. dockerfile により、元の horizon イメージをベースとして、新たなコンテナーイメージを生成します。以下の dockerfile の例を目安にしてください。

    FROM registry.redhat.io/rhosp13/openstack-horizon
    MAINTAINER Acme
    LABEL name="rhosp13/openstack-horizon-mytheme" vendor="Acme" version="0" release="1"
    COPY mytheme /usr/share/openstack-dashboard/openstack_dashboard/themes/mytheme
    COPY _12_mytheme_theme.py /etc/openstack-dashboard/local_settings.d/_12_mytheme_theme.py
    RUN sudo chown horizon:horizon /etc/openstack-dashboard/local_settings.d/_12_mytheme_theme.py
  2. このファイルを dockerfile という名前でご自分の horizon-themes ディレクトリーに保存します。
  3. dockerfile を使用して新しいイメージを生成します。

    sudo docker build . -t "192.168.24.1:8787/rhosp13/openstack-horizon-mytheme:0-1"

    -t オプションで、生成されるイメージに名前およびタグを付けます。このオプションには、以下の構文を使用します。

    [LOCATION]/[NAME]:[TAG]
    LOCATION
    これは通常、オーバークラウドがイメージをプルするのに使用するコンテナーレジストリーの場所です。このイメージをアンダークラウドのコンテナーレジストリーにプッシュするには、この項目をアンダークラウドの IP アドレスおよびポートに設定します。
    NAME
    一貫性を保つため、通常は元のコンテナーイメージと同じ名前で、その後はご自分のテーマの名前になります。この例では、rhosp13/openstack-horizon-mytheme です。
    TAG
    イメージのタグです。バージョンおよびリリースラベルをこのタグのベースとして使用することで、Red Hat の命名規則に従うことができます。このイメージの新しいバージョンを生成する場合には、リリースの数字を増やします (例: 0-2)。
  4. 生成されたイメージをアンダークラウドのコンテナーレジストリーにプッシュします。

    $ docker push 192.168.24.1:8787/rhosp13/openstack-horizon-mytheme:0-1
重要

RHOSP を更新またはアップグレードする場合には、新しい horizon イメージにテーマを再度適用し、変更したイメージの新しいバージョンをアンダークラウドにプッシュする必要があります。