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

Document ID : KB000008011
Last Modified Date : 14/02/2018
Show Technical Document Details
Issue:

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'

 

Environment:
CA API Portal 4.0 installation without an SMTP server.
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.

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"