This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

What’s “Iori”?

“Iori” is means a simple hut. It is written “庵” in Kanji, this caracter is 0x5EB5 in Unicode.

Iori is a command line tool for deploying and config management tool of Linux Containers (LXC). When you use LXC, you need to use LXC userland command line tool as start with “lxc-*” generally. LXC is provided template config file and scripts. But this way if you want to manage from a remote contoller host is difficult to treat containers by bulk. So this tool controls LXC with libvirt API, and manages these config files with Git repository.

This tool is enable to manage LXC container’s multi hosts. It is that one branch is managed as one host. Branch name is generated from hostname(or FQDN) or IPv4 or IPv6 address. ‘master’ branch will be using for mapping. ‘template’ branch is used for template of each node.

Requirements

  • Python 2.7
  • python-libvirt (0.9.12)
  • GitPython (0.3.2-rc1)
  • cdebootstrap (not test of debootstrap)

You do not need to install lxc package. :)

Setup

Mount cgroup file system

Mount cgroup filesystem firstly. Append next one line to /etc/fstab, execute “sudo mount -a.”:

cgroup /sys/fs/cgroup cgroup defaults 0 0

If you use Debian GNU/Linux Wheezy/Sid, set up below option to /etc/default/grub, then execute “sudo update-grub2 && sudo shutdown -r now”.:

GRUB_CMDLINE_LINUX="cgroup_enable=memory"

Ubuntu 12.04 is unnecessary to setup this option.

Install Debian packages that Iori depends on

Iori depends on GitPython, python-libvirt and libvirt, and Python2.7. Install these packages.:

$ sudo apt-get install python-git libvirt-bin python-libvirt

Install Iori

Install that choosing with one of three ways.

from source

$ git clone https://github.com/mkouhei/iori.git
$ cd iori
$ sudo python setup.py install

PyPI

$ pip install iori

Debian package

Not yet official package, then download python-iori-x.x_all.deb from https://github.com/mkouhei/iori/downloads and install with dpkg command.:

$ wget https://github.com/mkouhei/iori/download/python-iori_x.x-x_all.deb
$ sudo dpkg -i python-iori_x.x-x_all.deb

Add a user account to libvirt(libvirtd) group

Add a user account for using iori to libvirt or libvirtd group.:

$ sudo adduser <youraccount> libvirt

libvirt is for Debian, libvirtd is for Ubuntu.

Make direcotry

If directory “/var/lib/lxc” is not existed, make it.:

$ sudo mkdir /var/lib/lxc

History

See docs/HISTORY.rst

Quick start guide

Create repository

Create $HOME/.iori directory and initialize Git repository.

$ iori newrepo

Add LXC host node to Git repository

Make branch of named hostname of LXC host node, checktout it.:

$ iori addnode -n localhost

Define libvirt XML file and create rootfs image

Generate XML file of libvirt domain, and define domain from this xml, create rootfs image with debootstrap command. Then save XML file of that domain.:

$ iori deploy -n localhost -c testcont01 --rootfs /var/lib/lxc/testcont01

Start container

Start container from above domain.:

$ iori start -n localhost -c testcont01

Development

You copy pre-commit hook scripts after git clone.:

$ cp -f utils/pre-commit.txt .git/hooks/pre-commit

Next install python 2.7 later and nosetests, libvirt, python-libvirt, GitPython, cdebootstrap. Below way is for Debian GNU/Linux Sid system.:

$ sudo apt-get install python python-libvirt python-git python-nose

Then checkout ‘devel’ branch for development, commit your changes. Before pull request, execute git rebase.

TODO

  • Support remote host target with debootstrap
  • Detect to register same host when adding node
  • Adding unittest
Release History

Release History

0.1.1

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
iori-0.1.1.tar.gz (26.7 kB) Copy SHA256 Checksum SHA256 Source Jul 25, 2012

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS HPE HPE Development Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting