Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

第 4 章 更新 Overcloud

此过程更新 overcloud。

前提条件

  • 您已将 undercloud 更新至最新版本。

4.1. 加快 overcloud 更新

为加快 overcloud 更新过程,您可以配置 DockerPuppetProcessCount heat 参数,清除您的数据库条目,并在执行更新前下载 overcloud 节点上的所需软件包。

有关为大型 OpenStack 部署加快更新过程的更多信息,请参阅红帽知识库文章 Openstack Director Node Tuning for大型部署

流程

  1. stack 用户的身份登录 undercloud。
  2. Source stackrc 文件:

    $ source ~/stackrc
  3. 要增加 container-puppet 用来生成配置文件的并发进程数量,您必须配置 DockerPuppetProcessCount 参数。

    1. 模板 目录中创建一个名为 updates-environment.yaml 的环境文件:

      $ touch ~/templates/updates-environment.yaml
    2. 编辑该文件并添加以下内容:

      parameter_defaults:
          DockerPuppetProcessCount: 8
    3. 在运行 openstack overcloud update prepareopenstack overcloud ceph-upgrade run,以及 openstack overcloud update converge 命令时,使用 -e 选项包含此环境文件。
  4. 清除您的数据库条目:

    $ sudo docker exec -u 42436 -ti nova_api_cron bash
    $ nova-manage db archive_deleted_rows --max_rows 1000
    $ exit
  5. 要下载所有 overcloud 节点上更新所需的所有软件包,请完成以下步骤:

    1. 创建 overcloud 的静态清单文件:

      $ tripleo-ansible-inventory \
      --ansible_ssh_user heat-admin \
      --static-yaml-inventory ~/inventory.yaml
    2. 创建以下 Ansible playbook:

      $ cat > ~/yum-download-only.yaml <<'EOF'
      - hosts: all
        gather_facts: false
        tasks:
          - name: Pre-download all packages on all overcloud nodes
            shell:
              yum upgrade -y --downloadonly
            become: true
      EOF
    3. 运行 yum-download-only.yaml Ansible playbook:

      $ ansible-playbook \
      -i ~/inventory.yaml \
      -f 20 ~/yum-download-only.yaml \
      --limit Controller,Compute,CephStorage