Deploying and Upgrading vRealize Automation with vRealize Suite LifeCycle Manager 2.0 – Part 1

Wow the title is such a mouthful and so is this blog, so get your popcorn ready and get cosy friends cause we are going to try and capture everything we need to do, so we can use vRSLCM 2.0 to :

  1. Deploy vRA 7.4 and then
  2. Upgrade it to vRA 7.5

Just like that! how awesome is that ? So lets get started Eh!

Lab Overview

Deploying vRA 7.4 will consist of the vRA appliance ( mgmt-vra-02 ) and the IAAS windows machine ( mgmt-iaas-02 ) that will be running the vRA windows services and other important components. these two components does not exist yet.

In the lab we will be running vSphere 6.7 , SQL 2016 and vRSLCM 2.0 that were already configured.

Blog Project

Prerequisites

Please be aware that this what I did in my lab, so some of the items can be done in different ways if available.

  1. DNS A Records for both ( mgmt-vra-02 ) and ( mgmt-iaas-02 )
  2. AD Service account ( administrator@vmwarelab.org )
  3. Downloading the required software from VMware website to an NFS share that you can access from vRSLCM Appliance :
    1. VMware vRealize Automation 7.4.0 OVA file.
    2. VMware vRealize Automation 7.5.0 OVA file.
    3. VMware vRealize Automation 7.5.0 Update Repository.
  4. Microsoft SQL 2016 Server ( mgmt-sql-01 ).
  5. Microsoft Active Directory and DNS ( mgmt-dc-01 ).
  6. vRealize Suite Lifecycle manager 2.0 ( mgmt-lcm-01 ).
  7. vSphere 6.x vCenter ( mgmt-vcs-01 ).
  8. A quite and cosy place to work.

Step 1 : Adding Binaries

We have to add the binaries that we downloaded to the NFS share to vRSLCM. Once you are logged to vRSLCM , Select Settings -> Product Binaries -> ADD BINARIES. In my case my location is based on NFS so select NFS and enter the base location ( Case Sensitive ). Once completed hit DISCOVER to get the product binaries . Will select the product we downloaded and click ADD Selected product binaries are automatically mapped to product versions.

Blog Project1

Once completed you should see them listed under Product Binaries

Blog Project2

Another thing we need to do while we are here is copy a Windows ISO to vRSLCM via WinSCP for example to a folder I created under /data/iso. In may case I already copied Windows 2016 ISO to /data/iso  so in vRSLCM i will select ADD BINARIE again but this time I select Windows ISO and point it to the Base Location where I copied it to then I hit DISCOVER.

Select the ISO image name that are pre-populated after a successful discovery from base location, and fill the rest of the required fields as outlined below and click SUBMIT

One Important Note here is that Windows ISO has to be a Standard Edition for any of the following supported Windows editions :

  • Windows Server 2008 R2
  • Windows Server 2012 and 2012 R2
  • Windows Server 2016

Blog Project16

Once completed again you should see it listed under the ISO Binaries.

Blog Project17

Step 2 : Adding A Subject Alternative Names (SAN) Certificate

We will need to generate a certificate that we will reference later when you select to install vRA 7.4 , so lets go to Settings -> Certificate -> ADD CERTIFICATE and fill it similar to what I did in the figure below, then click GENERATE

Blog Project3

Make sure the certificate is generated successfully and its listed in the certificates table. You can create a certificate for each of the vRealize Suite products Or you can use the same certificate for all products as long you make sure you enter all the HostName/Domain Names in the Domain Name section and there respective IP addresses in the IP Address section of the certificate.

Blog Project4

If you are looking to how to deploy vRSLCM and Creating a SAN ( Subject Alternative Names ) Certificate using your CA Enterprise Server, Check out my colleague Steve Tilkens Blog  Here

Step 3 : Creating an Environment To Install vRealize Automation 7.4

We will be creating an environment in vRSLCM where we will be installing vRA 7.4, assuming you have your Data Center and its associated vCenter Server already setup in vRSLCM.

login to vRSLCM and click on + Create Environment from the left pane. Select your Data Centre and Fill the required fields and click NEXT

Blog Project5

Under Products, Select vRealize Automation by checking the box -> New Install -> 7.4 -> Small Deployment and Click NEXT

Blog Project6

Accept the terms and conditions of the end user agreement to proceed with the installation by scrolling all the way down and checking the box. after that click NEXT

Blog Project7

Enter the vRealize Suite license 2017 since we are deploying vRA 7.4 and click NEXT

Blog Project8

Using the drop down menus select all the applicable Infrastructure associated with the data centre you selected intialy when you created the environment, then click NEXT

Blog Project9

Fill all the network detail and click Next

Blog Project10

Select the Certificate we created in Step 1 for vRealize Automation and click NEXT

Blog Project11

In the Products Details Section and under Product Properties enter the domain accout and password as (Domain\user) of the service account that have administrative rights on the IaaS windows server and can be used across all the IaaS Components and Services.

Select / ADD the NTP servers

Select No to configure Cluster Virtual IPs since this is a minimal install that will be using 1 vRA appliance.

Select Yes to Configure a Windows Box the will run the IaaS Components and services

Blog Project12

Under the Windows Box section since we answer Yes. Select ISO then Select the ISO file Name we uploaded in Step 1.

Select Existing Spec for Customization Specification. I have one that I already created in vCenter Server for Windows 2016 Virtual Machine deployment that will join the provisioned windows machine to the domain.

Blog Project13

Scroll down to configure all the Components that will be running on the Iaas Server

A clarification here for some of the fields . when it says Hostname that is the FQDN of the Machine and when it says VM Name, that is simply the name of the VM in vCenter.

Click NEXT when your done.

Blog Project14

in next section will be doing a PreCheck before we can submit the request. Will start first with VALIDATE & DEPLOY.  You will be presented with Prerequisites for the IaaS Component Deployment Precheck Checks.  Since we are not using a template will simply ignore it for now but will perform the same operation once the VM is deployed. Click VALIDATE & DEPLOY to deploy the IaaS Windows Box.

Blog Project15

That will upload the windows iso image first to the vCenter Content Libraries under the LCM-LOCAL-ISO-LIB which will take some time and you can monitor it in vCenter. Once its done then it will deploy the Windows ISO image as a Virtual Machine.

Blog Project18

vRSLCM will make sure the build is completed and customized with all the required settings like the name of the machine / DNS , IP address and Domain membership, including installing the VMware Tools. All again based on the configuration that was submitted in previous steps. The IaaS machine is configured with 4 CPU, 16 GB and 40 GB Disk.

Blog Project19

Once the vRealize Automation Windows IAAS Deployment Validation in vRSLCM is successful and before I click on RUN PRECHECK . I made sure to login to the IAAS Machine and :

  • Turn off Windows Firewall for Domain, Private and Public Network which was already set.Blog Project20
  • Update the PowerShell execution policy to allow scripts to run by running command line and confirm by entering the letter Y  
  1. Set-ExecutionPolicy Unrestricted                
  • Disable UAC as mentioned in the Prerequisites for the IaaS Component Deployment Precheck Checks using the default Powershell running the following command as an administrator on the IAAS machine
Set-ItemProperty -Path "HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\System" -Name "EnableLUA" -Value "0"
  • Upgrade the VMware Tools if there is an Upgrade available based on how recent your vSphere environment compared the VMware Tools that was installed (Optional)
  • Allow remote connections for Remote Desktop under Windows System Properties
  • Disable IPv6 on the IAAS Machine
  • Finally I Changed the configuration of the IAAS machine to 8 GB of Memory since this is only a Lab Testing Environment (Optional)

Now we are ready to click on RUN PRECHECK  to execute all the prerequisites needed on the IAAS Machine which we usually automatically fix using the installation Wizard when doing the vRA deployment manually, also this allow us to see if any errors or warnings appears that we need to deal with.

We will be presented again with a Prerequisite check list which we did most of it just make sure you touch on the rest like the SQL Server Privileges and User Rights Assignment. Once your ready to do click on RUN PRECHECK and monitor its progress or you can save and exit and come back later to view the status of PreCheck.

Blog Project23

We need to verify that we don’t have any issues and everything is green across Data, Infrastructure and vRealize Automation Validations, every type of validation have tons of checks that it performs and if there is an issue, you will quickly see the reason behind it and the recommendation on how to fix it.

When fixing any issues or warnings, Keep clicking on RE – RUN PRECHECK until everything is green across the three validation type I mentioned.

Blog Project24

click NEXT 

At the top right corner you have the option to run the Pre check again when you Submit the request, in my case just for the fact that we just ran it there is no reason to run it again cause it will just save us some time, there for I turned it off.

You will also see that your presented with a summary for the all the settings you entered and an option to download it as a json file that you can use anytime if you needed to redeploy the same settings again or modified to deploy additional environment somewhere else.

Blog Project25

One you are ready click SUBMIT and watch the Magic Happens!

Monitor your request as it goes through visually step by step by navigating to Requests and clicking on the Request States IN PROGRESS

Blog Project26

Once its completed successfully, you have a running vRA 7.4 Environment that you can start to configure and use in your organization, also manage and monitor going forward using vRSLCM 2.0.

now that all the steps were successful, we can try hitting the vRA Appliance URL at https://mgmt-vra-02.vmwarelab.org/

Blog Project27

Access the vRealize Automation Console and login with the local user Configurationadmin which has both the Infrastructure and Tenant Admin Roles.

Blog Project28

In the next part of this blog we will look at how easy it is to upgrade the vRA 7.4 instance we just deployed to vRA 7.5 using vRSLCM 2.0

The End of Part 1 Eh!

 

vRealize Automation vRealize Suite Lifecycle Manager

vRealize Automation 7.3 Plug-In for ITSM – Service Now 3.0 – Step by Step Guide!

Before I start I want to give credit to Spas Kaloferov original blog on this subject. I think you should take the time to check it out specially if your considering using ADFS, as his blog includes the ADFS configuration steps where in my setup I didn’t use ADFS! there for there will be a few caveats.

ADFS allows login for vRealize Automation users that are not in ServiceNow. However, it does not allow login for ServiceNow users that are not in vRealize Automation.

If you use the default authentication like we are going to do here, there are some restrictions and requirements around authentication that you should be aware of, as described in the following table.

SNOW-45

The vRealize Automation Plugin for ITSM 3.0 was released by VMware October 5, 2017 with a couple of Enhancements that I will touch on as part of the Step by Step Installation and configuration guide. I m hoping I do it justice, so lets dive right in.

The vRealize Automation plug-in for ServiceNow enables ServiceNow users to deploy virtual machines and perform day 2 actions on CMDB resources using vRealize Automation catalog and governance capabilities.

The vRealize Automation plug-ins for ServiceNow 3.0 works only with vRealize Automation 7.3, and are available only for the ServiceNow Istanbul and Jakarta releases. Also, the optional ADFS configuration , still uses ADFS 2.0.

For previous iterations of the ServiceNow ITSM plug-in please visit the solution exchange and search for ITSM. You will find ITSM 1.0 and ITSM 2.0

The latest version of the plug-in still supports vSphere and Amazon virtual machine provisioning but unlike the previous versions, we now have added support for Azure, and XaaS blueprints as well, including day 2 operations like Power ON/OFF, Reboot, and Destroy.

Stage 1 – Configuring a MID Server

Before installing the plug-in, you must configure a Management, Instrumentation, and Discovery (MID) Server to facilitate communication between ServiceNow and vRealize Automation.

Creating a MID Server User Account in ServiceNow

  • Log in to your ServiceNow portal and type System Security in the search field.
  • Expand Users and Groups > select Users > Click New to create a new user account.

SNOW-1

  • Fill the required information and click Submit

SNOW-2

  • Find the user you just created by using the search field and select it from the list by clicking on it.

SNOW-3

  • At the bottom of the screen, click Edit within the Role tab.

SNOW-4

  • Search for the mid_Server role and add it the user account, then click Save to get back to the user information page.

SNOW-5

SNOW-6

  • Enter a password for the user account and click Update.

SNOW-7

  • Now lets logoff and login back to ServiceNow using the MID server user to verify that the account is working properly, then logoff.SNOW-9SNOW-10

Installing and Configuring a MID Server Instance

In this step we will cover how to install and configure a MID Server instance which can be done on any servers in your DMZ or private Network as long as we have access to internet where we can communicate with our ServiceNow instance.

  • Login back to your ServiceNow instance with your admin account
  • Search for Mid Server in the search field and select Downloads

SNOW-11

  • Select the appropriate Mid Server package for your desired operating system, in our case here we will download the Windows 64 bit
  • On your Mid Server, create a folder called <MID Server> on your C: drive and then create a sub-folder and give it the name of your Mid Server.
  • Extract the package you downloaded into your <MID Server>/Server name folder. The resulting directory structure would be  //agent

SNOW-12.jpg

  • Navigate to the //agent directory and edit the config.xml file as follows:

Change 1
– Find the <parameter name=”url” value=”https ://YOUR_INSTANCE.service-now.com”/> element and change the value to the URL of your ServiceNow instance.

Change 2
– Enter the MID user credentials you created earlier in the mid.instance.username and mid.instance.password parameters.

Change 3
– Find the <parameter name=”name” value=”YOUR_MIDSERVER_NAME”/> element and change the value for the MID Server name. Use the same name you’ve used form the directory earlier.

Change 4 (Optional)
– Enter connection information for the proxy server. Remove the appropriate comment tags from the proxy configuration information. For example, you can configure the mid.proxy.use_proxy, mid.proxy.host, mid.proxy.port, mid.proxy.username, and mid.proxy.password.

  • Save the config.xml file and execute the start.bat script to start the service.

SNOW-13

  • Login back to your ServiceNow instance with your admin account
  • Search for Mid Server in the search field and select Server

SNOW-14

  • Select the Mid Server name by clicking the check box and select validate from Actions menu on the selected row. click OK to accept the initial criteria.

SNOW-15

 

Stage 2 – Installing the vRealize Automation Plug-in For ServiceNow

Now its time to install the XML plug-in which you must download from the Solution Exchange website Here for your ServiceNow version, either Istanbul or Jakarta type instance.

The plug-in when installed enables vRealize Automation to do the following :

  • Creates vRealize Automation Catalog and Resources menu items within the ServicesNow self-service module.
  • Creates a workflow for requesting vRealize Automation items.
  • Creates the catalog admin role and assigns it to the System Administrator.
  • Grants the users with the catalog admin role access to the integration > vRealize Automation module.

Procedure

  • Log in to your ServiceNow portal as a system administrator and type System System Update Sets in the search field.
  • Select Retrieved Update Sets from the menu and click on Import Update Set From XML

SNOW-16

  • Click Choose File on the dialog to choose the file to upload, and then select the vRealize Automation ServiceNow XML file you downloaded from the solution exchange and click Upload.

SNOW-17

  • In the Retrieved Update Sets list, select the vRealize Automation ServiceNow update set in the Name column and then Loaded in the State column.

SNOW-18

  • Select Preview Update Set to validate the update set before committing it. A dialog box confirms update set validation

SNOW-19

SNOW-20

  • Inspect the update set information, and then click Commit Update Set.

SNOW-21

  • A dialog box opens automatically after you click Commit Update Set while the commit action is in progress. A Close button appears on the dialog when the commit completes. Click this button to dismiss the dialog.

NOW-22

  • Click Udpate

SNOW-23.jpg

  • Select Retrieved Update Sets in the left menu and verify that the VMware update set has a status of Committed.

SNOW-24

Stage 3 – Configure Users for the vRealize Automation Plug-in for ServiceNow

You can configure users either before or after installing the vRealize Automation plug-in for ServiceNow. as I mentioned before we not leveraging ADFS here

Add the role vra_user in ServiceNow for all users that must access vRealize Automation, including vrasn_end_user, vrasn_catalog_admin, and vrasn_itil_user, to enable those users to see vRealize Automation catalog items.

  • Search for System Security and select Users and Groups > Users. Type vra into the user search. add the vra_user role to the above mentioned built-in users for now,  in addition to any user that must access vRealize Automation which you can do at the end.

SNOW-25

SNOW-27

  • Verify and, if necessary, update the appropriate users and roles in ServiceNow. See
    Creating Users and Associating to a group and Creating Roles for more information about working with users, groups, and roles in ServiceNow.
  • The ServiceNow plug-in for vRealize Automation uses the following ServiceNow roles:

SNOW-26

Stage 4 – Configure the vRealize Automation Workflow for Requested Items

The system admin can configure the vRA Workflow for Requested Item using the workflow editor.
At a minimum, you must assign the approval group that contains your ApprovalMgr. When users request vRealize Automation catalog items, this workflow runs, and approvals are sent to the ApprovalMgr within the approval group before the request is submitted to vRealize Automation.

Follow the steps below to use your own approval group and add it to the vRealize Automation workflow:

  • Search for Workflow Editor in the ServiceNow navigation pane and click it.

SNOW-28

  • Search for vRealize Automation Workflow for Requested Item and open it by clicking on it.

SNOW-29

  • Click the menu button and select Checkout.

SNOW-30

  • Double-click the Approval group stage in the workflow

SNOW-31

  • Click the Edit Groups button. Search the list of groups and make the appropriate selections, then Lock your selection by clicking the Lock icon -> Click Update -> Click the menu button -> Click Publish.

SNOW-32

  • By default you will see that the vRealizeAutomaion-ApprovalManagersGroup is already added.  in my instance I made sure that the ServiceNow System Administrator is part of this group.

Stage 5 – Set Basic Configurations the vRealize Automation Plug-in for ServiceNow

You must set up a vRealize Automation integration user. ServiceNow requires this user to import catalog items, categories, request statuses, and resources from vRealize Automation.
In order to import items, the integration users must be a business group manager within the business groups that you want ServiceNow to manage. The integration user does not require a role within ServiceNow.

Procedure

  • Log in to vRealize Automation as a business group manager.
  • Edit your business groups and assign the integration user as a business group manager. in my lab as you see below i will be using the cloudadmin which is a member of the cloudadmins group which has all the roles within vRealize Automation in addition to all the Business group Roles.

SNOW-33

Now that we installed the vRealize Automation plug-in for ServiceNow, and configured users and the integration user “cloudadmin“, we can complete the set up with basic configurations.

  • Search for Integration-vRealize Automation in the ServiceNow navigation pane -> click on Basic Configuration -> Enter the appropriate settings for your MIDServer Name, vRealize Automation tenant, URL, Integration Username and Password and plug-in.

Note : The MidServer Name should be the same as the Server folder name you created at earlier stage when you extracted the Mid Server config files.

SNOW-44

Stage 6 – Register the Plug-in for ServiceNow as a vRealize Automation OAuth 2.0 Client.

After setting up Basic Configurations, you must register the plug-in as a vRealize Automation OAuth 2.0 client.

To register the plug-in, you must provide user credentials to authenticate to vRealize Automation. we have two options here :

Option 1 : If you plan to use the vsphere.local tenant, you can use the administrator from the vsphere.local tenant. Set administrator as the username in the Register the Plug-in as a vRealize Automation OAuth 2.0 client dialog.

Option 2: Use the system admin, is to set up a user with local user and tenant admin roles within your tenant and provide these user credentials. This option registers the
ServiceNow plug-in only in the specified tenant. Providing the same tenant is set in Basic Configurations, this tenant is configured for the end users.

in my case we will be using Option 1.

Procedure

  • Search for Integration-vRealize Automation in the ServiceNow navigation pane -> Click Client Registration
  • Enter the user credentials in the Register the Plug-in as a vRealize Automation OAuth 2.0 Client dialog and since we are using Option 1, we will enter Administrator as the user and provide the password. – > click Submit

SNOW-35

  • Set the Client ID and Client Secret in the Set the Client ID and Client Secret dialog. You must choose what to set. for me I used the same account and password as the Client ID and Client Secret.

SNOW-36

  • Once set, the values are saved in the vrasn.clientID and vrasn.clientSecret properties within Integration > vRealize Automation > System Properties. Client ID and Client Secret are later used to get the access token of the users on login within the tenant specified in Basic Configurations.
  • On completion, you are redirected to the Basic Configurations page.

Note : You MUST logoff from ServiceNow and login again into the portal so you can be redirected to vRA ( you must be on Intranet, so you can reach vRA ) and logon using the integration User. This has to happen at least once after that is just black magic.

After that you can even access ServiceNow portal from the internet and when you are redirected to vRA obviously it will fail since you can’t reach vRA from the internet . Here you can re-enter the ServiceNow URL again and it will let you in the 2nd time. you can even request vRA blueprint .

Stage 7 – Configure and Run Scheduled Import Jobs in ServicesNow

On a first time install of the plug-in, you must manually execute scheduled jobs to import the catalog and resources. Though there is a default schedule for running jobs, you should edit the schedule time in each import according to your needs as you execute each job.

For example, you might want to import catalog items every 10 minutes for high
provisioning use.

The plug-in provides scheduled imports with the following functions. Scheduled imports should be configured and run in the order shown in the table below :

SNOW-37

SNOW-39

Procedure

  • Log in as the ServiceNow System admin
  • Search for Integration-vRealize Automation in the ServiceNow navigation pane and click on Scheduled Imports

SNOW-38

  • This would be a good time to Click on the applicable job name and change the Repeat Interval in Days, Hours, Minutes, and Seconds and update the Import Job Schedule based on your needs
  • Run scheduled jobs in the order shown in the table. Ensure that each job is complete before starting the next one. Completed jobs are shown as processed in the Scheduled Import Queue
  • For now will execute each manual based on the order outlined in the table mentioned above by opening the import job and click Execute Now

SNOW-40

  • Completed jobs are shown as processed in the Scheduled Import Queue. Click the Updated column which you need to add of the Scheduled Import Queue to refresh. The last updated time of the corresponding properties for these scheduled imports is also updated.
  • One thing I had to do in my instance which is mentioned in the Troubleshooting section of the Plug-in documentation is that in some cases, you may need to clear the Value field of the corresponding property in Integration > vRealize
    Automation > Properties and update the property prior to executing the appropriate scheduled import. Once the Value field was clear for all 5 records I started seeing all the jobs in the Scheduled Import Queue when I executed them in order.

Stage 8 – Configure the vRealize Automation Catalog in ServiceNow

Now its time to Choose the catalogs that you want end users to use for provisioning requests.

Procedure

  • Log in a the catalog admin or system admin
  • Select the vRealize Automation Catalog, then clear / delete all the default widgets. if you don’t that you wont see the Add here Section when you select the Category later.
  • Select the plus sign in the upper right corner to add vRealize Automation services, known as Catalog Categories in the ServiceNow, for provisioning

SNOW-41

  • Highlight the Catalog categories in the center pane -> Select Category Items to display the items within the Category and select Add Here based on where you want to place within the catalog page.

SNOW-42

  • Repeat the process for others Categories, to setup your final catalog and start provisioning.

SNOW-43

The End Eh!

 

Automation and Orchestration ITSM vRealize Automation

vRealize Automation 7.3 is Released! – What’s New – Part 3

vRA-Product-Icon-Mac_0

Continuing again on the same theme – Make the Private Cloud Easy – that we mentioned in the two previous blog post vRA 7.3 What’s New – Part 1 and What’s New – Part 2 we will continue to highlight more of the NSX integration Enhancements and for this part of the series we will be focusing on the Enhanced NAT Port Forwarding Rules.

 

So let’s get started Eh!

Enhanced NAT Port Forwarding Rules

You now have the ability as you configure the On-Demand NAT Network in the CBP (Converged Blue Print) – to create forwarding NAT rules at design time, to a One-To-Many type NAT network component when you associate it with a Non-Clustered vSphere Machine component or an On-Demand NSX load balancer component.

You can define NAT rules for any NSX-supported protocol then map a port or a port range from (Source) the external IP address of an Edge to (Destination) a private IP address in the NAT network component.

These Rules can be set in a specific Order when configured at design time. it Also can be added, removed, and re-ordered after you create them for an existing deployment as a day-2 action/operation.

Important Notes:

  • This will only work with One-To-Many type NAT network component, which means that One-To-One type NAT network component isn’t supported to create NAT rules for, in the CBP.

    nattype

    NAT Type One-to-Many

  • Also the NAT network component can be only connected to a Non-Clustered vSphere Machine which means the number of configured instances for the vSphere Machine in the blueprint can’t be more than 1 for the instances minimum and maximum setting, a user can request for a deployment.

    web01

    Non-Clustered

 

Option1

D-NAT Rules that can be Ordered

  • If you must use a Clustered vSphere Machine, you have to leverage an On-demand load balancer if you want to create a NAT rule on One-To-Many type NAT network component that can be associated with the VIP network of the an NSX load balancer component. 
clustered

Clustered Machine > 1 x Deployment

option3

Load Balancer VIP settings depending on the network association

  • In the above picture because that NAT rules are publishing HTTP-Port 80 and HTTPS-Port 443 on the external IP address of an Edge, then mapping those ports to the private IP and destination ports HTTP-Port 8080 and HTTPs-Port 8443 of the destination vSphere Machine and since the Load balancer VIP network is on the internal private network connected to NIC 0 of the clustered vSphere machines, we create the virtual servers on load balancer using HTTP-Port 8080 and HTTPs-Port 8443. 

option2

Again I really want to highlight the fact that the following elements are not supported for creating NAT rules:

  • NICs that are not in the current network
  • NICs that are configured to get IP addresses by using DHCP
  • Machine clusters without the use of a Load balancer
  • One-To-One type NAT network component

Change NAT Rules in a Exiting Deployment

Now after a successful deployment that includes 1 or more NAT forwarding rules, a user can later add, edit, and delete any existing NSX NAT rules in a deployed one-to-many NAT network.  The user/owner can also change the order in which the NAT rules are processed just like how we showcased when you can do that during the design of the blueprint.

Important Notes :

  • The Change NAT Rules operation is not supported for deployments that were upgraded or migrated from vRealize Automation 6.2.x to this vRealize Automation release.
  • You cannot add a NAT rule to a deployment that is mapped to a third-party IPAM endpoint such as Infoblox.

a user must log in to vRA as a machine owner, support user, business group user with a shared access role, or a business group manager to be entitled to change a NAT rules in a network.

Once that is verified, a user can :

  1. Select Items > Deployment.

Pro1

2. Locate the deployment and display its children components.

Pro2

3. Select the NAT network component to edit.

4. Click Change NAT Rules from the Actions menu.

Pro3

5. Add new NAT port forwarding rules, reorder rules, edit existing rules, or delete rules. What ever makes you happy!!

6. When you have finished making changes, click Save or Submit to submit the reconfiguration request.

Pro3

7. Check the status of your request under the Request Tab, that it is successful.

Pro5

8. In my case i have simply changed the order where I placed the HTTPS forwarding NAT rule to apply first. so you if you click on the Request ID after its successfully complete you will see just that.

Pro6

This was short and sweet, hope you enjoyed it. Now go give it a shot.

The End Eh!

Automation and Orchestration vRA Blueprints vRealize Automation

vRealize Automation 7.3 is Released! – What’s New – Part 2

vRA-Product-Icon-Mac_0Continuing on the same theme – Make the Private Cloud Easy – that we mentioned in the pervious blog post vRA 7.3 What’s New – Part 1 , we will highlight the NSX integration Enhancements for just the NSX Endpoint and On-Demand Load balancer that was added in this release. there are a lot more enhancement around the NSX integration that will touch on in other parts of this What’s new blog series but because I want to make each part short and sweet, I am going to just talk about the above mentioned enhancements

So let’s get started Eh!

NSX Endpoint

First thing first, with the new release of vRA 7.3 you can now create you own independent NSX Endpoint and then associate its NSX settings to an existing vSphere/vCenter endpoint. As you probably know or maybe you don’t, that in the pervious version prior to vRA 7.3, the NSX Manager was add as part of the vSphere/vCenter endpoint creation.

To create a new NSX Endpoint – >Select Infrastructure > Endpoints > Select New > Network and Security > NSX.

NSXEndpiont

Adding New NSX Endpoint

Now if  your like me happen to do an upgrade or perhaps migrated a vSphere/vCenter endpoint that was using an NSX Manager to a vRA 7.3 instance, a new NSX Endpoint is created for you that contains an association between the source vSphere/vCenter endpoint and a new created NSX endpoint.

NSXEndpointDetails1

Existing NSX Endpoint

NSXEndpointDetails2

NSX Endpoint vSphere to NSX Association

 

On-demand Load Balancer Controls

if you worked with vRA and tried to create a blueprint you know that if you have NSX configured for vSphere, that you can drag an NSX on-demand load balancer component onto the design canvas and configure its settings for use with vSphere machine components and container components in the blueprint.

With the new release we made it even better and added many enhancements that allows you now to have full control on how the load balancer can be configured and deployyed on request time when requesting aCentric networking and security based type of an application.

  1. When you add a load balancer component to a blueprint in the design canvas, you can choose either a default or custom option when creating which is a new feature you couldn’t do before or just like the pervious release, editing your virtual server definitions in the load balancer component.
  2. The default option allows you to specify the virtual server protocol ( HTTP, HTTPS, TCP, UDP ), port, and description and use defaults for all other settings such as Distribution, Health Check and Advanced settings such as connection limits, etc which therefor are all dimmed and disabled.

NewVirtualServerDefault

3. The custom option allows you to define additional levels of detail for Distribution, Health Check and even more advanced settings that you can configure and define.

NewVirtualServerCustom

Distribution Tab

In the Distribution tab you can specifies the algorithm balancing method for this pool member.

ROUND_ROBIN: Each server is used in turn according to the weight assigned to it.

IP-HASH: Selects a server based on a hash of the source IP address and the total weight of all the running servers.

LEASTCONN: Distributes client requests to multiple servers based on the number of connections already on the server. New connections are sent to the server with the fewest connections.

URI: The left part of the URI (before the question mark) is hashed and divided by the total weight of the running servers. The result designates which server receives the request. The URI is always directed to the same server as long as no server goes up or down.

HTTPHEADER: The HTTP header name is looked up in each HTTP request. If the header is absent or does not contain a value, the round robin algorithm is applied.

URL: The URL parameter specified in the argument is looked up in the query string of each HTTP GET request. If no value or parameter is found, then a round robin algorithm is applied.

 You can also Specifies how persistence tracks and stores session data. Requests are      directed to the same pool member for the life of a session or during subsequent sessions.

None : No persistence. Session data is not stored or tracked.

Cookie : Uses a unique cookie to identify the session the first time that a client accesses the site. In subsequent requests, the cookie persists the connection to the appropriate server.

Source IP : Tracks sessions based on the source IP address. When a client requests a connection to a virtual server that supports source address affinity persistence, if the client has previously connected it is returned to the same pool member.

MSRDP :Maintains persistent sessions between Windows clients and servers that are running the Microsoft Remote Desktop Protocol (RDP) service.

SSL Session ID : Uses an NSX-supported HTTPS traffic pattern to store and track sessions

HealthCheck

Health Check Tab

The Health Check tab allows you to specify the port number on which the load balancer listens to monitor the health of the virtual server member and the URL is used in the sample request to check a web site’s Health based on the available settings.

adavnced

in the advanced tab you further configure the NSX virtual server for things like

Connection limit: The maximum concurrent connections in NSX that the virtual server can process. This setting considers the number of all member connections. ( 0 = no limit )

Connection rate limit: The Maximum number of incoming connection requests in NSX that can be accepted per second. This setting considers the number of all member connections. ( 0 = no limit )

Enable Acceleration: Specifies that each virtual IP uses faster L4 load balancer rather than the L7 load balancer

Transparent: Allow the load balancer pool members to see the IP address of the machines that calling the load balancer. if not selected, the member of the load balancer pool members see the traffic source IP address as the load balancer internal IP address

Max Connections: The  maximum number of concurrent connections that a single member can recognize. if the number of incoming requests is higher than this value, requests are queued and then processed in the order which they are received as connections are released  ( 0 = no limit )

Min Connections: The minimum number of concurrent connections that a single member must always accept. ( 0 = no minimum)

The End Eh!

 

Automation and Orchestration vRA Blueprints vRealize Automation

vRealize Automation 7.3 is Released! – What’s New – Part 1

vRA-Product-Icon-Mac_0Oh my god I can’t believe that this is only a dot-release as you read through the What’s New section in the vRA 7.3 Release Notes, looking at the massive amount of features we are releasing with this release, its just mind blowing.

I can’t describe the amount of excitement that I m experiencing right now that a new version of vRA is officially out and that I can finally talk about it, and showcase some of its new 20+ spotlight features in this multi part vRA 7.3 What’s New blog series.

VMware continues the trend of delivering awesome innovations, improved user experience, and greater / deeper integration into the ecosystem its managing, while aligning its automation technology with the following core investment strategies :

  • Make the Private Cloud Easy
  • Enable Developers
  • Manage Across Clouds

In part 1 of this series of vRA 7.3 what’s new blogs, I will be showcasing the Prameterized Blueprints feature which fall under the  “Make the Private Cloud Easy” strategy pillar.

But before we get started I thought I would mention these Important upgrade Side Notes :

  • You must upgrade to either vRealize Automation 6.2.5 or 7.1, before you can upgrade to version 7.3
  • The Memory configuration should be increased to 18 GB on the vRA Appliance if you happened to reduce it, like I did myself in my lab otherwise you will get an error like the one below.

Memory Sizing Error

  • System Reboot is required of-course to complete the update, assuming everything went well with the vRA master appliance and its replicas if any.

upgrdeComplete

  • After you reboot the vRA appliance, Waiting for all services to start update Status appears on the Update Status page. The IaaS update automatically starts when the system is fully initialized and all services are running. So you don’t have to upgrade the IaaS component your self manually like what we used to do with the older editions, BUT instead You can sit back, relax and simply observe the IaaS upgrade progress on the Update Status page. How freaking cool is that Eh!

IaasAutoUpgrade

  • The automated update process is also supported on the distributed deployment model where after the master vRA appliance is successfully updated, all the replica nodes gets updated as well, after that the focus shifts to the IaaS components and the same thing happens where all the related IaaS services gets updated. 
  • The first IaaS server component can take about 30 minutes to finish, so be patient.
  • Also note that The active Manager Service node changes from a manual election to a system decision about which node becomes the fail-over server. The system enables this feature during upgrade

So now that we got that out of the way – Big Sigh!- ,  let’s get started now on the main topic Eh!

Parameterized Blueprints to Enhance Re-usability and Reduce Sprawl​

The new Component Profiles allows us to define both Virtual Machine sizes including ( CPU, Memory and Storage ) and source image attributes that helps the infrastructure architect enable what we refer to as the “T-Shirt Sizing” option for blueprint requests where an entitled user can pick from.

This abstraction using the Component Profiles allows us to efficiently manage blueprints by increasing re-usability while significantly reducing blueprint sprawl and simplifying your catalog offerings.

You can use component profiles to parameterize blueprints. Rather than create a separate small, medium, and large blueprint for a particular deployment type, you can create a single blueprint with a choice of small, medium, or large size virtual machine. Users can select one of these sizes when they deploy the catalog item.

From a governance and control perspective we continue to have the ability to trigger approval policies but now these approval can be based on the user size or the image selection conditions, including overrides.

The component profiles like everything else can be imported and exported using the vRealize Cloud Client.

The available component profile types are Size and Image. When you add component profiles to a machine component, the component profile settings override other settings on the machine component, such as number of CPUs or amount of storage.

Be aware that you cannot define other or additional component profile types other than those two.

To access Component Profiles, select Administration -> Property Dictionary -> Component Profiles 

ComponentProfiles

Component profiles are only available for vSphere machine components where you can use component profiles to define vSphere machine components in a blueprint.

Defining Component Profile Settings

You can define multiple named value sets within the Size and Image component profile types and add one or more of the value sets to machine components in a blueprint. Each value set that you define for the component profile type (Size and Image) contains the following configurable settings:

  • Name that sequesters see when they provision a machine
  • Unique identifier for tenant
  • Description
  • Set of value choices for each option in the values

ValueSet

When you request provisioning from the catalog, you can select from available value set choices for the Size and Image component profiles. When you choose one of the value sets, its corresponding property values are then bound to the request.

Configuring Component Profile Size Settings for Catalog Deployment

  1. Log in to the vRealize Automation console as an administrator with tenant administrator and IaaS administrator access rights
  2. Select Administration -> Property Dictionary -> Component Profiles 
  3. Click the Size in the name column or highlight it and click Edit

ComponentProfiles-Size4. Click the Value Sets tab and define a new value set by clicking New to create a small and a large size deployment value set for example.

Small CP

Small Value Set

Large CP

Now we have two Size Component Profiles as value set

  • Small   ( 1 vCPU, 1GB Mem, 40 GB Storage)
  • Larege ( 2 vCPU, 4GB Mem, 80 GB Storage)

size CP Final

Next would be to Add one or more value sets to the Size component profile by using the Profiles tab on a vSphere machine component as will see next.

Configuring Machine Blueprint by Adding the Size Component Profile to the Blueprint.

  1. Log in to the vRealize Automation console as an infrastructure architect.
  2. Select Design -> Blueprints
  3. Create a new Blueprint or in our case we will be editing an existing CentOS 7 on vSphere – Base Blueprint.

EditBluePrint.jpg

4. Select the Machine Type and click on Profiles  to add the size Component Profile we defined by clicking the +Add  link

ComponentProfiles

5. Once added and listed with the profile tab, select the Size Component Profile and click on Edit Value Sets 

sizeEditValueSets

6. Select the Value Sets you want to associate with the CentOS7 on vSphere – Base Blueprint, here we will select both Small and Large, while setting the Small as the Default and click Ok to configure the size component profile we are configuring for the blueprint with selected Value Sets ( Small and Large )

SizeValueSetsBlueprint

7. Once your done click finish on the blueprint to save the Blueprint parameters we just added, and your ready to request the CentOS7 on vSphere – Base Blueprint with the configured size parameters.

requestCentOs

8.  Select the vSphere_Machine within your blueprint deployment you requested and simply select the size of the Machine AKA “T-Shirt Sizing” and submit your request.

blueprintRequest

We can simply repeat the same process for the Image Component Profile where we define Image value set we can present to the requester as an option to choose from. 

Users can select from Linked Clone or Full Clone type images across Windows and Linux type OSs for example .  I will leave that one for you to explore my friends.

imageandSize

 

.The End. Eh!.

Automation and Orchestration vRA Blueprints vRealize Automation

Virtual Container Host As A Service [VCHAAS] With vRealize Automation – vRA 7.x

vSphere Integrated Containers Engine is a container run-time for vSphere, allowing developers familiar with Docker to develop in containers and deploy them alongside traditional VM-based workloads on vSphere clusters, and allowing for these workloads to be managed through the vSphere UI in a way familiar to existing vSphere admins.

2017-04-24_12-55-08

vSphere Integrated Containers comprises three major components:

  • vSphere Integrated Containers Engine, a container runtime for vSphere that allows you to provision containers as virtual machines, offering the same security and functionality of virtual machines in VMware ESXi™ hosts or vCenter Server® instances.
  • vSphere Integrated Containers Registry, an enterprise-class container registry server that stores and distributes container images. vSphere Integrated Containers Registry extends the Docker Distribution open source project by adding the functionalities that an enterprise requires, such as security, identity and management.
  • vSphere Integrated Containers Management Portal, a container management portal that provides a UI for DevOps teams to provision and manage containers, including the ability to obtain statistics and information about container instances. Cloud administrators can manage container hosts and apply governance to their usage, including capacity quotas and approval workflows.

These components currently support the Docker image format. vSphere Integrated Containers is entirely Open Source and free to use. Support for vSphere Integrated Containers is included in the vSphere Enterprise Plus license.

Now that we are done with the intro, we will only be focusing on VIC Engine in this post and how we can leverage vRealize Automation 7.x to make it even better and faster to deploy by users as a service.

I have been playing with vSphere Integrated Containers for a while now and since the early beta days. I can tell you that deploying and deleting the VCH Endpoint so many time was a bit painful since the command line is so rich including so many parameters that you can choose from where some are mandatory and some are optional, which of course can be a bit overwhelming specially when you fat finger some of these parameters as often as I do.

Example of the Linux command line with some of its parameters to deploy a Virtual Container Host on vSphere, looks something like this :

./vic-machine-linux create –name VCH_Name -t ‘UserName@domain.com:Password@vCener_IP_or_FQDN‘ –compute-resource Target_Cluster –public-network Target_Managment_Network –bridge-network Target_Bridge_Network –image-store DataStore_Name –volume-store DataStore_Name :default –dns-server DNS_IP_Or_FQDN –public-network-ip VCH_IP –public-network-gateway Gateway_IP/CIDR–force –no-tlsverify

During all this testing time I had to save the entire command line in a text file with all of its parameters, so I can simply copy and past the command when I need to, after replacing some of these parameters with the values I wanted to use, so I don’t have to type it over and over every single time I decide to deploy or delete a Virtual Container Host to test.

Having in mind our main use case for vRealize Automation and that is IT Automating IT , I wanted to find a way where I can somehow provide this as a service in my home lab where I can simply select the service and submit the request from the catalog.

Well, I did that some time ago and today I m excited to share that publicly on my new blog with all of you out there !

So please sit tight, enjoy the ride as I Explain…

In vRealize Orchestrator I managed to leverage the Guest Script Manager to take the command line with the majority of its parameters and automate the life out of it by creating the desired workflows use cases ( The Creation and Deletion of the VCH process ) then use these workflows as Anything as a service XaaS type blueprints in vRA to essentially present it as an item catalog where users can easily request to create a new VCH or delete an existing one.

Of course there are many other ways on how you can do the VCH automation piece and probably even better than the one I’m sharing here, but this is simply how I did it!.

Steps and User Experience

ScreenShot-1

1. Request the Service from the Catalog


ScreenShot-2

2. Provide the VIC Machine Information


ScreenShot-3

3. Provide the targeted vCenter Server


ScreenShot-4

4. Provide the VCH Configuration needed for the deployment


ScreenShot-5

5. Workflow executes in vRO to deploy the VCH endpoint on vSphere

This is so great on so many levels since now you can easily entitle any development groups for example, that really don’t have to know a whole lot on how VIC works and are simply able to request the service to access a docker API and provision Containers.

You can also wrap an approval / governance policy around it which vRA can easily provide and have all the parameter’s values available to users in drop-down list format within the XaaS Forms on the request page, so the requester don’t have to wonder when filling out these form requests, things like which cluster I should be deploying this to, What network I should be selecting, What Storage I should use and more importantly standardize these inputs to avoid typos to standardize the service overall so its consistent across the IT organization.

 

I tested both XaaS blueprints ( Create and Delete VCH ) and both works like a charm. I still though have to clean it up a bit but I will be sharing both the vRO package and the XaaS blueprints here on this post so others can use it or build on top of it and make it even better since I am not really an expert when it comes to developing vRO workflow but I m doing my best to learn even more.

High level Deployment Guide

Please be aware that this has not been tested yet outside my lab, so please provide feedback if you have any issues, in case I need to tweak things :

  1. Download the VCH 1.0 (Here) or VCH 1.1 (Here) Automation package depending on the VIC version bundle you have or planning to download and extract its content. The package includes the vRO package that includes the VCH workflows and the 2 XaaS VCH Blueprints for the VCH Create and Delete operation.
  2. If you download the 1.0 VIC bundle (Here) make sure its extracted to /workspace/vic on the desired VIC machine (The Machine that host the VIC Bundle), here you will use the VCH 1.0 in step 1.
  3. If you download the 1.1 VIC bundle (Here) make sure its extracted to /workspace/vic on the desired VIC machine (The Machine that host the VIC Bundle), here you will use the VCH 1.1 in step 1.
  4. Import the vRO package into the vRA embedded vRO instance using the vRO client
  5. Use the Cloud Client (Here) to import the two XaaS Blueprints into vRA where you can then publish and entitle them to users.
  6. Confirm that the blueprints are actually pointing to the respective VCH workflows that you imported perilously.

Please make sure to map the right VCH Automation package version with the right VIC Bundle version since some of the command syntax changed in VIC 1.1

Important Deployement Notes

  • This was done using the Guest Script Manager as I mentioned before which is already bundled in the VCH 1.0 vRO package along with the VCH workflows in the vRO package I Exported, so you don’t have to install the GSM yourself.
  • All the fields for this version is mandatory and can’t be skipped for now, but its something that you can definatly modify if you want to.
  • All the fields are static, so later on you can configure some of the field’s in XaaS forms as drop-down lists and provide value from you own environment such as Clusters Name, Network port-groups or storage..etc
  • The Workflow will deploy VCH with Server-side authentication with auto-generated, untrusted TLS certificates that are not signed by a CA, with no client-side verification. i.e. –no-tlsverify is hard coded as you will see in the create command mentioned below.
  • You have VIC bundle deployed and extracted to a folder called /workspace/vic/ on a Linux machine called out in the XaaS forms as the VIC Machine VM available within the same vCenter/environment. This can be the vRA appliance as well and you can modify the original Workflow to preset the values for the VIC machine properties section (2nd Screenshot above) so the user don’t even have to select it or go through the first request tab.
  • The VCH deployment can be used and manually added in Admiral using the certificate type credentials which can be obtained from the VIC Machine from the VCH folder created after a successful deployment . for example if you deploy an endpoint called VCH01, both the server-cert.pem and server-key.pem would be located in /workspace/vic/VCH01 folder on the VIC Machine.
  • This is the command line that being executed on the VIC Machine VM ( which is the VM that has the VIC bundle deployed and extracted to /workspace/vic ) . All the parameters that are used between vRA and vRO are in-between brackets.

The Create Command Used in the Create Workflow for VIC 1.0

./vic-machine-linux create --name [vchName] --appliance-cpu [vchCpu] --appliance-memory [vchMem] -t '[vCenterUserName]:[password]@[vCenterIp]' --compute-resource '[clusterName]' --public-network [publicNetwork] --bridge-network [bridgeNetwork] --image-store [imageStore] --volume-store [volumeStore]:[volumeName] --dns-server [dnsServerIp] --public-network-ip [vchPublicIp] --public-network-gateway [vchPublicGateway]/[vchPublicGatewaySubnet] --force --no-tlsverify

The Create Command Used in the Create Workflow for VIC 1.1

./vic-machine-linux create --name [vchName] --endpoint-cpu [vchCpu] --endpoint-memory [vchMem] -t '[vCenterUserName]:[password]@[vCenterIp]' --compute-resource '[clusterName]' --public-network [publicNetwork] --bridge-network [bridgeNetwork] --image-store [imageStore] --volume-store [volumeStore]:[volumeName] --dns-server [dnsServerIp] --public-network-ip [vchPublicIp]/[vchPublicIpSubnet] --public-network-gateway [vchPublicGateway] --force --no-tlsverify

You notice if you compare the create command between the two versions that some of the parameters were changed. i.e.  –appliance-cpu  renamed to –endponit-cpu

The Delete Command Used in the Delete Workflow is same for both versions

./vic-machine-linux delete --force -t '[vCenterUserName]:[password]@[vCenterIp]' --compute-resource '[clusterName]' --name [vchName]

Have fun Everyone!

Automation and Orchestration vRealize Automation vsphere integrated containers

Finally I’m a Blogger!

I can’t remember how many times that I thought about having my own blog where I can write and post about topics that I’m passionate about around my line of work in Cloud Management here at VMware, in the hope that someone out there may find it helpful.

Well my friends, It’s finally happening. Allow me to personally welcome you to my new and humble blog website VMwarelab.org

I joined VMware back in June, 2013 and man! it’s been such an amazing experience,  I love every minute of it and I honestly don’t think or see myself working anywhere else since I had the opportunity of working here after years of working with VMware Technology as a customer myself for one of the big Canadian Banks.

As a Software Defined Enterprise Sr. Systems Engineer at VMware I work with a great talented technical sales team of individuals proving the technology in the form of proof of concepts, demos and deep-dive presentations and helping our customers accelerate their Digital Transformation Journey  and empower IT to align ever more closely with the Businesses they support leveraging our Software-Defined Data Center.

SDDC is the foundation for the VMware Cross-Cloud architecture that enables enterprises to innovate freely in the clouds of their choice. Built on our industry-leading Software-Defined Data Center foundation which brings together best-in-class compute, storage, networking virtualization, and cloud management, our common operating environment lets you rapidly run, manage, connect, and secure apps across clouds and devices.

Hopefully this was a good, simple introduction to my new blog and myself, into the massive and amazing VMware blogging community, on the hope that one day I can get to that level.  I will mainly share posts around our Cloud Management tools as it comes to new products and features, How to guides and most importantly sharing interesting customer use cases that other individuals in the industry can benefit from.

At the end I want to say a big Thank You for taking the time in celebrating my first blog post with me, I hope you enjoyed it as much I did writing it, and before I end this post , I would like to leave you with these helpful and outstanding blogs that I hope you enjoy exploring, as I personally follow and always learn from:

About Me