vRA 8.3 and above images are no longer visible when creating a New Image Mapping from Content libraries
search cancel

vRA 8.3 and above images are no longer visible when creating a New Image Mapping from Content libraries

book

Article ID: 326137

calendar_today

Updated On:

Products

VMware Aria Suite

Issue/Introduction

This document will provide instructions to workaround the intended behavior if all images are required, regardless of content library status.

Symptoms:
Template images do not all appear, particularly if the images are hosted in content libraries with naming duplication.

Environment

VMware vRealize Automation 8.6.x
VMware vRealize Automation 8.4.x
VMware vRealize Automation 8.3.x
VMware vRealize Automation 8.5.x

Cause

Note: This is normal behavior for vRA 8.3 and above. 
  • In these versions, duplicate entries are no longer recognized in synchronized content libraries or images with identical names.
  • Images are now enumerated, with only the latest updated version appearing if they are hosted via a content library.

Resolution

There is no resolution, as the current behavior is expected and is the intended behavior.

However, if the prior behavior of all images being available is desired, see the workaround below to make the necessary changes.

Workaround:
  1. Take simultaneous snapshots of the vRA appliance(s) before making any changes.
  2. SSH into a vRA appliance
  3. Edit the provisioning-service-app pod on the deployment with the following command
    kubectl -n prelude edit deploy provisioning-service-app
Note: This step will open the vi editor. Scroll to the following section, or type "/JAVA_OPTS" (without the quotation marks) and hit enter to scroll directly to it.
      - name: JAVA_OPTS
          value: |-
            -Dhttps.proxyHost=$(JAVA_PROXY_HOST)
            -Dhttp.proxyHost=$(JAVA_PROXY_HOST)
             ....
  1. Add -Dcl.vmtemplate.enable.enumeration=false to the option list.
Note: To edit, move the cursor to the line where you want to make the addition, and press the i key on the keyboard to enter insert mode. Press Enter to new line and type in the line specified.
Note: BE VERY CAREFUL WITH SPACES. DO NOT USE TABS, SPACES ONLY. It must be aligned with other options.  An example is provided below:
      - name: JAVA_OPTS
          value: |-
            -Dcl.vmtemplate.enable.enumeration=false
            -Dhttps.proxyHost=$(JAVA_PROXY_HOST)
            -Dhttp.proxyHost=$(JAVA_PROXY_HOST)
            ....
  1. Save the changes, press the escape key on the keyboard, and then save the change by pressing :wq.  If you make a mistake you can exit without saving by pressing :q! instead.
Note: Kubernetes will redeploy the pod with new settings enabled.
  1. Monitor the provisioning-service-app pod restart by running watch kubectl get pods -n prelude within the vRA SSH session. Once the pod is restarted and in a ready state 1/1, go to the next step.
  2. Login to Cloud Assembly followed by Infrastructure > ConnectionsCloud Accounts.
  3. For each cloud account, re-trigger image enumeration by clicking SYNC IMAGES button.
  4. After image enumeration completes, check image mappings, you should now see all local subscriber image items.


Additional Information

Impact/Risks:
Changing the behavior as described in the workaround below will remove image enumeration, allowing visibility of all templates via vRA image mappings. This may be beneficial in some circumstances such as, if deployments take too long because the current image is hosted in a remote location from the VM host, but can make image management more complex.

It should be noted that this change is reversible, and does not require a full restart of all vRA services, only the provisioning app service pod, which is completed within a few minutes.