Esempio n. 1
0
class NodePublicIface(Base):
    master = fields.String(default="")
    type = fields.Enum(NicType)
    ipv4 = fields.IPRange()
    ipv6 = fields.IPRange()
    gw4 = fields.IPRange()
    gw6 = fields.IPRange()
    version = fields.Integer()
Esempio n. 2
0
class NetworkResource(Base):
    id = fields.Integer()
    name = fields.String(default="")
    network_iprange = fields.IPRange(default="10.10.0.0/16")
    wireguard_private_key_encrypted = fields.String(default="")
    wireguard_public_key = fields.String(default="")
    wireguard_listen_port = fields.Integer()
    iprange = fields.IPRange(default="10.10.10.0/24")
    peers = fields.List(fields.Object(WireguardPeer))
    info = fields.Object(ReservationInfo)
Esempio n. 3
0
class KubernetesNode(VDCHostBase):
    role = fields.Enum(KubernetesRole)
    public_ip = fields.IPRange()
    _size = fields.Integer()

    @property
    def size(self):
        return VDC_SIZE.K8SNodeFlavor(self._size)

    @classmethod
    def from_workload(cls, workload):
        node = cls()
        node.wid = workload.id
        node.ip_address = workload.ipaddress
        if workload.master_ips:
            node.role = KubernetesRole.WORKER
        else:
            node.role = KubernetesRole.MASTER
        node.node_id = workload.info.node_id
        node.pool_id = workload.info.pool_id
        if workload.public_ip:
            zos = get_zos()
            public_ip_workload = zos.workloads.get(workload.public_ip)
            address = str(netaddr.IPNetwork(public_ip_workload.ipaddress).ip)
            node.public_ip = address

        node._size = (
            VDC_SIZE.K8SNodeFlavor(workload.size).value
            if workload.size in [size.value for size in K8S_SIZES]
            else VDC_SIZE.K8SNodeFlavor.SMALL.value
        )
        return node
Esempio n. 4
0
class Network(Base):
    name = fields.String(default="")
    workload_id = fields.Integer()
    iprange = fields.IPRange(default="10.10.0.0/16")
    stats_aggregator = fields.List(fields.Object(Statsaggregator))
    network_resources = fields.List(fields.Object(NetworkResource))
    farmer_tid = fields.Integer()
Esempio n. 5
0
class PublicIP(Base):
    id = fields.Integer()
    ipaddress = fields.IPRange()
    info = fields.Object(ReservationInfo)

    def resource_units(self):
        resource_units = ResourceUnitAmount()
        resource_units.ipv4u = 1
        return resource_units
Esempio n. 6
0
class Farm(Base):
    id = fields.Integer()
    threebot_id = fields.Integer()
    iyo_organization = fields.String(default="")
    name = fields.String(default="")
    wallet_addresses = fields.List(fields.Object(WalletAddress))
    location = fields.Object(Location)
    email = fields.Email()
    resource_prices = fields.List(fields.Object(ResourceUnitPrice))
    prefix_zero = fields.IPRange()

    def __str__(self):
        return " - ".join([x for x in [self.name, str(self.location)] if x])
Esempio n. 7
0
class Farm(Base):
    id = fields.Integer()
    threebot_id = fields.Integer()
    iyo_organization = fields.String(default="")
    name = fields.String(default="")
    wallet_addresses = fields.List(fields.Object(WalletAddress))
    location = fields.Object(Location)
    email = fields.Email()
    resource_prices = fields.List(fields.Object(ResourceUnitPrice))
    prefix_zero = fields.IPRange()
    ipaddresses = fields.List(fields.Object(FarmerIP))
    enable_custom_pricing = fields.Boolean(default=False)
    farm_cloudunits_price = fields.Object(CloudUnitMonthPrice)
    is_grid3_compliant = fields.Boolean(default=False)

    def __str__(self):
        return " - ".join([x for x in [self.name, str(self.location)] if x])
Esempio n. 8
0
class WireguardPeer(Base):
    public_key = fields.String(default="")
    allowed_iprange = fields.List(fields.IPRange())
    endpoint = fields.String(default="")
    iprange = fields.IPRange(default="10.10.11.0/24")
Esempio n. 9
0
class FarmerIP(Base):
    address = fields.IPRange()
    gateway = fields.IPAddress()
    reservation_id = fields.Integer()
Esempio n. 10
0
class NodeIface(Base):
    name = fields.String(default="")
    addrs = fields.List(fields.IPRange())
    gateway = fields.List(fields.IPRange())
Esempio n. 11
0
class Server(Base):
    host = fields.IPAddress()
    network = fields.IPRange()
    port = fields.Port()
    uid = fields.GUID()
    key = fields.Bytes()
Esempio n. 12
0
 def test_ipaddress_network(self):
     """Success scenario for ipaddress network validation"""
     ipaddress = fields.IPRange("192.168.0.0/28")
     self.assertEqual(ipaddress.default, "192.168.0.0/28")
     self.assertIsNone(ipaddress.validate("192.168.0.0/28"))