Page MenuHomePhabricator

Create new g4 flavors to support hypervisor migration from Linuxbridge to OVS Neutron agents
Closed, ResolvedPublic

Description

We have discovered that there's a need to run a single manual database update when migrating an instance from a hypervisor using the current Linuxbridge Neutron agent to the OVS Neutron agent. This is fine (and much better than my initial fears), but requires splitting the hypervisor pool into two with a manual process to migrate instances from Linuxbridge to OVS enabled hypervisors.

I believe the best way to do this is with Nova aggregates and a new set of g4 flavors. These new flavors should be otherwise identical to the current set of g3 (and g2?) flavors except for the Neutron agent selection.

Event Timeline

Seems like Nova (or Placement) do not support a flavor targeting the lack of an aggregate property value on a host. So we will temporarily need to create two aggregates, and once the migration is done we can to remove the OVS/Linuxbridge filters from the flavors and retire those aggregates.

Created new aggregates for testing in codfw1dev:

taavi@cloudcontrol2004-dev ~ $ os aggregate create network-ovs
taavi@cloudcontrol2004-dev ~ $ os aggregate create network-linuxbridge
taavi@cloudcontrol2004-dev ~ $ os aggregate set --property network-agent=ovs network-ovs
taavi@cloudcontrol2004-dev ~ $ os aggregate set --property network-agent=linuxbridge network-linuxbridge
taavi@cloudcontrol2004-dev ~ $ os aggregate add host network-ovs cloudvirt2001-dev
taavi@cloudcontrol2004-dev ~ $ os aggregate add host network-ovs cloudvirt2002-dev
taavi@cloudcontrol2004-dev ~ $ os aggregate add host network-linuxbridge cloudvirt2003-dev
taavi@cloudcontrol2004-dev ~ $ os aggregate add host network-linuxbridge cloudvirt2004-dev
taavi@cloudcontrol2004-dev ~ $ os aggregate add host network-linuxbridge cloudvirt2005-dev
taavi@cloudcontrol2004-dev ~ $ os aggregate add host network-linuxbridge cloudvirt2006-dev

And documented them at https://wikitech.wikimedia.org/wiki/Portal:Cloud_VPS/Admin/Host_aggregates.

Updated existing flavors in codfw1dev:

taavi@cloudcontrol2006-dev ~ $ os flavor list --all -f json | jq -r '.[]|select(.Name | contains("g4") | not).ID' | xargs -L1 sudo wmcs-openstack flavor set --property aggregate_instance_extra_specs:network-agent=linuxbridge

Mentioned in SAL (#wikimedia-cloud) [2024-06-11T12:28:30Z] <taavi> add all existing eqiad1 cloudvirts to new network-linuxbridge aggregate T364458

Mentioned in SAL (#wikimedia-cloud) [2024-06-11T13:30:06Z] <taavi> pin all existing eqiad1 flavors to linuxbridge hypervisors T364458

Change #1042190 had a related patch set uploaded (by Majavah; author: Majavah):

[cloud/wmcs-cookbooks@main] openstack: Drop add_flavor cookbook

https://gerrit.wikimedia.org/r/1042190

Change #1042190 merged by jenkins-bot:

[cloud/wmcs-cookbooks@main] openstack: Drop add_flavor cookbook

https://gerrit.wikimedia.org/r/1042190

Change #1043142 had a related patch set uploaded (by Majavah; author: Majavah):

[operations/puppet@production] openstack: nova-fullstack: Use g4 flavor

https://gerrit.wikimedia.org/r/1043142

Change #1043142 merged by Majavah:

[operations/puppet@production] openstack: nova-fullstack: Use g4 flavor

https://gerrit.wikimedia.org/r/1043142

Change #1043161 had a related patch set uploaded (by Andrew Bogott; author: Andrew Bogott):

[operations/puppet@production] nova policy: temporarily disable VM resizing

https://gerrit.wikimedia.org/r/1043161

Change #1043161 merged by Andrew Bogott:

[operations/puppet@production] nova policy: temporarily disable VM resizing

https://gerrit.wikimedia.org/r/1043161