Status: New
Owner: ----

New issue 1144 by [email protected]: instance change-group operation broken in 2.15.1
https://code.google.com/p/ganeti/issues/detail?id=1144

What software version are you running? Please provide the output of "gnt-
cluster --version", "gnt-cluster version", and "hspace --version".
# gnt-cluster --version
gnt-cluster (ganeti 2.15.1-1~bpo8+1) 2.15.1

# gnt-cluster version
Software version: 2.15.1
Internode protocol: 2150000
Configuration format: 2150000
OS api version: 20
Export interface: 0
VCS version: (ganeti) version 2.15.1-1~bpo8+1

# hspace --version
hspace (ganeti) version 2.15.1-1~bpo8+1
compiled with ghc 7.6
running on linux x86_64

What distribution are you using?
Debian Jessie (8.2)

What steps will reproduce the problem?
1. Having two or more nodegroups (our cluster has 5) and a drbd instance with master/secondary in nodegroup A
2. gnt-instance change-group --to B instance1

What is the expected output? What do you see instead?
The command should initiate the change-group operation, instead I get this:
# gnt-instance change-group --to B instance1
Failure: command execution error:
Internal assertion error: please report this as a bug.
Error message: 'Instance instance1's nodes changed while we kept the lock'; location: File "/usr/share/ganeti/2.15/ganeti/cmdlib/instance.py", line 775, in CheckPrereq
    self.op.instance_name)

By checking the mentioned assertion and doing the following change:
$ diff /usr/share/ganeti/2.15/ganeti/cmdlib/instance.py /usr/share/ganeti/2.15/ganeti/cmdlib/instance.py.orig
774,775c774,775
< ("Instance %s's nodes changed while we kept the lock, owned_nodes: %s, instance_all_nodes: %s" %
<        (self.op.instance_name, str(owned_nodes), str(instance_all_nodes)))
---
       ("Instance %s's nodes changed while we kept the lock" %
        self.op.instance_name)

I get the following, more informative message:
# gnt-instance change-group --to B instance1
Failure: command execution error:
Internal assertion error: please report this as a bug.
Error message: 'Instance instance1's nodes changed while we kept the lock, owned_nodes: frozenset([]), instance_all_nodes: ('f2972bbb-6990-4e3e-8a7a-8216c3be1dd6', '0fbed19e-8a8f-41c1-890f-b43f18e88e29')'; location: File "/usr/share/ganeti/2.15/ganeti/cmdlib/instance.py", line 775, in CheckPrereq
    (self.op.instance_name, str(owned_nodes), str(instance_all_nodes)))

Looks like the node lock operation in cmdlib/instance.py:762, fails silently for some reason and returns an empty array/frozenset. Any ideas how can I debug this further?

Thanks

--
You received this message because this project is configured to send all issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

Reply via email to