Revision 2c758845 lib/query.py
b/lib/query.py | ||
---|---|---|
93 | 93 |
|
94 | 94 |
(GQ_CONFIG, |
95 | 95 |
GQ_NODE, |
96 |
GQ_INST) = range(200, 203) |
|
96 |
GQ_INST, |
|
97 |
GQ_DISKPARAMS) = range(200, 204) |
|
97 | 98 |
|
98 | 99 |
(CQ_CONFIG, |
99 | 100 |
CQ_QUEUE_DRAINED, |
... | ... | |
2002 | 2003 |
"""Data container for node group data queries. |
2003 | 2004 |
|
2004 | 2005 |
""" |
2005 |
def __init__(self, cluster, groups, group_to_nodes, group_to_instances): |
|
2006 |
def __init__(self, cluster, groups, group_to_nodes, group_to_instances, |
|
2007 |
want_diskparams): |
|
2006 | 2008 |
"""Initializes this class. |
2007 | 2009 |
|
2008 | 2010 |
@param cluster: Cluster object |
... | ... | |
2011 | 2013 |
@param group_to_nodes: Per-group list of nodes |
2012 | 2014 |
@type group_to_instances: dict; group UUID as key |
2013 | 2015 |
@param group_to_instances: Per-group list of (primary) instances |
2016 |
@type want_diskparams: bool |
|
2017 |
@param want_diskparams: Whether diskparamters should be calculated |
|
2014 | 2018 |
|
2015 | 2019 |
""" |
2016 | 2020 |
self.groups = groups |
2017 | 2021 |
self.group_to_nodes = group_to_nodes |
2018 | 2022 |
self.group_to_instances = group_to_instances |
2019 | 2023 |
self.cluster = cluster |
2024 |
self.want_diskparams = want_diskparams |
|
2020 | 2025 |
|
2021 | 2026 |
# Used for individual rows |
2022 | 2027 |
self.group_ipolicy = None |
2023 | 2028 |
self.ndparams = None |
2029 |
self.group_dp = None |
|
2024 | 2030 |
|
2025 | 2031 |
def __iter__(self): |
2026 | 2032 |
"""Iterate over all node groups. |
... | ... | |
2032 | 2038 |
for group in self.groups: |
2033 | 2039 |
self.group_ipolicy = self.cluster.SimpleFillIPolicy(group.ipolicy) |
2034 | 2040 |
self.ndparams = self.cluster.SimpleFillND(group.ndparams) |
2041 |
if self.want_diskparams: |
|
2042 |
self.group_dp = self.cluster.SimpleFillDP(group.diskparams) |
|
2043 |
else: |
|
2044 |
self.group_dp = None |
|
2035 | 2045 |
yield group |
2036 | 2046 |
|
2037 | 2047 |
|
... | ... | |
2095 | 2105 |
(_MakeField("ndparams", "NDParams", QFT_OTHER, |
2096 | 2106 |
"Node parameters"), |
2097 | 2107 |
GQ_CONFIG, 0, lambda ctx, _: ctx.ndparams), |
2108 |
(_MakeField("diskparams", "DiskParameters", QFT_OTHER, |
|
2109 |
"Disk parameters (merged)"), |
|
2110 |
GQ_DISKPARAMS, 0, lambda ctx, _: ctx.group_dp), |
|
2111 |
(_MakeField("custom_diskparams", "CustomDiskParameters", QFT_OTHER, |
|
2112 |
"Custom disk parameters"), |
|
2113 |
GQ_CONFIG, 0, _GetItemAttr("diskparams")), |
|
2098 | 2114 |
]) |
2099 | 2115 |
|
2100 | 2116 |
# ND parameters |
Also available in: Unified diff