Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

datastore not provisioning #2565

Open
BartNetJS opened this issue May 23, 2023 · 11 comments
Open

datastore not provisioning #2565

BartNetJS opened this issue May 23, 2023 · 11 comments
Assignees
Labels
bug Something isn't working user-request

Comments

@BartNetJS
Copy link

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:

image

@BartNetJS BartNetJS added bug Something isn't working triage requires triage labels May 23, 2023
@adnanrahic
Copy link
Contributor

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!

@BartNetJS
Copy link
Author

Hi @adnanrahic

The version is 0.11.8

The provision.yaml file exist in the config folder:
image

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.

@BartNetJS
Copy link
Author

I also can't change the datastore in th UI, see gif
2023-05-23_11h48_43
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

@BartNetJS
Copy link
Author

BartNetJS commented May 23, 2023

And an issue with the url if tracetest is configured with the suffix /tracetest
image
see also my yaml file:
tracetest.zip

@danielbdias danielbdias self-assigned this May 23, 2023
@danielbdias
Copy link
Contributor

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!

@danielbdias danielbdias removed the triage requires triage label May 23, 2023
@BartNetJS
Copy link
Author

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?

@BartNetJS
Copy link
Author

Maybe good to know.
I can save the jaeger URL if i deploy the tracetest without the suffix /tracetest

image

@mathnogueira
Copy link
Member

mathnogueira commented May 25, 2023

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.

@mathnogueira
Copy link
Member

We released a new version yesterday and the prefix bug was fixed in it.

@mathnogueira
Copy link
Member

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.

@BartNetJS
Copy link
Author

@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:

image

But it is not picked up:
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working user-request
Projects
None yet
Development

No branches or pull requests

4 participants