Revision d01ae714
b/lib/confd/querylib.py | ||
---|---|---|
208 | 208 |
|
209 | 209 |
return status, answer |
210 | 210 |
|
211 |
|
|
212 |
class InstancesIpsQuery(ConfdQuery): |
|
213 |
"""A query for instances IPs. |
|
214 |
|
|
215 |
It returns the list of instances IPs. |
|
216 |
|
|
217 |
""" |
|
218 |
def Exec(self, query): |
|
219 |
"""InstancesIpsQuery main execution. |
|
220 |
|
|
221 |
""" |
|
222 |
if query is None: |
|
223 |
status = constants.CONFD_REPL_STATUS_OK |
|
224 |
answer = self.reader.GetInstancesIps() |
|
225 |
else: |
|
226 |
status = constants.CONFD_REPL_STATUS_ERROR |
|
227 |
answer = "non-empty instances IPs query" |
|
228 |
|
|
229 |
return status, answer |
|
230 |
|
b/lib/confd/server.py | ||
---|---|---|
54 | 54 |
constants.CONFD_REQ_CLUSTER_MASTER: querylib.ClusterMasterQuery, |
55 | 55 |
constants.CONFD_REQ_NODE_PIP_LIST: querylib.NodesPipsQuery, |
56 | 56 |
constants.CONFD_REQ_MC_PIP_LIST: querylib.MasterCandidatesPipsQuery, |
57 |
constants.CONFD_REQ_INSTANCES_IPS_LIST: querylib.InstancesIpsQuery, |
|
57 | 58 |
} |
58 | 59 |
|
59 | 60 |
def __init__(self): |
b/lib/constants.py | ||
---|---|---|
641 | 641 |
CONFD_REQ_CLUSTER_MASTER = 3 |
642 | 642 |
CONFD_REQ_NODE_PIP_LIST = 4 |
643 | 643 |
CONFD_REQ_MC_PIP_LIST = 5 |
644 |
CONFD_REQ_INSTANCES_IPS_LIST = 6 |
|
644 | 645 |
|
645 | 646 |
CONFD_REQS = frozenset([ |
646 | 647 |
CONFD_REQ_PING, |
... | ... | |
649 | 650 |
CONFD_REQ_CLUSTER_MASTER, |
650 | 651 |
CONFD_REQ_NODE_PIP_LIST, |
651 | 652 |
CONFD_REQ_MC_PIP_LIST, |
653 |
CONFD_REQ_INSTANCES_IPS_LIST, |
|
652 | 654 |
]) |
653 | 655 |
|
654 | 656 |
CONFD_REPL_STATUS_OK = 0 |
b/lib/ssconf.py | ||
---|---|---|
100 | 100 |
(self._file_name, err)) |
101 | 101 |
|
102 | 102 |
self._ip_to_instance = {} |
103 |
self._instances_ips = [] |
|
103 | 104 |
for iname in self._config_data['instances']: |
104 | 105 |
instance = self._config_data['instances'][iname] |
105 | 106 |
for nic in instance['nics']: |
106 | 107 |
if 'ip' in nic and nic['ip']: |
108 |
self._instances_ips.append(nic['ip']) |
|
107 | 109 |
self._ip_to_instance[nic['ip']] = iname |
108 | 110 |
|
109 | 111 |
self._nodes_primary_ips = [] |
... | ... | |
201 | 203 |
def GetMasterCandidatesPrimaryIps(self): |
202 | 204 |
return self._mc_primary_ips |
203 | 205 |
|
206 |
def GetInstancesIps(self): |
|
207 |
return self._instances_ips |
|
208 |
|
|
204 | 209 |
|
205 | 210 |
class SimpleStore(object): |
206 | 211 |
"""Interface to static cluster data. |
Also available in: Unified diff