datastore not provisioning
This is my yaml snipped to provision tracetest:
provisioning.yaml: |-
|
---
# Datastore is where your application stores its traces. You can define several different datastores with
# different names, however, only one is used by Tracetest.
# You can see all available datastore configurations at https://kubeshop.github.io/tracetest/supported-backends/
type: DataStore
spec:
name: Jaeger
# Indicates that this datastore is a jaeger instance
type: jaeger
isdefault: true
# Configures how tracetest connects to jaeger.
jaeger:
endpoint: jaeger-query.jp-integration.svc.cluster.local:16685
tls:
insecure: true
---
type: Config
spec:
analyticsEnabled: true
---
type: PollingProfile
spec:
name: Custom Profile
strategy: periodic
default: true
periodic:
timeout: 30s
retryDelay: 500ms
After install the datastore is not provisioned:
Hi @BartNetJS !
Thanks for opening this issue. Could you provide a bit more info about your setup?
- What version of Tracetest are you using?
- Is the provisioning file being loaded? ie. do the filenames match?
- Is it the first time this particular Tracetest server is started? (The provision only works if that particular Tracetest server has not been started yet)
If you could also provide steps to reproduce, that would be awesome!
Hi @adnanrahic
The version is 0.11.8
The provision.yaml file exist in the config folder:
I tried a helm install and helm upgrade.
The initial yaml file was created with
helm template tracetest kubeshop/tracetest > tracetest-kubernetes-manifests.yaml
as mentioned in the documentation.
I've changed the url for the jaeger instance and did an upgrade. I noted this og:
2023/05/23 08:22:26 Config file used: /app/config/config.yaml
tracetest-server v0.11.8 (main)
Starting
New install? false
And then deleted the release and deployed again. I saw that New install? false was still there. And the datastore was not configured.
I also can't change the datastore in th UI, see gif
and the log:
sending event "Test Connection" (test)
event sent "Test Connection" (test)
2023/05/23 09:48:33 POST /tracetest/api/config/connection TestConnection 286.065377ms
And an issue with the url if tracetest is configured with the suffix /tracetest
see also my yaml file:
tracetest.zip
Hi @BartNetJS ! Thanks for your data and your report! I'll use them to simulate this problem and as soon as we have an idea on what I'll return here!
Thanks @danielbdias, in the mean time i'm looking for a work around. But via the tracetest cli I don't see an option to install the tracetest server in another namespace. Did I overlooked that? Or is it not possible via the cli?
Maybe good to know. I can save the jaeger URL if i deploy the tracetest without the suffix /tracetest
Hey @BartNetJS I'll investigate these issues you are experiencing.
And then deleted the release and deployed again. I saw that New install? false was still there. And the data store was not configured.
When you deleted the release, was the database also deleted? The provisioning only happens in a clean database. If the database is reused, the server will not create the datastore and other structures for you at startup. If you want to reuse the same database, you only need to delete the row in the server table in your tracetest database. This will trick Tracetest to treat your instance as a new install.
About the prefix, I'll take a look at it.
We released a new version yesterday and the prefix bug was fixed in it.
When you deleted the release, was the database also deleted? The provisioning only happens in a clean database. If the database is reused, the server will not create the datastore and other structures for you at startup. If you want to reuse the same database, you only need to delete the row in the server table in your tracetest database. This will trick Tracetest to treat your instance as a new install.
Are you trying to install Tracetest using a new database or an existing one? Would be nice to know, so we can know if that's a bug or a possible feature request.
@mathnogueira I removed tracetest and the database. Then installed with
helm install jp-tracetest kubeshop/tracetest -n jp-integration-f values.yaml
With values.yaml:
provisioning: |
---
# Datastore is where your application stores its traces. You can define several different datastores with
# different names, however, only one is used by Tracetest.
# You can see all available datastore configurations at https://kubeshop.github.io/tracetest/supported-backends/
type: DataStore
spec:
name: Jaeger
# Indicates that this datastore is a jaeger instance
type: jaeger
# Configures how tracetest connects to jaeger.
jaeger:
endpoint: jaeger-query.jp-integration.svc.cluster.local:16685
tls:
insecure: true
Also the release looks ok:
But it is not picked up: