Symptoms

The task Prepare node 'WPESRVDB' to PA agent installation fails with the following output:

Failed to execute command '/usr/local/pem/roles//WPE/wpe_SQL_deploy.ps1'. Check logs in 'c:\\POA_Deploy' at host 'wpesrvdb.example.local' for more details about the reasons of failure.

On the wpesrvdb.example.local server in C:\POA_Deploy\sql2008.txt the following entries can be found:

WPE DB host: >?>runas.txt
Get WPE host info
Domain: example.local
Domain distinguished name: CN=Users,DC=example,DC=local
Netbios: EXAMPLE
WPE host name: WPESRVDB
WPE DB host name: >?>RUNAS
WPE DB on separate host should be installed manually

This occurs in case the checkbox Show Extended parameters in the section Install MS SQL Server 2008 for WPE usage is set and the property Host where MS SQL Server 2008 is deployed. Leave it empty to deploy MS SQL Server 2008 automatically on the WPE host is left empty (in WPE deployement wizard).

Cause

Such behaviour is considered to be a software issue #POA-96578.

Resolution

The issue can be worked around as follows:

  1. Cancel failed WPE deployment tasks
  2. Run WPE deployment wizard leaving the check box Show Extended parameters in the section Install MS SQL Server 2008 for WPE usage untouched.

Alternatively, the failed task can be rescheduled using the API method pem.tasks.rescheduleTask:

  1. Prepare the parameters array (most of the values can be taken from the failed task):

    'WindowsProvisioningEngine.wpe.endpoint.host=wpesrvdb.example.local\012WindowsProvisioningEngine.wpe.endpoint.port=48480\012WindowsProvisioningEngine.wpe.sql.dbname=wpe\012WindowsProvisioningEngine.wpe.sql.servername=wpesrvdb\012domain.admin_user=pem_admin\012domain.fdc_ip=10.0.45.11\012domain.name=example.local\012domain.sdc_ip=10.0.45.14\012node.backNetIF=Local Area Connection\012node.frontNetIF=Local Area Connection\012pem.provisioning_type=PPP\012sql.PathToMedia=C:\\Support\\Sql2008ExpR2wSP2\012sql.SQLHostName=wpesrvdb.example.local\012'
    

    Here:

    • WindowsProvisioningEngine.wpe.endpoint.host - the WPE host FQDN
    • WindowsProvisioningEngine.wpe.endpoint.port - must be 48480
    • WindowsProvisioningEngine.wpe.sql.dbname - WPE database name, leave wpe
    • WindowsProvisioningEngine.wpe.sql.servername - WPE DB server, for example wpesrvdb
    • domain.admin_user - AD administartor login name
    • domain.fdc_ip - first AD domain controller IP address
    • domain.name - AD domain full-quilified name, for example example.local
    • domain.sdc_ip - second AD domain controller IP address
    • node.backNetIF - backnet network interface name, i.e. Local Area Connection
    • node.frontNetIF - frontnet network interface name, i.e. Local Area Connection #2
    • pem.provisioning_type - leave PPP
    • sql.PathToMedia - the path to the installation files, can be taken from the task paramemetrs. For example C:\\Support\\Sql2008ExpR2wSP2
    • sql.SQLHostName - MS SQL server FQDN, for example wpesrvdb.example.local
  2. Create a file pem.tasks.rescheduleTask.xml containing the task ID and array of the task parameters. Use the example #2 from the KB115550; just substitute the correct task ID and set name of the setting role_params instead of env_var_SETTINGS_up_PreferredLanguage. The value should contain the line of parameters prepared on step 1 of string type. The created XML file should look like the example below:

    <?xml version='1.0'?>
    <methodCall>
    <methodName>pem.tasks.rescheduleTask</methodName>
      <params>
      <param>
        <value>
          <struct>
            <member>
              <name>task_id</name>
                <value>
                 <i4>1234567</i4>
                </value>
                </member>
              <member>
              <name>params</name>
                <value>
                <array>
                  <data>
                   <value>
                      <struct>
                        <member>
                          <name>name</name>
                            <value>
                             <string>role_params</string>
                            </value>
                            </member>
                          <member>
                          <name>value</name>
                            <value>
                              <string>WindowsProvisioningEngine.wpe.endpoint.host=wpesrvdb.example.local\012WindowsProvisioningEngine.wpe.endpoint.port=48480\012WindowsProvisioningEngine.wpe.sql.dbname=wpe\012WindowsProvisioningEngine.wpe.sql.servername=wpesrvdb\012domain.admin_user=pem_admin\012domain.fdc_ip=10.0.45.11\012domain.name=example.local\012domain.sdc_ip=10.0.45.14\012node.backNetIF=Local Area Connection\012node.frontNetIF=Local Area Connection\012pem.provisioning_type=PPP\012sql.PathToMedia=C:\\Support\\Sql2008ExpR2wSP2\012sql.SQLHostName=wpesrvdb.example.local\012</string>
                            </value>
                            </member>
                          </struct>
                        </value>
                      </data>
                   </array>
                  </value>
                </member>
              </struct>
            </value>
          </param>
        </params>
      </methodCall>
    
  3. Run the request to reschedule the task on the management node:

    # curl -d@pem.tasks.rescheduleTask.xml http://localhost:8440/RPC2
    

Internal content