From cc01b3ae0b06fb12cb5a6fed672d50ca433598f5 Mon Sep 17 00:00:00 2001 From: Bartek Grzybowski Date: Tue, 16 Jun 2020 16:39:44 +0200 Subject: Support setting custom username/password for the file server service Change-Id: I21964c4b8819444dd0aebdda117a11ba96f92038 Issue-ID: INT-1627 Signed-off-by: Bartek Grzybowski --- test/mocks/mass-pnf-sim/MassPnfSim.py | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'test/mocks/mass-pnf-sim/MassPnfSim.py') diff --git a/test/mocks/mass-pnf-sim/MassPnfSim.py b/test/mocks/mass-pnf-sim/MassPnfSim.py index 43e389420..4907755d5 100755 --- a/test/mocks/mass-pnf-sim/MassPnfSim.py +++ b/test/mocks/mass-pnf-sim/MassPnfSim.py @@ -4,7 +4,7 @@ from subprocess import run, CalledProcessError import argparse import ipaddress from sys import exit -from os import chdir, getcwd, path, popen, kill, getuid, stat, mkdir, getlogin +from os import chdir, getcwd, path, popen, kill, getuid, stat, mkdir, getlogin, chmod from shutil import copytree, rmtree, move from json import loads, dumps from yaml import load, SafeLoader, dump @@ -50,6 +50,8 @@ def get_parser(): type=validate_ip, metavar='IP', required=True) parser_bootstrap.add_argument('--typefileserver', help='Type of the file server (SFTP/FTPS) to be included in the VES event', type=str, choices=['sftp', 'ftps'], required=True) + parser_bootstrap.add_argument('--user', help='File server username', type=str, metavar='USERNAME', required=True) + parser_bootstrap.add_argument('--password', help='File server password', type=str, metavar='PASSWORD', required=True) parser_bootstrap.add_argument('--ipstart', help='IP address range beginning', type=validate_ip, metavar='IP', required=True) # Start command parser parser_start = subparsers.add_parser('start', help='Start instances') @@ -85,6 +87,8 @@ class MassPnfSim: sim_compose_template = 'docker-compose-template.yml' sim_vsftpd_template = 'config/vsftpd_ssl-TEMPLATE.conf' sim_vsftpd_config = 'config/vsftpd_ssl.conf' + sim_sftp_script = 'fix-sftp-perms.sh' + sim_sftp_script_template = 'fix-sftp-perms-template.sh' sim_config = 'config/config.yml' sim_msg_config = 'config/config.json' sim_port = 5000 @@ -198,8 +202,8 @@ class MassPnfSim: '''Writes a yaml formatted configuration file for Java simulator app''' yml = {} yml['urlves'] = self.args.urlves - yml['urlsftp'] = f'sftp://onap:pano@{self.args.ipfileserver}:{port_sftp}' - yml['urlftps'] = f'ftps://onap:pano@{self.args.ipfileserver}:{port_ftps}' + yml['urlsftp'] = f'sftp://{self.args.user}:{self.args.password}@{self.args.ipfileserver}:{port_sftp}' + yml['urlftps'] = f'ftps://{self.args.user}:{self.args.password}@{self.args.ipfileserver}:{port_ftps}' yml['ippnfsim'] = pnf_sim_ip yml['typefileserver'] = self.args.typefileserver self.logger.debug(f'Generated simulator config:\n{dump(yml)}') @@ -269,13 +273,19 @@ class MassPnfSim: IPFTPS = ip['ftps'], IPSFTP = ip['sftp'], FTPS_PASV_MIN = str(ftps_pasv_port_start), FTPS_PASV_MAX = str(ftps_pasv_port_end), - TIMEZONE = tzname[daylight]) + TIMEZONE = tzname[daylight], + FILESERV_USER = self.args.user, + FILESERV_PASS = self.args.password) # generate vsftpd config file for the simulator instance self._generate_config_file(self.sim_vsftpd_template, self.sim_vsftpd_config, I = i, USER = getlogin(), FTPS_PASV_MIN = str(ftps_pasv_port_start), FTPS_PASV_MAX = str(ftps_pasv_port_end), IPFILESERVER = str(self.args.ipfileserver)) + # generate sftp permission fix script + self._generate_config_file(self.sim_sftp_script_template, self.sim_sftp_script, + I = i, FILESERV_USER = self.args.user) + chmod(f'{self.sim_dirname_pattern}{i}/{self.sim_sftp_script}', 0o755) # Run the 3GPP measurements file generator self._run_cmd(f'./ROP_file_creator.sh {i} &', f"{self.sim_dirname_pattern}{i}") -- cgit 1.2.3-korg