Side Note: The experience of ASDK as described in this post are based on the late July bits of Azure Stack on a Dell T710. Future experience might (I certainly hope so..) be better and more integrated..
The T710 described in an earlier topic was purchased to run Azure Stack. And while I’m still waiting for some quiet fans and new drives I managed to install Azure stack.. and wanted to share some particular strange things during installation with you..
So first things first.. the config.. the T710 is now loaded as follows:
- 2x x5650 6 core CPU’s
- 144GB DDR3 memory
- 1x 500Gb SATA (on-board)
- 3x 500GB SATA (H700 controller)
- 1x 2TB SATA (H700 controller
The Core Install
Now the installation.. Given the H700 is always the primary controller, I had to rip out all the drives to install Windows Server 2016 onto the on-board based SATA 500GB disk. This forces the system drive to be the 500GB. If you leave the H700 based disks in there, it will write the boot part of the installation on the H700 disk.
After the installation of Windows Server 2016 you can download the Azure Stack Development Kit and unpack the VHD as per instructions. https://azure.microsoft.com/en-us/overview/azure-stack/development-kit/
So far, so good.. I followed the instructions but during the installation I got an error on the deployment of the AzS-CA01 server. The error came about after an hour of installation and I retried to redeploy and even reinstalled the VHD based file multiple times. The AzS-CA01 did not want to install.
So I found the culprit by opening Hyper-V and logging on to the console of the AzS-CA01 server:
So not a very good sign.. I tried to reboot a few times, but the error came back all the time. So in order to work around this I went through the following steps:
- on the error window, click Shift-F10 and a command prompt will open
- Open the Registry Editor and go to HKLocal machine/SYSTEM/SETUP/STATUS/ChildCompletion
- Find the key setup.exe and change the value from 1 to 3
- Reboot the VM
- Setup should complete now
- On the host computer, give full control to everyone on the share: C:\CompleteBootDSCStatus
- Unfortunately the VM did not complete the bootstrap sequence so we need to finish it for it
- Login to the VM (AzS-CA01 server)
- Type Powershell to open a PSSession
- run: c:\DSCConfigs\CompleteBootDSC.ps1
- After a reboot, login.
- The system will have created an account with a random login name. In my case it was “FA-7j8yqzhv”
- Add that account to the local admin to the AzS-CA01 server
- Run the deployment again from the HOST:
- C:\CloudDeployment\Setup
- .\InstallAzureStackPOC.ps1-rerun
This should continue the install and you will actually be able to install Stack Completely.
Post Install
So after the installation is complete.. you think you can start.. you’d think.. Next is the login. While you have been using .\Administrator all along for the installation, the whole system is actually reconfigured and full of different administrators now.. you have:
- .\Administrator
- AzureStack\Administrator
- AzureStack\AzureStackAdmin
You can login to the host using any account, but you have to use the AzureStack\AzureStackAdmin (with the password you’ve chosen during install) to login to the admin portal: https://adminportal.local.azurestack.external/
The Stack itself will be empty. You can add the marketplace images (https://docs.microsoft.com/en-us/azure/azure-stack/azure-stack-add-default-image). Key to remember is that the Windows Server 2016 is an EVAL image, which will be used in the next steps when adding App Services. If you want a full image, you need to manually upload that. When downloading from the Marketplace make sure to grab some coffee.. it takes a while..
Next is the App Services. Now before you dive into the app services deployment.. you need to have an SQL provider first.
SQL Provider
The SQL PaaS installation is described on the following page: https://docs.microsoft.com/en-us/azure/azure-stack/azure-stack-sql-resource-provider-deploy.. You can follow the steps and a new VM will be deployed called SQLVM. When you continue to the next steps (Provide Capacity by connecting to a hosting SQL Server), you will notice that it gives an error stating 1433 – no reponse or something like that. And that actually comes from the fact that all the steps you did before.. did not install SQL on the Windows box… you actually have a VM, called SQLVM, without SQL installed on it. So.. to install it.. open the VM console or RDP into it (to get the IP, login to the host and ping: ping sqlvm.local.cloudapp.azurestack.external
After logging into the VM, download / copy from a fileshare the SQL 2016 bits and install it. Also install the management console.
After installation of the SQL services (DATABASE only) you must also download and install the management console to switch the authentication method to SQL + Windows Authentication. And after you have done that, create a new SQL login. Make sure to deselect user must change password on next login and assign sysAdmin rights to the login to the SQL server.
This finishes the installation of the SQL server and you can continue with the registration of the Resource Providers. (Provide Capacity by connecting to a hosting SQL Server)
The App Services
And by the time you are ready to go for App Services.. you can install these ones too. In my case however the Websites deployment took quite some time.. so much time that I figured that something had to be wrong. So I went into the deployments on the Resource Group and noticed the AppService.DeployCloud task was already running for a very very long time. I cancelled the task, restarted it from the installation tool and again after 20 minutes (19 minutes 30 seconds) without progress I went into investigation mode again.
I logged into the Hyper-V manager on the host and noticed all VM’s where installed correctly.However, when I checked the deployment status itself, I noticed that the FE0-VM was still on Creating status.. everything else was green in the Resource Deployment overview. So Through Hyper-V on the host, I logged into the FE0-VM. After startup, I got a message asking me why the computer was rebooted and that triggered me to believe that the installation did not succeed completely. And I was right. The JSON template file for deployment uses the Azure VM Script Extension to deploy additional scripts, but in my case that did not happen.
So I could do two things.. get to find out what the username and password and all the other attributes in the Extension were.. or.. try to redeploy the entire thing..
I chose the last..
- Cancel the deployment in the APPSERVICE-LOCAL Deployments overview (don’t cancel the installation wizard)
- Delete the VM from the Azure Portal (this will take a while)
- Delete the vhd from the storage account: https://appsvclocalstor.blob.local.azurestack.external/vhds/osdiskFE0.vhd
- Click Retry in the installation wizard
- Wait.. wait wait..
Done!
So.. I hope the installation will be made easier in the future.. but for now.. Let’s get the T710 working!..
(PS. my power usage went from 160Watts to 220Watts just by installing the Stack software.. it uses 96GB of RAM and after the installation of Web Apps, you get a warning in stack that more that 65% of memory is being used.. )
Configure an Azure AD service principal for virtual machine scale set integration on Worker tiers and SSO for the Azure Functions portal and advanced developer tools…….
So the next phase in the deployment is the SP for VMScaleSets.. for this you have to run a script which if you run it according to the manual .. ends up in disaster:
Now, I could not figure out why it would throw that I had to login.. In fact the manual states:
While the screenshot above clearly shows that a lot more information is being asked.. So I opened the script in my editor and found a few improvements that can be made.. (and actually make it work….)
- First of all, the script apparently has an ADFS mode.. which is great.. as that is the mode I’m in..
- Second, the script does ask for your credentials.. but does not use those to actually login to AzureRM (Stack mode)
- Third, the script asks for your credentials, but you can add the credentials manually too….
So to make it work.. in the PSSession run:
Add-AzureRMEnvironment -Name “AzureStackAdmin” -ArmEndPoint “https://adminmanagement.local.azurestack.external”
Login-AzureRmAccount -EnvironmentName “AzureStackAdmin”
$cred=Get-Credential
Next, run the script with all the elements:
PS C:\AppInstall> .\Create-IdentityApp.ps1 -DirectoryTenantName ‘ADFS’ -AzureStackCredential $cred -CertificateFilePath ‘c:\appinstall\sso.appservice.local.azurestack.external.pfx’ -TenantArmEndpoint ‘management.local.azurestack.external’ -DomainName ‘local.azurestack.external ‘ -AdfsMachineName ‘azs-adfs01.azurestack.local’
Upon issuing this command, the script will only ask you for the Certificate password.. and.. unfortunately error out at the final steps.. work in progress I guess