CINXE.COM

Reference Architecture: Red Hat OpenShift Container Platform on Lenovo ThinkSystem, ThinkEdge and ThinkAgile HX Servers > Lenovo Press

<!DOCTYPE html> <!----><html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Reference Architecture: Red Hat OpenShift Container Platform on Lenovo ThinkSystem, ThinkEdge and ThinkAgile HX Servers &gt; Lenovo Press</title> <meta name="description" content="This document describes the reference architecture for the Red Hat OpenShift Container Platform 4.15 solution based on the Lenovo ThinkSystem, ThinkEdge, and ThinkAgile HX platform. The document provides a technical overview of Red Hat OpenShift Container Platform, which is built around a core of application containers powered by CRI-O, with orchestration and management provided by Kubernetes, on a foundation of Red Hat Enterprise Linux (RHEL) or Red Hat Enterprise Linux CoreOS (RHCOS). Lenovo ThinkSystem DM series can be used as persistent storage with storage provisioner supporting Container Storage Interface (CSI). The document also provides Red Hat OpenShift Container Platform deployment overview on bare-metal and hyper-converged infrastructure. Red Hat OpenShift Container Platform provides many enterprise-ready features like enhanced security, multi-tenancy, virtualization, data science/AI platform, simplified application deployment, and continuous integration/continuous deployment tools. With Lenovo servers and Lenovo Open Cloud-Automation (LOC-A) technologies, deployment, provisioning and managing the Red Hat OpenShift Container Platform infrastructure becomes effortless and produces a resilient solution. The document also describes how Red Hat OpenShift extends the capabilities of native Kubernetes to edge side, supporting a flexible edge site configuration, from single node to 3 nodes, from regional location to far edge, let organization select mixed and matched topology at their edge sites. Lenovo works closely with Red Hat to provide a series of engineered, tested, and certified OpenShift Deployment Ready Solutions (DRS) for customers to get fast time to value benefit and accelerate business advantage. The reference architecture is intended for IT decision makers, infrastructure and application architects looking to plan and implement On-Prem and Edge container cloud. Knowledge of containers, Kubernetes, cloud, and data center infrastructure architecture will be helpful."> <link rel="stylesheet" href="https://use.typekit.net/jpv1fnb.css"> <link href="/css/main.css?20241115" rel="stylesheet" type="text/css"> <link href="/css/isg-content.css?20230531" rel="stylesheet" type="text/css"> <link href="/css/commonheader.css?202201118" rel="stylesheet" type="text/css"> <link href="/css/commonfooter.css" rel="stylesheet" type="text/css"> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fancyapps/ui@5.0/dist/fancybox/fancybox.css"> <meta property="og:site_name" content="Lenovo Press"> <meta property="og:title" content="Reference Architecture: Red Hat OpenShift Container Platform on Lenovo ThinkSystem, ThinkEdge and ThinkAgile HX Servers"> <meta property="og:description" content="This document describes the reference architecture for the Red Hat OpenShift Container Platform 4.15 solution based on the Lenovo ThinkSystem, ThinkEdge, and ThinkAgile HX platform. The document provides a technical overview of Red Hat OpenShift Container Platform, which is built around a core of application containers powered by CRI-O, with orchestration and management provided by Kubernetes, on a foundation of Red Hat Enterprise Linux (RHEL) or Red Hat Enterprise Linux CoreOS (RHCOS). Lenovo ThinkSystem DM series can be used as persistent storage with storage provisioner supporting Container Storage Interface (CSI). The document also provides Red Hat OpenShift Container Platform deployment overview on bare-metal and hyper-converged infrastructure. Red Hat OpenShift Container Platform provides many enterprise-ready features like enhanced security, multi-tenancy, virtualization, data science/AI platform, simplified application deployment, and continuous integration/continuous deployment tools. With Lenovo servers and Lenovo Open Cloud-Automation (LOC-A) technologies, deployment, provisioning and managing the Red Hat OpenShift Container Platform infrastructure becomes effortless and produces a resilient solution. The document also describes how Red Hat OpenShift extends the capabilities of native Kubernetes to edge side, supporting a flexible edge site configuration, from single node to 3 nodes, from regional location to far edge, let organization select mixed and matched topology at their edge sites. Lenovo works closely with Red Hat to provide a series of engineered, tested, and certified OpenShift Deployment Ready Solutions (DRS) for customers to get fast time to value benefit and accelerate business advantage. The reference architecture is intended for IT decision makers, infrastructure and application architects looking to plan and implement On-Prem and Edge container cloud. Knowledge of containers, Kubernetes, cloud, and data center infrastructure architecture will be helpful."> <meta property="og:type" content="website"> <meta property="og:locale" content="en"> <meta property="og:url" content="https://lenovopress.lenovo.com/lp0968-red-hat-openshift-container-platform-reference-architecture"> <meta property="og:image" content="https://lenovopress.lenovo.com/share/39b9441ab9602664dc71cf8141b827d5/meta_og.png"> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:title" content="Reference Architecture: Red Hat OpenShift Container Platform on Lenovo ThinkSystem, ThinkEdge and ThinkAgile HX Servers"> <meta property="twitter:description" content="This document describes the reference architecture for the Red Hat OpenShift Container Platform 4.15 solution based on the Lenovo ThinkSystem, ThinkEdge, and ThinkAgile HX platform. The document provides a technical overview of Red Hat OpenShift Container Platform, which is built around a core of application containers powered by CRI-O, with orchestration and management provided by Kubernetes, on a foundation of Red Hat Enterprise Linux (RHEL) or Red Hat Enterprise Linux CoreOS (RHCOS). Lenovo ThinkSystem DM series can be used as persistent storage with storage provisioner supporting Container Storage Interface (CSI). The document also provides Red Hat OpenShift Container Platform deployment overview on bare-metal and hyper-converged infrastructure. Red Hat OpenShift Container Platform provides many enterprise-ready features like enhanced security, multi-tenancy, virtualization, data science/AI platform, simplified application deployment, and continuous integration/continuous deployment tools. With Lenovo servers and Lenovo Open Cloud-Automation (LOC-A) technologies, deployment, provisioning and managing the Red Hat OpenShift Container Platform infrastructure becomes effortless and produces a resilient solution. The document also describes how Red Hat OpenShift extends the capabilities of native Kubernetes to edge side, supporting a flexible edge site configuration, from single node to 3 nodes, from regional location to far edge, let organization select mixed and matched topology at their edge sites. Lenovo works closely with Red Hat to provide a series of engineered, tested, and certified OpenShift Deployment Ready Solutions (DRS) for customers to get fast time to value benefit and accelerate business advantage. The reference architecture is intended for IT decision makers, infrastructure and application architects looking to plan and implement On-Prem and Edge container cloud. Knowledge of containers, Kubernetes, cloud, and data center infrastructure architecture will be helpful."> <meta name="twitter:image" content="https://lenovopress.lenovo.com/share/39b9441ab9602664dc71cf8141b827d5/meta_twitter_summary_large.png"> <script> const lmd = { BPID: "", PageTitle: "Reference Architecture: Red Hat OpenShift Container Platform on Lenovo ThinkSystem, ThinkEdge and ThinkAgile HX Servers", area: "ISG", bu: "ISG", cc: "WW", country: "WW", currency: "USD", currencycode: "USD", description: "This document describes the reference architecture for the Red Hat OpenShift Container Platform 4.15 solution based on the Lenovo ThinkSystem, ThinkEdge, and ThinkAgile HX platform. The document provides a technical overview of Red Hat OpenShift Container Platform, which is built around a core of application containers powered by CRI-O, with orchestration and management provided by Kubernetes, on a foundation of Red Hat Enterprise Linux (RHEL) or Red Hat Enterprise Linux CoreOS (RHCOS). Lenovo ThinkSystem DM series can be used as persistent storage with storage provisioner supporting Container Storage Interface (CSI). The document also provides Red Hat OpenShift Container Platform deployment overview on bare-metal and hyper-converged infrastructure. \n\n Red Hat OpenShift Container Platform provides many enterprise-ready features like enhanced security, multi-tenancy, virtualization, data science\/AI platform, simplified application deployment, and continuous integration\/continuous deployment tools. With Lenovo servers and Lenovo Open Cloud-Automation (LOC-A) technologies, deployment, provisioning and managing the Red Hat OpenShift Container Platform infrastructure becomes effortless and produces a resilient solution. \n\n The document also describes how Red Hat OpenShift extends the capabilities of native Kubernetes to edge side, supporting a flexible edge site configuration, from single node to 3 nodes, from regional location to far edge, let organization select mixed and matched topology at their edge sites. \n\n Lenovo works closely with Red Hat to provide a series of engineered, tested, and certified OpenShift Deployment Ready Solutions (DRS) for customers to get fast time to value benefit and accelerate business advantage. \n\n The reference architecture is intended for IT decision makers, infrastructure and application architects looking to plan and implement On-Prem and Edge container cloud. Knowledge of containers, Kubernetes, cloud, and data center infrastructure architecture will be helpful.", fusionABSessionID: "", fusionExpID: "", fusionQueryID: "", internalsearchcanonical: "https://lenovopress.lenovo.com/lp0968-red-hat-openshift-container-platform-reference-architecture", keywords: "", language: "en-us", lc: "en-us", originStore: "", pageName: "Reference Architecture: Red Hat OpenShift Container Platform on Lenovo ThinkSystem, ThinkEdge and ThinkAgile HX Servers", platform: "", regioncode: "WW", robots: "INDEX,FOLLOW", siteRoot: "/", taxonomytype: "", storeID:"", storetype:"Public", viewport: "width=device-width, initial-scale=1", yottaa: "disabled" } </script> </head> <body> <script type="text/javascript"> (function() { var didInit = false function initMunchkin() { if(didInit === false) { didInit = true Munchkin.init('183-WCT-620', { 'altIds': ['384-QRQ-881'] }) } } var s = document.createElement('script') s.type = 'text/javascript' s.async = true s.src = '//munchkin.marketo.net/munchkin.js' s.onreadystatechange = function() { if (this.readyState == 'complete' || this.readyState == 'loaded') { initMunchkin() } } s.onload = initMunchkin document.getElementsByTagName('head')[0].appendChild(s) })() </script> <script src="https://assets.adobedtm.com/498114d772a9/e8f2dfe68a51/launch-51c0785ae79f.min.js"></script> <div id="wrap"> <div level="1" width="100px" height="100px" style="width:100%;" order="1" class="layoutBox-sm cms_currency_layout"> <div> <div class="commonHeader scroll"> <div class="flex nav_view"> <ul class="sup_nav" role="menubar"> <li class="nav_item" role="menuitem" navposkey="pc_nav"> <a class="lazy_href" href="https://www.lenovo.com/us/en/pc/" tabindex="0"> <div class="nav_item_title"> <div class="text"> <span class="nowrap">PC&nbsp;&amp;</span> TABLETS </div> </div> </a> </li> <li class="nav_item" role="menuitem" navposkey="phones_nav"> <a class="lazy_href" href="https://www.lenovo.com/us/en/phones/" tabindex="0"> <div class="nav_item_title"> <div class="text"> PHONES </div> </div> </a> </li> <li class="nav_item sup_nav_active" role="menuitem" navposkey="datacenter_nav"> <a class="lazy_href" href="https://www.lenovo.com/us/en/servers-storage/" tabindex="0"> <div class="nav_item_title"> <div class="text"> <span class="nowrap">SERVERS&nbsp;&amp;</span> STORAGE </div> </div> </a> </li> <li class="nav_item" role="menuitem" navposkey="smartdevices_nav"> <a class="lazy_href" href="https://www.lenovo.com/us/en/devices/" tabindex="0"> <div class="nav_item_title"> <div class="text"> SMART DEVICES </div> </div> </a> </li> <li class="nav_item" role="menuitem" navposkey="services_nav"> <a class="lazy_href" href="https://www.lenovo.com/us/en/services" tabindex="0"> <div class="nav_item_title"> <div class="text"> <span class="nowrap">SERVICES&nbsp;&amp;</span> SOLUTIONS </div> </div> </a> </li> <li class="nav_item" role="menuitem" navposkey="support_nav"> <a class="lazy_href" href="https://support.lenovo.com" tabindex="0"> <div class="nav_item_title"> <div class="text"> SUPPORT </div> </div> </a> </li> </ul> <div id="navburger"><a href="#" class="btn btn-default"><span class="glyphicon show_lines"></span></a></div> <div id="burgerhome"><a href="/"><span class="glyphicon home"></span></a></div> <div class="searchwrap"> <div class="loginwrap"> <a href="/lenovousers/login?redirect=/lp0968-red-hat-openshift-container-platform-reference-architecture" class="btn btn-default" id="btn_login"><i class="glyphicon halflings user"></i> Employee Login</a> </div> <div> <form name="quicksearch" action="/search" method="post" role="form"> <div class="input-group"> <input type="text" name="term" class="form-control" placeholder="NEW SEARCH"> <input type="hidden" name="sort" value="relevance"> <span class="input-group-btn"><button type="submit" class="btn"><span class="glyphicon halflings search"></span></button></span> </div> </form> </div> </div> </div> <div class="masthead flex"> <div class="header_left flex"> <a class="header_lenovoLogo logo lazy_href" tabindex="1" href="https://www.lenovo.com/us/en/?Redirect=False"> <img src="//p1-ofp.static.pub/fes/cms/2021/05/17/wwitarj10xywbz5a6kni986lfn9kng381054.svg" alt="lenovo logo"> </a> <div class="storeName"> </div> <div class="header_skip_main" role="button" tabindex="1" data-tkey="skip.to.main.content">skip to main content </div> </div> <div class="header_right" style="display: flex;"> <a href="/"><h2>Lenovo <strong>Press</strong></h2></a> </div> </div> <div class="second_view"> <div class="second_list"> <div id="wordmark"><a href="/"><h4>Lenovo<strong> Press</strong></h4></a></div> <ul class="second_list_ul appmenu" role="menubar" aria-label="ariaLabel"><li class="second_list_item" tabindex="0" role="menuitem" aria-expanded="false"><a class="lazy_href" target="_self" tabindex="-1" data-name="&lt;p&gt;Home&lt;/p&gt;" href="/"><div class="second_list_title"><span class="text"><p>Home</p></span></div></a></li><li class="second_list_item hasMegamenu" tabindex="0" role="menuitem" aria-expanded="false"><a class="lazy_href" target="_self" tabindex="-1" data-name="&lt;p&gt;Portfolio&lt;/p&gt;" aria-haspopup="true"><div class="second_list_title"><span class="text"><p>Portfolio</p></span></div></a><div class="three_view"><div class="main"><ul role="menu"><li><a href="https://lenovopress.com/lp1553-lenovo-servers-and-storage-portfolio-guide">Portfolio Guide</a></li><li><a href="https://lenovopress.com/3dtours/">3D Tour Catalog</a></li><li><a href="https://lenovopress.lenovo.com/sellertraining">Seller Training Courses</a></li></ul></div></div></li><li class="second_list_item hasMegamenu" tabindex="0" role="menuitem" aria-expanded="false"><a class="lazy_href" target="_self" tabindex="-1" data-name="&lt;p&gt;Servers&lt;/p&gt;" aria-haspopup="true"><div class="second_list_title"><span class="text"><p>Servers</p></span></div></a><div class="three_view"><div class="main"><ul role="menu"><li><a aria-haspopup="true" class="parent">ThinkSystem V4</a><ul><li><a href="/servers/thinksystem-v4/sc777-v4">SC777 V4</a></li><li><a href="/servers/thinksystem-v4/sc750-v4">SC750 V4</a></li><li><a href="/servers/thinksystem-v4/sr630-v4">SR630 V4</a></li><li><a href="/servers/thinksystem-v4/sd520-v4">SD520 V4</a></li></ul></li><li><a aria-haspopup="true" class="parent">ThinkSystem V3</a><ul><li><a href="/servers/thinksystem-v3/sr950-v3">SR950 V3</a></li><li><a href="/servers/thinksystem-v3/sr860-v3">SR860 V3</a></li><li><a href="/servers/thinksystem-v3/sr850-v3">SR850 V3</a></li><li><a href="/servers/thinksystem-v3/sr780a-v3">SR780a V3</a></li><li><a href="/servers/thinksystem-v3/sr685a-v3">SR685a V3</a></li><li><a href="/servers/thinksystem-v3/sr680a-v3">SR680a V3</a></li><li><a href="/servers/thinksystem-v3/sr675-v3">SR675 V3</a></li><li><a href="/servers/thinksystem-v3/sr665-v3">SR665 V3</a></li><li><a href="/servers/thinksystem-v3/sr655-v3">SR655 V3</a></li><li><a href="/servers/thinksystem-v3/sr650-v3">SR650 V3</a></li><li><a href="/servers/thinksystem-v3/sr645-v3">SR645 V3</a></li><li><a href="/servers/thinksystem-v3/sr635-v3">SR635 V3</a></li><li><a href="/servers/thinksystem-v3/sr630-v3">SR630 V3</a></li><li><a href="/servers/thinksystem-v3/sr250-v3">SR250 V3</a></li><li><a href="/servers/thinksystem-v3/hs350x-v3">HS350X V3</a></li><li><a href="/servers/thinksystem-v3/st650-v3">ST650 V3</a></li><li><a href="/servers/thinksystem-v3/st250-v3">ST250 V3</a></li><li><a href="/servers/thinksystem-v3/st50-v3">ST50 V3</a></li><li><a href="/servers/thinksystem-v3/sd665-n-v3">SD665-N V3</a></li><li><a href="/servers/thinksystem-v3/sd665-v3">SD665 V3</a></li><li><a href="/servers/thinksystem-v3/sd650-n-v3">SD650-N V3</a></li><li><a href="/servers/thinksystem-v3/sd650-i-v3">SD650-I V3</a></li><li><a href="/servers/thinksystem-v3/sd650-v3">SD650 V3</a></li><li><a href="/servers/thinksystem-v3/sd550-v3">SD550 V3</a></li><li><a href="/servers/thinksystem-v3/sd535-v3">SD535 V3</a></li><li><a href="/servers/thinksystem-v3/sd530-v3">SD530 V3</a></li><li><a href="/servers/thinksystem-v3/wr5220-g3">WR5220 G3</a></li></ul></li><li><a aria-haspopup="true" class="parent">ThinkSystem V2</a><ul><li><a href="/servers/thinksystem-v2/sr860-v2">SR860 V2</a></li><li><a href="/servers/thinksystem-v2/sr850-v2">SR850 V2</a></li><li><a href="/servers/thinksystem-v2/sr670-v2">SR670 V2</a></li><li><a href="/servers/thinksystem-v2/sr660-v2">SR660 V2</a></li><li><a href="/servers/thinksystem-v2/sr650-v2">SR650 V2</a></li><li><a href="/servers/thinksystem-v2/sr630-v2">SR630 V2</a></li><li><a href="/servers/thinksystem-v2/sr590-v2">SR590 V2</a></li><li><a href="/servers/thinksystem-v2/sr250-v2">SR250 V2</a></li><li><a href="/servers/thinksystem-v2/st650-v2">ST650 V2</a></li><li><a href="/servers/thinksystem-v2/st250-v2">ST250 V2</a></li><li><a href="/servers/thinksystem-v2/st50-v2">ST50 V2</a></li><li><a href="/servers/thinksystem-v2/sd650-n-v2">SD650-N V2</a></li><li><a href="/servers/thinksystem-v2/sd650-v2">SD650 V2</a></li><li><a href="/servers/thinksystem-v2/sd630-v2">SD630 V2</a></li><li><a href="/servers/thinksystem-v2/sn550-v2">SN550 V2</a></li><li><a href="/servers/thinksystem-v2/wr3220-g2">WR3220 G2</a></li></ul></li><li><a aria-haspopup="true" class="parent">ThinkSystem</a><ul><li><a href="/servers/thinksystem/sr950">SR950</a></li><li><a href="/servers/thinksystem/sr860">SR860</a></li><li><a href="/servers/thinksystem/sr850p">SR850P </a></li><li><a href="/servers/thinksystem/sr850">SR850</a></li><li><a href="/servers/thinksystem/sr670">SR670</a></li><li><a href="/servers/thinksystem/sr665">SR665</a></li><li><a href="/servers/thinksystem/sr655">SR655</a></li><li><a href="/servers/thinksystem/sr650">SR650</a></li><li><a href="/servers/thinksystem/sr645">SR645</a></li><li><a href="/servers/thinksystem/sr635">SR635</a></li><li><a href="/servers/thinksystem/sr630">SR630</a></li><li><a href="/servers/thinksystem/sr590">SR590</a></li><li><a href="/servers/thinksystem/sr570">SR570</a></li><li><a href="/servers/thinksystem/sr550">SR550</a></li><li><a href="/servers/thinksystem/sr530">SR530</a></li><li><a href="/servers/thinksystem/sr250">SR250</a></li><li><a href="/servers/thinksystem/sr150">SR150</a></li><li><a href="/servers/thinksystem/sd650">SD650</a></li><li><a href="/servers/thinksystem/sd530">SD530</a></li><li><a href="/servers/thinksystem/st550">ST550</a></li><li><a href="/servers/thinksystem/st250">ST250</a></li><li><a href="/servers/thinksystem/st50">ST50</a></li><li><a href="/servers/thinksystem/sn850">SN850</a></li><li><a href="/servers/thinksystem/sn550">SN550</a></li></ul></li><li><a aria-haspopup="true" class="parent">ThinkEdge</a><ul><li><a href="/servers/thinkedge/se455-v3">SE455 V3</a></li><li><a href="/servers/thinkedge/se450">SE450</a></li><li><a href="/servers/thinkedge/se360-v2">SE360 V2</a></li><li><a href="/servers/thinkedge/se350-v2">SE350 V2</a></li><li><a href="/servers/thinkedge/se350">SE350</a></li></ul></li><li><a aria-haspopup="true" class="parent">ThinkAgile</a><ul><li><a href="/servers/thinkagile/hx-series">HX Series for Nutanix</a></li><li><a href="/servers/thinkagile/mx-series">MX Series for Microsoft</a></li><li><a href="/servers/thinkagile/sxm-series">SX for Microsoft</a></li><li><a href="/servers/thinkagile/vx-series">VX Series for VMware</a></li></ul></li><li><a href="/servers/wentian">WenTian (&#32852;&#24819;&#38382;&#22825;)</a></li><li><a href="/servers/mission-critical">Mission Critical</a></li><li><a href="/servers/hyperconverged">Hyperconverged</a></li><li><a aria-haspopup="true" class="parent">Rack Servers</a><ul><li><a href="/servers/racks/1s">1-Socket</a></li><li><a href="/servers/racks/2s">2-Socket</a></li><li><a href="/servers/racks/4s">4-Socket</a></li><li><a href="/servers/racks/8s">8-Socket</a></li></ul></li><li><a aria-haspopup="true" class="parent">Tower Servers</a><ul><li><a href="/servers/towers/1s">1-Socket</a></li><li><a href="/servers/towers/2s">2-Socket</a></li></ul></li><li><a href="/servers/edge">Edge Servers</a></li><li><a href="/servers/multinode">Multi-Node Servers</a></li><li><a href="/servers/dense">Supercomputing</a></li><li><a aria-haspopup="true" class="parent">Blade Servers</a><ul><li><a href="/servers/blades/server">Servers</a></li><li><a href="/servers/blades/chassis">Chassis</a></li><li><a href="/servers/blades/expansion">Expansion Units</a></li><li><a href="/servers/blades/networkmodule">Network Modules</a></li><li><a href="/servers/blades/storagemodule">Storage Modules</a></li><li><a href="/servers/blades/nic">Network Adapters</a></li><li><a href="/servers/blades/hba">Storage Adapters</a></li></ul></li><li><a aria-haspopup="true" class="parent">Options</a><ul><li><a href="/servers/options/processors">Processors</a></li><li><a href="/servers/options/memory">Memory</a></li><li><a href="/servers/options/coprocessors">Coprocessors</a></li><li><a href="/servers/options/gpu">GPU adapters</a></li><li><a href="/servers/options/drives">Drives</a></li><li><a href="/servers/options/raid">RAID Adapters</a></li><li><a href="/servers/options/ethernet">Ethernet Adapters</a></li><li><a href="/servers/options/infiniband">InfiniBand / OPA Adapters</a></li><li><a href="/servers/options/hba">Host Bus Adapters</a></li><li><a href="/servers/options/ssdadapter">PCIe Flash Adapters</a></li><li><a href="/servers/options/external-storage">External Storage</a></li><li><a href="/servers/options/backup">Backup Units</a></li><li><a href="/servers/options/switches">Top-of-Rack Switches</a></li><li><a href="/servers/options/ups">UPS Units</a></li><li><a href="/servers/options/pdu">Power Distribution Units</a></li><li><a href="/servers/options/racks">Rack Cabinets</a></li><li><a href="/servers/options/kvm">KVM Switches &amp; Consoles</a></li></ul></li><li><a aria-haspopup="true" class="parent">Benchmarks</a><ul><li><a href="/servers/benchmarks/mlperf">MLPerf</a></li><li><a href="/servers/benchmarks/sap-bw">SAP BW</a></li><li><a href="/servers/benchmarks/sap-sd">SAP SD</a></li><li><a href="/servers/benchmarks/spc">SPC-1</a></li><li><a href="/servers/benchmarks/SPECaccel">SPECaccel</a></li><li><a href="/servers/benchmarks/speccpu">SPECcpu</a></li><li><a href="/servers/benchmarks/spechpc">SPEChpc</a></li><li><a href="/servers/benchmarks/specjbb">SPECjbb</a></li><li><a href="/servers/benchmarks/specmpi">SPECmpi</a></li><li><a href="/servers/benchmarks/specomp">SPEComp</a></li><li><a href="/servers/benchmarks/specpower">SPECpower</a></li><li><a href="/servers/benchmarks/specvirt">SPECvirt</a></li><li><a href="/servers/benchmarks/stac-m3">STAC-M3</a></li><li><a href="/servers/benchmarks/tpc-e">TPC-E</a></li><li><a href="/servers/benchmarks/tpc-h">TPC-H</a></li><li><a href="/servers/benchmarks/tpcx">TPCx</a></li><li><a href="/servers/benchmarks/vmmark">VMmark</a></li></ul></li></ul></div></div></li><li class="second_list_item hasMegamenu" tabindex="0" role="menuitem" aria-expanded="false"><a class="lazy_href" target="_self" tabindex="-1" data-name="&lt;p&gt;Storage&lt;/p&gt;" aria-haspopup="true"><div class="second_list_title"><span class="text"><p>Storage</p></span></div></a><div class="three_view"><div class="main"><ul role="menu"><li><a aria-haspopup="true" class="parent">ThinkSystem</a><ul><li><a href="/storage/thinksystem/hs350x-v3">HS350X V3</a></li><li><a href="/storage/thinksystem/de-series">DE Series</a></li><li><a href="/storage/thinksystem/dg-series">DG Series</a></li><li><a href="/storage/thinksystem/dm-series">DM Series</a></li><li><a href="/storage/thinksystem/db-series">DB Series</a></li><li><a href="/storage/thinksystem/ds-series">DS Series</a></li></ul></li><li><a href="/storage/san">SAN Storage</a></li><li><a href="/storage/sds">Software-Defined Storage</a></li><li><a href="/storage/sas">Direct-Attached Storage</a></li><li><a aria-haspopup="true" class="parent">SAN Switches</a><ul><li><a href="/storage/switches/rack">Rack</a></li><li><a href="/storage/switches/embedded">Embedded</a></li></ul></li><li><a aria-haspopup="true" class="parent">Tape Backup Units</a><ul><li><a href="/storage/tape/drives">Tape Drives</a></li><li><a href="/storage/tape/library">Tape Autoloaders and Libraries</a></li></ul></li><li><a href="/storage/benchmarks">Benchmarks</a></li></ul></div></div></li><li class="second_list_item hasMegamenu" tabindex="0" role="menuitem" aria-expanded="false"><a class="lazy_href" target="_self" tabindex="-1" data-name="&lt;p&gt;Networking&lt;/p&gt;" aria-haspopup="true"><div class="second_list_title"><span class="text"><p>Networking</p></span></div></a><div class="three_view"><div class="main"><ul role="menu"><li><a aria-haspopup="true" class="parent">Top-of-Rack Connectivity</a><ul><li><a href="/networking/tor/1gb">1 Gb Ethernet</a></li><li><a href="/networking/tor/10gb">10 Gb Ethernet</a></li><li><a href="/networking/tor/25gb">25 Gb Ethernet</a></li><li><a href="/networking/tor/40gb">40 Gb Ethernet</a></li><li><a href="/networking/tor/100Gb">100 Gb Ethernet</a></li><li><a href="/networking/tor/cnos">CNOS</a></li></ul></li><li><a aria-haspopup="true" class="parent">Embedded Connectivity</a><ul><li><a href="/networking/embedded/1gb">1 Gb Ethernet</a></li><li><a href="/networking/embedded/10gb">10 Gb Ethernet</a></li><li><a href="/networking/embedded/25gb">25 Gb Ethernet</a></li><li><a href="/networking/embedded/40gb">40 Gb Ethernet</a></li><li><a href="/networking/embedded/infiniband">InfiniBand</a></li></ul></li><li><a href="/networking/campus">Campus Networking</a></li></ul></div></div></li><li class="second_list_item hasMegamenu" tabindex="0" role="menuitem" aria-expanded="false"><a class="lazy_href" target="_self" tabindex="-1" data-name="&lt;p&gt;Solutions &amp; Software&lt;/p&gt;" aria-haspopup="true"><div class="second_list_title"><span class="text"><p>Solutions &amp; Software</p></span></div></a><div class="three_view"><div class="main"><ul role="menu"><li><a aria-haspopup="true" class="parent">Alliances</a><ul><li><a href="/software/alliances/ibm">IBM</a></li><li><a href="/software/alliances/microsoft">Microsoft</a></li><li><a href="/software/alliances/nutanix">Nutanix</a></li><li><a href="/software/alliances/redhat">Red Hat</a></li><li><a href="/software/alliances/sap">SAP</a></li><li><a href="/software/alliances/vmware">VMware</a></li></ul></li><li><a href="/software/ai">Artificial Intelligence</a></li><li><a aria-haspopup="true" class="parent">Big Data &amp; Analytics</a><ul><li><a href="/software/bigdata/cloudera">Cloudera</a></li><li><a href="/software/bigdata/hortonworks">Hortonworks</a></li><li><a href="/software/bigdata/ibm">IBM</a></li><li><a href="/software/bigdata/dwft">Microsoft Data Warehouse Fast Track</a></li></ul></li><li><a href="/software/blockchain">Blockchain</a></li><li><a aria-haspopup="true" class="parent">Business Applications</a><ul><li><a href="/software/business/microsoft">Microsoft Applications</a></li><li><a href="/software/business/sap">SAP Business Suite</a></li></ul></li><li><a aria-haspopup="true" class="parent">Client Virtualization</a><ul><li><a href="/software/vdi/citrix">Citrix Virtual Apps</a></li><li><a href="/software/vdi/vmware">VMware Horizon</a></li></ul></li><li><a aria-haspopup="true" class="parent">Cloud &amp; Virtualization</a><ul><li><a href="/software/cloud/storage">Cloud Storage</a></li><li><a href="/software/cloud/msp">MSP Solutions</a></li><li><a href="/software/cloud/hyperv">Microsoft Hyper-V</a></li><li><a href="/software/cloud/openstack">OpenStack Cloud</a></li><li><a href="/software/cloud/vcloud">VMware vCloud</a></li><li><a href="/software/cloud/vsphere">VMware vSphere</a></li></ul></li><li><a aria-haspopup="true" class="parent">Database</a><ul><li><a href="/software/database/oracle">Oracle</a></li><li><a href="/software/database/sql">Microsoft SQL Server</a></li><li><a href="/software/database/db2">IBM Db2</a></li><li><a href="/software/bigdata/hana">SAP HANA</a></li><li><a href="/software/bigdata/netweaver">SAP NetWeaver BWA</a></li></ul></li><li><a href="/software/devops">DevOps</a></li><li><a href="/software/iot">Edge and IoT</a></li><li><a href="/software/hpc">High Performance Computing</a></li><li><a href="/software/hyperconverged">Hyperconverged</a></li><li><a aria-haspopup="true" class="parent">Security</a><ul><li><a href="/software/security/sklm">Security Key Lifecycle Manager</a></li></ul></li><li><a aria-haspopup="true" class="parent">Operating Systems</a><ul><li><a href="/osig">OSIG</a></li><li><a href="/software/os/windows">Microsoft Windows</a></li><li><a href="/software/os/vmware">VMware vSphere</a></li><li><a href="/software/os/redhat">Red Hat Enterprise Linux</a></li><li><a href="/software/os/suse">SUSE Linux Enterprise Server</a></li></ul></li><li><a aria-haspopup="true" class="parent">Systems Management</a><ul><li><a href="/software/management/xclarity">Lenovo XClarity</a></li><li><a href="/software/management/bofm">BladeCenter Open Fabric Manager</a></li><li><a href="/software/management/director">IBM Systems Director</a></li><li><a href="/software/management/fsm">Flex System Manager</a></li><li><a href="/software/management/utilities">System Utilities</a></li><li><a href="/software/management/network">Network Management</a></li></ul></li></ul></div></div></li><li class="second_list_item hasMegamenu" tabindex="0" role="menuitem" aria-expanded="false"><a class="lazy_href" target="_self" tabindex="-1" data-name="&lt;p&gt;About&lt;/p&gt;" aria-haspopup="true"><div class="second_list_title"><span class="text"><p>About</p></span></div></a><div class="three_view"><div class="main"><ul role="menu"><li><a href="/more/about-lenovo-press.html">About Lenovo Press</a></li><li><a href="https://lenovopress.com/newsletter">Newsletter Signup</a></li></ul></div></div></li></ul> </div> </div> </div> </div> </div> <div id="global_alert"></div> <div class="isg-content"> <div class="static-hero"> <div class="static-hero__container left white"> <div class="static-hero__wrapper static-hero__wrapper--minimal cover page-gutter"> <div class="static-hero__image-container"> <picture> <img src="/img/jumbotron/grad_red.webp" class="static-hero__image" alt=""> </picture> </div> <div class="static-hero__title-container"> <div class="text-general-padding"> <h1 class="static-hero__title">Reference Architecture: Red Hat OpenShift Container Platform on Lenovo ThinkSystem, ThinkEdge and ThinkAgile HX Servers</h1> <h4>Reference Architecture</h4> </div> </div> </div> </div> </div> </div> <a href="/" id="homer">Home</a> <div class="container"> <div id="content" class="row"> <div class="col-xs-12 homerun"> <div class="row" id="contentwrap"> <a href="#" id="topjump" title="Back to top"><span class="glyphicon up_arrow"></span><div style="">Top</div></a> <div class="col-xs-12"> <div id="document" class="hide-withdrawn"> <div class="row"> <div class="col-lg-4 col-lg-push-8 col-xl-3 col-xl-push-9"> <div class="row"> <div class="col-lg-12 col-sm-8"> <div class="panel panel-default panel-meta"> <div class="panel-body"> <div class="pdf-thumbnail"> <a href="https://lenovopress.lenovo.com/lp0968.pdf"><img src="https://lenovopress.lenovo.com/pdfs/12552/lp0968.png" class="media-object" width="172" height="206"></a> </div> <div style="overflow: hidden"><h5 id="meta-authors">Authors</h5><ul class="list-inline list-authors"> <li><a href="/author/jiang-xiaotong" data-author-id="443" data-author-slug="jiang-xiaotong">Jiang Xiaotong</a></li> <li><a href="/author/ajay-dholakia" data-author-id="137" data-author-slug="ajay-dholakia">Ajay Dholakia</a></li> <li><a href="/author/gareth-jenkins" data-author-id="578" data-author-slug="gareth-jenkins">Gareth Jenkins</a></li> </ul></div> <h5 id="meta-published">Updated</h5> 24 Jun 2024 <h5 id="meta-form-id">Form Number</h5> LP0968 <h5 id="meta-pdf-size">PDF size</h5> 81 pages, 10.4 MB <div id="subscribe" class="scriptonly"> <div class="row"><div class="col-xs-12"><a href="#" id="subscribe_trigger"><span class="glyphicon halflings envelope"></span> Subscribe to Updates</a></div></div> <div id="subscribe_entry" class="hide"> <div class="form-group"> <input type="text" id="email" class="form-control" placeholder="Email Address"> <span class="glyphicon halflings remove form-control-feedback" aria-hidden="true"></span> <span class="help-inline"></span> </div> <button type="button" id="subscribe_submit" class="btn btn-primary">Subscribe</button> </div> </div> <div id="subscribe_success" class="alert alert-success" style="display: none;">Subscribed to LP0968.</div> <div id="feedback" class="scriptonly"> <div class="row"><div class="col-xs-12"><a href="#" id="feedback_trigger"><span class="glyphicon halflings star"></span> Rate &amp; Provide Feedback</a></div></div> <div id="feedback_entry" class="hide"> <div class="form-group"> <label class="control-label">Rating</label> <div class="radio"> <label> <input type="radio" name="stars" value="no_rating" checked> No Rating </label> </div> <div class="radio"> <label> <input type="radio" name="stars" value="5"> <span class="glyphicon halflings star"></span> <span class="glyphicon halflings star"></span> <span class="glyphicon halflings star"></span> <span class="glyphicon halflings star"></span> <span class="glyphicon halflings star"></span> </label> </div> <div class="radio"> <label> <input type="radio" name="stars" value="4"> <span class="glyphicon halflings star"></span> <span class="glyphicon halflings star"></span> <span class="glyphicon halflings star"></span> <span class="glyphicon halflings star"></span> <span class="glyphicon halflings star star-empty"></span> </label> </div> <div class="radio"> <label> <input type="radio" name="stars" value="3"> <span class="glyphicon halflings star"></span> <span class="glyphicon halflings star"></span> <span class="glyphicon halflings star"></span> <span class="glyphicon halflings star star-empty"></span> <span class="glyphicon halflings star star-empty"></span> </label> </div> <div class="radio"> <label> <input type="radio" name="stars" value="2"> <span class="glyphicon halflings star"></span> <span class="glyphicon halflings star"></span> <span class="glyphicon halflings star star-empty"></span> <span class="glyphicon halflings star star-empty"></span> <span class="glyphicon halflings star star-empty"></span> </label> </div> <div class="radio"> <label> <input type="radio" name="stars" value="1"> <span class="glyphicon halflings star"></span> <span class="glyphicon halflings star star-empty"></span> <span class="glyphicon halflings star star-empty"></span> <span class="glyphicon halflings star star-empty"></span> <span class="glyphicon halflings star star-empty"></span> </label> </div> <div class="radio"> <label> <input type="radio" name="stars" value="0"> <span class="glyphicon halflings star star-empty"></span> <span class="glyphicon halflings star star-empty"></span> <span class="glyphicon halflings star star-empty"></span> <span class="glyphicon halflings star star-empty"></span> <span class="glyphicon halflings star star-empty"></span> </label> </div> </div> <div class="form-group"> <label class="control-label">Your Name (optional)</label> <input type="text" id="full_name" class="form-control"> <span class="glyphicon halflings remove form-control-feedback" aria-hidden="true"></span> <span class="help-inline"></span> </div> <div class="form-group"> <label class="control-label">Your Email Address (optional)</label> <input type="text" id="feedback_email" class="form-control"> <span class="glyphicon halflings remove form-control-feedback" aria-hidden="true"></span> <span class="help-inline"></span> </div> <div class="form-group"> <label class="control-label">Comment (optional)</label> <textarea id="comment" class="form-control" rows="5"></textarea> </div> <button type="button" id="feedback_submit" class="btn btn-primary">Submit Feedback</button> </div> </div> <div id="feedback_success" class="alert alert-success" style="display: none;">Thank you for your feedback.</div> </div> </div> </div> <div class="col-sm-4 col-lg-12"> <a href="https://lenovopress.lenovo.com/lp0968.pdf" class="btn btn-block btn-downloadpdf" data-lang="EN-US">Download PDF</a> </div> </div> <div id="documentnav"> </div> </div> <div id="contentcol" class="col-lg-8 col-lg-pull-4 col-xl-9 col-xl-pull-3"> <h2>Abstract<a id="abstract" class="copy-link" title="Copy link" href="https://lenovopress.lenovo.com/lp0968-red-hat-openshift-container-platform-reference-architecture#abstract" data-toggle="tooltip" data-placement="top" aria-hidden="true"><span class="glyhicon halflings link"></span></a></h2> <div class="section" id="abstract"> <p>This document describes the reference architecture for the Red Hat OpenShift Container Platform 4.15 solution based on the Lenovo ThinkSystem, ThinkEdge, and ThinkAgile HX platform. The document provides a technical overview of Red Hat OpenShift Container Platform, which is built around a core of application containers powered by CRI-O, with orchestration and management provided by Kubernetes, on a foundation of Red Hat Enterprise Linux (RHEL) or Red Hat Enterprise Linux CoreOS (RHCOS). Lenovo ThinkSystem DM series can be used as persistent storage with storage provisioner supporting Container Storage Interface (CSI). The document also provides Red Hat OpenShift Container Platform deployment overview on bare-metal and hyper-converged infrastructure.</p> <p>Red Hat OpenShift Container Platform provides many enterprise-ready features like enhanced security, multi-tenancy, virtualization, data science/AI platform, simplified application deployment, and continuous integration/continuous deployment tools. With Lenovo servers and Lenovo Open Cloud-Automation (LOC-A) technologies, deployment, provisioning and managing the Red Hat OpenShift Container Platform infrastructure becomes effortless and produces a resilient solution.</p> <p>The document also describes how Red Hat OpenShift extends the capabilities of native Kubernetes to edge side, supporting a flexible edge site configuration, from single node to 3 nodes, from regional location to far edge, let organization select mixed and matched topology at their edge sites.</p> <p>Lenovo works closely with Red Hat to provide a series of engineered, tested, and certified OpenShift Deployment Ready Solutions (DRS) for customers to get fast time to value benefit and accelerate business advantage.</p> <p>The reference architecture is intended for IT decision makers, infrastructure and application architects looking to plan and implement On-Prem and Edge container cloud. Knowledge of containers, Kubernetes, cloud, and data center infrastructure architecture will be helpful.</p> </div> <h2>Table of Contents<a id="table-of-contents" class="copy-link" title="Copy link" href="https://lenovopress.lenovo.com/lp0968-red-hat-openshift-container-platform-reference-architecture#table-of-contents" data-toggle="tooltip" data-placement="top" aria-hidden="true"><span class="glyhicon halflings link"></span></a></h2> <div class="section" id="toc"> <p>1 Introduction<br> 2 Business problem and business value<br> 3 Requirements<br> 4 Architectural overview<br> 5 Component model<br> 6 Operational model</p> <p>To view the document, click the <strong>Download PDF </strong>button.</p> </div> <h2>Change History<a id="change-history" class="copy-link" title="Copy link" href="https://lenovopress.lenovo.com/lp0968-red-hat-openshift-container-platform-reference-architecture#change-history" data-toggle="tooltip" data-placement="top" aria-hidden="true"><span class="glyhicon halflings link"></span></a></h2> <div class="section" id="change-history"> <p>Changes in the June 24, 2024 update:</p> <ul><li>Update virtualization section 6.20.</li> <li>Update edge solution diagram in section 2.2.4 .</li> <li>OCP validation update to latest version 4.15 (SW versions, documents links, Resources, etc). Update section 6.1.1, 6.1.2 for Emerald Rapids CPU.</li> </ul> </div> <div class="section" id="product-families"> <h2>Related product families<a id="related-product-families" class="copy-link" title="Copy link" href="https://lenovopress.lenovo.com/lp0968-red-hat-openshift-container-platform-reference-architecture#related-product-families" data-toggle="tooltip" data-placement="top" aria-hidden="true"><span class="glyhicon halflings link"></span></a></h2> <p>Product families related to this document are the following:</p> <ul> <li><a href="/software/devops">DevOps Solutions</a></li> <li><a href="/software/alliances/redhat">Red Hat Alliance</a></li> <li><a href="/software/os/redhat">Red Hat Enterprise Linux</a></li> </ul></div> </div> </div> </div> </div> <div class="modal" id="author_modal" tabindex="-1" role="dialog" aria-labelledby="author_modal_label"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button> <h4 class="modal-title" id="author_modal_label"></h4> </div> <div class="modal-body" id="author_modal_body"> <div id="author_bio"></div> <p><a href="#" id="author_detail_link">View all documents published by this author</a></p> </div> </div> </div> </div> <div class="modal" id="buylink_modal" tabindex="-1" role="dialog" aria-labelledby="buylink_modal_label"> <div class="modal-dialog modal-lg"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button> <h4 class="modal-title" id="buylink_modal_label">Configure and Buy</h4> </div> <div class="modal-body" id="buylink_modal_body"> <div class="alert alert-danger" style="display: none;">Please select a locale</div> <div class="panel-group" id="bl_accordion" role="tablist" aria-multiselectable="true"> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-danger" data-dismiss="modal">Cancel</button> </div> </div> </div> </div> <div class="modal" id="change_history_modal" tabindex="-1" role="dialog" aria-labelledby="change_history_modal_label"> <div class="modal-dialog responsive fullheight" role="document"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button> <h4 class="modal-title" id="change_history_modal_label">Full Change History</h4> </div> <div class="modal-body" id="change_history_modal_body"> </div> </div> </div> </div> <div class="modal" id="course_detail_modal" tabindex="-1" role="dialog" aria-labelledby="course_detail_label"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button> <h4 class="modal-title" id="course_detail_label">Course Detail</h4> </div> <div class="modal-body" id="course_detail_modal_body"></div> </div> </div> </div> <div class="modal" id="employees_only_modal" tabindex="-1" role="dialog" aria-labelledby="employees_only_modal_label"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button> <h4 class="modal-title" id="employees_only_modal_label">Employees Only Content</h4> </div> <div class="modal-body"> <p>The content in this document with a is only visible to employees who are logged in. Logon using your Lenovo ITcode and password via Lenovo single-signon (SSO).</p> <p>The author of the document has determined that this content is classified as <strong>Lenovo Internal</strong> and should not be normally be made available to people who are not employees or contractors. This includes partners, customers, and competitors. The reasons may vary and you should reach out to the authors of the document for clarification, if needed. Be cautious about sharing this content with others as it may contain sensitive information.</p> <p>Any visitor to the Lenovo Press web site who is not logged on will not be able to see this employee-only content. This content is excluded from search engine indexes and will not appear in any search results.</p> <p>For all users, including logged-in employees, this employee-only content does not appear in the PDF version of this document.</p> <p>This functionality is cookie based. The web site will normally remember your login state between browser sessions, however, if you clear cookies at the end of a session or work in an Incognito/Private browser window, then you will need to log in each time.</p> <p>If you have any questions about this feature of the Lenovo Press web, please email David Watts at <a href="mailto:dwatts@lenovo.com">dwatts@lenovo.com</a>.</p> </div> </div> </div> </div> </div> </div> </div> </div> <div width="" height="100%" class="container9999 clearfix cms_layoutBox_auto_height lefooter" style="display: -webkit-box;width:100%;"> <div class="layoutGroup" style="width:100%;height:100%;"> <div width="100px" height="100px" style="width:100%;" class="cms_currency_layout"> <div class="commonFooter"> <div class="common_footer"> <a id="footer_open" class="footer-trigger" href="#" style="" title="Expand Footer"><span class="glyphicon halflings chevron-up"></span></a> <a id="footer_close" class="footer-trigger" href="#" style="display: none;" title="Minimize Footer"><span class="glyphicon halflings remove"></span></a> <ul class="social_icon"> <li> <a tabindex="0" aria-label="//p4-ofp.static.pub/fes/cms/2021/07/13/i7yuirli2qwiqq1t804izy6fg0xft4483038.svg" class="lazy_href" href="https://www.facebook.com/lenovoUS" _lazy_name="Facebook" target="_blank"> <img tabindex="0" aria-label="//p4-ofp.static.pub/fes/cms/2021/07/13/i7yuirli2qwiqq1t804izy6fg0xft4483038.svg" src="//p4-ofp.static.pub/fes/cms/2021/07/13/i7yuirli2qwiqq1t804izy6fg0xft4483038.svg" alt="Facebook"> </a> </li> <li> <a tabindex="0" aria-label="//p2-ofp.static.pub/fes/cms/2021/07/13/q59kynt135ngy6yenpgfp83dulr08r150287.svg" class="lazy_href" href="https://twitter.com/lenovous" _lazy_name="Twitter" target="_blank"> <img tabindex="0" aria-label="//p2-ofp.static.pub/fes/cms/2021/07/13/q59kynt135ngy6yenpgfp83dulr08r150287.svg" src="//p2-ofp.static.pub/fes/cms/2021/07/13/q59kynt135ngy6yenpgfp83dulr08r150287.svg" alt="Twitter"> </a> </li> <li> <a tabindex="0" aria-label="//p1-ofp.static.pub/fes/cms/2021/07/13/9uav8wkxhmyhu1mlutyfl8vftmkr3w675335.svg" class="lazy_href" href="https://www.youtube.com/channel/UCpvg0uZH-oxmCagOWJo9p9g" _lazy_name="Youtube" target="_blank"> <img tabindex="0" aria-label="//p1-ofp.static.pub/fes/cms/2021/07/13/9uav8wkxhmyhu1mlutyfl8vftmkr3w675335.svg" src="//p1-ofp.static.pub/fes/cms/2021/07/13/9uav8wkxhmyhu1mlutyfl8vftmkr3w675335.svg" alt="Youtube"> </a> </li> <li> <a tabindex="0" aria-label="//p2-ofp.static.pub/fes/cms/2021/08/31/x4c1l4rzxjwswaqkm3kestkbzhi28k916328.svg" class="lazy_href" href="https://www.pinterest.com/lenovous/_shop/" _lazy_name="Pinterest" target="_blank"> <img tabindex="0" aria-label="//p2-ofp.static.pub/fes/cms/2021/08/31/x4c1l4rzxjwswaqkm3kestkbzhi28k916328.svg" src="//p2-ofp.static.pub/fes/cms/2021/08/31/x4c1l4rzxjwswaqkm3kestkbzhi28k916328.svg" alt="Pinterest"> </a> </li> <li> <a tabindex="0" class="lazy_href" href="https://www.tiktok.com/@lenovo" _lazy_name="TikTok" target="_blank"> <img tabindex="0" src="//p3-ofp.static.pub/fes/cms/2022/02/14/j4447er6ioldb3wmvfmjrh8lv8wwm6463121.svg" alt="TikTok"> </a> </li> <li> <a tabindex="0" aria-label="//p3-ofp.static.pub/fes/cms/2021/08/31/h4hb7zfvei9ty8me70h5nw6uk2r2m5033765.svg" class="lazy_href" href="https://www.instagram.com/lenovous" _lazy_name="Instagram" target="_blank"> <img tabindex="0" aria-label="//p3-ofp.static.pub/fes/cms/2021/08/31/h4hb7zfvei9ty8me70h5nw6uk2r2m5033765.svg" src="//p3-ofp.static.pub/fes/cms/2021/08/31/h4hb7zfvei9ty8me70h5nw6uk2r2m5033765.svg" alt="Instagram"> </a> </li> </ul> <div class="pc_footer_nav flex" role="navigation" id="lefooter"> <ul class="item"> <li aria-label="About Lenovo" class="title">About Lenovo</li> <li> <a tabindex="0" url class="lazy_href" aria-label="/about/" href="https://www.lenovo.com/us/en/about/"> Our Company </a> </li> <li> <a tabindex="0" url class="lazy_href" aria-label="https://www.lenovo.com/us/en/smarter/" href="https://www.lenovo.com/us/en/smarter/"> Smarter Technology For All </a> </li> <li> <a aria-label="News" tabindex="0" target="_blank" class="lazy_href" href="https://news.lenovo.com/"> News </a> </li> <li> <a aria-label="Investors Relations" tabindex="0" target="_blank" class="lazy_href" href="https://investor.lenovo.com/en/global/home.php"> Investors Relations </a> </li> <li> <a tabindex="0" url class="lazy_href" aria-label="/compliance/" href="https://www.lenovo.com/us/en/compliance/"> Compliance </a> </li> <li> <a tabindex="0" url class="lazy_href" aria-label="/about/sustainability/" href="https://www.lenovo.com/us/en/about/sustainability/"> ESG </a> </li> <li> <a tabindex="0" url class="lazy_href" aria-label="/compliance/recycling/" href="https://www.lenovo.com/us/en/compliance/recycling/"> Product Recycling </a> </li> <li> <a tabindex="0" url class="lazy_href" aria-label="/product-security/landing/" href="https://www.lenovo.com/us/en/product-security/landing/"> Product Security </a> </li> <li> <a aria-label="Product Recalls" tabindex="0" target="_blank" class="lazy_href" href="https://support.lenovo.com/us/en/solutions/ht002608"> Product Recalls </a> </li> <li> <a tabindex="0" url class="lazy_href" aria-label="/servers-storage/ebc/raleigh/" href="https://www.lenovo.com/us/en/servers-storage/ebc/raleigh/"> Executive Briefing Center </a> </li> <li> <a aria-label="Lenovo Cares" tabindex="0" target="_blank" class="lazy_href" href="https://www.lenovo.com/us/en/about/foundation/"> Lenovo Cares </a> </li> <li> <a aria-label="Careers" tabindex="0" target="_blank" class="lazy_href" href="https://jobs.lenovo.com/"> Careers </a> </li> <li> <a tabindex="0" url class="lazy_href" aria-label="/sports-partners/formula1/" href="https://www.lenovo.com/us/en/sports-partners/formula1/"> Formula 1 Partnership </a> </li> </ul> <ul class="item"> <li aria-label="Products &amp; Services" class="title">Products &amp; Services</li> <li> <a tabindex="0" url class="lazy_href" aria-label="/laptops" href="https://www.lenovo.com/us/en/laptops"> Laptops &amp; Ultrabooks </a> </li> <li> <a tabindex="0" url class="lazy_href" aria-label="/desktops" href="https://www.lenovo.com/us/en/desktops"> Desktop Computers </a> </li> <li> <a tabindex="0" url class="lazy_href" aria-label="/workstations" href="https://www.lenovo.com/us/en/workstations"> Workstations </a> </li> <li> <a tabindex="0" url class="lazy_href" aria-label="/gaming/shop" href="https://www.lenovo.com/us/en/gaming/shop"> Gaming &amp; VR </a> </li> <li> <a tabindex="0" url class="lazy_href" aria-label="/tablets" href="https://www.lenovo.com/us/en/tablets"> Tablets </a> </li> <li> <a tabindex="0" url class="lazy_href" aria-label="/servers-storage/" href="https://www.lenovo.com/us/en/servers-storage/"> Servers, Storage, &amp; Networking </a> </li> <li> <a tabindex="0" url class="lazy_href" aria-label="/accessories-and-software" href="https://www.lenovo.com/us/en/accessories-and-software"> Accessories &amp; Software </a> </li> <li> <a aria-label="Services &amp; Warranty" tabindex="0" target="_blank" class="lazy_href" href="https://pcsupport.lenovo.com/us/en/warrantylookup#/upgrade"> Services &amp; Warranty </a> </li> <li> <a tabindex="0" url class="lazy_href" aria-label="/faqs/" href="https://www.lenovo.com/us/en/faqs/"> Product FAQs </a> </li> <li> <a tabindex="0" url class="lazy_href" aria-label="https://www.lenovo.com/us/outletus/en/" href="https://www.lenovo.com/us/outletus/en/"> Outlet </a> </li> <li> <a tabindex="0" url class="lazy_href" aria-label="/d/deals/doorbusters/?tabkey=Back%20to%20School" href="https://www.lenovo.com/us/en/d/deals/doorbusters/?tabkey=Back%20to%20School"> Deals </a> </li> <li> <a tabindex="0" url class="lazy_href" aria-label="/d/deals/lenovo-coupon-codes/" href="https://www.lenovo.com/us/en/d/deals/lenovo-coupon-codes/"> Lenovo Coupons </a> </li> <li> <a tabindex="0" url class="lazy_href" aria-label="/business/security-console/" href="https://www.lenovo.com/us/en/business/security-console/"> Cloud Security Software </a> </li> <li> <a tabindex="0" url class="lazy_href" aria-label="/d/windows-11-upgrade/" href="https://www.lenovo.com/us/en/d/windows-11-upgrade/"> Windows 11 Upgrade </a> </li> </ul> <ul class="item"> <li aria-label="Shop By Industry" class="title">Shop By Industry</li> <li> <a tabindex="0" url class="lazy_href" aria-label="/business/" href="https://www.lenovo.com/us/en/business/"> Small Business Solutions </a> </li> <li> <a aria-label="Large Enterprise Solutions" tabindex="0" target="_blank" class="lazy_href" href="https://techtoday.lenovo.com/us/en/solutions/large-enterprise"> Large Enterprise Solutions </a> </li> <li> <a aria-label="Government Solutions" tabindex="0" target="_blank" class="lazy_href" href="https://techtoday.lenovo.com/us/en/solutions/government"> Government Solutions </a> </li> <li> <a aria-label="Healthcare Solutions" tabindex="0" target="_blank" class="lazy_href" href="https://techtoday.lenovo.com/us/en/solutions/healthcare"> Healthcare Solutions </a> </li> <li> <a tabindex="0" url class="lazy_href" aria-label="/d/k-12/dlp/?tabkey=K-12&amp;es=0" href="https://www.lenovo.com/us/en/d/k-12/dlp/?tabkey=K-12&amp;es=0"> K-12 Solutions </a> </li> <li> <a aria-label="Higher Education Solutions" tabindex="0" target="_blank" class="lazy_href" href="https://techtoday.lenovo.com/us/en/solutions/higher-education"> Higher Education Solutions </a> </li> <li> <a tabindex="0" url class="lazy_href" aria-label="/landingpage/students-and-teachers/" href="https://www.lenovo.com/us/en/landingpage/students-and-teachers/"> Student &amp; Teacher Discounts </a> </li> <li> <a tabindex="0" url class="lazy_href" aria-label="/landingpage/health-care/" href="https://www.lenovo.com/us/en/landingpage/health-care/"> Healthcare Discounts </a> </li> <li> <a tabindex="0" url class="lazy_href" aria-label="/landingpage/military/" href="https://www.lenovo.com/us/en/landingpage/military/"> First Responder Discount </a> </li> <li> <a tabindex="0" url class="lazy_href" aria-label="/landingpage/50plus/" href="https://www.lenovo.com/us/en/landingpage/50plus/"> Senior Discounts </a> </li> </ul> <ul class="item"> <li aria-label="Resources" class="title">Resources</li> <li> <a aria-label="Gaming Community" tabindex="0" target="_blank" class="lazy_href" href="https://gaming.lenovo.com/us/"> Gaming Community </a> </li> <li> <a aria-label="LenovoEDU Community" tabindex="0" target="_blank" class="lazy_href" href="https://education.lenovo.com/us/"> LenovoEDU Community </a> </li> <li> <a aria-label="LenovoPRO Community" tabindex="0" target="_blank" class="lazy_href" href="https://smbcommunity.lenovo.com/us/"> LenovoPRO Community </a> </li> <li> <a tabindex="0" url class="lazy_href" aria-label="/business/benefits/" href="https://www.lenovo.com/us/en/business/benefits/"> LenovoPRO Small Business </a> </li> <li> <a tabindex="0" url class="lazy_href" aria-label="/rewards/" href="https://www.lenovo.com/us/en/rewards/"> MyLenovo Rewards </a> </li> <li> <a tabindex="0" url class="lazy_href" aria-label="/landingpage/lenovo-financing-options" href="https://www.lenovo.com/us/en/landingpage/lenovo-financing-options"> Lenovo Financing </a> </li> <li> <a tabindex="0" url class="lazy_href" aria-label="/trade-in-program/" href="https://www.lenovo.com/us/en/trade-in-program/"> Trade-in Program </a> </li> <li> <a tabindex="0" url class="lazy_href" aria-label="/discount-programs/" href="https://www.lenovo.com/us/en/discount-programs/"> Customer Discounts </a> </li> <li> <a tabindex="0" url class="lazy_href" aria-label="/landingpage/promotions/affiliate/affiliate-program/" href="https://www.lenovo.com/us/en/landingpage/promotions/affiliate/affiliate-program/"> Affiliate Program </a> </li> <li> <a tabindex="0" url class="lazy_href" aria-label="/affiliate-program/resources/legion/" href="https://www.lenovo.com/us/en/affiliate-program/resources/legion/"> Legion Influencer Program </a> </li> <li> <a tabindex="0" url class="lazy_href" aria-label="/studentinfluencer/" href="https://www.lenovo.com/us/en/studentinfluencer/"> Student Influencer Program </a> </li> <li> <a tabindex="0" url class="lazy_href" aria-label="/landingpage/affinity/program/" href="https://www.lenovo.com/us/en/landingpage/affinity/program/"> Affinity Program </a> </li> <li> <a tabindex="0" url class="lazy_href" aria-label="/epp" href="https://www.lenovo.com/us/en/epp"> Employee Purchase Program </a> </li> <li> <a tabindex="0" url class="lazy_href" aria-label="/laptop-buying-guide/" href="https://www.lenovo.com/us/en/laptop-buying-guide/"> Laptop Buying Guide </a> </li> <li> <a tabindex="0" url class="lazy_href" aria-label="/landingpage/reseller-locator/" href="https://www.lenovo.com/us/en/landingpage/reseller-locator/"> Where to Buy </a> </li> </ul> <ul class="item"> <li aria-label="Customer Support" class="title">Customer Support</li> <li> <a tabindex="0" url class="lazy_href" aria-label="/contact/" href="https://www.lenovo.com/us/en/contact/"> Contact Us </a> </li> <li> <a tabindex="0" url class="lazy_href" aria-label="/shopping-faq/" href="https://www.lenovo.com/us/en/shopping-faq/"> Policy FAQs </a> </li> <li> <a tabindex="0" url class="lazy_href" aria-label="/shopping-faq/" href="https://www.lenovo.com/us/en/shopping-faq/"> Return Policy </a> </li> <li> <a tabindex="0" url class="lazy_href" aria-label="/shopping-faq/#" href="https://www.lenovo.com/us/en/shopping-faq/#"> Shipping Information </a> </li> <li> <a tabindex="0" url class="lazy_href" aria-label="/trackmyorder" href="https://www.lenovo.com/us/en/trackmyorder"> Order Lookup </a> </li> <li> <a tabindex="0" url class="lazy_href" aria-label="https://www.lenovo.com/registration" href="https://www.lenovo.com/registration"> Register a Product </a> </li> <li> <a aria-label="Replacement Parts" tabindex="0" target="_blank" class="lazy_href" href="https://support.lenovo.com/partslookup?linkTrack=PartSales_Footer"> Replacement Parts </a> </li> <li> <a aria-label="Technical Support" tabindex="0" target="_blank" class="lazy_href" href="https://support.lenovo.com/"> Technical Support </a> </li> <li> <a aria-label="Forums" tabindex="0" target="_blank" class="lazy_href" href="https://forums.lenovo.com/"> Forums </a> </li> <li> <a tabindex="0" url class="lazy_href" aria-label="/" onclick="this.classList.remove('lazy_href'); window.lenovoSurvey('p3094292724','feedback'); return false" href="https://www.lenovo.com/us/en/"> Provide Feedback </a> </li> </ul> </div> <div class="footer_footer"> <div class="pc_nav_inter"> <div style="display: none;">[]</div> </div> <div class="copyright"> <div class="all_right" data-tkey="commonfooterCopyright">&copy; 2024 Lenovo. All rights reserved. </div> <div class="link"> <a tabindex="0" aria-label="/privacy/" class="lazy_href" href="https://www.lenovo.com/us/en/privacy/">Privacy</a> <a tabindex="0" aria-label="/site-map" class="lazy_href" href="https://www.lenovo.com/us/en/site-map">Site Map</a> <a tabindex="0" aria-label="/legal/" class="lazy_href" href="https://www.lenovo.com/us/en/legal/">Terms of Use</a> <a tabindex="0" aria-label="/privacy/external-submission-policy/" class="lazy_href" href="https://www.lenovo.com/us/en/privacy/external-submission-policy/">External Submission Policy</a> <a tabindex="0" aria-label="/terms-and-conditions/" class="lazy_href" href="https://www.lenovo.com/us/en/terms-and-conditions/">Sales terms and conditions</a> <a tabindex="0" aria-label="https://static.lenovo.com/ww/docs/sustainability/Anti-Slavery_and_Human_Trafficking_Statement.pdf" class="lazy_href" href="https://static.lenovo.com/ww/docs/sustainability/Anti-Slavery_and_Human_Trafficking_Statement.pdf">Anti-Slavery and Human Trafficking Statement</a> </div> </div> </div> <div class="footer_mask" id="footerMask"> <div class="close"> <div tabindex="0" type="button" class="closeIframe">&times;</div> </div> <iframe id="footer_mask_iframe" src=""></iframe> </div> </div> </div> </div> </div> </div> </div> <script type="text/javascript" src="/js/jquery.min.js"></script> <script type="text/javascript" src="/js/jquery.equalHeights.js"></script> <script type="text/javascript" src="/js/press_touchnav-min.js?202201117"></script> <script type="text/javascript" src="/js/bootstrap.min.js"></script> <script type="text/javascript" src="/js/mediaplayer/jwplayer.js"></script> <script type="text/javascript" src="/js/common-min.js?20230329"></script> <script type="text/javascript" src="/js/crosstown-min.js?d=20240322"></script> <script src="https://cdn.jsdelivr.net/npm/@fancyapps/ui@5.0/dist/fancybox/fancybox.umd.js"></script> <script> Fancybox.bind("[data-fancybox]", { }); </script> <!-- Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-EJHKSZN0XR"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-EJHKSZN0XR'); (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-67003895-1', 'auto'); ga('send', 'pageview'); </script> <script type="text/javascript"> _linkedin_data_partner_id = "7318"; </script> <script type="text/javascript"> (function(){var s = document.getElementsByTagName("script")[0]; var b = document.createElement("script"); b.type = "text/javascript";b.async = true; b.src = "https://snap.licdn.com/li.lms-analytics/insight.min.js"; s.parentNode.insertBefore(b, s);})(); </script> <noscript> <img height="1" width="1" style="display:none;" alt="" src="https://dc.ads.linkedin.com/collect/?pid=7318&amp;fmt=gif"> </noscript> <script type="text/javascript">_satellite.pageBottom();</script> <script src="https://www.google.com/recaptcha/api.js?render=6LcQmq8kAAAAAM577WHMtQa0I9h-sDJwozPn0ffh"></script> <script type="text/javascript" src="/js/jquery.hashParameters.js"></script> <script type="text/javascript"> var bsd={ docId:3336,formId:"LP0968",resourceType:"Reference Architecture",blMulti:false};var ctProps={ t:"pv",a:3336,l:"EN-US" }; var $document=$('#document');var $fluidEl=$("#contentcol");var $allVideos=$("iframe[src*='//www.youtube.com'], .mediaplayer");var app={validHashParams:["section","withdrawn"],initialize:function() {var hashParams=$.hashParameters();if(hashParams.hasOwnProperty("withdrawn")&&hashParams.withdrawn=="show") {$("#withdrawn_trigger").prop("checked",true);app.handleWithdrawnChange();} if(hashParams.hasOwnProperty("section")&&typeof(hashParams.section)!="undefined"&&hashParams.section!="undefined") {app.goToSection(hashParams.section);} $('.mediaplayer').each(function(i,el) {app.setupMediaplayer($(el));});app.applySafariFixes();app.caseStudies.initialize();app.courses.initialize();if(bsd.resourceType!=='Interactive 3D Tour') {$(".tour_wrapper").prepend('<div class="interstitial"><a href="#">Click to activate the Interactive 3D Tour');$('.tour_wrapper .interstitial, .tour_wrapper .interstitial a').click(function(e){e.preventDefault();$(this).parents(".tour_wrapper").first().find(".interstitial").remove();});} $(".tour_wrapper iframe").mouseover(app.scroll.disable).mouseout(app.scroll.enable);$allVideos.each(function() {$(this).data('aspectRatio',this.height/this.width).removeAttr('height').removeAttr('width');});window.addEventListener("resize",app.resize.throttler,false);app.resize.handler();if($(document).width()>app.resize.screenMdMax) {app.setupDocumentNav();} $('#author_modal').modal({backdrop:true,show:false});$('#buylink_modal').modal({backdrop:true,show:false});$('#change_history_modal').modal({backdrop:true,show:false});$('#change_history_modal_body a').click(function() {$('#change_history_modal').modal('hide');});$('#employees_only_modal').modal({backdrop:true,show:false});$('.employees-only-modal-trigger').click(function(e) {e.preventDefault();$('#employees_only_modal').modal('show');});app.buy.init();$('.panel-toc a').click(function(e) {e.preventDefault();var hrefBuffer=$(this).prop('href').split('#');app.goToSection(hrefBuffer.pop());});$('.list-authors a').click(function(e) {e.preventDefault();app.displayBio(this);});$('#subscribe_trigger').click(function(e) {e.preventDefault();$('#subscribe_entry').toggleClass('hide');});$('#subscribe_submit').click(function(e) {e.preventDefault();app.subscribe();});$('#feedback_trigger').click(function(e) {e.preventDefault();$('#feedback_entry').toggleClass('hide');});$('#feedback_submit').click(function(e) {e.preventDefault();app.submitFeedback();});$('#withdrawn_trigger').click(function() {app.handleWithdrawnChange();});$('.panel-pdf a, .btn-downloadpdf').click(app.handleDownload);$('.panel-pdf a, .btn-downloadpdf').contextmenu(app.handlePdfRightClick);app.rotate();if($('#documentnav').length>0) {$(top.window).scroll(function() {var scrollTop=$(window).scrollTop();var scrolled=1/(($(document).height()-$(window).height())/scrollTop);var scrollable=$('.row','#documentnav .panel-toc').first().height()-$('.panel-body','#documentnav .panel-toc').height();$('.panel-body','#documentnav .panel-toc').scrollTop(scrollable*scrolled);if(scrollTop>0) {$('#topjump').addClass('enabled');} else {$('#topjump').removeClass('enabled');}});} $(".withdrawn").each(function(i,el) {$(el).data("toggle","tooltip");$(el).data("placement","top");$(el).data("title","This content only applies to withdrawn products");$(el).tooltip({container:"body"});});$(".entitled, .employees-only").each(function(i,el) {$(el).data("toggle","tooltip");$(el).data("placement","top");$(el).data("title","This content is for employee use only. It will not be visible in the PDF.");$(el).tooltip({container:"body"});});$(".copy-link").click(app.handleAnchorCopyClick);$('[data-toggle="tooltip"]').tooltip({container:'body'});},handleDownload:function(e) {if(window.crosstown) {e.preventDefault();let params=ctProps;params.t="pd" params.l=$(this).data("lang");const pdfUrl=$(this).prop("href");if(e.type==="contextmenu") {crosstown.send(params);} else {crosstown.handleClickEvent(params,pdfUrl,e);}}},handlePdfRightClick:function(e) {if(window.crosstown) {let params=ctProps;params.t="pd" params.l=$(this).data("lang");crosstown.send(params);}},handleAnchorCopyClick:function(e) {e.preventDefault();$(this).tooltip('hide');navigator.clipboard.writeText($(this).prop("href"));},scroll:{sbw:null,initialize:function() {app.scroll.sbw=0;app.scroll.disable();var w=$(document).width();app.scroll.enable() app.scroll.sbw=w-$(document).width();},disable:function() {if(app.scroll.sbw===null) {app.scroll.initialize();} document.body.classList.add("stop-scrolling");$('body').css('padding-right',app.scroll.sbw+'px');},enable:function() {document.body.classList.remove("stop-scrolling");$('body').css('padding-right','0px');}},rotate:function() {$('thead:has(th.rotate), tbody tr:has(td.rotate)').each(function(i,thead) {var hasExplicitHeight=false;$('td.rotate, th.rotate',$(thead)).each(function(j,el) {if($(el).css('height')!='75px') {hasExplicitHeight=true;}});if(!hasExplicitHeight) {$('td.rotate, th.rotate',$(thead)).css('position','relative');$('td.rotate > div, th.rotate > div',$(thead)).css({'position':'absolute','padding':0,'width':'auto'});var maxDivWidth=0;$('td.rotate > div, th.rotate > div',$(thead)).each(function(j,innerDiv) {var currDivWidth=$(innerDiv).width();maxDivWidth=(currDivWidth>maxDivWidth)?currDivWidth:maxDivWidth;});if(maxDivWidth>12) {$('td.rotate, th.rotate',$(thead)).height(maxDivWidth+12);} $('td.rotate > div, th.rotate > div',$(thead)).css({'position':'relative','padding-left':'8px','width':'24px'});}});$('thead:has(th.rotate-tight), tbody tr:has(td.rotate-tight)').each(function(i,thead) {var hasExplicitHeight=false;$('td.rotate-tight, th.rotate-tight',$(thead)).each(function(j,el) {if($(el).css('height')!='75px') {hasExplicitHeight=true;}});if(!hasExplicitHeight) {$('td.rotate-tight, th.rotate-tight',$(thead)).css('position','relative');$('td.rotate-tight > div, th.rotate-tight > div',$(thead)).css({'position':'absolute','padding':0,'width':'auto'});var maxDivWidth=0;$('td.rotate-tight > div, th.rotate-tight > div',$(thead)).each(function(j,innerDiv) {var currDivWidth=$(innerDiv).width();maxDivWidth=(currDivWidth>maxDivWidth)?currDivWidth:maxDivWidth;});if(maxDivWidth>12) {$('td.rotate-tight, th.rotate-tight',$(thead)).height(maxDivWidth+12);} $('td.rotate-tight > div, th.rotate-tight > div',$(thead)).css({'position':'relative','padding-left':'6px','width':'16px'});}});},applySafariFixes:function() {if(navigator.userAgent.indexOf('Safari')!=-1&&navigator.userAgent.indexOf('Chrome')==-1) {var stickywidget=$('#documentnav');var explicitlySetAffixPosition=function() {stickywidget.css('left',stickywidget.offset().left+'px');};var resetLeftPosition=function() {stickywidget.css('left','0px');};stickywidget.on('affix.bs.affix',function() {explicitlySetAffixPosition();});stickywidget.on('affix-bottom.bs.affix',function() {resetLeftPosition();});stickywidget.on('affix-top.bs.affix',function() {resetLeftPosition();});$(window).resize(function() {if(stickywidget.hasClass('affix')) {stickywidget.removeClass('affix');explicitlySetAffixPosition();stickywidget.addClass('affix');} else if(stickywidget.hasClass('affix-bottom')) {resetLeftPosition();}});}},setupDocumentNav:function() {if($('#documentnav').length>0) {$('#documentnav').affix({offset:{top:Math.round($('#documentnav').offset().top-20),bottom:function() {return(this.bottom=($('.lefooter').first().outerHeight(true)+40))}}});$('body').scrollspy({target:'#documentnav'});} app.sizeToc();},tocNaturalHeight:null,sizeToc:function() {if($('#documentnav').length>0) {var origPanelHeight=$('#documentnav').outerHeight();if(app.tocNaturalHeight>=($(window).height()-77)) {$('.panel-body','#documentnav .panel-toc').css('overflow-x','hidden');$('.panel-body','#documentnav .panel-toc').css('overflow-y','auto');$('#documentnav').height($(window).height()-77);var heightDelta=(origPanelHeight-$('#documentnav').outerHeight());$('.panel-body','#documentnav .panel-toc').height($('.panel-body','#documentnav .panel-toc').height()-heightDelta);} else if(app.tocNaturalHeight<=($(window).height()-77)) {$('.panel-body','#documentnav .panel-toc').height('auto');$('#documentnav').height('auto');}}},setupMediaplayer:function(el) {var width=$(el).data('videoWidth');var height=$(el).data('videoHeight');if(width>500) {height=Math.round(height/(width/500));width=500;} var jwOptions={flashplayer:"/js/mediaplayer/player.swf",file:$(el).data('videoUrl'),width:width,height:height,autostart:false,provider:"http","http.startparam":"ec_seek",stretching:"uniform",icons:false,skin:"/js/mediaplayer/skins/bekle/bekle.zip"};var divId=$(el).attr('id');jwplayer(divId).setup(jwOptions);},buy:{init:function() {$('.btn-buylinkpop').click(function(e) {e.preventDefault();app.buy.popBuylink();});$("#buylink_modal input[type='radio']").change(app.buy.handleLocaleChangeClick);$(".buylink-trigger",$("#buylink_modal")).click(app.buy.handleBuylinkClick);},popReported:false,popBuylink:function() {$('#buylink_modal').modal('show');if(!app.buy.popReported) {app.buy.popReported=true;var params={f:bsd.formId,s:"pg"};$.ajax({url:"/buylinks/outbound/pop",data:params,type:'post',cache:false,dataType:'json',success:function(data){if(data.status=="error"){console.log(data.msg);}},error:function(xhr,textStatus,errorThrown){console.log("AJAX Communication Error\n"+textStatus);}});}},handleLocaleChangeClick:function(e) {e.preventDefault();if($(this).prop("checked")) {$(".alert",$("#buylink_modal")).hide();if(bsd.blMulti) {var $container=$("#buylink_modal .panel-body").first();} else {var $container=$(this).parents(".panel-body").first();} var locale=$("input:checked",$container).val().split("|");var product=$("input[name='product']",$container).val().split("|");$("input[name='product']",$container).val().split("|");var path="/buy/pg/"+bsd.formId.toLowerCase()+"/"+product+"/"+locale[0]+"/"+locale[1];if(bsd.blMulti) {$(".buylink-trigger",$("#buylink_modal")).attr("href",path).removeClass("disabled btn-default").addClass("btn-primary");} else {$(".buylink-trigger",$container).attr("href",path).removeClass("disabled btn-default").addClass("btn-primary");}}},handleBuylinkClick:function(e) {if($(this).attr("href")=="#") {e.preventDefault();$(".alert",$("#buylink_modal")).show();} else {$('#buylink_modal').modal('hide');}}},caseStudies:{initialize:function() {if(app.caseStudies.ui.$carousel) {app.caseStudies.ui.$carousel.carousel('pause');var slideCount=$('.carousel-inner',app.caseStudies.ui.$carousel).children().length;if(slideCount>1) {var rando=Math.floor(Math.random()*slideCount);var target=$('.carousel-inner',app.caseStudies.ui.$carousel).children().get(rando);$(target).detach();$('.carousel-inner',app.caseStudies.ui.$carousel).prepend(target);$('.carousel-inner .item',app.caseStudies.ui.$carousel).removeClass('active ghostly');$(target).addClass('active');$('.item',app.caseStudies.ui.$carousel).equalHeights();$(app.caseStudies.ui.$carousel).on('slide.bs.carousel',app.caseStudies.handleShuttle);}}},ui:{$carousel:$("#case_study_carousel")},shuttleReported:false,handleShuttle:function(e) {$('.carousel-shuttle-status-index',app.caseStudies.ui.$carousel).text($(e.relatedTarget).index()+1);app.caseStudies.ui.$carousel.carousel('pause');$('nav .previous',app.caseStudies.ui.$carousel).show();$('nav .next',app.caseStudies.ui.$carousel).show();if($(e.relatedTarget).index()===0) {$('nav .previous',app.caseStudies.ui.$carousel).hide();} else if($(e.relatedTarget).index()===$('.carousel-inner',app.caseStudies.ui.$carousel).children().length-1) {$('nav .next',app.caseStudies.ui.$carousel).hide();} if(!app.caseStudies.shuttleReported) {var params={f:bsd.formId,s:"pg"};$.ajax({url:"/casestudies/outbound/shuttle",data:params,type:'post',cache:false,dataType:'json',success:function(data){if(data.status=="error"){console.log(data.msg);}},error:function(xhr,textStatus,errorThrown){console.log("AJAX Communication Error\n"+textStatus);}});}}},courses:{popReported:false,initialize:function() {$('#course_detail_modal').modal({backdrop:true,show:false});$('.course_detail_trigger').click(function(e){e.preventDefault();const courseSlug=$(this).data('course');app.courses.launchDetailModal(courseSlug);});$('.course_list_more_trigger').click(function(e) {e.preventDefault();const courseListUid=$(this).data('target');$('li',$('#courselist_'+courseListUid)).removeClass('pdf-only');$('#courselistmask_'+courseListUid).hide();$(this).parent().hide();});},launchDetailModal:function(courseSlug) {const $modalBody=$('#course_detail_modal_body');$modalBody.html($('#course_detail_'+courseSlug).html());const lplUrl='/course/pg/'+bsd.formId+'/'+courseSlug+'/lpl';const growUrl='/course/pg/'+bsd.formId+'/'+courseSlug+'/grow';$('.lpl',$modalBody).attr('href',lplUrl);$('.grow',$modalBody).attr('href',growUrl);$('#course_detail_modal').modal('show');if(!app.courses.popReported) {app.courses.popReported=true;var params={c:courseSlug,f:bsd.formId,s:"pg"};$.ajax({url:"/courses/outbound/pop",data:params,type:'post',cache:false,dataType:'json',success:function(data){if(data.status=="error"){console.log(data.msg);}},error:function(xhr,textStatus,errorThrown){console.log("AJAX Communication Error\n"+textStatus);}});}}},displayBio:function(authorEl) {var authorId=$(authorEl).data('authorId');var authorSlug=$(authorEl).data('authorSlug');var params={id:authorId};$.ajax({url:"/press/display/jsonauthordetail",data:params,type:'get',cache:false,dataType:'json',success:function(data) {if(data.status=="error") {document.location='/author/'+authorSlug;} else {$('#author_modal_label').text(data.author.full_name);$('#author_bio').html(data.author.bio);$('#author_detail_link').prop('href','/author/'+authorSlug);$('#author_modal').modal('show');}},error:function(xhr,textStatus,errorThrown) {alert("AJAX Communication Error\n"+textStatus);}});},goToSection:function(sectionId) {$('html, body').animate({scrollTop:$('#'+sectionId).offset().top},250);var hashParams=$.hashParameters();if(hashParams.hasOwnProperty("withdrawn")) {var newParams={};$.each(app.validHashParams,function(i,currParamName) {if(hashParams.hasOwnProperty(currParamName)) {newParams[currParamName]=hashParams[currParamName]}});newParams.section=sectionId;document.location.hash=$.param(newParams,true);} else {document.location.hash=sectionId;}},handleWithdrawnChange:function() {var hashParams=$.hashParameters();var newParams={};var currScrollTop=$(document).scrollTop();$.each(hashParams,function(name,val) {if(val=="undefined") {newParams.section=name;}});$.each(app.validHashParams,function(i,currParamName) {if(hashParams.hasOwnProperty(currParamName)) {newParams[currParamName]=hashParams[currParamName]}});if($('#withdrawn_trigger').prop('checked')) {var heightDelta=0;$('.withdrawn').each(function(i,el) {var preShowDocHeight=$(document).height();if($(el).hasClass("list-group-item")) {$(el).css("display","block");} else {$(el).show();} if($(el).offset().top<(currScrollTop+heightDelta)) {var postShowDocHeight=$(document).height();heightDelta+=(postShowDocHeight-preShowDocHeight);}});newParams.withdrawn="show";document.location.hash=$.param(newParams,true);$('html, body').scrollTop(currScrollTop+heightDelta);app.rotate();} else {var heightDelta=0;$('.withdrawn').each(function(i,el) {var preHideDocHeight=$(document).height();var currHeightOffset=$(el).offset().top;$(el).hide();if(currHeightOffset<(currScrollTop-heightDelta)) {var postHideDocHeight=$(document).height();heightDelta+=(preHideDocHeight-postHideDocHeight);}});if(newParams.hasOwnProperty("section")) {document.location.hash=newParams.section;} else {document.location.hash="";} $('html, body').scrollTop(currScrollTop-heightDelta);}},submitFeedback:function() {$('.form_group',$('#feedback_entry')).removeClass('has-error has-feedback');$('.help-inline',$('#feedback_entry')).empty();grecaptcha.ready(function() {grecaptcha.execute("6LcQmq8kAAAAAM577WHMtQa0I9h-sDJwozPn0ffh",{action:'submit'}).then(function(token) {var params={content_document_id:bsd.docId,stars:$('input[name="stars"]:checked').val(),full_name:$('#full_name').val(),email:$('#feedback_email').val(),comment:$('#comment').val(),grct:token};$.ajax({url:"/press/display/jsonfeedback",data:params,type:'post',cache:false,dataType:'json',success:function(data) {if(data.status=='validation_error') {var msgArr=[];$.each(data.errors,function(field,fieldErrors) {switch(field) {case'full_name':$('#full_name').parent().addClass("has-error has-feedback");$("#full_name").parent().find(".help-inline").append(fieldErrors.join(', '));$("#full_name").first().find(".help-inline").show();break;case'email':$('#feedback_email').parent().addClass("has-error has-feedback");$("#feedback_email").parent().find(".help-inline").append(fieldErrors.join(', '));$("#feedback_email").first().find(".help-inline").show();break;}});} else {app.handleFeedbackComplete();}},error:function(xhr,textStatus,errorThrown) {app.handleFeedbackComplete();}});})});},handleFeedbackComplete:function() {$('#feedback').hide();$('#feedback_success').show();},subscribe:function() {if($('#email').val()!="") {$("#email").parent().removeClass("has-error has-feedback");$("#email").parent().find(".help-inline").empty();$("#email").first().find(".help-inline").hide();grecaptcha.ready(function() {grecaptcha.execute("6LcQmq8kAAAAAM577WHMtQa0I9h-sDJwozPn0ffh",{action:'submit'}).then(function(token) {var params={email:$('#email').val(),content_document_id:bsd.docId,grct:token};$.ajax({url:"/press/subscription/jsondocumentsubscribe",data:params,type:'post',cache:false,dataType:'json',success:function(data){if(data.status=="validation_error"){$.each(data.errors,function(field,fieldErrors){$("#email").parent().addClass("has-error has-feedback");$("#email").parent().find(".help-inline").append(fieldErrors.join(', '));$("#email").first().find(".help-inline").show();});}else{app.handleSubscribeSuccess();}},error:function(xhr,textStatus,errorThrown){alert("AJAX Communication Error\n"+textStatus);}});})});}},handleSubscribeSuccess:function() {$('#subscribe_trigger').hide();$('#subscribe_entry').hide();$('#subscribe_success').show();},resize:{screenXsMax:767,screenSmMax:991,screenMdMax:1199,screenLgMax:1799,screenXlMax:2399,resizeTimeout:null,throttler:function() {if(!app.resize.resizeTimeout) {app.resize.resizeTimeout=setTimeout(function() {app.resize.resizeTimeout=null;app.resize.handler();},66);}},handler:function() {var newWidth=$fluidEl.width();$allVideos.each(function() {var $el=$(this);$el.width(newWidth).height(newWidth*$el.data('aspectRatio'));});if($('#documentnav').length>0) {if($(document).width()>app.resize.screenMdMax) {var colWidth=$('#documentnav').parent().width();$('#documentnav').width(colWidth);if($('#documentnav').data().hasOwnProperty('bs.affix')===false) {if(app.tocNaturalHeight===null) {$('.panel-body','#documentnav').height('auto');$('#documentnav').height('auto');app.tocNaturalHeight=$('#documentnav').outerHeight();} app.setupDocumentNav();} app.sizeToc();} else if($(document).width()<=app.resize.screenMdMax) {$(window).off('.affix');$("#documentnav").removeClass("affix affix-top affix-bottom").removeData("bs.affix");$('.panel-body','#documentnav').height('auto');$('#documentnav').height('auto');$('#documentnav').width('auto');}} if($(document).width()>app.resize.screenXsMax) {if($(document).width()<app.resize.screenMdMax) {$('.panel-pdf',$document).height($('.panel-meta',$document).first().height());} else {$('.panel-pdf',$document).height('auto');}} else {$('.panel-pdf',$document).height('auto');}}}};$(document).ready(app.initialize); </script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10