Christoph Hartmann
341a4ba98d
improvement: simplify readability of nil checks
2015-09-22 02:27:01 +02:00
Christoph Hartmann
db81929dd7
minor style improvement
2015-09-22 02:27:01 +02:00
Christoph Hartmann
c081cfac82
improve reliability of method_missing
2015-09-22 02:27:01 +02:00
Christoph Hartmann
05dd53b5b4
improvement: skip package resource if not supported on OS
2015-09-22 02:27:00 +02:00
Dominik Richter
9608e2e29b
bugfix: specinfra selinux label handling
...
as specinfra doesnt work with respond_to?, just call the method and catch the error.
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:27:00 +02:00
Christoph Hartmann
a88304d030
remove method missing for yum resource
2015-09-22 02:27:00 +02:00
Dominik Richter
6c29580de0
enforce file content encoding to utf8
...
this is also in line with specinfra compatibility
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:27:00 +02:00
Christoph Hartmann
046f3fe9e4
fix robocop issues
2015-09-22 02:27:00 +02:00
Dominik Richter
c06fe38981
bugfix: dont strip specinfra file content output
...
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:27:00 +02:00
Christoph Hartmann
8113df6d44
bugfix: fix sysv implementation
2015-09-22 02:27:00 +02:00
Dominik Richter
61e7559489
fix bsd stat detection
...
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:27:00 +02:00
Christoph Hartmann
2e46e0781a
bugfix: fix initctl matcher to detect enabled services
2015-09-22 02:27:00 +02:00
Dominik Richter
13ce808a90
bugfix: specinfra is missing methods for freebsd
...
Add getter for user/group/mode for freebsd, as specinfra will execute these calls but not return anything.
2015-09-22 02:27:00 +02:00
Christoph Hartmann
7806951051
add fedora support
2015-09-22 02:27:00 +02:00
Dominik Richter
a1a0e10c5a
extend linux file with bsd stat
...
TODO: we must start separating between the different UNIXes and maybe call this something better than LinuxFile, but for now: since most of the things will stay the same, add the bsd stat command as an alternative to the linux stat command and parse its output.
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:27:00 +02:00
Dominik Richter
82f89aa1db
bugfix: dont fail on specinfra selinux_label on freebsd
...
the call shouldnt be made, but in case it is, dont just fail mit NoMethodError
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:27:00 +02:00
Christoph Hartmann
2484623220
add comments
2015-09-22 02:26:59 +02:00
Christoph Hartmann
d2e110e183
add debian support and improve regex
2015-09-22 02:26:59 +02:00
Christoph Hartmann
7239c7ced5
add service implementation for systemv
2015-09-22 02:26:59 +02:00
Christoph Hartmann
eb8c9411c7
remove comments
2015-09-22 02:26:59 +02:00
Christoph Hartmann
05e95477e3
add support for macos in service resource
2015-09-22 02:26:59 +02:00
Christoph Hartmann
6b07372bb9
bugfix: handle nil for service info
2015-09-22 02:26:59 +02:00
Christoph Hartmann
1b5e6fa7af
select init system by os version for now
2015-09-22 02:26:59 +02:00
Christoph Hartmann
4479001763
add upstart implementation for service resource
2015-09-22 02:26:59 +02:00
Christoph Hartmann
b8d0edecfb
add systemd implementation for service
2015-09-22 02:26:59 +02:00
Christoph Hartmann
204e6f5021
skip resource, if os is not supported
2015-09-22 02:26:59 +02:00
Christoph Hartmann
9da4e7674e
use volcano.os
2015-09-22 02:26:59 +02:00
Christoph Hartmann
9aa0b1cf4a
rename service_info to info
2015-09-22 02:26:59 +02:00
Christoph Hartmann
21040b9b03
implement service resource for windows
2015-09-22 02:26:59 +02:00
Dominik Richter
f18381a7d3
return nil for specinfra content on directories
...
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:26:59 +02:00
Dominik Richter
7137a9625b
expose backend file path
...
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:26:58 +02:00
Dominik Richter
d16f76c9ce
pull in selinux label on local backend runner
...
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:26:58 +02:00
Dominik Richter
b13a1b574d
let specinfra support empty block device content
2015-09-22 02:26:58 +02:00
Dominik Richter
7f19111b1b
bugfix: catch lstat errors on local backend
...
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:25:52 +02:00
Dominik Richter
ef9b299319
api: specinfra reports nil on non-existent files
...
Check the responses and make sure we dont blindly return eg: size=0 or group="" or user="" for files that dont exist.
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:25:52 +02:00
Dominik Richter
4aef4821cc
bugfix: target_type check for pipe
...
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:25:52 +02:00
Dominik Richter
b8ae2ee7a3
api: specinfra content returns nil on block_device
...
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:17:30 +02:00
Dominik Richter
d2ade9f247
bugfix: nil content on specinfra empty files
...
Only return nil for no content on specinfra files if the file actually has any content. ie. when we were not able to read the content then provide the answer of nil. if the file has no content, return an empty string. this leaves the error case where empty files cannot be read, which will not be signaled via content from specinfra.
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:17:30 +02:00
Dominik Richter
d8dea86e6e
api: return nil for md5/sha256/content empty
...
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:17:30 +02:00
Dominik Richter
e0b89e6ae2
bugfix: return nil on file content read errors
...
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:17:30 +02:00
Dominik Richter
2c00423c3e
read symlink destination file types
...
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:17:30 +02:00
Dominik Richter
6f4f0b570c
inject specinfra backend helper into file
...
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:17:30 +02:00
Dominik Richter
5f472d9735
use lstat for local backend to read symlinks
...
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:17:30 +02:00
Dominik Richter
3e16407454
rename file link_target -> link_path
...
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:17:30 +02:00
Dominik Richter
60f9e643aa
api: specinfra mtime returns unix seconds
...
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:17:30 +02:00
Dominik Richter
04a8cfddf4
ignore exit code on linux stat
...
For now: Since stat throws exit code 1 on selinux label checks if no selinux label (or system) is present, it would signal us to disregard results. However, the results are actually complete and can be fully used, with selinux_label becoming "?".
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:17:29 +02:00
Dominik Richter
526518fabd
api: set specinfra product_version + file_version to nil
...
whenever the label is empty (typically on all *nix systems) set it to nil instead of ""
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:17:29 +02:00
Dominik Richter
55bd535599
api: specinfra set selinux label to nil
...
Whenever the selinux label is empty, set it to nil instead of '?' or ''.
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:17:29 +02:00
Dominik Richter
534a9ce57a
bugfix: always return file stat
2015-09-22 02:17:29 +02:00
Dominik Richter
c86a68950a
improvement: add optimized local file module
...
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:17:29 +02:00
Christoph Hartmann
6e76dd689e
bugfix: set host for ssh config in specinfra
2015-09-22 02:17:28 +02:00
Dominik Richter
8f45afffcd
move up specinfra property detection
...
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:17:28 +02:00
Dominik Richter
48b25e893d
bugfix: specinfra re-detect backend os
...
By default it uses the currently running OS on initialization, instead of the OS configured via backend. Force its reinitialization by resetting all properties.
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:17:28 +02:00
Christoph Hartmann
dfb330e7e8
use backend os detection in resources
2015-09-22 02:17:28 +02:00
Christoph Hartmann
7b5bbc8a5f
patch specinfra os detection
2015-09-22 02:17:28 +02:00
Christoph Hartmann
1bf94016a7
rename Command to Cmd
2015-09-22 02:17:28 +02:00
Christoph Hartmann
43d49a348f
bugfix: require specinfra backend
2015-09-22 02:17:28 +02:00
Dominik Richter
54b37b0b96
unify reporting on concurrent tests
...
Take control of the rspec runner loop and make sure all of our concurrent tests are executed in one reporting chain. It goes: Start reporting, concurrently run container+test+kill, stop and publish reporting.
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:17:28 +02:00
Dominik Richter
c6f896cad3
run full docker test in parallel
...
With just one more issue left: the formatter is going to report multiple time, including spitting out errors multiple times. Also need to remove some of the custom formatting around the current state of containers.
As a bonus: This further improved testing speed (30% on the current environment) and will allow us to grow the supported platforms for tests easily.
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:17:27 +02:00
Dominik Richter
37ad8f9531
run test setup concurrently + only once
...
Instead of having RSpec re-run its world multiple times, run it only once with all tests.
Which leaves us with one more thing to solve: we want to start tests as soon as the container is up and they are set up. At the moment, the containers come up and are set up concurrently, including test registry, but the tests themselves are in simple sequence.
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:17:27 +02:00
Dominik Richter
eb2e18b75d
remove leftover includes
...
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:17:27 +02:00
Dominik Richter
945dee74cc
Merge pull request #10 from chef/oneget
...
add oneget resource
2015-09-22 02:17:27 +02:00
Christoph Hartmann
33f9dd8e87
add oneget resource
2015-09-22 02:17:21 +02:00
Christoph Hartmann
d0d9a66e4a
move user default settings to backend
2015-09-22 02:15:43 +02:00
Dominik Richter
3e02e622c5
bugfix: linux file stat parameters and mount
...
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:15:43 +02:00
Christoph Hartmann
51fff9104b
bugfix: use instance variable, include winrm
2015-09-22 02:15:43 +02:00
Christoph Hartmann
b03db74798
improvement: set default user at a later stage to support user@target
2015-09-22 02:15:43 +02:00
Dominik Richter
2db06783fb
update find_files for all other resources
...
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:15:43 +02:00
Dominik Richter
165c08799f
bugfix: deep merge mysql conf parameters
...
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:15:43 +02:00
Dominik Richter
4852842bf6
feature: add hash utility for deep_merge
...
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:15:42 +02:00
Dominik Richter
58fa9bc6c7
update mysql_conf to work with new find_files
...
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:15:42 +02:00
Dominik Richter
1345c1d017
update findfiles to work with new backend
...
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:15:42 +02:00
Dominik Richter
f1cc7cbf9b
lint utils
...
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:15:42 +02:00
Dominik Richter
753e7775ef
lint detect
...
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:15:42 +02:00
Dominik Richter
486c5fde1c
fix code complexity lint
...
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:15:42 +02:00
Dominik Richter
0d5ee00ac5
reduce branch size complexity mysql (lint)
...
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:15:42 +02:00
Dominik Richter
470c2ef920
wrap up core resource linting
...
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:15:42 +02:00
Dominik Richter
903b9642e4
lint resources
...
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:15:42 +02:00
Dominik Richter
74da29c3ed
lint vulcano lib files
...
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:15:42 +02:00
Dominik Richter
07cb7efe36
lint targets
...
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:15:42 +02:00
Dominik Richter
46b300f409
finish linting backend
...
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:15:42 +02:00
Dominik Richter
e5686ea4e2
lint backends
...
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:15:42 +02:00
Dominik Richter
cfbd5ccfc0
lint plugins
...
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:15:42 +02:00
Dominik Richter
6e01505414
lint
...
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:15:41 +02:00
Dominik Richter
67b5ecc06e
bugfix: force PTY on SSH connection
...
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:15:41 +02:00
Christoph Hartmann
1570e8e7af
Merge pull request #4 from chef/docker
...
Start Docker + SSH backends
2015-09-22 02:15:41 +02:00
Dominik Richter
1359152fc6
add ssh channels to get command stdout/stderr/status
...
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:15:41 +02:00
Dominik Richter
0a13817639
feature: add ssh backend
...
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:15:41 +02:00
Dominik Richter
e3373679ec
feature: add docker container backend
...
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:15:41 +02:00
Christoph Hartmann
238f1b2016
add pip resource to verify gem packages
2015-09-22 02:15:41 +02:00
Christoph Hartmann
bdb859b730
add npm resource to verify gem packages
2015-09-22 02:15:41 +02:00
Dominik Richter
275039dead
more rubocop
...
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:15:41 +02:00
Christoph Hartmann
0171b2e2f2
add gem resource to verify gem packages
2015-09-22 02:15:41 +02:00
Christoph Hartmann
77815154eb
add the be_installed matcher
2015-09-22 02:15:41 +02:00
Christoph Hartmann
9783751741
implement package resource
2015-09-22 02:15:41 +02:00
Dominik Richter
a6c47a2e39
rubocop
...
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:15:40 +02:00
Dominik Richter
dcdf8ea0e2
init linux_file owner class
...
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:15:40 +02:00
Dominik Richter
a9bd476cb5
feature: configure specinfra backend
...
via target or backend config; set the backend to: specinfra+exec, specinfra+ssh, specinfra+winrm, specinfra+docker etc.
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:15:40 +02:00
Dominik Richter
03e6402f5c
use LinuxFile to get type information in specinfra backend
...
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:15:40 +02:00
Dominik Richter
13bc7f4015
move linux file handling to separate class
...
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:15:40 +02:00