Skip to content

miniSat/Minisat

Repository files navigation

Minisat

Awesome License: GPL v3 stability-experimental travis-ci

Minisat is a infrastructure management tool, built on Django framework, to provision virtual machines and run Docker containers on remote hosts.

Dependencies

  • Install QEMU and libvirt packages
$ sudo dnf install qemu-kvm qemu-img libvirt libvirt-python libvirt-client virt-install -y
  • Create ssh public key
$ ssh-keygen -q -t rsa -f ~/.ssh/id_rsa -N ""
  • Install docker-machine
$ curl -L https://github.com/docker/machine/releases/download/v0.13.0/docker-machine-`uname -s`-`uname -m` >/tmp/docker-machine && sudo install /tmp/docker-machine /usr/local/bin/docker-machine

How to run Minisat

  • Create your python3 virtual environment
$ python3 -m venv <environment_name>
  • Activate virtual environment
$ source <environment_name>/bin/activate
  • Install dependency using pip
$ pip install -r requirements.txt
  • Run migrations
$ python3 manage.py makemigrations
$ python3 manage.py migrate
  • Run django web app
$ python3 manage.py runserver

Containerize Minisat

  • Build Docker image
$ cd Minisat/
$ docker build -t minisat:latest .
  • Run the image
$ docker container run -it -p 8000:8000 minisat:latest 0.0.0.0:8000

Create test environment

All Minisat pull requests are tested in Travis-ci. If tests fail, visit the test job that failed to view its console output.

Run these same tests locally using selenium. Download selenium webdriver for mozilla firefox. mozilla geckodriver.

Extract the driver. Export path

$ export PATH=$PATH/:/path/of/driver

It will set a path variable to the webdriver.

And run the test

$ pytest

Licensing

Minisat is licensed under GNU General Public License v3.0. See LICENSE