vROAST: Deployment and Initial Configuration


The vRO Assistant (vROAST) is a free community tool developed initially for internal usage by ITQ. It accelerates vRO code development and creates strong source control (GIT) integration. During the NLVMUG on March 21st 2019, vROAST was publicly released for the whole vCommunity. I read about the tool only a few days before the scheduled GA announcement and I was really excited to try it out. Recently, I’ve been spending more time with vRO creating auto-remediation workflows and it looked like vROAST can fit very well for my use case. You can find more about the Runecast vRO plugin here.

Deployment

vROAST is distributed in 2 flavors: standard OVA and a docker image. Both can be downloaded at https://vroast.io/install
The OVA deployment is simple enough and does not require additional explanation. The appliance is based on Ubuntu 18.04 and expects DHCP network settings. If you wish to use static IP address you can modify the netplan configuration available at /etc/netplan/50-cloud-init.yaml. Here is an example of static IP assignment:

network:
    ethernets:
        ens32:
            addresses: [ 10.1.0.130/16 ]
            gateway4: 10.1.0.1
            nameservers:
                addresses: [10.1.0.2]
            dhcp4: no
    version: 2​

After you apply any network changes, don’t forget to: sudo netplan apply

Configuring initial job

The online documentation is pretty good and describes well how to set things up. However, I’ll list the steps here with some additional comments for some of them:

1. Once you have the OVA deployed or the docker container up and running navigate to the vROAST homepage at http://:80  and log in. The default credentials are:
username: Admin
password: TheRoast123

2. Download the CLI for your operating system and extract the archive to a desired location. At this moment you will have access to the CLI tool from the context of this folder. If you wish to use the vROAST CLI from anywhere, add the CLI folder location to your Path variable.

3. Point the CLI to the address of your vROAST by setting up a target, and authenticate. This is done with the following commands:

vRoast target --url http://:80 
vRoast login -u Admin -p

Here is example from my environment:

4. Set up the initial job that will pull all content from vRO and push it to GIT. After that, it will monitor your repository for new commits and will push those changes down to vRO.
The job configuration is written in .yml format. You can download a template prepared by the vROAST team from here. All you need to do now is to replace a few fields with your desired values. 

5. Once the .yml is ready go back to the CLI and apply the configuration using the following command:
vRoast set-jobs -c

Below is example from my environment:

Initially, I was a bit confused by the colorful outcome. It turns out this is a Diff functionality which is quite handy when you’re changing the configuration. Like here:

You’re now all set. In just about a minute or two you should see a commit to your repository made by vROAST with the content from the specified vRO instance. The job will run every minute and if there is new commit it will pull the repository and push it to vRO.

Troubleshoot

If something goes wrong and you don’t see the expected result you may want to check the job status. You can find this information at http:///jobs/ and then selecting Jobs menu. From here you can review the status of configured jobs in different life-cycle states – Processing, Succeeded, Failed etc.

You can click the Job ID to view more details. Here is an example:

In my case I had an issue that our Runecast Analyzer plugin was not listed in http://vroapi.com If you encounter such error, reach out to dr Ruurd and provide .vmoapp or .dar file of your plugin. In my experience it took just a couple of hours to get our plugin listed there. Thanks dr Ruurd!

This concludes the deployment and initial setup up of the vRO Assistant. I’ll follow up with another post covering the actual functionality and benefits from vROAST. Thanks to ITQ for releasing it for the public!

Ivaylo Ivanov
VMware Engineer