Wednesday, May 13, 2015

Changing vRealize Automation All Services Icon


*******************************************************************************
******                                Update Information                               ******
******        Check the offical supported procedure for vRA 7.1      ****** ************************************************************
*******************


This post is a contribution of a good fellow that does not take no for an answer. 
For him, no challenge is big enough when it comes to achieve a client’s requirement.
I keep telling him to start a blog of his own to share all these amazing solutions, until there I’ll be glad to share his solutions with the community here, please, meet the Brazil VMware Sr. Consultant Henrique Navarro.

 The challenge this time was to change vRealize Automation’s All Services Icon.


That blue boring Lego block always pops up when the user has more than one service entitled, nothing more natural than the desired to change it.

Well it turns out there’s no easy way to change that, in fact VMware’s official answer is: 
It cannot be done and also it’s not supported !!!

Let me rephrase it before we move on.
- VMware does not support the procedure bellow.
- It should not be reproduced on a Production Environment.
- Take it at your own risk.

But if you are brave enough, Henrique figured out how accomplish that.

First it is not just a simple image file replacement, the vRA’s engineers made it encoded on the configuration files.

So we used a image converting tool to convert the default All Services Icon to a base64 code.
Also convert the new image into a base64 code, (have it 40x40 pixels)


Don’t forget to take a backup of the entirely directory before proceed:
/usr/lib/vcac/server/webapps/catalog-service/resources/selfservice

Since we could not identify what configuration file is responsible for bringing the icon alive, we decided to change all references of that code on all files.

Run the following command, which will looks for any reference of the original base64 code and replace with the new image’s base64 code.

find /usr/lib/vcac/server/webapps/catalog-service/resources/selfservice -type f -exec sed -i 's|"Base64Original"|"Base64Nova|g' {} \;

And that’s it, you can log in and your new logo will show up


A few additioal comments:
If you have a high available implementation, perform the steps above on all your vRA appliances.
Any vRA upgrade might overwrite those files and bring the original All Services icon back

Here’s the default icon location:
/usr/lib/vcac/server/webapps/catalog-ui-self-service/WEB-INF/classes/com/vmware/vcac/catalog/common/genericService.png

Here’s the original base64 code in case you wanna give it a try.
iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM\/rhtAAAJNUlEQVR42u3Yd1RUVx4HcFTmzcAwgIgKCPYCiKDYCK5RY+IuYKErICAoTTFREVQsNJEuZRAQBFFEihI1ttiyEVGjxljQGNpQglh2Tzb5I5uzZ6Pf\/d3HjFIFoif7j++c3zkwPOZ+3v397n33XiWl99f7q09XPwplChUKNQpJh2CfqVII5Pe+80bF8kYUwX4Xyf\/O7uPM\/VL\/Zrg674Gue\/pvwsXRUAS3aCfE9vEvtVdkN+h67d0qh\/Z\/W9wAhpi6Zu8qk8D868O9M39RhAGFvnf2s5G+uWf1XZOsGXiyb7KNxDH+5TCvTMyN+hKOOZWw31+H+Zm1mBx7B8ODTkPiIiVsNCTL0nOFk2xGK02YJXkbqGiMf269im0M9L2yMG1zGT4IOwvz7ecwLugEhvochKpjEt\/gQNc9xdPXHypjPaXnnY3p0RWwkNbAPKUaE+O\/x9id96ATfAlit2y+N0XOe14McUt9yllvL1XSm6ot74w+X2rsy\/RXZsM25wdY5zXhgz31ME9mjT581ajQLh4ip9SXI7wyarU9sqDnk8+jOZZe21gIl8TwP7Pv4mzjIXCSQs\/3ILyK6l9YbDvZwFmFXeNmuhm3KZUu66y\/\/AahvN5YjQwe6pUDVft4vo5Yb6ktk0K8LB0qTik8jIdQo0LntBcfx1z6Wc0hHpvOPMeS3DqM214B\/Y3nMWj1cYi9i9DfNR\/9XA9AsCQOIrd90A29BpcCGRYkXW7mbMIfKs9aPU\/efjukSEl\/opbAwstcMD9ktXBBaJbAevsF9g+cTcQ\/GcxzfyVmJ9yAbmAZBvkVQ927AKLleRC47uMbVXZIgapTMj6kexTApYXNfG9P3HUHBpu+hkbAcR6nAArpfzU2lkNt\/WVYZT2Cw967\/1K3j\/+H8ichQfKB14rkFoZ9R6Prd02H2IfGgflVH0WeeuSRe7fF93D1TxtOtrxQAD1LWjAnqwGmcZUYufUKtAJPQdm9kG+QAUWOyZgSdRVq9nG9BOYQ7muofPYVuLWXaBDdhm+J7D\/qjnGPlT8OCZNncAABI38d7J6B0C+fY8vZ5wg+\/RxrTzyF3+dP4F78mE+tR979HoFCAppFVvD3T910FPb5ss5Al3wMcM5sLQuX7FZc4EUor7nAh96WCgQea34xfNXeOoH1jvPCGR7jGfBnVryG60oQQk\/uTzDvIy1YTjinQ818YZsFlXQPdKFU2yZC6JCMcdH3YRx8HOqOCVS3cVBflgYN1wyoLU2D0D6BBsou\/vsE9kkQrTkHQRucIsTrvoLbIRlMN5Q2c3\/dmtsKpKdWsYvDhHXFfO+5Fj2GI+EW5\/8I4\/UlfK9ouaRCx+cAdPyLMWhVAcSuWRDYJb5qdKBvCUZH3cGIiO8wKuwmRoWcx9A1R6HtWwwNqlmxx36IPAugEnAaok8vteJ8T0A\/5AJMI8qxKKsSTnlV8DvSRB31jDL5FDQGGnggA5hFXYOaUxLfkz5lT7AovwkL9jVi7t4GWCbdhVHISWivyIHm8ixIXPdAdakUqs5SaKwshEHoFYyOJFz4bejv+BZ6225iaOg30N58DZrrL0Ij8AwmEeIviTexMOM+vIobsPZ4CzaceobVx57Ao+QxnKlDrGgam0ftsdJgUAI+fgVkH7IiF9MoNA05BjdKMUsp+3yGtA7TUmswheY\/06QfYEITr1HsA0zYdZ+fC0cRTifoAozCyvnesMqohF1uFVaVNFJPPEPg8afwPtoCp8JWBHvwGen1sKBg399VtAOyFE9Pq4VlRj1Mtl3kUzovrhw2+5t43NSUGkzeXYXx4d9gQtg16u2rsEy8jQXprDca4V\/WjI0EWXn0CRxYaRz8EZaZDZiSVg\/DpDoY766DSXIdTFNkmJwqg3maDNOkslZkb4GsdxhmFiEnhp6DiGb\/2Um3MF96H7Z51fAoauQRvjSIXKh3F1BPWGY1wowQOrtqoBdTA\/3YWgyPq8XI+FqMSajFuMQ6TCCgEQEnEnBSsgxmhJxCyKmEnC6tx8z0XgJNEx\/x782Z9GQstRKqR8\/iJszNacJYamQoIcTh1ZBEVEMjshoDo6oxaGcNBkfX8H\/TpRhGSANCjiDkqO6QBDRL7RnZCWgc9xBmVF8snRbpMkick+FBQG5HFR9CCpWwqjcjCTiMgAZxXSO7TbW0cz12ArKCZ6sOVmvTUmtpRLcHshARUDW8CmoEVKfQJKQWIbUJOYSQXaV6NAHHJtRhPCH7Uo+dgGOi7sIwphImCd9jCiHVnHbDvag9sBOSgJoE1NrZCyQBxxPQcLcCKeORr1Mta5dqn9IOwBERt\/kpw5Cmj0kJjyAmoGthYyfga2THVFe3pjq6j\/XYzaDxpimqHVB\/xy2MpLfAuOh7MIp7ALHjbiw91DWw9\/XYh0GT1h7pWdQWSC9vna03YEBvATbpjqd6VCWg48GGLoE8koAq4V0ju011fO\/r0f1wQ3sgey3pbruB4WHf8u9Utji1ewOwy3rs7aBR1OMbkC6FHYADgysweMt1\/j3K3qkqDkm0WHgzsC+DpsdUd5jEnQs6ACUbLkMrpAJDCDls+y0euDCvZ2Cv67GPk7jjgfpXwF\/Yckl17QWoB5Vj0Kar\/EpExSERVrn1PQJf1eMfmMTHErK7erTNVwBtwh5wS2LB0R5BvI5Wvhuv8PUosk\/EJzmyXgHfahJP7HrQLMqTQWAT8VSJs3A3EjgkV7CFp9CrCGLaJ2gGX+GBH2X3HvguJ3FWj9a5MtaDTxSnBxKBQ8p1fh\/r8zlfj0ICzsmq6xOw+3qs7vWiYkzkbdpSlMMw9Px\/hVZbMxVbT7YnVidkI2eXAFHAKdrzJmB2H4F9GTQ6Efeo1q9D+9MvmrX8Sm8NXJFXys0OsOVmepjKD5rE8j3y63MYbq6\/CWeX+BvnmAoGtcyo7TOw0yS+4yHUg69CEnjmJ0lAWZXYM69UaBMRoPyh34dtIKpyjHJP5zTK9BSm3JKYl6wmZ6b3ERh8k7aR53\/l\/E\/WCd1yjwgdkzYqz\/aZw7LT5uhNJD9+6\/9Hj+A4wcJdPgw5XVrTNWTzHXCf\/f3fnN+JZs6z4AvOeU+CcF7g4ncNedN5oAqN7MPGtPTiNlz5nUGEK4vLBe770ztAFOeDnHyw9fuzTkr7y2tC3Aai8v+AvL\/e9vofN9xQxuCd18YAAAAASUVORK5CYII=
 

2 comments:

Anonymous said...

Hi, your cmd above is not displaying correctly. The sed cmd is showing as sed -i 's|||g' which I imagine is meant to read sed -i 's|oldBase64ImageString|new Base64ImageString|g'

Eduardo Meirelles da Rocha said...

Good catch, I just fixed the code.
thanks a lot

Post a Comment

Who am I

My photo
I’m an IT specialist with over 15 years of experience, working from IT infrastructure to management products, troubleshooting and project management skills from medium to large environments. Nowadays I'm working for VMware as a Consulting Architect, helping customers to embrace the Cloud Era and make them successfully on their journey. Despite the fact I'm a VMware employee these postings reflect my own opinion and do not represents VMware's position, strategies or opinions.

Most Viewed Posts

Blog Archive