2.2. Modifying an OpenStackDataPlaneNodeSet CR
您可以修改现有的 OpenStackDataPlaneNodeSet
自定义资源(CR),以添加新节点或更新节点配置。每个节点只能包含在一个 OpenStackDataPlaneNodeSet
CR 中。每个节点集只能连接到一个 Compute 单元。默认情况下,节点集连接到 cell1
。如果您的 control plane 包含额外的 Compute 单元,您必须指定节点集连接的单元。
要将 OpenStackDataPlaneNodeSet
CR 修改应用到数据平面,您可以创建一个 OpenStackDataPlaneDeployment
CR 来部署修改后的 OpenStackDataPlaneNodeSet
CR。
当 OpenStackDataPlaneDeployment
成功执行后,它不会自动执行 Ansible,即使 OpenStackDataPlaneDeployment
或相关的 OpenStackDataPlaneNodeSet
资源已更改。要启动另一个 Ansible 执行,您必须创建另一个 OpenStackDataPlaneDeployment
CR。
流程
-
为您要更新的节点集打开
OpenStackDataPlaneNodeSet
CR 定义文件,如openstack_data_plane.yaml
。 -
更新或添加您需要的配置。有关可用于配置通用节点属性的属性的信息,请参阅 Deploying Red Hat OpenStack Services on OpenShift 指南中的
OpenStackDataPlaneNodeSet
CR spec 属性。 -
保存
OpenStackDataPlaneNodeSet
CR 定义文件。 应用更新的
OpenStackDataPlaneNodeSet
CR 配置:$ oc apply -f openstack_data_plane.yaml
通过确认状态为
SetupReady
来验证 data plane 资源是否已更新:$ oc wait openstackdataplanenodeset openstack-data-plane --for condition=SetupReady --timeout=10m
当状态为
SetupReady
时,命令会返回一个condition met
信息,否则会返回超时错误。如需有关 data plane 条件和状态的信息,请参阅 在 OpenShift 上部署 Red Hat OpenStack Services 中的 Data plane 条件 和状态。
在工作站上创建一个文件来定义
OpenStackDataPlaneDeployment
CR:apiVersion: dataplane.openstack.org/v1beta1 kind: OpenStackDataPlaneDeployment metadata: name: <node_set_deployment_name>
提示为定义文件和
OpenStackDataPlaneDeployment
CR 指定一个唯一的描述性名称,指示修改的节点集的目的。添加您修改的
OpenStackDataPlaneNodeSet
CR:spec: nodeSets: - <nodeSet_name>
-
保存
OpenStackDataPlaneDeployment
CR 部署文件。 部署修改后的
OpenStackDataPlaneNodeSet
CR:$ oc create -f openstack_data_plane_deploy.yaml -n openstack
您可以在部署执行时查看 Ansible 日志:
$ oc get pod -l app=openstackansibleee -w $ oc logs -l app=openstackansibleee -f --max-log-requests 10
如果
oc logs
命令返回类似以下错误的错误,请提高--max-log-requests
值:error: you are attempting to follow 19 log streams, but maximum allowed concurrency is 10, use --max-log-requests to increase the limit
验证修改后的
OpenStackDataPlaneNodeSet
CR 是否已部署:$ oc get openstackdataplanedeployment -n openstack NAME STATUS MESSAGE openstack-data-plane True Setup Complete $ oc get openstackdataplanenodeset -n openstack NAME STATUS MESSAGE openstack-data-plane True NodeSet Ready
有关返回状态的含义的信息,请参阅 在 OpenShift 上部署 Red Hat OpenStack Services 指南中的 Data plane 条件和状态。
如果状态表示 data plane 尚未部署,则对部署进行故障排除。如需更多信息,请参阅在 OpenShift 上部署 Red Hat OpenStack Services 指南中的对 data plane 创建和部署进行故障排除。
如果您将新节点添加到节点集中,请将节点映射到它所连接的 Compute 单元:
$ oc rsh nova-cell0-conductor-0 nova-manage cell_v2 discover_hosts --verbose
如果您没有创建额外的单元,这个命令会将 Compute 节点映射到
cell1
。访问
openstackclient
pod 的远程 shell,并验证部署的 Compute 节点是否在 control plane 上可见:$ oc rsh -n openstack openstackclient $ openstack hypervisor list