Skip to content
index.html 15.5 KiB
Newer Older
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        
        <meta name="author" content="Openslice.io">
        <link rel="canonical" href="http://openslice.io/develop/alarms_actions/">
        <link rel="shortcut icon" href="../img/favicon.ico">
        <title>Alarms and Actions - Openslice</title>
        <link href="../css/bootstrap.min.css" rel="stylesheet">
        <link href="../css/font-awesome.min.css" rel="stylesheet">
        <link href="../css/base.css" rel="stylesheet">
        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css">
        <link href="../css/version-select.css" rel="stylesheet">
        <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script>
        <script>hljs.highlightAll();</script> 
    </head>

    <body>
        <div class="navbar fixed-top navbar-expand-lg navbar-dark bg-primary">
            <div class="container">
                <a class="navbar-brand" href="..">Openslice</a>
                <!-- Expander button -->
                <button type="button" class="navbar-toggler" data-toggle="collapse" data-target="#navbar-collapse">
                    <span class="navbar-toggler-icon"></span>
                </button>

                <!-- Expanded navigation -->
                <div id="navbar-collapse" class="navbar-collapse collapse">
                        <!-- Main navigation -->
                        <ul class="nav navbar-nav">
                            <li class="dropdown">
                                <a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown">Overview <b class="caret"></b></a>
                                <ul class="dropdown-menu">
                                    
<li>
    <a href=".." class="dropdown-item">Introduction</a>
</li>
                                </ul>
                            </li>
                            <li class="dropdown active">
                                <a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown">Getting Started <b class="caret"></b></a>
                                <ul class="dropdown-menu">
                                    
<li>
    <a href="../deployment/" class="dropdown-item">Deployment/Installation</a>
</li>
                                    
<li>
    <a href="../nfvoconfig/" class="dropdown-item">NFV Orchestrator Configuration</a>
</li>
                                    
<li>
    <a href="../catalogs/" class="dropdown-item">Service Catalogs</a>
</li>
                                    
<li>
    <a href="../nfvcatalogs/" class="dropdown-item">NFV Catalogs</a>
</li>
                                    
<li>
    <a href="../lcm/" class="dropdown-item">LCM Rules</a>
</li>
                                    
<li>
    <a href="../architecture/consumingServicesFromExternalPartners/" class="dropdown-item">Consuming Services From External OSS</a>
</li>
                                    
<li>
    <a href="../service_inventory/" class="dropdown-item">Service Inventory</a>
</li>
                                    
<li>
    <a href="./" class="dropdown-item active">Alarms and Actions</a>
</li>
                                </ul>
                            </li>
                            <li class="dropdown">
                                <a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown">Design & Architecture <b class="caret"></b></a>
                                <ul class="dropdown-menu">
                                    
<li>
    <a href="../architecture/architecture/" class="dropdown-item">Architecture</a>
</li>
                                    
<li>
    <a href="../architecture/messagebus/" class="dropdown-item">Message bus</a>
</li>
                                    
<li>
    <a href="../architecture/osom/" class="dropdown-item">OSOM</a>
</li>
                                    
<li>
    <a href="../architecture/oauth/" class="dropdown-item">Authentication</a>
</li>
                                    
<li>
    <a href="../architecture/tmfapi/" class="dropdown-item">TMF API</a>
</li>
                                    
<li>
    <a href="../architecture/nfvapi/" class="dropdown-item">NFV API</a>
</li>
                                    
<li>
    <a href="../architecture/tmfweb/" class="dropdown-item">TMF WEB</a>
</li>
                                    
<li>
    <a href="../architecture/nfvweb/" class="dropdown-item">NFV WEB</a>
</li>
                                    
<li>
    <a href="../architecture/issuemgt/" class="dropdown-item">Issue management</a>
</li>
                                    
<li>
    <a href="../architecture/centrallog/" class="dropdown-item">Central logging</a>
</li>
                                </ul>
                            </li>
                            <li class="dropdown">
                                <a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown">Contributing <b class="caret"></b></a>
                                <ul class="dropdown-menu">
                                    
<li>
    <a href="../contributing/developing/" class="dropdown-item">Developing</a>
</li>
                                </ul>
                            </li>
                        </ul>

                    <ul class="nav navbar-nav ml-auto">
                        <li class="nav-item">
                            <a href="#" class="nav-link" data-toggle="modal" data-target="#mkdocs_search_modal">
                                <i class="fa fa-search"></i> Search
                            </a>
                        </li>
                            <li class="nav-item">
                                <a rel="prev" href="../service_inventory/" class="nav-link">
                                    <i class="fa fa-arrow-left"></i> Previous
                                </a>
                            </li>
                            <li class="nav-item">
                                <a rel="next" href="../architecture/architecture/" class="nav-link">
                                    Next <i class="fa fa-arrow-right"></i>
                                </a>
                            </li>
                            <li class="nav-item">
                                <a href="https://github.com/openslice" class="nav-link">openslice</a>
                            </li>
                    </ul>
                </div>
            </div>
        </div>

        <div class="container">
            <div class="row">
                    <div class="col-md-3"><div class="navbar-light navbar-expand-md bs-sidebar hidden-print affix" role="complementary">
    <div class="navbar-header">
        <button type="button" class="navbar-toggler collapsed" data-toggle="collapse" data-target="#toc-collapse" title="Table of Contents">
            <span class="fa fa-angle-down"></span>
        </button>
    </div>

    
    <div id="toc-collapse" class="navbar-collapse collapse card bg-secondary">
        <ul class="nav flex-column">
            
            <li class="nav-item" data-level="1"><a href="#alarms" class="nav-link">Alarms</a>
              <ul class="nav flex-column">
            <li class="nav-item" data-level="2"><a href="#alarms-and-actions" class="nav-link">Alarms and Actions</a>
              <ul class="nav flex-column">
              </ul>
            </li>
            <li class="nav-item" data-level="2"><a href="#execday2" class="nav-link">execDay2</a>
              <ul class="nav flex-column">
              </ul>
            </li>
            <li class="nav-item" data-level="2"><a href="#scaleserviceequally" class="nav-link">scaleServiceEqually</a>
              <ul class="nav flex-column">
              </ul>
            </li>
              </ul>
            </li>
        </ul>
    </div>
</div></div>
                    <div class="col-md-9" role="main">

<h1 id="alarms">Alarms</h1>
<p>In Openslice parts of TMF642 Alarm Management API are currently implemented. Alarms can be managed through the TMF API endpoint as well as the UI.</p>
<h2 id="alarms-and-actions">Alarms and Actions</h2>
<p>Note: Actions is an experimental feature. We expect to have a more mature solution in future. The component in the architecture is the Openslcie Assurance Services</p>
<p>Alarms can be automatically resolved by specific actions. Today only the following actions are offered.</p>
<ul>
<li>execDay2</li>
<li>scaleServiceEqually</li>
</ul>
<h2 id="execday2">execDay2</h2>
<p>Usually used to perform a Day2 configuration (towards OSM). To use it, Create a New Action Specification Name=execDay2 as following</p>
<p><a href="../images/alarms_actions/day2actionspec.png"><img alt="Openslice  usage" src="../images/alarms_actions/day2actionspec.png" /></a></p>
<p>Now make a Service Order for your service. In this example ςε used a cirros NSD</p>
<p>Create a  New Action Rule for the running services as the following example:</p>
<p><a href="../images/alarms_actions/action_rule_exampleday2.png"><img alt="Openslice  usage" src="../images/alarms_actions/action_rule_exampleday2.png" /></a></p>
<p>The scope is the running cirros service. </p>
<p>Params should be paramname=value;paramname2=value2;paramname3=value3 (must exist in the VNF otherwise OSM will raise an error).</p>
<p>In this case should be filename=test.txt</p>
<p>Primitive=touch</p>
<p>ServiceId = select the service which will accept the Day2. In this case is the same</p>
<p>To test it:</p>
<p>Go to the Service Inventory and select the active Service.</p>
<p>Note the UUID of the service (e.g. c4e7990a-e174-4cd2-9133-b10e56721e08 copy from address bar),  DeploymentRequestID and NSDID from characteristics</p>
<p>You can either use the UUID of the service or the DeploymentRequestID  and POST to the Alarms endpoint ( /tmf-api/alarmManagement/v4/alarm)</p>
<p>If the DeploymentRequestID  is used then POST:</p>
<pre><code>
{
  &quot;alarmRaisedTime&quot;: &quot;2021-06-29T12:30:24.675Z&quot;,
  &quot;alarmReportingTime&quot;: &quot;2021-06-29T12:30:54.675Z&quot;,
  &quot;state&quot;: &quot;raised&quot;,
  &quot;alarmType&quot;: &quot;qualityOfServiceAlarm&quot;,
  &quot;probableCause&quot;: &quot;thresholdCrossed&quot;,
  &quot;ackState&quot;: &quot;unacknowledged&quot;,
  &quot;perceivedSeverity&quot;: &quot;major&quot;,
  &quot;sourceSystemId&quot;: &quot;mano-client-service&quot;,
  &quot;alarmDetails&quot;: &quot;NSID=3;DeploymentRequestID=1&quot;,
  &quot;specificProblem&quot;: &quot;myalram raised&quot;
}

</code></pre>
<p>If the UUID is used then POST:</p>
<pre><code>
{
  &quot;alarmRaisedTime&quot;: &quot;2021-06-29T12:30:24.675Z&quot;,
  &quot;alarmReportingTime&quot;: &quot;2021-06-29T12:30:54.675Z&quot;,
  &quot;state&quot;: &quot;raised&quot;,
  &quot;alarmType&quot;: &quot;qualityOfServiceAlarm&quot;,
  &quot;probableCause&quot;: &quot;thresholdCrossed&quot;,
  &quot;ackState&quot;: &quot;unacknowledged&quot;,
  &quot;perceivedSeverity&quot;: &quot;major&quot;,
  &quot;sourceSystemId&quot;: &quot;mano-client-service&quot;,
  &quot;alarmDetails&quot;: &quot;analarm&quot;,
  &quot;specificProblem&quot;: &quot;myalram raised&quot;,
  &quot;affectedService&quot;: [
    {
      &quot;id&quot;: &quot;c4e7990a-e174-4cd2-9133-b10e56721e08&quot;
    }
  ]

}

</code></pre>
<p>The Alarm to be created must have the affected Service ID equal to the running service from the scope (the cirros_ns)</p>
<p>Go to service inventory you will see the notes and also the service characteristics for any  EXEC_ACTION updates</p>
<p>You can also adjust the alarm conditions. They must match true so the alarm to be acknowledged
So if another external service raises an Alarm (with POST) for the running service, a Day2 will be performed on another Service</p>
<h2 id="scaleserviceequally">scaleServiceEqually</h2>
<p>This action is used from getting a scaling event from OSM. Please see the next demo for details on how it works</p>
<h3 id="prototype-demo">Prototype demo</h3>
<p>You can watch how we used the prototype on the following ETSI ZMS PoC #2</p>
<ul>
<li>ETSI ZMS PoC #2: <a href="https://www.etsi.org/events/1905-webinar-zsm-poc-2-showcase-automated-network-slice-scaling-in-multi-site-environments/">https://www.etsi.org/events/1905-webinar-zsm-poc-2-showcase-automated-network-slice-scaling-in-multi-site-environments/</a></li>
</ul></div>
            </div>
        </div>

        <footer class="col-md-12">
            <hr>
                <p>Copyright &copy; 2019-2023 Openslice Project</p>
            <p>Documentation built with <a href="https://www.mkdocs.org/">MkDocs</a>.</p>
        </footer>
        <script src="../js/jquery-3.6.0.min.js"></script>
        <script src="../js/bootstrap.min.js"></script>
        <script>
            var base_url = "..",
                shortcuts = {"help": 191, "next": 78, "previous": 80, "search": 83};
        </script>
        <script src="../js/base.js"></script>
        <script src="../js/version-select.js"></script>

        <div class="modal" id="mkdocs_search_modal" tabindex="-1" role="dialog" aria-labelledby="searchModalLabel" aria-hidden="true">
    <div class="modal-dialog modal-lg">
        <div class="modal-content">
            <div class="modal-header">
                <h4 class="modal-title" id="searchModalLabel">Search</h4>
                <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
            </div>
            <div class="modal-body">
                <p>From here you can search these documents. Enter your search terms below.</p>
                <form>
                    <div class="form-group">
                        <input type="search" class="form-control" placeholder="Search..." id="mkdocs-search-query" title="Type search term here">
                    </div>
                </form>
                <div id="mkdocs-search-results" data-no-results-text="No results found"></div>
            </div>
            <div class="modal-footer">
            </div>
        </div>
    </div>
</div><div class="modal" id="mkdocs_keyboard_modal" tabindex="-1" role="dialog" aria-labelledby="keyboardModalLabel" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <h4 class="modal-title" id="keyboardModalLabel">Keyboard Shortcuts</h4>
                <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
            </div>
            <div class="modal-body">
              <table class="table">
                <thead>
                  <tr>
                    <th style="width: 20%;">Keys</th>
                    <th>Action</th>
                  </tr>
                </thead>
                <tbody>
                  <tr>
                    <td class="help shortcut"><kbd>?</kbd></td>
                    <td>Open this help</td>
                  </tr>
                  <tr>
                    <td class="next shortcut"><kbd>n</kbd></td>
                    <td>Next page</td>
                  </tr>
                  <tr>
                    <td class="prev shortcut"><kbd>p</kbd></td>
                    <td>Previous page</td>
                  </tr>
                  <tr>
                    <td class="search shortcut"><kbd>s</kbd></td>
                    <td>Search</td>
                  </tr>
                </tbody>
              </table>
            </div>
            <div class="modal-footer">
            </div>
        </div>
    </div>
</div>

    </body>
</html>