Wednesday, 18 January 2017

HALM Usage and Troubleshooting

What is HALM?

HALM stands for HANA Application Lifecycle Management, this image from the documentation explains the product lifecycle using HALM:

HALM Usage and Troubleshooting
Setup

To access the HALM page we will need to ensure there is an XS engine running, this section will cover things to check to see if there is an XS engine.

Single tenant database

In a single tenant database things are easier here, first check to see if XS engine

You can check HANA administrator -> Landscape and see if there is an xsengine service running

HALM Usage and Troubleshooting

If there is no xsengine present then verify if the xsengine is running embedded in the indexserver. To verify this under the xsengine.ini configuration check [httpserver]->embedded=true

HALM Usage and Troubleshooting

Once verified you can access the page via studio

HALM Usage and Troubleshooting

Or via the URL

http://<hostname>:8000/sap/hana/xs/lm/index.html?page=HomeTab

Multi-tenant XSEngine setup

Setting up HALM for a multi-tenant database is a little more complicated, there will be a HALM page for the SYSTEMDB and for the tenant databases. For steps on exposing HTTP access to the tenant database I will link to the following blog:

https://blogs.sap.com/2016/01/27/exposing-http-access-to-multitenant-database-containers-in-sap-hana-sps11/

Common Issues

Users have reported issues where they can access the SYSTEMDB database, but not the tenant database lifecycle manager page.

When they try to access the page they will get the following error:

503 Service not available

For this error check the configuration of the system, with SPS 10 there is a configuration parameter

Webdispatcher.ini-> [profile]->wdisp/system_auto_configuration

When set to true it will generate the proper parameter for the SYSTEMDB under wdisp/system_10 = GENERATED, SID=SYS, EXTSRV=localhost:3<instance>14, SRCVHOST=<host>

If wdisp/system_auto_configuration is set to false this entry is removed, you would have to add the wdisp/system_10, wdisp/system_11, and etc manually

However, if wdisp/system_auto_configuration is set to true and you are not seeing entries for the tenant database (ie wdisp/system_11) then there is an issue with the configuration in another ini section. If you try to add the entry manually with wdisp/system_auto_configuration these manually entered entries will prefix your entry INACTIVE automatically

The most common the issue is that on the tenant database does not have xsengine.ini->[public_urls]->http_url (or https_url) set

Or if they try to access the XSEngine page and get:

503 Service not available

Then this means that the XSEngine process is not running on the tenant database (embedded), to verify this run the following query
  • From the tenant database: SELECT SERVICE_NAME, PORT, SQL_PORT, (PORT + 2) HTTP_PORT FROM SYS.M_SERVICES WHERE ((SERVICE_NAME=’indexserver’ and COORDINATOR_TYPE= ‘MASTER’) or (SERVICE_NAME=’xsengine’))
  • From the system database: SELECT DATABASE_NAME, SERVICE_NAME, PORT, SQL_PORT, (PORT + 2) HTTP_PORT FROM SYS_DATABASES.M_SERVICES WHERE DATABASE_NAME=’<DBNAME>‘ and ((SERVICE_NAME=’indexserver’ and COORDINATOR_TYPE= ‘MASTER’) or (SERVICE_NAME=’xsengine’))

Look under the column for xsengine and check the running services to see if anything is running on that port (ps –ef | grep <port> or telnet <host> <port>)

If there is nothing running then check to see if on the tenant database has xsengine.ini->[httpserver]->embedded is set to true or if exists

HALM Usage and Troubleshooting

Once the XSEngine is set you will need to restart the indexserver.

Once the indexserver is restarted the URL will display the following

HALM Usage and Troubleshooting

http://:8000/

To check the web dispatcher setup you can access

http://<host>:8000/sap/hana/xs/wdisp/admin/public/default.html

Accessing HALM

The HALM homepage can be accessed via

http://<hostname>:8000/sap/hana/xs/formLogin/login.html

*if it is a tenant database put in the database alias name

or you can access HALM via studio

HALM Usage and Troubleshooting

Ensure that XS properties on the database has the correct hostname or alias name (right click on the database and select properties)

HALM Usage and Troubleshooting

Login to the HALM page

HALM Usage and Troubleshooting

Potential Errors

403 – Forbidden

HALM Usage and Troubleshooting

This is simply means that this user is missing the appropriate role sap.hana.xs.admin.roles

Once added you should be able to login.

404 Page Not Found

If you encounter a page not found error, check that the Delivery Unit

select * from “_SYS_REPO”.”DELIVERY_UNITS”

In the results verify that HANA_XS_BASE, HANA_HDBLCM, and HANA_XS_LM have been deployed

How to check the HALM revision?

HALM Usage and Troubleshooting
HALM Usage and Troubleshooting

Setting up Delivery Units

Click on the ‘PRODUCTS’ tab and click on ‘Delivery Units’

HALM Usage and Troubleshooting

Click on the ‘Create’ button

HALM Usage and Troubleshooting

When you try to create this you will see the following error in the tool bar

HALM Usage and Troubleshooting

To resolve this issue you will have to click on ‘SETTINGS’ in the menu tab bar

HALM Usage and Troubleshooting

Click on the ‘Change Vendor’

HALM Usage and Troubleshooting

HALM Usage and Troubleshooting

I select ‘Enable Change Recording’ and the following info popup will appear

HALM Usage and Troubleshooting

Once this is set try to create the Delivery Unit again and we will see that the Vendor field is now ‘TST’

HALM Usage and Troubleshooting

Please note the Version, SAP guidelines state that Version number be done in the following format

Version numbers must take the form “#.#.#”, for example, 1.0.5, where:
  • 1= the DU version number
  • 0= the support package version (if required)
  • 5= the patch version (if required)

I entered in the name DU_TEST and click on ‘Create’

Click on the ‘Assign’ button under the ‘Assigned Packages’ section to assign packages to this Delivery Unit

HALM Usage and Troubleshooting

In the following prompt you select a package in this source system (TST@TST), in this case I will choose du_again and dutest.

HALM Usage and Troubleshooting

These packages are seen here in Studio as well

HALM Usage and Troubleshooting

Once done it will look like this:

HALM Usage and Troubleshooting