Check this manual often for updated information about the Splunk platform Python 3 migration. The content is subject to change.
Splunk Cloud supports Splunk Enterprise version 8.x, which supports both Python 2.7 and Python 3.7. Splunk Cloud will also continue to support prior versions of Splunk Enterprise 7.x, which support Python 2.7 only. Splunk will upgrade all supported apps vetted for Splunk Cloud as soon as they can be made available.
Support for Python 2 -- and for any app that is compatible only with Python 2 -- will be removed from a future Splunk Cloud release. All apps that use Python should be upgraded to Python 3 to continue to be deployed in Splunk Cloud.
What Should I Do Next?
Complete the steps below to ensure all 3rd-party Splunkbase and private apps in your Splunk Cloud instances are Python 3 compatible.
1. Splunkbase apps: all Splunk Cloud customers - whether on 7.x, or 8.x - must install Splunk Cloud 8.x compatible versions of all Splunkbase 3rd-party apps. Please note the following regarding Splunkbase apps and Python 3 compatibility:
- All Splunk Supported apps and add-ons are Python 3 compatible and will be upgraded in your Splunk Cloud environment as needed.
- Any app or add-on that is listed as Splunk Cloud 8.0 compatible is Python 3 compatible.
- Any app or add-on listed as Splunk Cloud 7.x and 8.0 compatible is both Python 2 and 3 compatible.
With the information above, you can use the Applications view in the Upgrade Readiness dashboard of the Cloud Monitoring Console to track the compatibility of your installed Splunkbase apps. Note that the documentation for the Upgrade Readiness dashboard is available only for versions 8.x. For more information, see Review application compatibility in the Splunk Cloud Platform Admin Manual.
2. Private apps: all private apps installed in all Splunk Cloud environments need to also be upgraded for Python 3 compatibility. This may apply even if you are already on Splunk Cloud 8.x, since there may be private apps still using Python 2 in your environment. Splunk provides multiple resources to help with the upgrade:
- Identify necessary app changes. Administrators can self-install and run the Splunk Platform Upgrade Readiness App in your Splunk Cloud environment to identify all private apps that use Python. App developers can refer to Python development with Splunk Enterprise to identify app features that need to be updated, and Python code compatibility for common code fixes. The Splunk AppInspect API can be used to scan apps for necessary changes, and to validate apps once upgraded.
- Upgrade your apps. Splunk Cloud 7.0.x or 7.2.x customers need to use compatibility libraries to enable upgraded apps to continue to run on Python 2 until their instances are upgraded to Splunk Cloud 8.x and Python 3. Splunk Cloud customers should use the Six compatibility libraries for Python 2 and 3 compatibility.
- To enable better self-service of your apps, leverage the Packaging Toolkit when building your apps.
3. Unused apps: any Splunkbase 3rd-party or private apps that have not been upgraded for Python 3.7 compatibility must be removed from your Splunk Cloud environment.
Apps vetted for Splunk Cloud must be resubmitted for new Splunk Cloud vetting after the app has been made Python 3-compatible.
Ensure that private apps and Splunkbase apps are compatible with both Splunk Enterprise version 7.x and version 8.x before submitting them for installation.
Apps for Splunk Cloud will follow the same guidelines as on-premises apps, with the added requirement of passing Splunk Cloud vetting.
Python Code Compatibility
Python with Splunk Enterprise Security
This documentation applies to the following versions of Splunk® Enterprise: 7.0.0, 7.0.1, 7.0.2, 7.0.3, 7.0.4, 7.0.5, 7.0.6, 7.0.7, 7.0.8, 7.0.9, 7.0.10, 7.0.11, 7.0.13, 7.1.0, 7.1.1, 7.1.2, 7.1.3, 7.1.4, 7.1.5, 7.1.6, 7.1.7, 7.1.8, 7.1.9, 7.1.10, 7.2.0, 7.2.1, 7.2.2, 7.2.3, 7.2.4, 7.2.5, 7.2.6, 7.2.7, 7.2.8, 7.2.9, 7.2.10, 7.3.0, 7.3.1, 7.3.2, 7.3.3, 7.3.4, 7.3.5, 7.3.6, 7.3.7, 7.3.8, 7.3.9, 8.0.0, 8.0.1, 8.0.2, 8.0.3, 8.0.4, 8.0.5, 8.0.6, 8.0.7, 8.0.8, 8.0.9, 8.0.10, 8.1.0, 8.1.1, 8.1.2, 8.1.3, 8.1.4, 8.1.5, 8.1.6, 8.2.0, 8.2.1, 8.2.2