Service Provider Foundation troubleshooting


Applies To: Windows Azure Pack

This topic describes troubleshooting issues that pertain to configuring Service Provider Foundation with Windows Azure Pack for Windows Server. Recommendations are provided for the following items. Many issues can be resolved by reviewing the Credentials checklist in this topic. Recommendations are provided for the following issues:

  • Collect OData and Windows PowerShell logs

  • Get data from a web service call

  • Using the Network Service option

  • Resolve exception and connection errors when accessing the Service Provider Foundation endpoint

  • See the virtual machines clouds from Service Provider Foundation

  • Set up event tracing for debugging

  • Fix the failure of a plan quota update

Also see issues in Security troubleshooting.

Collect OData and Windows PowerShell logs

Pertains to: debugging


Need to collect information as logged by providers and Windows PowerShell.


  1. From Control Panel, click System and Security -> Administrative Tools -> View event logs.

  2. On the left pane, select Application and Services Logs. In that folder, do one of the following:

    • For OData logs, select Microsoft->Windows-> ManagementOdataService, and select Operational channel.

    • For Windows PowerShell logs, select Microsoft->Windows-> PowerShell, and select Operational.

  3. On the Actions pane, click Enable log if it is disabled.

Back to top

Get data from a web service call

Pertains to: Service Provider Foundation Developer's Guide


A Service Provider Foundation web service call returns the error message: "An error occurred while processing this request."


Examine script execution policies for possible conflicts with the Group Policy Management console (gpmc.msc).

Back to top

Resolve exception and connection errors when accessing the Service Provider Foundation endpoint

Pertains to: Register the Service Provider Foundation Endpoint for Virtual Machine Clouds


Getting management service exceptions, underlying connection is lost, out-of-sync issues, or other errors when tenants subscribe to a plan.


On the server running Service Provider Foundation, check to see if there is a duplicate binding for the SPF web service for the HTTPS protocol.

IIS, select the SPF web site. On the Actions panel click Bindings. There should only be one binding for the HTTPS prototcol. Remove the duplicate binding and configure the default binding to use the correct certificate.

Back to top

See the virtual machines clouds from Service Provider Foundation

Pertains to: Administer Virtual Machine Clouds


Cannot see a virtual machine cloud on the management portal for administrators after the cloud was created in System Center 2012 R2 Virtual Machine Manager or by using Service Provider Foundation Windows PowerShell cmdlets.


Check for the following causes:

Back to top

Set up event tracing for debugging

Pertains to: debugging


Need to know which ETW event trace providers to use for debugging Windows Azure Pack.


On the server that has Service Provider Foundation, configure the event providers as described here:

  1. Run Performance Monitor (perfmon.exe).

  2. Click Data Collector Sets > Event Trace Sessions.

  3. On the Action menu, create a new Data Collector Set.

  4. Provide a name for the set and choose the Create manually option.

  5. Add the following event providers:

    • Microsoft-ServiceProviderFoundation

    • Microsoft-VirtualMachineManager-Debug

    • Microsoft-VirtualMachineManager-Perf-Console

    • Microsoft-VirtualMachineManager-Perf-Engine

    • Microsoft-VirtualMachineManager-Reliability

    • Microsoft-VirtualMachineManager-Server

  6. The data collector set you just created should appear in the list of sessions. To note where the log file is saved, right-click the set and click Properties and the path is available on the Directory tab. By default this path is the **%LOCALAPPDATA%\**system variable. The log file will have a .etl extension.

  7. Start the session you just defined, perform the actions in Windows Azure Pack that you need to debug, and then stop the session.

  8. Examine the data file.

Also see the knowledge base article Debug Logging In System Center Service Provider Foundation (SPF).

Back to top

Using the Network Service option

Pertains to: How to Install Service Provider Foundation for System Center 2012 R2


Using the Network Service option can be problematic.


On the installation wizard pages for configuring the web services (Admin, Provider VMM, and Usage), the default setting for Application pool credentials is Network Service. We recommend not using this option and providing credentials for a Service Account instead.

Back to top

Fix the failure of a plan quota update

Pertains to: debugging


When you register "systemcenter" or "cloudservices" using Windows PowerShell, the default value for MaxQuotaUpdateBatchSize is set to 5. However, Service Provider Foundation resource providers only support MaxQuotaUpdateBatchSize = 1. Therefore, the plan quota fails.


Use the following steps to change the MaxQuotaUpdateBatchSize to 1 for new or existing Service Provider Foundation resource providers.

  1. Change MaxQuotaUpdateBatchSize for an existing SPF resource provider.

    Run the following Windows PowerShell commands:

    PS C:\Users\Administrator> $rp = Get-MgmtSvcResourceProviderConfiguration -Name 'systemcenter' -DecryptPassword
    PS C:\Users\Administrator> $rp.MaxQuotaUpdateBatchSize = 1
    PS C:\Users\Administrator> Add-MgmtSvcResourceProviderConfiguration -ResourceProvider $rp -Force
    Name                              : systemcenter
    DisplayName                       : Virtual Machine Clouds
    Description                       :
    Enabled                           : True
    PassThroughEnabled                : True
    AllowAnonymousAccess              : False
    AllowMultipleInstances            : False
    AdminEndpoint                     : Microsoft.WindowsAzure.Server.AdminManagement.AdminEndpoint
    TenantEndpoint                    : Microsoft.WindowsAzure.Server.AdminManagement.TenantEndpoint
    UsageEndpoint                     :
    HealthCheckEndpoint               :
    NotificationEndpoint              : Microsoft.WindowsAzure.Server.AdminManagement.NotificationEndpoint
    InstanceId                        : 244FA4CB-7902-4745-9ED6-0AFE1619E49D
    InstanceDisplayName               : Virtual Machine Clouds
    MaxQuotaUpdateBatchSize           : 1
    SubscriptionStatusPollingInterval : 00:00:10
    Type                              : Standard
    Settings                          : {}
    ExtensionData                     :
  2. Register a new Service Provider Foundation resource provider with MaxQuotaUpdateBatchSize = 1

    Run the following Windows PowerShell commands, replacing ComputerName and ports with the values appropriate for your deployment.

    PS C:\> $RP = New-MgmtSvcResourceProviderConfiguration -Name 'RP01' `
    -DisplayName 'Resource Provider 01' `
    -AdminForwardingAddress "https://$Env:ComputerName`:30010/" `
    -AdminAuthenticationMode 'Basic' `
    -AdminAuthenticationUserName $UserName `
    -AdminAuthenticationPassword $Password `
    -TenantForwardingAddress "https://$Env:ComputerName`:30010/subscriptions" `
    -TenantAuthenticationMode 'Basic' `
    -TenantAuthenticationUserName $UserName `
    -TenantAuthenticationPassword $Password `
    -TenantSourceUriTemplate '{subid}/services/sqlservers/{*path}' `
    -TenantTargetUriTemplate '{subid}/{*path}' `
    -UsageForwardingAddress "https://$Env:ComputerName`:30010/" `
    -UsageAuthenticationMode 'Basic' `
    -UsageAuthenticationUserName $UserName `
    -UsageAuthenticationPassword $Password `
    -NotificationForwardingAddress "https://$Env:ComputerName`:30010/" `
    -NotificationAuthenticationMode 'Basic' `
    -NotificationAuthenticationUserName $UserName `
    -NotificationAuthenticationPassword $Password
    PS C:\> $rp.MaxQuotaUpdateBatchSize = 1
    PS C:\> Add-MgmtSvcResourceProviderConfiguration -ResourceProvider $RP

Back to top

See Also

Windows Azure Pack troubleshooting