CORD-1250 Update to new Service/Tenancy models
Change-Id: I7532a2728e42a90c2a597e01b8f5d702221bf857
diff --git a/xos/models.py b/xos/models.py
index 906d125..32dd4f2 100644
--- a/xos/models.py
+++ b/xos/models.py
@@ -1,5 +1,5 @@
from django.db import models
-from core.models import Service, XOSBase, Slice, Instance, Tenant, TenantWithContainer, Node, Image, User, Flavor, NetworkParameter, NetworkParameterType, Port, AddressPool
+from core.models import Service, XOSBase, Slice, Instance, ServiceInstance, Node, Image, User, Flavor, NetworkParameter, NetworkParameterType, Port, AddressPool
from core.models.xosbase import StrippedCharField
import os
from django.db import models, transaction
@@ -22,40 +22,39 @@
proxy = True
def ip_to_mac(self, ip):
- (a, b, c, d) = ip.split('.')
- return "02:42:%02x:%02x:%02x:%02x" % (int(a), int(b), int(c), int(d))
+ (a, b, c, d) = ip.split('.')
+ return "02:42:%02x:%02x:%02x:%02x" % (int(a), int(b), int(c), int(d))
def get_gateways(self):
- gateways = []
+ gateways = []
+ aps = self.addresspools.all()
+ for ap in aps:
+ gateways.append({"gateway_ip": ap.gateway_ip, "gateway_mac": ap.gateway_mac})
- aps = self.addresspools.all()
- for ap in aps:
- gateways.append({"gateway_ip": ap.gateway_ip, "gateway_mac": ap.gateway_mac})
-
- return gateways
+ return gateways
def get_address_pool(self, name):
- ap = AddressPool.objects.filter(name=name, service=self)
- if not ap:
- raise Exception("vRouter unable to find addresspool %s" % name)
- return ap[0]
+ ap = AddressPool.objects.filter(name=name, service=self)
+ if not ap:
+ raise Exception("vRouter unable to find addresspool %s" % name)
+ return ap[0]
def get_tenant(self, **kwargs):
- address_pool_name = kwargs.pop("address_pool_name")
+ address_pool_name = kwargs.pop("address_pool_name")
- ap = self.get_address_pool(address_pool_name)
+ ap = self.get_address_pool(address_pool_name)
- ip = ap.get_address()
- if not ip:
- raise Exception("AddressPool '%s' has run out of addresses." % ap.name)
+ ip = ap.get_address()
+ if not ip:
+ raise Exception("AddressPool '%s' has run out of addresses." % ap.name)
- t = VRouterTenant(provider_service=self, **kwargs)
- t.public_ip = ip
- t.public_mac = self.ip_to_mac(ip)
- t.address_pool_id = ap.id
- t.save()
+ t = VRouterTenant(owner=self, **kwargs)
+ t.public_ip = ip
+ t.public_mac = self.ip_to_mac(ip)
+ t.address_pool_id = ap.id
+ t.save()
- return t
+ return t
class VRouterDevice (VRouterDevice_decl):