SDDC Manager の Deployment Drift で VCF のアップグレードに失敗する
search cancel

SDDC Manager の Deployment Drift で VCF のアップグレードに失敗する

book

Article ID: 431341

calendar_today

Updated On:

Products

VMware SDDC Manager

Issue/Introduction

免責事項: これは英文の記事「VCF upgrade fails at "SDDC Manager Deployment Drift" (409862)」 の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。

  • SDDC Manager の Deployment Drift の失敗 - VCF 5.2.2.0 へのアップグレードが SDDC Manager での localhost 解決エラーで失敗する。

  • VMware Cloud Foundation (VCF) をバージョン 5.2.2.0 にアップグレードすると、約 15 分後にアップグレードが失敗します。SDDC Manager の移行ログに「Failed to resolve 'localhost'」というエラーメッセージが表示されます。アップグレードは SDDC Manager の移行フェーズで停止します。
  • 以下のログファイルでエラーを確認できます。
    /var/log/vmware/vcf/lcm/thirdparty/upgrades/########-####-####-####-############/sddcmanager-migration-app/logs/sddcmanager_migration_app_upgrade.log

    YYYY-MM-DDTHH:MM:SS+0000 DEBUG [vcf_lcm,################,####] [c.v.v.s.c.s.SecurityConfigurationServiceImpl,main]  Security config retrieved {"fipsMode":false}
    YYYY-MM-DDTHH:MM:SS+0000 ERROR [vcf_lcm,################,####] [c.v.e.s.m.s.s.ExportDataService,main]  Error while fetching inventory data org.springframework.web.reactive.function.client.WebClientRequestException: Failed to resolve 'localhost' [A(1)]
            at org.springframework.web.reactive.function.client.ExchangeFunctions$DefaultExchangeFunction.lambda$wrapException$9(ExchangeFunctions.java:136)
            Suppressed: reacto.core.publisher.FluxOnAssembly$OnAssemblyException: Error has been observed at the following site(s):
            *__checkpoint ⇢ Request to GET http://localhost/inventory/export [DefaultWebClient]
    Original Stack Trace:
                    at org.springframework.web.reactive.function.client.ExchangeFunctions$DefaultExchangeFunction.lambda$wrapException$9(ExchangeFunctions.java:136)
                    at reactor.core.publisher.MonoErrorSupplied.subscribe(MonoErrorSupplied.java:55)
  • このエラーにより、VCF 5.2.2.0 へのアップグレードを完了できません。

  • また、SDDC Manager のサービスを確認すると (例: systemctl status commonsvcs)、サービスが「Active: inactive (dead)」と表示されます。

Environment

VCF 5.2.2

Cause

SDDC Manager アプライアンスの /etc/hosts ファイルで、localhost のエントリがコメントアウトされています。Virtual Appliance Management Infrastructure (VAMI) がこれらのエントリを変更しました。Java ベースの移行アプリケーションが正常に動作するには、localhost のホスト名解決が必要です。

コメントアウトされたエントリは以下のように表示されます。
#127.0.0.1 hostname.domain hostname localhost

#::1 hostname.domain hostname localhost ipv6-localhost ipv6-loopback

Resolution

この問題を解決するために、/etc/hosts ファイルの構成を修正します。

  1. vcf ユーザーで SDDC Manager アプライアンスに SSH 接続します。

  2. root ユーザーに切り替えます。
    su -

  3. 現在の hosts ファイルのバックアップを作成します。
    cp -p /etc/hosts /etc/hosts.backup

  4. 現在の /etc/hosts の構成を確認します。
    cat /etc/hosts

  5. /etc/hosts ファイルを編集します。
    vi /etc/hosts

  6. hosts ファイルを以下のセクションと完全に同じになるように編集します。

    # Begin /etc/hosts (network card version)
    127.0.0.1 localhost.localdomain
    127.0.0.1 localhost

    127.0.0.1 photon
    # End /etc/hosts (network card version)

  7. ファイルを保存して終了します (ESC キーを押し、:wq と入力して Enter キーを押します)。

  8. 変更を確認します。
    cat /etc/hosts

  9. 以下のコマンドで Postgres を起動します。
    systemctl start postgres

  10. SDDC Manager のサービスを再起動します。
    /opt/vmware/vcf/operationsmanager/scripts/cli/sddcmanager_restart_services.sh

  11. SDDC Manager UI に戻ります。

  12. VCF 5.2.2.0 へのアップグレードを再試行します。

注意:SDDC Manager の hosts ファイルを変更した後、SDDC Manager の再起動が必要になる場合があります。

Additional Information

アップグレード前の確認
VCF 5.2.2.0 へのアップグレードを開始する前に、localhost のエントリが存在することを確認します。
grep -E "^127.0.0.1.*localhost" /etc/hosts

結果が表示されない場合は、アップグレード前に解決策の手順を適用します。

ベストプラクティス
構成変更を行う前に、必ず SDDC Manager 仮想マシンのスナップショットを作成します。これにより、問題が発生した場合にロールバックできます。

関連ドキュメント
VMware Cloud Foundation Upgrade Planning and Preparation Guide 
SDDC Manager Backup and Restore Procedures