1.3. 更新 Red Hat Openstack Platform 软件仓库

更新您的软件仓库以使用 Red Hat OpenStack Platform (RHOSP) 17.1。

流程

  1. stack 用户身份登录 undercloud 主机。
  2. 查找 stackrc undercloud 凭证文件:

    $ source ~/stackrc
  3. 编辑 overcloud 订阅管理环境文件,这是包含 RhsmVars 参数的文件。此文件的默认名称为 rhsm.yml
  4. 检查订阅管理配置中的 rhsm_repos 参数。如果 rhsm_repos 参数使用 RHOSP 17.1 存储库,请将存储库改为正确的版本:

    parameter_defaults:
      RhsmVars:
        rhsm_repos:
          - rhel-9-for-x86_64-baseos-eus-rpms
          - rhel-9-for-x86_64-appstream-eus-rpms
          - rhel-9-for-x86_64-highavailability-eus-rpms
          - openstack-17.1-for-rhel-9-x86_64-rpms
          - fast-datapath-for-rhel-9-x86_64-rpms
  5. 保存 overcloud 订阅管理环境文件。
  6. 创建一个 playbook,其中包含将软件仓库设置为所有节点上的 RHOSP 17.1 的任务:

    $ cat > ~/update_rhosp_repos.yaml <<'EOF'
    - hosts: all
      gather_facts: false
      tasks:
        - name: change osp repos
          command: subscription-manager repos --enable=openstack-17.1-for-rhel-9-x86_64-rpms
          become: true
    EOF
  7. 运行 update_rhosp_repos.yaml playbook:

    $ ansible-playbook -i ~/overcloud-deploy/<stack>/tripleo-ansible-inventory.yaml -f 25 ~/update_rhosp_repos.yaml --limit <undercloud>,<Controller>,<Compute>
    • <stack> 替换为您的堆栈的名称。
    • 使用 --limit 选项将内容应用到所有 RHOSP 节点。将 <undercloud>、<Controller> 和 <Compute> 替换为包含这些节点的环境中的 Ansible 组。不要针对 Ceph Storage 节点运行此 playbook,因为它们通常使用不同的订阅。
  8. 创建一个 playbook,其中包含一个任务,在所有 ceph 存储节点上将存储库设置为 RHOSP 17.1:

    $ cat > ~/update_ceph_repos.yaml <<'EOF'
    - hosts: all
      gather_facts: false
      tasks:
        - name: change ceph repos
          command: subscription-manager repos --enable=openstack-17.1-deployment-tools-for-rhel-9-x86_64-rpms
          become: true
    EOF
  9. 运行 update_ceph_repos.yaml playbook:

    $ ansible-playbook -i ~/overcloud-deploy/<stack>/tripleo-ansible-inventory.yaml -f 25 ~/update_ceph_repos.yaml --limit CephStorage

    使用 --limit 选项将内容应用到 Ceph Storage 节点。