views

Search This Blog

Monday, March 30, 2020

Ansible integration in vRealize Automation 8.0 and Apache Web server deployment through vRA


Recently I got chance to work on setting up vrealize automation 8.0 version in my test environment and it was a great learning . I will share my experience through series of blog posts so that it can help larger audience to understand about this wonderful product. 
When you integrate Ansible Open Source with vRealize Automation Cloud Assembly, you can configure it to run one or more Ansible playbooks in a given order when a new machine is provisioned to automate configuration management. You specify the desired playbooks in the blueprint for a deployment.

When setting up an Ansible integration, you must specify the Ansible Open Source host machine as well as the inventory file path that defines information for managing resources. In addition, you must provide a name and password to access the Ansible Open Source instance. 

Prerequisites:-
  1. The Ansible control machine must use Ansible version 2.6.0 or later. 
  2. The user must have read/write access to the directory where the Ansible inventory file is located.  
  3. In addition, the user must have read/write access to the inventory file, if it exists already. 
  4. If you are using a non-root user with the sudo option, ensure that the following is set in the sudoers file:
Defaults:user_name !requiretty
and
username ALL=(ALL) NOPASSD: ALL 
Ensure that host key checking is disabled by setting host_key_checking = False at /etc/ansible/ansible.cfg or ~/.ansible.cfg.

Ensure that the vault password is set by adding the following line to the /etc/ansible/ansible.cfg or ~/.ansible.cfg file: 

vault password_file = /path/to/password_file



To avoid host key failures while trying to run playbooks, it is recommended that you include the following settings in /etc/ansible/ansible config.





Procedure :-

1- Select Infrastructure > Connections > Integrations and click Add Integration.
















2-Click Ansible. 
The Ansible configuration page appears. 





3-Enter the Hostname, Inventory File Path and other required information for the Ansible Open Source instance. 


4-Click Validate to check the integration












5-Click Add. 



Results

Ansible is available for use with blueprints. 

















Add Ansible components to the desired blueprints :-

1- On the blueprint canvas page, select Ansible under the Configuration Management heading on the blueprint options menu and drag the Ansible component to the canvas.















Note- You can my previous blog how to create blueprint in vRA8.0

2- Use the panel on the right to configure the appropriate Ansible properties such as specifying the playbooks to run.
















3- Test your blueprint and correct any syntax errors.










4- Releasing Blueprints 
The Cloud Assembly blueprint must be released for import into service broker. You can click to VERSION and select the Release this version to the catalog check box to release the current draft.



















5- Accessing Service Broker
Log in to the vRealize Automation console as a user with one of the assigned service broker roles. Based on the assigned role, a User can access service Broker features.
One of the Service Broker roles must be assigned to view Service Broker in the My Services list. An organisation role must also be assigned to this user: 

• Organization Owner 
• Organization Me














Note- In my Lab I have Cloud Assembly role for same user.

6-Content Sources
After you add the content source, templates are refreshed every six hours. Changes to templates in your external sources are reflected in the catalog after a refresh. If you add a new template or change a template, and you need to see the changes before a standard refresh, you can edit the content sources and click Save and Import














7-Self-Service Catalog
Catalog items can include Cloud Assembly blueprints, extensibility action, Amazon CloudFormation templates, and other deployable templates. A catalog item is the specification for one or more machines, networks, and other components that you deploy to a cloud vendor. 









Now you can click on request tab to deploy apche blue print .

7-Monitoring Deployments 
Requests can be monitored on he deployment tab.  Click the requested item to view the deployment details. 














Once VM get deployed thereafter we need to check the website .

For example, if the machine has an IP address of 192.168.20.254, the URL that you enter is http://192.168.20.254/






I hope you enjoy reading this blog as much as I enjoyed writing it. Feel free to share this on social media if it is worth sharing.

10 comments:

  1. Veryuseful information, thanks Randhir

    ReplyDelete
  2. Thank you Randhir!
    It is very useful. Looking forward for more blogs on vRA 8.x

    ReplyDelete
  3. Randhir good to see that you wrote this blog which help others to understand it and apply it whenever required.thanks

    ReplyDelete
  4. Good explanation... Keep posting for vRA.

    ReplyDelete
  5. Thanks Randhir for this useful blog, it's really helpful to get more into vRA8.
    Looking more from you. Keep writing.

    ReplyDelete
  6. A very good article with such good detailing , thanks for sharing this.

    ReplyDelete
  7. you have explained complex integration in a very simple way.. Excellent blog.. Thanks for sharing.

    ReplyDelete
  8. Well written and explained! Thank you Randhir!

    ReplyDelete
  9. Thanks Randhir. Good and detailed explanation. One query : Where are the playbooks stored for ansible consumption ? Is it in integrated github?

    ReplyDelete

Deploy Windows VMs for vRealize Automation Installation using vRealize Suite Lifecycle Manager 2.0

Deploy Windows VMs for vRealize Automation Installation using vRealize Suite Lifecycle Manager 2.0 In this post I am going to describe ...