blob: c85cded4d01f9e196783553396f2f83dc0958c0d [file] [log] [blame]
# Copyright 2017-present Open Networking Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from django.db import models
from core.models import Service, XOSBase, Slice, Instance, Tenant, TenantWithContainer, Node, Image, User, Flavor, Subscriber, NetworkParameter, NetworkParameterType, Port, AddressPool
from core.models.xosbase import StrippedCharField
import os
from django.db import models, transaction
from django.forms.models import model_to_dict
from django.db.models import Q
from operator import itemgetter, attrgetter, methodcaller
from core.models import Tag
from core.models.service import LeastLoadedNodeScheduler
import traceback
from xos.exceptions import *
from xos.config import Config
class ConfigurationError(Exception):
pass
PROGRAN_KIND = "Progran"
APP_LABEL = "progran"
class VProgranService(Service):
KIND = PROGRAN_KIND
class Meta:
app_label = APP_LABEL
verbose_name = "Progran Service"
proxy = True
default_attributes = {
"rest_hostname": "10.6.0.1",
"rest_port": "8183",
"rest_user": "onos",
"rest_pass": "rocks"
}
@property
def rest_hostname(self):
return self.get_attribute("rest_hostname", self.default_attributes["rest_hostname"])
@rest_hostname.setter
def rest_hostname(self, value):
self.set_attribute("rest_hostname", value)
@property
def rest_port(self):
return self.get_attribute("rest_port", self.default_attributes["rest_port"])
@rest_port.setter
def rest_port(self, value):
self.set_attribute("rest_port", value)
@property
def rest_user(self):
return self.get_attribute("rest_user", self.default_attributes["rest_user"])
@rest_user.setter
def rest_user(self, value):
self.set_attribute("rest_user", value)
@property
def rest_pass(self):
return self.get_attribute("rest_pass", self.default_attributes["rest_pass"])
class VProgranImsi(XOSBase):
class Meta:
app_label = APP_LABEL
verbose_name = "vProgran Imsi"
uiid = models.IntegerField( help_text="uiid ", null=False, blank=False)
imsi = models.CharField(max_length=20, help_text="imsi ", null=False, blank=False)
profile = models.CharField(max_length=20, help_text="profile name", null=True, blank=True)
class VProgranProfile(XOSBase):
class Meta:
app_label = APP_LABEL
verbose_name = "vProgran Profile"
uiid = models.IntegerField( help_text="uiid ", null=False, blank=False)
profile = models.CharField(max_length=20, help_text="profile name", null=False, blank=False)
dlrate = models.IntegerField( help_text="device download rate", null=False, blank=False)
ulrate = models.IntegerField( help_text="device upload rate", null=False, blank=False )