MCPcopy Create free account
hub / github.com/apache/cloudstack / CsInterface

Class CsInterface

systemvm/debian/opt/cloud/bin/cs/CsAddress.py:141–259  ·  view source on GitHub ↗

Hold one single ip

Source from the content-addressed store, hash-verified

139
140
141class CsInterface:
142
143 """ Hold one single ip """
144
145 def __init__(self, o, config):
146 self.address = o
147 self.config = config
148
149 def get_ip(self):
150 return self.get_attr("public_ip")
151
152 def get_ip6(self):
153 if not self.config.is_vpc():
154 return self.config.cmdline().get_dev_ip6prelen(self.get_device())
155 if self.is_public():
156 return self.config.guestnetwork().get_router_ip6prelen()
157 elif self.is_guest():
158 return self.config.guestnetwork().get_dev_ip6prelen(self.get_device())
159 return self.get_attr("public_ip6")
160
161 def get_network(self):
162 return self.get_attr("network")
163
164 def get_netmask(self):
165 return self.get_attr("netmask")
166
167 def get_gateway(self):
168 if self.config.is_vpc() or not self.is_guest():
169 return self.get_attr("gateway")
170 else:
171 return self.config.cmdline().get_guest_gw()
172
173 def get_gateway6(self):
174 if self.config.is_vpc():
175 if self.is_public():
176 return self.config.guestnetwork().get_router_ip6gateway()
177 elif self.is_guest():
178 return self.config.guestnetwork().get_dev_ip6gateway(self.get_device())
179 else:
180 if self.is_public():
181 return self.config.cmdline().get_ip6gateway()
182 elif self.is_guest():
183 return self.config.cmdline().get_guest_ip6gateway()
184 return self.get_attr("gateway6")
185
186 def ip_in_subnet(self, ip):
187 ipo = IPAddress(ip)
188 net = IPNetwork("%s/%s" % (self.get_ip(), self.get_size()))
189 return ipo in net
190
191 def get_gateway_cidr(self):
192 return "%s/%s" % (self.get_gateway(), self.get_size())
193
194 def get_gateway6_cidr(self):
195 gw6 = self.get_gateway6()
196 cidr6_size = self.get_cidr6_size()
197 if not gw6 or not cidr6_size or gw6 == "ERROR" or cidr6_size == "ERROR":
198 return False

Callers 5

setUpMethod · 0.90
get_interfacesMethod · 0.85
post_configureMethod · 0.85
get_gatewayMethod · 0.85
is_guest_gatewayMethod · 0.85

Calls

no outgoing calls

Tested by 1

setUpMethod · 0.72