CINXE.COM
Quattor | 16th Quattor Workshop Summary (October 2013)
<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Quattor | 16th Quattor Workshop Summary (October 2013)</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link type="application/atom+xml" rel="alternate" href="https://www.quattor.org/feed.xml" title="Quattor" /> <link rel="stylesheet" type="text/css" href="/assets/bootstrap/css/bootstrap.min.css" media="screen" /> <link rel="stylesheet" type="text/css" media="screen" href="/assets/bootstrap/css/pygments.css"/> <link rel="stylesheet" type="text/css" href="/assets/octicons/octicons.css"> <style type="text/css"> @import url(https://fonts.googleapis.com/css?family=Lato:400); body { padding-bottom: 40px; font-family: 'Lato', 'Helvetica', sans-serif; } h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { font-family: 'Lato', 'Helvetica', sans-serif; } ul, ol { padding-left: 2em; } div.toc { margin-left: -2em; } div.page-content { border-left: 5px solid #eee; } </style> <link rel="publisher" href="https://plus.google.com/106108753304191902209" /> <link rel="icon" href="/assets/img/favicon.ico"/> </head> <body> <div class="navbar navbar-inverse navbar-static-top" role="navigation"> <div class="container"> <div class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="/"> <img src="/assets/img/quattor_logo_navbar.png" width="94" height="23" alt="quattor logo"/> </a> </div> <div class="collapse navbar-collapse"> <ul class="nav navbar-nav"> <li><a href="/news/">News</a></li> <li><a href="/documentation/">Documentation</a></li> <li><a href="/contacts/">Contacts</a></li> <li><a href="/downloads/">Downloads</a></li> <li><a href="/meeting/">Meetings</a></li> </ul> </div> </div> </div> <div class="container"> <div class="row"> <ul class="breadcrumb"> <li><a href="/">Home</a></li> <li><a href="/meeting/index.html">Meeting</a></li> <li class="active">16th Quattor Workshop Summary (October 2013)</li> </ul> <h1>16th Quattor Workshop Summary (October 2013)</h1> <dl class="dl-horizontal"> <dt>Written</dt><dd class="date">30 September 2013</dd> <dt>Author</dt><dd class="author">Michel Jouvin</dd> </dl> <hr> </div> <div class="row"> <div class="col-md-2"> <div class="toc" id="toc"></div> </div> <div class="col-md-10 page-content"> <h1 id="quattor-workshop---cnaf-bologna---3092013-2102013">Quattor Workshop - CNAF (Bologna) - 30/9/2013-2/10/2013</h1> <p><a href="http://indico.cern.ch/event/252955/timetable#all.detailed#all.detailed">Agenda</a></p> <h2 id="project-status---l-munoz">Project Status - L. Munoz</h2> <p>Survey ran before the workshop</p> <ul> <li>Significant improvement compared to previous ones</li> <li>QWG : many were not able to move to QWG or forked a long time ago. We need to think more heavily at it.</li> <li>Aquilon adoption making progress (2-3 sites)</li> <li>Community support is perceived as good</li> <li>Documentation: still the weak point, were not able to make significant progresses</li> <li>LAL wiki: certificate problem still perceived as a barrier, a developer only resource</li> </ul> <h2 id="core-modules">Core modules</h2> <h3 id="configuration-modules---l-munoz">Configuration Modules - L. Munoz</h3> <p>Releases</p> <ul> <li>Count : nine releases, 3 of them tagged as stable</li> <li>New releases are not mandatory</li> <li>Need a releaser manager backup for Luis</li> </ul> <p>Config modules: main activity is on the core components</p> <ul> <li>Not much on grid components or on daemons</li> <li>ncm-openldap and ncm-cups were resurrected</li> </ul> <p>New features</p> <ul> <li>Preliminary support for SSSD in authconfig</li> <li>YUM-based SPMA ready for production</li> <li>Hooks for ncm-ncd before and after execution of components</li> </ul> <p>Metaconfig stuff</p> <ul> <li>Ugent has schemas and templates for many services: would like to share them</li> <li>But we can hardly promise backward compatibility</li> </ul> <p>Work in progress</p> <ul> <li>Policy-based component dispatching in ncm-ncd</li> <li>Solaris port</li> <li>ncm-network: still not much progress</li> </ul> <h3 id="ncm-ncd-hooks-and-policy-based-component-scheduling">ncm-ncd hooks and policy-based component scheduling</h3> <p>See [/wiki/Development/PrePostActionsNCMNCD proposal].</p> <p>Goal: execute some arbitrary actions before running all components and after.</p> <ul> <li>These actions will have no access to node profile</li> <li>Specified by <code class="language-plaintext highlighter-rouge">run-init</code> and <code class="language-plaintext highlighter-rouge">run-finalize</code>in <code class="language-plaintext highlighter-rouge">/etc/ncm-ncd.conf</code></li> <li>An error during <code class="language-plaintext highlighter-rouge">run-init</code> will prevent executing components but <code class="language-plaintext highlighter-rouge">run-finalize</code> will run</li> </ul> <p>Hooks may be used to implement site-specific policy for component scheduling, allowing to filter out some components from the initial list based on some local criteria</p> <ul> <li>But what to do with dependencies if one is filtered out? Can be very complicated</li> <li>Probably better/enough to implement a “everything or nothing” strategy: at least use case can be cleanly defined</li> </ul> <p>Some use cases for executing only part of the configuration changes for a component. Proposal:</p> <ul> <li>Split component configuration into 2 different parts/subtree, e.g. <code class="language-plaintext highlighter-rouge">/software/components/filecopy</code> and <code class="language-plaintext highlighter-rouge">/software/components/filecopy-magic</code></li> <li>Bind <code class="language-plaintext highlighter-rouge">/software/components/filecopy-magic</code> to <code class="language-plaintext highlighter-rouge">type_filecopy</code></li> <li>Define a component alias name in <code class="language-plaintext highlighter-rouge">filecopy-magic</code> saying it will use component <code class="language-plaintext highlighter-rouge">filecopy</code> to execute the action</li> <li>New field in <code class="language-plaintext highlighter-rouge">deps</code> structure</li> <li>Filter out <code class="language-plaintext highlighter-rouge">filecopy-magic</code> in run-init hook</li> <li>See <a href="https://github.com/quattor/configuration-modules-core/issues/112">https://github.com/quattor/configuration-modules-core/issues/112</a> for discussion/implementation follow-up</li> </ul> <h3 id="cdbsql---z-sebestyen">CDBSQL - Z. Sebestyen</h3> <p>Used at MS to produce/update a SQLite db every 2 hours with the AQDB contents: used by users to query configuration rather than overloading the broker.</p> <ul> <li>Reused an older API from MS to query the DB</li> </ul> <p>Code will be pushed to SF at some point</p> <ul> <li>Still some concerns with pushing directly to GitHub</li> </ul> <p>Still need to review if it could be integrated with QuatView to replace the internal SQL generator in QuatView and deliver a generic web front-end.</p> <p>Also, may look at using a NoSQL db rather than SQLite.</p> <ul> <li>May give some perf advantage for querying the db but may a price for the update</li> </ul> <h2 id="maker-quattor-easier">Maker Quattor Easier</h2> <h3 id="introduction---d-zilaskos">Introduction - D. Zilaskos</h3> <p>Painful path for a new Quattor user</p> <ul> <li>Go to website and click download: not exactly what was being looked for…</li> <li>Try documentation: suggest to go to overview… just marketing blurb…</li> </ul> <p>Should not dream of producing a polished documentation as we failed for so long… but we can make things much easier if not very easy. Goal should be to install a workable Quattor installation for testing in 30 mn!</p> <ul> <li>Install from Quattor YUM repo</li> <li><code class="language-plaintext highlighter-rouge">yum install quattor-server</code></li> <li><code class="language-plaintext highlighter-rouge">yum install quattor-client</code>?</li> <li>Sample templates usable with minimum editing (host name, mac address) to install/bootstrap a first machine</li> <li>For the first step, could be take control of already existing machines without doing the initial installation to avoid AII/kickstart difficulties</li> <li>Panc book: improve the tutorial part</li> </ul> <p>Documentation may be organized in 2 different parts:</p> <ul> <li>Getting started: build/describe an optimized procedure for a user to start with Quattor both for evaluating AND setting up a production infrastructure (could then be used to produce an appliance)</li> <li>Prerequisite hardware/site config</li> <li>Install server: prefer Aquilon if mature enough. We don’t want to attract new sites to SCDB.</li> <li>Take control of a client (already installed): should include a basic configuration description that is as less intrusive as possible for the existing configuration</li> <li>Mini-demonstration illustrating how to change some service configuration, for example ssh keys, account creations, add a RPM</li> <li>Next steps</li> <li>How to find docs and examples</li> <li>Initial installation: AII/kickstart customization</li> <li>Security</li> <li>Customizing node configurations: common services and recipes</li> <li>Document how to execute an arbitrary command with existing config modules like filecopy or metaconfig</li> </ul> <p>Put documentation on GitHub: start with a non public (review) section</p> <ul> <li>Review how to improve the documentation structure on gitHub: see documentation discussion later during the workshop</li> </ul> <p>Documentation: activate robot indexing for Quattor wiki hosted at LAL</p> <p>Timeline</p> <ul> <li>Getting Started done at next workshop (April 2014)</li> <li>Next steps after</li> </ul> <p>Encourage adoption of new YUM-based ncm-spma: make it clear that YUM is used in a completely standard way and that people may/must refer to YUM docs for details on advance YUM management (like mirroring).</p> <h3 id="qwg-status---g-philippon">QWG Status - G. Philippon</h3> <p>Recent changes</p> <ul> <li>No more release for more than 1 year</li> <li>No update to branches: all changes in the trunk</li> <li>standard/ almost stable: most things are in fact imported from other places</li> </ul> <p>Current trunk status</p> <ul> <li>Partly based on Quattor 13.1: most components not yet updated (validation required)</li> <li>Support SL5 and SL6</li> </ul> <p>3 different subsets shipped together</p> <ul> <li>“Standard” templates</li> <li>Provide a core node type without any grid dependency</li> <li>Should be really standard: can it be the case for a Web server?</li> <li>Grid templates</li> <li>Templates generated from other Quattor components like AII or config modules</li> </ul> <p>StratusLab templates delivered separately (git repo)</p> <ul> <li>Support both ncm-spma v2 and v3</li> </ul> <p>Work in progress</p> <ul> <li>Remove templates related other Quattor components from standard/</li> <li>Create a new namespace quattor/ with one sub-namespace per Quattor version: easier to move from one version to another one</li> <li>YUM-based ncm-spma</li> <li>Move to GitHub: do we keep the history?</li> </ul> <p>To be done but not yet handled by lack of time</p> <ul> <li>Namespace structure of OS templates</li> <li>Integration of Aquilon</li> <li>NFS configuration independent of grid templates</li> </ul> <p>GitHub migration based on several repositories, no history kept</p> <ul> <li>templ-library-standard: standard/ without the stuff imported from other places and without monitoring</li> <li>monitoring not migrated</li> <li>templ-library-core: templates imported from other Quattor components (config modules, AII, schema, Pan types…). Generated by the release process ideally, else some SCDB scripts may help (e.g. updateComponents)</li> <li>master branch + 13.1 branch (ncm-spma v2)</li> <li>Add standard/pan and standard/quattor other than AII</li> <li>templ-library-grid: grid templates</li> <li>1 branch per major grid MW version</li> <li>templ-library-stratuslab: current strastuslab repository</li> <li>templ-library-examples: current clusters/ and sites in SVN</li> <li>Minor issue: how to keep a “unified view” of these separate repositories for pushing back from a unique place like in the past</li> <li>git submodule are not appropriate for this</li> <li>git subtree: requires additional options when pushing but may be explored</li> <li>Luis will try to find some examples</li> </ul> <h3 id="core-quattor-schema">Core Quattor Schema</h3> <p>standard/pan and standard/quattor general templates were not migrated from SF SVN: need to be added to template-library-core</p> <p>Some suff added/changed for Aquilon: need to merge asap</p> <ul> <li>Mostly additions but a few mods (network part in particular)</li> </ul> <h2 id="actions">Actions</h2> <p>Documentation</p> <ul> <li>Getting Started section on quattor.org</li> <li>Allow indexing of Trac wiki by robots</li> <li>Move to quattor.org parts of general interest on QWG wiki</li> </ul> <p>Configuration modules</p> <ul> <li>Implement ncm-ncd hooks</li> <li>Add support for component aliasing</li> </ul> </div> </div> <!-- row --> </div> <hr/> <div class="footer container"> <p class="text-muted credit">Copyright © 2011-2024 quattor.org</p> </div> <!-- Le javascript ================================================== --> <!-- Placed at the end of the document so the pages load faster --> <script src="https://code.jquery.com/jquery-1.10.2.min.js"></script> <script src="/assets/bootstrap/js/bootstrap.min.js"></script> <script src="/assets/js/toc.js"></script> <script type="text/javascript"> $(document).ready(function() { $('.toc').toc({'title':'', 'showSpeed':0, 'noBackToTopLinks': true, 'listType': 'ul'}); }); </script> </body> </html>