Skip to content

Commit 22e1a84

Browse files
Converged network node support
1 parent 8039f18 commit 22e1a84

File tree

11 files changed

+29
-365
lines changed

11 files changed

+29
-365
lines changed

doc/source/operations/upgrading-openstack.rst

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1082,8 +1082,8 @@ scope of the upgrade:
10821082
10831083
kayobe overcloud service upgrade --tags config --kolla-tags keystone
10841084
1085-
OVS (w/ Dedicated network nodes)
1086-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1085+
OVS
1086+
^^^
10871087

10881088
You should first stop the Octavia health manager to prevent alerts during
10891089
the service upgrade.
@@ -1092,12 +1092,19 @@ the service upgrade.
10921092
10931093
kayobe overcloud host command run --command "docker stop octavia_health_manager" --limit controllers --become
10941094
1095-
Upgrade the control plane services
1095+
For dedicated network nodes, upgrade the control plane services:
10961096

10971097
.. code-block:: console
10981098
10991099
kayobe overcloud serivce upgrade --kolla-limit controllers
11001100
1101+
For converged network nodes, you should specify the service limit to only
1102+
upgrade the Neutron API service.
1103+
1104+
.. code-block:: console
1105+
1106+
kayobe overcloud serivce upgrade --kolla-limit controllers -ke neutron_service_limit=neutron-server
1107+
11011108
To ensure L3 reliability during the upgrade, we will need to manually drain
11021109
the network nodes of all agents, and upgrade the nodes sequentially.
11031110

@@ -1113,7 +1120,7 @@ the node for maintenance and begin draining the agents:
11131120

11141121
.. code-block:: console
11151122
1116-
kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/neutron-l3-drain.yml -e neutron_drain_host=<network0> -e maintenance=true -e drain_dhcp_agents=true
1123+
kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/neutron-l3-drain.yml -e neutron_namespace_drain_host=<network0> -e maintenance=true -e neutron_namespace_drain_dhcp_agents=true
11171124
11181125
You can monitor the L3/DHCP agents being drained from the node by running:
11191126

@@ -1122,17 +1129,24 @@ You can monitor the L3/DHCP agents being drained from the node by running:
11221129
ssh -t <network0> watch ip netns ls
11231130
11241131
Once all agents have been drained, you can upgrade the containerised services
1125-
on the network node.
1132+
on the network node. For dedicated network nodes run:
11261133

11271134
.. code-block:: console
11281135
11291136
kayobe overcloud service upgrade --kolla-limit <network0>
11301137
1138+
Converged network nodes will require specifying the the service limit for the Neutron
1139+
agents.
1140+
1141+
.. code-block:: console
1142+
1143+
kayobe overcloud service upgrade --kolla-limit <network0> -ke neutron_service_limit='neutron-openvswitch-agent,neutron-dhcp-agent,neutron-l3-agent,neutron-metadata-agent,ironic-neutron-agent'
1144+
11311145
Following the service upgrade, the agents can be restored on the node by disabling maintenance:
11321146

11331147
.. code-block:: console
11341148
1135-
kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/neutron-l3-drain.yml -e neutron_drain_host=<network0> -e maintenance=false -e drain_dhcp_agents=true
1149+
kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/neutron-l3-drain.yml -e neutron_namespace_drain_host=<network0> -e maintenance=false -e neutron_namespace_drain_dhcp_agents=true
11361150
11371151
The above steps should be repeated for the remaining network nodes, once all network nodes have been upgraded
11381152
the remaining containerised services can be upgraded:

etc/kayobe/ansible/neutron-l3-drain.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,18 @@
66
- neutron-l3-drain
77
vars:
88
maintenance: false
9-
drain_ctrl1: false
10-
drain_ctrl2: false
11-
drain_ctrl3: false
9+
neutron_namespace_drain_ctrl1: false
10+
neutron_namespace_drain_ctrl2: false
11+
neutron_namespace_drain_ctrl3: false
1212
tasks:
1313
- import_role:
14-
name: neutron-namespace-drain
14+
name: stackhpc.openstack_ops.neutron_namespace_drain
1515
tasks_from: main.yml
16-
when: drain_ctrl1 | bool or drain_ctrl2 | bool or drain_ctrl3 | bool or neutron_drain_host is defined
16+
when: neutron_namespace_drain_ctrl1 | bool or neutron_namespace_drain_ctrl2 | bool or neutron_namespace_drain_ctrl3 | bool or neutron_namespace_drain_host is defined
1717
- name: "Print Info"
1818
debug:
1919
msg:
20-
- "{{ neutron_drain_host }} is read for maintenance"
20+
- "{{ neutron_namespace_drain_host }} is read for maintenance"
2121
- "rerun this play book with -e maintenance=false to re-add"
2222
- "routers"
2323
when: maintenance | bool

etc/kayobe/ansible/requirements.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ collections:
1212
version: 2.5.1
1313
- name: stackhpc.kayobe_workflows
1414
version: 1.1.0
15+
- name: https://github.com/stackhpc/ansible-collection-openstack-ops
16+
type: git
17+
version: feature/neutron-namespace-drain
1518
roles:
1619
- src: stackhpc.vxlan
1720
- name: ansible-lockdown.ubuntu22_cis

etc/kayobe/ansible/roles/neutron-namespace-drain/defaults/main.yml

Lines changed: 0 additions & 8 deletions
This file was deleted.

etc/kayobe/ansible/roles/neutron-namespace-drain/tasks/add-dhcp.yml

Lines changed: 0 additions & 51 deletions
This file was deleted.

etc/kayobe/ansible/roles/neutron-namespace-drain/tasks/add-new-l3.yml

Lines changed: 0 additions & 43 deletions
This file was deleted.

etc/kayobe/ansible/roles/neutron-namespace-drain/tasks/drain-dhcp.yml

Lines changed: 0 additions & 87 deletions
This file was deleted.

etc/kayobe/ansible/roles/neutron-namespace-drain/tasks/drain-l3.yml

Lines changed: 0 additions & 90 deletions
This file was deleted.

0 commit comments

Comments
 (0)