Deployment Architecture

Forwarder Not Getting Updated Apps from Deployment Server

bmpotter13
New Member

I have an app bundle that packages both a Python script and inputs configuration. I have a couple of servers in a server class and am deploying my app to this class. The deployment server shows that the forwarders on each server have checked in within the last few seconds but the changes I make to my inputs.conf or my script in bin are never reflected on the server.

Will the deployment server recognize that a file has been altered in an app bundle and then push this to clients when they phone home? Or do I need to manually update existing servers while newly added servers will get the current app bundle?

Deployment server version: Splunk 6.5.1 (build f74036626f0c)

Versions of Forwarder:

Splunk Universal Forwarder 6.5.3 (build 36937ad027d4)
Splunk Universal Forwarder 6.6.1 (build aeae3fe0c5af)

All files in my app:

+---bin
|       README
|       my-script.py
|
+---default
|   |   app.conf
|   |
|   \---data
|       \---ui
|           +---nav
|           |       default.xml
|           |
|           \---views
|                   README
|
+---local
|       app.conf
|       inputs.conf
|       props.conf
|
\---metadata
        default.meta
        local.meta

serverclass.conf:

[serverClass:my_server_class:app:my_app]
restartSplunkWeb = 0
restartSplunkd = 1
stateOnClient = enabled
0 Karma

jkat54
SplunkTrust
SplunkTrust

You need more serverclass.conf settings:

  [serverClass:my_server_class]
  whitelist.0=Regex

  [serverClass:my_server_class:app:my_app]
  restartSplunkWeb = 0
  restartSplunkd = 1
  stateOnClient = enabled

Change regex to be a regex that matches the hostname, guid, or IP of the splunk forwarders that need the apps. You can have more whitelists and also blacklists. See serverclass.conf for more details.

0 Karma

somesoni2
Revered Legend

Did you restart Or reload the deployment server after making the change?
http://docs.splunk.com/Documentation/Splunk/7.1.0/Updating/Useserverclass.conf#Reload_the_deployment...

0 Karma

bmpotter13
New Member

I wouldn't think it necessary to reload an entire application to identify a new version of an app is available.

Though not mentioned in that documentation, if I uninstall the app from the server class, wait, then reinstall it, then the changes are recognized.

How does this work?

0 Karma

somesoni2
Revered Legend

If you make changes through UI, a reload is not required. If an was present and DS was reloaded, then you remove app without reloading again and put it again it still has the reference of the app and works fine. Basically when you reload or restart DS it creates checksum (can say inventory or listing) of apps, based on content and modification date. So if you change content of app you need to restart/reload DS to update the checksum.

0 Karma
Register for .conf21 Now! Go Vegas or Go Virtual!

How will you .conf21? You decide! Go in-person in Las Vegas, 10/18-10/21, or go online with .conf21 Virtual, 10/19-10/20.