1. 19 Nov, 2016 4 commits
  2. 17 Nov, 2016 3 commits
  3. 16 Nov, 2016 1 commit
    • lxc-checkpoint: automatically detect if --external or --veth-pair · 46c8ffd5
      Adrian Reber authored
      With the criu release 2.8 criu deprecated the --veth-pair command-line
      option in favor of --external:
      
      f2037e6 veth: Make --external support --veth-pair
      
      git tag --contains f2037e6d3445fc400
      v2.8
      
      With this commit lxc-checkpoint will automatically switch between
      the new and old command-line option dependent on the detected
      criu version.
      
      For criu version older than 2.8 something like this will be used:
      
        --veth-pair eth0=vethYOK6RW@lxcbr0
      
      and starting with criu version 2.8 it will look like this:
      
        --external veth[eth0]:vethCRPEYL@lxcbr0
      Signed-off-by: 's avatarAdrian Reber <areber@redhat.com>
  4. 15 Nov, 2016 4 commits
    • Merge pull request #1301 from brauner/2016-11-15/isolcpus · 471a304d
      Stéphane Graber authored
      cgroups: use %zu format specifier to print size_t
    • Merge pull request #1299 from adrianreber/master · a8bae552
      Stéphane Graber authored
      lxc-checkpoint: enable dirty memory tracking in criu
    • lxc-checkpoint: enable dirty memory tracking in criu · 9f99a33f
      Adrian Reber authored
      CRIU supports dirty memory tracking to take incremental checkpoints.
      Incremental checkpoints are one way of reducing downtime during
      migration. The first checkpoint dumps all the memory pages and the
      second (and third, and fourth, ...) only dumps pages which have changed.
      
      Most of the necessary code has already been implemented. This just adds
      the existing functionality to lxc-checkpoint:
      
        -p, --pre-dump            Only pre-dump the memory of the container.
                                  Container keeps on running and following
                                  checkpoints will only dump the changes.
        --predump-dir=DIR         path to images from previous dump (relative to -D)
      
      The following is an example from a container running CentOS 7 with psql
      and tomcat:
      
       # lxc-checkpoint -n c7 -D /tmp/cp -p
      Container keeps on running
       # du -h /tmp/cp
       229M	/tmp/cp
      Sync initial checkpoint to destination
       # rsync -a /tmp/cp host2:/tmp/
      Sync file-system
       # rsync -a /var/lib/lxc/c7 host2:/var/lib/lxc/
      Final dump; container is stopped
       # lxc-checkpoint -n c7 -D /tmp/cp --predump-dir=../cp -s
       # du -h /tmp/cp2
       90M	/tmp/cp2
      
      After transferring the second (incremental checkpoint) and the changes
      to the container's file system the container can be restored on the
      second host by pointing lxc-checkpoint to the second checkpoint
      directory:
      
       # lxc-checkpoint -n c7 -D /tmp/cp2 -r
      Signed-off-by: 's avatarAdrian Reber <areber@redhat.com>
  5. 14 Nov, 2016 4 commits
  6. 13 Nov, 2016 1 commit
  7. 12 Nov, 2016 6 commits
  8. 11 Nov, 2016 1 commit
  9. 10 Nov, 2016 5 commits
  10. 09 Nov, 2016 3 commits
    • cgroups: remove isolated cpus from cpuset.cpus · a54694f8
      Christian Brauner authored
      In case the system was booted with
      
          isolcpus=n_i-n_j,n_k,n_m
      
      we cannot simply copy the cpuset.cpus file from our parent cgroup. For example,
      in the root cgroup cpuset.cpus will contain all of the cpus including the
      isolated cpus. Copying the values of the root cgroup into a child cgroup will
      lead to a wrong view in /proc/self/status: For the root cgroup
      /sys/fs/cgroup/cpuset /proc/self/status will correctly show
      
          Cpus_allowed_list:      0-1,3
      
      even though cpuset.cpus will show
      
          0-3
      
      However, initializing a subcgroup in the cpuset controller by copying the
      cpuset.cpus setting from the root cgroup will cause /proc/self/status to
      incorrectly show
      
          Cpus_allowed_list:      0-3
      
      Hence, we need to make sure to remove the isolated cpus from cpuset.cpus. Seth
      has argued that this is not a kernel bug but by design. So let us be the smart
      guys and fix this in liblxc.
      
      The solution is straightforward: To avoid having to work with raw cpulist
      strings we create cpumasks based on uint32_t bit arrays.
      Signed-off-by: 's avatarChristian Brauner <christian.brauner@canonical.com>
    • utils: add lxc_append_string() · 000dfda7
      Christian Brauner authored
      lxc_append_string() appends strings without separator. This is mostly useful
      for reading in whole files line-by-line.
      Signed-off-by: 's avatarChristian Brauner <christian.brauner@canonical.com>
    • Merge pull request #1286 from mgariepy/patch-1 · 5e8b7746
      Stéphane Graber authored
      create symlink for /var/run
  11. 08 Nov, 2016 1 commit
  12. 07 Nov, 2016 1 commit
  13. 03 Nov, 2016 6 commits