Managed entities

Managed entities represent application or other software running at the network application layer of the site.

Managed entities are directly integrated with Automation features (build/teardown) so they may be managed through their lifecycle, without the need for an automation context.

Selecting managed entity design

To create a Managed Entity, you must first have a relevant Assembly descriptor loaded into the orchestration system. This can be done using the network automation UI or with LMCTL, the command line tool client.

Once the descriptor is available, you must create a Managed Entity Type in the Site Planner to register it. This can done through the UI, by navigating to Managed Entity Types in the Virtualization menu or through the managed-entity-types REST APIs.

Adding managed entity components to a descriptor

To include components in an Assembly Descriptor, you must add the ManagedEntityComponent (or NetworkServiceComponent) data type, then add your own custom type which derives from it.

data-types:
  ManagedEntityComponent: {}
  DU: 
    derived-from: ManagedEntityComponent
    properties:
      propA: 
        type: string
      propB: 
        type: string

Then create a property which uses your new data type:

properties:
  DU:
    type: DU

When this descriptor is associated to a Managed Entity Type, the Site Planner will manage DU on any Managed Entity instance of this type as a component instead of a simple input property.

The Site Planner also supports managing multiple instances of a component. To enable this, update the property in your descriptor so your custom data type is used as the entry-schema of a map:

properties:
  DUs:
    type: map
    entry-schema:
      type: DU

The Site Planner will then manage DUz as multiple components.

Creating a managed entity

Once you have created a Managed Entity Type, you can begin creating instances of Managed Entities.

  1. Find Managed Entities in the Virtualization menu
  2. Click on the green + button or click on Managed Entities and then the Add button
  3. Select the type of managed entity.
  4. Give the managed entity a unique name.
  5. Select the planning status of the managed entity. This indicates to other users the operational state of this service, not a running state
  6. Populate the properties exposed by this managed entity type with values suitable for this instance (the properties shown here are the public properties exposed as part of the Assembly descriptor)
  7. Optionally add tags to categorise the instance and add comments
  8. Click Create

You'll be redirected to the details page of your new managed entity instance. This is only a planned instance, it is not running yet. You may note this by visiting the Automation tab on the details page, which shows the current operational state as Planned.

Adding managed entity components

Some Assembly descriptors will expose Managed Entity Component properties, which allow the user to configure nested components of the service. You can determine if a descriptor includes component properties by visiting the details page of the relevant Managed Entity Type.

When creating an instance of a Managed Entity with component properties, you will be able to configure them from the details page of the instance. Under properties, you will find a panel section for each component property, with buttons to add/edit/remove components from the planned instance.

When adding a component, you will need to configure the intended property values for it. You will also have the option of selecting if the component is enabled or disabled. Disabled components are considered not ready and are therefore not included when building the Managed Entity (described later). This allows you to add all of your planned components, then activating them when ready. For example, when deploying an eNB, you may add all of the planned DUs and CUs but activate them individually as sites become ready.

Building a managed entity

To activate a Managed Entity, click on the Build button from the details page of the instance. This will make a request to the intent engine to automate the orchestration of this service, according to the design outlined in the chosen Assembly descriptor (based on the Managed Entity Type) and the property values you provided for the instance and it's components.

From the Automation tab, you will see that the build request has appeared in the history table. This table shows the current status of the request and provides a Process link to view more details in the network automation UI.

Note: The Automation page does not auto-refresh so you will need to refresh the page to determine if the request has progressed.

Once the instance has been orchestrated, the Current State will display Active, indicating that the service is now operational.

Updating a managed entity

Over time, you may make changes to the Managed Entity properties and components. These changes impact the plan for this instance but do not immediately impact the active service.

Once you have made your desired changes to the Managed Entity plan, you may request for them to be applied by clicking on the Build button again. A new request will be made to the intent engine to automate the orchestration of this service however, this time the intent engine will calculate the difference between the old state and new state, then orchestrate only the necessary changes. The exact details on how this works depends on:

  • Changes made since the last build
  • The Assembly Descriptor

As a simple example, consider a eNB service with DU components. The Assembly descriptor specifies that a Pod is created in a target cluster for each DU component added to the instance.

In the Site Planner, we have created an instance with a single DU component and pressed build, resulting in a running Pod. Later, we choose to update the Managed Entity instance to include a second DU component. When we press build, we can see from the operations UI that the new DU component was created, resulting in a second Pod. The first Pod remains unchanged.

Teardown a managed entity

Click on the Teardown button from the Managed Entity instance to request the uninstallation of the service and all of it's components.

From the Automation tab, you will see that the teardown request has appeared in the history table and you may monitor it's progress. Eventually, when the service has been uninstalled, it will no longer be viewable in the network automation UI so the Process links will be disabled.

After uninstalling the Managed Entity, it is safe to delete it from the Site Planner using the Delete button.

Note: if you delete the managed entity from the Site Planner before completing a successful teardown then the service may still be active. It can be found and removed from the network automation UI but you will need to know the ID of the instance you have deleted in the Site Planner (this can be found in the URL of the instance details page or through the Rest API but only before it has been deleted).