Revision 565cb4bf qa/qa_config.py
b/qa/qa_config.py | ||
---|---|---|
118 | 118 |
"primary", |
119 | 119 |
"secondary", |
120 | 120 |
"_added", |
121 |
"use_count", |
|
121 |
"_use_count",
|
|
122 | 122 |
] |
123 | 123 |
|
124 | 124 |
def __init__(self, primary, secondary): |
... | ... | |
127 | 127 |
""" |
128 | 128 |
self.primary = primary |
129 | 129 |
self.secondary = secondary |
130 |
self.use_count = 0 |
|
131 | 130 |
self._added = False |
131 |
self._use_count = 0 |
|
132 | 132 |
|
133 | 133 |
@classmethod |
134 | 134 |
def FromDict(cls, data): |
... | ... | |
161 | 161 |
"""Marks a node as being in use. |
162 | 162 |
|
163 | 163 |
""" |
164 |
assert self.use_count >= 0 |
|
164 |
assert self._use_count >= 0
|
|
165 | 165 |
|
166 |
self.use_count += 1 |
|
166 |
self._use_count += 1
|
|
167 | 167 |
|
168 | 168 |
return self |
169 | 169 |
|
170 |
def Release(self): |
|
171 |
"""Release a node (opposite of L{Use}). |
|
172 |
|
|
173 |
""" |
|
174 |
assert self.use_count > 0 |
|
175 |
|
|
176 |
self._use_count -= 1 |
|
177 |
|
|
170 | 178 |
def MarkAdded(self): |
171 | 179 |
"""Marks node as having been added to a cluster. |
172 | 180 |
|
... | ... | |
188 | 196 |
""" |
189 | 197 |
return self._added |
190 | 198 |
|
199 |
@property |
|
200 |
def use_count(self): |
|
201 |
"""Returns number of current uses (controlled by L{Use} and L{Release}). |
|
202 |
|
|
203 |
""" |
|
204 |
return self._use_count |
|
205 |
|
|
191 | 206 |
|
192 | 207 |
_RESOURCE_CONVERTER = { |
193 | 208 |
"instances": _QaInstance.FromDict, |
... | ... | |
616 | 631 |
return nodes |
617 | 632 |
|
618 | 633 |
|
619 |
def ReleaseNode(node): |
|
620 |
assert node.use_count > 0 |
|
621 |
|
|
622 |
node.use_count -= 1 |
|
623 |
|
|
624 |
|
|
625 | 634 |
def ReleaseManyNodes(nodes): |
626 |
for n in nodes: |
|
627 |
ReleaseNode(n) |
|
635 |
for node in nodes: |
|
636 |
node.Release() |
Also available in: Unified diff