CINXE.COM
Goutham Pacha Ravi | OpenStack Blog | Open Infrastructure Foundation
<!doctype html> <!--[if IEMobile 7 ]> <html lang="en-US"class="no-js iem7"> <![endif]--> <!--[if lt IE 7 ]> <html lang="en-US" class="no-js ie6"> <![endif]--> <!--[if IE 7 ]> <html lang="en-US" class="no-js ie7"> <![endif]--> <!--[if IE 8 ]> <html lang="en-US" class="no-js ie8"> <![endif]--> <!--[if (gte IE 9)|(gt IEMobile 7)|!(IEMobile)|!(IE)]><!--><html lang="en-US" class="no-js"><!--<![endif]--> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <title>Goutham Pacha Ravi | OpenStack Blog | Open Infrastructure Foundation</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta class="swiftype" name="domain" data-type="enum" content="blog" /> <link rel="pingback" href="https://www.openstack.org/blog/xmlrpc.php"> <!-- Fonts --> <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css" rel="stylesheet"> <link href='https://fonts.googleapis.com/css?family=Open+Sans:300,400,700' rel='stylesheet' type='text/css'> <link href='https://fonts.googleapis.com/css?family=PT+Sans' rel='stylesheet' type='text/css'> <link rel="apple-touch-icon" sizes="180x180" href="/favicon/apple-touch-icon.png"> <link rel="icon" type="image/png" href="/favicon/favicon-32x32.png" sizes="32x32"> <link rel="icon" type="image/png" href="/favicon/favicon-16x16.png" sizes="16x16"> <link rel="manifest" href="/favicon/manifest.json"> <link rel="mask-icon" href="/favicon/safari-pinned-tab.svg" color="#5bbad5"> <!-- 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-TXHH27P');</script> <!-- End Google Tag Manager --> <!-- wordpress head functions --> <meta name='robots' content='max-image-preview:large' /> <link rel='dns-prefetch' href='//platform-api.sharethis.com' /> <link rel='dns-prefetch' href='//www.openstack.org' /> <link rel='dns-prefetch' href='//s.w.org' /> <script type="text/javascript"> window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/13.1.0\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/13.1.0\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/www.openstack.org\/blog\/wp-includes\/js\/wp-emoji-release.min.js?ver=5.8"}}; !function(e,a,t){var n,r,o,i=a.createElement("canvas"),p=i.getContext&&i.getContext("2d");function s(e,t){var a=String.fromCharCode;p.clearRect(0,0,i.width,i.height),p.fillText(a.apply(this,e),0,0);e=i.toDataURL();return p.clearRect(0,0,i.width,i.height),p.fillText(a.apply(this,t),0,0),e===i.toDataURL()}function c(e){var t=a.createElement("script");t.src=e,t.defer=t.type="text/javascript",a.getElementsByTagName("head")[0].appendChild(t)}for(o=Array("flag","emoji"),t.supports={everything:!0,everythingExceptFlag:!0},r=0;r<o.length;r++)t.supports[o[r]]=function(e){if(!p||!p.fillText)return!1;switch(p.textBaseline="top",p.font="600 32px Arial",e){case"flag":return s([127987,65039,8205,9895,65039],[127987,65039,8203,9895,65039])?!1:!s([55356,56826,55356,56819],[55356,56826,8203,55356,56819])&&!s([55356,57332,56128,56423,56128,56418,56128,56421,56128,56430,56128,56423,56128,56447],[55356,57332,8203,56128,56423,8203,56128,56418,8203,56128,56421,8203,56128,56430,8203,56128,56423,8203,56128,56447]);case"emoji":return!s([10084,65039,8205,55357,56613],[10084,65039,8203,55357,56613])}return!1}(o[r]),t.supports.everything=t.supports.everything&&t.supports[o[r]],"flag"!==o[r]&&(t.supports.everythingExceptFlag=t.supports.everythingExceptFlag&&t.supports[o[r]]);t.supports.everythingExceptFlag=t.supports.everythingExceptFlag&&!t.supports.flag,t.DOMReady=!1,t.readyCallback=function(){t.DOMReady=!0},t.supports.everything||(n=function(){t.readyCallback()},a.addEventListener?(a.addEventListener("DOMContentLoaded",n,!1),e.addEventListener("load",n,!1)):(e.attachEvent("onload",n),a.attachEvent("onreadystatechange",function(){"complete"===a.readyState&&t.readyCallback()})),(n=t.source||{}).concatemoji?c(n.concatemoji):n.wpemoji&&n.twemoji&&(c(n.twemoji),c(n.wpemoji)))}(window,document,window._wpemojiSettings); </script> <style type="text/css"> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 .07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel='stylesheet' id='wp-block-library-css' href='https://www.openstack.org/blog/wp-includes/css/dist/block-library/style.min.css?ver=5.8' type='text/css' media='all' /> <link rel='stylesheet' id='bootstrap-css' href='https://www.openstack.org/blog/wp-content/themes/wordpress-bootstrap-master/library/css/bootstrap.css?ver=1.0' type='text/css' media='all' /> <link rel='stylesheet' id='custom-style-css' href='https://www.openstack.org/blog/wp-content/themes/wordpress-bootstrap-master/style.css?ver=1.0' type='text/css' media='all' /> <script type='text/javascript' src='//platform-api.sharethis.com/js/sharethis.js#product=ga&property=5c64dba51ef90f001147a98c' id='googleanalytics-platform-sharethis-js'></script> <link rel="https://api.w.org/" href="https://www.openstack.org/blog/wp-json/" /><link rel="alternate" type="application/json" href="https://www.openstack.org/blog/wp-json/wp/v2/users/103" /><script> (function() { (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', 'https://google-analytics.com/analytics.js', 'ga'); ga('create', 'UA-17511903-1', 'auto'); ga('send', 'pageview'); })(); </script> <style type="text/css" id="wp-custom-css"> .blog-title { width: 100%; background: url(https://object-storage-ca-ymq-1.vexxhost.net/swift/v1/6e4619c…/www-assets-dev/learn/OS-Blog-1314x492-blue.jpg) center center; background-repeat: no-repeat; background-size: cover; } </style> <!-- end of wordpress head --> <!-- IE8 fallback moved below head to work properly. Added respond as well. Tested to work. --> <!-- media-queries.js (fallback) --> <!--[if lt IE 9]> <script src="https://css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js"></script> <![endif]--> <!-- html5.js --> <!--[if lt IE 9]> <script src="https://html5shim.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <!-- respond.js --> <!--[if lt IE 9]> <script type='text/javascript' src="https://cdnjs.cloudflare.com/ajax/libs/respond.js/1.4.2/respond.js"></script> <![endif]--> </head> <body class="archive author author-goutham-pacha-ravi author-103"> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-TXHH27P" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <nav class="navbar navbar-default" 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 id="gcse"> <script type="text/javascript" src="https://www.openstack.org/node_modules/jquery/dist/jquery.min.js"></script> <script type="text/javascript" src="https://www.openstack.org/node_modules/jquery-migrate/dist/jquery-migrate.min.js"></script> <script type="text/javascript" src="https://www.openstack.org/node_modules/js-cookie/src/js.cookie.js"></script> <script type="text/javascript" src="https://www.openstack.org/themes/openstack/javascript/querystring.jquery.js?m=1484877364"></script> <script type="text/javascript" src="https://www.openstack.org//themes/openstack/javascript/shadowbox/shadowbox.js?m=1484877364"></script> <script type="text/javascript" src="https://www.openstack.org/themes/openstack/javascript/jquery.ticker.js?m=1484877364"></script> <script type="text/javascript" src="https://www.openstack.org/themes/openstack/javascript/jquery.tools.min.js?m=1484877364"></script> <script type="text/javascript" src="https://www.openstack.org/themes/openstack/javascript/jcarousellite.min.js?m=1484877364"></script> <script type="text/javascript" src="https://www.openstack.org/themes/openstack/javascript/navigation.js?m=1484877364"></script> <script type="text/javascript" src="https://www.openstack.org/themes/openstack/javascript/filetracking.jquery.js?m=1484877364"></script> <script type="text/javascript" src="https://www.openstack.org/node_modules/bootstrap/dist/js/bootstrap.min.js"></script> <script type="text/javascript" src="https://www.openstack.org/themes/openstack/javascript/home.js?m=1484877364"></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 = false; if(use_shadow_box) Shadowbox.init(); }); //]]></script> <div class="openstack-search-bar" data-baseUrl="search.openstack.org" data-context="blog"></div> <script> (function (window, document) { var loader = function () { var script = document.createElement("script"), tag = document.getElementsByTagName("script")[0]; script.src = "https://search.openstack.org/widget/embed.min.js?t="+Date.now(); tag.parentNode.insertBefore(script, tag); }; window.addEventListener ? window.addEventListener("load", loader, false) : window.attachEvent("onload", loader); })(window, document); </script> </div> </div> <ul class="nav navbar-nav navbar-main show"> <li> <div class="openstack-search-bar ossw-mobile st-default-search-input custom-search-box-mobile" data-baseUrl="search.openstack.org" data-context="blog"></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/">Project Navigator</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" class="divider"></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/software/security/">Security</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/software/start/">Get Started</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/software/roadmap/">Roadmap</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/software/latest-release/">Latest Release</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/software/sourcecode/">Source Code</a></li> </ul> </li> <li> <a href="https://www.openstack.org/user-stories/" class="drop" id="dropdownMenuUsers">Users <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/user-stories/">Overview</a></li> <li role="presentation" class="divider"></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/telecoms-and-nfv/">Telecom & NFV</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/enterprise/">OpenStack in the Enterprise</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/science/">OpenStack in Science</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/appdev/">App Developers & ISVs</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="http://superuser.openstack.org/">Superuser Magazine</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 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/foundation/">OpenStack Foundation</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://wiki.openstack.org">OpenStack Wiki</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="http://groups.openstack.org">User Groups</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/community/speakers/">Speakers Bureau</a></li> <li role="presentation" class="divider"></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/foundation/companies/">Supporting Companies</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/community/jobs/">Jobs</a></li> <li role="presentation" class="divider"></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/join/">Join The Community</a></li> </ul> </li> <li> <a href="https://www.openstack.org/marketplace/">Marketplace</a> </li> <li> <a href="https://www.openstack.org/events/" 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="https://www.openstack.org/community/events/">Overview</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/summit/">The OpenStack 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/community/events/openstackdays">OpenStack Days</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/community/events/openstackhackathons">OpenStack App Hackathons</a></li> </ul> </li> <li> <a href="https://www.openstack.org/learn/" class="drop" id="dropdownMenuLearn">Learn <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/coa/">Get Certified</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://ask.openstack.org">Ask a Technical Question</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="http://superuser.openstack.org">Superuser Magazine</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/videos/">Summit Videos</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/analysts/">Analyst Reports</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/news/">News</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/blog/">Blog</a></li> </ul> </li> <li> <a href="http://docs.openstack.org/">Docs</a> </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://www.openstack.org/join/register/?membership-type=foundation">Sign up for Foundation Membership</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/join/#sponsor">Sponsor the Foundation</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/foundation">More about the Foundation</a></li> </ul> </li> <li> <a href="/Security/login/?BackURL=/home/" class="sign-in-btn">Log In</a> </li> </ul> </div> <!-- /.navbar-collapse --> </div> <!-- /.container --> </nav> <div class="blog-title"> <div class="container"> <div class="row"> <div class="col-lg-12"> <img class="blog-o" src="https://www.openstack.org/blog/wp-content/themes/wordpress-bootstrap-master/images/blog-o.svg" onerror="this.onerror=null; this.src=https://www.openstack.org/blog/wp-content/themes/wordpress-bootstrap-master/images/blog-o.png" alt="OpenStack Blog"> <h1> The OpenStack Blog <span>Everything in & around OpenStack in written words.</span> </h1> </div> </div> </div> </div> <div class="container"> <div id="content" class="clearfix row blog"> <div id="main" class="col-lg-7 col-md-7 col-sm-7" role="main"> <div class="page-header"> <h2> <span>Posts By:</span> Goutham Pacha Ravi </h2> </div> <article id="post-9730" class="clearfix post-9730 post type-post status-publish format-standard hentry category-development tag-bobcat tag-manila tag-openstack" role="article"> <h3><a href="https://www.openstack.org/blog/new-in-openstack-bobcat-manila-team-introduces-resource-lock-framework/" rel="bookmark" title="New in OpenStack Bobcat: Manila team introduces resource lock framework">New in OpenStack Bobcat: Manila team introduces resource lock framework</a></h3> <p class="meta">Posted <time datetime="2023-10-3" pubdate>1:59 pm</time> by <a href="https://www.openstack.org/blog/author/goutham-pacha-ravi/" title="Posts by Goutham Pacha Ravi" rel="author">Goutham Pacha Ravi</a> <span class="amp">&</span> filed under <a href="https://www.openstack.org/blog/category/development/" rel="category tag">Development</a>.</p> <section class="post_content"> <p>My name is Goutham Pacha Ravi and I am a core contributor for the OpenStack Manila project. Below is a feature request that was reported by an operator who would like to remain anonymous. Luckily, the operator engaged with the upstream OpenStack community and this feature has been delivered in OpenStack 2023.2, nicknamed the Bobcat… <a href="https://www.openstack.org/blog/new-in-openstack-bobcat-manila-team-introduces-resource-lock-framework/" class="more-link" title="Read New in OpenStack Bobcat: Manila team introduces resource lock framework">Read more »</a></p> </section> <!-- end article section --> </article> <!-- end article --> </div> <!-- end #main --> <div class="col-lg-4 col-lg-offset-1 col-md-4 col-md-offset-1 col-sm-4 col-sm-offset-1"> <div id="sidebar1" role="complementary"> <h3>Stay Involved</h3> <div class="socialMedia"> <div class="twitter"> Twitter <p><a href="https://twitter.com/openstack/">twitter.com/openstack</a></p> </div> <div class="irc"> IRC Channel <p>OFTC #openstack</p> </div> </div> <h3>New Entries</h3> <ul> <li><a href='https://www.openstack.org/blog/openstack-teams-advance-2025-1-epoxy-plans-at-openinfra-ptg/'>OpenStack Teams Advance 2025.1 Epoxy Plans at OpenInfra PTG</a></li><li><a href='https://www.openstack.org/blog/openstack-global-footprint-exceeds-45-million-compute-cores-as-users-tackle-common-obstacles/'>OpenStack global footprint exceeds 45 million compute cores as users tackle common obstacles</a></li><li><a href='https://www.openstack.org/blog/new-in-openstack-bobcat-ironic-team-supports-servicing-nodes/'>New in OpenStack Bobcat: Ironic team supports servicing nodes</a></li><li><a href='https://www.openstack.org/blog/new-in-openstack-bobcat-manila-team-introduces-resource-lock-framework/'>New in OpenStack Bobcat: Manila team introduces resource lock framework</a></li><li><a href='https://www.openstack.org/blog/new-in-openstack-bobcat-horizon-team-introduces-time-based-one-time-password-totp-authentication-support/'>New in OpenStack Bobcat: Horizon team introduces time-based one-time password (TOTP) authentication support</a></li><li><a href='https://www.openstack.org/blog/lifetime-openstack-contributor-metrics-now-available-in-bitergia-dashboard/'>Lifetime OpenStack Contributor Metrics Now Available in Bitergia Dashboard</a></li><li><a href='https://www.openstack.org/blog/calling-all-openstack-operators-the-ptg-starts-monday-and-the-community-needs-your-input/'>Calling all OpenStack Operators! The PTG starts Monday, and the community needs your input!</a></li><li><a href='https://www.openstack.org/blog/virtuozzo-joins-the-openstack-marketplace-and-sharktech-does-too-shouldnt-you/'>Virtuozzo joins the OpenStack Marketplace, and Sharktech does too. Shouldn’t you?</a></li><li><a href='https://www.openstack.org/blog/what-operators-can-expect-to-discuss-with-the-openstack-manila-team-at-the-ptg/'>What Operators Can Expect to Discuss with the OpenStack Manila Team at the PTG</a></li><li><a href='https://www.openstack.org/blog/what-operators-can-expect-to-discuss-with-the-openstack-nova-team-at-the-ptg/'>What Operators Can Expect to Discuss with the OpenStack Nova Team at the PTG</a></li> </ul> <h3>Categories</h3> <ul> <li class="cat-item cat-item-223"><a href="https://www.openstack.org/blog/category/awards/">Awards</a> </li> <li class="cat-item cat-item-7"><a href="https://www.openstack.org/blog/category/communication/">Communication</a> </li> <li class="cat-item cat-item-3"><a href="https://www.openstack.org/blog/category/community/">community</a> </li> <li class="cat-item cat-item-234"><a href="https://www.openstack.org/blog/category/contest/">Contest</a> </li> <li class="cat-item cat-item-21"><a href="https://www.openstack.org/blog/category/development/">Development</a> </li> <li class="cat-item cat-item-5"><a href="https://www.openstack.org/blog/category/documentation/">Documentation</a> </li> <li class="cat-item cat-item-9"><a href="https://www.openstack.org/blog/category/event/">Event</a> </li> <li class="cat-item cat-item-28"><a href="https://www.openstack.org/blog/category/governance/">Governance</a> </li> <li class="cat-item cat-item-65"><a href="https://www.openstack.org/blog/category/measurement/">Measurement</a> </li> <li class="cat-item cat-item-59"><a href="https://www.openstack.org/blog/category/meetup/">Meetup</a> </li> <li class="cat-item cat-item-13"><a href="https://www.openstack.org/blog/category/newsletter/">Newsletter</a> </li> <li class="cat-item cat-item-474"><a href="https://www.openstack.org/blog/category/open-mic/">Open Mic</a> </li> <li class="cat-item cat-item-435"><a href="https://www.openstack.org/blog/category/openstack-update/">OpenStack Update</a> </li> <li class="cat-item cat-item-60"><a href="https://www.openstack.org/blog/category/partner/">Partner</a> </li> <li class="cat-item cat-item-47"><a href="https://www.openstack.org/blog/category/press-release/">Press Release</a> </li> <li class="cat-item cat-item-450"><a href="https://www.openstack.org/blog/category/summit-2/">Summit</a> </li> <li class="cat-item cat-item-508"><a href="https://www.openstack.org/blog/category/technical-committee-updates/">Technical Committee Updates</a> </li> <li class="cat-item cat-item-4"><a href="https://www.openstack.org/blog/category/tools/">Tools</a> </li> <li class="cat-item cat-item-1"><a href="https://www.openstack.org/blog/category/uncategorized/">Uncategorized</a> </li> <li class="cat-item cat-item-39"><a href="https://www.openstack.org/blog/category/video/">Video</a> </li> <li class="cat-item cat-item-162"><a href="https://www.openstack.org/blog/category/webinar/">Webinar</a> </li> <li class="cat-item cat-item-258"><a href="https://www.openstack.org/blog/category/website/">Website</a> </li> <li class="cat-item cat-item-445"><a href="https://www.openstack.org/blog/category/women-of-openstack/">Women of OpenStack</a> </li> </ul> <h3>Syndication (RSS)</h3> <ul> <li><a href="https://www.openstack.org/blog/feed/">RSS 2.0 Entries</a></li> </ul> <div class="creative-commons"> <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/"> <img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/88x31.png"/> </a> <br/>The OpenStack blog is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/">Creative Commons 3.0 License</a>. </div> </div> </div> </div> <!-- end #content --> </div> <!-- Footer --> <!-- Photo Row --> <div class="photo-row-wrapper"> <div class="photo-container"> <img src="https://www.openstack.org/blog/wp-content/themes/wordpress-bootstrap-master/images/photo-row/photo1.jpg"> <img src="https://www.openstack.org/blog/wp-content/themes/wordpress-bootstrap-master/images/photo-row/photo3.jpg"> <img src="https://www.openstack.org/blog/wp-content/themes/wordpress-bootstrap-master/images/photo-row/photo2.jpg"> <img src="https://www.openstack.org/blog/wp-content/themes/wordpress-bootstrap-master/images/photo-row/photo4.jpg"> <img src="https://www.openstack.org/blog/wp-content/themes/wordpress-bootstrap-master/images/photo-row/photo5.jpg"> <img src="https://www.openstack.org/blog/wp-content/themes/wordpress-bootstrap-master/images/photo-row/photo6.jpg"> <img src="https://www.openstack.org/blog/wp-content/themes/wordpress-bootstrap-master/images/photo-row/photo7.jpg"> <img src="https://www.openstack.org/blog/wp-content/themes/wordpress-bootstrap-master/images/photo-row/photo8.jpg"> <img src="https://www.openstack.org/blog/wp-content/themes/wordpress-bootstrap-master/images/photo-row/photo1.jpg"> <img src="https://www.openstack.org/blog/wp-content/themes/wordpress-bootstrap-master/images/photo-row/photo3.jpg"> <img src="https://www.openstack.org/blog/wp-content/themes/wordpress-bootstrap-master/images/photo-row/photo2.jpg"> <img src="https://www.openstack.org/blog/wp-content/themes/wordpress-bootstrap-master/images/photo-row/photo1.jpg"> </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/projects/">Projects</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> <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">Open Infrastructure Foundation (OpenInfra Foundation)</a>. Openstack.org is powered by <a href="https://vexxhost.com" target="_blank">VEXXHOST</a>. </p> </div> </div> </div> </footer> <div class="footer-bottom"> <div class="container"> <form class="form-inline"> <div class="form-group"> <div> <!-- <input class="feedback-input" type="input" placeholder="Give Us Your Feedback On This Page"> <button type="submit" class="feedback-btn">Submit</button> --> </div> </div> </form> </div> </div> </body> </html>