CINXE.COM
Open Source Cloud Computing Platform Software - OpenStack
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="en_US"> <head> <base href="https://www.openstack.org/"><!--[if lte IE 6]></base><![endif]--> <title>Open Source Cloud Computing Platform Software - OpenStack</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="Open Source Cloud Computing Platform Software - OpenStack" /> <meta name="generator" content="SilverStripe - http://silverstripe.org" /> <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> <meta name="description" content="OpenStack is a an open source cloud operating system managing compute, storage, and networking resources throughout a datacenter using APIs" /> <meta property="og:title" content="Open Source Cloud Computing Platform Software - OpenStack" /> <meta property="og:type" content="website" /> <meta property="og:url" content="https://www.openstack.org/software/" /> <link rel="image_src" href="https://object-storage-ca-ymq-1.vexxhost.net/swift/v1/6e4619c416ff4bd19e1c087f27a43eea/www-assets-prod/Uploads/openstack-vert.jpg" type="image/jpeg" /> <meta property="og:image" content="http://object-storage-ca-ymq-1.vexxhost.net/swift/v1/6e4619c416ff4bd19e1c087f27a43eea/www-assets-prod/Uploads/openstack-vert.jpg" /> <meta property="og:image:secure_url" content="https://object-storage-ca-ymq-1.vexxhost.net/swift/v1/6e4619c416ff4bd19e1c087f27a43eea/www-assets-prod/Uploads/openstack-vert.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 is a an open source cloud operating system managing compute, storage, and networking resources throughout a datacenter using APIs" /> <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]--> <link rel="stylesheet" type="text/css" href="navbar/ui/production/css/main.css"> <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=1732738999" /> <link rel="stylesheet" type="text/css" href="/themes/openstack/css/navigation_menu.css?m=1732738999" /> <link rel="stylesheet" type="text/css" href="/themes/openstack/css/dropdown.css?m=1732738999" /> <link rel="stylesheet" type="text/css" href="/themes/openstack/javascript/shadowbox/shadowbox.css?m=1732738971" /> <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=1732739005" /> <link rel="stylesheet" type="text/css" href="/themes/openstack/css/announcement-banner.css?m=1732738998" /> <link rel="stylesheet" type="text/css" href="/themes/openstack/javascript/seiyria-bootstrap-slider/dist/css/bootstrap-slider.min.css?m=1732738971" /> <link rel="stylesheet" type="text/css" href="https://www.openstack.org/software/ui/production/css/software_all_projects.css" /> </head> <body id="software" lang="en_US"> <div id="nav_container"></div> <!-- 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> <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=1732738971"></script><script type="text/javascript" src="/themes/openstack/javascript/shadowbox/shadowbox.js?m=1732738971"></script><script type="text/javascript" src="/themes/openstack/javascript/jquery.ticker.js?m=1732738971"></script><script type="text/javascript" src="/themes/openstack/javascript/jquery.tools.min.js?m=1732738971"></script><script type="text/javascript" src="/themes/openstack/javascript/jcarousellite.min.js?m=1732738971"></script><script type="text/javascript" src="/themes/openstack/javascript/navigation.js?m=1732738971"></script><script type="text/javascript" src="/themes/openstack/javascript/filetracking.jquery.js?m=1732738971"></script><script type="text/javascript" src="/themes/openstack/javascript/updateProfileModal.js?m=1732738971"></script><script type="text/javascript" src="/framework/javascript/i18n.js?m=1557447099"></script><script type="text/javascript" src="/node_modules/webui-popover/dist/jquery.webui-popover.min.js?m=1658151681"></script><script type="text/javascript" src="/software/js/software.js?m=1732738970"></script><script type="text/javascript" src="/themes/openstack/javascript/seiyria-bootstrap-slider/dist/bootstrap-slider.min.js?m=1732738971"></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> var components = {"category":{"ClassName":"OpenStackComponentCategory","LastEdited":"2024-11-29 23:00:04","Created":"2018-08-28 13:31:08","Name":"OpenStack Components","Label":"OpenStack Components","Slug":"openstack-components","Order":1,"Enabled":1,"HideSubnav":0,"ParentCategoryID":0,"ID":55,"RecordClassName":"OpenStackComponentCategory"},"subcategories":{"openstack-services":{"category":{"ClassName":"OpenStackComponentCategory","LastEdited":"2024-11-29 23:00:04","Created":"2018-08-28 13:32:35","Name":"OpenStack Services","Label":"OpenStack Services","Description":"An OpenStack deployment contains a number of components providing APIs to access infrastructure resources. This page lists the various services that can be deployed to provide such resources to cloud end users.","Slug":"openstack-services","Order":1,"Enabled":1,"HideSubnav":0,"ParentCategoryID":55,"ID":56,"RecordClassName":"OpenStackComponentCategory"},"subcategories":{"compute":{"category":{"ClassName":"OpenStackComponentCategory","LastEdited":"2024-11-29 23:00:04","Created":"2018-08-13 10:06:37","Name":"Compute","Label":"Compute","Slug":"compute","Order":1,"Enabled":1,"HideSubnav":0,"ParentCategoryID":56,"ID":22,"RecordClassName":"OpenStackComponentCategory"},"components":[{"id":2,"name":"Compute Service","description":"To implement services and associated libraries to provide massively scalable, on demand, self service access to compute resources, including bare metal, virtual machines, and containers.","code_name":"Nova","slug":"nova","adoption":null,"age":15,"maturity_points":null,"grouped_capability_tags":[],"capability_tags":[]},{"id":22,"name":"Containers Service","description":"Zun provides an OpenStack API for launching and managing containers backed by different container technologies. Different from Magnum, Zun is for users who want to treat containers as OpenStack-managed resource. Containers managed by Zun are supposed to be integrated well with other OpenStack resources, such as Neutron network and Cinder volume. Users are provided a simplified APIs to manage containers without the need to explore the complexities of different container technologies.","code_name":"Zun","slug":"zun","adoption":null,"age":15,"maturity_points":null,"grouped_capability_tags":[],"capability_tags":[]}]},"hardware-lifecycle":{"category":{"ClassName":"OpenStackComponentCategory","LastEdited":"2024-11-29 23:00:04","Created":"2018-08-13 10:08:01","Name":"Hardware Lifecycle","Label":"Hardware Lifecycle","Slug":"hardware-lifecycle","Order":2,"Enabled":1,"HideSubnav":0,"ParentCategoryID":56,"ID":24,"RecordClassName":"OpenStackComponentCategory"},"components":[{"id":12,"name":"Bare Metal Provisioning Service","description":"To implement services and associated libraries to provide massively scalable, on demand, self service access to compute resources, including bare metal, virtual machines, and containers.","code_name":"Ironic","slug":"ironic","adoption":null,"age":15,"maturity_points":null,"grouped_capability_tags":[],"capability_tags":[]},{"id":50,"name":"Lifecycle management of accelerators","description":"Cyborg provides a general purpose management framework for accelerators (including GPUs, FPGAs, ASIC-based devices, etc.)","code_name":"Cyborg","slug":"cyborg","adoption":null,"age":15,"maturity_points":null,"grouped_capability_tags":[],"capability_tags":[]}]},"storage":{"category":{"ClassName":"OpenStackComponentCategory","LastEdited":"2024-11-29 23:00:04","Created":"2018-08-13 10:11:18","Name":"Storage","Label":"Storage","Slug":"storage","Order":3,"Enabled":1,"HideSubnav":0,"ParentCategoryID":56,"ID":25,"RecordClassName":"OpenStackComponentCategory"},"components":[{"id":4,"name":"Object store","description":"Swift is a highly available, distributed, eventually consistent object\/blob store. Organizations can use Swift to store lots of data efficiently, safely, and cheaply. It's built for scale and optimized for durability, availability, and concurrency across the entire data set. Swift is ideal for storing unstructured data that can grow without bound.","code_name":"Swift","slug":"swift","adoption":null,"age":15,"maturity_points":null,"grouped_capability_tags":[],"capability_tags":[]},{"id":5,"name":"Block Storage","description":"Cinder is a Block Storage service for OpenStack. It virtualizes the management of block storage devices and provides end users with a self service API to request and consume those resources without requiring any knowledge of where their storage is actually deployed or on what type of device. This is done through the use of either a reference implementation (LVM) or plugin drivers for other storage.","code_name":"Cinder","slug":"cinder","adoption":null,"age":15,"maturity_points":null,"grouped_capability_tags":[],"capability_tags":[]},{"id":14,"name":"Shared filesystems","description":"Manila provides coordinated access to shared or distributed file systems.","code_name":"Manila","slug":"manila","adoption":null,"age":15,"maturity_points":null,"grouped_capability_tags":[],"capability_tags":[]}]},"networking":{"category":{"ClassName":"OpenStackComponentCategory","LastEdited":"2024-11-29 23:00:04","Created":"2018-08-13 10:07:20","Name":"Networking","Label":"Networking","Slug":"networking","Order":4,"Enabled":1,"HideSubnav":0,"ParentCategoryID":56,"ID":23,"RecordClassName":"OpenStackComponentCategory"},"components":[{"id":3,"name":"Networking","description":"OpenStack Neutron is an SDN networking project focused on delivering networking-as-a-service (NaaS) in virtual compute environments.","code_name":"Neutron","slug":"neutron","adoption":null,"age":15,"maturity_points":null,"grouped_capability_tags":[],"capability_tags":[]},{"id":42,"name":"Load balancer","description":"Octavia is an open source, operator-scale load balancing solution designed to work with OpenStack. Octavia was borne out of the Neutron LBaaS project, and starting with the Liberty release of OpenStack, Octavia has become the reference implementation for Neutron LBaaS version 2. Octavia accomplishes its delivery of load balancing services by managing a fleet of virtual machines, containers, or bare metal servers \u2014collectively known as amphorae\u2014 which it spins up on demand. This on-demand, horizontal scaling feature differentiates Octavia from other load balancing solutions, thereby making Octavia truly suited \u201cfor the cloud.\u201d","code_name":"Octavia","slug":"octavia","adoption":null,"age":15,"maturity_points":null,"grouped_capability_tags":[],"capability_tags":[]},{"id":15,"name":"DNS service","description":"Designate provides DNS-as-a-service for OpenStack.","code_name":"Designate","slug":"designate","adoption":null,"age":15,"maturity_points":null,"grouped_capability_tags":[],"capability_tags":[]}]},"shared-services":{"category":{"ClassName":"OpenStackComponentCategory","LastEdited":"2024-11-29 23:00:04","Created":"2018-08-13 10:13:11","Name":"Shared Services","Label":"Shared Services","Slug":"shared-services","Order":5,"Enabled":1,"HideSubnav":0,"ParentCategoryID":56,"ID":28,"RecordClassName":"OpenStackComponentCategory"},"components":[{"id":6,"name":"Identity service","description":"Keystone is an OpenStack service that provides API client authentication, service discovery, and distributed multi-tenant authorization by implementing OpenStack\u2019s Identity API. It supports LDAP, OAuth, OpenID Connect, SAML and SQL.","code_name":"Keystone","slug":"keystone","adoption":null,"age":15,"maturity_points":null,"grouped_capability_tags":[],"capability_tags":[]},{"id":82,"name":"Placement service","description":"Placement is an OpenStack service that provides an HTTP API for tracking cloud resource inventories and usages to help other services effectively manage and allocate their resources.","code_name":"Placement","slug":"placement","adoption":null,"age":15,"maturity_points":null,"grouped_capability_tags":[],"capability_tags":[]},{"id":7,"name":"Image service","description":"Glance image services include discovering, registering, and retrieving virtual machine images. Glance has a RESTful API that allows querying of VM image metadata as well as retrieval of the actual image. VM images made available through Glance can be stored in a variety of locations from simple filesystems to object-storage systems like the OpenStack Swift project.","code_name":"Glance","slug":"glance","adoption":null,"age":15,"maturity_points":null,"grouped_capability_tags":[],"capability_tags":[]},{"id":16,"name":"Key management","description":"Barbican is the OpenStack Key Manager service. It provides secure storage, provisioning and management of secret data, such as passwords, encryption keys, X.509 Certificates and raw binary data.","code_name":"Barbican","slug":"barbican","adoption":null,"age":15,"maturity_points":null,"grouped_capability_tags":[],"capability_tags":[]}]},"orchestration":{"category":{"ClassName":"OpenStackComponentCategory","LastEdited":"2024-11-29 23:00:04","Created":"2018-08-13 10:33:46","Name":"Orchestration","Label":"Orchestration","Slug":"orchestration","Order":6,"Enabled":1,"HideSubnav":0,"ParentCategoryID":56,"ID":38,"RecordClassName":"OpenStackComponentCategory"},"components":[{"id":9,"name":"Orchestration","description":"Heat orchestrates the infrastructure resources for a cloud application based on templates in the form of text files that can be treated like code. Heat provides both an OpenStack-native ReST API and a CloudFormation-compatible Query API. Heat also provides an autoscaling service that integrates with the OpenStack Telemetry services, so you can include a scaling group as a resource in a template.","code_name":"Heat","slug":"heat","adoption":null,"age":15,"maturity_points":null,"grouped_capability_tags":[],"capability_tags":[]},{"id":45,"name":"Workflow service","description":"Mistral is a workflow service. Most business processes consist of multiple distinct interconnected steps that need to be executed in a particular order in a distributed environment. One can describe such process as a set of tasks and task relations (via YAML-based language) and upload such description to Mistral so that it takes care of state management, correct execution order, parallelism, synchronization and high availability.","code_name":"Mistral","slug":"mistral","adoption":null,"age":15,"maturity_points":null,"grouped_capability_tags":[],"capability_tags":[]},{"id":13,"name":"Messaging Service","description":"Zaqar is a multi-tenant cloud messaging service for web and mobile developers. The service features a fully RESTful API, which developers can use to send messages between various components of their SaaS and mobile applications. Underlying this API is an efficient messaging engine designed with scalability and security in mind. Other OpenStack components can integrate with Zaqar to surface events to end users and to communicate with guest agents that run in the \"over-cloud\" layer. Cloud operators can leverage Zaqar to provide equivalents of SQS and SNS to their customers.","code_name":"Zaqar","slug":"zaqar","adoption":null,"age":15,"maturity_points":null,"grouped_capability_tags":[],"capability_tags":[]},{"id":56,"name":"Resource reservation service","description":"Blazar is a resource reservation service for OpenStack. Blazar enables users to reserve a specific type\/amount of resources for a specific time period and it leases these resources to users based on their reservations.","code_name":"Blazar","slug":"blazar","adoption":null,"age":15,"maturity_points":null,"grouped_capability_tags":[],"capability_tags":[]},{"id":35,"name":"Alarming Service","description":"Aodh's goal is to enable the ability to trigger actions based on defined rules against sample or event data collected by Ceilometer.","code_name":"Aodh","slug":"aodh","adoption":null,"age":15,"maturity_points":null,"grouped_capability_tags":[],"capability_tags":[]}]},"workload-provisioning":{"category":{"ClassName":"OpenStackComponentCategory","LastEdited":"2024-11-29 23:00:04","Created":"2018-08-13 10:03:03","Name":"Workload Provisioning","Label":"Workload Provisioning","Slug":"workload-provisioning","Order":7,"Enabled":1,"HideSubnav":0,"ParentCategoryID":56,"ID":19,"RecordClassName":"OpenStackComponentCategory"},"components":[{"id":17,"name":"Container Orchestration Engine Provisioning","description":"Magnum makes container orchestration engines such as Docker Swarm, Kubernetes, and Apache Mesos available as first class resources in OpenStack. Magnum uses Heat to orchestrate an OS image which contains Docker and Kubernetes and runs that image in either virtual machines or bare metal in a cluster configuration.","code_name":"Magnum","slug":"magnum","adoption":null,"age":15,"maturity_points":null,"grouped_capability_tags":[],"capability_tags":[]},{"id":10,"name":"Database as a Service","description":"Trove is a database-as-a-service provisioning relational and non-relational database engines.","code_name":"Trove","slug":"trove","adoption":null,"age":15,"maturity_points":null,"grouped_capability_tags":[],"capability_tags":[]}]},"application-lifecycle":{"category":{"ClassName":"OpenStackComponentCategory","LastEdited":"2024-11-29 23:00:04","Created":"2018-08-13 10:05:32","Name":"Application Lifecycle","Label":"Application Lifecycle","Slug":"application-lifecycle","Order":8,"Enabled":1,"HideSubnav":0,"ParentCategoryID":56,"ID":21,"RecordClassName":"OpenStackComponentCategory"},"components":[{"id":59,"name":"Instances High Availability Service","description":"Masakari provides Instances High Availability Service for OpenStack clouds by automatically recovering failed Instances. Currently, Masakari can recover KVM-based Virtual Machine(VM)s from failure events such as VM process down, provisioning process down, and nova-compute host failure. Masakari also provides an API service to manage and control the automated rescue mechanism.","code_name":"Masakari","slug":"masakari","adoption":null,"age":15,"maturity_points":null,"grouped_capability_tags":[],"capability_tags":[]}]},"web-frontends":{"category":{"ClassName":"OpenStackComponentCategory","LastEdited":"2024-11-29 23:00:04","Created":"2021-12-23 23:00:05","Name":"Web frontends","Label":"Web frontends","Slug":"web-frontends","Order":9,"Enabled":1,"HideSubnav":0,"ParentCategoryID":56,"ID":73,"RecordClassName":"OpenStackComponentCategory"},"components":[{"id":1,"name":"Dashboard","description":"Horizon is the canonical implementation of OpenStack's dashboard, which is extensible and provides a web based user interface to OpenStack services.","code_name":"Horizon","slug":"horizon","adoption":null,"age":13,"maturity_points":null,"grouped_capability_tags":[],"capability_tags":[]},{"id":87,"name":"Next generation dashboard (emerging technology)","description":"Skyline is an OpenStack dashboard optimized by UI and UE. It has a modern technology stack and ecology, is easier for developers to maintain and operate by users, and has higher concurrency performance.","code_name":"Skyline","slug":"skyline","adoption":null,"age":4,"maturity_points":null,"grouped_capability_tags":[],"capability_tags":[]}]}}},"operations-tooling":{"category":{"ClassName":"OpenStackComponentCategory","LastEdited":"2024-11-29 23:00:04","Created":"2020-07-20 23:00:07","Name":"Operations tooling","Label":"Operations tooling","Description":"Those services deliver APIs primarily targeted to cloud admins and deployers, to help with cloud operations.","Slug":"operations-tooling","Order":2,"Enabled":1,"HideSubnav":0,"ParentCategoryID":55,"ID":64,"RecordClassName":"OpenStackComponentCategory"},"subcategories":{"monitoring-services":{"category":{"ClassName":"OpenStackComponentCategory","LastEdited":"2024-11-29 23:00:04","Created":"2020-07-20 23:00:07","Name":"Monitoring services","Label":"Monitoring services","Slug":"monitoring-services","Order":1,"Enabled":1,"HideSubnav":0,"ParentCategoryID":64,"ID":65,"RecordClassName":"OpenStackComponentCategory"},"components":[{"id":8,"name":"Metering & Data Collection Service","description":"Ceilometer's goal is to efficiently collect, normalise and transform data produced by OpenStack services. The data it collects is intended to be used to create different views and help solve various telemetry use cases. Aodh and Gnocchi are two examples of services extending Ceilometer data.","code_name":"Ceilometer","slug":"ceilometer","adoption":null,"age":15,"maturity_points":null,"grouped_capability_tags":[],"capability_tags":[]}]},"resource-optimization":{"category":{"ClassName":"OpenStackComponentCategory","LastEdited":"2024-11-29 23:00:04","Created":"2020-07-20 23:00:07","Name":"Resource optimization","Label":"Resource optimization","Slug":"resource-optimization","Order":2,"Enabled":1,"HideSubnav":0,"ParentCategoryID":64,"ID":66,"RecordClassName":"OpenStackComponentCategory"},"components":[{"id":39,"name":"Optimization Service","description":"Watcher provides a flexible and scalable resource optimization service for multi-tenant OpenStack-based clouds. Watcher provides a complete optimization loop\u2014including everything from a metrics receiver, optimization processor and an action plan applier.","code_name":"Watcher","slug":"watcher","adoption":null,"age":15,"maturity_points":null,"grouped_capability_tags":[],"capability_tags":[]},{"id":38,"name":"Root Cause Analysis service","description":"Vitrage is the OpenStack service for Root Cause Analysis. It is used to organize, analyze and visualize OpenStack alarms & events, yield insights regarding the root cause of problems and deduce their existence before they are directly detected.","code_name":"Vitrage","slug":"vitrage","adoption":null,"age":15,"maturity_points":null,"grouped_capability_tags":[],"capability_tags":[]}]},"billing-business-logic":{"category":{"ClassName":"OpenStackComponentCategory","LastEdited":"2024-11-29 23:00:04","Created":"2018-08-13 10:15:34","Name":"Billing \/ Business Logic","Label":"Billing \/ Business Logic","Slug":"billing-business-logic","Order":3,"Enabled":1,"HideSubnav":0,"ParentCategoryID":64,"ID":32,"RecordClassName":"OpenStackComponentCategory"},"components":[{"id":71,"name":"Operations processes automation","description":"Adjutant provides an extensible API framework for exposing to users an organization\u2019s automated business processes relating to account management across OpenStack and external systems, that can be adapted to the unique requirements of an organization\u2019s processes.","code_name":"Adjutant","slug":"adjutant","adoption":null,"age":15,"maturity_points":null,"grouped_capability_tags":[],"capability_tags":[]},{"id":31,"name":"Billing and chargebacks","description":"CloudKitty is a rating-as-a-service project designed to translate metrics to prices. CloudKitty supports multiple collectors, multiple rating policies and multiple outputs.","code_name":"Cloudkitty","slug":"cloudkitty","adoption":null,"age":15,"maturity_points":null,"grouped_capability_tags":[],"capability_tags":[]}]},"testing-benchmark":{"category":{"ClassName":"OpenStackComponentCategory","LastEdited":"2024-11-29 23:00:04","Created":"2020-07-20 23:00:07","Name":"Testing \/ Benchmark","Label":"Testing \/ Benchmark","Slug":"testing-benchmark","Order":4,"Enabled":1,"HideSubnav":0,"ParentCategoryID":64,"ID":67,"RecordClassName":"OpenStackComponentCategory"},"components":[{"id":33,"name":"Benchmarking tool","description":"Rally is a benchmarking and performance analysis tool for OpenStack that can be used to automate measuring and profiling focused on how new code changes affect OpenStack performance, detect scaling and performance issues, and investigate how different deployment architectures and hardware affect OpenStack performance. It can be used as a basic tool for an OpenStack CI\/CD system that would continuously improve its SLA, performance and stability.","code_name":"Rally","slug":"rally","adoption":null,"age":15,"maturity_points":null,"grouped_capability_tags":[],"capability_tags":[]},{"id":85,"name":"The OpenStack Integration Test Suite","description":"Tempest is a set of integration tests to be run against a live OpenStack cluster. Tempest has batteries of tests for OpenStack API validation, scenarios, and other specific tests useful in validating an OpenStack deployment. Tempest should be able to run against any OpenStack cloud, be it a single node, a 20 node LXC cloud, or a 1000 node KVM cloud. Tempest provides plugin capability which means any Tempest plugin can be pluged in and and run their test along with Tempest tests.","code_name":"Tempest","slug":"tempest","adoption":null,"age":5,"maturity_points":null,"grouped_capability_tags":[],"capability_tags":[]}]}}},"add-ons-to-services":{"category":{"ClassName":"OpenStackComponentCategory","LastEdited":"2024-11-29 23:00:04","Created":"2018-08-28 13:33:25","Name":"Add-Ons to Services","Label":"Add-Ons to Services","Description":"This software runs as an add-on or plug-in into other OpenStack services.","Slug":"add-ons-to-services","Order":3,"Enabled":1,"HideSubnav":0,"ParentCategoryID":55,"ID":58,"RecordClassName":"OpenStackComponentCategory"},"subcategories":{"swift-add-ons":{"category":{"ClassName":"OpenStackComponentCategory","LastEdited":"2024-11-29 23:00:04","Created":"2018-08-27 14:31:25","Name":"Swift add-ons","Label":"Swift add-ons","Slug":"swift-add-ons","Order":1,"Enabled":1,"HideSubnav":0,"ParentCategoryID":58,"ID":47,"RecordClassName":"OpenStackComponentCategory"},"components":[{"id":21,"name":"Computable object storage","description":"Openstack Storlets is an extension to Openstack Swift with the ability to run user defined computations - called storlets - inside the object store in a secure and isolated manner through the use of Docker containers. A storlet is a compiled and packaged code (e.g. a .jar file) that can be uploaded to Swift as any other object. Once uploaded the storlet can be invoked over data objects in Swift.","code_name":"Storlets","slug":"storlets","adoption":null,"age":15,"maturity_points":null,"grouped_capability_tags":[],"capability_tags":[]}]}}},"integration-enablers":{"category":{"ClassName":"OpenStackComponentCategory","LastEdited":"2024-11-29 23:00:04","Created":"2020-07-20 23:00:07","Name":"Integration enablers","Label":"Integration enablers","Description":"Software in this section facilitates integration of OpenStack components in adjacent open infrastructure stacks.","Slug":"integration-enablers","Order":4,"Enabled":1,"HideSubnav":0,"ParentCategoryID":55,"ID":68,"RecordClassName":"OpenStackComponentCategory"},"subcategories":{"containers":{"category":{"ClassName":"OpenStackComponentCategory","LastEdited":"2024-11-29 23:00:04","Created":"2018-08-27 14:31:25","Name":"Containers","Label":"Containers","Slug":"containers","Order":1,"Enabled":1,"HideSubnav":0,"ParentCategoryID":68,"ID":50,"RecordClassName":"OpenStackComponentCategory"},"components":[{"id":41,"name":"OpenStack Networking integration for containers","description":"Bridge between containers frameworks networking models to OpenStack networking abstraction","code_name":"Kuryr","slug":"kuryr","adoption":null,"age":15,"maturity_points":null,"grouped_capability_tags":[],"capability_tags":[]}]},"nfv":{"category":{"ClassName":"OpenStackComponentCategory","LastEdited":"2024-11-29 23:00:05","Created":"2018-08-13 10:12:06","Name":"NFV","Label":"NFV","Slug":"nfv","Order":2,"Enabled":1,"HideSubnav":0,"ParentCategoryID":68,"ID":26,"RecordClassName":"OpenStackComponentCategory"},"components":[{"id":43,"name":"NFV Orchestration","description":"Tacker provides a generic VNF Manager (VNFM) and an NFV Orchestrator (NFVO) to deploy and operate Network Services and Virtual Network Functions (VNFs) on an NFV infrastructure platform like OpenStack. It is based on ETSI MANO Architectural Framework and provides a functional stack to Orchestrate Network Services end-to-end using VNFs.","code_name":"Tacker","slug":"tacker","adoption":null,"age":15,"maturity_points":null,"grouped_capability_tags":[],"capability_tags":[]}]}}}}}; var capabilities = [{"id":3,"name":"components","tags":[{"id":78,"name":"adjutant"},{"id":55,"name":"aodh"},{"id":31,"name":"barbican"},{"id":56,"name":"blazar"},{"id":27,"name":"cache"},{"id":59,"name":"ceilometer"},{"id":40,"name":"cinder"},{"id":66,"name":"cloudkitty"},{"id":79,"name":"coordination"},{"id":38,"name":"cyborg"},{"id":24,"name":"database"},{"id":36,"name":"designate"},{"id":58,"name":"ec2api"},{"id":26,"name":"etcd"},{"id":49,"name":"freezer"},{"id":30,"name":"glance"},{"id":22,"name":"heat"},{"id":57,"name":"horizon"},{"id":37,"name":"ironic"},{"id":28,"name":"keystone"},{"id":45,"name":"magnum"},{"id":41,"name":"manila"},{"id":51,"name":"masakari"},{"id":23,"name":"message-queue"},{"id":52,"name":"mistral"},{"id":60,"name":"monasca"},{"id":48,"name":"murano"},{"id":34,"name":"neutron"},{"id":42,"name":"nova"},{"id":35,"name":"octavia"},{"id":61,"name":"panko"},{"id":29,"name":"placement"},{"id":65,"name":"rally"},{"id":47,"name":"sahara"},{"id":25,"name":"secrets-storage"},{"id":53,"name":"senlin"},{"id":50,"name":"solum"},{"id":39,"name":"swift"},{"id":46,"name":"trove"},{"id":63,"name":"vitrage"},{"id":62,"name":"watcher"},{"id":54,"name":"zaqar"},{"id":43,"name":"zun"}]},{"id":5,"name":"features","tags":[{"id":76,"name":"all-in-one"},{"id":75,"name":"encrypted-local-comms"},{"id":77,"name":"nova-cells"},{"id":73,"name":"offline-installation"},{"id":74,"name":"supports-heterogeneous-versions"}]},{"id":1,"name":"starts-from","tags":[{"id":1,"name":"bare-metal"},{"id":3,"name":"env-bootstrap"},{"id":4,"name":"kubernetes-cluster"},{"id":2,"name":"os-installed"}]},{"id":2,"name":"technology","tags":[{"id":18,"name":"ansible"},{"id":17,"name":"chef"},{"id":5,"name":"deb-packages"},{"id":13,"name":"debian"},{"id":11,"name":"fedora"},{"id":9,"name":"git"},{"id":20,"name":"helm"},{"id":19,"name":"juju"},{"id":21,"name":"kubernetes"},{"id":7,"name":"oci-containers"},{"id":15,"name":"oraclelinux"},{"id":16,"name":"puppet"},{"id":10,"name":"redhat-centos"},{"id":6,"name":"rpm-packages"},{"id":12,"name":"sles-opensuse"},{"id":8,"name":"source-tarballs"},{"id":14,"name":"ubuntu"}]},{"id":4,"name":"upgrade","tags":[{"id":71,"name":"fast-forward"},{"id":68,"name":"offline"},{"id":69,"name":"online"},{"id":70,"name":"per-version"},{"id":72,"name":"skip-level"}]}]; var releases = [{"id":44,"name":"Dalmatian"},{"id":43,"name":"Caracal"},{"id":41,"name":"Bobcat"},{"id":40,"name":"Antelope"},{"id":39,"name":"Zed"},{"id":37,"name":"Yoga"},{"id":36,"name":"Xena"},{"id":35,"name":"Wallaby"},{"id":33,"name":"Victoria"},{"id":31,"name":"Ussuri"},{"id":30,"name":"Train"},{"id":27,"name":"Stein"},{"id":24,"name":"Rocky"},{"id":22,"name":"Queens"},{"id":20,"name":"Pike"},{"id":18,"name":"Ocata"},{"id":16,"name":"Newton"},{"id":15,"name":"Mitaka"},{"id":13,"name":"Liberty"},{"id":12,"name":"Kilo"},{"id":11,"name":"Juno"},{"id":9,"name":"Icehouse"},{"id":8,"name":"Havana"},{"id":7,"name":"Grizzly"},{"id":6,"name":"Folsom"},{"id":5,"name":"Essex"},{"id":4,"name":"Diablo"},{"id":3,"name":"Cactus"},{"id":2,"name":"Bexar"},{"id":1,"name":"Austin"},{"id":10,"name":"Trunk"}]; var releaseId = 'dalmatian'; components.max_maturity_points = 7; var tileMode = (window.location.hash == '#tiles'); </script> <!-- Projects Tabs --> <div class="software-tab-wrapper"> <div class="container"> <ul class="nav nav-tabs project-tabs"> <li ><a href="/software/">Overview</a></li> <li class="active"><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 ><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-main-wrapper"> <!-- Begin Page Content --> <openstack-category-nav groups="{ components.subcategories }"></openstack-category-nav> <div class="container inner-software"> <project-services-with-nav base_url="/software/" groups="{ components.subcategories }" release_id="{ releaseId }" ></project-services-with-nav> </div> <!-- End Page Content --> </div> <script type="text/javascript" src="https://www.openstack.org/software/ui/production/js/__common__.js"></script> <script type="text/javascript" src="https://www.openstack.org/software/ui/production/js/software_all_projects.js"></script> <!-- Software Tabs UI --> <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> <a href="https://bsky.app/profile/openstack.org" target="_blank"/> <img src="/themes/openstack/home_images/Icons/SVG/Bluesky_Logo.svg" alt="bluesky" style="width: 36px;position:relative;top:-10px;left:-5px" /> </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> <script type="text/javascript"> window.navBarConfig = { currentProject : 4, baseApiUrl: 'https://openstackid-resources.openstack.org', }; </script> <script src="navbar/ui/production/js/main.js"></script> </html>