예제 #1
0
class K8s(Base):
    id = fields.Integer()
    size = fields.Integer()
    network_id = fields.String(default="")
    ipaddress = fields.IPAddress()
    cluster_secret = fields.String(default="")
    master_ips = fields.List(fields.IPAddress())
    ssh_keys = fields.List(fields.String())
    public_ip = fields.Integer()
    stats_aggregator = fields.List(fields.Object(Statsaggregator))
    info = fields.Object(ReservationInfo)
    datastore_endpoint = fields.String(default="")
    disable_default_ingress = fields.Boolean(default=True)

    SIZES = VMSIZES

    def resource_units(self):

        resource_units = ResourceUnitAmount()
        size = VMSIZES.get(self.size)
        if not size:
            raise j.exceptions.Input(f"kubernetes size {self.size} not supported")

        resource_units.cru += size["cru"]
        resource_units.mru += size["mru"]
        resource_units.sru += size["sru"]
        return resource_units
예제 #2
0
파일: models.py 프로젝트: abdulgig/js-sdk
class K8s(Base):
    id = fields.Integer()
    size = fields.Integer()
    network_id = fields.String(default="")
    ipaddress = fields.IPAddress()
    cluster_secret = fields.String(default="")
    master_ips = fields.List(fields.IPAddress())
    ssh_keys = fields.List(fields.String())
    stats_aggregator = fields.List(fields.Object(Statsaggregator))
    info = fields.Object(ReservationInfo)
예제 #3
0
 def test_ipaddress_v4(self):
     """Success scenario for ipaddress ipv4 validation"""
     ipaddress = fields.IPAddress("192.168.0.1")
     self.assertEqual(ipaddress.default, "192.168.0.1")
     self.assertIsNone(ipaddress.validate("192.168.0.1"))
     """Failure scenario for ipaddress validation"""
     ipaddress = fields.IPAddress("192.168.0.1")
     self.assertEqual(ipaddress.default, "192.168.0.1")
     with self.assertRaises(ValidationError):
         ipaddress.validate("test")
예제 #4
0
class VirtualMachine(Base):
    id = fields.Integer()
    name = fields.String(default="")
    hub_url = fields.String(default="")
    description = fields.String(default="")
    network_connection = fields.List(fields.Object(ContainerNetworkConnection))
    network_id = fields.String()
    farmer_tid = fields.Integer()
    size = fields.Integer()
    info = fields.Object(ReservationInfo)
    ssh_keys = fields.List(fields.String())
    public_ip = fields.Integer()
    ipaddress = fields.IPAddress()
    SIZES = VMSIZES

    def resource_units(self):

        resource_units = ResourceUnitAmount()
        size = VMSIZES.get(self.size)
        if not size:
            raise j.exceptions.Input(f"VM size {self.size} not supported")

        resource_units.cru += size["cru"]
        resource_units.mru += size["mru"]
        resource_units.sru += size["sru"]
        return resource_units
예제 #5
0
class K8s(Base):
    id = fields.Integer()
    size = fields.Integer()
    network_id = fields.String(default="")
    ipaddress = fields.IPAddress()
    cluster_secret = fields.String(default="")
    master_ips = fields.List(fields.IPAddress())
    ssh_keys = fields.List(fields.String())
    public_ip = fields.Integer()
    stats_aggregator = fields.List(fields.Object(Statsaggregator))
    info = fields.Object(ReservationInfo)

    def resource_units(self):
        size_table = {
            1: {"cru": 1, "mru": 2, "sru": 50},
            2: {"cru": 2, "mru": 4, "sru": 100},
            3: {"cru": 2, "mru": 8, "sru": 25},
            4: {"cru": 2, "mru": 5, "sru": 50},
            5: {"cru": 2, "mru": 8, "sru": 200},
            6: {"cru": 4, "mru": 16, "sru": 50},
            7: {"cru": 4, "mru": 16, "sru": 100},
            8: {"cru": 4, "mru": 16, "sru": 400},
            9: {"cru": 8, "mru": 32, "sru": 100},
            10: {"cru": 8, "mru": 32, "sru": 200},
            11: {"cru": 8, "mru": 32, "sru": 800},
            12: {"cru": 16, "mru": 64, "sru": 200},
            13: {"cru": 16, "mru": 64, "sru": 400},
            14: {"cru": 16, "mru": 64, "sru": 800},
            15: {"cru": 1, "mru": 2, "sru": 25},
            16: {"cru": 2, "mru": 4, "sru": 50},
            17: {"cru": 4, "mru": 8, "sru": 50},
            18: {"cru": 1, "mru": 1, "sru": 25},
        }

        resource_units = ResourceUnitAmount()
        size = size_table.get(self.size)
        if not size:
            raise j.exceptions.Input(f"kubernetes size {self.size} not supported")

        resource_units.cru += size["cru"]
        resource_units.mru += size["mru"]
        resource_units.sru += size["sru"]
        return resource_units
예제 #6
0
class VDCHostBase(VDCWorkloadBase):
    ip_address = fields.IPAddress()

    @classmethod
    def from_workload(cls, workload):
        host = cls()
        host.node_id = workload.info.node_id
        host.pool_id = workload.info.pool_id
        host.wid = workload.id
        host.ip_address = workload.network_connection[0].ipaddress
        return host
예제 #7
0
class Machine(Base):
    ip = fields.IPAddress()
예제 #8
0
class FarmerIP(Base):
    address = fields.IPRange()
    gateway = fields.IPAddress()
    reservation_id = fields.Integer()
예제 #9
0
class ContainerNetworkConnection(Base):
    network_id = fields.String(default="")
    ipaddress = fields.IPAddress()
    public_ip6 = fields.Boolean()
예제 #10
0
 def test_ipaddress_network(self):
     """Success scenario for ipaddress network validation"""
     ipaddress = fields.IPAddress("192.168.0.0/28")
     self.assertEqual(ipaddress.default, "192.168.0.0/28")
     self.assertIsNone(ipaddress.validate("192.168.0.0/28"))
예제 #11
0
 def test_ipaddress_v6(self):
     """Success scenario for ipaddress ipv6 validation"""
     ipaddress = fields.IPAddress("2001:db8::")
     self.assertEqual(ipaddress.default, "2001:db8::")
     self.assertIsNone(ipaddress.validate("2001:db8::"))
예제 #12
0
class Server(Base):
    host = fields.IPAddress()
    network = fields.IPRange()
    port = fields.Port()
    uid = fields.GUID()
    key = fields.Bytes()