Add suboperation to lcm op occ
[vfc/gvnfm/vnflcm.git] / lcm / lcm / pub / database / models.py
index 8820945..c2e0071 100644 (file)
@@ -11,6 +11,7 @@
 # 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
 
 
@@ -19,45 +20,29 @@ class NfInstModel(models.Model):
         db_table = 'NFINST'
 
     nfinstid = models.CharField(db_column='NFINSTID', max_length=200, primary_key=True)
-    mnfinstid = models.CharField(db_column='M_NFINSTID', max_length=200, blank=True, null=True)
-    nf_name = models.CharField(db_column='NFNAME', max_length=100, blank=True, null=True) #CreateVnfRequest.vnfInstanceName
-    template_id = models.CharField(db_column='TEMPLATEID', max_length=200, blank=True, null=True)
-    vnf_id = models.CharField(db_column='VNFID', max_length=200, blank=True, null=True)
+    nf_name = models.CharField(db_column='NFNAME', max_length=100, blank=True, null=True)  # CreateVnfRequest.vnfInstanceName
+    vnfminstid = models.CharField(max_length=255, db_column='VNFMINSTID')
     package_id = models.CharField(db_column='PACKAGEID', max_length=200, blank=True, null=True)
-    vnfm_inst_id = models.CharField(db_column='VNFMINSTID', max_length=200, blank=True, null=True)
-    multivim = models.IntegerField(db_column='MULTIVIM', default=0)
-    ns_inst_id = models.CharField(db_column='NSINSTID', max_length=200, blank=True, null=True)
     status = models.CharField(db_column='STATUS', max_length=20, blank=True, null=True)
-    flavour_id = models.CharField(db_column='FLAVOURID', max_length=200, blank=True, null=True) #InstantiateVnfRequest.flavourId
-    vnf_level = models.CharField(db_column='VNFLEVEL', max_length=200, blank=True, null=True) #InstantiateVnfRequest.instantiationLevelId
+    flavour_id = models.CharField(db_column='FLAVOURID', max_length=200, blank=True, null=True)  # InstantiateVnfRequest.flavourId
     location = models.CharField(db_column='LOCATION', max_length=200, blank=True, null=True)
-    deploy_environment = models.CharField(db_column='DEPLOYENVIRONMENT', max_length=100, blank=True, null=True)
-    max_vm = models.IntegerField(db_column='MAXVM', blank=True, null=True)
-    max_cpu = models.IntegerField(db_column='MAXCPU', blank=True, null=True)
-    max_ram = models.IntegerField(db_column='MAXRAM', blank=True, null=True)
-    max_hd = models.IntegerField(db_column='MAXHD', blank=True, null=True)
-    max_shd = models.IntegerField(db_column='MAXSHD', blank=True, null=True)
-    max_net = models.IntegerField(db_column='MAXNET', blank=True, null=True)
     version = models.CharField(db_column='VERSION', max_length=255, null=True)
     vendor = models.CharField(db_column='VENDOR', max_length=255, null=True, blank=True)
-    producttype = models.CharField(db_column='PRODUCTTYPE', max_length=255, null=True)
     netype = models.CharField(db_column='NETYPE', max_length=255, null=True)
     vnfd_model = models.TextField(db_column='VNFDMODEL', max_length=20000, blank=True, null=True)
-    input_params = models.TextField(db_column='INPUTPARAMS', max_length=2000, blank=True, null=True)  #InstantiateVnfRequest.additionalParams
-    scale_params = models.TextField(db_column='SCALEPARAMS', max_length=2000, null=True, blank=True)
+    input_params = models.TextField(db_column='INPUTPARAMS', max_length=2000, blank=True, null=True)  # InstantiateVnfRequest.additionalParams
     create_time = models.CharField(db_column='CREATETIME', max_length=200, null=True, blank=True)
     lastuptime = models.CharField(db_column='LASTUPTIME', max_length=200, blank=True, null=True)
-    extension = models.TextField(db_column='EXTENSION', max_length=65535, blank=True, null=True)
-    initallocatedata = models.TextField(db_column='INITALLOCATEDATA', max_length=20000, blank=True, null=True)
-    predefinedvm = models.TextField(db_column='PREDEFINEDVM', max_length=65535, blank=True, null=True)
-    vnfextendtype = models.CharField(db_column='VNFEXTENDTYPE', max_length=255, null=True)
 
-    instantiationState = models.CharField(db_column='INSTANTIATIONSTATE', max_length=200, blank=True, null=True)
     nf_desc = models.CharField(db_column='VNFINSTANCEDESC', max_length=200, blank=True, null=True)
     vnfdid = models.CharField(db_column='VNFDID', max_length=200, blank=True, null=True)
     vnfSoftwareVersion = models.CharField(db_column='VNFSOFTWAREVER', max_length=200, blank=True, null=True)
     vnfConfigurableProperties = models.TextField(db_column='VNFCONFIGURABLEPROPERTIES', max_length=20000, blank=True, null=True)
     localizationLanguage = models.CharField(db_column='LOCALIZATIONLANGUAGE', max_length=255, null=True)
+    operationState = models.CharField(db_column='OPERATIONSTATE', max_length=255, null=True)
+    resInfo = models.TextField(db_column='RESINFO', max_length=20000, blank=True, null=True)
+    vimInfo = models.TextField(db_column='VIMINFO', max_length=20000, blank=True, null=True)
+
 
 class JobModel(models.Model):
     class Meta:
@@ -81,6 +66,7 @@ class JobModel(models.Model):
         import json
         return json.dumps(dict([(attr, getattr(self, attr)) for attr in [f.name for f in self._meta.fields]]))
 
+
 class JobStatusModel(models.Model):
     class Meta:
         db_table = 'JOB_STATUS'
@@ -99,6 +85,7 @@ class JobStatusModel(models.Model):
         import json
         return json.dumps(dict([(attr, getattr(self, attr)) for attr in [f.name for f in self._meta.fields]]))
 
+
 class NfvoRegInfoModel(models.Model):
     class Meta:
         db_table = 'NFVOREGINFO'
@@ -113,22 +100,54 @@ class NfvoRegInfoModel(models.Model):
     servercert = models.CharField(max_length=255, db_column='SERVERCERT', null=True)
     regtime = models.CharField(max_length=255, db_column='REGTIME')
 
+
+class StorageInstModel(models.Model):
+    class Meta:
+        db_table = 'STORAGEINST'
+
+    storageid = models.CharField(db_column='STORAGEID', primary_key=True, max_length=255)
+    vimid = models.CharField(db_column='VIMID', max_length=255)
+    resourceid = models.CharField(db_column='RESOURCEID', max_length=255)
+    insttype = models.IntegerField(db_column='INSTTYPE')
+    instid = models.CharField(db_column='INSTID', max_length=255)
+    name = models.CharField(db_column='NAME', max_length=255, null=True)
+    storagetype = models.CharField(db_column='STORAGETYPE', max_length=255)
+    size = models.CharField(db_column='SIZE', max_length=255)
+    # rdmaenabled = models.IntegerField(db_column='RDMAENABLED', null=True)
+    # disktype = models.CharField(db_column='DISKTYPE', max_length=255)
+    # ownerid = models.CharField(db_column='OWNERID', max_length=255, null=True)
+    # zoneid = models.CharField(db_column='ZONEID', max_length=255, null=True)
+    # hostid = models.CharField(db_column='HOSTID', max_length=255, null=True)
+    # operationalstate = models.CharField(db_column='OPERATIONALSTATE', max_length=255, null=True)
+    tenant = models.CharField(db_column='TENANT', max_length=50, null=True)
+    is_predefined = models.IntegerField(db_column='ISPREDEFINED', default=0, null=True)
+    create_time = models.CharField(db_column='CREATETIME', max_length=200, null=True, blank=True)
+    nodeId = models.CharField(db_column='NODEID', max_length=255, null=True)
+
+
 class VmInstModel(models.Model):
     class Meta:
         db_table = 'VMINST'
 
     vmid = models.CharField(db_column='VMID', primary_key=True, max_length=255)
     vimid = models.CharField(db_column='VIMID', max_length=255)
-    resouceid = models.CharField(db_column='RESOURCEID', max_length=255)
-    insttype = models.IntegerField(db_column='INSTTYPE')
-    instid = models.CharField(db_column='INSTID', max_length=255)
-    vmname = models.CharField(db_column='VMNAME', max_length=255)
-    operationalstate = models.IntegerField(db_column='OPERATIONALSTATE', null=True)
-    zoneid = models.CharField(db_column='ZONEID', max_length=255, null=True)
     tenant = models.CharField(db_column='TENANT', max_length=255, null=True)
-    hostid = models.CharField(db_column='HOSTID', max_length=255, null=True)
-    detailinfo = models.TextField(db_column='DETAILINFO', max_length=8192, null=True)
+    resourceid = models.CharField(db_column='RESOURCEID', max_length=255)
+    vmname = models.CharField(db_column='VMNAME', max_length=255)
+    nic_array = models.CharField(db_column='NICARRAY', max_length=255)
+    metadata = models.CharField(db_column='METADATA', max_length=255)
+    volume_array = models.CharField(db_column='VOLUMEARRAY', max_length=255)
+    server_group = models.CharField(db_column='SERVERGROUP', max_length=255)
+    availability_zone = models.CharField(db_column='AVAILABILITYZONE', max_length=255)
+    flavor_id = models.CharField(db_column='FLAVORID', max_length=255)
+    security_groups = models.CharField(db_column='SECURITYGROUPS', max_length=255)
+    operationalstate = models.CharField(db_column='OPERATIONALSTATE', max_length=255, null=True)
+    insttype = models.IntegerField(db_column='INSTTYPE')
     is_predefined = models.IntegerField(db_column='ISPREDEFINED', default=0, null=True)
+    create_time = models.CharField(db_column='CREATETIME', max_length=200, null=True, blank=True)
+    instid = models.CharField(db_column='INSTID', max_length=255)
+    nodeId = models.CharField(db_column='NODEID', max_length=255, null=True)
+
 
 class VNFCInstModel(models.Model):
     class Meta:
@@ -137,8 +156,31 @@ class VNFCInstModel(models.Model):
     vnfcinstanceid = models.CharField(db_column='VNFCINSTANCEID', max_length=255, primary_key=True)
     vduid = models.CharField(db_column='VDUID', max_length=255)
     vdutype = models.CharField(db_column='VDUTYPE', max_length=255)
-    nfinstid = models.CharField(db_column='NFINSTID', max_length=255)
+    instid = models.CharField(db_column='NFINSTID', max_length=255)
     vmid = models.CharField(db_column='VMID', max_length=255)
+    is_predefined = models.IntegerField(db_column='ISPREDEFINED', default=0, null=True)
+
+
+class FlavourInstModel(models.Model):
+    class Meta:
+        db_table = 'FLAVOURINST'
+
+    flavourid = models.CharField(db_column='FLAVOURID', max_length=255, primary_key=True)
+    vimid = models.CharField(db_column='VIMID', max_length=255)
+    resourceid = models.CharField(db_column='RESOURCEID', max_length=255)
+    name = models.CharField(db_column='NAME', max_length=255)
+    tenant = models.CharField(db_column='TENANT', max_length=255, null=True)
+    vcpu = models.IntegerField(db_column='VCPU', null=True)
+    memory = models.IntegerField(db_column='MEMORY', null=True)
+    disk = models.IntegerField(db_column='DISK', null=True)
+    ephemeral = models.IntegerField(db_column='EPHEMERAL', null=True)
+    swap = models.IntegerField(db_column='SWAP', null=True)
+    isPublic = models.IntegerField(db_column='ISPUBLIC', null=True)
+    extraspecs = models.TextField(db_column='EXTRASPECS', max_length=4096)
+    instid = models.CharField(db_column='INSTID', max_length=255)
+    create_time = models.CharField(db_column='CREATETIME', max_length=200, null=True, blank=True)
+    is_predefined = models.IntegerField(db_column='ISPREDEFINED', default=0, null=True)
+
 
 class NetworkInstModel(models.Model):
     class Meta:
@@ -146,12 +188,11 @@ class NetworkInstModel(models.Model):
 
     networkid = models.CharField(db_column='NETWORKID', primary_key=True, max_length=255)
     vimid = models.CharField(db_column='VIMID', max_length=255)
-    resouceid = models.CharField(db_column='RESOURCEID', max_length=255)
+    resourceid = models.CharField(db_column='RESOURCEID', max_length=255)
     insttype = models.IntegerField(db_column='INSTTYPE')
     instid = models.CharField(db_column='INSTID', max_length=255)
     name = models.CharField(db_column='NAME', max_length=255)
     tenant = models.CharField(db_column='TENANT', max_length=255, null=True)
-    is_shared = models.IntegerField(db_column='ISSHARED', default=0, null=True)
     is_predefined = models.IntegerField(db_column='ISPREDEFINED', default=0, null=True)
     desc = models.CharField(db_column='DESC', max_length=255, null=True)
     vendor = models.CharField(db_column='VENDOR', max_length=255, null=True)
@@ -159,8 +200,13 @@ class NetworkInstModel(models.Model):
     mtu = models.IntegerField(db_column='MTU', null=True)
     network_type = models.CharField(db_column='NETWORKTYPE', max_length=255, null=True)
     segmentid = models.CharField(db_column='SEGMENTID', max_length=255, null=True)
-    vlantrans = models.IntegerField(db_column='VLANTRANS', null=True)
     networkqos = models.CharField(db_column='NETWORKQOS', max_length=255, null=True)
+    create_time = models.CharField(db_column='CREATETIME', max_length=200, null=True, blank=True)
+    physicalNetwork = models.CharField(db_column='PHYNETWORK', max_length=255, null=True)
+    is_shared = models.IntegerField(db_column='ISSHARED', default=0, null=True)
+    vlantrans = models.IntegerField(db_column='VLANTRANS', null=True)
+    routerExternal = models.IntegerField(db_column='ROUTEREXTERNAL', default=0, null=True)
+    nodeId = models.CharField(db_column='NODEID', max_length=255, null=True)
 
 
 class SubNetworkInstModel(models.Model):
@@ -169,7 +215,7 @@ class SubNetworkInstModel(models.Model):
 
     subnetworkid = models.CharField(db_column='SUBNETWORKID', primary_key=True, max_length=255)
     vimid = models.CharField(db_column='VIMID', max_length=255)
-    resouceid = models.CharField(db_column='RESOURCEID', max_length=255)
+    resourceid = models.CharField(db_column='RESOURCEID', max_length=255)
     networkid = models.CharField(db_column='NETWORKID', max_length=255)
     insttype = models.IntegerField(db_column='INSTTYPE')
     instid = models.CharField(db_column='INSTID', max_length=255)
@@ -182,6 +228,11 @@ class SubNetworkInstModel(models.Model):
     operationalstate = models.CharField(db_column='OPERATIONALSTATE', max_length=255, null=True)
     tenant = models.CharField(db_column='TENANT', max_length=255, null=True)
     is_predefined = models.IntegerField(db_column='ISPREDEFINED', default=0, null=True)
+    create_time = models.CharField(db_column='CREATETIME', max_length=200, null=True, blank=True)
+    dnsNameservers = models.TextField(db_column='DNSNAMESERVERS', max_length=1024)
+    hostRoutes = models.TextField(db_column='HOSTROUTES', max_length=1024)
+    allocationPools = models.TextField(db_column='ALLOCATIONPOOLS', max_length=1024)
+
 
 class VLInstModel(models.Model):
     class Meta:
@@ -196,4 +247,92 @@ class VLInstModel(models.Model):
     relatedsubnetworkid = models.CharField(db_column='RELATEDSUBNETWORKID', max_length=255, blank=True, null=True)
     vltype = models.IntegerField(db_column='VLTYPE', default=0)
     vimid = models.CharField(db_column='VIMID', max_length=255)
-    tenant = models.CharField(db_column='TENANT', max_length=50)
\ No newline at end of file
+    tenant = models.CharField(db_column='TENANT', max_length=50)
+
+
+class PortInstModel(models.Model):
+    class Meta:
+        db_table = 'PORTINST'
+
+    portid = models.CharField(db_column='PORTID', primary_key=True, max_length=255)
+    networkid = models.CharField(db_column='NETWORKID', max_length=255)
+    subnetworkid = models.CharField(db_column='SUBNETWORKID', max_length=255, null=True)
+    vimid = models.CharField(db_column='VIMID', max_length=255)
+    resourceid = models.CharField(db_column='RESOURCEID', max_length=255)
+    name = models.CharField(db_column='NAME', max_length=255, null=True)
+    insttype = models.IntegerField(db_column='INSTTYPE')
+    instid = models.CharField(db_column='INSTID', max_length=255)
+    cpinstanceid = models.CharField(db_column='CPINSTANCEID', max_length=255, null=True)
+    bandwidth = models.CharField(db_column='BANDWIDTH', max_length=255, null=True)
+    operationalstate = models.CharField(db_column='OPERATIONALSTATE', max_length=255, null=True)
+    ipaddress = models.CharField(db_column='IPADDRESS', max_length=255)
+    macaddress = models.CharField(db_column='MACADDRESS', max_length=255)
+    nicorder = models.CharField(db_column='NICORDER', max_length=255)
+    floatipaddress = models.CharField(db_column='FLOATIPADDRESS', max_length=255, null=True)
+    serviceipaddress = models.CharField(db_column='SERVICEIPADDRESS', max_length=255, null=True)
+    typevirtualnic = models.CharField(db_column='TYPEVIRTUALNIC', max_length=255, null=True)
+    sfcencapsulation = models.CharField(db_column='SFCENCAPSULATION', max_length=255, null=True)
+    direction = models.CharField(db_column='DIRECTION', max_length=255, null=True)
+    tenant = models.CharField(db_column='TENANT', max_length=255, null=True)
+    interfacename = models.CharField(db_column='INTERFACENAME', max_length=255, blank=True, null=True)
+    vmid = models.CharField(db_column='VMID', max_length=255, blank=True, null=True)
+    create_time = models.CharField(db_column='CREATETIME', max_length=200, null=True, blank=True)
+    securityGroups = models.CharField(db_column='SECURITYGROUPS', max_length=255)
+    is_predefined = models.IntegerField(db_column='ISPREDEFINED', default=0, null=True)
+    nodeId = models.CharField(db_column='NODEID', max_length=255, null=True)
+
+
+class CPInstModel(models.Model):
+    class Meta:
+        db_table = 'CPINST'
+
+    cpinstanceid = models.CharField(db_column='CPINSTANCEID', max_length=255, primary_key=True)
+    cpdid = models.CharField(db_column='CPDID', max_length=255)
+    cpinstancename = models.CharField(db_column='CPINSTANCENAME', max_length=255)
+    vlinstanceid = models.CharField(db_column='VLINSTANCEID', max_length=255)
+    ownertype = models.IntegerField(db_column='OWNERTYPE')
+    ownerid = models.CharField(db_column='OWNERID', max_length=255)
+    relatedtype = models.IntegerField(db_column='RELATEDTYPE')
+    relatedvl = models.CharField(db_column='RELATEDVL', max_length=255, blank=True, null=True)
+    relatedcp = models.CharField(db_column='RELATEDCP', max_length=255, blank=True, null=True)
+    relatedport = models.CharField(db_column='RELATEDPORT', max_length=255, blank=True, null=True)
+
+
+class SubscriptionModel(models.Model):
+    class Meta:
+        db_table = 'SUBSCRIPTION'
+    subscription_id = models.CharField(db_column='SUBSCRIPTIONID', max_length=255, primary_key=True)
+    callback_uri = models.CharField(db_column='CALLBACKURI', max_length=255)
+    auth_info = models.TextField(db_column='AUTHINFO', max_length=20000, blank=True, null=True)
+    notification_types = models.TextField(db_column='NOTIFICATIONTYPES',
+                                          null=True)
+    operation_types = models.TextField(db_column='OPERATIONTYPES',
+                                       null=True)
+    operation_states = models.TextField(db_column='OPERATIONSTATES',
+                                        null=True)
+    vnf_instance_filter = models.TextField(db_column='VNFINSTANCEFILTER',
+                                           null=True)
+    links = models.TextField(db_column='LINKS', max_length=20000)
+
+
+class VNFLcmOpOccModel(models.Model):
+    class Meta:
+        db_table = 'VNFLCMOPOCCS'
+
+    id = models.CharField(db_column='ID', max_length=255, primary_key=True)
+    operation_state = models.CharField(db_column='OPERATIONSTATE', null=False, max_length=30)
+    state_entered_time = models.CharField(db_column='STATEENTEREDTIME', null=False, max_length=30)
+    start_time = models.CharField(db_column='STARTTIME', null=False, max_length=30)
+    vnf_instance_id = models.CharField(db_column='VNFINSTANCEID', null=False, max_length=255)
+    grant_id = models.CharField(db_column='GRANTID', null=True, max_length=255)
+    operation = models.CharField(db_column='OPERATION', null=False, max_length=30)
+    sub_operation = models.CharField(db_column='SUBOPERATION', null=True, max_length=30)
+    is_automatic_invocation = models.CharField(db_column='ISAUTOMATICINVOCATION', null=False, max_length=5)
+    operation_params = models.TextField(db_column='OPERATIONPARAMS', null=False)
+    is_cancel_pending = models.CharField(db_column='ISCANCELPENDING', null=False, max_length=5)
+    cancel_mode = models.TextField(db_column='CANCELMODE', null=True)
+    error = models.TextField(db_column='ERROR', null=True)
+    resource_changes = models.TextField(db_column='RESOURCECHANGES', null=True)
+    changed_info = models.TextField(db_column='CHANGEDINFO', null=True)
+    changed_ext_connectivity = models.TextField(db_column='CHANGEDEXTCONNECTIVITY', null=True)
+    links = models.TextField(db_column='LINKS', null=False)