Windows Azure Pack 2013 Update Rollup 1: Known Issues and Workarounds

Windows Azure Pack 2013 Update Rollup 1: Known Issues and Workarounds

  • Comments 3
  • Likes

Hello readers

Continuing the WAP Troubleshooting series with a small blog post on a few things that you might want to know about in Update Rollup 1 (UR1) of Windows Azure Pack 2013 (WAP)

There are two areas that can cause some challenges post implementing UR1 for WAP:

  • Usage is not working after applying UR1
  • Login is not working for users in the local WAP security group after applying UR1

There are fairly easy workarounds for these two items which can be fixed without major implications.

Usage is not working after applying UR1

Error: After installing Windows Azure Pack 2013 UR1 the usage function of WAP will certainly stop working and no data is being updated in the collection database. Collection from resource providers are stopped as the collection service is not collecting data. External systems such as Reporting Services, partner solution like Cloud Cruiser and self-made billing adapters will not get new data after upgrading to UR1.

Cause: The error is caused by a misconfiguration of the Web.config file after applying UR1 to the Usage Collection web service, this causes the usage service to stop working, as it loses connection to the usage database.

Solution: I wanted to explain the root cause and do some deeper explanation of how this can be fixed. A high level description on implementing UR1 can be found here, where step 7 and 8 indicates how the problem can be fixed. I'm listing the solution here as I realize that some people might not go back to the KB for troubleshooting this issue. There are two ways to fix the issue:

  • Re-run configuration of the Usage Web service (This is the recommended approach as this will maintain the configuration made after UR1 was applied)
  • Restore the old web.config file (this is not recommended if many changes were made post UR1 as these might get lost and ending up in a misconfiguration of the system by restoring pre-UR1 web.config file)

Re-run configuration of the Usage Web service:

To make this easier to follow I'm using the following settings in my environment

  • WAP Database Server: DB02.contoso.com
  • WAP Database User: sa
  • WAP Database Password: P@ssW0rd
  • WAP Install Encryption Password: P@ssW0rd

1. Logon to the computer holding the WAP Admin API role as an administrator

2. Start a PowerShell prompt with Administrator privileges

3. Import Windows Azure Pack Module:

001
Import-Module MgmtSvcConfig

4. Verify that the name of the Usage Collector by running the following command:

001
Get-MgmtSvcFeature

5. Find the usage collector in the list

6. Next step is to define the parameters we will use to re-configure the Usage Collector Service, the syntax looks the following:

001
$Settings = @{dbServer='db02.contoso.com';dbAdminUserName='sa';dbAdminPassword='P@ssW0rd';configStorePassphrase=' P@ssW0rd';}

7. Using the parameters from above, the next step is to re-configure the Usage Collector Service. To do that run the following command:

001
Initialize-MgmtSvcFeature -Name "UsageCollector" -Settings $Settings -EnableCeip Yes

8. Verify that this command completes without errors, if there are errors check the following

  • Check that the PS Module is loaded
  • Check that the server holds the PS module
  • Check that there are no spaces or typos for the –Name parameter
  • Check that Database name, User names and Passwords are correct from the parameters

9. Logon to the server holding the WAP Usage Collector (If using WAP Express Install this will be the same server) as administrator.

10. Start a command prompt with administrator privileges

11. Run iisreset and verify that the service reload.

   

Restore the old web.config file (Description taken from taken from KB 2924386)

NB: Only follow these steps if this is on a WAP express installation and no changes were made to WAP after applying UR1.

1. After you apply the update to the destination computer, go to the \inetpub\MgmtSvc-UsageCollector\ directory, and then locate the following files:

  • web.config
  • web.config.backup

2. Rename the web.config file to web.config.UR1

3. Change the name of the web.config.backup file to web.config.

4. Restart the MgmtSvc-UsageCollector site.

Verify that usage is running

1. Logon to the server that holds the WAP Databases as a Database administrator

2. Start SQL Management Studio

3. Connect to the database server that holds the WAP Databases (Example: db02.contoso.com)

4. Select Microsoft.MgmtSvc.Usage database and click on + to expand

5. Right click on Usage.ProvidersConfiguration and select "Select Top 1000 Rows"

6. Verify that the numbers are increasing and all Usage Collectors are enabled. This can take up to an hour.

7. If these numbers are not increasing try creating a new subscription and provision a database or a VM to this subscription and wait another hour and check the table again.

Login to the WAP Admin Portal is not working for users in the local WAP security group after applying UR1

Error: After upgrading to UR1 some users other than WAP Administrator are not able to login to the WAP Admin Portal

Cause: As part of installing UR1 the local security group is deleted. Due to this, the members of this group can no longer login to the WAP Admin portal

Solution: Add a Group or a user (local or AD) to the WAP Users Claim Database

In order to reestablish the trust do the following:

In this example we are using an AD user and group, but the same applies for local users and groups.

1. Create an AD Group and add the users, that you want to have access to the WAP Admin portal

Example: AD Group= Contoso\WAP Admins, AD User = Contoso\Andersr

2. Logon to the WAP server holding the API and PowerShell module as Administrator

3. Start a PowerShell prompt with Administrator privileges

4. Import Windows Azure Pack Module:

001
Import-Module MgmtSvcConfig

5. Run the following command to add the AD Group to WAP Administrators:

001
Add-MgmtSvcAdminUser -Principal "<AD user or group>" -ConnectionString 'Server=<SQL Database and instance holding the WAP DBs>;Initial Catalog=Microsoft.MgmtSvc.Store;User Id=<DB User>;Password=<Password for DB User>;'

Example:

001
Add-MgmtSvcAdminUser -Principal "Contoso\WAP Admins" -ConnectionString 'Server=db2.contoso.com;Initial Catalog=Microsoft.MgmtSvc.Store;User Id=sa;Password=P@ssW0rd;'

6. Verify that the user has been added to the database by running the following command:

001
Get-MgmtSvcAdminUser -ConnectionString 'Server=<SQL Database and instance holding the WAP DBs>;Initial Catalog=Microsoft.MgmtSvc.Store;User Id=<DB User>;Password=<Password for DB User>;'

Example:

001
Get-MgmtSvcAdminUser -ConnectionString 'Server=db2.contoso.com;Initial Catalog=Microsoft.MgmtSvc.Store;User Id=sa;Password=P@ssW0rd;'

Note: The connection string might be different if you are using another authentication type for your database.

image

7. Open a browser and go to the WAP Admin Portal page

8. Type user and password for a user which is member of the group just added to WAP Admins users in the WAP Database

9. Verify that the user shows in the upper right corner of the WAP Admin Portal

Hope this will help if you encounter any of the challenges listed above

Happy Windows Azure Pack 2013 UR1 installing

Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment
  • Hi,
    I downloaded Azure Pack whch has tenant site files with time stamp 04/16/2014. Looks like there is a incompatibility with SPF Virtual machines that causes all VM Operations in tenant site to fail. I get the following exception:

    Fanout call to resource provider returned unsuccessful status code. Verb 'POST', operation name 'Outgoing tenant proxy call', request URI 'https://172.21.128.87:8090/SC2012R2/VMM/0a419c54-1216-4df2-9e91-5ae77bd54fe1/Microsoft.Management.Odata.svc/VirtualMachines', version '', client request Id '', server request Id '', status code 'BadRequest', reason 'Bad Request', body 'http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">An error occurred while processing this request.The property 'DynamicMemoryMinimumMB' does not exist on type 'VMM.VirtualMachine'. Make sure to only use property names that are defined by the type.Microsoft.Data.OData.ODataException at Microsoft.Data.OData.ReaderValidationUtils.ValidateValuePropertyDefined(String propertyName, IEdmStructuredType owningStructuredType, ODataMessageReaderSettings messageReaderSettings, Boolean& ignoreProperty)&#xD;
    at Microsoft.Data.OData.Atom.ODataAtomPropertyAndValueDeserializer.ReadPropertiesImplementation(IEdmStructuredType structuredType, ReadOnlyEnumerable`1 properties, DuplicatePropertyNamesChecker duplicatePropertyNamesChecker, Boolean epmPresent)&#xD;
    at Microsoft.Data.OData.Atom.ODataAtomEntryAndFeedDeserializer.ReadAtomContentElement(IODataAtomReaderEntryState entryState)&#xD;
    at Microsoft.Data.OData.Atom.ODataAtomEntryAndFeedDeserializer.ReadAtomElementInEntry(IODataAtomReaderEntryState entryState)&#xD;
    at Microsoft.Data.OData.Atom.ODataAtomEntryAndFeedDeserializer.ReadEntryContent(IODataAtomReaderEntryState entryState)&#xD;
    at Microsoft.Data.OData.Atom.ODataAtomReader.ReadAtEntryStartImplementation()&#xD;
    at Microsoft.Data.OData.ODataReaderCore.ReadImplementation()&#xD;
    at Microsoft.Data.OData.ODataReaderCore.InterceptException[T](Func`1 action)&#xD;
    at System.Data.Services.Serializers.EntityDeserializer.ReadEntry(ODataReader odataReader, SegmentInfo topLevelSegmentInfo)&#xD;
    at System.Data.Services.Serializers.EntityDeserializer.Read(SegmentInfo segmentInfo)&#xD;
    at System.Data.Services.Serializers.ODataMessageReaderDeserializer.Deserialize(SegmentInfo segmentInfo)'.

  • ANy update on you you issue, i have the same one ?

  • Update your VMM and SPF to UR2. VMM Server, VM console, VM MConsole in SPF, SPF. Solved!