# What is the Server Deployment Package (SDP)? ## Supported Open Source Software *When deployed or certified by Perforce P4 Consulting*, the core functionality of the SDP is officially supported by Perforce Support, except for files in the `Unsupported` directory tree (which are community supported). The SDP is open source software (see the [LICENSE](LICENSE)), and accepts contributions (pending code review) from the user community. ## Documentation References The following documentation is included in the SDP: * Release Notes ([PDF](doc/ReleaseNotes.pdf) | [HTML](/view/p4-sdp/main/doc/ReleaseNotes.html)) - Learn What's New 2026.1, see summarized Change History, and more. * SDP_Guide.Unix ([PDF](doc/SDP_Guide.Unix.pdf) | [HTML](/view/p4-sdp/main/doc/SDP_Guide.Unix.html)) - Detailed documentation for SDP on UNIX/Linux. * SDP_Legacy_Upgrades.Unix ([PDF](doc/SDP_Legacy_Upgrades.Unix.pdf) | [HTML](/view/p4-sdp/main/doc/SDP_Legacy_Upgrades.Unix.html)) - Detailed documentation for upgrading SDP from pre-2020.1 versions. Once on SDP 2020.1, upgrades to newer versions are simplified with `sdp_upgrade.sh`. * SDP_Guide.Windows ([PDF](doc/SDP_Guide.Windows.pdf) | [HTML](/view/p4-sdp/main/doc/SDP_Guide.Windows.html)) - Detailed documentation for SDP on Windows. * SDP_Failover_Guide ([PDF](doc/SDP_Failover_Guide.pdf) | [HTML](/view/p4-sdp/main/doc/SDP_Failover_Guide.html)) - Targeted document with information you need to know when _executing_ a failover for which you have prepared (on UNIX/Linux or Windows). The SDP guides contain more information for _planning_ for failover. * SDP_Developer_Guide ([PDF](doc/SDP_DeveloperGuide.pdf) | [HTML](/view/p4-sdp/main/doc/SDP_DeveloperGuide.html)) - Information about working on and contributing to the SDP. ## Features and Benefits The following describes some of the many features and benefits of using the SDP to manage P4. ### Optimal Performance, Data Safety, and Simplified Backup The SDP provides a standard structure for operating Perforce that is optimized for performance, scalability, and ease of backup. The SDP Guide includes documentation that promotes volume layout and storage architecture best practices. A key SDP feature is that it maintains an offline copy of live databases. This has many benefits: * **Zero downtime** for daily metadata checkpoint operations. * Greater data safety and redundancy with an extra copy of metadata. * Faster alternative path to recovery, bypassing checkpoint replays. * Ability to swap live with regenerated databases with minimal downtime. * Faster edge seed checkpoint creation. * Edge reseed or recovery with minimized downtime. To simplify backup, all digital assets are in a single directory. Live databases that should not be backed up directly live in another, and active log files in another. For any scale environment, this makes it easy to back up the server's critical data. These directories are a natural fit for storage volume mount points, with the layout promoting best performance and data safety. ### Best Practice Configurables The SDP also maintains, on an ongoing basis, a set of best-practices configuration settings (e.g. 'configurables' and environment settings) suited to production environments, which often differ from p4d defaults. ### High Availability (HA) The SDP supports a variety of methods for achieving high availability that benefit simple, single-server environments and sophisticated global enterprise environments, and all in between. Standardized and documented recovery procedures, offline databases, and optional replication (made easier with the SDP) all make HA easier to achieve. There is more detailed discussions and references in the SDP Guides noted above. ### Disaster Recovery (DR) Just as with HA, the SDP makes it easier to implement robust, reliable DR strategies. There is more detailed discussions and references in the SDP Guides noted above. ### Fast and Safe Upgrades The SDP makes upgrades of P4 server products fast and easy, regardless of the scale of your environment. By taking advantage of the offline database structure, the SDP enables upgrades with just a few minutes of downtime (enough to do a journal rotation). ### Production Focus The p4d executable, without any configuration, is optimized for evaluation and demonstration purposes. While it has many features that can make it reliable and robust, many of those features must be configured. The SDP is intended to be used for production environments or more realistic Proof of Concept installations. ### Sophistication Simplified - Replicas, Edges, Proxies, Brokers In addition to the basics, the SDP provides **structure**, **standards**, **guidance**, and **automation** that greatly simplify deployment and management of sophisticated P4 global topologies. For example, the SDP includes tools that greatly simplify complex tasks such as: * Adding new replicas and edge servers to a topology * Checkpointing master and edge servers without down time for users * Providing a consistent way to upgrade core P4 components in a global topology. ### Multi-Instance Management The SDP supports operation of multiple instances of P4 on a machine, allowing each instance to have differing configuration, e.g. different: * Versions of software components (p4d, p4broker, etc.) * Case Sensitivity setting (sensitive/insensitive) * Unicode setting (enabled/disabled) ### Shell Environment Management The SDP provides standard mechanism for defining a controlled shell environment. This benefits p4d and other Perforce software products directly, and also provides good examples of controlling the environment for supporting automation. ### Perforce Automation Standards The SDP defines a standard for installing and configuring derived APIs. For example, Python is built with P4Python in /p4/common/python, and Perl with P4Perl in /p4/common/perl. ### Extending SDP in a Supported Way Most Perforce P4 customers use the SDP as-is. Others benefit by incorporating concepts and ideas from the SDP into their own environments, e.g. for development of custom policy enforcement triggers, systems integrations, promoting or enforcing local naming conventions, etc. The `site` directory (`/p4/common/site`) is provided for this purpose. For more information, see [The Site Directory](/view/p4-sdp/main/doc/TheSiteDirectory.html). ### Helm Management System The [Helm Management System (HMS)](https://swarm.workshop.perforce.com/projects/perforce_software-hms) is a separate, community-supported product that builds on the SDP. This is likely to be of interest at installations with sophisticated global topologies and/or a fleet of SDP instances to manage. ### Training Perforce offers Battle School Workshop, a hands-on training environment that simulates a realistic global P4 topology, including failure scenarios, for learning and practicing SDP administration. Contact Perforce Consulting (p4consulting@perforce.com) for more information. ## Platform Support The P4 SDP 2026.1 supports the following operating systems. ### Supported Platforms Operating System | SDP Support Status | Notes --- | --- | --- RHEL/Rocky Linux 8.10+ | S | **Supported**. RHEL/Rocky Linux 9.x | S | **Supported**. RHEL/Rocky Linux 10.x | S | **Supported**. Ubuntu Linux 22.04 LTS Release (Jammy Jellyfish)| S| **Supported**. Ubuntu Linux 24.04 LTS Release (Noble Numbat)| S| **Supported**. SLES Linux 15 SPx | S | **Supported**. Windows | L | **Supported**. ### Support Codes * **S**: Support, actively tested and included one or more automated regression test suites. Platform-specific issues are within normal SDP support scope. * **L**: Limited support; not actively tested but known or expected to function. Platform-specific issues may be investigated on a case-by-case basis. * **U**: Unsupported; not tested and no support commitment. Platform-specific issues may be declined or deferred. ### Other Platforms Operating System | SDP Support Status | Notes --- | --- | --- Amazon Linux 2023| L | **Limited**. Not actively tested, but expected to work. Amazon Linux 2| U | **Unsupported**. This went EOL on June 30, 2026. CentOS 8 Stream Linux | U | **Unsupported**. CentOS Stream is not actively tested with SDP and is not recommended for production SDP deployments. CentOS/RHEL Linux 6.9 | U | **Unsupported**. EOL. CentOS/RHEL Linux 7.9+ | U | **Unsupported**. This went EOL on June 30, 2024. Fedora Linux | U | **Unsupported**. Discouraged for production use. Fedora is a fast-moving development-oriented distribution and is not tested with SDP. macOS 10.14 Mojave | U | **Unsupported**. Some early SDP testing was done on macOS. There is no plan to support newer versions of macOS due to lack of demand and significant OS changes. SLES Linux 12 | U | **Unsupported**. EOL. Historical SDP deployments have succeeded, but no ongoing testing is performed. Ubuntu Linux 26.04 LTS Release (Resolute Raccoon)| U| **Unsupported**. Known compatibility issues currently affect SDP operation. Avoid until these issues are resolved. Ubuntu Linux 20.04 LTS Release (Focal Fossa)| U | **Unsupported**. Standard OS support ended May 31, 2025, ESM available through 2030. Ubuntu Linux 18.04 LTS Release (Bionic Beaver)| U| **Unsupported**. EOL. Known SDP compatibility issues exist with the default shell environment. Ubuntu Linux 16.04 LTS Release (Xenial)| U | **Unsupported**. EOL. ### Platform Support Disclaimer Platform support status reflects SDP testing and support policy, not necessarily the support status of the underlying operating system provider. ### Need Support on Other Platforms? If you need support on an unlisted or non-Linux platform, ask Perforce P4 Consulting (p4consulting@perforce.com). ## SDP Code Quality A set of 3 separate automated regression test suites with human and AI-assisted code review processes help ensure code quality. This is supplemented by manual testing, often in a P4 Battle School Workshop training lab environment. Contact Perforce Consulting (p4consulting@perforce.com) for more information. See more details about the test suite in the [Test Suite README file](test/README.md).