APS application of External System provisioning type
APS applications of External System provisioning type usually include only provisioning and verification scripts which connect to an external system to perform provisioning actions.
The picture below demonstrates the basic operations POA performs during provisioning APS application of the External System provisioning type:
Scripts are uploaded to a Provisioning Gateway Host to the following folder:
- Linux: /usr/local/pem/APS/instances/APP_INSTANCE_ID/scripts
- Windows: C:\Program Files (x86)\SWsoft\PEM\APS\instances\APP_INSTANCE_ID\scripts
At the same time POA creates the runner script:
POA < 5.4:
- Linux: /usr/local/pem/APS/instances/APP_INSTANCE_ID/runner.sh
- Windows: C:\Program Files (x86)\SWsoft\PEM\APS\instances\APP_INSTANCE_ID\runner.bat
POA 5.4 and later:
- Linux: /usr/local/pem/APS/instances/APP_INSTANCE_ID/rNNNN_NNNNNNNNNN.sh
- Windows: C:\Program Files (x86)\SWsoft\PEM\APS\instances\APP_INSTANCE_ID\rNNNNN_NNNNNNNNNN.bat
The runner script has the very simple purpose:
- Set required values for environment variables which are defined by APS application parameters in the APP-META.xml file
- Run the required provisioning script from APS application, e.g. configure
- The provisioning script reads values stored in the environment variables and performs required actions in an external system
How does POA identify which host to use as Provisioning Gateway Host for a particular application instance (this is done once during application installation, all rest application instance configuration scripts are called on the same host):
- Check provisioning attribute(s) of APS application resource (the main one – based on 'Application' resource class)
- Pick a host that is marked as 'Ready to provide' and has the same set of attribute(s) assigned.
After host is found, POA stores information about it in own database and uses this host to execute all further scripts for this application instance.
Requirements to Provisioning Gateway Host:
- Must have correct set of attributes assigned to it (otherwise POA simply will not use it).
- Must have php5-cgi package installed on it (otherwise it will not be able to execute PHP scripts).
- Must have access to Internet (to be able to send requests to external systems).
For some APS applications there is one more server between external system and Provisioning Gateway Host, so provisioning in this case may involve one more step, see specific examples below.
Microsoft Office 365
Read the KB article [Office 365] Integration Architecture for more details.
The Hyper-V APS application uses its own separate provisioning gateway (SCVMM Administrative Console Host) and unlike most other applications its provisioning scripts are not PHP-based, but JScript and PowerShell-based.
See the main KB article #115664 APS: General information, Best Practices and Troubleshooting for more information.