Refactor test run related modules using new constants provider
[functest.git] / functest / utils / env.py
1 import os
2 import re
3
4 default_envs = {
5     'NODE_NAME': 'unknown_pod',
6     'CI_DEBUG': 'true',
7     'DEPLOY_SCENARIO': 'os-nosdn-nofeature-noha',
8     'DEPLOY_TYPE': 'virt',
9     'INSTALLER_TYPE': None,
10     'INSTALLER_IP': None,
11     'BUILD_TAG': None
12 }
13
14
15 class Environment(object):
16
17     def __init__(self):
18         for k, v in os.environ.iteritems():
19             self.__setattr__(k, v)
20         for k, v in default_envs.iteritems():
21             if k not in os.environ:
22                 self.__setattr__(k, v)
23         self._set_ci_run()
24         self._set_ci_loop()
25
26     def _set_ci_run(self):
27         if self.BUILD_TAG:
28             self.IS_CI_RUN = True
29         else:
30             self.IS_CI_RUN = False
31
32     def _set_ci_loop(self):
33         if self.BUILD_TAG and re.search("daily", self.BUILD_TAG):
34             self.CI_LOOP = "daily"
35         else:
36             self.CI_LOOP = "weekly"
37
38
39 ENV = Environment()