VMM UR6 : New features and release date

Hi all,

Good news I read this morning about the VMM 2012 R2 Update Rollup 6 new features. VMM UR6 will be released the next Tuesday 28 April according to Jonobie Ford, Senior Program Manager in Microsoft.

So what will UR6 bring to us:

Azure IaaS Virtual Machines view in the VMM console

Many customers use today the Azure VM’s public cloud service in conjunction of their on-premises virtualized infrastructure managed by VMM. Until today, customer need two consoles to manage their VMs (Start, Stop, Remote connect…) : The VMM console  and the Azure portal. VMM UR6 will add the capability of connecting VMM to your Azure subscription and view and make some management tasks. Of course the actual management tasks reported by Jonibie are very basic : Start, Stop, Shutdown, Restart and Connect via RDP. Creating or configuring VMs still only possible form the Azure portal. For that a new view was added to the VMM console : Azure Subscriptions

Snap 2015-04-25 at 14.06.24

(Picture Credit : Microsoft Channel 9)

You can easily add an Azure subscription by providing 2 information : The Subscription ID and the Certificate that you can download from the Azure portal

Snap 2015-04-25 at 14.06.38

(Picture Credit : Microsoft Channel 9)

And then, you will be able to manage your Azure VMs

Snap 2015-04-25 at 14.03.42

(Picture Credit : Microsoft Channel 9)

Support for Generation 2 Virtual Machines  in service templates

The second added feature is that with UR6, you will able to create VMM service templates using Generation 2 VM templates, this feature was mainly requested by customers and implemented by Microsoft

Support for Generation 2 VMM Clouds in Windows Azure Pack

With UR6, Windows Azure Pack tenants will be able to deploy Gen2 VMs on Gen2 capable Clouds

Virtual Network usage in Windows Azure Pack

With UR6, the VNET usage is reported to Windows Azure Pack, and hence Service Providers and WAP admins can charge tenants for the Virtual Network usage and consumption, and create a chargeback model around it.

Hyper-V Replica Cloud or Host group can be overcommitted

In the past, VMM did not allow over-commitment of Hyper-V replica clouds or host groups. That was vey inconvenient for VMM users because they want be able to replicate more VMs than the target replica platform can sustain, but that they will only start and use  a part of them in a failure case. With UR6, VMM will not prevent you of overcommitting a hyper-V replica target platform.

So wait for 28 April and do not forget the gold rules:

– Do not install this update until the community feedback (Bugs, misbehavior…)

– If you use Windows Azure Pack, do not forget that all the platform should be updated to the same UR level (WAP, VMM and SPF) to gain access to the new features

Source : http://channel9.msdn.com/Shows/Edge/Edge-Show-144-Azure-IaaS-VM-management-and-more-in-VMM-UR6

Connecting Windows Azure Pack to MySQL

Hello readers,

This is a fast how-to to connect your Windows Azure Pack to a MySQL platform in order to add MySQL services to a Windows Azure Pack platform.

1- Install the MySQL server extension (provider)

Connect to the server where you want to install the MySQL server WAP extension, this operation is mandatory to add the MySQL server support to your Windows Azure Pack environment. It’s recommended to install the extension on the WAP Admin servers.

Run the Microsoft Web platform installer, go to Products, Windows Azure, and choose to install Windows Azure Pack : MySQL Server extension. Follow the instructions to complete the installation, and to configure the Windows Azure Pack platform.


2- Install the MySQL server

In order to use MySQL, you need a MySQL server platform. Until the writing time of this blog, the last supported MySQL server version is 5.5. You can use your existent MySQL sever platform, or choose to install a new one. If you choose to use your existent platform, skip this step and go to step 3. Otherwise, connect to the machine where you want to install MySQL server. Run the Microsoft Web platform installer, Products, All, and search for MySQL


Choose the latest version of MySQL, click Add and then Install. Follow the instructions until you complete the MySQL installation.

3- MySQL configuration

Now you need to configure your MySQL configuration. I’m not a guru of MySQL, but i will explain here two steps that may be useful for you.

3.1- Configure the default MySQL databases location

By default, MySQL will create new provisioned databases in a default folder. You should/can change this behavior by choosing another location.

  • First, stop the MySQL service.


  • Go to the MySQL installation folder (By default: C:\Program Files\MySQL\MySQL Server 5.5) and edit the my.ini configuration file with a text editor (Notepad…). It’s recommended to make a backup of this file before proceeding in case you miss-configure it.


  • Locate the default database folder, browse it and copy all the content to the new location where you decided to store the new provisioned databases.




  • Change the datadir value to the new path (In our example E:\MySQLDatabases)


  • Start the MySQL service


3.2- Configure the Windows Azure Pack / MySQL connection user

Windows Azure Pack needs a MySQL user to connect the MySQL server and provision new databases. I will detail here how to create the user in MySQL and grant it the needed rights.

  • Start the MySQL command line client, tape the root password to access the MySQL server


  • To create a new user, you must provide 3 values :
    • Name : The name of the user (in this example : wap)
    • The server name: The server from which you will connect remotely to mysql (in this example: wap-admin01). If your Windows Azure Pack platform is highly available (more than one mySQL provide°, use the % symbol to mean Any Server)
    • Password: the new user password

CREATE USER ‘wap’@’wap-admin01’ IDENTIFIED BY ‘P@ssw0rd’;


CREATE USER ‘wap’@’%’ IDENTIFIED BY ‘P@ssw0rd’;

  • Provide the user the root privileges then apply the rights


4- Connect Windows Azure Pack to MySQL

Finally, log into the Windows Azure Pack admin portal. Go to MySQL Servers and click Add a New MySQL Server


Fill the needed information:

MySQL Server Group : Choose a group to include this MySQL server connection to

MySQL Server Name : The name or FQDN of the MySQL server

Username : The name of the user

Password : The password of the user

Size of the hosting server: The maximum allowed databases size (The full storage size)


and you got this




When adding the MySQL server connection to Windows Azure Pack you may encounter the following error if the user does not have root rights with Grant rights. Don’t forget to use the “with Grant Options”

  • The server encountered an internal error. Please retry the request.
  • And the following error is logged on the Microsoft-WindowsAzurePack-MgmtSvc-MySQL/Operational event log, on the WAP Admin server:
    • Source: MgmtSvc-MySQL
    • EventID: 160
    • Level : Error
    • Content: Unexpected exception for operation ”, version ”, client request Id ”, server request Id ”, exception ‘MySql.Data.MySqlClient.MySqlException (0x80004005): Access denied for user ‘wap’@’%’ (using password: YES)

Bonus : MySQL commands

  • How to list the MySQL users: select host, user, password from mysql.user;
  • How to delete a MySQL user: DROP USER “username”

Windows Azure Pack: VM Clouds Automation: How it works ?

Hi all,

I’m here to continue my series about the automation with Windows Azure Pack.

In my last blog, i described the general mechanism to achieve automation actions related to virtual machine deployment in Windows Azure Pack.

So let me explain the end to end process of automation : I will use the “Create new Standalone VM” example

1- The tenant decides to create a new standalone virtual machine

2- The tenant validates the “Create Virtual Machine” wizard

3- In a WAP/SMA language, the “Create” “VMM Virtual Machine” action is called

4- in the meanwhile, the Create Virtual Machine process is triggered via SPF to VMM.  SPF tells VMM to create the VM

So, what have we here ?

Like everyone can notice it, in step 3, something was called by Windows Azure Pack. We will use this to achieve automation.

Our goal is to run a script (a workflow in SMA language) when an action is triggered.

Here is the complete list of the actions that we can link to a runbook (A powershell script, workflow), you can find almost all the possible actions : Create standalone VM, Create VM role, scale Up a VM role, Delete a standalone VM…

The following table resumes the Create/Delete VM actions:


NB: Till today, i have an issue triggering the action related to a “VM Role instance deletion”, i’m in touch with Microsoft to solve this issue, and will update this blog as soon as i have an update.

So if you join my first blog and this one you will say: I have a powershell script (A workflow, or a runbook) that i want it to be executed when creating a virtual machine.So I have to create the script, import it to Windows Azure Pack, then tell Windows Azure Pack to run this script every time a VM is created ie an Object=VMM Virtual Machine, Action = Create is called.

This is it! Now in the next blogs we will go deeper and make a step by step to achieve this, practically.

We will define a goal: I want that every time a new Standalone Virtual Machine is created, a checkpoint is created for this VM. Note that once you understand the tricks, you can do a lot of things than that just creating a snapshot: You can send emails telling the tenant that its VM has been provisioned, you can create a Replica for this VM or you can enable backup for this VM, any thing you can script 🙂

The following are the steps:

1- Create a script that takes as input the VMID and creates a checkpoint as output. Note that we will use the VMID and not the Virtual Machine name because the VMID is the unique identifier of a VM, and that multiple VMs can have the same name in Hyper-V (Hyper-V supports similar VM names)

2- Understand how to deal with runbooks in Windows Azure Pack and SMA : Syntax, Import runbooks, call a runbook from another runbook

3- Learn how to extract important data from a WAP action: For example how to catch the VM Name or the VMID and pass it to the script, we will manipulate the $PSPrivateMetaData SMA variable (Very important)

4- Use 1, 2 and 3 now to finalize our goal: catch the VMID (3) and run the script (1). We will also use a trick (2)

5- Test our runbook

After these 5 blogs, you will be able to deal with SMA runbooks and VM Clouds automation 🙂

System Center 2012 R2 : Update Rollup 4 breaks the SPF website

Hi All,

System Center 2012  Update Rollup 4 was released on October 28 to bring some bug fixes and new features to the System Center 2012 products concerned by this update.

I was obliged to install this update for SPF to try to fix a bug in a Windows Azure Pack deployment (I was asked by Microsoft to do that). After installing the update on the SPF servers, the WAP Admin portal was not ale to connect to my SPF web point.


Browsing the SPF website has failed, at this moment, i was sure the UR4 has broken something (as usual)

On the SPF servers (the deployment contains two load balanced SPF servers), the IIS management console shows that the site was off, so i tried to start it.


The following error was thrown (This website cannot be started. Another website may be using the same port)


The System event log also records the following error “The World Wide Web Publishing Service (WWW Service) did not register the URL prefix https://:8090/xxxxx for site 2. The necessary network binding lay already b ein use. Th site has been disabled. The data field contains the error number”

When seeing the site bindings, i was surprised that a duplicated binding was made (Using the same port 8090, the SPF endpoint port).


I had to remove one of the duplicated bindings, and be sure to reselect the SSL certificate to the left binding (When removing the duplicated binding and validating, the left binding configuration loose the SSL certificate mapping)


Now, the site can be started, and the WAP Admin portal is communicating with SPF.

I was sure that the UR4 was the culprit because this issue happened on both SPF servers where i installed the update. And i’m happy because the issue was  simple to solve.

An advise, don’t install Microsoft updates until the community confirms that no harm will happen due to it. This always was the precious Aidan Finn advise 🙂