I have a custom developed modular input that was developed with an older version of the Add-on builder app. The custom code itself has always been compatible with python3, however I'm trying to get the app fully updated to be compatible with the most recent and upcoming versions of Splunk Enterprise and Cloud. To do that I'm trying to get past Splunk App certification. When I attempt the App Pre-certification validation process in Add-on Builder 4.0.0, it gives me the following error
Error | App Precertification | Check that all the modular inputs defined in inputs.conf.spec are explicitly set the python.version to python3. | Modular input "example" is defined in README/inputs.conf.spec, python.version should be explicitly set to python3 under each stanza. File: README/inputs.conf.spec Line Number: 3 |
However, I do have "python.version = python3" specified in the apps inputs.conf.spec file. No matter what I've tried, it keeps giving me the same error, but I can't find anymore info on what might be wrong. Any insight or suggestion would be appreciated.
I think that message may be misleading. The setting should go in inputs.conf rather than the spec file.
I'm not sure how to get that written to the inputs.conf when someone creates an input if it's not the spec. Also, I assume it would need to be in the spec file and returned in the scheme for the introspection to succeed.
Since it's an error level message, it makes me think I can't submit it for Splunk certification without fixing it.
.spec files only say what settings are allowed in .conf files. The settings only take effect if they are in a .conf. Did you try putting python.version = python3 in inputs.conf? It works for me.
Yes, I understand the purpose of the .spec vs .conf files, the input works if you manually add python.version to the inputs.conf. However the main issue is getting the app certified, not making the input work, so I know it can be deployed on the latest Splunk Enterprise and Cloud (previous versions of the app has been certified and published on Splunkbase for several years).
That's what I meant. For my app to pass vetting, I had to add "python.version = python3" to inputs.conf.