...building hybrid clouds that can support any device from anywhere
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:
There are fairly easy workarounds for these two items which can be fixed without major implications.
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:
To make this easier to follow I'm using the following settings in my environment
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:
4. Verify that the name of the Usage Collector by running the following command:
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:
7. Using the parameters from above, the next step is to re-configure the Usage Collector Service. To do that run the following command:
8. Verify that this command completes without errors, if there are errors check the following
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.
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:
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.
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.
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
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:
5. Run the following command to add the AD Group to WAP Administrators:
6. Verify that the user has been added to the database by running the following command:
Note: The connection string might be different if you are using another authentication type for your database.
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
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)
at Microsoft.Data.OData.Atom.ODataAtomPropertyAndValueDeserializer.ReadPropertiesImplementation(IEdmStructuredType structuredType, ReadOnlyEnumerable`1 properties, DuplicatePropertyNamesChecker duplicatePropertyNamesChecker, Boolean epmPresent)
at Microsoft.Data.OData.Atom.ODataAtomEntryAndFeedDeserializer.ReadAtomContentElement(IODataAtomReaderEntryState entryState)
at Microsoft.Data.OData.Atom.ODataAtomEntryAndFeedDeserializer.ReadAtomElementInEntry(IODataAtomReaderEntryState entryState)
at Microsoft.Data.OData.Atom.ODataAtomEntryAndFeedDeserializer.ReadEntryContent(IODataAtomReaderEntryState entryState)
at Microsoft.Data.OData.ODataReaderCore.InterceptException[T](Func`1 action)
at System.Data.Services.Serializers.EntityDeserializer.ReadEntry(ODataReader odataReader, SegmentInfo topLevelSegmentInfo)
at System.Data.Services.Serializers.EntityDeserializer.Read(SegmentInfo segmentInfo)
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!