CINXE.COM
Latest Release Information - OpenStack Dalmatian
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="en"> <head> <base href="https://www.openstack.org/"><!--[if lte IE 6]></base><![endif]--> <title>Latest Release Information - OpenStack Dalmatian</title> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="globalsign-domain-verification" content="tWFOHNAA_WMHmHfBMq38uTgupHFugV_dZ2rqyRxNMx" /> <meta name="title" content="Latest Release Information - OpenStack Dalmatian" /> <meta name="generator" content="SilverStripe - http://silverstripe.org" /> <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> <meta name="description" content="OpenStack’s 30th Release, Dalmatian adds enhancements for AI and HPC, security and user experience. " /> <meta property="og:title" content="Latest Release Information - OpenStack Dalmatian" /> <meta property="og:type" content="website" /> <meta property="og:url" content="https://www.openstack.org/software/openstack-dalmatian/" /> <link rel="image_src" href="https://object-storage-ca-ymq-1.vexxhost.net/swift/v1/6e4619c416ff4bd19e1c087f27a43eea/www-assets-prod/Uploads/Dalmatian-LOGO-Vertical.jpg" type="image/jpeg" /> <meta property="og:image" content="http://object-storage-ca-ymq-1.vexxhost.net/swift/v1/6e4619c416ff4bd19e1c087f27a43eea/www-assets-prod/Uploads/Dalmatian-LOGO-Vertical.jpg" /> <meta property="og:image:secure_url" content="https://object-storage-ca-ymq-1.vexxhost.net/swift/v1/6e4619c416ff4bd19e1c087f27a43eea/www-assets-prod/Uploads/Dalmatian-LOGO-Vertical.jpg" /> <meta property="og:image:type" content="image/jpeg" /> <meta property="og:image:height" content="135" /> <meta property="og:image:width" content="240" /> <meta property="og:description" content="OpenStack’s 30th Release, Dalmatian adds enhancements for AI and HPC, security and user experience." /> <meta property="og:site_name" content="OpenStack" /> <meta property="og:locale" content="en_US" /> <meta property="fb:app_id" content="209869746011654" /> <meta name="twitter:card" content="summary" /> <meta name="twitter:site" content="@openstack" /> <link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="https://www.openstack.org/blog/feed/" /> <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries --> <!--[if lt IE 9]> <script src="//oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script> <script src="//oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script> <![endif]--> <script type="text/javascript"> // Used to record outbound links before the browser resets to the new site function recordOutboundLink(link, category, action) { try { ga('send', 'event', { eventCategory: category, eventAction: 'click', eventLabel: link.href }); setTimeout('document.location = "' + link.href + '"', 100) } catch(err){} } </script> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-T59Q8GH');</script> <!-- End Google Tag Manager --> <style>.async-hide { opacity: 0 !important} </style> <script> // Used to minimize flickering during GA A/B testing (function(a,s,y,n,c,h,i,d,e){s.className+=' '+y;h.start=1*new Date; h.end=i=function(){s.className=s.className.replace(RegExp(' ?'+y),'')}; (a[n]=a[n]||[]).hide=h;setTimeout(function(){i();h.end=null},c);h.timeout=c; })(window,document.documentElement,'async-hide','dataLayer',4000, {'GTM-5F7R6N4':true}); </script> <script> // Google Analytics tracking script (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-17511903-1', 'auto'); ga('require', 'linker'); ga('linker:autoLink', ['openstack.org', 'eventbrite.com'] ); ga('require', 'GTM-5F7R6N4'); ga('send', 'pageview'); ga(function(tracker) { var googleClientID = tracker.get('clientId'); $("a.eventbrite-register-link").each(function() { var href = $(this).attr("href"); $(this).attr("href", href + '&_eboga=' + googleClientID); }); }); </script> <script>(function(w,d,t,r,u){var f,n,i;w[u]=w[u]||[],f=function(){var o={ti:"56279414"};o.q=w[u],w[u]=new UET(o),w[u].push("pageLoad")},n=d.createElement(t),n.src=r,n.async=1,n.onload=n.onreadystatechange=function(){var s=this.readyState;s&&s!=="loaded"&&s!=="complete"||(f(),n.onload=n.onreadystatechange=null)},i=d.getElementsByTagName(t)[0],i.parentNode.insertBefore(n,i)})(window,document,"script","//bat.bing.com/bat.js","uetq");</script> <link rel="stylesheet" type="text/css" href="//fonts.googleapis.com/css?family=Open+Sans:300,400,700" /> <link rel="stylesheet" type="text/css" href="/node_modules/font-awesome/css/font-awesome.min.css?m=1658151665" /> <link rel="stylesheet" type="text/css" href="/node_modules/@fortawesome/fontawesome-pro/css/all.min.css?m=1658151664" /> <link rel="stylesheet" type="text/css" href="/node_modules/bootstrap/dist/css/bootstrap.min.css?m=1658151664" /> <link rel="stylesheet" type="text/css" href="/themes/openstack/css/combined.css?m=1730312446" /> <link rel="stylesheet" type="text/css" href="/themes/openstack/css/navigation_menu.css?m=1730312447" /> <link rel="stylesheet" type="text/css" href="/themes/openstack/css/dropdown.css?m=1730312446" /> <link rel="stylesheet" type="text/css" href="/themes/openstack/javascript/shadowbox/shadowbox.css?m=1730312418" /> <link rel="stylesheet" type="text/css" href="/node_modules/webui-popover/dist/jquery.webui-popover.min.css?m=1658151681" /> <link rel="stylesheet" type="text/css" href="/software/css/software.css?m=1730312452" /> <link rel="stylesheet" type="text/css" href="/themes/openstack/css/announcement-banner.css?m=1730312446" /> </head> <body id="openstack-dalmatian"> <!-- Top Site Banner --> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-T59Q8GH" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <div class="top-site-banner"> <div class="container"> <div class="logo"> <img src="/themes/openstack/home_images/Logos/OpenInfra-Berlin2022.svg" /> </div> <div class="text"> Now you can watch the keynotes that took place during the OpenInfra Summit in Berlin! </div> <div class="button"> <a href="https://www.openstack.org/videos/summits/berlin-2022" class="btn btn-default">WATCH NOW!</a> </div> </div> </div> <!-- End Site Banner --> <nav class="navbar navbar-default global-nav" role="navigation"> <div class="container"> <!-- Brand and toggle get grouped for better mobile display --> <div class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <div class="brand-wrapper"> <a class="navbar-brand" href="/"></a> </div> <div class="search-icon show"><i class="fa fa-search"></i> <span class="header-search-text">Search</span></div> </div> <!-- Collect the nav links, forms, and other content for toggling --> <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> <div class="search-container tiny"> <div class="openstack-search-bar" data-baseUrl="search.openstack.org" data-context="www-openstack"></div> </div> <ul class="nav navbar-nav navbar-main show"> <li> <div class="openstack-search-bar ossw-mobile" data-baseUrl="search.openstack.org" data-context="www-openstack"></div> </li> <li> <a href="https://www.openstack.org/software/" class="drop" id="dropdownMenuSoftware">Software <i class="fa fa-caret-down"></i></a><i class="mobile-expand"></i> <ul class="dropdown-menu dropdown-hover" role="menu" aria-labelledby="dropdownMenuSoftware"> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/software/">Overview</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/software/project-navigator/openstack-components">OpenStack Components</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/software/project-navigator/sdks">SDKs</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/software/project-navigator/deployment-tools">Deployment Tools</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/openstack-map" target="_blank">OpenStack Map</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/software/sample-configs/">Sample Configs</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://security.openstack.org" target="_blank">Security</a></li> </ul> </li> <li> <a href="https://www.openstack.org/use-cases/" class="drop" id="dropdownMenuUsers">Use Cases <i class="fa fa-caret-down"></i></a><i class="mobile-expand"></i> <ul class="dropdown-menu dropdown-hover" role="menu" aria-labelledby="dropdownMenuUsers"> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/vmware-migration-to-openstack/">VMware Migration to OpenStack</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/use-cases/">Users in Production</a></li> <li role="presentation" class="divider"></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/use-cases/bare-metal/">Ironic Bare Metal</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/use-cases/edge-computing/">Edge Computing</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/use-cases/telecoms-and-nfv/">Telecom & NFV</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/use-cases/science/">Science and HPC</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/use-cases/containers/">Containers</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/use-cases/enterprise/">Enterprise</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/surveys/landing">User Survey</a></li> </ul> </li> <li> <a class="drop" id="dropdownMenuEvents">Events <i class="fa fa-caret-down"></i></a><i class="mobile-expand"></i> <ul class="dropdown-menu dropdown-hover" role="menu" aria-labelledby="dropdownMenuEvents"> <li role="presentation"><a role="menuitem" tabindex="-1" href="//openinfra.dev/summit/">OpenInfra Summit</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/ptg/">Project Teams Gathering</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/events/opendev-2020/">OpenDev</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/events/community-events/">Community Events</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/events/openstackdays">OpenStack & OpenInfra Days</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/videos/">Summit Videos</a></li> </ul> </li> <li> <a href="https://www.openstack.org/community/" class="drop" id="dropdownMenuCommunity">Community <i class="fa fa-caret-down"></i></a><i class="mobile-expand"></i> <ul class="dropdown-menu dropdown-hover" role="menu" aria-labelledby="dropdownMenuCommunity"> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/community/">Welcome! Start Here</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/community/tech-committee">OpenStack Technical Committee</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/community/speakers/">Speakers Bureau</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/community/members/">Community Members</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="http://wiki.openstack.org">OpenStack Wiki</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/coa/">Get Certified (COA)</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/community/jobs/">Jobs</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/marketing/">Marketing Resources</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/news/">Community News</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="http://superuser.openstack.org">Superuser Magazine</a></li> <li role="presentation" class="divider"></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/community/supporting-organizations/">OpenInfra Foundation Supporting Organizations</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://openinfra.dev">OpenInfra Foundation</a></li> </ul> </li> <li> <a href="https://www.openstack.org/marketplace/" class="drop" id="dropdownMenuCommunity">Marketplace <i class="fa fa-caret-down"></i></a><i class="mobile-expand"></i> <ul class="dropdown-menu dropdown-hover" role="menu" aria-labelledby="dropdownMenuEvents"> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/marketplace/training/">Training</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/marketplace/distros/">Distros & Appliances</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/marketplace/public-clouds/">Public Clouds</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/marketplace/hosted-private-clouds/">Hosted Private Clouds</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/marketplace/remotely-managed-private-clouds/">Remotely Managed Private Clouds</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/marketplace/consulting/">Consulting & Integrators</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/marketplace/drivers/">Drivers</a></li> </ul> </li> <li> <a href="https://www.openstack.org/blog/">Blog</a> </li> <li> <a href="http://docs.openstack.org/">Docs</a> </li> <li> </li> <li> <li class="join-nav-section"> <a href="#" id="dropdownMenuJoin">Join <i class="fa fa-caret-down"></i></a> <ul class="dropdown-menu dropdown-hover" role="menu" aria-labelledby="dropdownMenuJoin" style="display: none;"> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://openinfra.dev/join">Sign up for Foundation Membership</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://openinfra.dev/join">Sponsor the Foundation</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://openinfra.dev">More about the Foundation</a></li> </ul> </li> <li> <a href="/Security/login/?BackURL=/software/" class="sign-in-btn">Log In</a> </li> </li> </ul> </div> <!-- /.navbar-collapse --> </div> <!-- /.container --> </nav> <!-- Page Content --> <div class="container software"> <div class="row"> <div class="col-sm-12"> <h1>Software</h1> </div> </div> </div> <div class="software-announcement-banner"> <!-- Projects Tabs --> <div class="software-tab-wrapper"> <div class="container"> <ul class="nav nav-tabs project-tabs"> <li class="active"><a href="/software/">Overview</a></li> <li ><a href="/software/project-navigator/openstack-components">OpenStack Components</a></li> <li ><a href="/software/project-navigator/sdks">Client tools</a></li> <li ><a href="/software/project-navigator/deployment-tools">Deployment Tools</a></li> <li ><a href="/software/sample-configs">Sample Configurations</a></li> </ul> </div> </div> <div class="software-tab-dropdown"> <div class="dropdown"> <button aria-expanded="true" aria-haspopup="true" data-toggle="dropdown" id="dropdownMenu1" type="button" class="dropdown-toggle projects-dropdown-btn"> Select a Page <i class="fa fa-caret-down"></i> </button> <ul class="dropdown-menu"> <li class="active"><a href="/software/">Overview</a></li> <li ><a href="/software/project-navigator/openstack-components">OpenStack Components</a></li> <li ><a href="/software/project-navigator/sdks">Client tools</a></li> <li ><a href="/software/project-navigator/deployment-tools">Deployment Tools</a></li> <li ><a href="/software/sample-configs">Sample Configurations</a></li> </ul> </div> </div> </div> <div class="software-main-wrapper"> <!-- Projects Subnav --> <div class="container"> <div class="outer-project-subnav"> <div class="subpage-slider"> <ul class="subpage-subnav"> <li class=""> <a href="https://www.openstack.org/software/start/">Get Started</a> </li> <li class=""> <a href="https://www.openstack.org/software/roadmap/">Roadmap</a> </li> <li class="active"> <a href="https://www.openstack.org/software/openstack-dalmatian/">Latest Release</a> </li> <li class=""> <a href="https://releases.openstack.org/dalmatian">Source Code</a> </li> </ul> </div> </div> </div> <div class="container inner-software"> <h1 style="text-align: left;" dir="ltr"><span id="docs-internal-guid-20710450-7fff-7356-2da3-548ca5da79df"><span>OpenStack Dalmatian 2024.2 adds e<span id="docs-internal-guid-7c1eee06-7fff-5255-dc59-e137118fd87b"><span>nhancements for AI workloads, security, user experience</span></span></span></span></h1><p><a href="https://www.youtube.com/watch?v=6igJNIJ9yFE"><img style="margin-top: 10px; margin-left: 25px; float: right;" title="OpenStack Dalmatian Release" src="https://object-storage-ca-ymq-1.vexxhost.net/swift/v1/6e4619c416ff4bd19e1c087f27a43eea/www-assets-prod/Dalmatian-Banner.jpg" alt="OpenStack Dalmatian Release video Image" width="350" data-url="https://object-storage-ca-ymq-1.vexxhost.net/swift/v1/6e4619c416ff4bd19e1c087f27a43eea/www-assets-prod/Dalmatian-Banner.jpg"></a></p><h4 dir="ltr"><span>The 30th release highlights include Skyline being deemed production ready, increased support for GPUs within Blazar, and advancing the community goals around RBAC within Neutron. </span></h4><p><span id="docs-internal-guid-7215b577-7fff-228c-13f9-07ae4f3ed50c"><span><span id="docs-internal-guid-2b045f12-7fff-93a5-2be2-df6c1a1a1186"><span>This release comes as the </span><a href="https://www.mordorintelligence.com/industry-reports/openstack-services-market"><span>OpenStack market is estimated at $22.81 billion in 2024</span></a><span> and is expected to reach $91.44 billion USD by 2029, growing at a CAGR of 32%. <span><span id="docs-internal-guid-a97f5ad3-7fff-d2d0-3aa2-219e1fb019cd"><span>Around 500 contributors from organizations including Red Hat, Cleura, Mirantis, Walmart, BBC R&D, Blizzard Entertainment, and NVIDIA built Dalmatian, delivering support for AI workloads, enhanced security, and improved user experiences among widespread maintenance updates. </span></span></span></span></span></span></span></p><div class="row"> <div class="col-sm-12"> <div class="documentation"><!-- <a class="releaseButton" href="news/view/453/openstack-ussuri-release-lands-today-delivering-automation-for-intelligent-open-infrastructure" target="_blank">Press Release</a> --><a class="releaseButton" href="https://releases.openstack.org/dalmatian">Release Notes & Source Code</a> <a class="releaseButton" href="https://object-storage-ca-ymq-1.vexxhost.net/swift/v1/6e4619c416ff4bd19e1c087f27a43eea/www-assets-prod/openstack-map/openstack-map-v20240401.pdf">OpenStack Project Map</a> <a href="https://www.youtube.com/watch?v=6igJNIJ9yFE">OpenInfra Live Episode</a></div> </div> </div><div class="row" style="margin-bottom: 40px;"> <div class="col-sm-12"><br><p dir="ltr"><strong>How OpenStack Dalmatian's features came to life</strong></p> <p dir="ltr"><span>The OpenInfra Foundation has collaborated with the OpenStack community to highlight some of the prominent features of the Dalmatian release; more cycle highlights </span><a href="https://releases.openstack.org/dalmatian/highlights.html"><span>can be found here</span></a><span>. </span></p> <p dir="ltr"><strong>Support of AI & HPC Workloads </strong></p> <p dir="ltr">Dalmatian advances OpenStack’s support of AI and HPC workloads. For example:</p> <ul><li><strong>Blazar</strong> introduced support for reserving compute instances based on existing Nova flavors. This can be used to provide reservation of GPU instances.</li> <li>In <strong>Nova</strong>, with the libvirt driver and libvirt version 7.3.0 or newer, mediated devices for vGPUs are now persisted across reboots of a compute host. This offers more convenience and efficiency improvements for users of hardware accelerators, many of whom currently may be training AI systems.</li> </ul><p dir="ltr"><strong>Security</strong></p> <p dir="ltr"><span>Security enhancements are a common theme in many OpenStack Dalmatian components. Highlights include the following: </span></p> <ul><li><strong>Ironic</strong> has enhanced multiple security aspects. For example, it now requires rescue passwords to be hashed, it has reduced the logged nodes information during the cleaning phase to avoid showing sensitive data, and it has hardened the communication between the Ironic services and the Ironic agent requiring an HTTPS URL by default. In addition, Ironic now allows users to perform firmware updates on active nodes with the firmware interface, using the redfish driver firmware update feature as a service step. This can be used to facilitate applying firmware security patches.</li> <li><strong>Neutron</strong> has added manager role support to its APIs, meeting the next phase of the Secure RBAC community goals.</li> <li><span id="docs-internal-guid-78d4c6f4-7fff-b060-d3e3-d887ade38786"><strong>Nova</strong> now automatically detects virtual Trusted Platform Module (vTPM) support for compute services if libvirt version is above 8.0.0 and if swtpm is installed on the node. It will also automatically get the TPM models that are supported. In addition, Nova users can now require Transport Layer Security (TLS) connections for SPICE consoles.</span><span style="font-size: 1.1em;"> </span></li> </ul><p dir="ltr"><strong>User Interface Enhancements</strong></p> <p>OpenStack Dalmatian showcases several ways the community continues to adapt the software to enhance usability. These features are key for organizations who are migrating from VMware to OpenStack. </p> <p dir="ltr">For example: </p> <ul><li><strong>Skyline</strong>, a next generation dashboard with a modernized web UI, is now fully supported as part of the official OpenStack release. Previously released as a technology preview, Skyline is now production ready and has added new functionality in Dalmatian including support for Masakari, Designate and FWaaS, as well as several translations. </li> <li><strong>Ironic</strong> has added runbooks, a new API concept to enable self-service of maintenance items on nodes by project members. Runbooks are curated lists of steps that can be run on nodes only associated via traits and used in lieu of an explicit list of steps for manual cleaning or servicing. They also follow RBAC rules, allowing projects to limit who can maintain and use a runbook.</li> <li><strong>Manila</strong>: Users now have the ability to manipulate storage capabilities through shared metadata. Cloud operators can determine which capabilities are updatable, and users are then notified about the status of the updates through asynchronous user messages.</li> </ul><p dir="ltr"><strong>Simplification of OpenStack Upgrades</strong></p> <p dir="ltr"><span id="docs-internal-guid-285432df-7fff-65ec-4f89-cd6eb1d16e89">In 2022, the OpenStack community adopted a <a href="https://governance.openstack.org/tc/resolutions/20220210-release-cadence-adjustment.html">once-a-year SLURP release cadence</a> designed to ease the demands upon operators to upgrade every six months. OpenStack Dalmatian is a “not-SLURP release,” which means it is offered in the six-month interim of annual SLURP releases expressly for those who wish to upgrade more frequently. <span>Organizations will then have the opportunity to return to the SLURP release cadence by upgrading to <a href="https://releases.openstack.org/epoxy/schedule.html">OpenStack 2025.1 ‘Epoxy.’</a></span></span></p> <p dir="ltr"> <span style="color: #0083c8; font-size: 1.6em;">Contributor List</span></p> <p dir="ltr">Thank you to the nearly 500 contributors who contributed to the OpenStack Dalmatian release.</p> </div> </div><div class="row"> <div class="col-sm-12 contributors-list"> <ul><li class="col-lg-3 col-md-3 col-sm-3">Takashi Kajinami</li> <li class="col-lg-3 col-md-3 col-sm-3">Dmitriy Rabotyagov</li> <li class="col-lg-3 col-md-3 col-sm-3">Elod Illes</li> <li class="col-lg-3 col-md-3 col-sm-3">Stephen Finucane</li> <li class="col-lg-3 col-md-3 col-sm-3">Ghanshyam</li> <li class="col-lg-3 col-md-3 col-sm-3">Michal Nasiadka</li> <li class="col-lg-3 col-md-3 col-sm-3">Jonathan Rosser</li> <li class="col-lg-3 col-md-3 col-sm-3">Jens Harbott</li> <li class="col-lg-3 col-md-3 col-sm-3">Pierre Riteau</li> <li class="col-lg-3 col-md-3 col-sm-3">Julia Kreger</li> <li class="col-lg-3 col-md-3 col-sm-3">Myles Penner</li> <li class="col-lg-3 col-md-3 col-sm-3">Rodolfo Alonso</li> <li class="col-lg-3 col-md-3 col-sm-3">Alex Kavanagh</li> <li class="col-lg-3 col-md-3 col-sm-3">Artem Goncharov</li> <li class="col-lg-3 col-md-3 col-sm-3">Slawek Kaplonski</li> <li class="col-lg-3 col-md-3 col-sm-3">yatin</li> <li class="col-lg-3 col-md-3 col-sm-3">Vladimir Kozhukalov</li> <li class="col-lg-3 col-md-3 col-sm-3">James Page</li> <li class="col-lg-3 col-md-3 col-sm-3">Maksim Malchuk</li> <li class="col-lg-3 col-md-3 col-sm-3">Tim Burke</li> <li class="col-lg-3 col-md-3 col-sm-3">Lajos Katona</li> <li class="col-lg-3 col-md-3 col-sm-3">Sven Kieske</li> <li class="col-lg-3 col-md-3 col-sm-3">Brian Haley</li> <li class="col-lg-3 col-md-3 col-sm-3">Dmitry Tantsur</li> <li class="col-lg-3 col-md-3 col-sm-3">Dan Smith</li> <li class="col-lg-3 col-md-3 col-sm-3">Riccardo Pittau</li> <li class="col-lg-3 col-md-3 col-sm-3">Jay Faulkner</li> <li class="col-lg-3 col-md-3 col-sm-3">Rodrigo Barbieri</li> <li class="col-lg-3 col-md-3 col-sm-3">Gregory Thiemonge</li> <li class="col-lg-3 col-md-3 col-sm-3">Guillaume Boutry</li> <li class="col-lg-3 col-md-3 col-sm-3">sean mooney</li> <li class="col-lg-3 col-md-3 col-sm-3">Abhishek Kekane</li> <li class="col-lg-3 col-md-3 col-sm-3">Rajat Dhasmana</li> <li class="col-lg-3 col-md-3 col-sm-3">Hemanth N</li> <li class="col-lg-3 col-md-3 col-sm-3">Mark Goddard</li> <li class="col-lg-3 col-md-3 col-sm-3">Andrew Bonney</li> <li class="col-lg-3 col-md-3 col-sm-3">Clark Boylan</li> <li class="col-lg-3 col-md-3 col-sm-3">Tobias Urdin</li> <li class="col-lg-3 col-md-3 col-sm-3">Goutham Pacha Ravi</li> <li class="col-lg-3 col-md-3 col-sm-3">Ihar Hrachyshka</li> <li class="col-lg-3 col-md-3 col-sm-3">Dirk Mueller</li> <li class="col-lg-3 col-md-3 col-sm-3">Billy Olsen</li> <li class="col-lg-3 col-md-3 col-sm-3">Jingwei.Zhang</li> <li class="col-lg-3 col-md-3 col-sm-3">cid</li> <li class="col-lg-3 col-md-3 col-sm-3">Peter Sabaini</li> <li class="col-lg-3 col-md-3 col-sm-3">Edward Hope-Morley</li> <li class="col-lg-3 col-md-3 col-sm-3">Alistair Coles</li> <li class="col-lg-3 col-md-3 col-sm-3">Pranali Deore</li> <li class="col-lg-3 col-md-3 col-sm-3">Eric Harney</li> <li class="col-lg-3 col-md-3 col-sm-3">Matt Crees</li> <li class="col-lg-3 col-md-3 col-sm-3">Brian Rosmaita</li> <li class="col-lg-3 col-md-3 col-sm-3">Bartosz Bezak</li> <li class="col-lg-3 col-md-3 col-sm-3">Jadon Naas</li> <li class="col-lg-3 col-md-3 col-sm-3">Fernando Royo</li> <li class="col-lg-3 col-md-3 col-sm-3">Daniel Bengtsson</li> <li class="col-lg-3 col-md-3 col-sm-3">Luciano Lo Giudice</li> <li class="col-lg-3 col-md-3 col-sm-3">Felipe Reyes</li> <li class="col-lg-3 col-md-3 col-sm-3">Artom Lifshitz</li> <li class="col-lg-3 col-md-3 col-sm-3">melanie witt</li> <li class="col-lg-3 col-md-3 col-sm-3">Jeremy Stanley</li> <li class="col-lg-3 col-md-3 col-sm-3">Yasufumi Ogawa</li> <li class="col-lg-3 col-md-3 col-sm-3">wu.chunyang</li> <li class="col-lg-3 col-md-3 col-sm-3">Carlos Eduardo</li> <li class="col-lg-3 col-md-3 col-sm-3">Tadas Sutkaitis</li> <li class="col-lg-3 col-md-3 col-sm-3">Terry Wilson</li> <li class="col-lg-3 col-md-3 col-sm-3">Tony Breeds</li> <li class="col-lg-3 col-md-3 col-sm-3">Samuel Allan</li> <li class="col-lg-3 col-md-3 col-sm-3">David Negreira</li> <li class="col-lg-3 col-md-3 col-sm-3">Michal Arbet</li> <li class="col-lg-3 col-md-3 col-sm-3">Amit Uniyal</li> <li class="col-lg-3 col-md-3 col-sm-3">Cyril Roelandt</li> <li class="col-lg-3 col-md-3 col-sm-3">Will Szumski</li> <li class="col-lg-3 col-md-3 col-sm-3">Mohammed Naser</li> <li class="col-lg-3 col-md-3 col-sm-3">Tom Weininger</li> <li class="col-lg-3 col-md-3 col-sm-3">Doug Goldstein</li> <li class="col-lg-3 col-md-3 col-sm-3">Douglas Mendizábal</li> <li class="col-lg-3 col-md-3 col-sm-3">Martin Kopec</li> <li class="col-lg-3 col-md-3 col-sm-3">Jacob Anders</li> <li class="col-lg-3 col-md-3 col-sm-3">Sylvain Bauza</li> <li class="col-lg-3 col-md-3 col-sm-3">Ashley Rodriguez</li> <li class="col-lg-3 col-md-3 col-sm-3">Bence Romsics</li> <li class="col-lg-3 col-md-3 col-sm-3">Luis Tomas Bolivar</li> <li class="col-lg-3 col-md-3 col-sm-3">kiran pawar</li> <li class="col-lg-3 col-md-3 col-sm-3">Jan Jasek</li> <li class="col-lg-3 col-md-3 col-sm-3">Steve Baker</li> <li class="col-lg-3 col-md-3 col-sm-3">Jakub Libosvar</li> <li class="col-lg-3 col-md-3 col-sm-3">Michael Johnson</li> <li class="col-lg-3 col-md-3 col-sm-3">James Parker</li> <li class="col-lg-3 col-md-3 col-sm-3">Mridula Joshi</li> <li class="col-lg-3 col-md-3 col-sm-3">David Wilde</li> <li class="col-lg-3 col-md-3 col-sm-3">Jake Yip</li> <li class="col-lg-3 col-md-3 col-sm-3">Nobuto Murata</li> <li class="col-lg-3 col-md-3 col-sm-3">Hervé Beraud</li> <li class="col-lg-3 col-md-3 col-sm-3">Nilesh Thathagar</li> <li class="col-lg-3 col-md-3 col-sm-3">Arina Stebenkova</li> <li class="col-lg-3 col-md-3 col-sm-3">Christian Berendt</li> <li class="col-lg-3 col-md-3 col-sm-3">Clay Gerrard</li> <li class="col-lg-3 col-md-3 col-sm-3">Seyeong Kim</li> <li class="col-lg-3 col-md-3 col-sm-3">Sergey Kraynev</li> <li class="col-lg-3 col-md-3 col-sm-3">Balazs Gibizer</li> <li class="col-lg-3 col-md-3 col-sm-3">daniel.pawlik</li> <li class="col-lg-3 col-md-3 col-sm-3">Gabriel Angelo Sgarbi Cocenza</li> <li class="col-lg-3 col-md-3 col-sm-3">Miguel Lavalle</li> <li class="col-lg-3 col-md-3 col-sm-3">Tatiana Ovchinnikova</li> <li class="col-lg-3 col-md-3 col-sm-3">Erlon R. Cruz</li> <li class="col-lg-3 col-md-3 col-sm-3">Rico Lin</li> <li class="col-lg-3 col-md-3 col-sm-3">Boxiang Zhu</li> <li class="col-lg-3 col-md-3 col-sm-3">Joel Capitao</li> <li class="col-lg-3 col-md-3 col-sm-3">Jorge Merlino</li> <li class="col-lg-3 col-md-3 col-sm-3">Gireesh Awasthi</li> <li class="col-lg-3 col-md-3 col-sm-3">Scott Davidson</li> <li class="col-lg-3 col-md-3 col-sm-3">John Garbutt</li> <li class="col-lg-3 col-md-3 col-sm-3">Thomas Goirand</li> <li class="col-lg-3 col-md-3 col-sm-3">Miro Tomaska</li> <li class="col-lg-3 col-md-3 col-sm-3">JamesLin</li> <li class="col-lg-3 col-md-3 col-sm-3">Andrey Kurilin</li> <li class="col-lg-3 col-md-3 col-sm-3">Peter Penchev</li> <li class="col-lg-3 col-md-3 col-sm-3">Trent Lloyd</li> <li class="col-lg-3 col-md-3 col-sm-3">Raghavendra Tilay</li> <li class="col-lg-3 col-md-3 col-sm-3">Julien LE JEUNE</li> <li class="col-lg-3 col-md-3 col-sm-3">wangkuntian</li> <li class="col-lg-3 col-md-3 col-sm-3">Chi Wai CHAN</li> <li class="col-lg-3 col-md-3 col-sm-3">Roman Krček</li> <li class="col-lg-3 col-md-3 col-sm-3">Skylar Markegard</li> <li class="col-lg-3 col-md-3 col-sm-3">Thierry Carrez</li> <li class="col-lg-3 col-md-3 col-sm-3">liuyulong</li> <li class="col-lg-3 col-md-3 col-sm-3">Dale Smith</li> <li class="col-lg-3 col-md-3 col-sm-3">Alfredo Moralejo</li> <li class="col-lg-3 col-md-3 col-sm-3">Michel Nederlof</li> <li class="col-lg-3 col-md-3 col-sm-3">Ai Hamano</li> <li class="col-lg-3 col-md-3 col-sm-3">likui</li> <li class="col-lg-3 col-md-3 col-sm-3">Jaromír Wysoglad</li> <li class="col-lg-3 col-md-3 col-sm-3">Youngjun Yoo</li> <li class="col-lg-3 col-md-3 col-sm-3">Uwe Jäger</li> <li class="col-lg-3 col-md-3 col-sm-3">Marius</li> <li class="col-lg-3 col-md-3 col-sm-3">Francesco Di Nucci</li> <li class="col-lg-3 col-md-3 col-sm-3">Michael Still</li> <li class="col-lg-3 col-md-3 col-sm-3">Pavlo Shchelokovskyy</li> <li class="col-lg-3 col-md-3 col-sm-3">Arnaud Morin</li> <li class="col-lg-3 col-md-3 col-sm-3">Frode Nordahl</li> <li class="col-lg-3 col-md-3 col-sm-3">Jimmy McCrory</li> <li class="col-lg-3 col-md-3 col-sm-3">Elvira García Ruiz</li> <li class="col-lg-3 col-md-3 col-sm-3">Zhang Hua</li> <li class="col-lg-3 col-md-3 col-sm-3">Lucas Alvares Gomes</li> <li class="col-lg-3 col-md-3 col-sm-3">Radomir Dopieralski</li> <li class="col-lg-3 col-md-3 col-sm-3">Vlad Gusev</li> <li class="col-lg-3 col-md-3 col-sm-3">Erik Olof Gunnar Andersson</li> <li class="col-lg-3 col-md-3 col-sm-3">Kaifeng Wang</li> <li class="col-lg-3 col-md-3 col-sm-3">Bo Tran</li> <li class="col-lg-3 col-md-3 col-sm-3">Sebastian Lohff</li> <li class="col-lg-3 col-md-3 col-sm-3">Peter Matulis</li> <li class="col-lg-3 col-md-3 col-sm-3">Frank Ritchie</li> <li class="col-lg-3 col-md-3 col-sm-3">XuQi</li> <li class="col-lg-3 col-md-3 col-sm-3">Karolina Kula</li> <li class="col-lg-3 col-md-3 col-sm-3">Ke Niu</li> <li class="col-lg-3 col-md-3 col-sm-3">Robert Breker</li> <li class="col-lg-3 col-md-3 col-sm-3">tspyderboy</li> <li class="col-lg-3 col-md-3 col-sm-3">Kyaw Myo Thant</li> <li class="col-lg-3 col-md-3 col-sm-3">Sahid Orentino Ferdjaoui</li> <li class="col-lg-3 col-md-3 col-sm-3">hongbin</li> <li class="col-lg-3 col-md-3 col-sm-3">Hoai-Thu Vuong</li> <li class="col-lg-3 col-md-3 col-sm-3">Simon Dodsley</li> <li class="col-lg-3 col-md-3 col-sm-3">Ian Y. Choi</li> <li class="col-lg-3 col-md-3 col-sm-3">Vasyl Saienko</li> <li class="col-lg-3 col-md-3 col-sm-3">Iury Gregory Melo Ferreira</li> <li class="col-lg-3 col-md-3 col-sm-3">Bernard Cafarelli</li> <li class="col-lg-3 col-md-3 col-sm-3">Markus Hentsch</li> <li class="col-lg-3 col-md-3 col-sm-3">Stephen Taylor</li> <li class="col-lg-3 col-md-3 col-sm-3">Omer Schwartz</li> <li class="col-lg-3 col-md-3 col-sm-3">Christian Rohmann</li> <li class="col-lg-3 col-md-3 col-sm-3">Jakub Skunda</li> <li class="col-lg-3 col-md-3 col-sm-3">Roberto Acosta</li> <li class="col-lg-3 col-md-3 col-sm-3">Callum Dickinson</li> <li class="col-lg-3 col-md-3 col-sm-3">Oria Weng</li> <li class="col-lg-3 col-md-3 col-sm-3">Ivan Halomi</li> <li class="col-lg-3 col-md-3 col-sm-3">James E. Blair</li> <li class="col-lg-3 col-md-3 col-sm-3">Itsuro Oda</li> <li class="col-lg-3 col-md-3 col-sm-3">Matthew Oliver</li> <li class="col-lg-3 col-md-3 col-sm-3">Benedikt Trefzer</li> <li class="col-lg-3 col-md-3 col-sm-3">Jon Bernard</li> <li class="col-lg-3 col-md-3 col-sm-3">Gorka Eguileor</li> <li class="col-lg-3 col-md-3 col-sm-3">Gaudenz Steinlin</li> <li class="col-lg-3 col-md-3 col-sm-3"><a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="dab7b3b1bf85b7aa9aa0a0a0b9b5b7aaafaeb3b4bdf4b9b5b7">[email protected]</a></li> <li class="col-lg-3 col-md-3 col-sm-3">Ionut-Madalin Balutoiu</li> <li class="col-lg-3 col-md-3 col-sm-3">Bjoern Teipel</li> <li class="col-lg-3 col-md-3 col-sm-3">James Denton</li> <li class="col-lg-3 col-md-3 col-sm-3">Rajesh Tailor</li> <li class="col-lg-3 col-md-3 col-sm-3">Shyam Biradar</li> <li class="col-lg-3 col-md-3 col-sm-3">Vishal Manchanda</li> <li class="col-lg-3 col-md-3 col-sm-3">Radosław Piliszek</li> <li class="col-lg-3 col-md-3 col-sm-3">Franciszek Przewoźny</li> <li class="col-lg-3 col-md-3 col-sm-3">Martin Hiner</li> <li class="col-lg-3 col-md-3 col-sm-3">Rafal Lewandowski</li> <li class="col-lg-3 col-md-3 col-sm-3">utkarsh bhatt</li> <li class="col-lg-3 col-md-3 col-sm-3">Ashish Gupta</li> <li class="col-lg-3 col-md-3 col-sm-3">Alex Welsh</li> <li class="col-lg-3 col-md-3 col-sm-3">Dawud</li> <li class="col-lg-3 col-md-3 col-sm-3">Alan Baghumian</li> <li class="col-lg-3 col-md-3 col-sm-3">Shreeya Deshpande</li> <li class="col-lg-3 col-md-3 col-sm-3">Cuiye Liu</li> <li class="col-lg-3 col-md-3 col-sm-3">Agnes Nduta</li> <li class="col-lg-3 col-md-3 col-sm-3">José Julián Espina Del Ángel</li> <li class="col-lg-3 col-md-3 col-sm-3">Chris Buggy</li> <li class="col-lg-3 col-md-3 col-sm-3">Andrew Babbitt</li> <li class="col-lg-3 col-md-3 col-sm-3">Sam Morrison</li> <li class="col-lg-3 col-md-3 col-sm-3">Erno Kuvaja</li> <li class="col-lg-3 col-md-3 col-sm-3">Takashi Natsume</li> <li class="col-lg-3 col-md-3 col-sm-3">Corey Bryant</li> <li class="col-lg-3 col-md-3 col-sm-3">ribaudr</li> <li class="col-lg-3 col-md-3 col-sm-3">Fabian Wiesel</li> <li class="col-lg-3 col-md-3 col-sm-3">Josephine Seifert</li> <li class="col-lg-3 col-md-3 col-sm-3">ZhouHeng</li> <li class="col-lg-3 col-md-3 col-sm-3">jiasirui</li> <li class="col-lg-3 col-md-3 col-sm-3">Oleksandr Kozachenko</li> <li class="col-lg-3 col-md-3 col-sm-3">Jean Pierre Roquesalane</li> <li class="col-lg-3 col-md-3 col-sm-3">Bodo Petermann</li> <li class="col-lg-3 col-md-3 col-sm-3">Damian Dąbrowski</li> <li class="col-lg-3 col-md-3 col-sm-3">Atsushi Kawai</li> <li class="col-lg-3 col-md-3 col-sm-3">Reşit Demir</li> <li class="col-lg-3 col-md-3 col-sm-3">Jianjian Huo</li> <li class="col-lg-3 col-md-3 col-sm-3">Biser Milanov</li> <li class="col-lg-3 col-md-3 col-sm-3">Antonia Gaete</li> <li class="col-lg-3 col-md-3 col-sm-3">Yian Zong</li> <li class="col-lg-3 col-md-3 col-sm-3">Mahnoor Asghar</li> <li class="col-lg-3 col-md-3 col-sm-3">Aleksei Chekunov</li> <li class="col-lg-3 col-md-3 col-sm-3">Hasan Acar</li> <li class="col-lg-3 col-md-3 col-sm-3">Adam McArthur</li> <li class="col-lg-3 col-md-3 col-sm-3">Katarina Strenkova</li> <li class="col-lg-3 col-md-3 col-sm-3">Danny Cocks</li> <li class="col-lg-3 col-md-3 col-sm-3">Rahman Muhammad</li> <li class="col-lg-3 col-md-3 col-sm-3">Winicius Allan Bezerra da Silva</li> <li class="col-lg-3 col-md-3 col-sm-3">Shivam Shukla</li> <li class="col-lg-3 col-md-3 col-sm-3">Elvis Kobi Acheampong</li> <li class="col-lg-3 col-md-3 col-sm-3">Seunghun Lee</li> <li class="col-lg-3 col-md-3 col-sm-3">Tatsuya Hayashino</li> <li class="col-lg-3 col-md-3 col-sm-3">christian okeke</li> <li class="col-lg-3 col-md-3 col-sm-3">Federico Bosi</li> <li class="col-lg-3 col-md-3 col-sm-3">Nguye Luu Hoang Minh</li> <li class="col-lg-3 col-md-3 col-sm-3">Volodymyr Boiko</li> <li class="col-lg-3 col-md-3 col-sm-3">Takahiro Miyajima</li> <li class="col-lg-3 col-md-3 col-sm-3">Kuemjong Jeong</li> <li class="col-lg-3 col-md-3 col-sm-3">Pete Zaitcev</li> <li class="col-lg-3 col-md-3 col-sm-3">Zane Bitter</li> <li class="col-lg-3 col-md-3 col-sm-3">Matthias Runge</li> <li class="col-lg-3 col-md-3 col-sm-3">Attila Fazekas</li> <li class="col-lg-3 col-md-3 col-sm-3">Nicholas Kuechler</li> <li class="col-lg-3 col-md-3 col-sm-3">David Hill</li> <li class="col-lg-3 col-md-3 col-sm-3">Kevin Carter</li> <li class="col-lg-3 col-md-3 col-sm-3">Hao Wang</li> <li class="col-lg-3 col-md-3 col-sm-3">Arif Ali</li> <li class="col-lg-3 col-md-3 col-sm-3">Radoslaw Smigielski</li> <li class="col-lg-3 col-md-3 col-sm-3">Andrew Bogott</li> <li class="col-lg-3 col-md-3 col-sm-3">Thomas Bachman</li> <li class="col-lg-3 col-md-3 col-sm-3">Gökhan</li> <li class="col-lg-3 col-md-3 col-sm-3">howardlee</li> <li class="col-lg-3 col-md-3 col-sm-3">Dmitrii Shcherbakov</li> <li class="col-lg-3 col-md-3 col-sm-3">Ebbex</li> <li class="col-lg-3 col-md-3 col-sm-3">Rafael Weingartner</li> <li class="col-lg-3 col-md-3 col-sm-3">Vanou Ishii</li> <li class="col-lg-3 col-md-3 col-sm-3">Pedro Henrique Pereira Martins</li> <li class="col-lg-3 col-md-3 col-sm-3">Wenping Song</li> <li class="col-lg-3 col-md-3 col-sm-3">Jorhson Deng</li> <li class="col-lg-3 col-md-3 col-sm-3">Ayumu Ueha</li> <li class="col-lg-3 col-md-3 col-sm-3">Ponnuvel Palaniyappan</li> <li class="col-lg-3 col-md-3 col-sm-3">Michał Górny</li> <li class="col-lg-3 col-md-3 col-sm-3">Maor Blaustein</li> <li class="col-lg-3 col-md-3 col-sm-3">Jan Hartkopf</li> <li class="col-lg-3 col-md-3 col-sm-3">Przemyslaw Szczerbik</li> <li class="col-lg-3 col-md-3 col-sm-3">Jakub Darmach</li> <li class="col-lg-3 col-md-3 col-sm-3">Simon Hensel</li> <li class="col-lg-3 col-md-3 col-sm-3">Maxim Sava</li> <li class="col-lg-3 col-md-3 col-sm-3">Dustin Spears</li> <li class="col-lg-3 col-md-3 col-sm-3">Konrad Gube</li> <li class="col-lg-3 col-md-3 col-sm-3">ASHWIN A NAIR</li> <li class="col-lg-3 col-md-3 col-sm-3">marihan girgis</li> <li class="col-lg-3 col-md-3 col-sm-3">Tyler</li> <li class="col-lg-3 col-md-3 col-sm-3">zhou zhong</li> <li class="col-lg-3 col-md-3 col-sm-3">Mohammed Boukhalfa</li> <li class="col-lg-3 col-md-3 col-sm-3">Jan Marchel</li> <li class="col-lg-3 col-md-3 col-sm-3">Pham Le Gia Dai</li> <li class="col-lg-3 col-md-3 col-sm-3">Travis Holton</li> <li class="col-lg-3 col-md-3 col-sm-3">Sergio Omar Munoz</li> <li class="col-lg-3 col-md-3 col-sm-3">Sylvan Le Deunff</li> <li class="col-lg-3 col-md-3 col-sm-3">liwenjian</li> <li class="col-lg-3 col-md-3 col-sm-3">jayaanand borra</li> <li class="col-lg-3 col-md-3 col-sm-3">Matúš Jenča</li> <li class="col-lg-3 col-md-3 col-sm-3">Jay Jahns</li> <li class="col-lg-3 col-md-3 col-sm-3">Anish Kachinthaya</li> <li class="col-lg-3 col-md-3 col-sm-3">Michal Wyszkowski</li> <li class="col-lg-3 col-md-3 col-sm-3">frankming</li> <li class="col-lg-3 col-md-3 col-sm-3">Tyler Adams</li> <li class="col-lg-3 col-md-3 col-sm-3">Valentin Chassignol</li> <li class="col-lg-3 col-md-3 col-sm-3">Yoshiro Watanabe</li> <li class="col-lg-3 col-md-3 col-sm-3">Tudor Domnescu</li> <li class="col-lg-3 col-md-3 col-sm-3">Morozov Aleksey</li> <li class="col-lg-3 col-md-3 col-sm-3">Evan Wever</li> <li class="col-lg-3 col-md-3 col-sm-3">Xuhui Zhu</li> <li class="col-lg-3 col-md-3 col-sm-3">Jonas Schulz</li> <li class="col-lg-3 col-md-3 col-sm-3">Marek Skrobacki</li> <li class="col-lg-3 col-md-3 col-sm-3">Monty Taylor</li> <li class="col-lg-3 col-md-3 col-sm-3">Mandell</li> <li class="col-lg-3 col-md-3 col-sm-3">Derek Higgins</li> <li class="col-lg-3 col-md-3 col-sm-3">Martin Magr</li> <li class="col-lg-3 col-md-3 col-sm-3">Don Kehn</li> <li class="col-lg-3 col-md-3 col-sm-3">Wu Wenxiang</li> <li class="col-lg-3 col-md-3 col-sm-3">Ben Nemec</li> <li class="col-lg-3 col-md-3 col-sm-3">Shunde Zhang</li> <li class="col-lg-3 col-md-3 col-sm-3">Lars Kellogg-Stedman</li> <li class="col-lg-3 col-md-3 col-sm-3">Rabi Mishra</li> <li class="col-lg-3 col-md-3 col-sm-3">Ade Lee</li> <li class="col-lg-3 col-md-3 col-sm-3">Luigi Toscano</li> <li class="col-lg-3 col-md-3 col-sm-3">Stig Telfer</li> <li class="col-lg-3 col-md-3 col-sm-3">George Shuklin</li> <li class="col-lg-3 col-md-3 col-sm-3">Michał Dulko</li> <li class="col-lg-3 col-md-3 col-sm-3">Sean McGinnis</li> <li class="col-lg-3 col-md-3 col-sm-3">Boris Bobrov</li> <li class="col-lg-3 col-md-3 col-sm-3">aarefiev</li> <li class="col-lg-3 col-md-3 col-sm-3">Grzegorz Grasza</li> <li class="col-lg-3 col-md-3 col-sm-3">Matthew Thode</li> <li class="col-lg-3 col-md-3 col-sm-3">Kyrylo Romanenko</li> <li class="col-lg-3 col-md-3 col-sm-3">Amy Marrich</li> <li class="col-lg-3 col-md-3 col-sm-3">Cyril Lopez</li> <li class="col-lg-3 col-md-3 col-sm-3">Ruslan Aliev</li> <li class="col-lg-3 col-md-3 col-sm-3">Dmitrii Kabanov</li> <li class="col-lg-3 col-md-3 col-sm-3">Doug Szumski</li> <li class="col-lg-3 col-md-3 col-sm-3">Andy Botting</li> <li class="col-lg-3 col-md-3 col-sm-3">Tim Bishop</li> <li class="col-lg-3 col-md-3 col-sm-3">Alexey Stupnikov</li> <li class="col-lg-3 col-md-3 col-sm-3">Damien RANNOU</li> <li class="col-lg-3 col-md-3 col-sm-3">Jaymes Mosher</li> <li class="col-lg-3 col-md-3 col-sm-3">Alexey</li> <li class="col-lg-3 col-md-3 col-sm-3">Min Sun</li> <li class="col-lg-3 col-md-3 col-sm-3">Alan Bishop</li> <li class="col-lg-3 col-md-3 col-sm-3">Andrey Volkov</li> <li class="col-lg-3 col-md-3 col-sm-3">Chris Smart</li> <li class="col-lg-3 col-md-3 col-sm-3">Viktor Křivák</li> <li class="col-lg-3 col-md-3 col-sm-3">Kien Nguyen</li> <li class="col-lg-3 col-md-3 col-sm-3">Harry Kominos</li> <li class="col-lg-3 col-md-3 col-sm-3">TommyLike</li> <li class="col-lg-3 col-md-3 col-sm-3">Eric Lei</li> <li class="col-lg-3 col-md-3 col-sm-3">焦浩霖</li> <li class="col-lg-3 col-md-3 col-sm-3">Harald Jensås</li> <li class="col-lg-3 col-md-3 col-sm-3">Stuart Grace</li> <li class="col-lg-3 col-md-3 col-sm-3">Johannes Kulik</li> <li class="col-lg-3 col-md-3 col-sm-3">Vishakha Agarwal</li> <li class="col-lg-3 col-md-3 col-sm-3">Vadym Markov</li> <li class="col-lg-3 col-md-3 col-sm-3">Guilherme</li> <li class="col-lg-3 col-md-3 col-sm-3">Liushy</li> <li class="col-lg-3 col-md-3 col-sm-3">Curt Moore</li> <li class="col-lg-3 col-md-3 col-sm-3">Matt Peters</li> <li class="col-lg-3 col-md-3 col-sm-3">Emilien LEFRANCOIS</li> <li class="col-lg-3 col-md-3 col-sm-3">Arkady Shtempler</li> <li class="col-lg-3 col-md-3 col-sm-3">Anton Kurbatov</li> <li class="col-lg-3 col-md-3 col-sm-3">huang liujie</li> <li class="col-lg-3 col-md-3 col-sm-3">Pierre-Samuel Le Stang</li> <li class="col-lg-3 col-md-3 col-sm-3">Felix Huettner</li> <li class="col-lg-3 col-md-3 col-sm-3">Simeon Gourlin</li> <li class="col-lg-3 col-md-3 col-sm-3">Roman Safronov</li> <li class="col-lg-3 col-md-3 col-sm-3">cuizhengcheng</li> <li class="col-lg-3 col-md-3 col-sm-3">Georgina Shippey</li> <li class="col-lg-3 col-md-3 col-sm-3">Vida Haririan</li> <li class="col-lg-3 col-md-3 col-sm-3">Brendan Shephard</li> <li class="col-lg-3 col-md-3 col-sm-3">Nikolay Vinogradov</li> <li class="col-lg-3 col-md-3 col-sm-3">Serhat Rıfat Demircan</li> <li class="col-lg-3 col-md-3 col-sm-3">Simon Merrick</li> <li class="col-lg-3 col-md-3 col-sm-3">Marcin Wilk</li> <li class="col-lg-3 col-md-3 col-sm-3">Ron Stone</li> <li class="col-lg-3 col-md-3 col-sm-3">suzhengwei</li> <li class="col-lg-3 col-md-3 col-sm-3">Lukas Piwowarski</li> <li class="col-lg-3 col-md-3 col-sm-3">Ihtisham ul Haq</li> <li class="col-lg-3 col-md-3 col-sm-3">Jan Horstmann</li> <li class="col-lg-3 col-md-3 col-sm-3">Quentin Anglade</li> <li class="col-lg-3 col-md-3 col-sm-3">Daniel King</li> <li class="col-lg-3 col-md-3 col-sm-3">Chris Johnston</li> <li class="col-lg-3 col-md-3 col-sm-3">Vladimir Ermakov</li> <li class="col-lg-3 col-md-3 col-sm-3">Felipe Rodrigues</li> <li class="col-lg-3 col-md-3 col-sm-3">Hirotaka Wakabayashi</li> <li class="col-lg-3 col-md-3 col-sm-3">Benjamin Reichel</li> <li class="col-lg-3 col-md-3 col-sm-3">wushiming</li> <li class="col-lg-3 col-md-3 col-sm-3">liujinxin</li> <li class="col-lg-3 col-md-3 col-sm-3">Robert Gildein</li> <li class="col-lg-3 col-md-3 col-sm-3">Gaël THEROND</li> <li class="col-lg-3 col-md-3 col-sm-3">ZhaoYixin</li> <li class="col-lg-3 col-md-3 col-sm-3">Piotr Parczewski</li> <li class="col-lg-3 col-md-3 col-sm-3">Victor Chembaev</li> <li class="col-lg-3 col-md-3 col-sm-3">Giuseppe Petralia</li> <li class="col-lg-3 col-md-3 col-sm-3">Juan Larriba</li> <li class="col-lg-3 col-md-3 col-sm-3">Chuan Miao</li> <li class="col-lg-3 col-md-3 col-sm-3">Dylan McCulloch</li> <li class="col-lg-3 col-md-3 col-sm-3">Karl Kloppenborg</li> <li class="col-lg-3 col-md-3 col-sm-3">Pierre-Yves Jourel</li> <li class="col-lg-3 col-md-3 col-sm-3">Hiromu Asahina</li> <li class="col-lg-3 col-md-3 col-sm-3">yuval</li> <li class="col-lg-3 col-md-3 col-sm-3">Seena Fallah</li> <li class="col-lg-3 col-md-3 col-sm-3">ZhouHao</li> <li class="col-lg-3 col-md-3 col-sm-3">Mina</li> <li class="col-lg-3 col-md-3 col-sm-3">Luigi Dino Tamagnone</li> <li class="col-lg-3 col-md-3 col-sm-3">Ashutosh Mishra</li> <li class="col-lg-3 col-md-3 col-sm-3">Andy Wu</li> <li class="col-lg-3 col-md-3 col-sm-3">Kaloyan Kotlarski</li> <li class="col-lg-3 col-md-3 col-sm-3">huanghailun</li> <li class="col-lg-3 col-md-3 col-sm-3">Grzegorz Bialas</li> <li class="col-lg-3 col-md-3 col-sm-3">Ken Fujimoto</li> <li class="col-lg-3 col-md-3 col-sm-3">Jayce Houtman</li> <li class="col-lg-3 col-md-3 col-sm-3">Lucas de Ataides Barreto</li> <li class="col-lg-3 col-md-3 col-sm-3">Sergiy Markin</li> <li class="col-lg-3 col-md-3 col-sm-3">Tianqi Xiao</li> <li class="col-lg-3 col-md-3 col-sm-3">Maxim Monin</li> <li class="col-lg-3 col-md-3 col-sm-3">Fiorella Yanac</li> <li class="col-lg-3 col-md-3 col-sm-3">Sudeep Bhandari</li> <li class="col-lg-3 col-md-3 col-sm-3">Muhammad Ahmad</li> <li class="col-lg-3 col-md-3 col-sm-3">Adam Rozman</li> <li class="col-lg-3 col-md-3 col-sm-3">Clifford Emeka</li> <li class="col-lg-3 col-md-3 col-sm-3">Qihui Zhao</li> <li class="col-lg-3 col-md-3 col-sm-3">Sandzwerg</li> <li class="col-lg-3 col-md-3 col-sm-3">James Black</li> <li class="col-lg-3 col-md-3 col-sm-3">Baek Seung Ju</li> <li class="col-lg-3 col-md-3 col-sm-3">Aleksandr Chudinov</li> <li class="col-lg-3 col-md-3 col-sm-3">Jeremy Boyle</li> <li class="col-lg-3 col-md-3 col-sm-3">Lana Kaleif</li> <li class="col-lg-3 col-md-3 col-sm-3">Birger J. Nordølum</li> <li class="col-lg-3 col-md-3 col-sm-3">Jang YeHoon</li> <li class="col-lg-3 col-md-3 col-sm-3">Philippe SÉRAPHIN</li> <li class="col-lg-3 col-md-3 col-sm-3">do-gyun kim</li> <li class="col-lg-3 col-md-3 col-sm-3">Lukas Kranz</li> <li class="col-lg-3 col-md-3 col-sm-3">Saravanan Manickam</li> <li class="col-lg-3 col-md-3 col-sm-3">Saikumar Pulluri</li> <li class="col-lg-3 col-md-3 col-sm-3">Kim HyoBin</li> <li class="col-lg-3 col-md-3 col-sm-3">Jake Hutchinson</li> <li class="col-lg-3 col-md-3 col-sm-3">Alexon Ferreira de Oliveira</li> <li class="col-lg-3 col-md-3 col-sm-3">Caio</li> <li class="col-lg-3 col-md-3 col-sm-3">Vinícius Fernando Rocha Lobo</li> <li class="col-lg-3 col-md-3 col-sm-3">Bryan Neumann</li> <li class="col-lg-3 col-md-3 col-sm-3">Zelenevskii Vadim</li> <li class="col-lg-3 col-md-3 col-sm-3">Petr Slavchenkov</li> <li class="col-lg-3 col-md-3 col-sm-3">Steve Brasier</li> <li class="col-lg-3 col-md-3 col-sm-3">Yan Xiao</li> <li class="col-lg-3 col-md-3 col-sm-3">Igor Kádson de Souza Oliveira</li> <li class="col-lg-3 col-md-3 col-sm-3">songjie</li> <li class="col-lg-3 col-md-3 col-sm-3">Piotr Czarnik</li> <li class="col-lg-3 col-md-3 col-sm-3">Annwesha Das</li> <li class="col-lg-3 col-md-3 col-sm-3">Xu Qi</li> <li class="col-lg-3 col-md-3 col-sm-3">Alexander Dibbo</li> <li class="col-lg-3 col-md-3 col-sm-3">Manuel Osorio</li> <li class="col-lg-3 col-md-3 col-sm-3">Radovan Pieter</li> <li class="col-lg-3 col-md-3 col-sm-3">Haejin choe</li> <li class="col-lg-3 col-md-3 col-sm-3">Kamil Gustab</li> <li class="col-lg-3 col-md-3 col-sm-3">Giovanni</li> <li class="col-lg-3 col-md-3 col-sm-3">Dmitry Skorykh</li> <li class="col-lg-3 col-md-3 col-sm-3">Steven Blatzheim</li> <li class="col-lg-3 col-md-3 col-sm-3">Florence Kotohoyoh</li> <li class="col-lg-3 col-md-3 col-sm-3">zecheng liu</li> <li class="col-lg-3 col-md-3 col-sm-3">Nevra Gürses Yakar</li> <li class="col-lg-3 col-md-3 col-sm-3">Jose Francisco Mingorance Puga</li> <li class="col-lg-3 col-md-3 col-sm-3">Carlos Bravo</li> <li class="col-lg-3 col-md-3 col-sm-3">Beomseok Kim</li> <li class="col-lg-3 col-md-3 col-sm-3">Alberto Gonzalez</li> <li class="col-lg-3 col-md-3 col-sm-3">Wu</li> <li class="col-lg-3 col-md-3 col-sm-3">Christian Mattsson</li> <li class="col-lg-3 col-md-3 col-sm-3">Dan Porter</li> <li class="col-lg-3 col-md-3 col-sm-3">Mohammed Al-Jawaheri</li> <li class="col-lg-3 col-md-3 col-sm-3">Adam McCartney</li> <li class="col-lg-3 col-md-3 col-sm-3">Jonathan Koerber</li> <li class="col-lg-3 col-md-3 col-sm-3">Ebil Jacob</li> <li class="col-lg-3 col-md-3 col-sm-3">Salman Hajizada</li> <li class="col-lg-3 col-md-3 col-sm-3">Kevin Nasto</li> <li class="col-lg-3 col-md-3 col-sm-3">Igor Zhukov</li> <li class="col-lg-3 col-md-3 col-sm-3">noisonnoiton</li> <li class="col-lg-3 col-md-3 col-sm-3">Maksym Medvied</li> <li class="col-lg-3 col-md-3 col-sm-3">Daanish Khan</li> <li class="col-lg-3 col-md-3 col-sm-3">Himanshu Roy</li> <li class="col-lg-3 col-md-3 col-sm-3">Tatsuji Miyamoto</li> <li class="col-lg-3 col-md-3 col-sm-3">Sylvère K</li> <li class="col-lg-3 col-md-3 col-sm-3">Andrew</li> <li class="col-lg-3 col-md-3 col-sm-3">Dmitry Novikov</li> <li class="col-lg-3 col-md-3 col-sm-3">Bela Szanics</li> <li class="col-lg-3 col-md-3 col-sm-3">Evgeniy Bykov</li> <li class="col-lg-3 col-md-3 col-sm-3">Yuki Hirano</li> <li class="col-lg-3 col-md-3 col-sm-3">Mohammed Al-Dokimi</li> <li class="col-lg-3 col-md-3 col-sm-3">Sebastien Boyron</li> <li class="col-lg-3 col-md-3 col-sm-3">Georg Hennemann</li> <li class="col-lg-3 col-md-3 col-sm-3">Lee Jongwon</li> <li class="col-lg-3 col-md-3 col-sm-3">Andi Chandler</li> <li class="col-lg-3 col-md-3 col-sm-3">Akihiro Motoki</li> <li class="col-lg-3 col-md-3 col-sm-3">Álvaro Soto</li> <li class="col-lg-3 col-md-3 col-sm-3">Ilya Alekseyev</li> </ul></div> </div><p> </p> </div> </div> <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script><script type="text/javascript" src="/node_modules/jquery/dist/jquery.min.js?m=1658151666"></script><script type="text/javascript" src="/node_modules/jquery-migrate-legacy/dist/jquery-migrate.min.js?m=1658151666"></script><script type="text/javascript" src="/node_modules/jquery-migrate/dist/jquery-migrate.min.js?m=1658151666"></script><script type="text/javascript" src="/framework/thirdparty/jquery-entwine/dist/jquery.entwine-dist.js?m=1557447099"></script><script type="text/javascript" src="/node_modules/bootstrap/dist/js/bootstrap.min.js?m=1658151664"></script><script type="text/javascript" src="/node_modules/js-cookie/src/js.cookie.js?m=1658151666"></script><script type="text/javascript" src="/themes/openstack/javascript/querystring.jquery.js?m=1730312418"></script><script type="text/javascript" src="/themes/openstack/javascript/shadowbox/shadowbox.js?m=1730312418"></script><script type="text/javascript" src="/themes/openstack/javascript/jquery.ticker.js?m=1730312418"></script><script type="text/javascript" src="/themes/openstack/javascript/jquery.tools.min.js?m=1730312418"></script><script type="text/javascript" src="/themes/openstack/javascript/jcarousellite.min.js?m=1730312418"></script><script type="text/javascript" src="/themes/openstack/javascript/navigation.js?m=1730312418"></script><script type="text/javascript" src="/themes/openstack/javascript/filetracking.jquery.js?m=1730312418"></script><script type="text/javascript" src="/themes/openstack/javascript/updateProfileModal.js?m=1730312418"></script><script type="text/javascript" src="/node_modules/webui-popover/dist/jquery.webui-popover.min.js?m=1658151681"></script><script type="text/javascript">//<![CDATA[ jQuery(document).ready(function($) { var d = new Date(); var user_date = d.getFullYear()+'-'+(d.getMonth()+1)+'-'+d.getDate(); Cookies.set('user_date', user_date, { expires: 360, path: '/' }); $('body').filetracking(); $(document).on("click", ".outbound-link", function(event){ var href = $(this).attr('href'); recordOutboundLink(this,'Outbound Links',href); event.preventDefault(); event.stopPropagation() return false; }); var use_shadow_box = true; if(use_shadow_box) Shadowbox.init(); }); //]]></script><script src="https://www.google.com/recaptcha/api.js" async defer></script> <script> function onSubmit(token) { document.getElementById("e2ma_signup").submit(); } </script> <div class="footer-bottom"> <h3 style="color:#fff;">Subscribe to News About OpenStack</h3> <p>Stay up to date on OpenStack and the Open Infrastructure community.</p> <div class="container"> <div class="form-group"> <form method="post" id="e2ma_signup" onsubmit="return signupFormObj.checkForm(this)" action="https://app.e2ma.net/app2/audience/signup/1900249/1771360/"> <input id="id_prev_member_email" name="prev_member_email" type="hidden" /> <input id="id_source" name="source" type="hidden" /> <input id="id_group_4036448" name="group_4036448" type="hidden" value="4036448" /> <input type="hidden" name="private_set" value="{num_private}" /> <input placeholder="Email Address" id="id_email" name="email" type="email" required class="feedback-input" size="is-large" /> <a href="#" class="feedback-btn" onclick="document.getElementById('e2ma_signup').submit();" data-sitekey="6LeKvr0UAAAAAItxLgobGpatgngglauCXrZw2Yw4" data-callback='onSubmit'> <span>SUBMIT</span> <i class="fa fa-chevron-right"></i> </a> </form> </div> </div> </div> <footer> <div class="container"> <div class="row footer-links"> <div class="col-lg-2 col-sm-2"> <h3>OpenStack</h3> <ul> <li><a href="//openstack.org/software/project-navigator/">Projects</a></li> <li><a href="https://security.openstack.org" target="_blank">Security</a></li> <li><a href="//openstack.org/software/">Software</a></li> <li><a href="http://openstack.org/blog/">Blog</a></li> <li><a href="//openstack.org/news/">News</a></li> </ul> </div> <div class="col-lg-2 col-sm-2"> <h3>Community</h3> <ul> <li><a href="https://www.meetup.com/pro/openinfradev">User Groups</a></li> <li><a href="//openstack.org/community/events/">Events</a></li> <li><a href="//openstack.org/community/jobs/">Jobs</a></li> <li><a href="//openstack.org/foundation/companies/">Companies</a></li> <li><a href="http://docs.openstack.org/infra/manual/developers.html">Contribute</a></li> </ul> </div> <div class="col-lg-2 col-sm-2"> <h3>Documentation</h3> <ul> <li><a href="http://docs.openstack.org">OpenStack Manuals</a></li> <li><a href="//openstack.org/software/start/">Getting Started</a></li> <li><a href="http://developer.openstack.org">API Documentation</a></li> <li><a href="https://wiki.openstack.org">Wiki</a></li> </ul> </div> <div class="col-lg-2 col-sm-2"> <h3>Branding & Legal</h3> <ul> <li><a href="//openstack.org/legal/">Legal Docs</a></li> <li><a href="//openstack.org/brand/">Logos & Guidelines</a></li> <li><a href="//openstack.org/brand/openstack-trademark-policy/">Trademark Policy</a></li> <li><a href="//openstack.org/privacy/">Privacy Policy</a></li> <li><a href="https://docs.openstack.org/contributors/common/setup-gerrit.html#individual-contributor-license-agreement">OpenStack CLA</a></li> </ul> </div> <div class="col-lg-4 col-sm-4"> <h3>Stay In Touch</h3> <a href="https://twitter.com/OpenStack" target="_blank"><i class="fab fa-twitter-square" style="font-size: 36px;color:#eaeaea;padding-right:10px;"></i></a> <a href="https://www.facebook.com/openinfradev/" target="_blank"><i class="fab fa-facebook-square" style="font-size: 36px;color:#eaeaea;padding-right:10px;"></i></a> <a href="https://www.linkedin.com/groups/3239106/" target="_blank"><i class="fab fa-linkedin" style="font-size: 36px;color:#eaeaea;padding-right:10px;"></i></a> <a href="https://www.youtube.com/user/OpenStackFoundation" target="_blank"><i class="fab fa-youtube-square" style="font-size: 36px;color:#eaeaea;padding-right:10px;"></i></a> <a href="" data-toggle="modal" data-target="#wechat-modal"><i style="font-size: 36px;color:#eaeaea;padding-right:10px;" class="fab fa-weixin"></i></a> <!-- <form class="form-inline"> <div class="form-group newsletter-form"> <label>Join Our Newsletter</label> <input class="newsletter-input" type="input" placeholder="Email"> <button type="submit" class="newsletter-btn">Join</button> </div> </form> --> <p class="fine-print"> The OpenStack project is provided under the Apache 2.0 license. The project is supported by the <a href="https://openinfra.dev">OpenInfra Foundation</a>. openstack.org is powered by <a href="https://vexxhost.com" target="_blank">VEXXHOST</a>. </p> </div> </div> </div> <div id="wechat-modal" class="modal fade" tabindex="-1" role="dialog" aria-hidden="true"> <div class="modal-dialog modal-sm" role="document"> <div class="modal-content"> <img width="150" src="https://object-storage-ca-ymq-1.vexxhost.net/swift/v1/6e4619c416ff4bd19e1c087f27a43eea/www-assets-prod/summits/shanghai/qrcode-for-gh-5cc38c749efd-1280.jpg" /> </div> </div> </div> </footer> <!-- Quantcast Tag --> <script type="text/javascript"> var _qevents = _qevents || []; (function() { var elem = document.createElement('script'); elem.src = (document.location.protocol == "https:" ? "https://secure" : "http://edge") + ".quantserve.com/quant.js"; elem.async = true; elem.type = "text/javascript"; var scpt = document.getElementsByTagName('script')[0]; scpt.parentNode.insertBefore(elem, scpt); })(); _qevents.push({ qacct:"p-fM0cfazHHeyRH" }); </script> <noscript> <div style="display:none;"> <img src="//pixel.quantserve.com/pixel/p-fM0cfazHHeyRH.gif" border="0" height="1" width="1" alt="Quantcast"/> </div> </noscript> <!-- End Quantcast tag --> <!-- Twitter universal website tag code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='//static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); // Insert Twitter Pixel ID and Standard Event data below twq('init','nxuu6'); twq('track','PageView'); </script> <!-- End Twitter universal website tag code --> <script src="//search.openstack.org/widget/embed.min.js"></script> </body> <script type="text/javascript"> _linkedin_data_partner_id = "36268"; </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> </html>