The system is designed to be self service, which means that users, not just programmers, can reconfigure the software system as needed to meet customer requirements. To accomplish this goal, the system is built around models that provide for real-time changes in how the system operates. Users merely need to change a model to change how a service operates.
Self service is a completely new way of delivering services. It removes the dependence on code releases and the delays they cause and puts the control of services into the hands of the service providers. They can change a model and its parameters and create a new service without writing a single line of code. This makes SERVICE PROVIDER(S) more responsive to its customers and able to deliver products that more closely match the needs of its customers.
The Controller Design Studio is composed of two major components: the GUI (or frontend) and the Run Time (or backend). The GUI handles direct user input and allows for displaying both design time and run time activities. For design time, it allows for the creation of controller blueprint, from selecting the DGs to be included, to incorporating the artifact templates, to adding necessary components. For run time, it allows the user to direct the system to resolve the unresolved elements of the controller blueprint and download the resulting configuration into a VNF. At a more basic level, it allows for creation of data dictionaries, capabilities catalogs, and controller blueprint, the basic elements that are used to generate a configuration. The essential function of the Controller Design Studio is to create and populate a controller blueprint, create a configuration file from this Controller blueprint, and download this configuration file (configlet) to a VNF/PNF.
Feature | Description | JIRA | Owner | Wiki Page | Notes |
---|---|---|---|---|---|
Controller Design Studio GUI
| Refactor and move the APP-C CDT to CCSDK for "Controller Design Studio" mS. | CCSDK-334 | AT&T | All Controller Design Studio will be maintained in the APP-C repo[appc/cdt]] for Casablanca Release. JIRA can be canceled. | |
CDS Controller Blueprint Creation and Management including artifact model, component model, connectivity model, and dg modeling in "Controller Design Studio" mS. | AT&T | [appc/cdt]] - Srikanth V | |||
CDS Catalog Creation and Management in "Controller Design Studio" mS. | AT&T | [appc/cdt]] Srikanth V | |||
CDS Data Dictionary Creation and Management in "Controller Design Studio" mS. | AT&T | [appc/cdt]] Srikanth V | |||
CDT enhance existing screen to support data dictionary panel layout and data dictionary reference model creation for existing APP-C Models. | CCSDK-347 (need to be change to APP-C JIRA) | AT&T Tech M IBM Bell Canada Erickson | [appc/cdt]] Need to assign Resource Grish - Tech M | ||
Controller Design Time Studio app extension with SDC integration. | CCSDK-338 | AT&T Tech M IBM Bell Canada | Grish to follow up and provide an update. |
Feature | Description | JIRA | Contributors | Wiki Page | NOTEs |
---|---|---|---|---|---|
Instantiation | Generic Resource API integration with netbox ip management capability for assign | CCSDK-339 | Bell Canada | Alexis/Marc - () Yuriy to setup a session with Alexis and Marc/Dan T. | |
Generic Resource API integration with netbox ip management capability for unassign | CCSDK-340 | Bell Canada | Alexis/Marc - () Yuriy to setup a session with Alexis and Marc/Dan T. | ||
netbox ip management REST API support in ONAP | CCSDK-341 | Bell Canada | Alexis/Marc - helm chart – on track (7/13) Should it be contributed under CCSDK? Marc and Dan T to discuss. Create a helm chart for use case. pre-provisioning scripts. | ||
Policy driven naming mS in ONAP | CCSDK-342 | AT&T | Biju T: 7/20 for draft code submission and including draft template. (Preference with policy to boot with the artifacts) | ||
Resource Resolution using data dictionary mS in ONAP | CCSDK-343 | AT&T | Kapil S/Brinda S | ||
Template meshing mS in ONAP | CCSDK-344 | AT&T | Kapil S/Brinda S | ||
Controller Design Time Studio app extension with SDC integration ingest and store the artifact in the controller persona (SDN-C) | CCSDK-345 | AT&T Tech M IBM Bell Canada | Grish to follow up and provide an update. | ||
Controller Design Time Studio app extension with SDC integration ingest and store the artifact in the controller persona (APP-C) | CCSDK-349 | AT&T Tech M IBM Bell Canada | Grish to follow up and provide an update. | ||
Post Instantiation | APP-C Integration with resource resolution REST API based on data dictionary. | AT&T Tech M IBM Bell Canada Erickson | scale out use case. (include the discussion with Scott) Krill | ||
CDS Contribution for Configuration Generation, Preview and Deployment. | CCSDK-346 | AT&T | Kapil S/Brinda S | ||
{
"resource-accumulator-resolved-data": [
{
"param-name": "service-instance-id",
"param-value": "${service-instance-id}"
},
{
"param-name": "vnf_id",
"param-value": "${vnf-id}"
},
{
"param-name": "vnf_name",
"param-value": "${vnf-name}"
},
{
"param-name": "vnf_model_customization_uuid",
"param-value": "${vnf-model-customization-uuid}"
},
{
"param-name": "vf_module_id",
"param-value": "${vf-module-id}"
},
{
"param-name": "vf_module_customization_uuid",
"param-value": "${vf-module-model-customization-uuid}"
},
{
"param-name": "aic-cloud-region",
"param-value": "${aic-cloud-region}"
},
{
"param-name": "aic_clli",
"param-value": "${aic_clli}"
},
{
"param-name": "avaiablity_zone_0",
"param-value": "${avaiablity_zone_0}"
},
{
"param-name": "cloud_env",
"param-value": "openstack"
},
{
"param-name": "repo_url_artifacts",
"param-value": "
https://nexus.onap.org/content/groups/staging"
},
{
"param-name": "repo_url_blob",
"param-value": "
https://nexus.onap.org/content/repositories/raw"
},
{
"param-name": "dcae_collector_port",
"param-value": "8080"
},
{
"param-name": "image_name",
"param-value": "Ubuntu 14.04 LTS Generic"
},
{
"param-name": "flavor_name",
"param-value": "m1.medium"
},
{
"param-name": "install_script_version",
"param-value": "1.2.1-SNAPSHOT"
},
{
"param-name": "demo_artifacts_version",
"param-value": "1.2.1-SNAPSHOT"
},
{
"param-name": "dcae_collector_ip",
"param-value": "10.0.4.1"
},
{
"param-name": "pub_key",
"param-value": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKXDgoo3+WOqcUG8/5uUbk81+yczgwC4Y8ywTmuQqbNxlY1oQ0YxdMUqUnhitSXs5S/yRuAVOYHwGg2mCs20oAINrP+mxBI544AMIb9itPjCtgqtE2EWo6MmnFGbHB4Sx3XioE7F4VPsh7japsIwzOjbrQe+Mua1TGQ5d4nfEOQaaglXLLPFfuc7WbhbJbK6Q7rHqZfRcOwAMXgDoBqlyqKeiKwnumddo2RyNT8ljYmvB6buz7KnMinzo7qB0uktVT05FH9Rg0CTWH5norlG5qXgP2aukL0gk1ph8iAt7uYLf1ktp+LJI2gaF6L0/qli9EmVCSLr1uJ38Q8CBflhkh"
}
],
"capability-data": [
{
"capability-name": "generate-name",
"key-mapping": [
{
"payload": [
{
"param-name": "resource-name",
"param-value": "vsn_name_0"
},
{
"param-name": "external-key",
"param-value": "${vf-module-id}_vsn_name_0"
},
{
"param-name": "policy-instance-name",
"param-value": "${vsn-naming-policy}"
},
{
"param-name": "nf-role",
"param-value": "${nf-role}"
},
{
"param-name": "naming-type",
"param-value": "VM"
},
{
"param-name": "VNF_NAME",
"param-value": "${vnf-name}"
},
{
"param-name": "NFC_NAMING_CODE",
"param-value": "${nfc-naming-code}"
}
],
"output-key-mapping": [
{
"resource-name": "vsn_name_0",
"resource-value": "${vsn_name_0}"
}
]
},
{
"payload": [
{
"param-name": "resource-name",
"param-value": "vfw_name_0"
},
{
"param-name": "external-key",
"param-value": "${vf-module-id}_vfw_name_0"
},
{
"param-name": "policy-instance-name",
"param-value": "${vfw-naming-policy}"
},
{
"param-name": "nf-role",
"param-value": "${nf-role}"
},
{
"param-name": "naming-type",
"param-value": "VM"
},
{
"param-name": "VNF_NAME",
"param-value": "${vnf-name}"
},
{
"param-name": "NFC_NAMING_CODE",
"param-value": "${nfc-naming-code}"
}
],
"output-key-mapping": [
{
"resource-name": "vsn_name_0",
"resource-value": "${vfw_name_0}"
}
]
},
{
"payload": [
{
"param-name": "resource-name",
"param-value": "vf-module-name"
},
{
"param-name": "external-key",
"param-value": "${vf-module-id}"
},
{
"param-name": "policy-instance-name",
"param-value": "${vf-naming-policy}"
},
{
"param-name": "nf-role",
"param-value": "${nf-role}"
},
{
"param-name": "naming-type",
"param-value": "VF-MODULE"
},
{
"param-name": "VNF_NAME",
"param-value": "${vnf-name}"
},
{
"param-name": "VF_MODUEL_LABLE",
"param-value": "${vf-module-label}"
},
{
"param-name": "VF_MODUEL_TYPE",
"param-value": "${vf-module-type}"
}
],
"output-key-mapping": [
{
"resource-name": "vf_module_name",
"resource-value": "${vf-module-name}"
}
]
},
{
"payload": [
{
"param-name": "resource-name",
"param-value": "volume-name"
},
{
"param-name": "policy-instance-name",
"param-value": "${vf-naming-policy}"
},
{
"param-name": "nf-role",
"param-value": "${nf-role}"
},
{
"param-name": "naming-type",
"param-value": "VOLUME"
},
{
"param-name": "VOLUME_GROUP_NAME",
"param-value": "${volume-group-name}"
}
],
"output-key-mapping": [
{
"resource-name": "vmxvre_volume_name_1",
"resource-value": "${volume-name}"
},
{
"resource-name": "vmxvre_volume_name_0",
"resource-value": "${volume-name}"
}
]
}
]
},
{
"capability-name": "netbox-ip-assignment",
"key-mapping": [
{
"payload": [
{
"param-name": "service-instance-id",
"param-value": "${service-instance-id}"
},
{
"param-name": "prefix-id",
"param-value": "${prefix-id}"
},
{
"param-name": "vf-module-id",
"param-value": "${vf-module-id}"
}
],
"output-key-mapping": [
{
"resource-name": "protected_private_net_cidr",
"resource-value": "${address}"
}
]
},
{
"payload": [
{
"param-name": "service-instance-id",
"param-value": "${service-instance-id}"
},
{
"param-name": "prefix-id",
"param-value": "${prefix-id}"
},
{
"param-name": "vf-module-id",
"param-value": "${vf-module-id}"
}
],
"output-key-mapping": [
{
"resource-name": "onap_private_net_cidr",
"resource-value": "${address}"
}
]
},
{
"payload": [
{
"param-name": "service-instance-id",
"param-value": "${service-instance-id}"
},
{
"param-name": "prefix-id",
"param-value": "${prefix-id}"
},
{
"param-name": "vf-module-id",
"param-value": "${vf-module-id}"
}
],
"output-key-mapping": [
{
"resource-name": "vpg_private_ip_0",
"resource-value": "${address}"
}
]
},
{
"payload": [
{
"param-name": "service-instance-id",
"param-value": "${service-instance-id}"
},
{
"param-name": "prefix-id",
"param-value": "${prefix-id}"
},
{
"param-name": "vf-module-id",
"param-value": "${vf-module-id}"
}
],
"output-key-mapping": [
{
"resource-name": "vfw_private_ip_2",
"resource-value": "${address}"
}
]
},
{
"payload": [
{
"param-name": "service-instance-id",
"param-value": "${service-instance-id}"
},
{
"param-name": "prefix-id",
"param-value": "${prefix-id}"
},
{
"param-name": "vf-module-id",
"param-value": "${vf-module-id}"
}
],
"output-key-mapping": [
{
"resource-name": "vfw_private_ip_1",
"resource-value": "${address}"
}
]
},
{
"payload": [
{
"param-name": "service-instance-id",
"param-value": "${service-instance-id}"
},
{
"param-name": "prefix-id",
"param-value": "${prefix-id}"
},
{
"param-name": "vf-module-id",
"param-value": "${vf-module-id}"
}
],
"output-key-mapping": [
{
"resource-name": "vfw_private_ip_0",
"resource-value": "${address}"
}
]
},
{
"payload": [
{
"param-name": "service-instance-id",
"param-value": "${service-instance-id}"
},
{
"param-name": "prefix-id",
"param-value": "${prefix-id}"
},
{
"param-name": "vf-module-id",
"param-value": "${vf-module-id}"
}
],
"output-key-mapping": [
{
"resource-name": "vsn_private_ip_1",
"resource-value": "${address}"
}
]
},
{
"payload": [
{
"param-name": "service-instance-id",
"param-value": "${service-instance-id}"
},
{
"param-name": "prefix-id",
"param-value": "${prefix-id}"
},
{
"param-name": "vf-module-id",
"param-value": "${vf-module-id}"
}
],
"output-key-mapping": [
{
"resource-name": "vsn_private_ip_0",
"resource-value": "${address}"
}
]
},
{
"payload": [
{
"param-name": "service-instance-id",
"param-value": "${service-instance-id}"
},
{
"param-name": "prefix-id",
"param-value": "${prefix-id}"
},
{
"param-name": "vf-module-id",
"param-value": "${vf-module-id}"
}
],
"output-key-mapping": [
{
"resource-name": "unprotected_private_net_cidr",
"resource-value": "${address}"
}
]
}
]
}
]
}
Base config artifact pending
Base config artifact pending