Innlegg

vRealize Automation 8.7 makes custom validations easier with API support

Bilde
My world/job has been simplified  a LOT with the release of VMware vRealize Automation 8.7 Release Notes Custom validation for catalog items by custom forms now supported via API VRealize Automation now supports custom validation with API. With this new feature, you can design a catalog item with a customs form and external validation via the API. When the user creates a deployment from the catalog item via API, the validation is executed. In the case that the validation fails, the API response would contain validation error messages. It has never been easier to develop a workflow with proper input validation, publish it to vRA and now finally get proper input validation through the API along with the UI. {      "message" :  "Catalog item request validation failed. Reason: .... Your reasons for this validation to fail ....." ,      "statusCode" :  400 ,      "errorCode" :  30058...

Celebrating 5 years of vRealize Automation 7

It surely has been some interesting 5 years. Some of what i learned these years: Logging is truly a form of art Never assume a 3rd party application is working The world changes rather rapidly Also i will leave all other vRA7 entusiasts with a little note.. Renew your certificates, oh did you already? Hope you didnt forget PostgreSQL (expires 5 years after installation) vRA 7.x APIs return error 500 when connecting to Postgres DB (85904) (vmware.com) OH but there is more.. Management Agents will also stop work unless you replace self signed certificates Replace a Management Agent Certificate (vmware.com)

NSX 3.2 Will make management easier

K8s with Antrea management or the ability to fetch vSphere tags is awaited functionality. Read more on blogs.vmware.com

VMware vRealize Orchestrator plug-in for vRealize Automation 8.5

Bilde
With vRA 8.5 follows an updated vRO plugin that gives more or less the same insight as in the previously vRO7 plugin. This feels weirdly nice for someone who enjoys spending time in vRO vRealize Automation 8.5 Release Notes

vRealize Automation 8.4 - Loving how fast i realized it was the answers to my missing puzzle pieces

Event Broker enhancements Ability to add subscriptions at post provisioning stage and before power on. vRealize-Automation-84-releasenotes

vRealize Automation 8 - Event Topics timeline

Bilde
To a lot of vRealize Automation 6-7 Managers moving to vRealize Automation 8 is a rather large adaptation of new skillsets. What we have currently been looking at is adapt the new Event Topic model. And there is a lot of Event Topics to follow, but I still feel something is missing. Full list of Event Topics documented @VMware Docs Compute allocation Yes Issued before the allocation of  resourcenames  and  hostselections . Both of these properties can be modified at this stage. Compute post provision Yes Issued after a resource was provisioned successfully. Compute post removal Yes issued after a compute resource was removed. Compute provision Yes Issued before the resource is provisioned at the hypervisor layer. Note: You can change the allocated IP address. Compute removal Yes Issued before the resource is removed. Compute reservation Yes Issued at the time of reservation. Note: You can change the placement order. Deployment action completed Yes Issued after a deploymen...

Free your own time

Bilde
Automate your every task! Free your own time, use this time for what gives value for you.  * Take on more tasks * Free your time * Accomplish more Use triggers, events or shedules to perform these tasks. Be smart about your work time.

vRA 7.6 Patch 19

Bilde
  vRA 7.6 Patch 19 https://kb.vmware.com/s/article/70911 Easy installer

vRealize Orchestrator and Microsoft Powershell Double Hops

Recently started automating Microsoft DNS and the best way in seems to be through Powershell . One of the common ways to deal with this is through a Powershell Host defined in vRO. You set it up securely with HTTPS and Kerberos and specify the credentials of a user with DNS server rights enough to see and manipulate the content of the zones and records you want to automate. So far so good, and you start developing the PowerShell commands you might need. Resolve-DnsName (Get-ADDomain).DNSroot -type ns | ? {$_.type -eq "A"} | select name,Address,IP4Address,IPAddress | ConvertTo-Json -depth 1 -Compress Get-DnsServerZone -ComputerName (Get-ADDomain).DNSroot Get-DnsServerResourceRecord -ComputerName (Get-ADDomain).DNSroot And they all work out nicely when you run them from your Powershell host, but once you run them from vRO in the Powershell session you run into the double-hop auth problem . There are many ways to deal with this, but often you need to thinker both with the Powers...

vRA 7.6 Patch 18

Bilde
As it seems every week now VMware releases a hotfix for vRA7.6 https://kb.vmware.com/s/article/70911 Installing these usually go rather smoothly, but today we ran into a smaller issue. Installation got stuck at rpm -Uvh --replacepkgs /usr/lib/vcac/patches/repo/cafe/patchRpms/*.rpm We tried to manually update the packages and found there was a transaction lock warning: waiting for transaction lock on /var/lib/rpm/__db.000 This can be fixed by rebuilding the RPM database. rm -f /var/lib/rpm/__db.00* rpm --rebuilddb Now we were more or less ready to revert to snapshots and restart the whole process when I noticed there is actually a retry option, previously when patches failed we had to restart the whole process.  Cheers VMware that was useful 

Possible pitfall - duplicate config_admin users - Using vRSLCM as deployment engine

Bilde
Some days ago as vRA 8.2 Patch 1 came along we decided to create a new test environment to see the upgrade process. It went rather smoothly as this is not the first environment to be deployed with vRSLCM. Few minutes of prepare vRSLCM and deployment went good, logging on to the new environment and then proceeded to install vRA 8.2 Patch 1.  https://docs.vmware.com/en/vRealize-Automation/8.2/rn/vRealize-Automation-82-releasenotes.html Now all went rather smoothly and we were please with the result. Sometime during the few last days also vIDM was patched to 3.3.3 https://docs.vmware.com/en/VMware-Workspace-ONE-Access/3.3/rn/VMware-Identity-Manager-333-Release-Notes.html And all of a sudden we lost access to our little test environment. As it was only there to test the upgrade patch 1, it was not a large issue, but strange never the less. In this test environment, we did not set up any other access roles, besides the default config_admin user. We could log in with it, but we had no ac...

vRealize Orchestrator - SSH Keys - Idea for how to easy manage multiple keys

Many are using SSH to run commands something similar to  var  passwordAuthentication = false; var password = ''; var session = new SSHSession(hostName, username, port); session.connectWithPasswordOrIdentity(passwordAuthentication, password, path); Where the path leads to the private key file for the connection. Storing several key files in the vRO filesystem could easily lead to forget it when moving to a new vRO or add a new vRO node. Also when moving forward with vRO 8 it's less of a good idea to add elements to the local filesystem as a manual step. My suggestion for a solution is to make use of the vRO resource element. Store your key file as a vRO resource element, using the following step of code can runtime make the key available for SSHSession. var tempDirectory = System.getTempDirectory(); filePath =  tempDirectory + "/" + keyfile.name; keyfile.writeContentToFile( filePath ); Send the private key file as a resource to the action or workflow and you will h...

Unlock your vSphere Automation potentiale - VMware Event Broker Appliance

How many tasks did you perhaps think, this should be automated! ? Perhaps it is a pretty simple task like: Assign a tag to a newly deployed host Set a custom property on a new VM Add a Host or VM to a CMDB (VMs perhaps already handled by vRealize Automation) Or a slightly more advanced task Zone in a Host to the FC fabric, for datastore visibility Add a newly created Cluster to vRA Fabric or Cloud Zone Discover and set capability tags based on HW (GPU or similar) Acquire Licenses or register in 3rd party license tools like Red Hat Satellite Download and deploy VMware's Event Broker Appliance  https://flings.vmware.com/vmware-event-broker-appliance https://vmweventbroker.io/

vRealize Automation 8 - Migration Assistant - Entitlements

While assessing the migration to vRA8 most definitely you will run into deprecated entitled actions or extensions. A lot of the internal VMware Actions or Extensions are no longer valid, here is a small list of common ones: Connect using SSH Connect using VMRC Connect using RDP Execute Reconfigure Cancel Reconfigure Scale In Scale Out Power Cycle ... A dirty quick fix is to loop all your entitlements before running the migration assistant and remove all of these deprecated if you do not depend on anyone using them in your vRA7 environment. var entitlements = Server.findAllForType("vCACCAFE:Entitlement"); for each (var entitlement in entitlements) { System.log(entitlement.name); var updated = false; var host = vCACCAFEEntitiesFinder.getHostForEntity(entitlement); var client = host.createCatalogClient().getCatalogEntitlementService(); var entitledResourceOperations = entitlement.getEntitledResourceOperations(); for each (operation in entitledResourceOperations) { ...

vRA7 to vRA8 migration - Orchestrator

Steps to get up and running with vRO 8. Depending on your previous usage of vRO 7 this might the step that requires the most work when you are migrating to vRA8. Attribute Parameter Contains vCAC/vCACCAFE type! cafeHost|vCACCAFE:VCACHost| Switch to vRealize Automation 8 Types Input Parameter Contains vCAC/vCACCAFE type! subtenant|vCACCAFE:Subtenant Switch to vRealize Automation 8 Types Input Parameter Contains Payload Properties! payload|Properties Ensure the selected properties are supported by vRealize Automation 8 The first two will be quite common for everyone who has automated vRA7 using the vRA Plugins for vCAC and vCACCAFE the only working rewrite here is to move to the REST API and redo the work directly. The last one is also heavily used by everyone who relies on the Subscriptions both by pick up information in vRO and sending information back to vRA with " virtualmachineAddorUpdateProperties ". With just about 190 workflows to redo/rewrite or so i gues...

Preparing vRealize Automation 7.6 for 8.2 migrations - Fix reservation blank Network Profiles.

Bilde
As the migration assistant reveals well-hidden skeletons Fix missing Network Profiles. Having a reference to a network profile in the reservation JSON in vRA 7.6 seems valid but leads to a NullPoint exception during the migration of reservations to Cloud Zones. Map the variable vra7 to the vRA rest host, require a valid access token and set the limit that will cover your reservations, If you have extremely many rewrite to use the page system, var request = vra7.createRequest("GET", "/reservation-service/api/reservations/?limit=999"); request.setHeader("Accept", "application/json"); request.setHeader("Authorization", "Bearer " + token); var response = request.execute(); var results = JSON.parse(response.contentAsString); for each (var reservation in results.content) { System.debug("Reservation name: " + reservation.name); System.debug("Network entries: " + reservation.extensionData.entries[4].value.items...

Preparing vRealize Automation 7.6 for 8.2 migrations - Fix reservation Cluster references to include endpoint names.

Bilde
 As the migration assistant reveals skeletons Fix reservation endpoint names. Missing the ClusterName (Endpoint) style in vRA 7.6 reservations lead to a NullPoint exception during the migration of reservations to cloud zones. Map the variable vra7 to the vRA rest host, require a valid access token and set the limit that will cover your reservations, If you have extremely many rewrite to use the page system, var request = vra7.createRequest("GET", "/reservation-service/api/reservations/?limit=999"); request.setHeader("Accept", "application/json"); request.setHeader("Authorization", "Bearer " + token); var response = request.execute(); var results = JSON.parse(response.contentAsString); for each (var reservation in results.content) { var endpointName = 'Insert endpoint name here'; //System.debug(Object.keys(reservation.extensionData.entries)); if (!reservation.extensionData.entries[3].value.label.match(' ')...

vRealize Automation 8.2 Patch1 - Patch attempt #1

Bilde
vRealize Automation 8.2 Patch 1 - https://kb.vmware.com/s/article/81396 With 17 Hot-fixes for vRealize Automation 7.6 fresh in mind, looking forward to attempting a vRSLCM only upgrade for the first time, except for some lab environments but they never fail so those don't count. And Patch 1 is a whopping 20 GB Of course my vRSLCM have 19GB of free space, now makes sense why the Patch 1 installer notes start off by telling you to check and gives a free guide on how to increase space. Note : It is recommended to install vRealize Suite Lifecycle Manager 8.2 Patch 1 before vRealize Automation 8.2 Patch 1. This note seems to be a requirement else you will run into a download error: Figured this out after waiting a great deal of time while it was apparently downloading. The next step that also seems to be a requirement that's not directly mentioned in the KB article is to upgrade vIDM to 3.3.3.  https://docs.vmware.com/en/VMware-Workspace-ONE-Access/3.3/rn/VMware-Identity-Manager-33...

Using the vRA 8 Migration Assistant

Bilde
 It looks great, but it definitely could do better on the error presentations. Migration failed: Diving into the "See details", feeling it could be a bit more helpful Not to worry Login to your vRA8 shell, find the migration assistant pod kubectl -n prelude get pods | grep migration-service Then tail the logs while performing a migration and hopefully you can get closer to the real details kubectl logs -f -n prelude migration-service-app-5dcd4f7 Note: replace the pod name with the one you found for your migration-service pod.

Openshift 4.6 on vSphere Prerequisites

In OpenShift Container Platform version 4.6, you can install a cluster on your VMware vSphere instance by using the installer-provisioned infrastructure. Prerequisites Provision  persistent storage  for your cluster. To deploy a private image registry, your storage must provide ReadWriteMany access modes. Ensure that your vSphere server has only one data center and cluster. If it has multiple data centers and clusters, it also has multiple default root resource pools, and the worker nodes will not provision during installation. That is where I stopped. What small environment do Openshift developers live in?  I mean sure vSphere 7 can now handle a 96 node cluster, but surely if you are running Openshift on vSphere you have a larger environment.