Pivotal Application Service (PAS) 2.4をCLIでAzureにインストールするメモでインストールしたPAS 2.4をPAS 2.5にバージョンアップします。
バージョンアップ前のCFのバージョンはcf curl /v2/info
で確認できます。
$ cf curl /v2/info
{
"name": "Pivotal Application Service",
"build": "2.4.7-build.16",
"support": "https://support.pivotal.io",
"version": 0,
"description": "https://docs.pivotal.io/pivotalcf/2-3/pcf-release-notes/runtime-rn.html",
"authorization_endpoint": "https://login.sys.pas.ik.am",
"token_endpoint": "https://uaa.sys.pas.ik.am",
"min_cli_version": "6.23.0",
"min_recommended_cli_version": "6.23.0",
"app_ssh_endpoint": "ssh.sys.pas.ik.am:2222",
"app_ssh_host_key_fingerprint": "8d:b3:95:84:6b:65:c3:f0:64:cc:b3:18:25:3a:07:1b",
"app_ssh_oauth_client": "ssh-proxy",
"doppler_logging_endpoint": "wss://doppler.sys.pas.ik.am:443",
"api_version": "2.125.0",
"osbapi_version": "2.14",
"routing_endpoint": "https://api.sys.pas.ik.am/routing"
}
前回同様に$HOME/install-pas
で作業します。また、念のため環境変数OM_XXXXXX
を再設定しておきます。
cd $HOME/install-pas
export OM_DECRYPTION_PASSPHRASE=pasw0rd
export OM_PASSWORD=pasw0rd
export OM_SKIP_SSL_VALIDATION=true
export OM_TARGET=$(terraform output ops_manager_dns)
export OM_USERNAME=admin
PAS 2.5.4のTileをダウンロードしておきます。
cd /tmp
pivnet download-product-files -p elastic-runtime -r 2.5.4 --glob=cf-*.pivotal
cd -
目次
Ops Managerのアップデート
重要: バージョンアップ作業をする前に、次のコマンドで必ずOps Managerの設定のエクスポートをおこなって下さい。
om export-installation -o installation.zip
Ops Manager 2.5.4のプロダクトページから、"Pivotal Cloud Foundry Ops Manager YAML for Azure"をダウンロードして、OpsManager VMイメージのURLを取得します。
terraform.tfvars
のops_manager_image_uri
を取得したURLで上書きします。
ops_manager_image_uri = "https://opsmanagersoutheastasia.blob.core.windows.net/images/ops-manager-2.5.4-build.189.vhd"
この変更をTerraformで反映します。
terraform plan -out plan template/terraforming-pas
terraform apply plan
新しいOps Manager VMが新しいバージョンに差し代わります。
先ほどエクスポートした設定を新しいバージョンにインポートします。
om import-installation -i installation.zip
これでOps Managerのアップデートが完了です。ブラウザで確認すると、PASのバージョンはv2.4.7
のままで、Ops Managerのバージョンがv2.5.4-build.189
になっていることがわかります。
PASのアップデート
次にPASを2.5にアップデートします。
om upload-product -p /tmp/cf-2.5.4-build.5.pivotal
ステージします。
export PRODUCT_NAME=cf
export PRODUCT_VERSION=2.5.4
om stage-product -p ${PRODUCT_NAME} -v ${PRODUCT_VERSION}
ブラウザで確認するとPAS Tileがオレンジ色になっています。これはPAS Tileに入力項目に不足があることを意味します。 BOSH Director Tileは緑色なので2.5へのバージョンアップに伴う設定追加は不要です。
Tileをクリックすると、"Cloud Controller"の項目に不足があることがわかります。
Type "X" to acknowledge that you have no applications running with cflinuxfs2. If you are upgrading from 2.4, please read this documentation closely for steps to verify all apps have been migrated: https://docs.pivotal.io/pivotalcf/2-5/upgrading/checklist.html#cflinuxfs3
の項目が不足しています。このフィールドにX
を入力する必要があります。
この項目はPAS 2.4でアプリケーション用コンテナイメージのベースであるstackがcflinuxfs3 (Ubuntu 18)のみになり、cflinuxfs2 (Ubuntu 14)は削除されるので、全てのアプリケーションがcflinuxfs3に以降したことを確認したらXを明示的に入力してほしいという項目です。
この項目をpas/config.yml
に設定するにはプロパティ名を知る必要があります。フォームのフィールドに対するプロパティ名を知る、手っ取り早い方法はChromeのDeveloper ToolででHTMLの要素を見ることです。
PAS 2.6では不足しているプロパティ名を
om
コマンドで取得できるようになります。
設定すべきプロパティ名は.properties.stack_migration_acknowledgement
であることがわかります。
これをpas/config.yml
のproduct-properties
に追加します。
product-properties:
# 途中略
.properties.stack_migration_acknowledgement:
value: X
# ...
また、PASではconsul_server
がresource-config
から消えるので、以下のようにconsul_server
の項目を削除して下さい。
resource-config:
# ...
# PAS 2.5で項目がなくなるので削除
# consul_server:
# instances: 0
pas/config.yml
の変更をom
コマンドで
om configure-product \
--config ./pas/config.yml \
--vars-file ./pas/vars.yml
ブラウザにアクセスするとPAS Tileも緑色になっていることがわかります。
以上で設定は完了です。Apply Changesしてアップデートを行います。
om apply-changes
これも2時間強かかります...
完了して、再度CFバージョンを確認するとバージョンアップしていることがわかります。
$ cf curl /v2/info
{
"name": "Pivotal Application Service",
"build": "2.5.4-build.5",
"support": "https://support.pivotal.io",
"version": 0,
"description": "https://docs.pivotal.io/pivotalcf/2-5/pcf-release-notes/runtime-rn.html",
"authorization_endpoint": "https://login.sys.pas.ik.am",
"token_endpoint": "https://uaa.sys.pas.ik.am",
"min_cli_version": "6.23.0",
"min_recommended_cli_version": "6.23.0",
"app_ssh_endpoint": "ssh.sys.pas.ik.am:2222",
"app_ssh_host_key_fingerprint": "8d:b3:95:84:6b:65:c3:f0:64:cc:b3:18:25:3a:07:1b",
"app_ssh_oauth_client": "ssh-proxy",
"doppler_logging_endpoint": "wss://doppler.sys.pas.ik.am:443",
"api_version": "2.131.0",
"osbapi_version": "2.14",
"routing_endpoint": "https://api.sys.pas.ik.am/routing"
}
2.5 -> 2.6へのバージョンアップ方法も基本的には同じです。