Deploying a BMC Discovery virtual appliance into Microsoft Azure


This topic describes the steps required to deploy a BMC Discovery virtual appliance (VA) into the Microsoft Azure cloud. However, Microsoft Azure requires the disk image to be in VHD format, rather than the VMDK format in which the BMC Discovery VA is supplied. The conversion tools are available from Microsoft. 

Installation of software using RPM packages

You must avoid installing software using RPM commands. In addition to installing the third party software, these are very likely to update system libraries which may be incompatible with those currently used, or when the operating system or the BMC Discovery application are updated later.

To convert the Discovery VMDK file to VHD

Microsoft Azure requires the disk image to be in VHD format, rather than the VMDK format in which the BMC Discovery VA is supplied.

You must download a BMC Discovery VA from the BMC EPD site.

Follow the steps appropriate for your Microsoft Azure or Hyper-V from the Microsoft Azure Migrate site.

When you have created a VHD image, you can upload it to Microsoft Azure.

To upload the VHD file to Microsoft Azure

This procedure uploads the VHD file to a new Storage Account and Resource Group in Microsoft Azure.

  1. Follow the steps to install the Azure Az PowerShell module as described on this Microsoft site.

  2. Log in to your Microsoft Azure account. Enter:

    Connect-AzAccount
  3. Set some variables to be used in the following commands, changing the region as required. The Storage Account name must be unique in Azure. Enter:

    $UploadRGName = "DiscoveryUpload"
    $UploadRegion = "West US"
    $UploadStorageAccount = "discoveryuploadstorage"
  4. Create a new Resource Group. Enter:

    New-AzResourceGroup -Name $UploadRGName -Location $UploadRegion
  5. Create a new Storage Account. Enter:

    New-AzStorageAccount -ResourceGroupName $UploadRGName `
            -Name $UploadStorageAccount -Location $UploadRegion `
            -SkuName "Standard_LRS" -Kind "Storage"
  6. Set a variable for the upload destination. Replace the version number in the .vhd file name to match the version of BMC Discovery that you are uploading. Enter:

    $VHDurl="https://$UploadStorageAccount.blob.core.windows.net/discoveryupload/discovery_<version number>.vhd"
  7. Upload the VHD file. Replace the path to the .vhd file as required. Enter:

    Add-AzVhd -ResourceGroupName $UploadRGName -Destination $VHDurl `
            -LocalFilePath C:\temp\Discovery_<version number>.vhd

    Note

    You may need to enable the Hyper-V Windows feature for this to work. The command error output will tell you if that is the case.

To create an Azure image from the uploaded VHD

The following steps create an Azure Image that can be used to deploy BMC Discovery VM instances.

  1. Create a new image configuration. Enter:

    $imageConfig = New-AzImageConfig -Location $UploadRegion
  2. Configure the OS disk for the image. Enter:

    $imageConfig = Set-AzImageOsDisk -Image $imageConfig `
            -OsType Linux -BlobUri $VHDurl
  3. Create the Image. Replace the Image name value as required. 

    $image = New-AzImage -ImageName Discovery-12-3-0-2-Image `
            -ResourceGroupName $UploadRGName -Image $imageConfig

To create a new VM from the Azure image

The following steps create an Azure Virtual Machine from the image.

  1. In the Azure Portal, navigate to the upload Resource Group DiscoveryUpload and locate the image created in the previous steps.
  2. Click through to the image and click Create VM.
  3. Set values as required for the VM. Specify a username and use password authentication. The username and password are required by Microsoft Azure for the deployment, but the user is not created. Any valid values for the username and password can be used.
  4. Set a size for the VM according to your requirements.
  5. Set the Networking values for the VM. 

    Note

    It is safest to not configure a Public IP address at this point.
    However, If you do choose to have a Public IP address for the machine, you should modify the default inbound security rule to restrict SSH access appropriately, for example, restricted to the IP address from which you plan to access it.

  6. Set any other options as required. The storage for the VM is set as Managed Disk and cannot be changed.
  7. Proceed to create the VM. 

    Note

    The deployment job shows as failed unless the Azure Virtual Machine Agent is installed on the BMC Discovery VM before the deployment timeout period (approximately 30 minutes). This failure is not a problem, and after installing the agent in the following section the VM is reported to be "Running OK".

To install the Azure Virtual Machine Agent 

The following steps install the Azure Virtual Machine Agent.

  1. Determine the public or private IP address for the VM by viewing it in the Azure Portal. The type of IP you use depends on how you configured networking for the VM. If you are using the private IP, you must use another machine on the same network to connect to the VM using SSH.
  2. Using SSH, connect to the Discovery appliance as the tideway user and log in with the default password tidewayuser. On the first login, you are forced to change the password. Reconnect after you have changed the password.
  3. Change to the root user and specify a login shell.

    Note

    Ensure that you make the root user's shell a login shell. The login shell prevents the root user inheriting the tideway user's environment. If you do not use a login shell, the Azure Virtual Machine Agent is installed in the wrong location and will fail to start.

    Enter:

    su --login root

    and enter the default root password tidewayroot. You are prompted to set a new password for the root user.

  4. Run the following commands to install pip, which is required for the agent installation:

    cd /tmp
    wget https://bootstrap.pypa.io/pip/2.7/get-pip.py
    python get-pip.py
  5. Run the following commands to download and install the Azure agent:

    wget https://github.com/Azure/WALinuxAgent/archive/v2.6.0.2.zip
    unzip v2.6.0.2.zip
    cd WALinuxAgent-2.6.0.2
    python setup.py install
  6. Parameters to set are now:

    Provisioning.Agent=disabled
    ResourceDisk.EnableSwap=y
    ResourceDisk.SwapSizeMB=4096    # Set to value appropriate
                                    # for VM size   
  7. Configure the agent to start at boot by running this command:

    systemctl enable waagent
  8. Start the agent:

    systemctl start waagent
  9. Ensure the agent service is running:

    systemctl status waagent
  10. If the VM deployment job failed because the agent was not installed within the timeout period, and the VM still shows as failed after some time has passed, restart the VM from the Azure Portal. This should clear the failed state, and show it as running.

Note

If you need to backup the virtual hard disk, it is recommended to first shutdown the machine to avoid data inconsistencies, then create a snapshot of the disk as described on the Microsoft site, and finally start it up again. Similarly, in the case of a cluster, shutdown all the machines and then create a snapshot at the same time.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*