Role lxc_container_create for OpenStack-Ansible
Go to file
Jimmy McCrory 5c2a77fc28 Ensure container network type is defaulted to veth
Update the lxc template files to properly default to 'veth' when the
container_type is undefined within a user's deployment configuration.

Change-Id: I5c8b1e10e91660fccc743c430f49133615e60060
2016-03-30 20:18:39 -07:00
defaults Ability to define the mtu globally (for all the container networks) 2015-12-02 17:22:17 +01:00
doc Updates for typos 2015-12-08 16:50:45 -06:00
handlers IRR for lxc_container_create 2015-11-03 08:00:45 -06:00
meta IRR for lxc_container_create 2015-11-03 08:00:45 -06:00
tasks Merge "Restart containers on network configuration change" 2016-03-07 19:38:06 +00:00
templates Ensure container network type is defaulted to veth 2016-03-30 20:18:39 -07:00
tests Remove dependency on python2_lxc git source 2016-03-24 12:09:04 +00:00
.gitignore New git dotfiles for independant repository 2015-11-26 00:43:02 +00:00
.gitreview New git dotfiles for independant repository 2015-11-26 00:43:02 +00:00
CONTRIBUTING.rst IRR for lxc_container_create 2015-11-03 08:00:45 -06:00
LICENSE IRR for lxc_container_create 2015-11-03 08:00:45 -06:00
README.rst IRR for lxc_container_create 2015-11-03 08:00:45 -06:00
other-requirements.txt Test container creation based on IP address 2016-03-05 23:05:35 +00:00
run_tests.sh Update run_tests to be more complete 2015-12-09 13:41:26 +00:00
setup.cfg Updates for typos 2015-12-08 16:50:45 -06:00
setup.py IRR for lxc_container_create 2015-11-03 08:00:45 -06:00
test-requirements.txt pin version of ansible-lint we use for testing 2016-03-15 15:50:25 +00:00
tox.ini Implement human readable logging for functional tests 2016-03-05 23:19:37 +00:00

README.rst

OpenStack LXC container create

tags

openstack, lxc, container, cloud, ansible

category

*nix

Role for creating LXC containers. This role has been setup for use in OpenStack. This role will create several directories on the LXC host for use in bind mounted storage within the container.

Example Play:
- name: Create container(s)
  hosts: all_containers
  gather_facts: false
  user: root
  roles:
    - { role: "lxc_container_create", tags: [ "lxc-container-create" ] }
Example Inventory:
{
    "all_containers": {
        "children": [
            "group_of_containers"
        ],
        "hosts": []
    },
    "lxc_hosts": {
        "children": [],
        "hosts": [
            "infra1"
        ]
    },
    "group_of_containers": {
        "children": [],
        "hosts": [
            "container1"
        ]
    },
    "_meta": {
        "hostvars": {
            "infra1": {
                "ansible_ssh_host": "192.168.0.1",
                "container_address": "192.168.0.1",
                "container_name": "infra1",
                "container_networks": {
                    "management_address": {
                        "bridge": "br-mgmt",
                        "interface": "eth1",
                        "netmask": "255.255.252.0",
                        "type": "veth"
                    }
                },
                "properties": {
                    "container_release": "trusty",
                    "is_metal": true
                }
            },
            "container1": {
                "ansible_ssh_host": "10.0.0.1",
                "container_address": "10.0.0.1",
                "container_name": "container1",
                "container_networks": {
                    "management_address": {
                        "address": "10.0.0.1",
                        "bridge": "br-mgmt",
                        "interface": "eth1",
                        "netmask": "255.255.252.0",
                        "type": "veth"
                    }
                },
                "physical_host": "infra1",
                "physical_host_group": "lxc_hosts",
                "properties": {
                    "container_release": "trusty",
                }
            }
        }
    }
}