6.2. Karaf での Fuse スタンドアロンのアップグレード

以下の手順で、Fuse on Apache Karaf をアップグレードする方法を順を追って説明します。アップグレード手順を開始する前に、すべての前提条件が満たされていることを確認します。

前提条件

  • アップグレードする前に、Fuse on Apache Karaf インストールの完全バックアップを作成している。
  • コンテナーがまだ実行されていない場合は起動している。
ヒント

コンテナーがバックグラウンド (またはリモート) で実行されている場合は、SSH コンソールクライアント bin/client を使用してコンテナーに接続します。

  • patch:add コマンドを呼び出して、アップグレードのインストーラーファイルをコンテナーの環境に追加します。たとえば、fuse-karaf-7.9.0.fuse-790071-redhat-00001.zip アップグレードインストーラーファイルを追加するには、次のようにします。

    patch:add file:///path/to/fuse-karaf-7.9.0.fuse-790071-redhat-00001.zip
    注記

    この patch:find コマンドは、最新のホットフィックスパッチを探してコンテナーの環境に追加するためにのみ使用できます。完全なアップグレードパッチを適用するのに使用することはできません。

    手順

    1. patch:update コマンドを実行します。コンテナーを再起動する必要はありません。

      karaf@root()> patch:update
      Current patch mechanism version: 7.1.0.fuse-710023-redhat-00001
      New patch mechanism version detected: 7.2.0.fuse-720035-redhat-00001
      Uninstalling patch features in version 7.1.0.fuse-710023-redhat-00001
      Installing patch features in version 7.2.0.fuse-720035-redhat-00001
    2. patch:list コマンドを呼び出し、アップグレードインストーラーの一覧を表示します。このリストで、[name] 見出しの下にあるエントリーはアップグレード ID です。以下に例を示します。

      karaf@root()> patch:list
      [name]                                    [installed] [rollup] [description]
      fuse-karaf-7.2.0.fuse-720035-redhat-00001 false       true     fuse-karaf-7.2.0.fuse-720035-redhat-00001
    3. 以下のように、patch:simulate コマンドを呼び出し、適用するアップグレードのアップグレード ID を指定して、アップグレードをシミュレートします。

      karaf@root()> patch:simulate fuse-karaf-7.2.0.fuse-720035-redhat-00001
      INFO : org.jboss.fuse.modules.patch.patch-management (226): Installing rollup patch "fuse-karaf-7.2.0.fuse-720035-redhat-00001"
      ========== Repositories to remove (9):
       - mvn:io.hawt/hawtio-karaf/2.0.0.fuse-710018-redhat-00002/xml/features
      ...
      ========== Repositories to add (9):
       - mvn:io.hawt/hawtio-karaf/2.0.0.fuse-720044-redhat-00001/xml/features
      ...
      ========== Repositories to keep (10):
       - mvn:org.apache.activemq/artemis-features/2.4.0.amq-711002-redhat-1/xml/features
      ...
      ========== Features to update (100):
      [name]                         [version]                         [new version]
      aries-blueprint                4.2.0.fuse-710024-redhat-00002    4.2.0.fuse-720061-redhat-00001
      ...
      ========== Bundles to update as part of features or core bundles (100):
      [symbolic name]                                                [version]                         [new location]
      io.hawt.hawtio-log                                             2.0.0.fuse-710018-redhat-00002    mvn:io.hawt/hawtio-log/2.0.0.fuse-720044-redhat-00001
      ...
      ========== Bundles to reinstall as part of features or core bundles (123):
      [symbolic name]                                                [version]                         [location]
      com.fasterxml.jackson.core.jackson-annotations                 2.8.11                            mvn:com.fasterxml.jackson.core/jackson-annotations/2.8.11
      ...
      Simulation only - no files and runtime data will be modified.
      karaf@root()>

      これにより、アップグレードの実行時にコンテナーに加えられる変更のログが生成されますが、実際にはコンテナーに何の変更も加えません。シミュレーションログを確認し、コンテナーに加えられる変更を確認します。

    4. patch:install コマンドを呼び出し、適用するアップグレードのアップグレード ID を指定して、コンテナーをアップグレードします。以下に例を示します。

      karaf@root()> patch:install fuse-karaf-7.9.0.fuse-790071-redhat-00001
    5. アップグレードアーティファクトのいずれかを検索して、アップグレードを検証します。たとえば、Fuse 7.1.0 を Fuse 7.2.0 にアップグレードしたばかりの場合、ビルド番号 7_11_0-00023-redhat-00001 のバンドルを次のように検索できます。

      karaf@root()> bundle:list -l | grep 790071
       22 │ Active │  80 │ 7.9.0.fuse-790071-redhat-00001  │ mvn:org.jboss.fuse.modules/fuse-pax-transx-tm-narayana/7.9.0.fuse-790071-redhat-00001
      188 │ Active │  80 │ 7.9.0.fuse-790071-redhat-00001  │ mvn:org.jboss.fuse.modules.patch/patch-commands/7.9.0.fuse-790071-redhat-00001
注記

アップグレード後にコンテナーを再起動すると、新しいバージョンとビルド番号が Welcome バナーにも表示されます。