Need instruction for enabling multiple simulators on Kubernetes on-premes environment.
search cancel

Need instruction for enabling multiple simulators on Kubernetes on-premes environment.

book

Article ID: 229832

calendar_today

Updated On:

Products

CA Application Test

Issue/Introduction

We are having high load performance testing requirements that trigger parallel load patterns.
So we may need to enable multiple simulators on  Kubernetes on-premise.
We understand the way how its works on a Linux environment but are not sure about Kubernetes on-premise.
Please help us to provide some documentation or guidance. 

Environment

Devtest 10.6

Service Virtualization

Kubernetes

Resolution

When doing an on-prem Kubernetes install a compressed file is used to set up the environment.
This file has a name such as devtest-0.2.0.tgz.
To add an additional simulator or coordinator or VSE it is required to extract the files from devtest-0.2.0.tgz and modify them.
The steps are below.

  • Untar tgz file using the command tar -zxf <tgz> in the previously created devtest install directory
  • Go to devtest charts directory using command cd devtest/charts
  • Copy the component that needs to be duplicated.IE simulator or coordinator or VSE
    example:
    copy simulator chart directory to simulator2 using command cp -R simulator simulator2
  • Update name in file <component>/yaml using command vi <component>/Chart.yaml and change name to <component>2. see highlighted example changes below:

---
apiVersion: v1
appVersion: 10.6.1
description: A Helm chart for a DevTest Simulator
name: simulator2
version: 0.2.0
---

  • Duplicate <component> configuration in custom-values.yaml file and change duplicate configuration.
    See highlighted example changes below:
    Example for simulator

---

simulator2:
  enabled: true
  fullnameOverride: devtest107-simulator2
  databaseDriver: db-driver
  dataFileConfigMap: devtest-config
  registry:
    fullName: devtest107-registry
  image:
    repository: sv-docker.broadcom.com/sv/lisa
    pullPolicy: IfNotPresent
    tag: 10.7.1
  container:
    port: 32041
    env:
      JAVA_OPTS: "-Dlisa.threadDump.generate=false"
      CONFIG_SERVER_URL: "http://devtest10-config-server:8888"
      REGISTRY_SERVICE_NAME: "devtest107-registry"
      REGISTRY_INVOKE_SERVICE_PORT: "32025"
      REGISTRY_URL: "tcp://10.173.35.94:32020/Registry"
      SIMULATOR_URL: "tcp://10.173.35.94:32041/Simulator2"
      REGISTRY_WEBSERVER_HTTPS_ENABLED: false
      REGISTRY_WEBSERVER_HOST: "10.173.35.94"
  service:
    type: NodePort
    port: 32041
    nodePort: 32041
---

NOTE: For VSE Only the next two 3 steps must be done

  • On the worker nodes, add a new /tmp/dataX directory for each new component added.
    1. Example:
      /tmp/data5
    2. Change the permissions to 776
    3. Change the owner to devtest
  • Add a new section in the pv.yaml pointing to the new directory structure

---
apiVersion: v1
kind: PersistentVolume
metadata:
    name: pv5
spec:
    accessModes:
      - ReadWriteOnce
      - ReadOnlyMany
    capacity:
      storage: 2Gi
    hostPath:
      path: /tmp/data5

  • Update the pvc information by running
    • kubectl apply -f pv.yaml

Note: This last step must be done for all types

  • After doing these changes, run helm upgrade command pointing to devtest directory instead of tgz file.
    Example:

helm upgrade devtest107 ./devtest --install --values ./custom-values.yaml --namespace devtest-107