diff options
Diffstat (limited to 'docs/usage/usage/design_time.rst')
-rw-r--r-- | docs/usage/usage/design_time.rst | 351 |
1 files changed, 351 insertions, 0 deletions
diff --git a/docs/usage/usage/design_time.rst b/docs/usage/usage/design_time.rst new file mode 100644 index 0000000..5990258 --- /dev/null +++ b/docs/usage/usage/design_time.rst @@ -0,0 +1,351 @@ +Design time +########### + +Onboard a Vendor +---------------- + +.. code:: Python + + from onapsdk.vendor import Vendor + vendor = Vendor(name="myVendor") + vendor.onboard() + +Onboard a VSP +------------- + +You will need the package of the VSP to onboard. + +.. code:: Python + + from onapsdk.sdc.vendor import Vendor + from onapsdk.sdc.vsp import Vsp + + # We assume here that the Vendor has been already onboarded + vendor = Vendor(name="myVendor") + vendor.onboard() + vsp = Vsp(name="myVSP", vendor=vendor, package=open(PATH_TO_PACKAGE, 'rb')) + vsp.onboard() + +Create new VSP version +---------------------- + +You will need the package of the VSP to update. + +.. code:: Python + + from onapsdk.sdc.vendor import Vendor + from onapsdk.sdc.vsp import Vsp + + # We assume here that the Vendor has been already onboarded + vsp = Vsp(name="myVSP") + vsp.create_new_version() + vsp.update_package(open(PATH_TO_PACKAGE, 'rb')) + vsp.onboard() + +Onboard a VF +------------ + +.. code:: Python + + from onapsdk.sdc.vsp import Vsp + from onapsdk.sdc.vf import Vf + + # We assume here that the VSP has been already onboarded + vsp = Vsp(name="myVSP") + vf = Vf(name="myVF", vsp=vsp) + vf.onboard() + +Onboard a VF with properties assignement +---------------------------------------- + +.. code:: Python + + from onapsdk.sdc.properties import Property + from onapsdk.sdc.vsp import Vsp + from onapsdk.sdc.vf import Vf + + # We assume here that the VSP has been already onboarded + vsp = Vsp(name="myVSP") + property_1 = Property( + name="prop1", + property_type="string", + value="test" + ) + property_2 = Property( + name="prop2", + property_type="integer" + ) + vf = Vf(name="myVF", + vsp=vsp, + properties=[ + property_1, + property_2 + ], + inputs=[property_1]) + vf.onboard() + +Onboard a VF with Deployment Artifact +------------------------------------- + +.. code:: Python + + from onapsdk.sdc.properties import Property + from onapsdk.sdc.vsp import Vsp + from onapsdk.sdc.vf import Vf + + logger.info("******** Onboard Vendor *******") + vendor = Vendor(name="my_Vendor") + vendor.onboard() + + # We assume here that the VSP has been already onboarded + vsp = Vsp(name="myVSP") + + logger.info("******** Onboard VF *******") + vf = Vf(name="myVF") + vf.vsp = vsp + vf.create() + + logger.info("******** Upload Artifact *******") + vf.add_deployment_artifact(artifact_type="CONTROLLER_BLUEPRINT_ARCHIVE", + artifact_name="CBA.zip", + artifact_label="vfwcds", + artifact="dir/CBA_enriched.zip") + + vf.onboard() + +Onboard a VF with it's component's property input +------------------------------------------------- + +.. code:: Python + + from onapsdk.sdc.properties import ComponentProperty + from onapsdk.sdc.vsp import Vsp + from onapsdk.sdc.vf import Vf + from onapsdk.sdc.vfc import Vfc + + # We assume here that the VSP has been already onboarded + vsp = Vsp(name="myVSP") + + vfc = Vfc(name="AllottedResource") + + logger.info("******** Onboard VF *******") + vf = Vf(name="myVF") + vf.vsp = vsp + vf.create() + vf.add_resource(vfc) + vfc_comp = vf.get_component(vfc) + comp_prop = vfc_comp.get_property("min_instances") + comp_prop.value = 11 + vf.declare_input(comp_prop) + + vf.onboard() + +Onboard a PNF with VSP +---------------------- +.. code:: Python + + from onapsdk.sdc.pnf import Pnf + from onapsdk.sdc.vendor import Vendor + + logger.info("******** Onboard Vendor *******") + vendor = Vendor(name="my_Vendor") + vendor.onboard() + + # We assume here that the VSP has been already onboarded + vsp = Vsp(name="myVSP") + + logger.info("******** Onboard PNF *******") + pnf = PNF(name="myPNF") + pnf.vsp = vsp + pnf.onboard() + +Onboard a PNF with Deployment Artifact (without VSP) +---------------------------------------------------- +.. code:: Python + + from onapsdk.sdc.vendor import Vendor + from onapsdk.sdc.pnf import Pnf + + logger.info("******** Onboard Vendor *******") + vendor = Vendor(name="my_Vendor") + vendor.onboard() + + logger.info("******** Onboard PNF *******") + pnf = Pnf(name=PNF, vendor=vendor) + pnf.create() + + logger.info("******** Upload Artifact *******") + pnf.add_deployment_artifact(artifact_type=ARTIFACT_TYPE, + artifact_name=ARTIFACT_NAME, + artifact_label=ARTIFACT_LABEL, + artifact=ARTIFACT_FILE_PATH) + pnf.onboard() + +Onboard a Service +----------------- + +.. code:: Python + + from onapsdk.sdc.vf import Vf + from onapsdk.sdc.service import Service + + # We assume here that the VF has been already onboarded + vf = Vf(name="myVF") + service = Service(name="myService", resources=[vf]) + service.onboard() + +Onboard a Service with properties assignement +--------------------------------------------- + +.. code:: Python + + from onapsdk.sdc.properties import Property + from onapsdk.sdc.vf import Vf + from onapsdk.sdc.service import Service + + # We assume here that the VF has been already onboarded + vf = Vf(name="myVF") + property_1 = Property( + name="prop1", + property_type="string", + value="test" + ) + property_2 = Property( + name="prop2", + property_type="integer", + declare_input=True + ) + service = Service(name="myService", + resources=[vf], + properties=[ + property_1, + property_2 + ], + inputs=[property_1]) + service.onboard() + +Onboard a Service with Nested inputs +------------------------------------ + +.. code:: Python + + from onapsdk.sdc.properties import NestedInput + from onapsdk.sdc.vf import Vf + from onapsdk.sdc.service import Service + + # We assume here that the VF has been already onboarded + vf = Vf(name="myVF") + inp = vf.get_input("input_name_we_want_to_declare_in_service") + service = Service(name="myService", + resources=[vf], + inputs=[NestedInput(vf, inp)]) + service.onboard() + +Onboard a Service with VL +------------------------- + +.. code:: Python + + from onapsdk.sdc.vl import VL + from onapsdk.sdc.service import Service + + # No VF needed, but you need to be sure that Vl with given + # name exists in SDC + vl = Vl(name="Generic NeutronNet") + service = Service(name="myServiceWithVl", resources=[vl]) + service.onboard() + +Onboard a Service with custom category +-------------------------------------- + +.. code:: Python + + from onapsdk.sdc.category_management import ServiceCategory + from onapsdk.sdc.vf import Vf + from onapsdk.sdc.service import Service + + # Let's create a custom category + CATEGORY_NAME = "Python ONAP SDK category" + ServiceCategory.create(name=CATEGORY_NAME) + + # We assume here that the VF has been already onboarded + # Create a service with category we created few lines above + vf = Vf(name="myVF") + service = Service(name="myService", resources=[vf], category=CATEGORY_NAME) + service.onboard() + +Onboard an Artifact for an embedded VF +-------------------------------------- + +All SDC artifact types are supported + +.. code:: Python + + from onapsdk.service import Service + + # We assume here that the Service has been already onboarded + # with a Vnf + service = Service(name="myService") + # We load artifact data + data = open("{}/myArtifact.yaml".format(os.path.dirname(os.path.abspath(__file__))), 'rb').read() + # We add the artifact to the service Vnf + # + svc.add_artifact_to_vf(vnf_name="myVnf", + artifact_type="DCAE_INVENTORY_BLUEPRINT", + artifact_name="myArtifact.yaml", + artifact=data) + +Onboard a Service with Deployment Artifact +------------------------------------------ + +.. code:: Python + + from onapsdk.sdc.service import Service + + svc = Service(name="myService") + + logger.info("******** Upload Artifact *******") + svc.add_deployment_artifact(artifact_type="OTHER", + artifact_name="eMBB.zip", + artifact_label="embbcn", + artifact="dir/eMBB.zip") + + svc.onboard() + +Onboard a Service with a CBA blueprint for Macro Instantiation +-------------------------------------------------------------- + +.. code:: Python + + from onapsdk.sdc.service import Service, ServiceInstantiationType + + # Set CBA variables and artifact level + # Must match to values in the CBA TOSCA.meta file + SDNC_TEMPLATE_NAME = "vFW-CDS" + SDNC_TEMPLATE_VERSION = "1.0.0" + SDNC_ARTIFACT_NAME = "vnf" + + svc = Service(name="myService", + instantiation_type=ServiceInstantiationType.MACRO) + + svc.create() + + logger.info("*** add a VF, which includes a CBA blueprint ***") + svc.add_resource(vf) + + logger.info("******** Set SDNC properties for VF ********") + component = svc.get_component(vf) + prop = component.get_property("sdnc_model_version") + prop.value = SDNC_TEMPLATE_NAME + prop = component.get_property("sdnc_artifact_name") + prop.value = SDNC_ARTIFACT_NAME + prop = component.get_property("sdnc_model_name") + prop.value = SDNC_TEMPLATE_NAME + prop = component.get_property("controller_actor") + prop.value = "CDS" + prop = component.get_property("skip_post_instantiation_configuration") + prop.value = False + + logger.info("******** Onboard Service *******") + svc.checkin() + svc.onboard() |