Skip to content

[Question/Bug] Manual close on a closed-by-parent child queue is overridden when parent queue is reopened #5681

Description

@karyxx

Description

I noticed a behavior regarding the state synchronization between parent and child queues, and I wanted to get a sanity check on whether this is the intended design or a bug.
When a parent queue is closed, the controller automatically closes the child queue and tags it with the annotation volcano.sh/closed-by-parent: "true".
However, if an admin manually closes the child queue while the parent is closed (using vcctl queue operate --name <child-queue> --action close), the controller does not update the closed-by-parent annotation because the queue state is already Closed.
When the parent queue is later reopened, the controller sees closed-by-parent: "true" on the child queue and automatically reopens it, overriding the explicit manual close command.

Steps to reproduce the issue

  1. Create a parent queue and a child queue pointing to it (both in Open state).
  2. Close the parent queue:
vcctl queue operate --name <parent-queue> --action close
  1. Close the child queue:
 vcctl queue operate --name <child-queue> --action close
  1. Reopen the parent queue:
vcctl queue operate --name <parent-queue> --action open
  1. Check child queue status:
kubectl get queue <child-queue> -o yaml   #childqueue should be open 

Describe the results you received and expected

Current behaviour: When the parent queue is reopened, the child queue automatically transitions back to the Open state. The annotation volcano.sh/closed-by-parent: "true" is never updated during the manual closing of child queue, which causes the controller to believe the queue was only closed by the parent, thus auto-reopening it.

Expected behaviour: The child queue should remain in the Closed state after the parent queue is reopened. When the admin explicitly closes the child-queue, the annotation volcano.sh/closed-by-parent should be updated to "false" (or deleted), indicating that the queue is now manually closed and should not be subject to automatic parent-conjunction reopening.

What version of Volcano are you using?

version: "1.15.0"

Any other relevant information

No response

Metadata

Metadata

Assignees

Labels

kind/bugCategorizes issue or PR as related to a bug.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions