trellis (Trellis Application Container)

The Trellis Application Container (trellis) probe contains services that are used by core CA UIM components. 
uimpga-ga
trellis
The Trellis Application Container (trellis) probe contains services that are used by core CA UIM components. 
 
 
Contents 
 
 
 
Service Overview
The trellis probe contains the following services.
Other non-core probes might require extra services that you must deploy to trellis individually.
 
 
data_access_services
The data_access_services are responsible for the following items in CA UIM:
  • Grouping in USM
  • Health Index information
The data_access_services replace the functionality that was provided by the ugs and policy_engine probes in CA UIM versions prior to 8.4. When trellis is deployed during an upgrade, the data_access_services remove both ugs and policy_engine. The ugs and policy_engine probes are not deployed in new CA UIM installations.
: If you redeploy either ugs or policy_engine after trellis is deployed, the probes are deleted again when trellis restarts.
The data_access_services are automatically deployed as part of a UIM installation or upgrade.
nas_api_service
As of the 8.5.1 release of CA UIM, the nas_api_service is contained in the ems probe. However, a version of the nas_api_service is still contained within the trellis probe to maintain backwards compatibility with pre-8.5.1 ticketing gateway probes.
The nas_api performs all database reads and writes for the alarm data in USM. The nas_api service is automatically deployed as part of a UIM installation or upgrade.
alarm_routing_service
The alarm_routing_service is an optional service that is used with the ems probe. The alarm_routing_service routes legacy alarm messages to the ems probe for processing. For more information, see the ems probe documentation. 
Configuring the trellis Probe
The trellis probe is deployed to the Primary Hub as part of a UIM installation or upgrade. Only one active trellis probe is supported in a UIM environment. 
After deployment, the trellis probe requires little to no user configuration. Only change the other settings in the trellis probe under the guidance of CA Support.
You can use trellis in ha probe failover configurations. For more information, see the ha probe documentation.
Set the Logging Properties
You can set the logging properties for trellis using the Raw Configure menu in either Admin Console or Infrastructure Manager.
 
Follow these steps:
 
  1. Open the trellis Raw Configure Menu.
  2. Click the 
    Configuration
     folder.
  3. Edit the 
    loglevel 
    key. The log levels that you can specify are:
    1. 0 - Severe messages are logged.
    2. 1 - Errors are logged.
    3. 2 - Warnings are logged.
    4. 3 - Informational messages are logged.
    5. 4 - Debugging messages are logged.
    6. 5 - Tracing/low-level debugging messages are logged. 
    The default log level is 2.
  4. Edit the 
    logsize
     key. You can specify a maximum file size (in KB) in which the internal log messages for the probe are saved. The default log size is 20000.
  5. Click 
    Save
     to apply your changes.
View the Services Available in the trellis Probe
You can view the services that are deployed within trellis using the 
list_services
 probe callback.
 
Follow these steps:
 
  1. Open the Probe Utility menu for trellis in either Admin Console or Infrastructure Manager.
  2. Select 
    list_services 
    from the drop-down list and click the play button.
The list of deployed features appears in the command output window. By default, the following services appear:
  • trellis
  • data_access_services
  • nas_api
Add Services to the trellis Probe
In some cases, you might need to add extra services to the trellis probe. For example, deployment of the alarm_routing_service is required if you are using the ems probe.
You can use either Admin Console or Infrastructure Manager to deploy services.
 
Follow these steps:
 
  1. Locate the service that you want to deploy in the archive.
  2. Deploy the service package to the Primary Hub.
  3. Restart the trellis probe.
Reload the alarm_routing_service Configuration File
If you are using the ems probe, the alarm_routing_service must reload its configuration file before changes to legacy routing rules can take effect. To avoid restarting all your trellis services when your routing rules change, you can use the Probe Utility to reload the alarm_routing_service configuration file. For more information regarding the alarm_routing_service and legacy routing rules, refer to the ems probe documentation.
Other services require a full trellis probe restart.
 
Follow these steps:
 
  1. Open the Probe Utility menu for trellis in either Admin Console or Infrastructure Manager.
  2. Select 
    alarm_routing_service_restart  
    from the drop-down list and click the play button. The alarm_routing service restarts and any new routing rules are applied.
Troubleshoot trellis Services
The services within trellis do not appear as down (red) in either Infrastructure Manager or Admin Console. The following table lists the symptoms that you might see when a service in trellis is not working correctly.
Symptom
Impacted Service
 
(CA UIM 8.4.7 or earlier)
 Alarms from nas do not appear in USM.
In earlier versions of CA UIM, USM would throw an exception when nas was deactivated or missing. When the nas_api is in use, this error no longer appears.
nas_api
 
Device groups do not appear in USM.
data_access_services
Alarm routing to ems has stopped and ems alarms do not appear in USM.
alarm_routing_service
Troubleshooting Steps
  1.  
    Check the trellis probe
    The services within trellis can only run if the trellis probe is active and fully functional.
  2.  
    Check the trellis version number
    In Admin Console, select the 
    Installed Packages
     tab to view the installed version number.
     The version number displayed under the 
    Probes
     tab will reflect the version of the latest service probe running under trellis. This is not the actual trellis version number.
  3.  
    Review the trellis log file
    The trellis log file contains information about the state of each service within trellis. The log file also indicates if there are any issues with probes that trellis has dependencies on.
  4.  
    Check the state of dependent probes
    The services in trellis have dependencies on the following probes:
    • data_engine
    • ems (if you are using the alarm_routing_service)
    • nas
    • udm_manager
    Make sure to correct any issues with these probes before restarting trellis.
  5.  
    Restart trellis
    Restarting the trellis probe restarts all of the services in the trellis container.
    If you are having issues with the alarm_routing_service, it can be restarted individually without restarting the trellis probe. For more information, see the topic Restart the alarm_routing_service 
Log File Output
You can use the following sample log file output to ensure that the trellis probe is functioning properly. The trellis log file is located in the folder 
<UIM_installation>\Nimsoft\probes\service
. You can also view the log file output in either Admin Console or Infrastructure Manager.
Registering Services
You can tell which services were successfully started by reading the trellis log file. The line 
Creating Shift Context
 in the log file indicates the start-up time for each service. Subsequent lines differ for each service:
 
nas_api
 
[main, trellis] Creating Shift Context
[main, trellis] Registering service: class com.nimsoft.events.nas.NasAlarmServiceImpl
 
 
data_access_services
 
[main, trellis] Creating Shift Context
Dec 28 14:16:30:575 [main, trellis] Registering service: class com.ca.uim.tnt2.services.DefaultLegacyGroupService
Dec 28 14:16:30:575 [main, trellis] Registering service: class com.ca.uim.tnt2.services.DefaultComputerSystemService
Dec 28 14:16:30:575 [main, trellis] Registering service: class com.ca.uim.services.ugs.DefaultGroupService
Not Found Error in Log File
 
Symptoms
 
I see the following error message in the trellis log file:
[main, trellis] com.lift.SystemException: configuration
at com.ca.trellis.persist.relational.commands.PersistenceContextCommand.apply(PersistenceContextCommand.java:92)
at com.ca.trellis.persist.relational.ResolvedDataSourceInstaller.resolve(ResolvedDataSourceInstaller.java:21)
at com.ca.trellis.persist.relational.DataSourceInstaller.install(DataSourceInstaller.java:30)
at com.ca.trellis.persist.relational.DataSourceInitiator.installDataSource(DataSourceInitiator.java:68)
at com.ca.trellis.persist.relational.DataSourceInitiator.start(DataSourceInitiator.java:54)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.ca.trellis.core.deployment.DefaultDeploymentContext.beforeStart(DefaultDeploymentContext.java:846)
at com.ca.trellis.core.deployment.DefaultDeploymentContext.applyInitiator(DefaultDeploymentContext.java:797)
at com.ca.trellis.core.deployment.DefaultDeploymentContext.startFeature(DefaultDeploymentContext.java:742)
at com.ca.trellis.core.deployment.DefaultDeploymentContext.installFeatures(DefaultDeploymentContext.java:711)
at com.ca.trellis.core.deployment.DefaultDeploymentContext.configureApplication(DefaultDeploymentContext.java:582)
at com.ca.trellis.core.deployment.DefaultDeploymentContext.startKernel(DefaultDeploymentContext.java:494)
at com.ca.trellis.core.deployment.DefaultDeploymentContext.start(DefaultDeploymentContext.java:220)
at com.ca.trellis.container.ApplicationContainer.createApplicationContext(ApplicationContainer.java:699)
at com.ca.trellis.container.ApplicationContainer.run(ApplicationContainer.java:242)
at com.ca.trellis.container.ApplicationContainer.start(ApplicationContainer.java:218)
at com.ca.trellis.container.Launcher.main(Launcher.java:74)
Caused by: (4) not found, Received status (4) on response (for sendRcv) for cmd = 'nametoip' name = 'data_engine'
 
Solution 
 
This error occurs when a probe that a trellis service has a dependency on is not available. The name of the unavailable probe is indicated after the 
name =
 statement. In this example, the unavailable probe is data_engine:
Caused by: (4) not found, Received status (4) on response (for sendRcv) for cmd = 'nametoip' name =
'data_engine'