.. This work is licensed under a Creative Commons Attribution 4.0
   International License. http://creativecommons.org/licenses/by/4.0

.. _release_usecases:

:orphan:

Kohn Use Cases
==============

Description
-----------

This session includes use cases and functional requirements which have been
officially verified in Kohn release by the ONAP community.

For each use case or functional requirement, you can find contact names and a
link to the associated documentation.

This documentation deals with

  1. What has been implemented
  2. Step by step instructions to deploy and execute the tests, including the
     links to download the related assets and resources
  3. Known issues and workarounds

Use cases
---------

Kohn Official Use Cases
~~~~~~~~~~~~~~~~~~~~~~~

.. csv-table::
   :file: ../files/csv/usecases.csv
   :widths: 10,40,20,30
   :delim: ;
   :header-rows: 1
