
Search Results
247 results found with an empty search
- While trying to execute /sbin/ldconfig child terminated abnormally
Was working on an issue where vRA Upgrade from 7.5 to 7.6 failed due to an exception during the upgrade phase. As we all know vRA upgrade has 3 phases Pre-Update Upgrade Post-Update Snippet from an environment where it worked 17/11/2020 14:16:30 [INFO] Update status: Running package installation 17/11/2020 14:16:30 [INFO] Running /opt/vmware/var/lib/vami/update/data/job/4/run_command warning: /opt/vmware/var/lib/vami/update/data/package-pool/package-pool/vmware-tools-core-10.3.6-1.sles11.x86_64.rpm: Header V3 RSA/SHA1 signature: NOKEY, key ID 001e5cc9 Preparing packages for installation... glibc-2.11.3-17.110.24.2 /sbin/ldconfig: /lib64/libhistory.so.6 is not a symbolic link /sbin/ldconfig: /lib64/libreadline.so.6 is not a symbolic link /sbin/ldconfig: /opt/vmware/support/lib64/libpng.so.3 is not a symbolic link /sbin/ldconfig: /opt/vmware/support/lib64/libicudata.so.58 is not a symbolic link /sbin/ldconfig: /opt/vmware/support/lib64/libcares.so.2 is not a symbolic link /sbin/ldconfig: /opt/vmware/support/lib64/libicutest.so.58 is not a symbolic link /sbin/ldconfig: /opt/vmware/support/lib64/libicui18n.so.58 is not a symbolic link /sbin/ldconfig: /opt/vmware/support/lib64/libpng12.so.0 is not a symbolic link /sbin/ldconfig: /opt/vmware/support/lib64/libcurl.so.4 is not a symbolic link /sbin/ldconfig: /opt/vmware/support/lib64/libicuuc.so.58 is not a symbolic link /sbin/ldconfig: /opt/vmware/support/lib64/libicutu.so.58 is not a symbolic link /sbin/ldconfig: /opt/vmware/support/lib64/libicuio.so.58 is not a symbolic link /sbin/ldconfig: /opt/vmware/support/lib64/libxml2.so.2 is not a symbolic link vmware-tools-foundation-10.3.6-1.sles11 VMware-Postgres-osslibs-9.5.16.0-12585967 vmware-studio-appliance-config-3.0.0.6-190321154832 libopenssl1_0_1-1.0.2r-1.vmw.sles.12677144 vmware-tools-libraries-nox-10.3.6-1.sles11 libxml2-2.9.9-1.vmw.12267021 /sbin/ldconfig: /lib64/libhistory.so.6 is not a symbolic link Snippet from an environment where it failed 10/12/2020 14:43:34 [INFO] Update status: Running package installation 10/12/2020 14:43:34 [INFO] Running /opt/vmware/var/lib/vami/update/data/job/3/run_command warning: /opt/vmware/var/lib/vami/update/data/package-pool/package-pool/vmware-tools-core-10.3.6-1.sles11.x86_64.rpm: Header V3 RSA/SHA1 signature: NOKEY, key ID 001e5cc9 Preparing packages for installation... glibc-2.11.3-17.110.24.2 /usr/sbin/glibc_post_upgrade: While trying to execute /sbin/ldconfig child terminated abnormally error: %post(glibc-2.11.3-17.110.24.2.x86_64) scriptlet failed, exit status 112 vmware-tools-foundation-10.3.6-1.sles11 VMware-Postgres-osslibs-9.5.16.0-12585967 vmware-studio-appliance-config-3.0.0.6-190321154832 libopenssl1_0_1-1.0.2r-1.vmw.sles.12677144 vmware-tools-libraries-nox-10.3.6-1.sles11 libxml2-2.9.9-1.vmw.12267021 /var/tmp/rpm-tmp.34745: line 1: 5830 Aborted /sbin/ldconfig error: %post(libxml2-2.9.9-1.vmw.12267021.x86_64) scriptlet failed, exit status 134 tomcat-template-8.5.37.0-1.vmw.11804273 VMware-Postgres-osslibs-server-9.5.16.0-12585967 krb5-1.6.3-133.49.113.10.1 /var/tmp/rpm-tmp.34745: line 1: 5835 Aborted /sbin/ldconfig VMware-Postgres-libs-9.5.16.0-12585967 vmware-studio-vami-tools-3.0.0.6-12673961 vmware-studio-init-3.0.0.6-190321154832 Shutting down vami-sfcbd: done. vmware-studio-vami-cimom-3.0.0.6-12673961 Detected x86_64 arch Updating /etc/pam.d/vami-sfcb for x84_64 There were lots of ldconfig errors in /var/log/messages of appliance grep -i ldconfig /var/log/messages Keeping these errors in mind an upgrade will only succeed if we clear these out Here's the plan which was followed to clear ldconfig exceptions or cache corruption All thanks to Nikolay Boshnakov for sharing solution with the limited amount of data we collected at the time of an upgrade Remediation Plan Execute below command strace ldconfig This will fail with an abort exception Browse to the following path cd /var/cache/ldconfig/ You would see a file called aux-cache Delete this aux-cache file rm -rf aux-cache Execute the below command again which will recreate the aux-cache file again strace ldconfig Monitor /var/log/messages , you should not see any ldconfig exceptions anyomore
- package horizon-service-rpm-xx.noarch (which is newer than horizon-service-rpm-xx) already installed
I was working on a patch implementation this morning and encountered an exception almost when we were at the finish line Exception 2020-11-27T02:43:41.804322+00:00 vra-dev.btfin.com vcac-config: INFO com.vmware.vcac.cli.configurator.commands.cluster.patch.PatchExecutor.validateCommandStatusForFinishLine:1130 - Command execute-shell output: Executing shell command rpm -Uvh --replacepkgs /usr/lib/vcac/patches/repo/cafe/patchRpms/*.rpm 2020-11-27T02:43:41.805157+00:00 vra-dev.btfin.com vcac-config: ERROR com.vmware.vcac.cli.configurator.commands.cluster.patch.PatchExecutor.validateCommandStatusForFinishLine:1134 - Error in command status for execute-shell: {"35000":"Command execution failed with unexpected error: com.vmware.vcac.configuration.utils.ProcessUtil$ProcessExecutionException: package horizon-service-rpm-3.1.0.0-15448541.noarch (which is newer than horizon-service-rpm-3.1.0.0-15433743.noarch) is already installed.\n\nUse -e option to get more details.\n"} 2020-11-27T02:43:41.813653+00:00 vra-dev.btfin.com vcac-config: ERROR com.vmware.vcac.cli.configurator.commands.cluster.patch.PatchExecutor.run:235 - Patch 5e57bbf6-077b-472d-bf91-e5369efd6dc5 FAILED 2020-11-27T02:43:41.817927+00:00 vra-dev.btfin.com vcac-config: ERROR com.vmware.vcac.cli.configurator.commands.cluster.patch.PatchExecutor.run:236 - Exception : {} at com.vmware.vcac.cli.configurator.commands.cluster.patch.PatchExecutor.validateCommandStatusForFinishLine(PatchExecutor.java:1143) ~[vcac-config-cli-7.6.0-SNAPSHOT.jar:?] at com.vmware.vcac.cli.configurator.commands.cluster.patch.PatchExecutor.isAllCommandExecuted(PatchExecutor.java:1088) ~[vcac-config-cli-7.6.0-SNAPSHOT.jar:?] at com.vmware.vcac.cli.configurator.commands.cluster.patch.PatchExecutor.executeCommands(PatchExecutor.java:1038) ~[vcac-config-cli-7.6.0-SNAPSHOT.jar:?] at com.vmware.vcac.cli.configurator.commands.cluster.patch.PatchExecutor.run(PatchExecutor.java:228) [vcac-config-cli-7.6.0-SNAPSHOT.jar:?] at com.vmware.vcac.cli.configurator.commands.cluster.patch.PatchDeployCommand.applyPatch(PatchDeployCommand.java:376) [vcac-config-cli-7.6.0-SNAPSHOT.jar:?] at com.vmware.vcac.cli.configurator.commands.cluster.patch.PatchDeployCommand.installPatch(PatchDeployCommand.java:205) [vcac-config-cli-7.6.0-SNAPSHOT.jar:?] at com.vmware.vcac.cli.configurator.commands.cluster.patch.PatchDeployCommand.execute(PatchDeployCommand.java:143) [vcac-config-cli-7.6.0-SNAPSHOT.jar:?] at com.vmware.vcac.cli.configurator.commands.cluster.patch.PatchExecutor.validateCommandStatusForFinishLine(PatchExecutor.java:1143) ~[vcac-config-cli-7.6.0-SNAPSHOT.jar:?] at com.vmware.vcac.cli.configurator.commands.cluster.patch.PatchExecutor.isAllCommandExecuted(PatchExecutor.java:1088) ~[vcac-config-cli-7.6.0-SNAPSHOT.jar:?] at com.vmware.vcac.cli.configurator.commands.cluster.patch.PatchExecutor.executeCommands(PatchExecutor.java:1038) ~[vcac-config-cli-7.6.0-SNAPSHOT.jar:?] at com.vmware.vcac.cli.configurator.commands.cluster.patch.PatchExecutor.run(PatchExecutor.java:228) ~[vcac-config-cli-7.6.0-SNAPSHOT.jar:?] at com.vmware.vcac.cli.configurator.commands.cluster.patch.PatchDeployCommand.applyPatch(PatchDeployCommand.java:376) ~[vcac-config-cli-7.6.0-SNAPSHOT.jar:?] at com.vmware.vcac.cli.configurator.commands.cluster.patch.PatchDeployCommand.installPatch(PatchDeployCommand.java:205) ~[vcac-config-cli-7.6.0-SNAPSHOT.jar:?] at com.vmware.vcac.cli.configurator.commands.cluster.patch.PatchDeployCommand.execute(PatchDeployCommand.java:143) ~[vcac-config-cli-7.6.0-SNAPSHOT.jar:?] To fix this first we need to find out where all these rpm's were present find / -iname horizon-service-rpm* /opt/vmware/share/htdocs/service/cafe/horizon-service-rpm-2.8.3.0-9188306.noarch.rpm /storage/db/patches/repo/cafe/patchRpms/horizon-service-rpm-3.1.0.0-15433743.noarch.rpm /storage/db/patches/repo/contents/vRA-patch/e0e25bfb58257b0099b38fb1bf01f16eb98632773aba60ab30785b8aaf2cf218/patch-vRA-7.5.0-10053539-HF16-Reverse/Update_Repo/package-pool/horizon-service-rpm-3.1.0.0-9963326.noarch.rpm /storage/db/patches/repo/contents/vRA-patch/18c912aea693292f2759358992952ab9b8118f271c309b6479db9944a95498/patch-vRA-7.4.11855548.12200902-HF10/Update_Repo/package-pool/horizon-service-rpm-2.8.3.0-9188306.noarch.rpm /storage/db/patches/repo/contents/vRA-patch/6791b6357f409565efa26d0c0de92093d812c3602504428510e93ed6be29bedb/patch-vRA-7.5.0-15998380-HF16/Update_Repo/package-pool/horizon-service-rpm-3.1.0.0-15448541.noarch.rpm /storage/db/patches/repo/contents/vRA-patch/dae151dc79b61db2f25bf44847a06e3e99f31f2f1f5fd83a3b61f0f852ceee/patch-vRA-7.4.7782662.12200902-HF10-Reverse/Update_Repo/package-pool/horizon-service-rpm-2.8.3.0-7960664.noarch.rpm /storage/db/patches/repo/contents/vRA-patch/c72d916c118cd455b201624fd8764c1e11f8fc33919f5f1e2b3c601d3f25ee95/patch-vRA-7.6.0-17090490-HF17/Update_Repo/package-pool/horizon-service-rpm-3.1.0.0-15433743.noarch.rpm /storage/db/patches/repo/contents/vRA-patch/0518ce3a1b5e949621252a3bf9b35ebe5835a7702ba9a18a038261815f6d0bff/patch-vRA-7.6.0-13027280-HF17-Reverse/Update_Repo/package-pool/horizon-service-rpm-3.1.0.0-12694081.noarch.rpm The rpm we are after is at the path /storage/db/patches/repo/cafe/patchRpms/horizon-service-rpm-3.1.0.0-15433743.noarch.rpm To fix the problem we had to execute this command rpm -Uvh --replacepkgs --oldpackage /storage/db/patches/repo/cafe/patchRpms/horizon-service-rpm-3.1.0.0-15433743.noarch.rpm Expected outputs are as below [master] vra-fqdn:/opt/vmware/var/log/vami # rpm -Uvh --replacepkgs --oldpackage /storage/db/patches/repo/cafe/patchRpms/horizon-service-rpm-3.1.0.0-15433743.noarch.rpm Preparing... ########################################### [100%] saas-frontend upgrade :: pre-install 1:horizon-service-rpm ########################################### [100%] saas-frontend :: upgrade Create SSL pass through port for connector Upgrade provisioning adapters Installed Provisioning Adapter. Name=Default Id=2 Installed Adapters: com.vmware.horizon.provisioning.adapters.office365.Office365ProvisioningAdapter com.vmware.horizon.provisioning.adapters.socialcast.SocialcastProvisioningAdapter com.vmware.horizon.provisioning.adapters.googleapps.GoogleAppsProvisioningAdapter com.vmware.horizon.provisioning.adapters.vchs.VchsProvisioningAdapter com.vmware.horizon.provisioning.adapters.airwatch.AirWatchProvisioningAdapter com.vmware.horizon.provisioning.adapters.mozy.MozyProvisioningAdapter deleting solr index data saas-frontend upgrade :: pre-uninstall saas-frontend :: upgrade uninstall [master] vra-fqdn:/opt/vmware/var/log/vami # Once this is done go ahead and retry the failed patch installation from VAMI and it works. horizon build versions are the same across 7.5 and 7.6. So in 7.6, a lower build version might be used Just make a note that on upgrade this might happen. And when it happens use --oldpackage to replace rpm forcefully
- Upgrading vRealize Automation 8.x to 8.2
Before we initiate an upgrade on vRealize Automation 8.x to 8.2, we have to upgrade vRLCM to 8.2 Now once we have vRLCM ready on 8.2, let's go ahead and discuss steps taken to upgrade vRA to version 8.2 User validations Validate Postgres Replication I've ensured there are no Postgres replication issues by executing the below command seq 0 2 | xargs -r -n 1 -I {} kubectl -n prelude exec postgres-{} -- chpst -u postgres repmgr node status DEBUG: connecting to: "user=repmgr-db passfile=/scratch/repmgr-db.cred connect_timeout=10 dbname=repmgr-db host=postgres-0.postgres.prelude.svc.cluster.local fallback_application_name=repmgr" Node "postgres-0.postgres.prelude.svc.cluster.local": PostgreSQL version: 10.10 Total data size: 936 MB Conninfo: host=postgres-0.postgres.prelude.svc.cluster.local dbname=repmgr-db user=repmgr-db passfile=/scratch/repmgr-db.cred connect_timeout=10 Role: primary WAL archiving: enabled Archive command: /bin/true WALs pending archiving: 0 pending files Replication connections: 2 (of maximal 10) Replication slots: 0 physical (of maximal 10; 0 missing) Replication lag: n/a DEBUG: connecting to: "user=repmgr-db passfile=/scratch/repmgr-db.cred connect_timeout=10 dbname=repmgr-db host=postgres-1.postgres.prelude.svc.cluster.local fallback_application_name=repmgr" Node "postgres-1.postgres.prelude.svc.cluster.local": PostgreSQL version: 10.10 Total data size: 933 MB Conninfo: host=postgres-1.postgres.prelude.svc.cluster.local dbname=repmgr-db user=repmgr-db passfile=/scratch/repmgr-db.cred connect_timeout=10 Role: standby WAL archiving: disabled (on standbys "archive_mode" must be set to "always" to be effective) Archive command: /bin/true WALs pending archiving: 0 pending files Replication connections: 0 (of maximal 10) Replication slots: 0 physical (of maximal 10; 0 missing) Upstream node: postgres-0.postgres.prelude.svc.cluster.local (ID: 100) Replication lag: 0 seconds Last received LSN: 2/DA9C5A00 Last replayed LSN: 2/DA9C5A00 DEBUG: connecting to: "user=repmgr-db passfile=/scratch/repmgr-db.cred connect_timeout=10 dbname=repmgr-db host=postgres-2.postgres.prelude.svc.cluster.local fallback_application_name=repmgr" Node "postgres-2.postgres.prelude.svc.cluster.local": PostgreSQL version: 10.10 Total data size: 933 MB Conninfo: host=postgres-2.postgres.prelude.svc.cluster.local dbname=repmgr-db user=repmgr-db passfile=/scratch/repmgr-db.cred connect_timeout=10 Role: standby WAL archiving: disabled (on standbys "archive_mode" must be set to "always" to be effective) Archive command: /bin/true WALs pending archiving: 0 pending files Replication connections: 0 (of maximal 10) Replication slots: 0 physical (of maximal 10; 0 missing) Upstream node: postgres-0.postgres.prelude.svc.cluster.local (ID: 100) Replication lag: 0 seconds Last received LSN: 2/DA9C5DA8 Last replayed LSN: 2/DA9C5DA8 My vRA 8.x environment is a distributed instance. hence it consists of 3 vRA nodes. Each Postgres Instance belongs to one node in the background which is constantly replicated No LB Changes Needed I have not made any changes to my Load Balancer which is managing my distributed vRA 8.2 instances. Validate Pods Health Ensure All Pods are in Running and Ready state Trigger Inventory Sync Trigger Inventory sync before the upgrade Submitting Upgrade Request and Prechecks Step:1 Create a snapshot using vRLCM Browse through the vRA environment and then select UPGRADE Step:2 This will bring you an upgrade UI where you have to select Repository Type In my case, I've downloaded 8.2 beforehand and had it ready under my Product Binaries Step:3 This pane would give you an option to trigger inventory sync if this was not performed before. If this has been done before triggering an upgrade then you may ignore it. Once Inventory Sync is complete you may proceed to the next step Step:4 In this step, one has to perform a precheck before performing an upgrade Once you click on run precheck, you would be presented with a pane where you have to agree that all manual validations have been performed. This is talking about vIDM Hardware resources Prechecks start There is a failure. VMware introduced a check to ensure /services/logs has enough space on all the vRealize Automation appliances This is a mandatory step that should not be missed. If we click on VIEW under the Recommendations pane we will be presented with a pane that has all the steps to resolve the above problem. The exception is stating that /dev/sdc which is Hard Disk 3 on the Virtual Appliance does not have enough space Remember, I've taken snapshots for my vRealize Automation Appliances before. So to extend I had to remove to snapshots Then extend Hard Disk 3 size from 8 GB to 30 GB, adding additional 22 GB of space In the below screenshot as you can see my /dev/sdc was only 8 GB Even after performing a resize the new size was not reflecting Resize was throwing an error [2020-10-08T04:41:12.050Z] Disk size for disk /dev/sdb has not changed. [2020-10-08T04:41:12.079Z] Rescanning disk /dev/sdc... [2020-10-08T04:41:12.222Z] Disk size for disk /dev/sdc has increased from 8589934592 to 32212254720. [2020-10-08T04:41:12.423Z] Resizing physical volume... Physical volume "/dev/sdc" changed 1 physical volume(s) resized / 0 physical volume(s) not resized [2020-10-08T04:41:12.559Z] Physical volume resized. [2020-10-08T04:41:12.722Z] Extending logical volume services-logs... Size of logical volume logs_vg/services-logs changed from <8.00 GiB (2047 extents) to <30.00 GiB (7679 extents). Logical volume logs_vg/services-logs successfully resized. [2020-10-08T04:41:12.903Z] Logical volume resized. [2020-10-08T04:41:12.916Z] Resizing file system... resize2fs 1.43.4 (31-Jan-2017) open: No such file or directory while opening /dev/mapper/logs_vg-services-logs [2020-10-08T04:41:13.029Z] ERROR: Error resizing file system. [2020-10-08T04:41:13.053Z] Rescanning disk /dev/sdd... [2020-10-08T04:41:13.178Z] Disk size for disk /dev/sdd has not changed. This was the same instruction present under the View pane. if you hit this exception, then we have to follow Step#3 from KB article 79925 After this step, the new size is reflected and we can now move forward as know that the prechecks will be successful As stated earlier, after resolving /services-logs partition sizing issue all prechecks validations have been successful Now when we click on next, we now head into the final phase of submitting the vRA upgrade request Once you click on submit, the upgrade is initiated Upgrade There is nothing a user has to do once an upgrade request is submitted. It takes 2 hours and 35 minutes to complete 2 stages of the upgrade Stage 1 is called as vRealize Automation Upgrade/Patch/Internal Network Range Change Stage 2 is called as productupgradeinventoryupdate Stage 1 in detail Starts the upgrade Checks vRealize Automation version Copies vIDM Admin token to vRA Initiates vRA upgrade Upload vRA upgrade pre-hook script Run vRA upgrade pre-hook script vRA upgrade status check Prepare vRA for an upgrade, this goes in a loop for a while till all the nodes are prepared Proceed to take a snapshot Extract vRA nodes Extract vMoid from VM's for vRA Take a snapshot of vRA using vMOID 13. Power On vRA using vMOID 14. Performs Hostname and IP checks until the appliance is back 15. Upgrade vRealize Automation is triggered 16. This goes in a loop with upgrade status check 17. Waits for initialization after vRA upgrade 18. Finalization That's it for Stage:1, it takes a lot of time, 2 hours and 35 minutes for a 3 node architecture at the 15th and 16th step which is quite obvious The second stage of productupgradeinventoryupdate takes hardly any milliseconds Logs to check during an upgrade These are a few logs which can be monitored or involved during the upgrade The order of the logs is not the way it's being upgraded /var/log/vmware/prelude/upgrade-YYYY-MM-DD-HH-NN-SS.log /var/log/vmware/prelude/upgrade-report-latest /var/log/vmware/prelude/upgrade-report-latest.json /var/log/deploy.log /opt/vmware/var/log/vami/vami.log /opt/vmware/var/log/vami/updatecli.log We will deep-dive from logs perspective in my next blog
- Being a Good Product Manager .....
#1 Listen to your customers, spend more time listening to your customers maniacally focus on their problems have more than a basic understanding of the customer problem (at-least have a basic sense) you don't want to end up building products no one wants to use #2 Stop listening to your customers when it comes to building solutions don't always listen to your customers. Customers are the least qualified to come up with solutions #3 Watch the Competition surfing on product hunt, reading TechCrunch does not count they are a rich source of information, better understand customers problems every time a company ships a feature, that's a user test I can learn from there is so much beta information and information from customers on it #4 Don't watch the competition stop worrying so much about what the competition is doing, in our tech bubble in our echo chamber, we froth ourselves to be in the race to implement that new technology. is that "new feature" that your competition released REALLY what your customers need? #5 Be a thief if the competition creates something that really works with their customers and it works for them, don't be afraid to take that idea though You don't have to come up with ALL the ideas, your job as a product manager is to solve your customer's problem so take ideas from other products/services and make it your own #6 Get paid most of us as PMs are working on a commercial endeavor but will the CUSTOMER pay for this feature? ask them what's their willingness to pay #7 Stop worrying about getting paid Sometimes we need to look for their social needs, emotional needs, the trust of customers. Customers want to feel connected, want to be entertained, they want to cheer for us. trust isn't built on megabytes. trust is built on understanding that we know who they are and that they believe that we have their best interest in our heart, we make them feel like a tribe #8 Speed Up! Value is destroyed through inaction. as product managers, we understand how many $ it takes, the cost it takes, how many stories points it takes, but we need to GRASP is the cost of inaction #9 Cost of delay We put off making decisions for many reasons. every-time you put off making a decision, you are destroying value. the features and the products we ship have a limited shelf life and the longer it takes them to get to market the less value they have. so every-time you're thinking of putting off that decision, you're destroying value. every time you are leaving a question that someone has gone unanswered, you're killing value. #10 Say No As a Product Manager one has to say NO. The Product Manager's role is not to make Stakeholders, CEO, Marketing Team, or Sales happy. Priority should be given to keep Customer Happy #11 Don't be a visionary Products don't need visionaries, they need product managers who are obsessed with understanding the customer's problem and solving it. so don't be a visionary, be a product manager #12 Don't confuse yourself with your customers you are not your customer. you may use your product, but you are NOT ALL your customers #13 Be Dumb Always advocate for the customer and bring your customers perspective to the product
- Difference between Wifreframes, Mockups, and Prototypes
Wireframes, mockups, and prototypes are terms that are often used synonymously, and they are indeed quite confusing. This article explains what is hidden behind each term and provide helpful prototyping tools. “Confusing wireframes with prototypes is like assuming an architectural blueprint and a display house, are the same thing.” Wireframes, mockups, and prototypes actually represent the different stages of the design flow Wireframe, a low-fidelity way to present a product, can efficiently outline structures and layouts. The wireframe is the basic and visual representation of the design. Your wireframe design doesn’t need to focus too much on minutiae, but must express design ideas and should not miss any important parts. A wireframe is like a channel that helps team member understand their projects better. Mockup, a kind of high-fidelity static design diagram, should demonstrate information frames and statically present content and functions. Unlike a wireframe, a mockup looks more like a finished product or prototype, but it is not interactive and not clickable. It is rather a graphic representation. This can be helpful, for example, to provide investors with a picture of how a finished product can be, and help team members review their project visually. Prototype is already very close to the finished product. Here, processes can be simulated and user interaction can be tested. A prototype looks very similar to the finished product. Early prototyping can save a lot of development costs and time so that the work of back-end product architecture will not be in vain because of unreasonable user interface design. A prototype is an excellent tool to obtain user feedback and to test the product.
- Behind the scenes: vRLCM upgrade 8.1 to 8.2
I always had a passion for reading logs and understanding what really happens in the background when a user clicks or performs an action through UI. Yesterday, I did a blog about vRSLCM upgrade from 8.1 to 8.2 through UI, let me decipher what happens in the background when you upgrade. The only log you would need to check is /var/log/vrlcm/vmware_vrlcm.log /var/log/bootstrap/preupdate.log /var/log/bootstrap/postupdate.log Just before you start an upgrade you would check if the upgrade is actually available or not. 2020-10-08 01:30:53.274 INFO [http-nio-8080-exec-8] c.v.v.l.u.ShellExecutor - -- Executing shell command: /opt/vmware/bin/vamicli update --check 2020-10-08 01:30:53.275 INFO [http-nio-8080-exec-8] c.v.v.l.u.ProcessUtil - -- Execute /opt/vmware/bin/vamicli 2020-10-08 01:30:55.475 INFO [http-nio-8080-exec-8] c.v.v.l.u.ShellExecutor - -- Result: [Checking for available updates, this process can take a few minutes... .. Available Updates - 8.2.0.23 Build 16982087]. Once you have verified that the upgrade is available and you trigger an upgrade there is a Postgres backup taken in the background 2020-10-08 01:34:16.418 INFO [http-nio-8080-exec-1] c.v.v.l.u.ShellExecutor - -- Executing shell command: /etc/vlcm/upgrade-va 2020-10-08 01:34:16.419 INFO [http-nio-8080-exec-1] c.v.v.l.u.ProcessUtil - -- Execute /etc/vlcm/upgrade-va 2020-10-08 01:34:21.326 INFO [http-nio-8080-exec-1] c.v.v.l.u.ShellExecutor - -- Result: [taking postgres backup before starting upgrade creating new backup file current file does not exist creating a deamon process Successfully triggered upgrade.]. There will be a check which would be performed to see if an upgrade is already running 2020-10-08 01:34:21.383 INFO [http-nio-8080-exec-6] c.v.v.l.u.ShellExecutor - -- Executing shell command: /opt/vmware/bin/vamicli update --progress --detail 2020-10-08 01:34:21.385 INFO [http-nio-8080-exec-6] c.v.v.l.u.ProcessUtil - -- Execute /opt/vmware/bin/vamicli 2020-10-08 01:34:21.588 INFO [http-nio-8080-exec-6] c.v.v.l.u.ShellExecutor - -- Result: [No update instance is running.]. At this point, we start downloading packages needed for upgrade 2020-10-08 01:34:25.647 INFO [http-nio-8080-exec-4] c.v.v.l.u.ProcessUtil - -- Execute /opt/vmware/bin/vamicli 2020-10-08 01:34:25.947 INFO [http-nio-8080-exec-4] c.v.v.l.u.ShellExecutor - -- Result: [4/92 packages downloaded. Downloading... PyYAML Done VMware-Log-Insight-Agent Done audit Done bindutils Done blackstone bzip2 bzip2-libs ca-certificates * * * vmware-studio-appliance-config vmware-studio-init which zip]. 2020-10-08 01:34:41.643 INFO [http-nio-8080-exec-3] c.v.v.l.u.ShellExecutor - -- Executing shell command: /opt/vmware/bin/vamicli update --progress --detail 2020-10-08 01:34:41.645 INFO [http-nio-8080-exec-3] c.v.v.l.u.ProcessUtil - -- Execute /opt/vmware/bin/vamicli 2020-10-08 01:34:41.814 INFO [http-nio-8080-exec-3] c.v.v.l.u.ShellExecutor - -- Result: [69/92 packages downloaded. Downloading... PyYAML Done VMware-Log-Insight-Agent Done * * * vmware-studio-appliance-config vmware-studio-init which zip]. * * * 2020-10-08 01:38:37.939 INFO [http-nio-8080-exec-10] c.v.v.l.u.ShellExecutor - -- Executing shell command: /opt/vmware/bin/vamicli update --progress --detail 2020-10-08 01:38:37.942 INFO [http-nio-8080-exec-10] c.v.v.l.u.ProcessUtil - -- Execute /opt/vmware/bin/vamicli 2020-10-08 01:38:38.072 INFO [http-nio-8080-exec-10] c.v.v.l.u.ShellExecutor - -- Result: [92 packages have been downloaded. Once all the packages have been downloaded it would start installing also it triggers /etc/bootstrap/postupdate.d/*.* scripts as well 2020-10-08 01:38:39 Main bootstrap postupdate started 2020-10-08 01:38:39 /etc/bootstrap/postupdate.d/00-00-rpm-status-check starting... Check if RPM packages are performed properly... 2020-10-08 01:38:39 /etc/bootstrap/postupdate.d/00-00-rpm-status-check done, succeeded. 2020-10-08 01:38:39 /etc/bootstrap/postupdate.d/20-disable-password-expiration starting... 2020-10-08 01:38:39 /etc/bootstrap/postupdate.d/20-disable-password-expiration done, succeeded. 2020-10-08 01:38:39 /etc/bootstrap/postupdate.d/21-update-ulimit starting... Updating ulimit... 2020-10-08 01:38:39 /etc/bootstrap/postupdate.d/21-update-ulimit done, succeeded. 2020-10-08 01:38:39 /etc/bootstrap/postupdate.d/23-postgres-conf starting... checking whether autovaccum configurations already exists. 2020-10-08 01:38:39 /etc/bootstrap/postupdate.d/23-postgres-conf done, succeeded. 2020-10-08 01:38:39 /etc/bootstrap/postupdate.d/25-start-services starting... + set -e + echo 'Reboot not required so starting all service.' Reboot not required so starting all service. + systemctl daemon-reload + systemctl restart vpostgres + touch /var/log/bootstrap/reboot-required + systemctl restart vrlcm-server + systemctl restart blackstone-spring + cp -r /var/lib/vrlcm/nginx.conf /etc/nginx/ + cp -r /var/lib/vrlcm/ssl.conf /etc/nginx/ + systemctl reload nginx + rm /var/lib/vrlcm/SUCCESS + rm -rf /tmp/dlfRepo + [[ ! -f /etc/triggerLicenseUpdate ]] + touch /etc/triggerLicenseUpdate + [[ -f /var/log/vrlcm/status.txt ]] + rm -rf /var/log/vrlcm/status.txt_backup + cp -r /var/log/vrlcm/status.txt /var/log/vrlcm/status.txt_backup + rm -rf /var/log/vrlcm/status.txt + /var/lib/vrlcm/populate.sh % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed ^M 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0^M 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0^M 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0^M 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 Traceback (most recent call last): File "/usr/lib/python2.7/logging/__init__.py", line 868, in emit msg = self.format(record) File "/usr/lib/python2.7/logging/__init__.py", line 741, in format return fmt.format(record) File "/usr/lib/python2.7/logging/__init__.py", line 465, in format record.message = record.getMessage() File "/usr/lib/python2.7/logging/__init__.py", line 329, in getMessage msg = msg % self.args TypeError: not all arguments converted during string formatting Logged from file insert.py, line 302 + [[ -f /var/lib/vrlcm/SUCCESS ]] + echo 'Creating INPROGRESS to block UI from loading...' Creating INPROGRESS to block UI from loading... + rm -rf /var/lib/vrlcm/SUCCESS + touch /var/lib/vrlcm/INPROGRESS + exit 0 After the above post-update tasks installation begins 2020-10-08 01:38:47.237 INFO [http-nio-8080-exec-2] c.v.v.l.u.ShellExecutor - -- Result: [92 packages have been downloaded. Installing...]. 2020-10-08 01:38:56.103 INFO [background-preinit] o.h.v.i.u.Version - -- HV000001: Hibernate Validator 6.0.20.Final * * * 2020-10-08 01:41:39.490 INFO [main] c.v.v.l.a.c.EngineInitializer - -- Checking for IN_PROGRESS EVENTS 2020-10-08 01:41:39.592 INFO [scheduling-1] c.v.v.l.a.g.c.CleanupProcessor - -- Initiating clean-up and purging. 2020-10-08 01:41:41.017 INFO [main] c.v.v.l.a.c.EngineInitializer - -- IN_PROGRESS EVENTS Reset is Completed 2020-10-08 01:41:41.020 INFO [main] c.v.v.v.s.c.DefaultUserInitializer - -- Initializing default users and roles 2020-10-08 01:41:41.022 INFO [main] c.v.v.l.c.l.MaskingPrintStream - -- * SYSOUT/SYSERR CAPTURED: -- Initializing default users and roles 2020-10-08 01:41:41.118 INFO [main] c.v.v.l.c.s.a.s.i.AuthNRoleServiceImpl - -- Existing Role name : VCF Role 2020-10-08 01:41:41.121 INFO [main] c.v.v.l.c.s.a.s.i.AuthNRoleServiceImpl - -- Existing Role name : Content Developer 2020-10-08 01:41:41.122 INFO [main] c.v.v.l.c.s.a.s.i.AuthNRoleServiceImpl - -- Existing Role name : LCM Admin 2020-10-08 01:41:41.129 INFO [main] c.v.v.l.c.s.a.s.i.AuthNRoleServiceImpl - -- Existing Role name : LCM Service Admin 2020-10-08 01:41:41.131 INFO [main] c.v.v.l.c.s.a.s.i.AuthNRoleServiceImpl - -- Existing Role name : Content Release Manager 2020-10-08 01:41:41.132 INFO [main] c.v.v.l.c.s.a.s.i.AuthNRoleServiceImpl - -- Existing Role name : LCM Support User 2020-10-08 01:41:41.134 INFO [main] c.v.v.l.c.s.a.s.i.AuthNRoleServiceImpl - -- Existing Role name : LCM Cloud Admin 2020-10-08 01:41:41.142 INFO [main] c.v.v.l.c.s.a.s.i.AuthNRoleServiceImpl - -- Existing Role name : Certificate Administrator 2020-10-08 01:41:41.217 INFO [main] c.v.v.l.c.s.a.s.i.AuthNUserServiceImpl - -- Existing Local Username : serviceadmin@local 2020-10-08 01:41:41.219 INFO [main] c.v.v.l.c.s.a.s.i.AuthNUserServiceImpl - -- Existing Local Username : vcfadmin@local 2020-10-08 01:41:41.220 INFO [main] c.v.v.l.c.s.a.s.i.AuthNUserServiceImpl - -- Existing Local Username : admin@local 2020-10-08 01:41:41.227 INFO [main] c.v.v.v.s.c.DefaultUserInitializer - -- Initializing default users and roles completed 2020-10-08 01:41:41.229 INFO [main] c.v.v.l.c.l.MaskingPrintStream - -- * SYSOUT/SYSERR CAPTURED: -- Initializing default users and roles completed 2020-10-08 01:41:41.231 INFO [main] c.v.v.v.s.c.ClientResourceInitializer - -- Loading config params for setting Client Resource 2020-10-08 01:41:41.390 INFO [main] c.v.v.v.s.c.ClientResourceInitializerUtil - -- Truststore initialized with vidm cert. * * * 2020-10-08 01:41:43.473 WARN [main] c.v.v.l.l.u.PostUpgradeTriggers - -- Not processing post upgrade triggers yet as reboot is pending. 2020-10-08 01:41:43.473 INFO [main] c.v.v.l.l.e.PostEveryBootTriggers - -- **************Invoke triggerPostEveryBoot started************** 2020-10-08 01:41:43.476 INFO [main] c.v.v.l.l.e.PostEveryBootTriggers - -- **************Invoke triggerPostEveryBoot completed************** 2020-10-08 01:41:43.476 INFO [main] c.v.v.l.l.LcmUpdateInitializer - -- **************Invoke triggerPostUpdate started************** 2020-10-08 01:41:43.497 WARN [every-boot-thread] c.v.v.l.l.e.PostEveryBootTriggers - -- Not processing post everyboot triggers yet as reboot is pending. 2020-10-08 01:41:43.493 INFO [main] c.v.v.l.l.s.SystemServiceImpl - -- Restarting server detected 2020-10-08 01:41:43.506 INFO [main] c.v.v.l.l.s.SystemServiceImpl - -- POST UPDATE invoked....false 2020-10-08 01:41:43.506 INFO [main] c.v.v.l.l.s.SystemServiceImpl - -- Restarting server detected 2020-10-08 01:41:43.507 INFO [main] c.v.v.l.l.s.SystemServiceImpl - -- INPROGRESS file not available. Skip Patching instructions 2020-10-08 01:41:43.508 INFO [main] c.v.v.l.l.LcmUpdateInitializer - -- **************Invoke triggerPostUpdate completed************* Populates or Updates the content 2020-10-08 01:42:10.924 INFO [scheduling-1] c.v.v.l.u.ZipUtility - -- Successfully populated file paths from the file system 2020-10-08 01:42:10.926 INFO [scheduling-1] c.v.v.l.u.ZipUtility - -- Zipping to dir/var/log/vrlcm/purge/08-10-2020-01-41.zip * * 2020-10-08 01:42:21.671 INFO [http-nio-8080-exec-1] c.v.v.l.c.c.ContentRepositoryController - -- Creating content operation. * 2020-10-08 01:42:21.815 INFO [http-nio-8080-exec-1] c.v.v.l.c.s.ContentDownloadUrlServiceImpl - -- PATH ::adapterconfiguration.vmfx * 2020-10-08 01:42:21.849 INFO [http-nio-8080-exec-5] c.v.v.l.c.c.ContentRepositoryController - -- Creating content operation. * 2020-10-08 01:42:21.866 INFO [http-nio-8080-exec-5] c.v.v.l.c.s.ContentDownloadUrlServiceImpl - -- PATH ::vravainstall.vmfx * 2020-10-08 01:42:49.154 INFO [http-nio-8080-exec-1] c.v.v.l.c.c.ContentRepositoryController - -- Creating content operation. 2020-10-08 01:42:49.167 INFO [http-nio-8080-exec-1] c.v.v.l.c.s.ContentDownloadUrlServiceImpl - -- URL :: /systemflowrepo/system/flow/deletelicenseusage.vmfx 2020-10-08 01:42:49.170 INFO [http-nio-8080-exec-1] c.v.v.l.c.s.ContentDownloadUrlServiceImpl - -- URL :: /systemflowrepo/system/flow/deletelicenseusage.vmfx 2020-10-08 01:42:49.170 INFO [http-nio-8080-exec-1] c.v.v.l.c.s.ContentDownloadUrlServiceImpl - -- PATH LENGTH :: 5 2020-10-08 01:42:49.171 INFO [http-nio-8080-exec-1] c.v.v.l.c.s.ContentDownloadUrlServiceImpl - -- PATH LENGTH TEST PASSED 2020-10-08 01:42:49.172 INFO [http-nio-8080-exec-1] c.v.v.l.c.s.ContentDownloadUrlServiceImpl - -- SEARCHINE FOR :: REPO -> systemflowrepo :: NAME -> __ROOT__ :KXKXKXKX PARENT -> f1aea2ef-68a6-4bea-8ebe-8d786b7274b0 2020-10-08 01:42:49.174 INFO [http-nio-8080-exec-1] c.v.v.l.c.s.ContentDownloadUrlServiceImpl - -- PATH :: 2020-10-08 01:42:49.175 INFO [http-nio-8080-exec-1] c.v.v.l.c.s.ContentDownloadUrlServiceImpl - -- PATH ::systemflowrepo 2020-10-08 01:42:49.175 INFO [http-nio-8080-exec-1] c.v.v.l.c.s.ContentDownloadUrlServiceImpl - -- PATH ::system 2020-10-08 01:42:49.176 INFO [http-nio-8080-exec-1] c.v.v.l.c.s.ContentDownloadUrlServiceImpl - -- PATH ::flow 2020-10-08 01:42:49.176 INFO [http-nio-8080-exec-1] c.v.v.l.c.s.ContentDownloadUrlServiceImpl - -- PATH ::deletelicenseusage.vmfx 2020-10-08 01:42:49.178 INFO [http-nio-8080-exec-1] c.v.v.l.c.s.ContentDownloadUrlServiceImpl - -- ADDING NODE - PATH LENGTH :: 5 2020-10-08 01:42:49.178 INFO [http-nio-8080-exec-1] c.v.v.l.c.s.ContentDownloadUrlServiceImpl - -- SEARCHINE FOR :: REPO -> systemflowrepo :: PARENT -> bf43d854-9cd7-4012-be70-2d7445a0edab :: NAME -> system 2020-10-08 01:42:49.180 INFO [http-nio-8080-exec-1] c.v.v.l.c.s.ContentDownloadUrlServiceImpl - -- SEARCHINE FOR :: REPO -> systemflowrepo :: PARENT -> b05deb67-781f-4273-8344-b5680daa1740 :: NAME -> flow 2020-10-08 01:42:49.182 INFO [http-nio-8080-exec-1] c.v.v.l.c.s.ContentDownloadUrlServiceImpl - -- SEARCHINE FOR :: REPO -> systemflowrepo :: PARENT -> b997b4a1-755b-4e31-9917-6aa25e188d25 :: NAME -> deletelicenseusage.vmfx 2020-10-08 01:42:49.184 INFO [http-nio-8080-exec-1] c.v.v.l.c.s.ContentDownloadUrlServiceImpl - -- ADDING NODE :: 4 Properties are created or updated 2020-10-08 01:42:50.122 INFO [http-nio-8080-exec-5] c.v.v.l.d.i.s.InventoryQueryServiceImpl - -- REQUEST RESOURCE :: { "vmid" : "0c496316-394b-4e83-bd7b-950b9094ccde", "transactionId" : null, "source" : null, "name" : "Lifecycle Operations", "reference" : "application", "createdOn" : null, "children" : [ ], "properties" : [ { "vmid" : "3356a81a-47e7-45fd-a6a7-7c57ef021992", "transactionId" : null, "value" : "lcops", "source" : null, "reference" : "vmid", "inputBy" : "USER", "secured" : "false" }, { * * 2020-10-08 01:42:50.929 INFO [http-nio-8080-exec-5] c.v.v.l.d.i.s.InventoryQueryServiceImpl - -- PROPERTY TO BE CREATED OR UPDATED :: { "vmid" : "2b399f7a-82c7-4d1a-883f-13c5d11c2bb7", "transactionId" : null, "value" : "/lcm/marketplace", "source" : null, "reference" : "appUrl", "inputBy" : "USER", "secured" : "false" } 2020-10-08 01:42:50.935 INFO [http-nio-8080-exec-5] c.v.v.l.d.i.s.InventoryQueryServiceImpl - -- PROPERTY UPDATED Updates these ID's , vRLCM codes 2020-10-08 01:42:51.673 INFO [http-nio-8080-exec-1] c.v.v.l.a.g.s.EngineMessageServiceImpl - -- Updating the existing : LCMCOMMON80000 2020-10-08 01:42:51.683 INFO [http-nio-8080-exec-1] c.v.v.l.a.g.s.EngineMessageServiceImpl - -- Updating the existing : LCMCOMMON80001 2020-10-08 01:42:51.685 INFO [http-nio-8080-exec-1] c.v.v.l.a.g.s.EngineMessageServiceImpl - -- Updating the existing : LCMCOMMON80002 2020-10-08 01:42:51.686 INFO [http-nio-8080-exec-1] c.v.v.l.a.g.s.EngineMessageServiceImpl - -- Updating the existing : LCMCOMMON80003 * * 2020-10-08 01:42:52.137 INFO [http-nio-8080-exec-2] c.v.v.l.a.g.s.EngineMessageServiceImpl - -- Updating the existing : LCMMYVMWARE60021 2020-10-08 01:42:52.140 INFO [http-nio-8080-exec-2] c.v.v.l.a.g.s.EngineMessageServiceImpl - -- Updating the existing : LCMMYVMWARE60022 2020-10-08 01:42:52.149 INFO [http-nio-8080-exec-2] c.v.v.l.a.g.s.EngineMessageServiceImpl - -- Updating the existing : LCMMYVMWARE60030 * * 2020-10-08 01:42:53.598 INFO [http-nio-8080-exec-10] c.v.v.l.a.g.s.EngineMessageServiceImpl - -- Updating the existing : LCMVIDM73102 2020-10-08 01:42:53.602 INFO [http-nio-8080-exec-10] c.v.v.l.a.g.s.EngineMessageServiceImpl - -- Updating the existing : LCMVIDM73103 2020-10-08 01:42:53.606 INFO [http-nio-8080-exec-10] c.v.v.l.a.g.s.EngineMessageServiceImpl - -- Updating the existing : LCMVIDM73104 * * 2020-10-08 01:42:57.730 INFO [http-nio-8080-exec-7] c.v.v.l.a.g.s.EngineMessageServiceImpl - -- Updating the existing : LCMVCF18104 2020-10-08 01:42:57.731 INFO [http-nio-8080-exec-7] c.v.v.l.a.g.s.EngineMessageServiceImpl - -- Updating the existing : LCMVCF18105 2020-10-08 01:42:57.733 INFO [http-nio-8080-exec-7] c.v.v.l.a.g.s.EngineMessageServiceImpl - -- Updating the existing : LCMVCF18106 * * 2020-10-08 01:42:57.822 INFO [http-nio-8080-exec-6] c.v.v.l.c.l.MaskingPrintStream - -- * SYSOUT/SYSERR CAPTURED: -- Bulk Imported Role Ids : [8b40cff1-1e4a-4b2b-a059-24de09d3fe37, 33c6d7bd-51f3-41c3-b87c-a63d86fcdf44, 5b821586-7ea0-4093-a4e4-08e47a6ff898, 8ee54b16-2bcc-4f29-bc22-ef2963ae34cc, 155fdcce-f11d-46f8-b2bb-2da307df4044, acd74bb8-8689-4b3c-acbc-abe8a8ce91da, 19a43569-1fd0-4817-94ee-6a24b5a55a23, bd6fcbea-c81a-47a8-9e46-e4ed5aaf28e7] Once the uploaded content and license associations complete, vRLCM is now rebooted. 2020-10-08 01:43:03.056 INFO [http-nio-8080-exec-9] c.v.v.l.c.c.ContentRepositoryController - -- Received upload content request with vmid :: vravainstall * * 2020-10-08 01:43:03.329 INFO [http-nio-8080-exec-8] c.v.v.l.c.c.ContentRepositoryController - -- Received upload content request with vmid :: vravainitializecluster * * 2020-10-08 01:43:03.418 INFO [http-nio-8080-exec-1] c.v.v.l.c.c.ContentRepositoryController - -- Received upload content request with vmid :: vravaretrustvidm * * 2020-10-08 01:45:37.714 INFO [scheduling-1] c.v.v.l.a.c.MachineRegistry - -- GETTING MACHINE FOR THE KEY :: validateandupdateassoc 2020-10-08 01:45:37.715 INFO [scheduling-1] c.v.v.l.a.c.MachineRegistry - -- QUERYING CONTENT :: SystemFlowInventory::flows::flow->validateandupdateassoc 2020-10-08 01:45:37.715 INFO [scheduling-1] c.v.v.l.d.i.u.InventorySchemaQueryUtil - -- GETTING ROOT NODE FOR :: SystemFlowInventory 2020-10-08 01:45:37.757 INFO [scheduling-1] c.v.v.l.a.c.MachineRegistry - -- URL :: /system/flow/validateandupdateassoc.vmfx 2020-10-08 01:45:37.758 INFO [scheduling-1] c.v.v.l.c.c.ContentDownloadController - -- INSIDE ContentDownloadControllerImpl 2020-10-08 01:45:37.758 INFO [scheduling-1] c.v.v.l.c.c.ContentDownloadController - -- REPO_NAME :: /systemflowrepo 2020-10-08 01:45:37.758 INFO [scheduling-1] c.v.v.l.c.c.ContentDownloadController - -- CONTENT_PATH :: /system/flow/validateandupdateassoc.vmfx 2020-10-08 01:45:37.758 INFO [scheduling-1] c.v.v.l.c.c.ContentDownloadController - -- URL :: /systemflowrepo/system/flow/validateandupdateassoc.vmfx 2020-10-08 01:45:37.759 INFO [scheduling-1] c.v.v.l.c.c.ContentDownloadController - -- Decoded URL :: /systemflowrepo/system/flow/validateandupdateassoc.vmfx 2020-10-08 01:45:37.762 INFO [scheduling-1] c.v.v.l.c.c.ContentDownloadController - -- ContentDTO{BaseDTO{vmid='validateandupdateassoc', version=8.1.0.0} -> repoName='systemflowrepo', contentState='PUBLISHED', url='/systemflowrepo/system/flow/validateandupdateassoc.vmfx'} 2020-10-08 01:45:37.764 INFO [scheduling-1] c.v.v.l.a.c.EventProcessor - -- Responding for Edge :: OnValidateAndAddLicensesAssocSuccess 2020-10-08 01:45:37.764 INFO [scheduling-1] c.v.v.l.a.c.EventProcessor - -- State to find :: com.vmware.vrealize.lcm.plugin.core.licensing.task.ValidateAndUpdateAssocTask 2020-10-08 01:45:37.765 INFO [scheduling-1] c.v.v.l.a.c.EventProcessor - -- State to find :: com.vmware.vrealize.lcm.platform.automata.service.task.FinalTask 2020-10-08 01:45:37.769 INFO [scheduling-1] c.v.v.l.a.c.EventProcessor - -- Invoking Task :: com.vmware.vrealize.lcm.platform.automata.service.task.FinalTask 2020-10-08 01:45:37.770 INFO [scheduling-1] c.v.v.l.a.c.EventProcessor - -- Injecting Bean :: stateMachineInstanceService 2020-10-08 01:45:37.771 INFO [scheduling-1] c.v.v.l.a.c.EventProcessor - -- Injecting Bean :: engineRequestService 2020-10-08 01:45:37.771 INFO [scheduling-1] c.v.v.l.c.t.EventExecutionTelemetryUtil - -- Start Instrumenting EventMetadata. 2020-10-08 01:45:37.771 INFO [scheduling-1] c.v.v.l.c.t.EventExecutionTelemetryUtil - -- Stop Instrumenting EventMetadata. This is where you see final phase under preupdate.log 2020-10-08 01:45:41 /etc/bootstrap/postupdate.d/25-start-services done, succeeded. 2020-10-08 01:45:41 /etc/bootstrap/postupdate.d/60-update-upgrade-status starting... 2020-10-08 01:45:41 /etc/bootstrap/postupdate.d/60-update-upgrade-status done, succeeded. 2020-10-08 01:45:41 /etc/bootstrap/postupdate.d/70-blackstone-upgrade.sh starting... 2020-10-08 01:45:41 /etc/bootstrap/postupdate.d/70-blackstone-upgrade.sh done, succeeded. 2020-10-08 01:45:41 /etc/bootstrap/postupdate.d/80-cleanup-patch-history starting... vami upgrade is successful 2020-10-08 01:45:41 /etc/bootstrap/postupdate.d/80-cleanup-patch-history done, succeeded. 2020-10-08 01:45:41 /etc/bootstrap/postupdate.d/81-postgres-autovacuum starting... auto vacuum setting for request table ALTER TABLE 2020-10-08 01:45:41 /etc/bootstrap/postupdate.d/81-postgres-autovacuum done, succeeded. 2020-10-08 01:45:41 /etc/bootstrap/postupdate.d/90-enable-fips-mode starting... 2020-10-08 01:45:41 /etc/bootstrap/postupdate.d/90-enable-fips-mode done, succeeded. 2020-10-08 01:45:41 /etc/bootstrap/postupdate.d/99-reboot-va starting... Creating SUCCESS before rebooting VA... Rebooting the VA.. 2020-10-08 01:45:41 /etc/bootstrap/postupdate.d/99-reboot-va done, succeeded. 2020-10-08 01:45:42 main bootstrap postupdate done When the appliance is back online approximately 40 seconds later you would see services starting Executes Post vRLSLCM Upgrade operations 2020-10-08 01:47:55.946 INFO [main] c.v.v.l.l.u.RequestSubmissionUtil - -- ++++++++++++++++++ Creating request to Request_Service :::>>> { "vmid" : "616e7c05-7c51-489d-9e01-d8096bee64c8", "transactionId" : null, "requestName" : "postlcmupgrade", "requestReason" : "Executing post vRSLCM upgrade operations - Post vRSLCM Upgrade Request", "requestType" : "POST_LCM_UPGRADE", "requestSource" : null, "requestSourceType" : "user", "inputMap" : { }, "outputMap" : { }, "state" : "CREATED", "executionId" : null, "executionPath" : null, "executionStatus" : null, "errorCause" : null, "resultSet" : null, "isCancelEnabled" : null, "lastUpdatedOn" : 1602121675936, "createdBy" : null } States that all update triggers has been completed 2020-10-08 01:48:11.856 INFO [main] c.v.v.l.l.u.PostUpgradeTriggers - -- Processed all upgrade triggers. 2020-10-08 01:48:11.857 INFO [main] c.v.v.l.l.e.PostEveryBootTriggers - -- **************Invoke triggerPostEveryBoot started************** 2020-10-08 01:48:11.862 INFO [main] c.v.v.l.l.e.PostEveryBootTriggers - -- **************Invoke triggerPostEveryBoot completed************** 2020-10-08 01:48:11.863 INFO [main] c.v.v.l.l.LcmUpdateInitializer - -- **************Invoke triggerPostUpdate started************** 2020-10-08 01:48:11.865 INFO [scheduling-1] c.v.v.l.r.c.RequestProcessor - -- Number of request to be processed : 3 2020-10-08 01:48:11.869 INFO [every-boot-thread] c.v.v.l.l.e.PostEveryBootTriggers - -- Processing 3 everyboot triggers. 2020-10-08 01:48:11.912 INFO [main] c.v.v.l.l.s.SystemServiceImpl - -- Restarting server detected 2020-10-08 01:48:11.918 INFO [main] c.v.v.l.l.s.SystemServiceImpl - -- POST UPDATE invoked....false 2020-10-08 01:48:11.919 INFO [main] c.v.v.l.l.s.SystemServiceImpl - -- Restarting server detected 2020-10-08 01:48:11.919 INFO [main] c.v.v.l.l.s.SystemServiceImpl - -- INPROGRESS file not available. Skip Patching instructions 2020-10-08 01:48:11.925 INFO [main] c.v.v.l.l.LcmUpdateInitializer - -- **************Invoke triggerPostUpdate completed************** Post this your upgrade is now complete
- Upgrading your vRealize Lifecycle Manager from 8.1 to 8.2
VMware a few days back announced vRealize Lifecycle Manager 8.2. Let's discuss how you can upgrade your existing version of vRLCM to the new version. Step:1 Login into vRLCM 8.1 (the version I have in my lab ) Browse to Settings, click on System Upgrade Then click on check for upgrade and you would see if there is the latest version available to upgrade Step:2 Create a Snapshot Step:3 Now that your snapshots are done. Let's kick off an upgrade, an online one. When you click on upgrade it would start downloading packages. 92 of them. Then it starts installing these packages Post upgrade phase kicks in, it's really nice to see this displays new features what vRLCM can deliver in version 8.2 It just takes 15 - 20 minutes and your vRLCM is now on version 8.2 Step:4 When one browses to Requests pane, you can see few requests which completed in the background as post-upgrade tasks Under System Details, you can now see the build has now changed to vRLCM 8.2 Let's discuss new features in 8.2 in the next blog.......
- vRealize Automation 8.2 Enhancements
Support for Custom Internal Pods and Services CIDR. This can be done through Easy Installer vRA Install Wizard in LCM UI Update Internal CIDR ( Day-2 Operation ) Upgrade/Patch precheck enhancements An additional enhancement to check services log partition User consent for log bundle collection on vRA upgrade failure vRA NTP Support vRA Graceful Shutdown and Startup vRA 8.x Catalog App creation in vIDM
- Comprehensive Guide to implement vRealize Automation 8.x Clustered environment
In my last post, I've discussed how one would deploy a vIDM cluster. Now let's see what does one need to deploy a vRealize Automation 8.x clustered instance Load Balancer Configuration I'm using NSX-V as my Load Balancer version 6.4.7 Application Profile Service Monitor Pools Virtual Servers One more thing to remember, create an application rule and then map it to workspace one virtual server configuration as shown below, why is this needed, I'll explain this later Once all of these are done, you are pretty much done with the load balancer configuration needed to deploy a distributed instance of vRealize Automation 8.x Now let's go to the next phase Configure Certificate and Generate vRA 8.x environment creation request As a first step, enter all details needed to generate a certificate. Remember, I am using a default certificate generated by vRLCM so that I can replace it with a CA-signed certificate later Once the certificate is generated, then create a new vRA environment Once the vRA 8.1 Cluster option is selected, we will click next and then accept EULA After EULA, we have to add/apply a license Enter Certificate information Enter Infrastructure information Enter Network Information Perform PreCheck. All Validations must be successful I have attached the precheck report here. Download and review if you would like to Review all the details and then submit a request Stages in vRA Distributed Installation We have 11 stages in total for a distributed vRA deployment Stage 1: validateenvironmentdata Stage 2: infraprevalidation Stage 3: vravaprevalidation Stage 4: vravainstall Stage 5: vravajoincluster Stage 6: vravajoincluster Stage 7: vravasetlicense Stage 8: vravainstallcertificate Stage 9: vravainitializecluster During this phase, I did encounter issues at a stage where it does vravainitialize Basically, at a point where it was trying to initialize client secrets, it was failing prematurely This is the reason we created Application rules while trying to configure the Load Balancer. Once this was configured, we did retry the installation again After ensuring the application rule is present you can now see the stage is has been completed successfully Stage 10: environmentupdate Stage 11: notificationschedules vRealize Automation 8.x Clustered Deployment is now completed Logs to monitor during deployment vRA Appliances : /var/log/deploy.log vRLCM Appliance : /var/log/vrlcm/vmware_vrlcm.log Post Deployment Checks Ensure the status of all pool members is shown as UP This is how your LCM environment pane would look Explore your vRA environment Access your vRA Load Balancer and it responds back with the login page In the next few blogs, we shall explore the vRA 8.x configuration and using it with a few advanced blueprints
- vRA services health check failed. For more information, see Services page
Though all services on my vRealize Automation node are showing up as "REGISTERED", I would see an exception stating "vRA services health check failed. For more information, see Services page" There was a vRA hardening which was done and post that this issue was seen This is the script inside an appliance responsible for the above exception /opt/vmware/share/htdocs/service/café/utils.py This the code responsible def vra_healthcheck(): url = 'http://127.0.0.1:8082/vcac/services/api/health' code = 0 try: request = urllib2.Request(url) response = urllib2.urlopen(request) code = response.getcode() except urllib2.HTTPError as e: code = e.code except urllib2.URLError as e: pass return True if code >= 200 and code < 300 else False When this issue is seen if you just execute a curl to check the health of services, it would return an exception stating the combination of host and port requires TLS. curl -kv http://127.0.0.1:8082/vcac/services/api/health * Expire in 0 ms for 6 (transfer 0x2595030) * Trying 127.0.0.1... * TCP_NODELAY set * Expire in 200 ms for 4 (transfer 0x2595030) * Connected to 127.0.0.1 (127.0.0.1) port 8082 (#0) > GET /vcac/services/api/health HTTP/1.1 > Host: 127.0.0.1:8082 > User-Agent: curl/7.64.0-DEV > Accept: */* > < HTTP/1.1 400 < Content-Type: text/plain;charset=ISO-8859-1 < Connection: close < Bad Request This combination of host and port requires TLS. * Closing connection 0 To fix this issue we have to change the code in the above mentioned script as follows Script Path /opt/vmware/share/htdocs/service/café/utils.py def vra_healthcheck(): url = 'https://127.0.0.1:8082/vcac/services/api/health' code = 0 try: request = urllib2.Request(url) response = urllib2.urlopen(request) code = response.getcode() except urllib2.HTTPError as e: code = e.code except urllib2.URLError as e: pass return True if code >= 200 and code < 300 else False So your just change the URL section from HTTP to HTTPS, the exception seen in the UI is gone
- RHEL8 Guest Customization failures due to missing Perl module
Recently, we did encounter a problem while trying to customize RHEL8 based virtual machine on the vCenter 6.7 platform From the above error, we could infer that there is a Perl module CPAN which is missing CPAN module can be installed using the below command dnf install cpan -y For detailed instructions Click Here Once done, Guest Customization works as expected.
- Increasing Login Session Timeout value for vRealize Suite Lifecycle Manager
You cannot change the Login Session timeout value for vRealize Suite Lifecycle Manager 2.x or 8.x By default session timeout is set to 30 minutes This is hard-coded in the product and cannot be changed







