Tool to manage execution of automated tests jobs
Project description
rocinante
Installing
Rocinante depends on a working installation of Python 3.7 (or above), and Docker.
Installing Python
If you don’t have Python 3 installed on your machine yet, you can obtain it by reading the official installation instructions.
To verify your installation, you can try the following commands in your terminal, and ensure that your versions are equivalent to or higher than those in the output below:
> python3 --version
Python 3.7.3
> pip3 --version
pip 18.1 from /usr/lib/python3/dist-packages/pip (python 3.7)
Notes about installing on virtual machines provided by the Blu
At the moment, the configuration of the virtual machines provided by the Blu requires Python 3.7 to be built manually before installing.
Thus, the following commands must be executed:
sudo apt-get install curl zlib1g-dev libssl-dev libffi-dev libreadline-dev libexpat-dev software-properties-common
curl -O https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz
tar xvf Python-3.7.4.tgz
cd Python-3.7.4
./configure --prefix=/usr \
--enable-shared \
--with-system-expat \
--with-system-ffi \
--with-ensurepip=yes \
--enable-optimizations
make
sudo mkdir /usr/lib/python3.7/site-packages/ -p
sudo mkdir /usr/lib/python3.7/dist-packages/ -p
sudo ln -s /usr/share/pyshared/lsb_release.py /usr/lib/python3.7/site-packages/lsb_release.py
sudo ln -s /usr/lib/python3/dist-packages/softwareproperties/ /usr/lib/python3.7/dist-packages/
sudo make install
sudo chmod -v 755 /usr/lib/libpython3.7m.so
sudo chmod -v 755 /usr/lib/libpython3.so
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
sudo python3 get-pip.py --no-setuptools --no-wheel
sudo pip3 install --upgrade pip
This might take a looooong time, go grab a coffee.
Installing Docker
Docker provides official installation guides for each operating system.
Installing Rocinante
As soon as the dependencies are correctly installed, Rocinante can be installed using pip
:
sudo pip3 install etna-rocinante
Configuring Rocinante
Rocinante requires a configuration file, in order to know how to receive jobs from RabbitMQ, and how to download moulinettes from the intranet.
rabbitmq:
host: "172.16.128.191"
port: 5671
username: "some_user_name"
password: "some_password"
virtual_host: "development"
credentials:
intra:
username: "some_user_name"
password: "some_password"
gitlab:
token: "aC0MpL1c4T3DT0kEn"
queues:
- name: "quest_moulinette"
driver: "intra"
result_routing_key: "quest_moulinette.result"
log_directory: "/var/log/rocinante"
root_directory: "/var/lib/rocinante"
debug: true
max_job_retries: 5
job_timeout: 720 # 12 * 60 seconds
backend:
type: docker # see Panza's backends for types and other allowed fields
The path to this file must be given using the -c
/ --config-file
switch.
Running multiple instances
Multiple instances of Rocinante can be executed simultaneously on the same machine. For that, the --root-directory
switch must be used to specify a custom root directory for each instance.
For example, the first instance could be started with the following command:
> rocinante --config-file /etc/rocinante/config.yml --root-directory /var/run/rocinante1
Whereas the second instance would be launched like so:
> rocinante --config-file /etc/rocinante/config.yml --root-directory /var/run/rocinante2
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for etna_rocinante-2.6.7b1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d35e337a7fca98633cb9f45f58aed80444ba55298e3313afe9e6946f1a0cbb4 |
|
MD5 | 2709c33ce165ce906cbf5490683f8bee |
|
BLAKE2b-256 | 9723cbded55e91ecd3eab9fce4dac140d36aff55363f4a6399b9dde97beedaf4 |