Circular reference error during re-schedule
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Invalid
|
Medium
|
Balazs Gibizer | ||
Ocata |
New
|
Undecided
|
Unassigned | ||
Pike |
Fix Released
|
Medium
|
Elod Illes | ||
Queens |
Fix Released
|
Undecided
|
s10 | ||
Rocky |
Fix Released
|
Medium
|
Balazs Gibizer |
Bug Description
Description
===========
Server cold migration fails after re-schedule.
Steps to reproduce
==================
* create a devstack with two compute hosts with libvirt driver
* set allow_resize_
* set up cellsv2 without cell conductor and rabbit separation to allow re-schedule logic to call back to the super conductor / scheduler
* enable NUMATopologyFilter and make sure both computes has NUMA resources
* create a flavor with hw:cpu_
* boot a server with the flavor. Check which compute the server is placed (let's call it host1)
* boot enough servers on host2 so that the next scheduling request could still be fulfilled by both computes but host1 will be preferred by the weighers
* cold migrate the pinned server
Expected result
===============
* scheduler selects host1 first but that host fails with UnableToMigrate
* re-schedule happens
* scheduler selects host2 where the server spawns successfully
Actual result
=============
* during the re-schedule when the conductor sends prep_resize RPC to host2 the json serialization of the request spec fails with Circural reference error.
Environment
===========
* two node devstack with libvirt driver
* stable/pike nova. But expected to be reproduced in newer branches but not since stein. See triage part
Triage
======
The json serialization blows up in the migrate conductor task. [1] After debugging I see that the infinit loop happens when jsonutils.
The problematic piece of code has been removed by I4244f7dd8fe745
tags: | added: stable-only |
Changed in nova: | |
assignee: | nobody → Balazs Gibizer (balazs-gibizer) |
status: | New → Triaged |
importance: | Undecided → Medium |
status: | Triaged → Invalid |
description: | updated |
Fix proposed to branch: stable/rocky /review. opendev. org/709798
Review: https:/