Hi, Kang,

A&AI watches for new models in SDC and then the model loader puts those model 
definitions into the A&AI backend.  I think the models needed for vCPE use case 
would be defined in SDC.

https://wiki.onap.org/download/attachments/1015849/aai_schema_v11.xsd?api=v2 
contains the entire schema for A&AI, including generic-vnf.  I pulled 
generic-vnf into its own file for your reference.

Thanks,
Jimmy


From: Kang Xi [mailto:[email protected]]
Sent: Wednesday, July 19, 2017 7:40 PM
To: FORSYTH, JAMES <[email protected]>; '[email protected]' 
<[email protected]>
Cc: Yunxia Chen <[email protected]>; KLUGER, YOAV <[email protected]>; 
TAYLOR, JON <[email protected]>; Alla Goldner <[email protected]>; 
Yang Xu (Yang, Fixed Network) <[email protected]>; denghui (L) 
<[email protected]>; 'Pawlowski Michal' <[email protected]>; 
denghui (L) <[email protected]>
Subject: [integration][aai] AAI data model for vCPE use case?

Hi Jimmy and AAI team,

We have the following questions related to AAI. Appreciate if you could provide 
comments/answers by the end of this week. We have collected answers for part of 
the questions and your comments to that part and answer to the rest of the 
questions would be very valuable. You can either use email or update the wiki 
page directly: 
https://wiki.onap.org/display/DW/Use+Case+Related+Important+Questions+and+Answers

6. Question:
Do we manual create AAI data models or use tools? How are the model packaged 
with the service and distributed? What data models are needed for vCPE?

Answer:
We need a consumer broadband service model. The existing generic VNF model will 
be reused. Additional parameters may be needed on top of the generic VNF model 
to create specific use case VNF models. There are tools to do this.

Also a related question: Where to find the generic VNF model?

Regards,
Kang


 <xs:element name="generic-vnf">
    <xs:complexType>
      <xs:annotation>
        <xs:appinfo>
          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="General purpose VNF",nameProps="vnf-name",indexedProps="is-closed-loop-disabled,vnf-name2,vnf-type,heat-stack-id,in-maint,vnf-name,vnf-id,regional-resource-zone,prov-status,service-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,nf-type,nf-function,nf-naming-code,nf-role",searchable="vnf-id,vnf-name,vnf-name2",uniqueProps="vnf-id",container="generic-vnfs",namespace="network",extendsFrom="vnf",containsSuggestibleProps="true",suggestionAliases="VNFs")</annox:annotate>
        </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
        <xs:element name="vnf-id" type="xs:string">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique id of VNF.  This is unique across the graph.")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="vnf-name" type="xs:string">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Name of VNF.")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="vnf-name2" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Alternate name of VNF.")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="vnf-type" type="xs:string">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures.")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="service-id" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Unique identifier of service, does not necessarily map to ASDC service models.  SOON TO BE DEPRECATED")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="regional-resource-zone" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Regional way of organizing pservers, source of truth should define values")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="prov-status" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Trigger for operational monitoring of this resource by Service Assurance systems.",suggestibleOnSearch="true")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="operational-status" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational.  Valid values are in-service-path and out-of-service-path.")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="license-key" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="OBSOLETE -  do not use")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="equipment-role" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Client should send valid enumerated value")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="orchestration-status" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Orchestration status of this VNF, used by MSO.",suggestibleOnSearch="true")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="heat-stack-id" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Heat stack id corresponding to this instance, managed by MSO")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="mso-catalog-key" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Corresponds to the SDN-C catalog id used to configure this VCE")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="management-option" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="identifier of managed by ATT or customer")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="ipv4-oam-address" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by generic-vnf.")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="ipv4-loopback0-address" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="v4 Loopback0 address")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="nm-lan-v6-address" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="v6 Loopback address")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="management-v6-address" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="v6 management address")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="vcpu" type="xs:unsignedInt" minOccurs="0">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="number of vcpus ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only by uCPE")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="vcpu-units" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="units associated with vcpu, used for VNFs with no vservers/flavors, to be used only by uCPE")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="vmemory" type="xs:unsignedInt" minOccurs="0">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="number of GB of memory ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only by uCPE")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="vmemory-units" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="units associated with vmemory, used for VNFs with no vservers/flavors, to be used only by uCPE")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="vdisk" type="xs:unsignedInt" minOccurs="0">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="number of vdisks ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only uCPE")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="vdisk-units" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="units associated with vdisk, used for VNFs with no vservers/flavors, to be used only by uCPE")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="in-maint" type="xs:boolean">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(defaultValue="false",description="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs.")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="is-closed-loop-disabled" type="xs:boolean">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(defaultValue="false",description="used to indicate whether closed loop function is enabled on this node")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="resource-version" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="summary-status" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="details regarding the generic-vnf operation, PLEASE DISCONTINUE USE OF THIS FIELD.")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="encrypted-access-flag" type="xs:boolean" minOccurs="0">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="indicates whether generic-vnf access uses SSH")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="entitlement-assignment-group-uuid" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="UUID of the Entitlement group used for licensing VNFs, OBSOLETE -  See child relationships.")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="entitlement-resource-uuid" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="UUID of the specific entitlement resource.  OBSOLETE -  See child relationships.")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="license-assignment-group-uuid" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="UUID of the license assignment group.  OBSOLETE -  See child relationships.")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="license-key-uuid" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="UUID of the actual license resource.  OBSOLETE -  See child relationships.")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.",visibility="deployment",requires="model-version-id",dbAlias="model-invariant-id-local")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="model-version-id" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="deployment",requires="model-invariant-id",dbAlias="model-version-id-local")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="persona-model-version" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dataCopy="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="captures the id of all the configuration used to customize the resource for the service.")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="widget-model-id" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget.")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="widget-model-version" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget.")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="as-number" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="as-number of the VNF")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="regional-resource-subzone" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="represents sub zone of the rr plane")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="nf-type" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Generic description of the type of NF")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="nf-function" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="English description of Network function that the specific VNF deployment is providing")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="nf-role" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="role in the network that this model will be providing")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="nf-naming-code" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="string assigned to this model used for naming purposes")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="selflink" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Path to the controller object.")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="ipv4-oam-gateway-address" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Gateway address")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="ipv4-oam-gateway-address-prefix-length" type="xs:int" minOccurs="0">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Prefix length for oam-address")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="vlan-id-outer" type="xs:unsignedInt" minOccurs="0">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Temporary location for S-TAG to get to VCE")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element name="nm-profile-name" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:appinfo>
              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Network Management profile of this VNF")</annox:annotate>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element ref="tns:relationship-list" minOccurs="0"/>
        <xs:element ref="tns:l-interfaces" minOccurs="0"/>
        <xs:element ref="tns:lag-interfaces" minOccurs="0"/>
        <xs:element ref="tns:vf-modules" minOccurs="0"/>
        <xs:element ref="tns:licenses" minOccurs="0"/>
        <xs:element ref="tns:entitlements" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
_______________________________________________
onap-discuss mailing list
[email protected]
https://lists.onap.org/mailman/listinfo/onap-discuss

Reply via email to