{"push_id":719623728,"size":38,"distinct_size":33,"ref":"refs/heads/master","head":"76c04a773f1927359d264f59e4fbcc9363424882","before":"5917dbd8f38bab29de9e40d1135b0e9e85cb91bc","commits":[{"sha":"cb3d265849771f7e53b0587196930328005414e0","author":{"email":"e1e4a3233b1137700dd1a879cdd806647de35c68@redhat.com","name":"Bryn M. Reeves"},"message":"[sosreport] add --sysroot option\n\nAdd a --sysroot=SYSROOT option to specify that the root file system to\nbe inspected is mounted at SYSROOT.\n\nThis allows basic support for container environments where sos is\nrunning in a container and inspecting the containing host and its\nenvironment ('superspection').\n\nFor this to work currently the following conditions must be met:\n\n- sos is sufficiently privileged to read and search relevant file\n  system paths within SYSROOT\n\n- sos must share the PID and network namespace of the target host\n\n- binaries called by sos must be present and executable in the\n  SYSROOT inherited by sos. If PATH includes paths inside SYSROOT\n  appropriate values must be set for LD_LIBRARY_PATH to allow\n  shared executables to be linked.\n\nSigned-off-by: Bryn M. Reeves <bmr@redhat.com>","distinct":false,"url":"https://api.github.com/repos/sosreport/sos/commits/cb3d265849771f7e53b0587196930328005414e0"},{"sha":"3eed62e132f67930bb1cf5c9eaa5927083011043","author":{"email":"e1e4a3233b1137700dd1a879cdd806647de35c68@redhat.com","name":"Bryn M. Reeves"},"message":"[plugins] propagate sysroot to Plugin via commons\n\nAlthough plugins should generally be unaware that they are being\nrun with an alternate sysroot the generic plugin IO code must\npeform the appropriate path prefixing when sysroot is not '/'.\n\nPropagate sysroot to plugin classes via the commons dictionary.\n\nSigned-off-by: Bryn M. Reeves <bmr@redhat.com>","distinct":false,"url":"https://api.github.com/repos/sosreport/sos/commits/3eed62e132f67930bb1cf5c9eaa5927083011043"},{"sha":"b1f3b3373e8ef3e94238760a3e7e78d95c564260","author":{"email":"e1e4a3233b1137700dd1a879cdd806647de35c68@redhat.com","name":"Bryn M. Reeves"},"message":"[plugins] prefix target paths with self.sysroot\n\nPrefix copyspecs with self.sysroot when using an alternate root\npath. Prefixes are applied before expanding copyspecs and the\nprefixed paths are stored as the 'srcpath' attribute in the\narchive. Destination paths in the report archive do not include\nthe prefix.\n\nSigned-off-by: Bryn M. Reeves <bmr@redhat.com>","distinct":false,"url":"https://api.github.com/repos/sosreport/sos/commits/b1f3b3373e8ef3e94238760a3e7e78d95c564260"},{"sha":"c4957d8aa4ea35f879639726267043f6bb46cc7c","author":{"email":"e1e4a3233b1137700dd1a879cdd806647de35c68@redhat.com","name":"Bryn M. Reeves"},"message":"[docs] add -s/--sysroot to sosreport.1\n\nSigned-off-by: Bryn M. Reeves <bmr@redhat.com>","distinct":false,"url":"https://api.github.com/repos/sosreport/sos/commits/c4957d8aa4ea35f879639726267043f6bb46cc7c"},{"sha":"4a0a3f9607006d402713320fc31780fb54556e6a","author":{"email":"e1e4a3233b1137700dd1a879cdd806647de35c68@redhat.com","name":"Bryn M. Reeves"},"message":"[utilities] add chroot support to sos_get_command_output()\n\nAllow callers of sos_get_command_output() to specify a path to\nchroot into before executing command.\n\nSigned-off-by: Bryn M. Reeves <bmr@redhat.com>","distinct":false,"url":"https://api.github.com/repos/sosreport/sos/commits/4a0a3f9607006d402713320fc31780fb54556e6a"},{"sha":"9a87cb3415a7a9587828ee40d689439949def1be","author":{"email":"e1e4a3233b1137700dd1a879cdd806647de35c68@redhat.com","name":"Bryn M. Reeves"},"message":"[sosreport] add --chroot option\n\nAdd a --chroot option to sosreport to control command chrooting.\n\nThe option takes one of three values:\n\n  * auto   - Allow callers of the API to control chroot behaviour\n  * always - Always chroot external commands to --sysroot\n  * never  - Never chroot external commands\n\nThis is a fairly low-level option and may not be exposed to the\nuser in a final release; for now it will allow tests in container\nenvironments to control the chrooting behaviour used for a run.\n\nSigned-off-by: Bryn M. Reeves <bmr@redhat.com>","distinct":true,"url":"https://api.github.com/repos/sosreport/sos/commits/9a87cb3415a7a9587828ee40d689439949def1be"},{"sha":"0d060dc3aa5e90373e7bb55f9310b4cf9db0dad4","author":{"email":"e1e4a3233b1137700dd1a879cdd806647de35c68@redhat.com","name":"Bryn M. Reeves"},"message":"[plugins] implement --chroot for command callouts\n\nWhen --chroot=always is given chroot all commands to SYSROOT.\n\nSigned-off-by: Bryn M. Reeves <bmr@redhat.com>","distinct":true,"url":"https://api.github.com/repos/sosreport/sos/commits/0d060dc3aa5e90373e7bb55f9310b4cf9db0dad4"},{"sha":"f6f7934c7d3e7f6cb41879fc0625b06d0468af4e","author":{"email":"e1e4a3233b1137700dd1a879cdd806647de35c68@redhat.com","name":"Bryn M. Reeves"},"message":"[plugin] fix chrooted symlink handling\n\n_copy_symlink() needs to strip_sysroot(), not join_sysroot(), on\na link target before handing it to _do_copy_path().\n\nSigned-off-by: Bryn M. Reeves <bmr@redhat.com>","distinct":true,"url":"https://api.github.com/repos/sosreport/sos/commits/f6f7934c7d3e7f6cb41879fc0625b06d0468af4e"},{"sha":"b16fbf3911c6256674e072cff6fa706050861993","author":{"email":"e1e4a3233b1137700dd1a879cdd806647de35c68@redhat.com","name":"Bryn M. Reeves"},"message":"[sosreport] check for valid CHROOT values\n\nSigned-off-by: Bryn M. Reeves <bmr@redhat.com>","distinct":true,"url":"https://api.github.com/repos/sosreport/sos/commits/b16fbf3911c6256674e072cff6fa706050861993"},{"sha":"f06efd6fa7bbb0c81ce0461d4eaeed225d6f04a2","author":{"email":"e1e4a3233b1137700dd1a879cdd806647de35c68@redhat.com","name":"Bryn M. Reeves"},"message":"[plugins] add chroot parameter to callout APIs\n\nExpose sos_get_command_output()'s chroot support to plugins via\nadd_cmd_output(), get_command_output(), call_ext_prog() and\nrelated Plugin methods.\n\n'chroot' is a boolean indicating whether the command should run\nin the chroot (True) or in the host namespace (False).\n\nHas no effect when Plugin.use_sysroot() is False.\n\nSigned-off-by: Bryn M. Reeves <bmr@redhat.com>","distinct":true,"url":"https://api.github.com/repos/sosreport/sos/commits/f06efd6fa7bbb0c81ce0461d4eaeed225d6f04a2"},{"sha":"3390d070b2945715a15f74462c511df2b2941ef5","author":{"email":"e1e4a3233b1137700dd1a879cdd806647de35c68@redhat.com","name":"Bryn M. Reeves"},"message":"[plugin] add tmp_in_sysroot() method\n\nAdd a method that plugins can test to determine whether the\narchive's temporary directory is inside sysroot. This is always\ntrue when sysroot is '/'. When sysroot is a subdirectory of root\nthe temporary directory may be inaccessible from the chroot\nnamespace. Plugins can test this method to determine where to\nwrite output.\n\nSigned-off-by: Bryn M. Reeves <bmr@redhat.com>","distinct":true,"url":"https://api.github.com/repos/sosreport/sos/commits/3390d070b2945715a15f74462c511df2b2941ef5"},{"sha":"5ae1b392d1f081bcb43e91a572342d6f02e4728d","author":{"email":"e1e4a3233b1137700dd1a879cdd806647de35c68@redhat.com","name":"Bryn M. Reeves"},"message":"[plugin] enforce forbidden paths when --sysroot is set\n\nSigned-off-by: Bryn M. Reeves <bmr@redhat.com>","distinct":true,"url":"https://api.github.com/repos/sosreport/sos/commits/5ae1b392d1f081bcb43e91a572342d6f02e4728d"},{"sha":"e18d25a0e0c10a2702893f7bae2530dc2a41a394","author":{"email":"e1e4a3233b1137700dd1a879cdd806647de35c68@redhat.com","name":"Bryn M. Reeves"},"message":"[cluster] handle crm_report with --sysroot\n\nDon't attempt to run crm_report in the chroot if tmp is not a\nsubdirectory of sysroot.\n\nSigned-off-by: Bryn M. Reeves <bmr@redhat.com>","distinct":true,"url":"https://api.github.com/repos/sosreport/sos/commits/e18d25a0e0c10a2702893f7bae2530dc2a41a394"},{"sha":"2ca9c74454699ba6ecad21d6b0c0809333d729aa","author":{"email":"e1e4a3233b1137700dd1a879cdd806647de35c68@redhat.com","name":"Bryn M. Reeves"},"message":"[dmraid] don't chroot if tmp is not inside sysroot\n\nTo dump metadata dmraid needs to chdir to the temporary archive\ndirectory. Don't attempt to chroot into sysroot if the temporary\ndirectory is not a subdirectory of it.\n\nSigned-off-by: Bryn M. Reeves <bmr@redhat.com>","distinct":true,"url":"https://api.github.com/repos/sosreport/sos/commits/2ca9c74454699ba6ecad21d6b0c0809333d729aa"},{"sha":"4ae09ee0ed25d771cc6cc8a013837ed4c647b3ed","author":{"email":"e1e4a3233b1137700dd1a879cdd806647de35c68@redhat.com","name":"Bryn M. Reeves"},"message":"[foreman] don't chroot if tmp is not inside sysroot\n\nSigned-off-by: Bryn M. Reeves <bmr@redhat.com>","distinct":true,"url":"https://api.github.com/repos/sosreport/sos/commits/4ae09ee0ed25d771cc6cc8a013837ed4c647b3ed"},{"sha":"78761114ea9cc1b33233db2186a5ff762e1ac2f2","author":{"email":"e1e4a3233b1137700dd1a879cdd806647de35c68@redhat.com","name":"Bryn M. Reeves"},"message":"[libvirt] use join_sysroot() before calling os.path.exists\n\nThe libvirt plugin tests for the presence of files. Use\njoin_sysroot() to ensure the correct path is tested.\n\nSigned-off-by: Bryn M. Reeves <bmr@redhat.com>","distinct":true,"url":"https://api.github.com/repos/sosreport/sos/commits/78761114ea9cc1b33233db2186a5ff762e1ac2f2"},{"sha":"b34ea0c6ea5449bbd2f4f9624e1644dc01b07e9d","author":{"email":"e1e4a3233b1137700dd1a879cdd806647de35c68@redhat.com","name":"Bryn M. Reeves"},"message":"[logs] fix do_regex_find_all() use for --sysroot\n\nThe logs plugin searches syslog configuration files. When using\n--sysroot the plugin needs to use join_sysroot() to open the\ncorrect path.\n\nSigned-off-by: Bryn M. Reeves <bmr@redhat.com>","distinct":true,"url":"https://api.github.com/repos/sosreport/sos/commits/b34ea0c6ea5449bbd2f4f9624e1644dc01b07e9d"},{"sha":"534eb7fe732ec366292ec582ec2891ef0648ffcb","author":{"email":"e1e4a3233b1137700dd1a879cdd806647de35c68@redhat.com","name":"Bryn M. Reeves"},"message":"[lvm2] don't chroot if tmp is not inside sysroot\n\nSigned-off-by: Bryn M. Reeves <bmr@redhat.com>","distinct":true,"url":"https://api.github.com/repos/sosreport/sos/commits/534eb7fe732ec366292ec582ec2891ef0648ffcb"},{"sha":"f4218ff5bab93908ca3d0804c9d837bdfa57f654","author":{"email":"e1e4a3233b1137700dd1a879cdd806647de35c68@redhat.com","name":"Bryn M. Reeves"},"message":"[docs] add --chroot to sosreport.1\n\nSigned-off-by: Bryn M. Reeves <bmr@redhat.com>","distinct":true,"url":"https://api.github.com/repos/sosreport/sos/commits/f4218ff5bab93908ca3d0804c9d837bdfa57f654"},{"sha":"fb1b4a8b6793611ed91f43f6d3553351c704f50f","author":{"email":"e1e4a3233b1137700dd1a879cdd806647de35c68@redhat.com","name":"Bryn M. Reeves"},"message":"[plugin] handle ELOOP in _copy_dir()\n\nA problem with systemd's management of the binfmt_misc automount\npoint in Atomic environments causes attempts to access this path to\nfail with ELOOP:\n\n  >>> import os\n  >>> os.listdir(\"/host/proc/sys/fs/binfmt_misc/\")\n  Traceback (most recent call last):\n    File \"<stdin>\", line 1, in <module>\n  OSError: [Errno 2] No such file or directory: '/host/proc/sys/fs/binfmt_misc/'\n\nFor reasons that are not yet clear this causes the entire sos\nprocess to immediately terminate.\n\nFor now avoid the problem by enclosing the problem os.listdir in\na try/except block that explicitly handles the one errno value\nimplicated here.\n\nSigned-off-by: Bryn M. Reeves <bmr@redhat.com>","distinct":true,"url":"https://api.github.com/repos/sosreport/sos/commits/fb1b4a8b6793611ed91f43f6d3553351c704f50f"}]}