After applying Patch v4.0.170601 to API Portal 4.0, it doesn't start up with errors.

book

Article ID: 8011

calendar_today

Updated On:

Products

CA API Developer Portal CA API Gateway

Issue/Introduction

If your CA API Portal 4.0 is installed without an SMTP server, it may not start up properly after applying the Patch v4.0.170601 with the following messages shown by "journalctl -u apim-portal".

[Case 1] PORTAL_SMTP_SSL_CERT="/etc/ca/apim-portal/certs/{{ SMTP_CERT }}" in portal-local.inc

Aug 29 16:31:42 portal40.forward.inc systemd[1]: Starting CA On-premise Portal...
Aug 29 16:31:42 portal40.forward.inc start-portal[11581]: Sourced /etc/ca/apim-portal/portal-local.inc
Aug 29 16:31:42 portal40.forward.inc start-portal[11581]: PORTAL_SMTP_USE_SSL has been deprecated. Defaulting to true.
Aug 29 16:31:43 portal40.forward.inc start-portal[11581]: 2017-08-29 16:31:43,093 - ERROR - __main__::main - sequence item 1: expected string, StrictUndefined found

[Case 2] PORTAL_SMTP_SSL_CERT="notinstalled" in portal-local.inc

Aug 29 16:39:35 portal40.forward.inc systemd[1]: Starting CA On-premise Portal...
Aug 29 16:39:35 portal40.forward.inc start-portal[11676]: Sourced /etc/ca/apim-portal/portal-local.inc
Aug 29 16:39:35 portal40.forward.inc start-portal[11676]: PORTAL_SMTP_USE_SSL has been deprecated. Defaulting to true.
Aug 29 16:39:35 portal40.forward.inc start-portal[11676]: 2017-08-29 16:39:35,298 - ERROR - __main__::main - [Errno 2] No such file or directory: 'notinstalled'

 

Cause

Setting the value of PORTAL_SMTP_SSL_CERT to "notinstalled" in the portal-local.inc file doesn't work with the Patch v4.0.170601. The value must be an existing file.

Environment

CA API Portal 4.0 installation without an SMTP server.

Resolution

If you didn't integrate an SMTP server with your CA API Portal 4.0 and it doesn't start up after applying the Patch v4.0.170601, you need to modify the /etc/ca/apim-portal/portal-local.inc file on the portal host. PORTAL_SMTP_SSL_CERT should be set to the same value with PORTAL_APIM_TPS_SSL_CERT. It would be the simplest workaround. For example,

[Before]

# Certificate Locations
export PORTAL_SMTP_SSL_CERT="/etc/ca/apim-portal/certs/{{ SMTP_CERT }}"
export PORTAL_APIM_TPS_SSL_CERT="/etc/ca/apim-portal/certs/apim-tps.crt"

[After]

# Certificate Locations
export PORTAL_SMTP_SSL_CERT="/etc/ca/apim-portal/certs/apim-tps.crt"
export PORTAL_APIM_TPS_SSL_CERT="/etc/ca/apim-portal/certs/apim-tps.crt"