1 .. This work is licensed under a
2 Creative Commons Attribution 4.0 International License.
3 .. integration-tooling:
5 .. _integration-simulators:
10 Simulators are regularly created for use cases. The goal of this section is to:
12 - Highlight the existing Simulators
13 - Provide recommendations when starting developing a new simulator
16 Before developing a new simulator, check that it does not exist...and
17 refactor/contribute to existing simulators rather than recreating new ones.
23 .. csv-table:: Simulators
24 :file: ./files/csv/simulators.csv
36 We recommend to create a dedicated repository (ask Integration team).
38 .. csv-table:: Simulator repositories
39 :file: ./files/csv/repo-simulators.csv
48 From this repository, create a jenkins job to automatically build the dockers.
53 It is recommended to create a helm chart in order to run the simulators.
56 Wrapper for simulators
57 ......................
59 1. In order to deploy the Helm release with a simulator, place a YAML file
60 describing the Helm release in src/onaptests/templates/helm_charts.
62 The structure of the YAML file should be like in the example below.
63 Dependencies contain all the charts that need to be pulled.
67 # Helm release information
68 api_version: # API_VERSION
69 app_version: # APP_VERSION
70 chart_name: # SIMULATOR_NAME
71 version: # CHART_VERSION
73 # Helm charts that need to be pulled
75 - name: # SIMULATOR_NAME
76 version: # CHART_VERSION
78 local_repo_name: # REPO_NAME
80 2. Install the Helm release:
82 .. code-block:: Python
84 from onaptests.steps.wrapper.helm_charts import HelmChartStep
86 chart = HelmChartStep(
88 chart_info_file = YAML_FILE_NAME # name, not the path
92 3. Start the simulator via an API call:
94 .. code-block:: Python
96 start = SimulatorStartStep(
101 endpoint = START_ENDPOINT, # if applicable
102 method = REQUEST_METHOD, # GET, POST etc.
103 data = PAYLOAD # {"json": {...}, ...}
107 4. Undeploy the Helm release:
109 .. code-block:: Python