Innlegg

Viser innlegg fra november, 2020

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 access

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 guess i can feel l

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-333

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.

Looking for a place to temporary store your data?

Recently looked for an in vRO cache system and came across https://github.com/dimitrovvlado/o11n-plugin-cache This is quite handy if you need a place to temporarily store values, eighter while provisioning, or to avoid using the vRO Lock system. Could be a perfect spot for storing info while all your workflows execute and need access to a token: CacheManager.mapService.putForMap("tokenStore", 'my-access-token', token, 15, CacheTimeUnit.MINUTES); var my-access-token = CacheManager.mapService.getForMap("tokenStore", my-access-token'); Other use cases could be to make sure a sequence number is not reused or an FQDN is kept unique until machines have properly provisioned.

Reconfigure Pending, Stuck, In Progress

vRA7 has a little habit of leaving tasks in a pending state this is how to deal with them. https://kb.vmware.com/s/article/71246 Perhaps you aren't aware of a problem this is causing your users Try looking for all tasks that are running or specific states using these SQL queries      SELECT CurrentTask FROM dbo.VirtualMachine WHERE CurrentTask != NULL      SELECT CurrentTask FROM dbo.VirtualMachine WHERE CurrentTask = 'Reconfigure failed, waiting to retry'      SELECT CurrentTask FROM dbo.VirtualMachine WHERE CurrentTask = 'Reconfigure pending' Clear the tasks and let the users retry      UPDATE dbo.VirtualMachine SET CurrentTask = NULL WHERE CurrentTask = 'Reconfigure failed, waiting to retry'     UPDATE dbo.VirtualMachine SET CurrentTask = NULL WHERE CurrentTask = 'Reconfigure pending'

Migrating to vRealize Automation 8, smooth ride or a nightmare?

Bilde
 Step 1 - Deploy vRA 8 If you start fresh use the Easy Installer and skip the rest of this post If you have vRA 7 hopefully you already have a vRSLCM and vIDM If not, use the Easy Installer and we meet again in a few steps. Deploy with vRSLCM is fairly straight forward and will take a few minutes of your time and a coffee break while deploying resources. Prepare an FQDN and associate an IP as the deployment will make sure it has a reverse lookup. You will need to create credentials in vRSLCM to go along with the deployment, tho this will mostly be used for accessing SHELL or vRO Configuration. Pull out your license key and prepare a certificate and in about 10 easy steps you will have your vRA8 up and running. Step 2 - Configuration vRA8 Login? vRA8 now relay on the external vIDM so go ahead and pull our the config_admin user credentials and login to System Domain . Now for everyone familiar with vRA7, you will feel a bit lost at first, tho you will quickly recognize and feel a bit co