IntroductionIn the previous article in this series, I explained that we were going to be providing users with self service functionality by using the VMM Self Service Portal. Unfortunately, Microsoft threw me a bit of a curveball when they chose to remove the Self Service Portal from System Center 2012 Virtual Machine Manager SP1. Rather than writing about a technology that is clearly on its way out, I plan to instead discuss how you can use the App Controller to provide self service provisioning.
Deploying App ControllerApp controller is dependent on SQL Server. For the purposes of this article, I have created a virtual server, which I named AppController. I then assigned this server a static IP address, joined it to my domain, and then installed SQL Server 2012. Because I am using the System Center 2012 version of App Center, I also had to install the System Center 2012 Virtual Machine Manager console. So with that said, let’s install App Controller.
Begin the deployment process by logging into your app controller server as an administrator and running Setup. When you do, Windows will display the Microsoft System Center 2012 R2 splash screen, as shown in Figure A. Click the Install link to begin the installation process.
Figure A: Click the Install link to begin the installation process.
At this point, you will be prompted to enter your product key. After doing so, click Next. You will now be prompted to review and accept the license terms. Click Next and Setup will check to make sure that your server meets the necessary prerequisites. When this check completes, you will see a message indicating that WCF Data Services 5.0 and Web Server (IIS) Role (and some role services) and the Windows Identity Foundation 3.5 Feature need to be installed. Click the Install button to install these components.
After the required components are installed, you will be prompted to select the installation path. Click Next to accept the defaults.
The following screen prompts you to choose a service account to use. Choose the Network Service Account option and click Next.
At this point you will be prompted to either select an existing certificate to be used with App Controller or to generate a self signed certificate. In a production environment you should always use a “real” certificate, but if you are working through this setup in a lab environment then feel free to use the self signed certificate option.
Click Next and you will be prompted to select your SQL Server instance. After doing so, click Next.
You should now see a screen asking if you want to participate in Microsoft’s Customer Experience Improvement program. Make your selection and click Next.
At this point you will see a summary screen similar to the one shown in Figure B. Take a moment to make sure that the information shown on this screen is correct. You should also make note of the Website URL, as shown in the figure. Assuming that everything looks good, click Install. When the installation process completes, click Finish.
Figure B: Make note of the Website URL.
Accessing App ControllerYou can access App Controller by opening a Web browser and entering the URL that was listed on the summary screen. This URL will usually be your App Controller server’s fully qualified domain name. Don’t forget to specify HTTPS at the beginning of the URL.
When you launch App Controller for the first time, you will likely see a message indicating that a more recent version of Silverlight is required, as shown in Figure C. If you receive this message, click Install Now to update Silverlight.
Figure C: Click Install Now to update Silverlight.
Once Silverlight has been updated, restart your browser and enter the App Controller URL. When you do, you will be prompted to log in. Enter a set of domain admin credentials. You can see what the App Controller interface looks like in Figure D. As you can see, the interface looks somewhat similar to the Virtual Machine Manager console.
Figure D: This is what you will see when you log into App Controller for the first time.
Connecting App Controller to Your Private CloudNow that App Controller is up and running, we need to connect it to our private cloud. To do so, click on the Connect a Virtual Machine Manager Server and Clouds link (the link is found in the Status section under Private Clouds).
At this point Windows will display the Add a New VMM Connection screen. You will need to provide a name and an optional description for the connection that you are creating. You will also need to specify the name of your VMM server, as shown in Figure E.
Figure E: Provide the name of your VMM server.
After a brief delay, you should see the Private Clouds status update to reflect the VMM server and your private cloud, as shown in Figure F.
Figure F: The console should update to show your private cloud.
Testing a VM DeploymentWe aren’t quite ready to let users start deploying their own VMs just yet. However, we need to do a test to make sure that VM deployment works. To do so, select the Virtual Machines container and click on the Deploy link. When you do, the New Deployment screen will be displayed. You should see a link to your cloud, with a Configure link located just beneath, as shown in Figure G. Go ahead and click the Configure link.
Figure G: Click on the Configure link.
You will now see the Select a Cloud for this Deployment screen, shown in Figure H. The reason why you see this screen is because App Controller is designed to connect to multiple clouds. Select your private cloud and click OK.
Figure H: Select your private cloud and click OK.
You will now be returned to the New Deployment screen, but this time the screen will ask you to select a template, as shown in Figure I.
Figure I: Click the Select a Template link.
Click the Select a Template link, and then choose the template that you want to use to create the test virtual machine, as shown in Figure J.
Figure J: Select the template that you want to use.
When you click OK, you will be returned to the New Deployment screen, but the Deploy button will be grayed out. Click the Configure link for the virtual machine and provide a virtual machine name and a computer name and click OK. Upon doing so, the Deploy button will be accessible, as shown in Figure K. Click the Deploy button and the virtual machine deployment process will begin.
Figure K: The Deploy button is now accessible.
So What Went Wrong?
Hopefully your deployment will go off without a hitch. If anything goes wrong, the error messages can be somewhat vague. If that happens to you then the easiest way to troubleshoot the problem is to open the Virtual Machine Manager console, select the VMs and Services workspace, click on your private cloud container, and then click Create Virtual Machine. Follow the prompts to create a virtual machine based on the templates that you have created. Chances are that you will encounter the same error that you ran into in the Web interface, but with a much better description. By far the most common cause of a virtual machine deployment failure is an incorrect logical network configuration.