BookmarkSubscribeRSS Feed

Viya-ARK , the Awesome Resource Kit

Started ‎04-30-2019 by
Modified ‎05-03-2019 by
Views 4,304

A brief history of VIRK


When we started working with Viya a few years ago, we felt that a simple and standard tool to stage the servers in preparation for the Viya deployment would be a good thing to have.


Since Ansible was the tool used to deploy Viya, it made a lot of sense to write this "tool to stage the server(s)" as an Ansible playbook as well.


We then quickly realized that if we found it to be a time-saver and a human-error-avoider(tm), then it was likely that our customers would too.


That is the how and why of how VIRK came to be.


Move over, VIRK, here comes Viya-ARK!

However, in our excitement to share our work with others, we did not necessarily think about all the longer-term implications of our design choices, and just made it available. But to be honest, we were not sure if it actually would be useful to others or not. 😊


We've now decided that given the traction that VIRK has had with our colleagues and customers, it's time for VIRK to grow up, and get a fresh new look.


That look starts with, first and foremost, a new name: Viya-ARK.


The URL for it is therefore: 


Officially, I am required by law to inform you that ARK stands for Administration Resource Kit.


Un-officially, I think of it more as the Awesome Resource Kit. (You did not hear it from me and I will deny any knowledge of this if questioned. This post will self-destruct within 10 seconds of you reading it.)



What you need to know

I know you are busy people, so I’ll give you what you need to know right here:

  • VIRK will no longer be developed further, and will eventually be retired, once everyone has transitioned over to Viya-ARK.
  • Viya-ARK is the new “branded” name of VIRK.     So, stop using VIRK, and start using Viya-ARK.
  • Viya-ARK contains all the code-base that was in VIRK, and some new goodies too. (read the whole post if you like goodies). 
  • Where VIRK used the concept of Git Branches to hold various versions of the software, Viya-ARK uses the concept of Releases. You’ll see, it's going to make things simpler.

If you’ve read this far, then you know the most important points!


What you might want to know

If you are still reading, then you probably have a few more questions. I'll try to answer them below. 


How do I use Viya-ARK

If you have used VIRK before, you will see that it is quite similar. 


I will write a longer "howto" guide later, but the steps below should help you get started. 


Assuming that you have an Ansible Controller ready, and want to check your environment for the various pre-requisites, you can run the following commands:


## go to your home directory
cd ~
## install git and wget
sudo yum install git wget -y
## clone the latest code from github
git clone

## Move into the the pre-install playbook folder
cd ~/viya-ark/playbooks/pre-install-playbook/

## execute the pre-req playbook, in check mode
ansible-playbook -i ./pre-install.inventory.ini viya_pre_install_playbook.yml --check

Of course, as a default, this will only run against the Ansible Controller itself, which is not necessarily what you want. You can start editing the pre-install.inventory.ini file, to add more of your future Viya servers. 


What version do I have/use?

In Viya-ARK, we are using the concept of "releases". (In my opinion, just another way of saying "version"). If you want to see which releases are available, you should head to the Releases page on Github. If you are curious, you can read about the versioning scheme we use, or see what changes occurred at which release


If you followed the steps above, you have git cloned the master branch, which essentially gives you the latest and greatest. If you want to know which version that is, you simply have to open up the file called and the version at the top will be your current version: 


cd ~/viya-ark
head -n 5


As of today, I get the following: 


# Changelog for SAS Viya-ARK

## Viya34-ark-1.1 - April 18, 2019

As you can see, the version I am using is Viya34-ark-1.1. 


How do I get support?

The best way to get support is to open a github issue. While you can open a ticket with SAS Tech Support (for example, if you don't have a Github account), be aware that the Support of Viya-ARK is not the same as the support for more traditional SAS Products: your questions and issues will be forwarded to the developers who have worked on Viya-ARK. Remember to include the Viya-ARK version number if ever you open a Gihub issue. 


Using MMSU to start your Multi-Machine Environment. 

Assuming that you have a deployed a Viya environment that spans multiple machines, you will probably want to check out the Multi-Machine Services Utility. Here are the high level steps: 


## Move Viya-ARK into the SAS Viya Playbook folder:
mv ~/viya-ark ~/sas_viya_playbook/

## go to the SAS Viya Playbook folder:
cd ~/sas_viya_playbook/

## Start your Viya environment
ansible-playbook ./viya-ark/playbooks/viya-mmsu/viya-services-start.yml


Extra Goodie: The Viya Deployment Report!

Have you ever wished you had a summarized report of your Viya Environment topology? No? Well, we are granting that wish anyways! You're welcome.


This is your reward for reading this far down in a pretty lengthy and technical post. Tell your friends! 


First, let's look at how to run the report:

## go to the SAS Viya Playbook folder:
cd ~/sas_viya_playbook/

## Execute the Viya Deployment Report:
ansible-playbook ./viya-ark/playbooks/deployment-report/viya-deployment-report.yml


Ok, fine, but what does that do? Well, it will generate a .html and a .yml file in the Viya Playbook directory. So that you can see what that result looks like, I'm attaching the results I obtained in one of my lab environments. Scroll to the bottom of this post and download the file called "". One you have that, check out the .html file in it and how much information it contains! 


Wrapping up 

I hope this post was useful to you. Hopefully, it will make your transition from VIRK to Viya-ARK smooth and painless. 

If you have further questions comment, feel free to post below. I'll do my best to answer in a timely manner. But for maximum visibility, you probably want to use your Github account and create an Issue in the Viya-ARK project



Thanks for this great post. It's good to see that there's an option to specify an alternate location for the hotfix data with the hotfix_url= option, but does that need to be an http(s) url or can a file url be specified if the data is downloaded locally from the ftp site?

I tried doing something like this and it didn't work

ansible-playbook viya-ark/playbooks/deployment-report/viya-deployment-report.yml 
-e "hotfix_url=file:///home/sas/"


Version history
Last update:
‎05-03-2019 08:49 AM
Updated by:


Don't miss out on SAS Innovate - Register now for the FREE Livestream!

Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.


Register now!

Free course: Data Literacy Essentials

Data Literacy is for all, even absolute beginners. Jump on board with this free e-learning  and boost your career prospects.

Get Started

Article Tags