1. Bestehende Anwendung aktualisieren

Mit den folgenden Schritten kann eine bestehende Installation des Simulation Hub in der Version 1.x aktualisiert werden:

  1. Download des Anwendungsarchivs von https://download.fva-service.de/ und Ablage im bestehenden Installationsverzeichnis

  2. Entpacken mit "7-zip → Hier entpacken"

    • bereits existierende Dateien müssen überschrieben werden

  3. Anpassen der Konfigurationsdatei config/application.yml

    • die bestehende Datei kann mit den unten aufgeführten Hinweisen angepasst werden

    • die Datei config/application.yml.example einhält Beispiele für die neuen bzw. geänderten Konfigurationsparameter

2. Konfigurationsparameter

2.1. Geänderte Parameter

  • app.task.defaultWorkbenchVersion

    • Die Angabe des Parameters ist nicht mehr pflicht.

2.2. Hinzugefügte Parameter

  • app.task.schedules[0].schedule

  • app.task.schedules[0].filters.status[0]

  • app.task.schedules[0].filters.priority[0]

  • app.task.schedules[0].filters.requestedDatetime.olderThan

  • app.task.schedules[0].filters.requestedDatetime.olderThanTimeUnit

  • app.task.schedules[0].filters.startedDatetime.olderThan

  • app.task.schedules[0].filters.startedDatetime.olderThanTimeUnit

  • app.task.schedules[0].filters.endedDatetime.olderThan

  • app.task.schedules[0].filters.endedDatetime.olderThanTimeUnit

  • app.task.schedules[0].action

  • app.workbench.dataDirectory

  • app.workbench.deleteWorkbenchLogOnStart

  • app.workbench.defaultSchedules[0].schedule

  • app.workbench.defaultSchedules[0].action

  • app.workbench.instances[0].id

  • app.workbench.instances[0].additionalConfigDirectory

  • app.workbench.instances[0].schedules.schedule

  • app.workbench.instances[0].schedules.action

  • app.security.accessToken.expirationTimeUnit

  • app.security.refreshToken.secret

  • app.security.refreshToken.expiration

  • app.security.refreshToken.expirationTimeUnit

  • app.security.users[0].storagePermitted

  • app.storage.enable

  • app.storage.dataDirectory

  • app.storage.encryptionPassword

  • app.loadBalancing.gateway.enable

  • app.loadBalancing.gateway.secret

  • app.loadBalancing.gateway.agentOfflineDuration

  • app.loadBalancing.gateway.agentOfflineDurationTimeUnit

  • app.loadBalancing.gateway.agentRemoveDuration

  • app.loadBalancing.gateway.agentRemoveDurationTimeUnit

  • app.loadBalancing.agent.enable

  • app.loadBalancing.agent.gatewayUrl

  • app.loadBalancing.agent.secret

  • app.loadBalancing.agent.registrationPeriod

  • app.loadBalancing.agent.registrationPeriodTimeUnit

2.3. Gelöschte Parameter

  • app.workbench.instances[0].templatePath

  • app.security.gui.enableUnsecuredGui

  • app.loadBalancing.master.enabled

  • app.loadBalancing.master.period

  • app.loadBalancing.master.connectTimeout

  • app.loadBalancing.master.readTimeout

  • app.loadBalancing.master.secret

  • app.loadBalancing.slave.enabled

  • app.loadBalancing.slave.masterUrl

  • app.loadBalancing.slave.slaveUrl

  • app.loadBalancing.slave.period

  • app.loadBalancing.slave.connectTimeout

  • app.loadBalancing.slave.readTimeout

  • app.loadBalancing.slave.secret

3. REST-API

3.1. Geänderte Endpunkte

  • GET /actuator/health

    • Response-Body

      • Eigenschaft components.nodes entfernt

  • POST /api/1.0/auth/login

    • Umbenannt zu POST /api/2.0/auth/login

  • POST /api/1.1/workbench/task/simulate-work/create

    • Umbenannt zu POST /api/2.0/workbench/task/simulate-work/create

    • Response-Body

      • Eigenschaft executingWorkbench.id hinzugefügt

      • Eigenschaft requestedDatetime hinzugefügt

      • Eigenschaft startedDatetime hinzugefügt

      • Eigenschaft endedDatetime hinzugefügt

  • GET /api/1.1/workbench/task/simulate-work/{id}/result

    • Umbenannt zu GET /api/2.0/workbench/task/simulate-work/{id}/result

    • Response-Body

      • Eigenschaft executingWorkbench.id hinzugefügt

      • Eigenschaft requestedDatetime hinzugefügt

      • Eigenschaft startedDatetime hinzugefügt

      • Eigenschaft endedDatetime hinzugefügt

  • POST /api/1.1/workbench/task/execute-batch-job/create

    • Umbenannt zu POST /api/2.0/workbench/task/execute-batch-job/create

    • Request-Body

      • Eigenschaft inputModelReference entfernt

      • Eigenschaft inputModel.localFilePath hinzugefügt

      • Eigenschaft inputModel.storageName hinzugefügt

      • Eigenschaft inputModel.type erlaubt zusätzlich die Werte REXSJ und REXSZ

      • Eigenschaft inputScripts[0].localFilePath hinzugefügt

      • Eigenschaft inputScripts[0].storageName hinzugefügt

      • Eigenschaft additionalFiles[0].localFilePath hinzugefügt

      • Eigenschaft additionalFiles[0].storageName hinzugefügt

    • Response-Body

      • Eigenschaft executingWorkbench.id hinzugefügt

      • Eigenschaft requestedDatetime hinzugefügt

      • Eigenschaft startedDatetime hinzugefügt

      • Eigenschaft endedDatetime hinzugefügt

  • GET /api/1.1/workbench/task/execute-batch-job/{id}/result

    • Umbenannt zu GET /api/2.0/workbench/task/execute-batch-job/{id}/result

    • Response-Body

      • Eigenschaft executingWorkbench.id hinzugefügt

      • Eigenschaft requestedDatetime hinzugefügt

      • Eigenschaft startedDatetime hinzugefügt

      • Eigenschaft endedDatetime hinzugefügt

  • GET /api/1.1/workbench/task/list

    • Umbenannt zu GET /api/2.0/workbench/task/list

    • Query-Parameter id hinzugefügt

    • Query-Parameter type hinzugefügt

    • Query-Parameter name hinzugefügt

    • Query-Parameter priority hinzugefügt

    • Query-Parameter creator hinzugefügt

    • Query-Parameter status hinzugefügt

    • Reponse-Body

      • Eigenschaft content[0].classifiers hinzugefügt

  • GET /api/1.1/workbench/task/{id}

    • Umbenannt zu GET /api/2.0/workbench/task/{id}

    • Reponse-Body

      • Eigenschaft classifiers hinzugefügt

  • DELETE /api/1.0/workbench/task/{id}/cancel

    • Umbenannt zu DELETE /api/2.0/workbench/task/{id}/cancel

  • GET /api/1.1/workbench/node/instance/list

    • Umbenannt zu GET /api/2.0/workbench/node/instance/list

    • Query-Parameter id hinzugefügt

    • Query-Parameter version hinzugefügt

    • Query-Parameter labels hinzugefügt

    • Query-Parameter status hinzugefügt

    • Query-Parameter working hinzugefügt

    • Response-Body

      • Eigenschaft content[0].serverId zu content[0].agentId umbenannt

      • Eigenschaft content[0].startedDatetime hinzugefügt

  • GET /api/1.1/workbench/node/instance/{id}

    • Umbenannt zu GET /api/2.0/workbench/node/instance/{id}

    • Response-Body

      • Eigenschaft serverId zu agentId umbenannt

      • Eigenschaft startedDatetime hinzugefügt

  • PATCH /api/1.0/workbench/node/instance/{id}/start

    • Umbenannt zu PATCH /api/2.0/workbench/node/instance/{id}/start

  • PATCH /api/1.0/workbench/node/instance/{id}/stop

    • Umbenannt zu PATCH /api/2.0/workbench/node/instance/{id}/stop

  • GET /api/1.1/workbench/node/server/list

    • Umbenannt zu GET /api/2.0/workbench/node/agent/list

    • Query-Parameter id hinzugefügt

    • Query-Parameter version hinzugefügt

    • Query-Parameter status hinzugefügt

    • Response-Body

      • Eigenschaft content[0].baseUrl entfernt

      • Eigenschaft content[0].instances[0].serverId zu content[0].instances[0].agentId umbenannt

  • GET /api/1.1/workbench/node/server/{id}

    • Umbenannt zu GET /api/2.0/workbench/node/agent/{id}

    • Response-Body

      • Eigenschaft baseUrl entfernt

      • Eigenschaft instances[0].serverId zu instances[0].agentId umbenannt

3.2. Hinzugefügte Endpunkte

  • GET /actuator/logfile

  • GET /api/2.0/auth/refresh

  • GET /api/2.0/auth/logout

  • GET /api/2.0/user

  • GET /api/2.0/workbench/task/{id}/log

  • DELETE /api/2.0/workbench/task/{id}/delete

  • GET /api/2.0/workbench/node/instance/{id}/log/{type}

  • GET /api/2.0/workbench/node/instance/{id}/log/download

  • PATCH /api/2.0/workbench/node/instance/{id}/restart

  • POST /api/2.0/storage/input/upload

  • GET /api/2.0/storage/input/{name}

  • DELETE /api/2.0/storage/input/{name}/delete

  • GET /api/2.0/storage/output/{name}/download

  • GET /api/2.0/monitoring/server-info

  • GET /api/2.0/admin/prepare-shutdown

  • POST /api/2.0/admin/prepare-shutdown/change

3.3. Gelöschte Endpunkte

  • GET /api/1.1/workbench/task/list/running

  • GET /api/1.1/workbench/task/list/waiting