You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Bugfix: Turing API should process experiment engine passkey only if client selection enabled (#196)
* Bugfix: Passkey should not be processed if client selection disabled
* Update hardcoded sample plugin to use experiment variables, consistent with the runner
* Update RPC plugin example and docs
* Correct numbering in doc and plugin name change
* Add debug message
* Update Deployment controller to consider if client selection enabled
* Add another unit test case for TestIsClientSelectionEnabled
Co-authored-by: Krithika Sundararajan <[email protected]>
(cherry picked from commit 83a0c6c)
ExperimentRunner's configuration is stored in the Turing database together with the rest of the Router configuration. I.e:
255
255
256
256
**Router Configuration Stage:**
257
-
1. Turing Server calls `ExperimentEngine plugin`::`ExperimentManager`::`GetExperimentRunnerConfig` to retrieve
258
-
ExperimentRunner's configuration
257
+
1. Based on the type of the experiment manager (standard or custom) and the engine properties, the router's experiment data may be configured.
259
258
2. Turing Server saves this data into the database as part of the Router configuration
260
-
(`router_versions.experiment_engine`)
259
+
(`router_versions.experiment_engine`).
260
+
The screenshot below shows the configuration UI for the standard experiment engine defined in [`configs/plugin_config_example.yaml`](../examples/plugins/hardcoded/configs/plugin_config_example.yaml)
1. Turing Server retrieves Router's configuration from the Database
264
-
2. Turing Server creates required resources in the k8s cluster (deployments, services, config maps and secrets)
265
-
3. Turing Router is being deployed and during the initialization, it establishes the connection with the
266
-
ExperimentEngine plugin and passes the configuration into `ExperimentRunner`'s `Configure` method.
266
+
2. Turing Server calls `ExperimentEngine plugin`::`ExperimentManager`::`GetExperimentRunnerConfig` with the saved configuration from the DB, to create the configuration used by the `ExperimentRunner`
267
+
3. Turing Server creates required resources in the k8s cluster (deployments, services, config maps and secrets)
268
+
4. Turing Router is being deployed and during the initialization, it establishes the connection with the ExperimentEngine plugin and passes the configuration from step 2 into `ExperimentRunner`'s `Configure` method.
267
269
268
270
### Logging
269
271
In order for Turing Server/Router to include log messages from the Experiment Engine plugin, you can use
0 commit comments