Switching from search to inventory

From Version 1.1.17 (for on-prem) and Version 1.1.18 (for OCP), Agile Service Manager uses a new Inventory service instead of the previous Search service. The following steps describe how to populate the inventory service with topology data after you have updated from an existing installation that does not use it.

Before you begin

Assumptions:
  • You are upgrading to a version of Agile Service Manager that uses the new inventory service from a version that does not.
  • You have completed the upgrade process as described in the installation topic, including the removal of the Elasticsearch service and data.
New services:
Version 1.1.20
A new geo-location functionality lets users view resources on a map, view further details about the resource, and also interact with nearby resources.
The functionality extends to filtering by location.
Version 1.1.19
All versions and components of Agile Service Manager now use the new inventory service.
A new Network Discovery Schema Setup service is included with the (optional) application and network discovery download packages.
Version 1.1.18
Both on-prem and OCP versions of Agile Service Manager now use the new inventory service. However, the network discovery component still requires ElasticSearch, which is now bundled with the Agile Service Manager application and network discovery download packages.
Version 1.1.17
The on-prem version of Agile Service Manager now uses a new inventory service ('nasm-inventory' and 'nasm-postgres') instead of the previous search and elastic search services ('nasm-search' and 'nasm-elasticsearch'). The OCP version still uses the older components. The (optional) network discovery component still requires ElasticSearch even if deployed on-prem.

About this task

The following steps describe how to populate the inventory service with searchable topology data by triggering a data administration routine.
Limitation:
Inventory service colon (:) error (on-prem only)
When searching topologies using the Inventory Service, the use of a colon (:) results in an error.
Workaround: If a topology name includes the : character, you must either quote the search term, or escape the ':'. For example, use one of the following when searching for myFavouriteResource:two.
"myFavouriteResource:two"
myFavouriteResource\:two
Note: Search suggestions with a colon character will automatically be presented in quotes.
Search fails to roll back to previous release
Restriction: This limitation only applies to legacy releases that pre-date the new indexing service.
When updating to a new release, a new search index is created. When rolling back to a previous release, no index exists.
Workaround: Remove the topology data, then rebroadcast the data to create the index again.
  1. Scale down the core services which access the storage:
    oc scale deploy $release-topology-search --replicas=0
  2. Clear out the search indexes:
    oc exec $release-topology-elasticsearch-0 -- bash -c "curl -X DELETE 'http://localhost:9200/searchserv*'"
  3. Scale the core services back up:
    oc scale deploy $release-topology-search --replicas=2
  4. Rebroadcast the data (specifying a tenantId) by calling the 'rebroadcast' API of the topology service. This triggers the rebroadcast of all known resources and the Search service will then index those resources in Elasticsearch:
    https://master_fqdn/1.0/topology/swagger#!/Crawlers/rebroadcastTopology

Procedure

Populate the inventory service

Required: This step requires an integrated Agile Service Manager Inventory environment and you only need to perform it if updating from a version of Agile Service Manager that did not use the inventory service.

  1. From the main navigation, click Administration > Topology configuration.
    The Topology configuration page is displayed.
  2. Click Configure on the Data administration routines card.
    The Data administration routines page is displayed listing existing routines that have been run.
  3. Click Run a routine (top right).
    The Run a new routine window opens displaying the available routines that you can run manually.
  4. Select Rebroadcast, then click Next.
    The Run Rebroadcast window is displayed.
  5. Define the details for the specific routine to be run.
    1. Select true for Include history.
    2. Do not specify a broadcast ID.
    3. Accept the default number of updates to be batched up (1,000).
  6. Click Run.
    When the rebroadcast routine has completed, it will be displayed in the table on the Data administration routines page.
    Note: The amount of historical data being transferred may mean that the rebroadcast process takes some time to complete.

Results

Once the process has completed, the Inventory service is ready for use.