{"push_id":745509733,"size":74,"distinct_size":74,"ref":"refs/heads/stable-1.1","head":"659e807c8dd1525a5c94bdecc47599079fad8407","before":"17f48b9679b2bb6d4e5d156fa59e6399f82277d9","commits":[{"sha":"16a64224c5417fe26c4a01496656a1a4c78eae3c","author":{"email":"3df611b026e4639bee8aef7a4beb2e39fcebb313@ubuntu.com","name":"Serge Hallyn"},"message":"do_lxcap_stop: wait until container is stopped\n\nIn the past, lxc-cmd-stop would wait until the command pipe was closed\nbefore returning, ensuring that the container monitor had exited.\nNow that we accept the actual success return value, lxcapi_stop can\nreturn success before the monitor has fully exited.\n\nSo explicitly wait for the container to stop, when lxc-cmd-stop returned\nsuccess.\n\nSigned-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>","distinct":true,"url":"https://api.github.com/repos/tenforward/lxc/commits/16a64224c5417fe26c4a01496656a1a4c78eae3c"},{"sha":"b140d243722cc296159a4edcb47c2fbcd6d11b72","author":{"email":"3df611b026e4639bee8aef7a4beb2e39fcebb313@ubuntu.com","name":"Serge Hallyn"},"message":"Revert \"do_lxcap_stop: wait until container is stopped\"\n\nThis breaks lxc-test-concurrent.\n\nThis reverts commit fef9aa89e99285609d51848623f84ecd3a3109df.","distinct":true,"url":"https://api.github.com/repos/tenforward/lxc/commits/b140d243722cc296159a4edcb47c2fbcd6d11b72"},{"sha":"b55f3a435f687624adfb44283efc04c27ae07722","author":{"email":"10c18fcb898ee6b17d6575d444b125d10b3f4d6a@canonical.com","name":"Tycho Andersen"},"message":"c/r: rework external mountpoint handling v4\n\nCRIU now supports autodetection of external mounts via the --ext-mount-map auto\n--enable-external-sharing --enable-external-masters options, so we don't need\nto explicitly pass the cgmanager mount or any of the mounts from the config.\nThis also means that lxcfs mounts (since they are bind mounts from outside the\ncontainer) are autodetected, meaning that c/r of containers using lxcfs works.\n\nA further advantage of this patch is that it addresses some of the ugliness\nthat was in the exec_criu() function. There are other criu options that will\nallow us to trim this even further, though.\n\nFinally, with --enable-external-masters, criu understands slave mounts in the\ncontainer with shared mounts in the peer group that are outside the namespace.\nThis allows containers on a systemd host to be dumped and restored correctly.\n\nHowever, these options have just landed in criu trunk today, and the next\ntagged release will be 1.6 on June 1, so we should avoid merging this into any\nstable releases until then.\n\nv2: remount / as private before bind mounting the container's directory for\n    criu. The problem here is that if / is mounted as shared, even if we\n    unshare() the /var/lib/lxc/rootfs mountpoint propagates outside of our\n    mount namespace, which is bad, since we don't want to leak mounts. In\n    particular, this leak confuses criu the second time it goes to checkpoint\n    the container.\n\nv3: whoops, we really want / as MS_SLAVE | MS_REC here, to match what start\n    does\n\nv4: rebase onto master for revert of logging patch\n\nSigned-off-by: Tycho Andersen <tycho.andersen@canonical.com>\nAcked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>","distinct":true,"url":"https://api.github.com/repos/tenforward/lxc/commits/b55f3a435f687624adfb44283efc04c27ae07722"},{"sha":"51f231ff10e9eade91ffea5633694ccf2c8b89c1","author":{"email":"10c18fcb898ee6b17d6575d444b125d10b3f4d6a@canonical.com","name":"Tycho Andersen"},"message":"c/r: use criu option instead of lxc-restore-net\n\nAs of criu 1.5, the --veth-pair argument supports an additional parameter that\nis the bridge name to attach to. This enables us to get rid of the goofy\naction-script hack that passed bridge names as environment variables.\n\nThis patch is on top of the systemd/lxcfs mount rework patch, as we probably\nwant to wait to use 1.5 options until it has been out for a while and is in\ndistros.\n\nSigned-off-by: Tycho Andersen <tycho.andersen@canonical.com>\nAcked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>","distinct":true,"url":"https://api.github.com/repos/tenforward/lxc/commits/51f231ff10e9eade91ffea5633694ccf2c8b89c1"},{"sha":"97d6a3752b83203348f2a1df1346b899f045ac8a","author":{"email":"10c18fcb898ee6b17d6575d444b125d10b3f4d6a@canonical.com","name":"Tycho Andersen"},"message":"c/r: move criu code to its own file\n\nTrying to cage the beast that is lxccontainer.c.\n\nSigned-off-by: Tycho Andersen <tycho.andersen@canonical.com>\nAcked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>","distinct":true,"url":"https://api.github.com/repos/tenforward/lxc/commits/97d6a3752b83203348f2a1df1346b899f045ac8a"},{"sha":"5aacec32809a9fb2b77576a11edc05a0aeba7c8d","author":{"email":"10c18fcb898ee6b17d6575d444b125d10b3f4d6a@canonical.com","name":"Tycho Andersen"},"message":"c/r: check version of criu\n\nNote that we allow both a tagged version or a git build that has sufficient\npatches for the features we require.\n\nv2: close criu's stderr too\n\nSigned-off-by: Tycho Andersen <tycho.andersen@canonical.com>\nAcked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>","distinct":true,"url":"https://api.github.com/repos/tenforward/lxc/commits/5aacec32809a9fb2b77576a11edc05a0aeba7c8d"},{"sha":"e9455742d3eb8ef2c911cd660c91fc00354d0b6d","author":{"email":"10c18fcb898ee6b17d6575d444b125d10b3f4d6a@canonical.com","name":"Tycho Andersen"},"message":"c/r: enable hugetlbfs in criu\n\nIn vivid containers hugetlbfs is mounted, but it is not one of the hardcoded\nfses in criu, so we need to tell criu that it is okay to automount it.\n\nSigned-off-by: Tycho Andersen <tycho.andersen@canonical.com>\nAcked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>","distinct":true,"url":"https://api.github.com/repos/tenforward/lxc/commits/e9455742d3eb8ef2c911cd660c91fc00354d0b6d"},{"sha":"97844d12b689f10883fff7d85b6fa8c0551ac005","author":{"email":"10c18fcb898ee6b17d6575d444b125d10b3f4d6a@canonical.com","name":"Tycho Andersen"},"message":"c/r: re-open fds after clone()\n\nIf we don't re-open these after clone, the init process has a pointer to the\nparent's /dev/{zero,null}. CRIU seese these and wants to dump the parent's\nmount namespace, which is unnecessary. Instead, we should just re-open\nstdin/out/err after we do the clone and pivot root, to ensure that we have\npointers to the devcies in init's rootfs instead of the host's.\n\nv2: Only close fds if the container was daemonized. This didn't turn out as\n    nicely as described on the list because lxc_start() doesn't actually have\n    the struct lxc_container, so it cant see the flag. Instead, we just pass it\n    down everywhere.\n\nSigned-off-by: Tycho Andersen <tycho.andersen@canonical.com>\nAcked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>","distinct":true,"url":"https://api.github.com/repos/tenforward/lxc/commits/97844d12b689f10883fff7d85b6fa8c0551ac005"},{"sha":"fc2a2b79d115f54d61ee5c71580e1f7b13f7215d","author":{"email":"3df611b026e4639bee8aef7a4beb2e39fcebb313@ubuntu.com","name":"Serge Hallyn"},"message":"logs: introduce a thread-local 'current' lxc_config (v2)\n\nThe logging code uses a global log_fd and log_level to direct\nlogging (ERROR(), etc).  While the container configuration file allows\nfor lxc.loglevel and lxc.logfile, those are only used at configuration\nfile read time to set the global variables.  This works ok in the\nlxc front-end programs, but becomes a problem with threaded API users.\n\nThe simplest solution would be to not allow per-container configuration\nfiles, but it'd be nice to avoid that.\n\nPassing a logfd or lxc_conf into every ERROR/INFO/etc call is \"possible\",\nbut would be a huge complication as there are many functions, including\nstruct member functions and callbacks, which don't have that info and\nwould need to get it from somewhere.\n\nSo the approach I'm taking here is to say that all real container work\nis done inside api calls, and therefore the API calls themselves can\nset a thread-local variable indicating which log info to use.  If\nunset, then use the global values.  The lxc-* programs, when called\nwith a '-o logfile' argument, set a global variable to indicate that\nthe user-specified value should be used.\n\nIn this patch:\n\nIf the lxc container configuration specifies a loglevel/logfile, only\nset the lxc_config's logfd and loglevel according to those, not the\nglobal values.\n\nEach API call is wrapped to set/unset the current_config.  (The few\nexceptions are calls which do not result in any log actions)\n\nUpdate logfile appender to use the logfile specified in lxc_conf if (a)\ncurrent_config is set and (b) the lxc-* command did not override it.\n\nChangelog (2015-04-21):\n\t. always re-set current_config to NULL at end of an API\n\t  call, rather than storing the previous value.  We don't\n\t  nest API calls.\n\t. remove the log_lock stuff which wasn't used\n\t. lxc_conf_free: if the config is current_config, set\n\t  current_config to NULL.  (It can't be another thread's\n\t  current_config, or we wouldn't be freeing it)\n\t. lxc_check_inherited: don't close fd if it is the\n\t  current_config->logfd.  Note this is only called when\n\t  starting a container, so we have no other threads at\n\t  this point.\n\nChangelog (2015-04-22)\n\t. Unset the per-container logfd on destroy\n\t.\n\t. Do so before we rm the containerdir.  Otherwise if the logfile is set\n\t. to $lxcpath/$name/log, the containerdir won't be fully deleted.\n\nSigned-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>\nAcked-by: Stéphane Graber <stgraber@ubuntu.com>","distinct":true,"url":"https://api.github.com/repos/tenforward/lxc/commits/fc2a2b79d115f54d61ee5c71580e1f7b13f7215d"},{"sha":"7a9c860220f825b7cb9de08e194a267d52983833","author":{"email":"3df611b026e4639bee8aef7a4beb2e39fcebb313@ubuntu.com","name":"Serge Hallyn"},"message":"use poll instead of select\n\nParticularly when using the go-lxc api with lots of threads, it\nhappens that if the open files limit is > 1024, we will try to\nselect on fd > 1024 which breaks on glibc.\n\nSo use poll instead of select.\n\nSigned-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>\nAcked-by: Stéphane Graber <stgraber@ubuntu.com>","distinct":true,"url":"https://api.github.com/repos/tenforward/lxc/commits/7a9c860220f825b7cb9de08e194a267d52983833"},{"sha":"943107411647137752db127cc4850500c4f163f6","author":{"email":"d6dfbe96822fc6f407d114112670f8d1571509f1@alpinelinux.org","name":"Natanael Copa"},"message":"lxc-alpine: create /dev/shm before mounting\n\nThis is needed for lxc.autodev=1 to work.\n\nSigned-off-by: Natanael Copa <ncopa@alpinelinux.org>\nAcked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>","distinct":true,"url":"https://api.github.com/repos/tenforward/lxc/commits/943107411647137752db127cc4850500c4f163f6"},{"sha":"5aa301671241edd9a875f00493e82f29bfce6fe0","author":{"email":"94aca18939fc64aa4df96ea8cb026da8a2e1541a@gmail.com","name":"Christian Brauner"},"message":"Make lxc-checkconfig work with kernel versions > 3\n\n(1) Add test for kernel version greater 3.\n(2) Use && and || instead of -a and -o as suggested in\n    http://www.unix.com/man-page/posix/1p/test/.\n\nlxc-checkconfig will currently report \"missing\" on \"Cgroup memory controller\"\nfor kernel versions greater 3. This happens because the script, before checking\nfor the corresponding memory variable in the kernel config, currently will test\nwhether we have a major kernel version greater- or equal to 3 and a minor kernel\nversion greater- or equal to 6. This adds an additional test whether we have a\nmajor kernel version greater than 3.\n\nSigned-off-by: Christian Brauner <christianvanbrauner@gmail.com>","distinct":true,"url":"https://api.github.com/repos/tenforward/lxc/commits/5aa301671241edd9a875f00493e82f29bfce6fe0"},{"sha":"2c6c01e0a5b52fe6d1345d3acf925b18ac747e43","author":{"email":"f8745c10f2826ddfc41f7986f3e93bc042e6f3dd@aol.de","name":"Karl-Philipp Richter"},"message":"added build and test results to .gitignore\n\nSigned-off-by: Karl-Philipp Richter <krichter722@aol.de>","distinct":true,"url":"https://api.github.com/repos/tenforward/lxc/commits/2c6c01e0a5b52fe6d1345d3acf925b18ac747e43"},{"sha":"57a64031b6c727d9ba43841c126ab5429714db15","author":{"email":"f95dacb889f09635eade811e4aa84598d1702075@gmx.de","name":"Thomas Moschny"},"message":"Fix Lua 5.3 compatibility code.\n\nIf Lua 5.3 is compiled with LUA_COMPAT_5_2 defined, the\nluaL_checkunsigned compatibility macro is already defined\nin lauxlib.h.\n\nSigned-off-by: Thomas Moschny <thomas.moschny@gmx.de>","distinct":true,"url":"https://api.github.com/repos/tenforward/lxc/commits/57a64031b6c727d9ba43841c126ab5429714db15"},{"sha":"c775aec928745cf2546b04766b57a5b8f3282de0","author":{"email":"089afc6d81f66f1168a9849e15660feae286e024@ubuntu.com","name":"Stéphane Graber"},"message":"Add IPv6 support to lxc-net\n\nSigned-off-by: Stéphane Graber <stgraber@ubuntu.com>\nAcked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>","distinct":true,"url":"https://api.github.com/repos/tenforward/lxc/commits/c775aec928745cf2546b04766b57a5b8f3282de0"},{"sha":"40ec5e3f3534a3273ecba755d748396f8e3432a1","author":{"email":"089afc6d81f66f1168a9849e15660feae286e024@ubuntu.com","name":"Stéphane Graber"},"message":"lxc-net: Rework/cleanup\n\nThis updates lxc-net with the following changes:\n - Better recover from crashes/partial runs\n - Better error detection and reporting\n - Less code duplication (use the stop code on crash)\n - Better state tracking\n - Allow for restart of all of lxc-net except for the bridge itself\n - Only support iproute from this point on (ifconfig's been deprecated\n   for years)\n\nV2: Use template variables everywhere\n\nSigned-off-by: Stéphane Graber <stgraber@ubuntu.com>\nAcked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>","distinct":true,"url":"https://api.github.com/repos/tenforward/lxc/commits/40ec5e3f3534a3273ecba755d748396f8e3432a1"},{"sha":"d14e15899d46790986682d221b53b63c5c69e6d4","author":{"email":"10c18fcb898ee6b17d6575d444b125d10b3f4d6a@canonical.com","name":"Tycho Andersen"},"message":"c/r: check for criu images in the checkpoint directory\n\nCRIU can get confused if there are two dumps that are written to the same\ndirectory, so we make some minimal effort to prevent people from doing this.\nThis is a better alternative than forcing liblxc to create the directory, since\nit is mostly race free (and neither solution is bullet proof anyway if someone\nrsyncs some bad images over the top of the good ones).\n\nSigned-off-by: Tycho Andersen <tycho.andersen@canonical.com>\nAcked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>","distinct":true,"url":"https://api.github.com/repos/tenforward/lxc/commits/d14e15899d46790986682d221b53b63c5c69e6d4"},{"sha":"485227ee17f696b38d073b3f179348589b36653b","author":{"email":"089afc6d81f66f1168a9849e15660feae286e024@ubuntu.com","name":"Stéphane Graber"},"message":"Fix lxc-net regression on missing restorecon\n\nSigned-off-by: Stéphane Graber <stgraber@ubuntu.com>","distinct":true,"url":"https://api.github.com/repos/tenforward/lxc/commits/485227ee17f696b38d073b3f179348589b36653b"},{"sha":"72453c4c73923825cf19bccd643a30a6fc782368","author":{"email":"3df611b026e4639bee8aef7a4beb2e39fcebb313@ubuntu.com","name":"Serge Hallyn"},"message":"overlay: create workdir if it doesn't exist\n\nOtherwise a container created before we needed workdir will fail\nto start after a kernel+lxc update.\n\nSigned-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>\nAcked-by: KATOH Yasufumi <karma@jazz.email.ne.jp>","distinct":true,"url":"https://api.github.com/repos/tenforward/lxc/commits/72453c4c73923825cf19bccd643a30a6fc782368"},{"sha":"6cc6ec01918f75a6b74b3243db3e907b48e117c9","author":{"email":"6248f4d53301a922bb8837896bfd17af77334ad4@gmail.com","name":"Kien Truong"},"message":"Sort the cgroup memory settings before applying.\n\nAdd a function to sort the cgroup settings before applying.\nCurrently, the function will put memory.memsw.limit_in_bytes after\nmemory.limit_in_bytes setting so the container will start\nregardless of the order specified in the input. Fix #453\n\nSigned-off-by: Kien Truong <duckientruong@gmail.com>","distinct":true,"url":"https://api.github.com/repos/tenforward/lxc/commits/6cc6ec01918f75a6b74b3243db3e907b48e117c9"}]}