mirror of
https://github.com/gluster/glusterdocs.git
synced 2026-02-06 09:46:46 +01:00
5239 lines
104 KiB
HTML
5239 lines
104 KiB
HTML
|
|
<!doctype html>
|
|
<html lang="en" class="no-js">
|
|
<head>
|
|
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
|
|
<meta name="description" content="Project documentation for Gluster Filesystem">
|
|
|
|
|
|
|
|
<link rel="canonical" href="http://docs.gluster.org/Developer-guide/Development-Workflow/">
|
|
|
|
|
|
<link rel="prev" href="../compiling-rpms/">
|
|
|
|
|
|
<link rel="next" href="../Building-GlusterFS/">
|
|
|
|
<link rel="icon" href="../../images/favicon.ico">
|
|
<meta name="generator" content="mkdocs-1.4.2, mkdocs-material-9.0.6">
|
|
|
|
|
|
|
|
<title>Development-Workflow - Gluster Docs</title>
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="../../assets/stylesheets/main.558e4712.min.css">
|
|
|
|
|
|
<link rel="stylesheet" href="../../assets/stylesheets/palette.2505c338.min.css">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
|
|
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="../../css/custom.css">
|
|
|
|
<script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</head>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<body dir="ltr" data-md-color-scheme="slate" data-md-color-primary="" data-md-color-accent="">
|
|
|
|
|
|
|
|
<script>var palette=__md_get("__palette");if(palette&&"object"==typeof palette.color)for(var key of Object.keys(palette.color))document.body.setAttribute("data-md-color-"+key,palette.color[key])</script>
|
|
|
|
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
|
|
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
|
|
<label class="md-overlay" for="__drawer"></label>
|
|
<div data-md-component="skip">
|
|
|
|
|
|
<a href="#development-workflow-of-gluster" class="md-skip">
|
|
Skip to content
|
|
</a>
|
|
|
|
</div>
|
|
<div data-md-component="announce">
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<header class="md-header" data-md-component="header">
|
|
<nav class="md-header__inner md-grid" aria-label="Header">
|
|
<a href="../.." title="Gluster Docs" class="md-header__button md-logo" aria-label="Gluster Docs" data-md-component="logo">
|
|
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"/></svg>
|
|
|
|
</a>
|
|
<label class="md-header__button md-icon" for="__drawer">
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg>
|
|
</label>
|
|
<div class="md-header__title" data-md-component="header-title">
|
|
<div class="md-header__ellipsis">
|
|
<div class="md-header__topic">
|
|
<span class="md-ellipsis">
|
|
Gluster Docs
|
|
</span>
|
|
</div>
|
|
<div class="md-header__topic" data-md-component="header-topic">
|
|
<span class="md-ellipsis">
|
|
|
|
Development-Workflow
|
|
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<form class="md-header__option" data-md-component="palette">
|
|
|
|
|
|
<input class="md-option" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme="slate" data-md-color-primary="" data-md-color-accent="" aria-label="Bring back the sunshine" type="radio" name="__palette" id="__palette_1">
|
|
|
|
<label class="md-header__button md-icon" title="Bring back the sunshine" for="__palette_2" hidden>
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17 7H7a5 5 0 0 0-5 5 5 5 0 0 0 5 5h10a5 5 0 0 0 5-5 5 5 0 0 0-5-5m0 8a3 3 0 0 1-3-3 3 3 0 0 1 3-3 3 3 0 0 1 3 3 3 3 0 0 1-3 3Z"/></svg>
|
|
</label>
|
|
|
|
|
|
|
|
<input class="md-option" data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme="default" data-md-color-primary="" data-md-color-accent="" aria-label="Turn off the lights" type="radio" name="__palette" id="__palette_2">
|
|
|
|
<label class="md-header__button md-icon" title="Turn off the lights" for="__palette_1" hidden>
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17 6H7c-3.31 0-6 2.69-6 6s2.69 6 6 6h10c3.31 0 6-2.69 6-6s-2.69-6-6-6zm0 10H7c-2.21 0-4-1.79-4-4s1.79-4 4-4h10c2.21 0 4 1.79 4 4s-1.79 4-4 4zM7 9c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"/></svg>
|
|
</label>
|
|
|
|
|
|
</form>
|
|
|
|
|
|
|
|
<label class="md-header__button md-icon" for="__search">
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
|
|
</label>
|
|
<div class="md-search" data-md-component="search" role="dialog">
|
|
<label class="md-search__overlay" for="__search"></label>
|
|
<div class="md-search__inner" role="search">
|
|
<form class="md-search__form" name="search">
|
|
<input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
|
|
<label class="md-search__icon md-icon" for="__search">
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>
|
|
</label>
|
|
<nav class="md-search__options" aria-label="Search">
|
|
|
|
<button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
|
</button>
|
|
</nav>
|
|
|
|
</form>
|
|
<div class="md-search__output">
|
|
<div class="md-search__scrollwrap" data-md-scrollfix>
|
|
<div class="md-search-result" data-md-component="search-result">
|
|
<div class="md-search-result__meta">
|
|
Initializing search
|
|
</div>
|
|
<ol class="md-search-result__list" role="presentation"></ol>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="md-header__source">
|
|
<a href="https://github.com/gluster/glusterdocs/" title="Go to repository" class="md-source" data-md-component="source">
|
|
<div class="md-source__icon md-icon">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
|
|
</div>
|
|
<div class="md-source__repository">
|
|
GitHub
|
|
</div>
|
|
</a>
|
|
</div>
|
|
|
|
</nav>
|
|
|
|
</header>
|
|
|
|
<div class="md-container" data-md-component="container">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<main class="md-main" data-md-component="main">
|
|
<div class="md-main__inner md-grid">
|
|
|
|
|
|
|
|
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
|
|
<div class="md-sidebar__scrollwrap">
|
|
<div class="md-sidebar__inner">
|
|
|
|
|
|
|
|
<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
|
|
<label class="md-nav__title" for="__drawer">
|
|
<a href="../.." title="Gluster Docs" class="md-nav__button md-logo" aria-label="Gluster Docs" data-md-component="logo">
|
|
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"/></svg>
|
|
|
|
</a>
|
|
Gluster Docs
|
|
</label>
|
|
|
|
<div class="md-nav__source">
|
|
<a href="https://github.com/gluster/glusterdocs/" title="Go to repository" class="md-source" data-md-component="source">
|
|
<div class="md-source__icon md-icon">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
|
|
</div>
|
|
<div class="md-source__repository">
|
|
GitHub
|
|
</div>
|
|
</a>
|
|
</div>
|
|
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../.." class="md-nav__link">
|
|
Home
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " data-md-toggle="__nav_2" type="checkbox" id="__nav_2" >
|
|
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_2" tabindex="0" aria-expanded="false">
|
|
Getting started with GlusterFS
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" aria-label="Getting started with GlusterFS" data-md-level="1">
|
|
<label class="md-nav__title" for="__nav_2">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Getting started with GlusterFS
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/GlusterFS-Introduction/" class="md-nav__link">
|
|
Introduction
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Quick-Start-Guide/Quickstart/" class="md-nav__link">
|
|
Quick Start Guide
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Quick-Start-Guide/Architecture/" class="md-nav__link">
|
|
Architecture
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " data-md-toggle="__nav_3" type="checkbox" id="__nav_3" >
|
|
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_3" tabindex="0" aria-expanded="false">
|
|
Install Guide
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" aria-label="Install Guide" data-md-level="1">
|
|
<label class="md-nav__title" for="__nav_3">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Install Guide
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Install-Guide/Overview/" class="md-nav__link">
|
|
Overview
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Install-Guide/Common-criteria/" class="md-nav__link">
|
|
Common Criteria
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Install-Guide/Setup-virt/" class="md-nav__link">
|
|
Setting up in virtual machines
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Install-Guide/Setup-Bare-metal/" class="md-nav__link">
|
|
Setting up on physical servers
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Install-Guide/Setup-aws/" class="md-nav__link">
|
|
Deploying in AWS
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Install-Guide/Install/" class="md-nav__link">
|
|
Install
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Install-Guide/Configure/" class="md-nav__link">
|
|
Configure
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Install-Guide/Community-Packages/" class="md-nav__link">
|
|
Community Packages
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " data-md-toggle="__nav_4" type="checkbox" id="__nav_4" >
|
|
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_4" tabindex="0" aria-expanded="false">
|
|
Administration Guide
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" aria-label="Administration Guide" data-md-level="1">
|
|
<label class="md-nav__title" for="__nav_4">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Administration Guide
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/overview/" class="md-nav__link">
|
|
Overview
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/" class="md-nav__link">
|
|
Index
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/Start-Stop-Daemon/" class="md-nav__link">
|
|
Managing the Gluster Service
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/Storage-Pools/" class="md-nav__link">
|
|
Managing Trusted Storage Pools
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " data-md-toggle="__nav_4_5" type="checkbox" id="__nav_4_5" >
|
|
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_4_5" tabindex="0" aria-expanded="false">
|
|
Setting Up Storage
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" aria-label="Setting Up Storage" data-md-level="2">
|
|
<label class="md-nav__title" for="__nav_4_5">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Setting Up Storage
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/setting-up-storage/" class="md-nav__link">
|
|
Setting Up Storage
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/Brick-Naming-Conventions/" class="md-nav__link">
|
|
Brick Naming Conventions
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/formatting-and-mounting-bricks/" class="md-nav__link">
|
|
Formatting and Mounting Bricks
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/Access-Control-Lists/" class="md-nav__link">
|
|
Access Control Lists
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/Handling-of-users-with-many-groups/" class="md-nav__link">
|
|
Handling of users that belong to many groups
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/Setting-Up-Volumes/" class="md-nav__link">
|
|
Setting Up Volumes
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/Setting-Up-Clients/" class="md-nav__link">
|
|
Setting Up Clients
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/Managing-Volumes/" class="md-nav__link">
|
|
Managing Volumes
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/Building-QEMU-With-gfapi-For-Debian-Based-Systems/" class="md-nav__link">
|
|
Building QEMU with gfapi For Debian Based Systems
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/GlusterFS-Filter/" class="md-nav__link">
|
|
GlusterFS Filter
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/Logging/" class="md-nav__link">
|
|
Logging
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " data-md-toggle="__nav_4_13" type="checkbox" id="__nav_4_13" >
|
|
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_4_13" tabindex="0" aria-expanded="false">
|
|
Features
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" aria-label="Features" data-md-level="2">
|
|
<label class="md-nav__title" for="__nav_4_13">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Features
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/setting-up-storage/" class="md-nav__link">
|
|
Setting Up Storage
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/Automatic-File-Replication/" class="md-nav__link">
|
|
Replication
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/Geo-Replication/" class="md-nav__link">
|
|
Geo Replication
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/Directory-Quota/" class="md-nav__link">
|
|
Quotas
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/Managing-Snapshots/" class="md-nav__link">
|
|
Snapshots
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/Trash/" class="md-nav__link">
|
|
Trash
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/io_uring/" class="md-nav__link">
|
|
io_uring
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/Monitoring-Workload/" class="md-nav__link">
|
|
Monitoring Workload
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/Object-Storage/" class="md-nav__link">
|
|
Object Storage
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/GlusterFS-Cinder/" class="md-nav__link">
|
|
GlusterFS Cinder
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/GlusterFS-Keystone-Quickstart/" class="md-nav__link">
|
|
GlusterFS Keystone Quickstart
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/Gluster-On-ZFS/" class="md-nav__link">
|
|
Gluster On ZFS
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/Bareos/" class="md-nav__link">
|
|
Configuring Bareos to store backups on Gluster
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/SSL/" class="md-nav__link">
|
|
SSL
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/Puppet/" class="md-nav__link">
|
|
Puppet Gluster
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/RDMA-Transport/" class="md-nav__link">
|
|
RDMA Transport
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/GlusterFS-iSCSI/" class="md-nav__link">
|
|
GlusterFS iSCSI
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/NFS-Ganesha-GlusterFS-Integration/" class="md-nav__link">
|
|
Configuring NFS-Ganesha server
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/Linux-Kernel-Tuning/" class="md-nav__link">
|
|
Linux Kernel Tuning
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/Network-Configurations-Techniques/" class="md-nav__link">
|
|
Network Configuration Techniques
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/Performance-Testing/" class="md-nav__link">
|
|
Performance Testing
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/Performance-Tuning/" class="md-nav__link">
|
|
Performance Tuning
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/Export-And-Netgroup-Authentication/" class="md-nav__link">
|
|
Export and Netgroup Authentication
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/Consul/" class="md-nav__link">
|
|
Consul integration
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/Split-brain-and-ways-to-deal-with-it/" class="md-nav__link">
|
|
Split brain and ways to deal with it
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/arbiter-volumes-and-quorum/" class="md-nav__link">
|
|
Arbiter volumes and quorum options
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/Thin-Arbiter-Volumes/" class="md-nav__link">
|
|
Thin Arbiter volumes
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/Trash/" class="md-nav__link">
|
|
Trash for GlusterFS
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/Tuning-Volume-Options/" class="md-nav__link">
|
|
Tuning Volume Options
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/Mandatory-Locks/" class="md-nav__link">
|
|
Mandatory Locks
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/GlusterFS-Coreutils/" class="md-nav__link">
|
|
GlusterFS coreutilities
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/Events-APIs/" class="md-nav__link">
|
|
Events APIs
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Administrator-Guide/Hook-scripts/" class="md-nav__link">
|
|
Managing GlusterFS Volume Life-Cycle Extensions with Hook Scripts
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " data-md-toggle="__nav_5" type="checkbox" id="__nav_5" >
|
|
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_5" tabindex="0" aria-expanded="false">
|
|
CLI Reference
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" aria-label="CLI Reference" data-md-level="1">
|
|
<label class="md-nav__title" for="__nav_5">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
CLI Reference
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../CLI-Reference/cli-main/" class="md-nav__link">
|
|
Overview
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../presentations/" class="md-nav__link">
|
|
Presentations
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
|
|
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " data-md-toggle="__nav_7" type="checkbox" id="__nav_7" checked>
|
|
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_7" tabindex="0" aria-expanded="true">
|
|
Developers Guide
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" aria-label="Developers Guide" data-md-level="1">
|
|
<label class="md-nav__title" for="__nav_7">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Developers Guide
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../Developers-Index/" class="md-nav__link">
|
|
Developers Home
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../Simplified-Development-Workflow/" class="md-nav__link">
|
|
Simplified Development Workflow
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../compiling-rpms/" class="md-nav__link">
|
|
Compiling RPMS
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--active">
|
|
|
|
<input class="md-nav__toggle md-toggle" data-md-toggle="toc" type="checkbox" id="__toc">
|
|
|
|
|
|
|
|
|
|
|
|
<label class="md-nav__link md-nav__link--active" for="__toc">
|
|
Development-Workflow
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<a href="./" class="md-nav__link md-nav__link--active">
|
|
Development-Workflow
|
|
</a>
|
|
|
|
|
|
|
|
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<label class="md-nav__title" for="__toc">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Table of contents
|
|
</label>
|
|
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#basics" class="md-nav__link">
|
|
Basics
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Basics">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#git-and-github" class="md-nav__link">
|
|
Git and Github
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#jenkins" class="md-nav__link">
|
|
Jenkins
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#preparatory-setup" class="md-nav__link">
|
|
Preparatory Setup
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Preparatory Setup">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#fork-repository" class="md-nav__link">
|
|
Fork Repository
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#clone-a-working-tree" class="md-nav__link">
|
|
Clone a working tree
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#preferred-email-and-set-username" class="md-nav__link">
|
|
Preferred email and set username
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#watch-glusterfs" class="md-nav__link">
|
|
Watch glusterfs
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#email-filters" class="md-nav__link">
|
|
Email filters
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#development-other-flows" class="md-nav__link">
|
|
Development & Other flows
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Development & Other flows">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#issue" class="md-nav__link">
|
|
Issue
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#code" class="md-nav__link">
|
|
Code
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#keep-up-to-date" class="md-nav__link">
|
|
Keep up-to-date
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#branching-policy" class="md-nav__link">
|
|
Branching policy
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Branching policy">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#develrelease-branches" class="md-nav__link">
|
|
Devel/release branches
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#personal-per-task-branches" class="md-nav__link">
|
|
Personal per-task branches
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#building" class="md-nav__link">
|
|
Building
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Building">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#environment-setup" class="md-nav__link">
|
|
Environment Setup
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#creating-build-environment" class="md-nav__link">
|
|
Creating build environment
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#build-and-install" class="md-nav__link">
|
|
Build and install
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#commit-policy-pr-description" class="md-nav__link">
|
|
Commit policy / PR description
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#push-the-change" class="md-nav__link">
|
|
Push the change
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#test-cases-and-verification" class="md-nav__link">
|
|
Test cases and Verification
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Test cases and Verification">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#auto-triggered-tests" class="md-nav__link">
|
|
Auto-triggered tests
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#glusto-test-framework" class="md-nav__link">
|
|
Glusto test framework
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#reviewing-commenting" class="md-nav__link">
|
|
Reviewing / Commenting
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#incorporate-rfcsh-reverify" class="md-nav__link">
|
|
Incorporate, rfc.sh, Reverify
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#submission-qualifiers" class="md-nav__link">
|
|
Submission Qualifiers
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#submission-disqualifiers" class="md-nav__link">
|
|
Submission Disqualifiers
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../Building-GlusterFS/" class="md-nav__link">
|
|
Build and Install GlusterFS
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../Projects/" class="md-nav__link">
|
|
Project Ideas
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../Easy-Fix-Bugs/" class="md-nav__link">
|
|
EasyFix bugs
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../Fixing-issues-reported-by-tools-for-static-code-analysis/" class="md-nav__link">
|
|
Fixing issues reported by tools for static code analysis
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../Backport-Guidelines/" class="md-nav__link">
|
|
Backport Guidelines
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " data-md-toggle="__nav_8" type="checkbox" id="__nav_8" >
|
|
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_8" tabindex="0" aria-expanded="false">
|
|
Contributors Guide
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" aria-label="Contributors Guide" data-md-level="1">
|
|
<label class="md-nav__title" for="__nav_8">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Contributors Guide
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Contributors-Guide/Index/" class="md-nav__link">
|
|
Index
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Contributors-Guide/Bug-Reporting-Guidelines/" class="md-nav__link">
|
|
Bug reporting guidelines
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Contributors-Guide/Bug-Triage/" class="md-nav__link">
|
|
Bug Triage
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Contributors-Guide/GlusterFS-Release-process/" class="md-nav__link">
|
|
GlusterFS Release process
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Contributors-Guide/Guidelines-For-Maintainers/" class="md-nav__link">
|
|
Guidelines For Maintainers
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Contributors-Guide/Adding-your-blog/" class="md-nav__link">
|
|
Adding your gluster blog
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " data-md-toggle="__nav_9" type="checkbox" id="__nav_9" >
|
|
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_9" tabindex="0" aria-expanded="false">
|
|
Ops Guide
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" aria-label="Ops Guide" data-md-level="1">
|
|
<label class="md-nav__title" for="__nav_9">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Ops Guide
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Ops-Guide/Overview/" class="md-nav__link">
|
|
Index
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Ops-Guide/Tools/" class="md-nav__link">
|
|
Tools
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " data-md-toggle="__nav_10" type="checkbox" id="__nav_10" >
|
|
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_10" tabindex="0" aria-expanded="false">
|
|
Upgrade-Guide
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" aria-label="Upgrade-Guide" data-md-level="1">
|
|
<label class="md-nav__title" for="__nav_10">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Upgrade-Guide
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Upgrade-Guide/" class="md-nav__link">
|
|
Upgrade-Guide Index
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Upgrade-Guide/op-version/" class="md-nav__link">
|
|
Op-version
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Upgrade-Guide/generic-upgrade-procedure/" class="md-nav__link">
|
|
Generic upgrade procedure
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Upgrade-Guide/upgrade-to-11/" class="md-nav__link">
|
|
Upgrade to 11
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Upgrade-Guide/upgrade-to-10/" class="md-nav__link">
|
|
Upgrade to 10
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Upgrade-Guide/upgrade-to-9/" class="md-nav__link">
|
|
Upgrade to 9
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Upgrade-Guide/upgrade-to-8/" class="md-nav__link">
|
|
Upgrade to 8
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Upgrade-Guide/upgrade-to-7/" class="md-nav__link">
|
|
Upgrade to 7
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Upgrade-Guide/upgrade-to-6/" class="md-nav__link">
|
|
Upgrade to 6
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Upgrade-Guide/upgrade-to-5/" class="md-nav__link">
|
|
Upgrade to 5
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Upgrade-Guide/upgrade-to-4.1/" class="md-nav__link">
|
|
Upgrade to 4.1
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Upgrade-Guide/upgrade-to-4.0/" class="md-nav__link">
|
|
Upgrade to 4.0
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Upgrade-Guide/upgrade-to-3.13/" class="md-nav__link">
|
|
Upgrade to 3.13
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Upgrade-Guide/upgrade-to-3.12/" class="md-nav__link">
|
|
Upgrade to 3.12
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Upgrade-Guide/upgrade-to-3.11/" class="md-nav__link">
|
|
Upgrade to 3.11
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Upgrade-Guide/upgrade-to-3.10/" class="md-nav__link">
|
|
Upgrade to 3.10
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Upgrade-Guide/upgrade-to-3.9/" class="md-nav__link">
|
|
Upgrade to 3.9
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Upgrade-Guide/upgrade-to-3.8/" class="md-nav__link">
|
|
Upgrade to 3.8
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Upgrade-Guide/upgrade-to-3.7/" class="md-nav__link">
|
|
Upgrade to 3.7
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Upgrade-Guide/upgrade-to-3.6/" class="md-nav__link">
|
|
Upgrade to 3.6
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Upgrade-Guide/upgrade-to-3.5/" class="md-nav__link">
|
|
Upgrade to 3.5
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " data-md-toggle="__nav_11" type="checkbox" id="__nav_11" >
|
|
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_11" tabindex="0" aria-expanded="false">
|
|
Release Notes
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" aria-label="Release Notes" data-md-level="1">
|
|
<label class="md-nav__title" for="__nav_11">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Release Notes
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/" class="md-nav__link">
|
|
index
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " data-md-toggle="__nav_11_2" type="checkbox" id="__nav_11_2" >
|
|
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_11_2" tabindex="0" aria-expanded="false">
|
|
RELEASE 11.x
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" aria-label="RELEASE 11.x" data-md-level="2">
|
|
<label class="md-nav__title" for="__nav_11_2">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
RELEASE 11.x
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/11.0/" class="md-nav__link">
|
|
11.0
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/11.1/" class="md-nav__link">
|
|
11.1
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " data-md-toggle="__nav_11_3" type="checkbox" id="__nav_11_3" >
|
|
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_11_3" tabindex="0" aria-expanded="false">
|
|
RELEASE 10.x
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" aria-label="RELEASE 10.x" data-md-level="2">
|
|
<label class="md-nav__title" for="__nav_11_3">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
RELEASE 10.x
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/10.5/" class="md-nav__link">
|
|
10.5
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/10.4/" class="md-nav__link">
|
|
10.4
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/10.3/" class="md-nav__link">
|
|
10.3
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/10.2/" class="md-nav__link">
|
|
10.2
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/10.1/" class="md-nav__link">
|
|
10.1
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/10.0/" class="md-nav__link">
|
|
10.0
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " data-md-toggle="__nav_11_4" type="checkbox" id="__nav_11_4" >
|
|
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_11_4" tabindex="0" aria-expanded="false">
|
|
RELEASE 9.x
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" aria-label="RELEASE 9.x" data-md-level="2">
|
|
<label class="md-nav__title" for="__nav_11_4">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
RELEASE 9.x
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/9.6/" class="md-nav__link">
|
|
9.6
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/9.5/" class="md-nav__link">
|
|
9.5
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/9.4/" class="md-nav__link">
|
|
9.4
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/9.3/" class="md-nav__link">
|
|
9.3
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/9.2/" class="md-nav__link">
|
|
9.2
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/9.1/" class="md-nav__link">
|
|
9.1
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/9.0/" class="md-nav__link">
|
|
9.0
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " data-md-toggle="__nav_11_5" type="checkbox" id="__nav_11_5" >
|
|
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_11_5" tabindex="0" aria-expanded="false">
|
|
RELEASE 8.x
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" aria-label="RELEASE 8.x" data-md-level="2">
|
|
<label class="md-nav__title" for="__nav_11_5">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
RELEASE 8.x
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/8.6/" class="md-nav__link">
|
|
8.6
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/8.5/" class="md-nav__link">
|
|
8.5
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/8.4/" class="md-nav__link">
|
|
8.4
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/8.3/" class="md-nav__link">
|
|
8.3
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/8.2/" class="md-nav__link">
|
|
8.2
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/8.1/" class="md-nav__link">
|
|
8.1
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/8.0/" class="md-nav__link">
|
|
8.0
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " data-md-toggle="__nav_11_6" type="checkbox" id="__nav_11_6" >
|
|
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_11_6" tabindex="0" aria-expanded="false">
|
|
RELEASE 7.x
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" aria-label="RELEASE 7.x" data-md-level="2">
|
|
<label class="md-nav__title" for="__nav_11_6">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
RELEASE 7.x
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/7.9/" class="md-nav__link">
|
|
7.9
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/7.8/" class="md-nav__link">
|
|
7.8
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/7.7/" class="md-nav__link">
|
|
7.7
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/7.6/" class="md-nav__link">
|
|
7.6
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/7.5/" class="md-nav__link">
|
|
7.5
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/7.4/" class="md-nav__link">
|
|
7.4
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/7.3/" class="md-nav__link">
|
|
7.3
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/7.2/" class="md-nav__link">
|
|
7.2
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/7.1/" class="md-nav__link">
|
|
7.1
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/7.0/" class="md-nav__link">
|
|
7.0
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " data-md-toggle="__nav_11_7" type="checkbox" id="__nav_11_7" >
|
|
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_11_7" tabindex="0" aria-expanded="false">
|
|
RELEASE 6.x
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" aria-label="RELEASE 6.x" data-md-level="2">
|
|
<label class="md-nav__title" for="__nav_11_7">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
RELEASE 6.x
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/6.10/" class="md-nav__link">
|
|
6.10.
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/6.9/" class="md-nav__link">
|
|
6.9
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/6.8/" class="md-nav__link">
|
|
6.8
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/6.7/" class="md-nav__link">
|
|
6.7
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/6.6/" class="md-nav__link">
|
|
6.6
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/6.5/" class="md-nav__link">
|
|
6.5
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/6.4/" class="md-nav__link">
|
|
6.4
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/6.3/" class="md-nav__link">
|
|
6.3
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/6.2/" class="md-nav__link">
|
|
6.2
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/6.1/" class="md-nav__link">
|
|
6.1
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/6.0/" class="md-nav__link">
|
|
6.0
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " data-md-toggle="__nav_11_8" type="checkbox" id="__nav_11_8" >
|
|
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_11_8" tabindex="0" aria-expanded="false">
|
|
RELEASE 5.x
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" aria-label="RELEASE 5.x" data-md-level="2">
|
|
<label class="md-nav__title" for="__nav_11_8">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
RELEASE 5.x
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/5.13/" class="md-nav__link">
|
|
5.13
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/5.12/" class="md-nav__link">
|
|
5.12
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/5.11/" class="md-nav__link">
|
|
5.11
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/5.10/" class="md-nav__link">
|
|
5.10.
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/5.9/" class="md-nav__link">
|
|
5.9
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/5.8/" class="md-nav__link">
|
|
5.8
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/5.6/" class="md-nav__link">
|
|
5.6
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/5.5/" class="md-nav__link">
|
|
5.5
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/5.3/" class="md-nav__link">
|
|
5.3
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/5.2/" class="md-nav__link">
|
|
5.2
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/5.1/" class="md-nav__link">
|
|
5.1
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/5.0/" class="md-nav__link">
|
|
5.0
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " data-md-toggle="__nav_11_9" type="checkbox" id="__nav_11_9" >
|
|
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_11_9" tabindex="0" aria-expanded="false">
|
|
RELEASE 4.x
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" aria-label="RELEASE 4.x" data-md-level="2">
|
|
<label class="md-nav__title" for="__nav_11_9">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
RELEASE 4.x
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/4.1.10/" class="md-nav__link">
|
|
4.1.10
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/4.1.9/" class="md-nav__link">
|
|
4.1.9
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/4.1.8/" class="md-nav__link">
|
|
4.1.8
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/4.1.7/" class="md-nav__link">
|
|
4.1.7
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/4.1.6/" class="md-nav__link">
|
|
4.1.6
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/4.1.5/" class="md-nav__link">
|
|
4.1.5
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/4.1.4/" class="md-nav__link">
|
|
4.1.4
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/4.1.3/" class="md-nav__link">
|
|
4.1.3
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/4.1.2/" class="md-nav__link">
|
|
4.1.2
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/4.1.1/" class="md-nav__link">
|
|
4.1.1
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/4.1.0/" class="md-nav__link">
|
|
4.1.0
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/4.0.2/" class="md-nav__link">
|
|
4.0.2
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/4.0.1/" class="md-nav__link">
|
|
4.0.1
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/4.0.0/" class="md-nav__link">
|
|
4.0.0
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " data-md-toggle="__nav_11_10" type="checkbox" id="__nav_11_10" >
|
|
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_11_10" tabindex="0" aria-expanded="false">
|
|
RELEASE 3.x
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" aria-label="RELEASE 3.x" data-md-level="2">
|
|
<label class="md-nav__title" for="__nav_11_10">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
RELEASE 3.x
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/3.13.2/" class="md-nav__link">
|
|
3.13.2
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/3.13.1/" class="md-nav__link">
|
|
3.13.1
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/3.13.0/" class="md-nav__link">
|
|
3.13.0
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/3.12.15/" class="md-nav__link">
|
|
3.12.15
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/3.12.14/" class="md-nav__link">
|
|
3.12.14
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/3.12.13/" class="md-nav__link">
|
|
3.12.13
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/3.12.12/" class="md-nav__link">
|
|
3.12.12
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/3.12.11/" class="md-nav__link">
|
|
3.12.11
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/3.12.10/" class="md-nav__link">
|
|
3.12.10
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/3.12.9/" class="md-nav__link">
|
|
3.12.9
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/3.12.8/" class="md-nav__link">
|
|
3.12.8
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/3.12.7/" class="md-nav__link">
|
|
3.12.7
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/3.12.6/" class="md-nav__link">
|
|
3.12.6
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/3.12.5/" class="md-nav__link">
|
|
3.12.5
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/3.12.4/" class="md-nav__link">
|
|
3.12.4
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/3.12.3/" class="md-nav__link">
|
|
3.12.3
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/3.12.2/" class="md-nav__link">
|
|
3.12.2
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/3.12.1/" class="md-nav__link">
|
|
3.12.1
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/3.12.0/" class="md-nav__link">
|
|
3.12.0
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/3.11.3/" class="md-nav__link">
|
|
3.11.3
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/3.11.2/" class="md-nav__link">
|
|
3.11.2
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/3.11.1/" class="md-nav__link">
|
|
3.11.1
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/3.11.0/" class="md-nav__link">
|
|
3.11.0
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/3.10.12/" class="md-nav__link">
|
|
3.10.12
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/3.10.11/" class="md-nav__link">
|
|
3.10.11
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/3.10.10/" class="md-nav__link">
|
|
3.10.10
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/3.10.9/" class="md-nav__link">
|
|
3.10.9
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/3.10.8/" class="md-nav__link">
|
|
3.10.8
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/3.10.7/" class="md-nav__link">
|
|
3.10.7
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/3.10.6/" class="md-nav__link">
|
|
3.10.6
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/3.10.5/" class="md-nav__link">
|
|
3.10.5
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/3.10.4/" class="md-nav__link">
|
|
3.10.4
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/3.10.3/" class="md-nav__link">
|
|
3.10.3
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/3.10.2/" class="md-nav__link">
|
|
3.10.2
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/3.10.1/" class="md-nav__link">
|
|
3.10.1
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/3.10.0/" class="md-nav__link">
|
|
3.10.0
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/3.9.0/" class="md-nav__link">
|
|
3.9.0
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/3.7.1/" class="md-nav__link">
|
|
3.7.1
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/3.7.0/" class="md-nav__link">
|
|
3.7.0
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/3.6.3/" class="md-nav__link">
|
|
3.6.3
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/3.6.0/" class="md-nav__link">
|
|
3.6.0
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/3.5.4/" class="md-nav__link">
|
|
3.5.4
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/3.5.3/" class="md-nav__link">
|
|
3.5.3
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/3.5.2/" class="md-nav__link">
|
|
3.5.2
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/3.5.1/" class="md-nav__link">
|
|
3.5.1
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release-notes/3.5.0/" class="md-nav__link">
|
|
3.5.0
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " data-md-toggle="__nav_12" type="checkbox" id="__nav_12" >
|
|
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_12" tabindex="0" aria-expanded="false">
|
|
GlusterFS Tools
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" aria-label="GlusterFS Tools" data-md-level="1">
|
|
<label class="md-nav__title" for="__nav_12">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
GlusterFS Tools
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../GlusterFS-Tools/" class="md-nav__link">
|
|
GlusterFS Tools List
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../GlusterFS-Tools/glusterfind/" class="md-nav__link">
|
|
glusterfind
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../GlusterFS-Tools/gfind-missing-files/" class="md-nav__link">
|
|
gfind missing files
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " data-md-toggle="__nav_13" type="checkbox" id="__nav_13" >
|
|
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_13" tabindex="0" aria-expanded="false">
|
|
Troubleshooting Guide
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" aria-label="Troubleshooting Guide" data-md-level="1">
|
|
<label class="md-nav__title" for="__nav_13">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Troubleshooting Guide
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Troubleshooting/" class="md-nav__link">
|
|
Index
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " data-md-toggle="__nav_13_2" type="checkbox" id="__nav_13_2" >
|
|
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_13_2" tabindex="0" aria-expanded="false">
|
|
Components
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" aria-label="Components" data-md-level="2">
|
|
<label class="md-nav__title" for="__nav_13_2">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Components
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Troubleshooting/troubleshooting-glusterd/" class="md-nav__link">
|
|
Troubleshooting CLI and glusterd
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Troubleshooting/troubleshooting-georep/" class="md-nav__link">
|
|
Troubleshooting Geo-replication
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Troubleshooting/troubleshooting-gnfs/" class="md-nav__link">
|
|
Troubleshooting gNFS
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Troubleshooting/troubleshooting-afr/" class="md-nav__link">
|
|
Troubleshooting Self-heal
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Troubleshooting/resolving-splitbrain/" class="md-nav__link">
|
|
Troubleshooting Split-Brains
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Troubleshooting/troubleshooting-filelocks/" class="md-nav__link">
|
|
Troubleshooting File Locks
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " data-md-toggle="__nav_13_3" type="checkbox" id="__nav_13_3" >
|
|
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_13_3" tabindex="0" aria-expanded="false">
|
|
Issues
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" aria-label="Issues" data-md-level="2">
|
|
<label class="md-nav__title" for="__nav_13_3">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Issues
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Troubleshooting/troubleshooting-memory/" class="md-nav__link">
|
|
Debugging Memory Leaks
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Troubleshooting/gluster-crash/" class="md-nav__link">
|
|
Crashes
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " data-md-toggle="__nav_13_4" type="checkbox" id="__nav_13_4" >
|
|
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_13_4" tabindex="0" aria-expanded="false">
|
|
Tools
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" aria-label="Tools" data-md-level="2">
|
|
<label class="md-nav__title" for="__nav_13_4">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Tools
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Troubleshooting/statedump/" class="md-nav__link">
|
|
Statedump
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../Troubleshooting/gfid-to-path/" class="md-nav__link">
|
|
gfid to path
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../glossary/" class="md-nav__link">
|
|
Glossary
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../google64817fdc11b2f6b6.html" class="md-nav__link">
|
|
Google Site Verification
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
|
|
<div class="md-sidebar__scrollwrap">
|
|
<div class="md-sidebar__inner">
|
|
|
|
|
|
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<label class="md-nav__title" for="__toc">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Table of contents
|
|
</label>
|
|
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#basics" class="md-nav__link">
|
|
Basics
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Basics">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#git-and-github" class="md-nav__link">
|
|
Git and Github
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#jenkins" class="md-nav__link">
|
|
Jenkins
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#preparatory-setup" class="md-nav__link">
|
|
Preparatory Setup
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Preparatory Setup">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#fork-repository" class="md-nav__link">
|
|
Fork Repository
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#clone-a-working-tree" class="md-nav__link">
|
|
Clone a working tree
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#preferred-email-and-set-username" class="md-nav__link">
|
|
Preferred email and set username
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#watch-glusterfs" class="md-nav__link">
|
|
Watch glusterfs
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#email-filters" class="md-nav__link">
|
|
Email filters
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#development-other-flows" class="md-nav__link">
|
|
Development & Other flows
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Development & Other flows">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#issue" class="md-nav__link">
|
|
Issue
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#code" class="md-nav__link">
|
|
Code
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#keep-up-to-date" class="md-nav__link">
|
|
Keep up-to-date
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#branching-policy" class="md-nav__link">
|
|
Branching policy
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Branching policy">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#develrelease-branches" class="md-nav__link">
|
|
Devel/release branches
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#personal-per-task-branches" class="md-nav__link">
|
|
Personal per-task branches
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#building" class="md-nav__link">
|
|
Building
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Building">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#environment-setup" class="md-nav__link">
|
|
Environment Setup
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#creating-build-environment" class="md-nav__link">
|
|
Creating build environment
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#build-and-install" class="md-nav__link">
|
|
Build and install
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#commit-policy-pr-description" class="md-nav__link">
|
|
Commit policy / PR description
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#push-the-change" class="md-nav__link">
|
|
Push the change
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#test-cases-and-verification" class="md-nav__link">
|
|
Test cases and Verification
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Test cases and Verification">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#auto-triggered-tests" class="md-nav__link">
|
|
Auto-triggered tests
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#glusto-test-framework" class="md-nav__link">
|
|
Glusto test framework
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#reviewing-commenting" class="md-nav__link">
|
|
Reviewing / Commenting
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#incorporate-rfcsh-reverify" class="md-nav__link">
|
|
Incorporate, rfc.sh, Reverify
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#submission-qualifiers" class="md-nav__link">
|
|
Submission Qualifiers
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#submission-disqualifiers" class="md-nav__link">
|
|
Submission Disqualifiers
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</nav>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<div class="md-content" data-md-component="content">
|
|
<article class="md-content__inner md-typeset">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h1 id="development-workflow-of-gluster">Development workflow of Gluster</h1>
|
|
<p>This document provides a detailed overview of the development model
|
|
followed by the GlusterFS project. For a simpler overview visit
|
|
<a href="../Simplified-Development-Workflow/">Simplified development workflow</a>.</p>
|
|
<h2 id="basics">Basics</h2>
|
|
<p>The GlusterFS development model largely revolves around the features and
|
|
functionality provided by Git version control system, Github and Jenkins
|
|
continuous integration system. It is a primer for a contributor to the project.</p>
|
|
<h3 id="git-and-github">Git and Github</h3>
|
|
<p>Git is an extremely flexible, distributed version control system.
|
|
GlusterFS's main repository is at <a href="http://git.gluster.org">Git</a> and at
|
|
<a href="https://github.com/gluster/glusterfs">GitHub</a>.
|
|
A good introduction to Git can be found at
|
|
<a href="http://www-cs-students.stanford.edu/~blynn/gitmagic/">http://www-cs-students.stanford.edu/~blynn/gitmagic/</a>.</p>
|
|
<h3 id="jenkins">Jenkins</h3>
|
|
<p>Jenkins is a Continuous Integration build system. Jenkins is hosted at
|
|
<a href="http://build.gluster.org">http://build.gluster.org</a>. Jenkins is configured to work with Github by
|
|
setting up hooks. Every "Change" which is pushed to Github is
|
|
automatically picked up by Jenkins, built and smoke tested. The output of
|
|
all builds and tests can be viewed at
|
|
<a href="http://build.gluster.org/job/smoke/">http://build.gluster.org/job/smoke/</a>. Jenkins is also set up with a
|
|
'regression' job which is designed to execute test scripts provided as
|
|
part of the code change.</p>
|
|
<h2 id="preparatory-setup">Preparatory Setup</h2>
|
|
<p>Here is a list of initial one-time steps before you can start hacking on
|
|
code.</p>
|
|
<h3 id="fork-repository">Fork Repository</h3>
|
|
<p>Fork <a href="https://github.com/gluster/glusterfs/fork">GlusterFS repository</a></p>
|
|
<h3 id="clone-a-working-tree">Clone a working tree</h3>
|
|
<p>Get yourself a working tree by cloning the development repository from</p>
|
|
<pre><code class="language-console">git clone git@github.com:${username}/glusterfs.git
|
|
cd glusterfs/
|
|
git remote add upstream git@github.com:gluster/glusterfs.git
|
|
</code></pre>
|
|
<h3 id="preferred-email-and-set-username">Preferred email and set username</h3>
|
|
<p>On the first login, add your git/work email to your identity. You will have
|
|
to click on the URL which is sent to your email and set up a proper Full
|
|
Name. Select yourself a username. Make sure you set your git/work email
|
|
as your preferred email. This should be the email address from which all your
|
|
code commits are associated.</p>
|
|
<h3 id="watch-glusterfs">Watch glusterfs</h3>
|
|
<p>In Github, watch the 'glusterfs' repository. Tick on suitable
|
|
(All activity, Ignore, participating, or custom) type of notifications to
|
|
get alerts.</p>
|
|
<h3 id="email-filters">Email filters</h3>
|
|
<p>Set up a filter rule in your mail client to tag or classify emails with
|
|
the header</p>
|
|
<pre><code class="language-text">list: <glusterfs.gluster.github.com>
|
|
</code></pre>
|
|
<p>as mails originating from the github system.</p>
|
|
<h2 id="development-other-flows">Development & Other flows</h2>
|
|
<h3 id="issue">Issue</h3>
|
|
<ul>
|
|
<li>Make sure there is an issue filed for the task you are working on.</li>
|
|
<li>If it is not filed, open the issue with all the description.</li>
|
|
<li>If it is a bug fix, add label "Type:Bug".</li>
|
|
<li>If it is an RFC, provide all the documentation, and request for "DocApproved", and "SpecApproved" label.</li>
|
|
</ul>
|
|
<h3 id="code">Code</h3>
|
|
<ul>
|
|
<li>Start coding</li>
|
|
<li>Make sure clang-format is installed and is run on the patch.</li>
|
|
</ul>
|
|
<h3 id="keep-up-to-date">Keep up-to-date</h3>
|
|
<ul>
|
|
<li>GlusterFS is a large project with many developers, so there would be one or the other patch everyday.</li>
|
|
<li>It is critical for developer to be up-to-date with devel repo to be Conflict-Free when PR is opened.</li>
|
|
<li>Git provides many options to keep up-to-date, below is one of them</li>
|
|
</ul>
|
|
<pre><code class="language-console">git fetch upstream
|
|
git rebase upstream/devel
|
|
</code></pre>
|
|
<h2 id="branching-policy">Branching policy</h2>
|
|
<p>This section describes both, the branching policies on the public repo
|
|
as well as the suggested best-practice for local branching</p>
|
|
<h3 id="develrelease-branches">Devel/release branches</h3>
|
|
<p>In glusterfs, the 'devel' branch is the forward development branch.
|
|
This is where new features come in first. In fact this is where almost
|
|
every change (commit) comes in first. The devel branch is always kept
|
|
in a buildable state and smoke tests pass.</p>
|
|
<p>Release trains (3.1.z, 3.2.z,..., 8.y, 9.y) each have a branch originating from
|
|
devel. Code freeze of each new release train is marked by the creation
|
|
of the <code>release-x.y</code> branch. At this point, no new features are added to
|
|
the release-x.y branch. All fixes and commits first get into devel.
|
|
From there, only bug fixes get backported to the relevant release
|
|
branches. From the release-x.y branch, actual release code snapshots
|
|
(e.g. glusterfs-3.2.2 etc.) are tagged (git annotated tag with 'git tag
|
|
-a') shipped as a tarball.</p>
|
|
<h3 id="personal-per-task-branches">Personal per-task branches</h3>
|
|
<p>As a best practice, it is recommended you perform all code changes for a
|
|
task in a local branch in your working tree. The local branch should be
|
|
created from the upstream branch to which you intend to submit the
|
|
change. The name of the branch on your personal fork can start with issueNNNN,
|
|
followed by anything of your choice. If you are submitting changes to the devel
|
|
branch, first create a local task branch like this -</p>
|
|
<pre class="no-copy"><code class="language-console"># git checkout -b issueNNNN upstream/main
|
|
... <hack, commit>
|
|
</code></pre>
|
|
<h2 id="building">Building</h2>
|
|
<h3 id="environment-setup">Environment Setup</h3>
|
|
<p>For details about the required packages for the build environment
|
|
refer : <a href="../Building-GlusterFS/">Building GlusterFS</a></p>
|
|
<h3 id="creating-build-environment">Creating build environment</h3>
|
|
<p>Once the required packages are installed for your appropiate system,
|
|
generate the build configuration:</p>
|
|
<pre><code class="language-console">./autogen.sh
|
|
./configure --enable-fusermount
|
|
</code></pre>
|
|
<h3 id="build-and-install">Build and install</h3>
|
|
<pre><code class="language-console">make && make install
|
|
</code></pre>
|
|
<h2 id="commit-policy-pr-description">Commit policy / PR description</h2>
|
|
<p>Typically you would have a local branch per task. You will need to
|
|
sign-off your commit (git commit -s) before sending the
|
|
patch for review. By signing off your patch, you agree to the terms
|
|
listed under the "Developer's Certificate of Origin" section in the
|
|
CONTRIBUTING file available in the repository root.</p>
|
|
<p>Provide a meaningful commit message. Your commit message should be in
|
|
the following format</p>
|
|
<ul>
|
|
<li>A short one-line title of format 'component: title', describing what the patch accomplishes</li>
|
|
<li>An empty line following the subject</li>
|
|
<li>Situation necessitating the patch</li>
|
|
<li>Description of the code changes</li>
|
|
<li>Reason for doing it this way (compared to others)</li>
|
|
<li>Description of test cases</li>
|
|
<li>When you open a PR, having a reference Issue for the commit is mandatory in GlusterFS.</li>
|
|
<li>Commit message can have, either Fixes: #NNNN or Updates: #NNNN in a separate line in the commit message.
|
|
Here, NNNN is the Issue ID in glusterfs repository.</li>
|
|
<li>Each commit needs the author to have the 'Signed-off-by: Name <email>' line.
|
|
Can do this by -s option for git commit.</li>
|
|
<li>If the PR is not ready for review, apply the label work-in-progress.
|
|
Check the availability of "Draft PR" is present for you, if yes, use that instead.</li>
|
|
</ul>
|
|
<h2 id="push-the-change">Push the change</h2>
|
|
<p>After doing the local commit, it is time to submit the code for review.
|
|
There is a script available inside glusterfs.git called rfc.sh. It is
|
|
recommended you keep pushing to your repo every day, so you don't loose
|
|
any work. You can submit your changes for review by simply executing</p>
|
|
<pre><code class="language-console">./rfc.sh
|
|
</code></pre>
|
|
<p>or</p>
|
|
<pre><code class="language-console">git push origin HEAD:issueNNN
|
|
</code></pre>
|
|
<p>This script rfc.sh does the following:</p>
|
|
<ul>
|
|
<li>The first time it is executed, it downloads a git hook from
|
|
<a href="http://review.gluster.org/tools/hooks/commit-msg">http://review.gluster.org/tools/hooks/commit-msg</a> and sets it up
|
|
locally to generate a Change-Id: tag in your commit message (if it
|
|
was not already generated.)</li>
|
|
<li>Rebase your commit against the latest upstream HEAD. This rebase
|
|
also causes your commits to undergo massaging from the just
|
|
downloaded commit-msg hook.</li>
|
|
<li>Prompt for a Reference Id for each commit (if it was not already provided)
|
|
and include it as a "fixes: #n" tag in the commit log. You can just hit
|
|
<enter> at this prompt if your submission is purely for review
|
|
purposes.</li>
|
|
<li>Push the changes for review. On a successful push, you will see a URL pointing to
|
|
the change in <a href="https://github.com/gluster/glusterfs/pulls">Pull requests</a> section.</li>
|
|
</ul>
|
|
<h2 id="test-cases-and-verification">Test cases and Verification</h2>
|
|
<hr />
|
|
<h3 id="auto-triggered-tests">Auto-triggered tests</h3>
|
|
<p>The integration between Jenkins and Github triggers an event in Jenkins
|
|
on every push of changes, to pick up the change and run build and smoke
|
|
test on it.
|
|
Part of the workflow is to aggregate and execute pre-commit test cases
|
|
that accompany patches, cumulatively for every new patch. This
|
|
guarantees that tests that are working till the present are not broken
|
|
with the new patch. This is so that code changes and accompanying test
|
|
cases are reviewed together. Once you upload the patch -</p>
|
|
<ol>
|
|
<li>
|
|
<p>All the required smoke tests would be auto-triggered. You can retrigger
|
|
the smoke tests using "/recheck smoke" as comment. Passing the automated
|
|
smoke test is a necessary condition but not sufficient.</p>
|
|
</li>
|
|
<li>
|
|
<p>The regression tests would be triggered by a comment "/run regression"
|
|
from developers in the @gluster organization once smoke test is passed.</p>
|
|
</li>
|
|
</ol>
|
|
<p>If smoke/regression fails, it is a good reason to skip code review till
|
|
a fixed change is pushed later. You can click on the build URL
|
|
automatically to inspect the reason for auto verification failure.
|
|
In the Jenkins job page, you can click on the 'Console Output' link to
|
|
see the exact point of failure.</p>
|
|
<p>All code changes which are not trivial (typo fixes, code comment
|
|
changes) must be accompanied with either a new test case script or
|
|
extend/modify an existing test case script. It is important to review
|
|
the test case in conjunction with the code change to analyze whether the
|
|
code change is actually verified by the test case.</p>
|
|
<p>Regression tests (i.e, execution of all test cases accumulated with
|
|
every commit) is not automatically triggered as the test cases can be
|
|
extensive and is quite expensive to execute for every change submission
|
|
in the review/resubmit cycle. Passing the regression test is a
|
|
necessary condition for merge along with code review points.</p>
|
|
<p>To check and run all regression tests locally, run the below script
|
|
from glusterfs root directory.</p>
|
|
<pre><code class="language-console">./run-tests.sh
|
|
</code></pre>
|
|
<p>To run a single regression test locally, run the below command.</p>
|
|
<pre><code class="language-console">prove -vf <path_to_the_file>
|
|
</code></pre>
|
|
<p><strong>NOTE:</strong> The testing framework needs perl-Test-Harness package to be installed.
|
|
Ask for help as comment in PR if you have any questions about the process!</p>
|
|
<p>It is important to note that Jenkins verification is only a generic
|
|
verification of high-level tests. More concentrated testing effort for
|
|
the patch is necessary with manual verification.</p>
|
|
<h3 id="glusto-test-framework">Glusto test framework</h3>
|
|
<p>For any new feature that is posted for review, there should be
|
|
accompanying set of tests in
|
|
<a href="https://github.com/gluster/glusto-tests">glusto-tests</a>. These
|
|
tests will be run nightly and/or before release to determine the health
|
|
of the feature. Please go through glusto-tests project to understand
|
|
more information on how to write and execute the tests in glusto.</p>
|
|
<ol>
|
|
<li>
|
|
<p>Extend/Modify old test cases in existing scripts - This is typically
|
|
when present behavior (default values etc.) of code is changed.</p>
|
|
</li>
|
|
<li>
|
|
<p>No test cases - This is typically when a code change is trivial
|
|
(e.g. fixing typos in output strings, code comments).</p>
|
|
</li>
|
|
<li>
|
|
<p>Only test case and no code change - This is typically when we are
|
|
adding test cases to old code (already existing before this regression
|
|
test policy was enforced). More details on how to work with test case
|
|
scripts can be found in tests/README.</p>
|
|
</li>
|
|
</ol>
|
|
<h2 id="reviewing-commenting">Reviewing / Commenting</h2>
|
|
<p>Code review with Github is relatively easy compared to other available
|
|
tools. Each change is presented as multiple files and each file can be
|
|
reviewed in Side-by-Side mode. While reviewing it is possible to comment
|
|
on each line by clicking on '+' icon and writing in your comments in
|
|
the text box. Such in-line comments are saved as drafts, till you
|
|
finally publish them by Starting a Review.</p>
|
|
<h2 id="incorporate-rfcsh-reverify">Incorporate, rfc.sh, Reverify</h2>
|
|
<p>Code review comments are notified via email. After incorporating the
|
|
changes in code, you can mark each of the inline comments as 'done'
|
|
(optional). After all the changes to your local files, create new
|
|
commits in the same branch with -</p>
|
|
<pre><code class="language-console">git commit -a -s
|
|
</code></pre>
|
|
<p>Push the commit by executing rfc.sh. If your previous push was an "rfc"
|
|
push (i.e, without a Issue Id) you will be prompted for a Issue Id
|
|
again. You can re-push an rfc change without any other code change too
|
|
by giving a Issue Id.</p>
|
|
<p>On the new push, Jenkins will re-verify the new change (independent of
|
|
what the verification result was for the previous push).</p>
|
|
<p>It is the Change-Id line in the commit log (which does not change) that
|
|
associates the new push as an update for the old push (even though they
|
|
had different commit ids) under the same Change.</p>
|
|
<p>If further changes are found necessary, changes can be requested or
|
|
comments can be made on the new patch as well, and the same cycle repeats.</p>
|
|
<p>If no further changes are necessary, the reviewer can approve the patch.</p>
|
|
<h2 id="submission-qualifiers">Submission Qualifiers</h2>
|
|
<p>GlusterFS project follows 'Squash and Merge' method.</p>
|
|
<ul>
|
|
<li>This is mainly to preserve the historic Gerrit method of one patch in git log for one URL link.</li>
|
|
<li>This also makes every merge a complete patch, which has passed all tests.</li>
|
|
</ul>
|
|
<p>For a change to get merged, there are two qualifiers that are enforced
|
|
by the Github system. They are -</p>
|
|
<ol>
|
|
<li>A change should have at approver flag from Reviewers</li>
|
|
<li>A change should have passed smoke and regression tests.</li>
|
|
</ol>
|
|
<p>The project maintainer will merge the changes once a patch
|
|
meets these qualifiers. If you feel there is delay, feel free
|
|
to add a comment, discuss the same in Slack channel, or send email.</p>
|
|
<h2 id="submission-disqualifiers">Submission Disqualifiers</h2>
|
|
<ul>
|
|
<li>+2 : is equivalent to "Approve" from the people in the maintainer's group.</li>
|
|
<li>+1 : can be given by a maintainer/reviewer by explicitly stating that in the comment.</li>
|
|
<li>-1 : provide details on required changes and pick "Request Changes" while submitting your review.</li>
|
|
<li>-2 : done by adding the DO-NOT-MERGE label.</li>
|
|
</ul>
|
|
<p>Any further discussions can happen as comments in the PR.</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</article>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
<a href="#" class="md-top md-icon" data-md-component="top" hidden>
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg>
|
|
Back to top
|
|
</a>
|
|
|
|
</main>
|
|
|
|
<footer class="md-footer">
|
|
|
|
<div class="md-footer-meta md-typeset">
|
|
<div class="md-footer-meta__inner md-grid">
|
|
<div class="md-copyright">
|
|
|
|
|
|
Made with
|
|
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
|
|
Material for MkDocs
|
|
</a>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
|
|
</div>
|
|
<div class="md-dialog" data-md-component="dialog">
|
|
<div class="md-dialog__inner md-typeset"></div>
|
|
</div>
|
|
|
|
<script id="__config" type="application/json">{"base": "../..", "features": ["navigation.top", "navigation.instant", "navigation.tracking"], "search": "../../assets/javascripts/workers/search.e5c33ebb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
|
|
|
|
|
|
<script src="../../assets/javascripts/bundle.51d95adb.min.js"></script>
|
|
|
|
<script src="../../js/custom-features.js"></script>
|
|
|
|
|
|
</body>
|
|
</html> |