Multi env support and Kube client integration
Kube friendly Beta
Package versions supports Kube env
Added:
- Env type detection
- New option: --use-env, for selecting env
when function supports multiple detected envs
- Updated config loading
- Each module and command type has supported env check
and stops execution if it is on unsupported env
- Functions can support multiple envs
- Kubernetes dependency
- Kubenernetes API detection: local and remote
- Package checking class hierachy for using Salt or Kube
- Remote pod execution routine
- Flexible SSH/SSH Forwarder classes: with, ssh,do(), etc
- Multithreaded SSH script execution
- Number of workers parameter, default 5
Fixed:
- Config dependency
- Command loading with supported envs list
- Unittests structure and execution flow updated
- Unittests fixes
- Fixed debug mode handling
- Unified command type/support routine
- Nested attrs getter/setter
Change-Id: I3ade693ac21536e2b5dcee4b24d511749dc72759
Related-PROD: PROD-35811
diff --git a/scripts/pkg_versions.py b/scripts/pkg_versions.py
index 66a46aa..ae76833 100644
--- a/scripts/pkg_versions.py
+++ b/scripts/pkg_versions.py
@@ -7,7 +7,8 @@
def shell(command):
_ps = subprocess.Popen(
command.split(),
- stdout=subprocess.PIPE
+ stdout=subprocess.PIPE,
+ stderr=subprocess.PIPE
).communicate()[0].decode()
return _ps
@@ -50,4 +51,7 @@
pkgs[_pkg]['raw'] = res[3]
buff = json.dumps(pkgs)
-sys.stdout.write(buff)
+if len(sys.argv) > 1 and sys.argv[1] == 'stdout':
+ sys.stdout.write(buff)
+else:
+ print(buff)