透過安裝新版本並移轉現有部署,將 VMware Integrated OpenStack 5.1 升級至 7.0.1

必要條件

  • 確認您目前的部署執行的是 VMware Integrated OpenStack 5.1。如果您執行的是較舊版本,請先升級至 5.1 版。
  • 確認 VMware Integrated OpenStack 5.x 部署的本機網域中是否存在名為 admin 的使用者。如果在升級期間將預設網域設定為 LDAP,則需要此使用者。如果沒有名為 admin 的使用者,請在 5.x 環境中手動建立具有該名稱的使用者。
    備註: 如果 admin 密碼已從 OpenStack 端進行更新,則升級指令碼擷取的 admin 密碼可能與實際密碼不同。若是如此,您需要使用實際密碼在 cluster.yml 中編輯 secret/managedpasswordsdata.admin_password
  • 如果 VMware Integrated OpenStack 5.1 部署包含多個負載平衡器,請先停用 LDAP 負載平衡器。
  • 如果為網域設定了 LDAP,請確保將網域名稱附加至繫結使用者。
  • 檢查 nova_api cell_mappings 資料表中是否包含具有 NULL 名稱的資料列。如果找到,請更正名稱以確保架構移轉正確執行。
    1. OpenStack 管理伺服器 中,登入 VIO 5.1 控制平面上的任何資料庫節點。
    2. 切換至根使用者。
      sudo su -
    3. 若要啟動 MariaDB 用戶端,請執行 mysql 命令。
    4. 若要存取 nova_api 資料庫,請執行 SQL 命令:use nova_api
    5. 執行 SQL 命令:select id,name from cell_mappings;
    6. 檢查輸出。在名稱資料行中尋找任何包含 NULL 的資料列。在下列範例中,識別碼為 9 的資料列中顯示 NULL。
      +----+-------+
      | id | name  |
      +----+-------+
      |  6 | cell0 |
      |  9 | NULL  |
      +----+-------+
    7. 使用名稱資料行中包含 NULL 的資料列所對應的識別碼,執行 SQL 命令以更正名稱。
      update cell_mappings set name='cell1' where id=<ID_of_row_with_NULL>;
      
    8. 執行 SQL 命令:select id,name from cell_mappings;
    9. 檢查輸出。在下列範例中,cell1 取代了識別碼為 9 的資料列中的 NULL。
      +----+-------+
      | id | name  |
      +----+-------+
      |  6 | cell0 |
      |  9 | cell1 |
      +----+-------+
  • VMware Integrated OpenStack 下載頁面 下載 VMware Integrated OpenStack 7.0 OVA、7.0.1 修補程式、升級和 viocli 套件。檔案需要大約 6 GB 的儲存空間。
  • 記錄對 custom.ymlcustom-playbook.yml 檔案之外的 OpenStack 部署所做的任何自訂變更。升級完成後,必須在新部署上重新設定這些檔案以外的自訂。
  • 如果您已使用 OIDC 通訊協定設定與 VMware Identity Manager 的身分識別聯盟,請先刪除已設定的身分識別提供者,然後再升級。升級完成後,您可以再次新增身分識別提供者。

    若要刪除提供者,請執行 openstack identity provider delete idp-name 命令。

  • 如果已將 VMware Integrated OpenStack 設定為使用 NSX Manager 叢集,請在升級前移除此組態。若要執行此操作,請將 nsxv3_api_managers 參數的值變更為僅包含父系 NSX Manager 的 IP 位址。升級完成後,您可以在叢集中新增其他管理程式。
  • 如果您已部署 Swift,請記錄您的叢集組態。Swift 叢集無法升級到 VMware Integrated OpenStack 7.0,並且不會保留 Swift 組態。如果想要繼續使用 Swift,您可以在升級完成後重新建立叢集。
  • 確認未執行任何內部 OpenStack 管理工作負載。