A future version of Splunk Enterprise will be built to support Python 2.7 and 3.7 due to the upcoming Python 2.7 EOL on January 1, 2020, allowing for all files to be migrated to be Python 3 compatible over time. If you are a Splunk admin or developer, this means there are a few things to be aware of in advance of the upcoming release in order to build a successful upgrade plan. When upgrading, admins and developers will need to take a series of steps in order to make sure removed features and Python compatibility are addressed.
Our new Splunk Platform Upgrade Readiness app makes life easy for admins. Simply download and run — the app takes care of scanning your system and provides you with clear descriptions and action items to take prior to upgrading. In addition, check out our "Admins and Developers: We’re Transitioning to Python 3" blog post for developers to make sure the apps you build are future-proofed and remain compatible with the new release.
Python is part of Splunk’s underlying ecosystem of open source technologies, and as Python continues to modernize, admins should plan to move to Python 3 to take advantage of new libraries and reap the benefits of using supported open source software. A future release of Splunk Enterprise will default to Python 2.7, with 3.7 as an option on both the per-script and global level, and later releases will default to 3.7. While Python 2.7 will be EOL, Splunk will continue to support previous versions of Splunk Enterprise using Python 2.7 for their standard support period. Splunk reserves the right to remove support for versions of Splunk Enterprise using Python 2.7 at the end of the corresponding support periods.
Splunk users’ timelines to upgrade vary based on their unique business needs. Accordingly, it may be beneficial to add an upgrade readiness review to your project roadmap as soon as possible to help develop an upgrade plan. Government and industry customers with strict requirements around use of supported open source software should consider upgrading to a version of Splunk that supports both Python 2.7 and 3.7 and using the upgrade readiness app in the short term to appropriately account for Python 2.7’s End-of-Life on January 1, 2020.
Let’s take a look at an example of upgrade efforts supported by the Splunk Platform Upgrade Readiness app. Note that the order of these actions depends on specific upgrade requirements — for this and any future upgrade, please only conduct upgrades after consulting Python migration documentation available in connection with each Splunk Enterprise release. This example is only an illustrative sizing reference. Splunk recommends conducting all testing in a development environment, which is reflected below.
Action | Relative Effort T-Shirt Size |
---|---|
Identify impacted components using Splunk Platform Upgrade Readiness App | Small |
Use Splunk Platform Upgrade Readiness App to address prerequisites for private apps to upgrade: remove features and migrate Splunk web dependent scripts (Mako templates, CherryPy endpoints) | Small |
Migrate scripts in private apps outside of Splunk web on per-script basis to be Python 3.7 compatible | Medium to Large |
Test changes in dev environment | Small to Medium |
Update Splunkbase apps that are Python 3 compatible | Medium |
Reflect changes in production environment | Medium |
Upgrade to Enterprise version with Python 3.7 support | Depends on deployment complexity |
Finally, if you are running Splunk built applications and add-ons like Splunk Enterprise Security, the Machine Learning Toolkit (MLTK), or Splunk IT Service Intelligence (ITSI) that require extra steps to be taken due to this migration, make sure to review release documentation and include similar preparation steps in your plans when you upgrade applications to their newest versions as well.
The great news is that the upgrade to Python 3.7 will power new and exciting ways to build applications in Splunk. We look forward to sharing all the new features and functionalities powered by the upcoming release. Start your preparation now by downloading and running the Splunk Platform Upgrade Readiness app and visit our Splunk docs for more information on the move to Python 3.7, and look for further improvements to the Upgrade Readiness App in the upcoming weeks and months!
Note: This information is subject to change at any time, at the sole discretion of Splunk LLC and without notice. This roadmap information shall not be incorporated into any contract or other commitment. Splunk undertakes no obligation to either develop or deliver any product, features, or functionality described here.
The Splunk platform removes the barriers between data and action, empowering observability, IT and security teams to ensure their organizations are secure, resilient and innovative.
Founded in 2003, Splunk is a global company — with over 7,500 employees, Splunkers have received over 1,020 patents to date and availability in 21 regions around the world — and offers an open, extensible data platform that supports shared data across any environment so that all teams in an organization can get end-to-end visibility, with context, for every interaction and business process. Build a strong data foundation with Splunk.