Commit 7e55040e authored by Guido Trotter's avatar Guido Trotter
Browse files

Add REQ_BGL LogicalUnit run requirement

When logical units have REQ_BGL set (it is currently the default) they
need to be the only ganeti operation run on the cluster, and we'll
guarantee it at the master daemon level. Currently only one thread is
running at a time, so this requirement is never broken.

Reviewed-by: iustinp
parent 2da55f7c
...@@ -57,6 +57,7 @@ class LogicalUnit(object): ...@@ -57,6 +57,7 @@ class LogicalUnit(object):
- optionally redefine their run requirements: - optionally redefine their run requirements:
REQ_MASTER: the LU needs to run on the master node REQ_MASTER: the LU needs to run on the master node
REQ_WSSTORE: the LU needs a writable SimpleStore REQ_WSSTORE: the LU needs a writable SimpleStore
REQ_BGL: the LU needs to hold the Big Ganeti Lock exclusively
Note that all commands require root permissions. Note that all commands require root permissions.
...@@ -66,6 +67,7 @@ class LogicalUnit(object): ...@@ -66,6 +67,7 @@ class LogicalUnit(object):
_OP_REQP = [] _OP_REQP = []
REQ_MASTER = True REQ_MASTER = True
REQ_WSSTORE = False REQ_WSSTORE = False
REQ_BGL = True
def __init__(self, processor, op, cfg, sstore): def __init__(self, processor, op, cfg, sstore):
"""Constructor for LogicalUnit. """Constructor for LogicalUnit.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment