ここでは、Automation Managerを旧バージョンから本バージョンにアップデートする手順について説明します。
以下の事項が前提です。
本製品の環境が旧バージョンで構築されていること。
Ansibleサーバーで以下の手順を実施することにより、Automation Managerを本バージョンにアップデートします。
管理者権限への変更
$ sudo su
旧バージョンのAutomation Managerコンテナの削除
起動しているAutomation Managerコンテナを停止します。
# docker stop stagehand
Automation Managerコンテナが停止していることを確認します。
# docker ps -a
Automation Managerコンテナを削除します。
# docker rm stagehand
旧バージョンのメディアパック資材を退避
# rm -rf /var/FJSGHD/pre_files/ /var/FJSGHD/pre_inventories/ # mv /var/FJSGHD/files /var/FJSGHD/pre_files # mv /var/FJSGHD/inventories /var/FJSGHD/pre_inventories
DVDのISOイメージをAnsibleサーバーにコピーしてマウントしてください。
# mount -t iso9660 <1つめのISOイメージのファイルパス> <1つめのマウントポイント> # mount -t iso9660 <2つめのISOイメージのファイルパス> <2つめのマウントポイント>
本バージョンのインストール資材をAnsibleサーバーの/var/FJSGHDに配置します。
# cd /var/FJSGHD # cp -rf <1つめのマウントポイント>/* ./ # cp -rf <2つめのマウントポイント>/* ./
旧バージョンのインストールに使った資材の複製
# cp /var/FJSGHD/pre_files/sghpf_key.pem /var/FJSGHD/files # cp /var/FJSGHD/pre_files/clouds.yml /var/FJSGHD/files # cp -r /var/FJSGHD/pre_files/keys /var/FJSGHD/files
dockerデーモンの設定をバックアップ
バックアップ先ディレクトリを作成
# rm -rf /var/FJSGHD/update # mkdir -p /var/FJSGHD/update
【CentOSの場合】dockerデーモンの設定を退避
ファイルが見つからずエラーになる場合は、本手順はスキップし、後述の「dockerデーモンの設定をリストア」も同様にスキップします。
# cp -a /etc/docker/daemon.json /var/FJSGHD/update/daemon.json
dockerを停止
# systemctl stop docker
パッケージの更新
【CentOSの場合】
# cd /var/FJSGHD/files # tar xf pkg.tar # cd /var/FJSGHD/files/pkg/yum # yum install -y docker-ce-19.03.8/* # yum upgrade -y yum-utils systemd \ docker-ce-19.03.8/*
【RHELの場合】パッケージの更新は不要です。
【CentOSの場合】dockerデーモンの設定をリストア
# cp -a /var/FJSGHD/update/daemon.json /etc/docker/daemon.json
【CentOSの場合】Dockerを起動します。
# systemctl start docker
【CentOSの場合】Dockerの自動起動を有効化します。
# systemctl enable docker
本バージョンのAutomation ManagerコンテナのDockerイメージをインポート
# docker load < /var/FJSGHD/files/container/stagehand_1.2.0.tar.gz
【RHELの場合】`/var/FJSGHD/pre_files`直下のRHUI 3.0用クライアントパッケージを、`/var/FJSGHD/files`直下に複製してください。
Automation Managerコンテナを起動
# docker run --name stagehand \ -v /var/FJSGHD/files/clouds.yml:/data/playbook/clouds.yml \ -v /var/FJSGHD/files:/data/playbook/files \ -v /var/FJSGHD/pre_files:/data/playbook/pre_files \ -v /var/FJSGHD/inventories:/data/playbook/inventories \ -v /var/FJSGHD/pre_inventories:/data/playbook/pre_inventories \ -d stagehand:1.2.0
Automation Managerコンテナにログイン
# docker exec -ti stagehand /bin/bash
メディアパック資材の移行
あらかじめ用意された雛形をコピーして、これから更新する環境の設定ファイルを生成します。<環境識別子>は、旧バージョンで生成した名前と同一にしてください。
# cp -r /data/playbook/default_inventories/default_r3/ /data/playbook/inventories/<環境識別子>
旧バージョンで実施した/data/playbook/pre_inventories/内の設定を/data/playbook/inventoriesへ反映します。
更新ツール実行準備としてAutomation Manager上でmediapack.ymlにメディアパックの配置場所を設定します。更新時は本バージョンのメディアパックのフォルダを設定し、CI ManagementとContainer Managementの切り戻し時には旧バージョンのメディアパックのフォルダを指定します。
# cd /data/playbook # ENV_ID=<環境識別子>
<環境識別子>には、旧バージョンで生成した名前と同じ値を指定してください。
# MEDIAPACK_CONF_PATH="/data/playbook/inventories/${ENV_ID}/group_vars/all/mediapack.yml" # MEDIAPACK_DIR="/data/playbook/files" # sed -i "s#^media_pack_src_base_path:.*#media_pack_src_base_path: '${MEDIAPACK_DIR}'#g" "${MEDIAPACK_CONF_PATH}"
# MEDIAPACK_CONF_PATH="/data/playbook/inventories/${ENV_ID}/group_vars/all/mediapack.yml" # MEDIAPACK_DIR="/data/playbook/pre_files" # sed -i "s#^media_pack_src_base_path:.*#media_pack_src_base_path: '${MEDIAPACK_DIR}'#g" "${MEDIAPACK_CONF_PATH}"