Commit Graph

21 Commits (482f0a8d1c3cf354fb12b9459340025ce27ca6db)

Author SHA1 Message Date
Alex Punco 6b1f7099e1 fix creation containers on btrfs subvolumes 2016-12-08 11:33:14 -05:00
Brian Coca 6e198ff51a updated docs to new choice option 2016-12-08 11:33:11 -05:00
Daniël 824bdad62c add zfs backing store support 2016-12-08 11:33:11 -05:00
jpic 4afb6b73c8 Define HAS_LXC even if import lxc doesn't fail.
This fixes::

    Traceback (most recent call last):
      File "/home/jpic/.ansible/tmp/ansible-tmp-1435080800.61-38257321141340/lxc_container", line 3353, in <module>
        main()
      File "/home/jpic/.ansible/tmp/ansible-tmp-1435080800.61-38257321141340/lxc_container", line 1712, in main
        if not HAS_LXC:
    NameError: global name 'HAS_LXC' is not defined
2016-12-08 11:32:54 -05:00
jpic 44d97d33e5 Fixed lxc option parsing.
This fixes::

    Traceback (most recent call last):
      File "/home/jpic/.ansible/tmp/ansible-tmp-1435080916.98-133068627776311/lxc_container", line 3355, in <module>
        main()
      File "/home/jpic/.ansible/tmp/ansible-tmp-1435080916.98-133068627776311/lxc_container", line 1724, in main
        lxc_manage.run()
      File "/home/jpic/.ansible/tmp/ansible-tmp-1435080916.98-133068627776311/lxc_container", line 1605, in run
        action()
      File "/home/jpic/.ansible/tmp/ansible-tmp-1435080916.98-133068627776311/lxc_container", line 1145, in _started
        self._config()
      File "/home/jpic/.ansible/tmp/ansible-tmp-1435080916.98-133068627776311/lxc_container", line 714, in _config
        _, _value = option_line.split('=')
    ValueError: too many values to unpack

With such a task::

    tasks:
    - lxc_container:
        name: buildbot-master
        container_config:
        - "lxc.mount.entry = {{ cwd }} srv/peopletest none defaults,bind,uid=0,create=dir 0 0"
2016-12-08 11:32:53 -05:00
Kevin Carter 16cc3423a5 Fix the lxc container restart state
The lxc container restart state does not ensure that the container
is in fact started unless another config or command is passed into
the task. to fix this the module simply needs to have the function
call added ``self._container_startup()`` after the container is
put into a stopped state.

Signed-off By: Kevin Carter <kevin.carter@rackspace.com>
2016-12-08 11:32:51 -05:00
Greg DeKoenigsberg c65a612d1f Changes to author formatting, remove emails 2016-12-08 11:32:51 -05:00
Kevin Carter 92bd79de03 Updates the doc information for the python2-lxc dep
The python2-lxc library has been uploaded to pypi as such this commit
updates the requirements and doc information for the module such that
it instructs the user to install the pip package "lxc-python2" while
also noting that the package could be gotten from source as well. In
the update comments have been added to the requirements list which
notes where the package should come from,

Closes-Bug: https://github.com/ansible/ansible-modules-extras/issues/550
2016-12-08 11:32:49 -05:00
Kevin Carter c7a04c0863 lxc_container: remove BabyJSON
Removed the usage of baby json. This is in response to the fact
that the baby json functionality was removed in Ansible 1.8

Ref: https://github.com/ansible/ansible-modules-extras/issues/430
2016-12-08 11:32:46 -05:00
Brian Coca c4f52f62f7 fix doc parsing by correctly quoting author 2016-12-08 11:32:39 -05:00
Brian Coca 6f28497f8c more minor docfixes 2016-12-08 11:32:39 -05:00
Kevin Carter 7a22f84ca4 Updated lxc module to remove the clone state
The clone state was removed in favor of making the module more
declarative. This change was done in response to review in PR #328
from @bcoca.

In the commit new examples were created on how this feature works.
2016-12-08 11:32:39 -05:00
Kevin Carter 581877f242 Added overlayfs backend type to the lxc_container module
This commit adds the overlayfs type to the lxc_container module. In
Adding the overlayfs type the commit adds the ability to clone a
container. While cloning is not locked down to only the overlayfs
container backend it is of particular interest when using the overlayfs
backend as it provides for amazingly fast snapshots.

Changes to the resource types and documentation have been added on how
the new backend type can be used along with the clone operation.

This PR addresses a question asked on the original merged pull request
for overlayfs support which came from @fghaas on PR
"https://github.com/ansible/ansible-modules-extras/pull/123".

The overlayfs archive function is a first class function and will
allow for the containers to be backed-up using all methods which
brings support up to that of all other storage backends.
2016-12-08 11:32:38 -05:00
Ian Cordasco eb1411a826 Interpolate container name into error message
In the event failed to start, the container name was not being properly
interpolated into the error message.
2016-12-08 11:32:38 -05:00
Toshio Kuratomi 43687f1940 Update module documentation if modules have a dep on python2.6+ 2016-12-08 11:32:36 -05:00
Brian Coca 0a30663a1e minor fix to method of finding home as previous could 'overmatch' 2016-12-08 11:32:31 -05:00
Kevin Carter 2ff3a8d35f Updated lxc_container module to fix option parsing
The option parsing object within the module was performing a split
on an '=' sign and assuming that there would only ever be one '='
in a user provided option. Sadly, the assumption is incorrect and
the list comprehension that is building the options list needs to
be set to split on the first occurrence of an '=' sign in a given
option string. This commit adds the required change to make it
possible for options to contain additional '=' signs and be handled
correctly.
2016-12-08 11:32:31 -05:00
Brian Coca a7e20b4110 updated lxc-containter docs to reflect new name 2016-12-08 11:32:27 -05:00
Maciej Delmanowski 89179ed267 Rename 'lxc-container' module to 'lxc_container'
This is done to keep the convention of naming modules with underscores
instead of hypens.
2016-12-08 11:32:27 -05:00
Kevin Carter 798f89c2e5 Updated volume create methods for a more consistent process
The volume create methods were making an assumption on the unit
sizes being presented by the `vgdisplay` and the `lvdisplay`
commands. To correct the assumption the commands will now enforce
a unit size of "g" which will alway convert sives to gigabytes.
This was an issue brought up by @hughsaunders.
2016-12-08 11:32:26 -05:00
Kevin Carter e5b0c1ced5 Added new module to support LXC containers
The new module will allow users to control LXC containers from ansible.
The module was built for use in LXC >= 1.0 or greater and implements most
of what can be done using the various lxc clients with regards to running
containers. This first module is geared only at managing lxc containers.

The module provides:
  build containers
  destroy containers
  archive containers
  info from a single container
  start / stop / restart containers
  run commands within containers
  add/modify lxc config for a container
  supports backends including LVM
2016-12-08 11:32:26 -05:00