Merge "Refactor core VNF class"
[functest.git] / functest / utils / env.py
1 #!/usr/bin/env python
2
3 import os
4 import re
5
6 import six
7
8
9 default_envs = {
10     'NODE_NAME': 'unknown_pod',
11     'CI_DEBUG': 'false',
12     'DEPLOY_SCENARIO': 'os-nosdn-nofeature-noha',
13     'DEPLOY_TYPE': 'virt',
14     'INSTALLER_TYPE': None,
15     'INSTALLER_IP': None,
16     'BUILD_TAG': None,
17     'OS_ENDPOINT_TYPE': None,
18     'OS_AUTH_URL': None,
19     'CONFIG_FUNCTEST_YAML': os.path.normpath(os.path.join(os.path.dirname(
20         os.path.abspath(__file__)), '../ci/config_functest.yaml'))
21 }
22
23
24 class Environment(object):
25
26     def __init__(self):
27         for k, v in six.iteritems(os.environ):
28             self.__setattr__(k, v)
29         for k, v in six.iteritems(default_envs):
30             if k not in os.environ:
31                 self.__setattr__(k, v)
32         self._set_ci_run()
33         self._set_ci_loop()
34
35     def _set_ci_run(self):
36         if self.BUILD_TAG:
37             self.IS_CI_RUN = True
38         else:
39             self.IS_CI_RUN = False
40
41     def _set_ci_loop(self):
42         if self.BUILD_TAG and re.search("daily", self.BUILD_TAG):
43             self.CI_LOOP = "daily"
44         else:
45             self.CI_LOOP = "weekly"
46
47
48 ENV = Environment()