Symptoms

There are failed events in Business Automation (BA) with the following error:

Parallels Operations Automation is not available. 

Also, a similar error may appear on some screens in the Business Automation (BA) interface, in generic_worker.log or scheduler.log (PEMGATE.log in BA 5.4 and 5.5) or in the failed order.

Cause

BA cannot communicate with the Operations Automation (OA) core server.

Resolution

Verify the following:

  1. OA is running on the OA core server
  2. In case of a failed order - pem agent is running on the server where the service is being provisioned to
  3. OA is listening on the port used for the API (8440). Check OA is accessible by the IP specified in the OA Public API settings from the BA server:

    # telnet X.X.X.X 8440
    Trying X.X.X.X...
    Connected to X.X.X.X.
    Escape character is '^]'.
    
  4. The following settings are disabled:

    OA 5.4: POA Top> System Director> Public API Manager

    OA 5.5 and 6.0: Top> System> Settings> Public API Manager

    • SSL
    • HTTP Authentication

    There is a feature request #PBA-166 for OA-BA integration to work correctly with the above options enabled.

  5. Make sure that OpenAPI Service Controller is running / responding on OA Core host. You may send some XML API method via curl and check if there is a responce or not. If not - restart OpenAPI SC.

  6. Check the state of postgresql on the OA Management Node:

    • collect info about all activities:

      plesk=> select * from pg_stat_activity;
      
    • check if there any deadlocks in OA database:

      SELECT bl.pid AS blocked_pid, ka.current_query AS blocking_statement, now() - ka.query_start AS blocking_duration, kl.pid AS blocking_pid, a.current_query AS blocked_statement, now() - a.query_start  AS blocked_duration 
      FROM  pg_catalog.pg_locks bl
      JOIN pg_catalog.pg_stat_activity a  ON a.procpid = bl.pid
      JOIN pg_catalog.pg_locks         kl ON kl.transactionid = bl.transactionid AND kl.pid != bl.pid
      JOIN pg_catalog.pg_stat_activity ka ON ka.procpid = kl.pid
      WHERE NOT bl.granted;
      
  7. If all of the above is correct, this could be Network/Routing/Firewall issue. Please contact your network administrator to verify that the Network/Routing/Firewall is configured according to the requirements. /usr/local/bm/log/generic_worker.log or /usr/local/bm/log/scheduler.log (/usr/local/bm/log/PEMGATE.log in BA 5.4 and 5.5) could contain the exact errors received by BA.

Internal content