Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

On the other hand, lightweight development environments can be created through Docker. That setup comes handy when you need to edit files and perform compilation from command line. Docker containers are great to run your TAT tests. Your development cycle can be speed up through the use of containers.

The following operating systems are supported:

  • Mac OS X Catalina
  • Linux Ubuntu

This tool has been tested in Ubuntu 20.04 and Mac OS Catalina 10.15.6

How it works?

Often, when it is time to develop code for ACS, you end up trying to mixed up these elements:

...

Both VM and containers are provisioned through Ansible playbooks.


Install Guide

Ansible Acsenv

Ansible Acsenv can be cloned from:

https://bitbucket.sco.alma.cl/scm/~pburgos/ansible_acsenv.git


VirtualBox 6.1

Download Virtualbox from official site:

...

To provision our new created VM we will use ansible playbooks. It does not matter how many machines are active at a given time, ansible will provision the machines that are running at a given time. Be careful if you use Virtual Machines in your local hosts for other purposes. The following comand command will try to provision all machines in runnig running state. 

Code Block
ansible-playbook -i vagrant.py vagrant_provision.yml

...

Docker Container

To be added soon.

Appendix: Accessing you VM through ssh

There are several ways to access your VM box through ssh. Let's review the alternatives:

Accessing from host through private network

Let's say we want to access to acs01. From boxes_config.yml file we review earlier, the private network IP for the host is 10.10.10.10. Then:

Code Block
❯ ssh almamgr@10.10.10.10
The authenticity of host '10.10.10.10 (10.10.10.10)' can't be established.
ECDSA key fingerprint is SHA256:1BQ60Rqfa7c1xxdytYKpXoLHqJKL8izw48maYxzCsBw.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '10.10.10.10' (ECDSA) to the list of known hosts.
almamgr@10.10.10.10's password:
Last login: Sun Jul 26 22:55:45 2020 from 192.168.1.5
[almamgr@acs01 ~]$


Accessing from other Host in the Network through public IP

Let say we want to access from other computer in the network with ssh. From boxes_config.yml the public ip address is 192.168.1.155. Then:

Code Block
❯ ssh almamgr@192.168.1.155
almamgr@192.168.1.155's password:
Last login: Sun Jul 26 23:11:08 2020 from 192.168.1.5
[almamgr@acs01 ~]$


Accessing using vagrant ssh

Vagrant comes with their own tool to access a box through ssh. From the ansible_acsenv folder execute:

Code Block
❯ vagrant ssh acs01
Last login: Sun Jul 26 21:09:53 2020 from 10.0.2.2
/usr/bin/xauth:  file /home/vagrant/.Xauthority does not exist
[vagrant@acs01 ~]$


Appendix: Using RDP to connect to VM to display GNome Desktop


The VM comes preconfigured with RDP so that we can have access to Gnome Desktop to grab a Graphical Interface. Yo can use:


  • Microsoft Remote Desktop for  Mac OSX 
  • Remmina Client for Linux


Microsoft Remote Desktop

Image Added

Microsoft Remote Desktop is available for free from the App Store


Image Added

Yo can add your guest using the ip address for your box:

Image Added


Once added, you can double click the desktop icon. A pop-up asking for password will appear:

Image Added


After entering your credentials you should have access to your desktop.

Image Added


Remmina Remote Client (Linux)

To access from reminna, select RDP as the protocol to be used, as depicted in the next image:


Image Added


After connect, enter your credentials as depicted next:

Image Added

Great!...you should have access to your desktop.


Image Added

Appendix: Using VirtualBox GUI to display GNome Desktop

VirtualBox gui can be enable inside boxes_config.yml file. Just change the gui property to true. Example:

Code Block
---
memory: 4096
cpus: 2
gui: true
boxes:
  - name: acs01
    ip_private: 10.10.10.10
    ip_public: 192.168.1.155
  - name: acs02
    ip_private: 10.10.10.11
    ip_public: 192.168.1.156


With that you can 


Image Added


Once the credentials are entered just run startx as depicted:

Image Added


After that you'll have your GUI environment:

Image Added

Appendix: How to connect to a VPN using OpenConnect

From inside the VM you can connect to a VPN using openconnect, which comes already installed in your VM. To connect against, let's say, <vpn_server> open a new terminal and execute:

Code Block
sudo openconnect <vpn_server>

You'll be prompted to accept a certificate. Answer yes and enter your credentials when requested.