Commit Graph

1253 Commits

Author SHA1 Message Date
Darko Poljak eae399b025 Fix removing ssh key that is last one in the file. 2017-08-30 09:27:06 +02:00
Steven Armstrong 3c3b29f710 allow hostnamectl to fail silently
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2017-08-29 22:50:47 +02:00
Steven Armstrong 0114001627 remember default __remote_{copy,exec} so we can use it ourself in custom __remote_{copy,exec} scripts
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2017-08-29 22:31:30 +02:00
Steven Armstrong 04c8415060 use __remote_{exec,copy} instead of plain ssh/scp in remote exec scripts
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2017-08-29 21:49:47 +02:00
Philippe Grégoire 0e3c7545cc
__user_groups: Support OpenBSD
OpenBSD's usermod(8) interface is similary to NetBSD's.
This commit makes __user_groups support it explicitly.

https://man.openbsd.org/usermod.8
http://netbsd.gw.com/cgi-bin/man-cgi?usermod++NetBSD-current
2017-08-27 08:58:16 -04:00
Darko Poljak 6751349d21 Merge pull request #561 from uqam-fob/pkg-openbsd-installurl
__package_pkg_openbsd: support using /etc/installurl
2017-08-27 14:23:11 +02:00
Philippe Grégoire d4f34a3f40
__package_pkg_openbsd: support the empty flavor
Adds support for specifying an empty flavor by passing --flavor "".
2017-08-26 10:59:04 -04:00
Philippe Grégoire 56adfd4dee
__package_pkg_openbsd: support using /etc/installurl
In 6.1, OpenBSD introduced installurl(5), which contains
the URL the sets where installed from during install or upgrade.
The content of this file is used by pkg_add(1) if PKG_PATH is
not defined.

This commit changes the behavior of __package_pkg_openbsd to omit
setting PKG_PATH to a hard-coded value if --pkg_path is not provided.
This, in turn, makes pkg_add(1) use installurl(5).
2017-08-26 09:42:36 -04:00
Mark Verboom 6f04c9bfce Explorer pipes output of apt-key list, which always generates:
Warning: apt-key output should not be parsed (stdout is not a terminal)
on stderr. Redirect stderr of apt-key to /dev/null to prevent output in
cdist run.
2017-08-25 14:31:32 +02:00
Darko Poljak c6d00019a8 Merge pull request #556 from uqam-fob/explorer-init-pgrep
explorer/init/Linux: use pgrep instead of ps
2017-08-25 11:31:42 +02:00
Darko Poljak 11a974aeff Merge pull request #557 from uqam-fob/type-user-explorers
__user: explore with /etc files
2017-08-25 11:30:32 +02:00
Darko Poljak d9cf1590b8 Fix spelling. 2017-08-25 10:50:11 +02:00
Steven Armstrong 4851c0517f inherit log level from cdist install during nested cdist config
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2017-08-24 14:43:26 +02:00
Darko Poljak f368539447 Some pylint cleaning. 2017-08-22 10:58:30 +02:00
Philippe Grégoire 31e5c97c55
use command(1) to get executable's path 2017-08-21 10:51:55 -04:00
Philippe Grégoire 997fdd8ac4
fix typo in group entry extraction 2017-08-20 15:13:01 -04:00
Philippe Grégoire a915baa73b
__user: explore with /etc files
getent(1) is a utility available where Name Service Switch (NSS)
is available. Many modern operating systems support it, but that
may not be the case of all (e.g. embedded systems).

This commit modifies the __user type explorers to check the
traditional files instead of relying solely on the availability
of getent(1).

- Makes the group explorer use /etc/group
- Makes the passwd explorer use /etc/passwd
- Makes the shadow explorer use /etc/shadow

Implementation note

"getent shadow" does not support querying an entry using a uid
since it does not store that information. Since the shadow explorer
uses __object_id, the passwd explorer does not check if __object_id
matches an entry by uid. This behavior ensures consistent, transparent
behavior of the type. The group explorer, on the other hand, handles
group names and uids; like always.
2017-08-20 12:10:54 -04:00
Philippe Grégoire ebe0c0d66d
make sure we continue on errors 2017-08-20 11:12:30 -04:00
Philippe Grégoire 5646a66f6c
explorer/init/Linux: replace ps by pgrep
BusyBox's version of ps does not support the -o option.
On Linux systems, use pgrep -P0 -l to get the name of
pid 1.
2017-08-20 11:06:07 -04:00
Philippe Grégoire 2b9bf3de24
replace grep+sed by awk 2017-08-19 18:19:17 -04:00
Philippe Grégoire e88e9c357f
fix formatting 2017-08-19 16:49:19 -04:00
Philippe Grégoire 69c6de9f9c
explorer/os: get ID from /etc/os-release
/etc/os-release was introduced by systemd[1] and is now
more and more common; even on systems without systemd (e.g. lede).
In addition to detecting the OS based on specific attributes,
this file provides the ID marker to describe the OS.

This commit adds support for OS detection via /etc/os-release.
According to [2], it is already lowercase.

[1] http://0pointer.de/blog/projects/os-release
[2] https://www.freedesktop.org/software/systemd/man/os-release.html
2017-08-19 16:41:50 -04:00
Darko Poljak ceb97fd0ee Fix for mistake in 982bb286f4. 2017-08-19 19:12:30 +02:00
Darko Poljak 982bb286f4 Cleanup options' help and cdist man page. 2017-08-17 08:24:58 +02:00
Philippe Gregoire 61b52ac806 Set default remote_cmds_cleanup_pattern
Fixes an exception when --remote-copy and --remote-exec are used.
2017-08-14 16:13:57 -04:00
Philippe Gregoire 7b0b3d9415 Fix remote cmds cleanup
When --remote-copy and --remote-exec are provided,
args.remote_cmds_cleanup_pattern is not set.

This patches fixes the evaluation of args.remote_cmds_cleanup_pattern
and prevents cdist from throwing an exception when --remote-copy
and --remote-exec are used.
2017-08-14 14:25:19 -04:00
Darko Poljak b6467e716e Merge remote-tracking branch 'ungleich/master' into jobs-locking 2017-08-13 12:27:57 +02:00
Darko Poljak 75fe3272b3 Add file locking for -j parallel execution. 2017-08-13 12:26:20 +02:00
Darko Poljak 87fe52ea61 Default logging level is WARNING. 2017-08-12 23:02:31 +02:00
Darko Poljak 314a931b84 Respect cdist log level in emulator. 2017-08-12 21:40:23 +02:00
Darko Poljak 59782ad64e Fix unit test. 2017-08-11 01:20:45 +02:00
Darko Poljak 2b0e8160cf Merge pull request #543 from darko-poljak/ssh-mux-sigpipe
Fix ssh connection multiplexing race condition #542
2017-08-10 23:42:16 +02:00
Darko Poljak 8bb70055f4 Merge branch 'master' into archiving 2017-08-10 19:11:35 +02:00
Darko Poljak ca1cc0f64a object_id = '/' is invalid 2017-08-10 19:08:44 +02:00
Darko Poljak 68cb13881f Add archiving support. 2017-08-09 16:56:02 +02:00
Nico Schottelius 260303dd14 Fix gpasswd call in __user_groups: order incorrect
From the manpage:

       -a, --add user
           Add the user to the named group.

       -d, --delete user
           Remove the user from the named group.
2017-08-03 15:11:35 +02:00
Darko Poljak 1b0f560608 Add missing args to method call. 2017-07-27 09:51:23 +02:00
Darko Poljak 0a85d913cc Optimize dir transfer. 2017-07-27 09:49:06 +02:00
Darko Poljak 0d734c872d Fix log var assignment. 2017-07-27 09:36:00 +02:00
Darko Poljak 3db987b913 Merge pull request #549 from 4nd3r/__timezone
__timezone: always exit 0
2017-07-27 09:01:15 +02:00
Ander Punnar b7b1101f11 always exit 0 2017-07-27 01:28:26 +03:00
Darko Poljak 23fbabe303 Further improve parallel execution. 2017-07-26 17:39:07 +02:00
Darko Poljak d1a044cc23 multiprocessing.Pool -> concurrent.futures.ProcessPoolExecutor 2017-07-26 12:01:19 +02:00
Darko Poljak 7c7a98d083 pep8 2017-07-25 12:43:54 +02:00
Darko Poljak 32838a096d Refine inventory logging to adhere new cdist logging. 2017-07-25 12:40:12 +02:00
Darko Poljak 0af64c01bf Add -p HOST_MAX argument. 2017-07-25 11:12:18 +02:00
Darko Poljak bb2cc68169 Fix broken text 2017-07-24 19:13:40 +02:00
Darko Poljak 4a54d1420e Remove unwanted fixme 2017-07-24 19:12:43 +02:00
Darko Poljak 9b5220a29c Merge pull request #546 from greendeath/master
Updated to docker-compose version 1.14
2017-07-21 21:49:02 +02:00
Dominique Roux 5ccfec9c18 Updated to docker-compose version 1.14 2017-07-21 21:18:16 +02:00