...
Once the service is created, you will need to create the configuration map for the soavirt server and you will need to configure a network license or a local license.
The server EULA must be accepted by setting 'parasoft.eula.accepted=true' in the ConfigMap.
...
Code Block | ||||
---|---|---|---|---|
| ||||
apiVersion: v1 kind: ConfigMap metadata: name: soavirt-config data: config.properties: | # Configuration properties for soavirt server # === END USER LICENSE AGREEMENT === # Set to true to accept the end user license agreement # Please review the EULA.txt file included in the distribution zip for soavirt.war parasoft.eula.accepted=false # === WORKING DIRECTORY === # Specifies workspace location #working.dir=C:/Users/../workspace # === LOGGING CONFIGURATION === # Specifies configuration file for logging logging.config.file=/WEB-INF/default.logging.xml # Replace with the following line to enable debug information #logging.config.file=/WEB-INF/debug.logging.xml # === CTP SERVER === # Specifies CTP server endpoint #env.manager.server=http\://[CTP Server Host]\:8080 # Specifies the server name that will be displayed in CTP #env.manager.server.name=[Server Name] # Specifies username for CTP authentication #env.manager.username=[CTP Server Username] # Specifies password for CTP authentication #env.manager.password=[CTP Server Password] # Enables notifications to CTP for deployments #env.manager.notify=true # === SERVLET CONTAINER PORTS === # Specifies the hostname #to Modifyuse portsfor toremote matchaccess yourto servletthis container settingsserver # Useful when a #name Specifiesor portaddress formust http be strictly used server.port.http=9080 for CTP connectivity # If empty, the address will be auto-detected #server.hostname=[Server Hostname] # Specifies port for https #serverhttp # Port should match your servlet container server.port.httpshttp=84439080 # Specifies port for https # Port should match your servlet container #server.port.https=8443 # === PRODUCT LICENSING === # Enables virtualize functionality virtualize.license.enabled=true # Enables soatest functionality soatest.license.enabled=true # === NODE-LOCK LICENSE === # Specifies password for virtualize local license #virtualize.license.local.password=[Virtualize License Password] # Specifies password for soatest local license #soatest.license.local.password=[Soatest License Password] # === NETWORK LICENSE === # Enables network licensing for virtualize virtualize.license.use_network=true # Specifies the type of network license for virtualize ['performance_server_edition', 'runtime_server_edition', 'custom_edition'] virtualize.license.network.edition=custom_edition # Specifies features for virtualize 'custom_edition' license virtualize.license.custom_edition_features=Service Enabled, Performance, Extension Pack, Validate, Message Packs, Developer Sandbox 1000 Hits/Day, 10000 Hits/Day, 25000 Hits/Day, 50000 Hits/Day, 100000 Hits/Day, 500000 Hits/Day, 1 Million Hits/Day, Unlimited Hits/Day, 30 HPS , 100 HPS # Enables network licensing for soatest soatest.license.use_network=true # Specifies the type of network license for soatest ['server_edition', 'server_edition_2011','custom_edition'] soatest.license.network.edition=custom_edition # Specifies features for soatest 'custom_edition' license soatest.license.custom_edition_features=RuleWizard, Command Line, SOA, Web, Server API Enabled, Jtest Connect, Stub Desktop, Stub Server, Message Packs, Advanced Test Generation Desktop, Advanced Test Generation 5 Users, Advanced Test Generation 25 Users, Advanced Test Generation 100 Users , Requirements Traceability, API # Security Testing # === LICENSE SERVER === # Enables using a specific license server # If true, the license network properties below will be used to retrieve a license # If false, the DTP server properties will be used to retrieve a license license.network.use.specified.server=true # Specifies license server URL, e.g., https://host [:port][/context-path] license.network.host=snake.parasoft.com # Specifies the connection type tourl=https\://[License Server Host]\:8443 # Enables http authentication for the license server ['http','tcp'] license.network.connectionauth.typeenabled=tcpfalse # Specifies username # Specifiesfor license server port # Common portsauthentication #license.network.user=[License Server Username] # Specifies password for httplicense and tcp are [8443,2002] license.network.port=2002 # Enables http authentication for the license server license.network.auth.enabled=false # Specifies username for license server authentication #license.network.user=[License Server Username] # Specifies password for license server authentication #license.network.password=[License Server Password] # === DTP SERVER === # Specifies DTP server host #dtp.server=[DTP Server Host] # Specifies DTP server port #dtp.port=8443 # Specifies username for DTP authentication #dtp.user=[DTP Server Username] # Specifies password for DTP authentication #dtp.password=[DTP Server Password] # === MISC === # Specifies scripting timeout in minutes #scripting.timeout.minutes=10 server authentication #license.network.password=[License Server Password] # === DTP SERVER === # Specifies DTP server URL, e.g., https://host[:port][/context-path] #dtp.url=https\://[DTP Server Host]\:8443 # Specifies username for DTP authentication #dtp.user=[DTP Server Username] # Specifies password for DTP authentication #dtp.password=[DTP Server Password] # Specifies the name of the DTP project that you want to link to #dtp.project=[DTP Project] # === MISC === # Specifies scripting timeout in minutes #scripting.timeout.minutes=10 # Enables logging telemetry data #usage.reporting.enabled=true # === OIDC === # Enables or disables user authentication via OpenID Connect #oidc.enabled=false # Specifies the URI of the OpenID Connect server #oidc.issuer.uri= # Specifies the ID provided by your OpenID Connect server #oidc.client.id= # Specifies the method that will be used to authenticate the user on the OpenID Connect server #oidc.cli.mode=devicecode # Specifies the path to the token file containing user authentication information #oidc.devicecode.token.file= # === REPORTS === # Specifies a tag that represents a unique identifier for each run # e.g., ${config_name}-${project_module}-${scontrol_branch}-${exec_env} #session.tag=${config_name} # Specifies a build identifier used to label results #build.id=${dtp_project}-yyyy-MM-dd # Specifies data that should be included in the report #report.developer_errors=true #report.developer_reports=true #report.authors_details=true #report.testcases_details=false #report.test_suites_only=true #report.failed_tests_only=false #report.associationsoutput_details=false #report.env_details=false #report.organize_security_findings_by=CWE #report.associations=false #report.assoc.url.pr= #report.assoc.url.fr= #report.assoc.url.task= #report.assoc.url.req= #report.assoc.url.test= |
Use the yaml file to create the configuration map for the soavirt server:
Code Block | ||
---|---|---|
| ||
kubectl create -f soavirt-config.yaml |
The following creates the soavirt server. If a custom Persistent Volume Claim name was used in previous steps make sure to update the 'claimName' field to match the custom name.
Warning: When scaling beyond one replica, the events and statistics services should be disabled.
# Specifies report format configuration ['html', 'pdf', 'xml', 'custom']
report.format=html
#report.custom.extension=
#report.custom.xsl.file=
# Specifies installation directory for Jtest or dotTEST that generates coverage report
#jtest.install.dir=
#dottest.install.dir= |
Use the yaml file to create the configuration map for the soavirt server:
Code Block | ||
---|---|---|
| ||
kubectl create -f soavirt-config.yaml |
The following creates the soavirt server. If a custom Persistent Volume Claim name was used in previous steps make sure to update the 'claimName' field to match the custom name.
Warning: When scaling beyond one replica, the events and statistics services should be disabled.
Code Block | ||||
---|---|---|---|---|
| ||||
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: soavirt
labels:
tag: soavirt
spec:
replicas: 1
selector:
matchLabels:
tag: soavirt
serviceName: soavirt
template:
metadata: | ||||
Code Block | ||||
| ||||
apiVersion: apps/v1 kind: StatefulSet metadata: name: soavirt labels: tag: soavirt spec: replicas: 1 selector: matchLabels: tag: soavirt serviceName: soavirt template: metadata: labels: tag: soavirt spec: volumes: - name: soavirt-pv persistentVolumeClaim: claimName: soavirt-pvc - name: soavirt-config configMap: name: soavirt-config containerslabels: - nametag: soavirt spec: image: parasoft/soavirt-servervolumes: - imagePullPolicyname: IfNotPresentsoavirt-pv volumeMountspersistentVolumeClaim: - nameclaimName: soavirt-pvpvc - mountPathname: /usr/local/parasoft/soavirt/webapps/ROOT/workspacesoavirt-config - name: soavirt-configconfigMap: mountPathname: /usr/local/parasoft/soavirt/webapps/config.propertiessoavirt-config containers: - subPathname: config.propertiessoavirt ports:image: parasoft/soavirt-server - nameimagePullPolicy: httpIfNotPresent containerPortvolumeMounts: 9080 - name: eventssoavirt-pv containerPort: 9617mountPath: /usr/local/parasoft/soavirt/webapps/ROOT/workspace - name: statisticssoavirt-config containerPortmountPath: 9618 /usr/local/parasoft/soavirt/webapps/config.properties startupProbe: subPath: config.properties httpGetports: - path: /soavirt/api/v6/status?fields=machineIdname: http portcontainerPort: 9080 - initialDelaySecondsname: 30events periodSecondscontainerPort: 309617 - timeoutSecondsname: 30statistics failureThresholdcontainerPort: 39618 livenessProbestartupProbe: httpGet: path: /soavirt/api/v6/status?fields=machineIdopenapi.yaml port: 9080 initialDelaySeconds: 30 periodSeconds: 30 timeoutSeconds: 30 readinessProbe failureThreshold: 3 livenessProbe: httpGet: path: /soavirt/api/v6/virtualAssets?fields=idopenapi.yaml port: 9080 initialDelaySeconds: 30 periodSeconds: 30 timeoutSeconds: 30 env env: - name: CATALINA_OPTS value: "-Dparasoft.auto.deploy.new=false -Dparasoft.event.monitoring.broker.port=9617 -Dparasoft.server.statistics.broker.port=9618" |
...