aboutsummaryrefslogtreecommitdiffstats
path: root/INFO
blob: 29e97c544bf651d36cd54bbc51ac4ddc27265a58 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Project: Base System Functionality Testing Project (functest)
Project Creation Date: January 20, 2015
Project Category: Integration & Testing
Lifecycle State: Incubation
Primary Contact: Jose Lausuch (jalausuch@suse.com)
Project Lead: Jose Lausuch (jalausuch@suse.com)
Jira Project Name: Base System Functionality Testing Project
Jira Project Prefix: FUNCTEST
Mailing list tag: [functest]
IRC: Server:freenode.net Channel:#opnfv-functest
Repository: functest

Committers:
Morgan Richomme <morgan.richomme@orange.com>
Jose Lausuch <jalausuch@suse.com>
Cedric Ollivier <cedric.ollivier@orange.com>
Helen Yao <helanyao@gmail.com>
Serena Feng <feng.xiaowei@zte.com.cn>
Juha Kosonen <juha.kosonen@nokia.com>
Valentin Boucher <valentin.boucher@kontron.com>
Viktor Tikkanen <viktor.tikkanen@nokia.com>
Mei Mei <meimei@huawei.com>
Linda Wang <wangwulin@huawei.com>

Additional contributors:
Georgios Paraskevopoulos <georgepar.91@gmail.com>
Romanos Skiadas <rom.skiad@gmail.com>
Michael Polenchuk <mpolenchuk@mirantis.com>
Cristina Pauna <cristina.pauna@enea.com>
Steven Pisarski <s.pisarski@cablelabs.com>

Link to TSC approval of the project: http://meetbot.opnfv.org/meetings/opnfv-meeting/2015/opnfv-meeting.2015-01-20-14.57.html

Link(s) to approval of additional committers:

http://lists.opnfv.org/pipermail/opnfv-tech-discuss/2015-April/001971.html
http://ircbot.wl.linuxfoundation.org/meetings/opnfv-testperf/2015/opnfv-testperf.2015-09-29-13.00.html
http://ircbot.wl.linuxfoundation.org/meetings/opnfv-testperf/2016/opnfv-testperf.2016-03-01-08.00.html
http://ircbot.wl.linuxfoundation.org/meetings/opnfv-functest/2016/opnfv-functest.2016-10-11-08.01.html
an class="mi">15 # timeout for exec in seconds def __init__(self, host_name, for_sftp=False): self.config = Configuration() self.env_config = self.config.get_env_config() self.env = self.env_config['name'] self.conf = self.config.get('CLI') self.gateway = None self.host = None self.host_conf = self.get_host_conf(host_name) self.ssh = None self.ftp = None self.for_sftp = for_sftp self.key = None self.port = None self.user = None self.pwd = None self.check_definitions() super().__init__(host_name, self.user, _pwd=self.pwd, _key=self.key, _port=self.port, for_sftp=for_sftp) self.inv = InventoryMgr() if host_name in self.connections and not self.ssh: self.ssh = self.connections[host_name] def get_host_conf(self, host_name): if 'hosts' in self.conf: if not host_name: raise ValueError('SshConn(): host must be specified ' + 'if multi-host CLI config is used') if host_name not in self.conf['hosts']: raise ValueError('host details missing: ' + host_name) return self.conf['hosts'][host_name] else: return self.conf def check_definitions(self): try: self.host = self.host_conf['host'] if self.host in self.connections: self.ssh = self.connections[self.host] except KeyError: raise ValueError('Missing definition of host for CLI access') try: self.user = self.host_conf['user'] except KeyError: raise ValueError('Missing definition of user for CLI access') try: self.key = self.host_conf['key'] if self.key and not os.path.exists(self.key): raise ValueError('Key file not found: ' + self.key) except KeyError: pass try: self.pwd = self.host_conf['pwd'] except KeyError: self.pwd = None if not self.key and not self.pwd: raise ValueError('Must specify key or password for CLI access') gateway_hosts = {} @staticmethod def get_gateway_host(host): if not SshConn.gateway_hosts.get(host): ssh = SshConn(host) gateway = ssh.exec('uname -n') SshConn.gateway_hosts[host] = gateway.strip() return SshConn.gateway_hosts[host] def is_gateway_host(self, host): gateway_host = self.get_gateway_host(host) return host == gateway_host