All Apps and Add-ons

Splunk DB Connect deployment to shcluster gives error "Identity password is corrupted."

JykkeDaMan
Path Finder

I have installed and configured the DB connect under my deployer. Added identities and connections.

Then copied the etc/apps/splunk_app_db_connect to /etc/shcluster/apps/ and pushed the bundle to shcluster. 

As per doc: https://help.splunk.com/en/splunk-cloud-platform/connect-relational-databases/deploy-and-use-splunk-...

App is deployed but identity.dat file is generated every 30s on sh members and that is different than on my deployer.

DB Connect GUI on SH members gives me an error: "Identity password is corrupted."

What did I miss?

Labels (1)
0 Karma
1 Solution

JykkeDaMan
Path Finder

This is how I got it fixed.

So, what I did instead was:
- Stop Splunkd on deployer.
- curl delete secret on every shcluster member.

curl -k -u username -X DELETE https://<host>:<management-port>/servicesNS/nobody/splunk_app_db_connect/storage/collections/data/secret


- Delete full directory /opt/spluk/etc/apps/splunk_app_db_connect from shcluster members.
- Restart Splunkd on all shcluster members.
- Start deployer and push bundle to deploy the app again.

Now the identity.dat is the same on all sh1-3 and deployer.

But I think the issue comes from my deployment process due to this nasty bug:

https://splunk.my.site.com/customer/s/article/Pushing-App-config-changes-from-search-head-cluster-de...

As I cannot just change the .conf files under shcluster/apps/<app>/ and push the bundle, I have to do:
1. mv shcluster/apps/splunk_app_db_connect shcluster/apps/splunk_app_db_connect_temp
2. Push the bundle and wait for the rolling restart of shcluster members.
3. mv shcluster/apps/splunk_app_db_connect_temp shcluster/apps/splunk_app_db_connect
4. Push the bundle and wait for the rolling testart of shcluster members.

And while the _temp app gets deployed and started, I assume that will mess up the KV-store secret (and/or the identity.dat)?
As after my above procedure, the identity.dat on shcluster members != deployer and the app gives an error again.

View solution in original post

0 Karma

JykkeDaMan
Path Finder

This is how I got it fixed.

So, what I did instead was:
- Stop Splunkd on deployer.
- curl delete secret on every shcluster member.

curl -k -u username -X DELETE https://<host>:<management-port>/servicesNS/nobody/splunk_app_db_connect/storage/collections/data/secret


- Delete full directory /opt/spluk/etc/apps/splunk_app_db_connect from shcluster members.
- Restart Splunkd on all shcluster members.
- Start deployer and push bundle to deploy the app again.

Now the identity.dat is the same on all sh1-3 and deployer.

But I think the issue comes from my deployment process due to this nasty bug:

https://splunk.my.site.com/customer/s/article/Pushing-App-config-changes-from-search-head-cluster-de...

As I cannot just change the .conf files under shcluster/apps/<app>/ and push the bundle, I have to do:
1. mv shcluster/apps/splunk_app_db_connect shcluster/apps/splunk_app_db_connect_temp
2. Push the bundle and wait for the rolling restart of shcluster members.
3. mv shcluster/apps/splunk_app_db_connect_temp shcluster/apps/splunk_app_db_connect
4. Push the bundle and wait for the rolling testart of shcluster members.

And while the _temp app gets deployed and started, I assume that will mess up the KV-store secret (and/or the identity.dat)?
As after my above procedure, the identity.dat on shcluster members != deployer and the app gives an error again.

0 Karma

Meett
Splunk Employee
Splunk Employee

Hello @JykkeDaMan This can be addressed by following below steps:

  • Stop the Deployer
    First, stop the deployer service to begin the resolution process.

  • Stop the Splunk Service on Each Cluster Node
    On each cluster node, stop the Splunk service before proceeding.

  • Remove Keystore and Password Files
    On each cluster node, remove the following files:

    • keystore/default.jks

    • certs/keystore_password.dat

  • Delete Secret Data from Splunk Storage Collections
    Run the following command on each cluster node to delete the secret data: 

curl -k -u username -X DELETE https://<host>:<management-port>/servicesNS/nobody/splunk_app_db_connect/storage/collections/data/secret

 

  • Repeat the Process on All Cluster Nodes
    Perform steps 2 through 4 on all nodes in the cluster to ensure consistency.

  • Start the Splunk Service on All Nodes
    After completing the above steps on all nodes, start the Splunk service again


Also raising support case can make your work more easily in such issues.

 

 

 

0 Karma

JykkeDaMan
Path Finder

Hmmm, how do I run the curl to 8089 if I have the Splunkd stopped on all the shc nodes?

0 Karma

JykkeDaMan
Path Finder

Ok, i'll try.

But was there something I did wrong when deploying the app? Why did I end up into this state and how to prevent it in the future?

0 Karma
Career Survey
First 500 qualified respondents will receive a $20 gift card! Tell us about your professional Splunk journey.

Can’t make it to .conf25? Join us online!

Get Updates on the Splunk Community!

Can’t Make It to Boston? Stream .conf25 and Learn with Haya Husain

Boston may be buzzing this September with Splunk University and .conf25, but you don’t have to pack a bag to ...

Splunk Lantern’s Guide to The Most Popular .conf25 Sessions

Splunk Lantern is a Splunk customer success center that provides advice from Splunk experts on valuable data ...

Unlock What’s Next: The Splunk Cloud Platform at .conf25

In just a few days, Boston will be buzzing as the Splunk team and thousands of community members come together ...