So far, all of our work has been done in the role of "Designer", but designers shouldn't test or approve their own designs; that should be done independently. ONAP uses the "Tester" role, represented here by user ID jm0007, for that purpose.

If you're still logged in as cs0008, log out by clicking on the user name in the upper right corner of the page and then clicking on the "Log out" button. Then log in again as jm0007 with the same password, demo123456!.  Go into SDC

Note than once you have logged in with the "Tester" ID, and clicked on SDC to log into the SDC subsytem, its home page looks slightly different: there's no option for creating new products or license models here. However, our "tutorial firewall" virtual function (note the "VF" indicator in the upper left corner) shows as being "Ready for testing". Until a Tester has tested and approved it, the VF cannot be used to create a service which can be distributed, the ultimate goal of this exercise.

Click on the "tutorial firewall" artifact to bring up its detail screen.

We're merely going to sketch out the testing and approval process here. Click "Start Testing". After a moment, an alert will appear to indicate that the test suite has completed successfully.

Now, click on "Accept". A form will appear to get a distribution confirmation message. Fill something in and click "OK".

You'll be returned to the SDC Home page, and the VF artifact will no longer appear — having approved it, it's now out of the tester's workflow — but an alert will appear that the artifact has been successfully accepted.

The Tester's work is done for the moment, and the VF is back in the Designer's hands to be packaged as a service which can then be distributed (by someone in the "Ops" role), once it's been tested and accepted (by a Tester) and approved (by a Governor).

The reason for a second testing cycle is that the testing and approval we just went through apply to a specific virtual function. While the service we'll create consists only of a single VF, typical services will comprise a number of different ones, so the service-level testing functions as "integration testing" for a potentially large number of virtual functions.

Log out, and log in as user ID cs0008 again. Click on SDC to access the SDC subsystem and view our VF artifact, now tested and accepted, showing a status of "Certified".

Hover over the "Add" panel, and click the "Add Service" button when it appears.

In the resulting details form, fill in "Name" and "Description" with any values you like, choose "Network L4+" for the "Category", and fill in a six-digit "Project code". Then, click "Create".

After a few moments, an alert will appear indicating that the artifact has been successfully created.

As when we created our virtual function, the sidebar links were greyed; now that the service has been created, they're active. Click on the icon link, and select an icon for the service.

Next, click on "Composition". This is the step at which we actually "design" the service we'll be distributing. Initially, the "Composition" page shows an empty canvas and a couple of default network elements. Click on the disclosure arrow to the right of "APPLICATION L4+" in the sidebar.

Now we can see our "tutorial firewall" VF in the sidebar. Drag the VF out of the sidebar and drop it onto the canvas.

The canvas should look like the following when you're done:

You have now created a new service consisting of the single virtual function we created in part 2 of this series of tutorials. Before it can be distributed for use, though, the service must be tested and approved. Click "Submit for testing" and enter a message in the dialog which appears. Click "Save".

You'll be returned to the SDC Home screen, and an alert showing that the new service has been successfully submitted for testing will appear. Note that both our virtual function and our new service now appear on the SDC Home screen; the service shows "v0.1" and a status of "Ready for testing". TODO: JIRA on grouping services/virtualFunctions (when multiple of each exist)

This completes our Designer's involvement in the workflow, and the service now goes to the Tester for testing and approval. Log out and log back in as jm0007. Click on "SDC" to access the SDC Home page. Note that it's once again no longer empty: the "tutorial service" artifact has been added to our workflow.

Click on the "tutorial service" artifact to get to its details, and then click "Start testing".

After a few moments, an alert will notify you that testing completed successfully. Click on the "Accept" button now. (TODO add accept screencap) As before, you'll be notified that the artifact has been successfully accepted and then returned to a now-empty SDC Home page. This completes the work of our Tester, and it's now the responsibility of someone in a Governor role to approve the distribution of the new service.

Log out, and log in again as gv0001 with the password demo123456!. Access the SDC Home page, and note the the now tested and accepted service appears with version "1.0" and the status "Waiting for distribution".

Click on the service artifact to access its details and then click the "Approve" button above the form.

You'll receive a notification that the service has been successfully approved and be returned to the SDC Catalog.

The Governor's part in the workflow is now complete, and it only remains for a user in the "Ops" role to actually distribute the service. Log out, and log in again as op0001 with the password demo123456!. Access the SDC Home page, which now shows the "tutorial service" with a status of "Distribution Approved".

Click on the artifact to open its details. When the "General" page appears, click on the "Distribute" button that appears above the form:

After a moment, you'll be notified that the service has been successfully distributed. If you return to the SDC Home screen (by clicking on "HOME" in the breadcrumbs), the "tutorial services" now shows a status of "Distributed".


You can also click the service and view the Monitor tab to see the various components that have accepted your distribution.

If SO complains due to timeout - repeat the redistribute.