aboutsummaryrefslogtreecommitdiffstats
path: root/src/onaptests/steps/simulator
diff options
context:
space:
mode:
Diffstat (limited to 'src/onaptests/steps/simulator')
-rw-r--r--src/onaptests/steps/simulator/pnf/__init__.py0
-rw-r--r--src/onaptests/steps/simulator/pnf/pnf_config.yaml16
-rw-r--r--src/onaptests/steps/simulator/pnf/pnf_instantiate.py30
-rw-r--r--src/onaptests/steps/simulator/pnf/pnf_register.py38
-rw-r--r--src/onaptests/steps/simulator/pnf/utils.py157
5 files changed, 0 insertions, 241 deletions
diff --git a/src/onaptests/steps/simulator/pnf/__init__.py b/src/onaptests/steps/simulator/pnf/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/src/onaptests/steps/simulator/pnf/__init__.py
+++ /dev/null
diff --git a/src/onaptests/steps/simulator/pnf/pnf_config.yaml b/src/onaptests/steps/simulator/pnf/pnf_config.yaml
deleted file mode 100644
index 13b0289..0000000
--- a/src/onaptests/steps/simulator/pnf/pnf_config.yaml
+++ /dev/null
@@ -1,16 +0,0 @@
-setup:
- count: 1
- vesprotocol: http # use `https` for the real VES
- vesip: 172.17.0.1 # use 172.17.0.1 to communicate with localhost
- vesport: 10000
- vesresource: eventListener
- vesversion: v7
- ipstart: 10.11.0.16
- user: ""
- password: ""
- ipfileserver: 127.0.0.1
- typefileserver: sftp
-data:
- commonEventHeaderParams:
- sourceName: pyint-000
- reportingEntityName: pyint-000
diff --git a/src/onaptests/steps/simulator/pnf/pnf_instantiate.py b/src/onaptests/steps/simulator/pnf/pnf_instantiate.py
deleted file mode 100644
index d9d2620..0000000
--- a/src/onaptests/steps/simulator/pnf/pnf_instantiate.py
+++ /dev/null
@@ -1,30 +0,0 @@
-"""Base step that runs a PNF simulator."""
-from onaptests.steps.simulator.pnf import utils
-from onaptests.steps.base import BaseStep
-
-class PNFInstanceStep(BaseStep):
- """Run PNF simulator containers."""
-
- @property
- def description(self) -> str:
- """Step description."""
- return "Run PNF simulator containers."
-
- @property
- def component(self) -> str:
- """Component name."""
- return "Environment"
-
- @BaseStep.store_state
- def execute(self) -> None:
- """Run PNF simulator containers."""
- super().execute()
- utils.build_image()
- utils.bootstrap_simulator()
- utils.run_container()
-
- def cleanup(self) -> None:
- """Remove containers and images."""
- utils.stop_container()
- utils.remove_simulator()
- utils.remove_image()
diff --git a/src/onaptests/steps/simulator/pnf/pnf_register.py b/src/onaptests/steps/simulator/pnf/pnf_register.py
deleted file mode 100644
index 8d5467a..0000000
--- a/src/onaptests/steps/simulator/pnf/pnf_register.py
+++ /dev/null
@@ -1,38 +0,0 @@
-"""Base step that runs a PNF simulator."""
-from onaptests.steps.simulator.pnf import utils
-from onaptests.steps.base import BaseStep
-from onaptests.steps.simulator.pnf.pnf_instantiate import PNFInstanceStep
-
-class PNFRegisterStep(BaseStep):
- """Run PNF simulator containers."""
-
- def __init__(self, cleanup=True):
- """Initialize step.
-
- Substeps:
- - PNFInstanceStep
-
- """
- super().__init__(cleanup=cleanup)
- self.add_step(PNFInstanceStep(cleanup=cleanup))
-
- @property
- def description(self) -> str:
- """Step description."""
- return "Register PNF with VES."
-
- @property
- def component(self) -> str:
- """Component name."""
- return "Environment"
-
- @BaseStep.store_state
- def execute(self) -> None:
- """Register with VES."""
- super().execute()
- utils.register()
-
- @BaseStep.store_state
- def cleanup(self) -> None:
- """Substeps cleanup - no unregister."""
- super().cleanup()
diff --git a/src/onaptests/steps/simulator/pnf/utils.py b/src/onaptests/steps/simulator/pnf/utils.py
deleted file mode 100644
index efac46e..0000000
--- a/src/onaptests/steps/simulator/pnf/utils.py
+++ /dev/null
@@ -1,157 +0,0 @@
-"""Utility functions that invoke operations of simulator script."""
-import os
-import sys
-import time
-import urllib.parse
-import yaml
-from ipaddress import ip_address
-from typing import Dict, Optional
-from decorator import decorator
-import docker
-
-from onapsdk.configuration import settings
-from onaptests.masspnfsimulator.MassPnfSim import (
- MassPnfSim, get_parser
-)
-
-def get_config() -> Dict:
- """Read a config YAML file."""
- config = None
- dir_path = os.path.dirname(os.path.realpath(__file__))
- with open(f"{dir_path}/pnf_config.yaml", "r") as ymlfile:
- config = yaml.load(ymlfile)
- return config
-
-def get_default_args() -> None:
- """Prepare default arguments for required operations.
-
- Returns:
- args (argparse.Namespace): default arguments.
-
- """
- parser = get_parser()
- args = parser.parse_args('')
- return args
-
-def switch_workdir(back_pwd: str = None) -> Optional[str]:
- """Switch work directory temporarily for PNF simulator operations.
-
- When `back_pwd` path is provided, it means go back tp the repository
- you came from.
-
- Arguments:
- back_pwd: path to go back to.
-
- Returns:
- old_pwd (str): previous path.
-
- """
- sim_file_path = sys.modules[MassPnfSim.__module__].__file__
- sim_dir_path = os.path.dirname(sim_file_path)
-
- old_pwd = os.getcwd()
-
- if not back_pwd:
- curr_pwd = sim_dir_path
- else:
- curr_pwd = back_pwd
-
- os.chdir(curr_pwd)
- return old_pwd
-
-@decorator
-def chdir(func, *args, **kwargs):
- """Switches to and from the simulator workspace."""
- old_pwd = switch_workdir()
- ret = func(*args, **kwargs)
- switch_workdir(old_pwd)
- return ret
-
-@chdir
-def build_image() -> None:
- """Build simulator image."""
- build = getattr(MassPnfSim(), "build")
- args = get_default_args()
- build(args)
-
-@chdir
-def remove_image() -> None:
- """Remove simulator image(s)."""
- client = docker.from_env()
- sim_image_name = "nexus3.onap.org:10003/onap/masspnf-simulator"
- images = client.images.list(sim_image_name)
- for obj in images:
- client.images.remove(obj.id, force=True)
-
-@chdir
-def bootstrap_simulator() -> None:
- """Setup simulator(s) repo, data and configs."""
- args = get_default_args()
- config = get_config()
-
- # collect settings that will be placed in the simulator directory
- vesprotocol = config["setup"].get('vesprotocol', "http")
- ves_url = urllib.parse.urlparse(settings.VES_URL)
- vesip = ves_url.hostname
- vesport = ves_url.port
- vesresource = config["setup"].get('vesresource', "")
- vesversion = config["setup"].get('vesversion', "")
-
- urlves = f"{vesprotocol}://{vesip}:{vesport}/{vesresource}/{vesversion}"
-
- # assign to simulator's arguments
- args.count = config["setup"].get('count', 1)
- args.urlves = urlves
- args.ipstart = ip_address(config["setup"].get('ipstart', ''))
- args.ipfileserver = config["setup"].get('ipfileserver', '')
- args.typefileserver = config["setup"].get('typefileserver', '')
- args.user = config["setup"].get('user', '')
- args.password = config["setup"].get('password', '')
-
- # bootstrap with assigned arguments
- bootstrap = getattr(MassPnfSim(), "bootstrap")
- bootstrap(args)
-
-@chdir
-def run_container() -> None:
- """Run simulator container(s)."""
- start = getattr(MassPnfSim(), "start")
- args = get_default_args()
- start(args)
-
-@chdir
-def register() -> None:
- """Send an event to VES.
-
- Use time.sleep(seconds) if registering with VES right after run_container().
- Containers take a few seconds to run properly. Normally 5 seconds should be
- enough.
-
- """
- time.sleep(5)
- config = get_config()
- trigger = getattr(MassPnfSim(), "trigger")
- args = get_default_args()
-
- args.user = config['setup'].get('user', '')
- args.password = config['setup'].get('password', '')
-
- custom_data = config['data']
- if custom_data:
- args.data = custom_data
-
- trigger(args)
-
-@chdir
-def stop_container() -> None:
- """Stop simulator container(s)."""
- stop = getattr(MassPnfSim(), "stop")
- args = get_default_args()
- stop(args)
-
-@chdir
-def remove_simulator() -> None:
- """Remove simulator container(s)."""
- clean = getattr(MassPnfSim(), "clean")
- args = get_default_args()
- clean(args)