APS application of provisioning type 'External system' cannot be installed, POA task 'Executing configuration script' fails with the error message 'php: No such file or directory' like in the example below:
Task ID 205280
Queue name aps_application_instance172
Task name Executing configuration script for instance with id 275 of service 'context' of instance with id 172 of APS application with id 104
Task description Executing configuration script for instance with id 275 of service 'context' of instance with id 172 of APS application with id 104
Queue status Failed
Start not earlier than Jan-05-2011 16:25
Method name taskExecuteApplicationInstanceScript on OBJREF:APSManagerTasks:0:getAPSExternalTasks:0
Last execution output
Execution of configuration script for service instance with id 275 of instance with id 172 of application with id 104 failed
- returned value: -1 output: '' errors: 'env: /usr/libexec/php5-cgi/bin/php: No such file or directory'
The reason of problem is that Provisioning Gateway Host (PGH) used to provision external application does not have PHP 5 installed.
POA uploads application management scripts (usually written in PHP) to Provisioning Gateway Host and is trying to run them on the host. Since PHP is not installed on PGH task fails in POA.
Check the Provisioning Attribute assigned to the APS application resource in POA (usually it is called 'External Provisioning') and make sure the same attribute is assigned to the host with PHP 5 installed.
If the host with the 'External Provisioning' attribute assigned (the name of the attribute may be different) does not have PHP 5 installed - install PHP 5 on the used Provisioning Gateway Host to resolve the problem with failing tasks.
Keep in mind that the Provisioning Gateway Host in most cases must have access to the Internet (to be able to connect to an External Provisioning System), so do use the correct server as PGH. Do not use the POA Management Node as PGH due to the following reasons:
- It is not secure to run PHP scripts on POA Management Node
- Running PHP scripts may affect POA Management Node performance
- POA Management Node does not have access to the Internet
It may happen that installing PHP 5 on wrongly configured Provisioning Gateway Host is not an option, in this case Provider has to configure POA to use another server as PGH:
- Find a server registered in POA which satisfies requirements to PGH, see requirements - Preparing Provisioning Gateway Host
- Assign the 'External Provisioning' attribute to the found server
- Detach the attribute from the improper server
From now on POA will use newly configured PGH to provision new APS applications to customers' subscriptions.
Keep in mind that assigning the 'External Provisioning' attribute to the proper server with PHP 5 installed will not solve problem with existing failing tasks because POA stores ID of the Provisioning Gateway Host attached to every single APS application instance in own database and the same PGH is being used in all operations with application instance. In this case the most easy way to solve the problem is as follows (keep in mind that customer application instance will be removed in this case):
- Cancel all failed 'executing configuration script' tasks for the broken application instance in POA Task Manager
- Remove application instance from CCP
- Cancel all 'executing configuration script' tasks for application instance created during application instance removal again
- Assign the External Provisioning attribute to the correct server (which has access to the Internet and PHP 5 installed)
- Provision APS application instance again in Customer CP
You may find more information about requirements for Provisioning Gateway Host in POA documentation:
Application Hosting Deployment Guide > Deployment Scenarios > External Environment (Common Scenario) > Preparing Provisioning Gateway Host.