From 30ed1f0447557126dad0aa8ea298c9c9b7eea806 Mon Sep 17 00:00:00 2001 From: Jan Pokorný Date: Wed, 25 Sep 2013 19:37:41 +0200 Subject: Split objects of interest to lib_{cman, shared} + add further info MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jan Pokorný --- cluster-cman.py | 51 +++++++---------- lib_cman.py | 174 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ lib_shared.py | 51 +++++++++++++++++ 3 files changed, 245 insertions(+), 31 deletions(-) create mode 100644 lib_cman.py create mode 100644 lib_shared.py diff --git a/cluster-cman.py b/cluster-cman.py index 5972a96..695fc67 100755 --- a/cluster-cman.py +++ b/cluster-cman.py @@ -19,8 +19,9 @@ from sys import argv from os.path import splitext from lib import LibDot, main from lib_subgraphs import * -from lib_nodes import * -from lib_edges import * +from lib_nodes import * # remove when possible +from lib_edges import * # ditto +from lib_cman import * FONT = 'Inconsolata' @@ -70,9 +71,9 @@ graph = lambda\ # ,label='management client' ,_nodes=\ - [Executable('luci') - ,Executable('ccs') - ,Executable('ccs_sync') + [CmanLuci('luci') + ,CmanCcs('ccs') + ,CmanCcsSync('ccs_sync') ]) ]) ,SubgraphInvisible('cluster.nodes' @@ -93,19 +94,16 @@ graph = lambda\ # ,label='management (incomplete)' ,_nodes=\ - [Daemon('node_c-ricci' - ,label='ricci' + [CmanRicci('node_c-ricci' ) - ,Daemon('node_c-modclusterd' - ,label='modclusterd' + ,CmanModclusterd('node_c-modclusterd' )] )] ,_nodes=\ [Program('node_c-kernel' ,label='kernel' ) - ,Daemon('node_c-rgmanager' - ,label='rgmanager' + ,CmanRGManager('node_c-rgmanager' )] ) ,SubgraphImportant('cluster.node_b' @@ -129,17 +127,13 @@ graph = lambda\ ,Artefact('node_b-clumond.sock' ,label='/var/run/\nclumond.sock' ) - ,Daemon('node_b-ricci' - ,label='ricci' + ,CmanRicci('node_b-ricci' ) - ,Executable('node_b-cman_tool' - ,label='cman_tool' + ,CmanCmanTool('node_b-cman_tool' ) - ,Daemon('node_b-modclusterd' - ,label='modclusterd' + ,CmanModclusterd('node_b-modclusterd' ) - ,Executable('node_b-modcluster' - ,label='modcluster' + ,CmanModcluster('node_b-modcluster' ) ,Executable('node_b-ricci-modules' ,label='ricci-mod{log,\nrpm,service,\nstorage,virt}' @@ -171,11 +165,9 @@ graph = lambda\ [Library('node_b-libccsconfdb' ,label='libccsconfdb' ) - ,Daemon('node_b-rgmanager' - ,label='rgmanager' + ,CmanRGManager('node_b-rgmanager' ) - ,Executable('node_b-clustat' - ,label='clustat' + ,CmanClustat('node_b-clustat' ) ,Artefact('node_b-rgmanager.sk' ,label='/var/run/\ncluster/\nrgmanager.sk' @@ -200,8 +192,8 @@ graph = lambda\ # ,label='fence agents' ,_nodes=\ - [Executable('node_b-fence_virt' - ,label='virt,xvm' + [SharedFenceVirt('node_b-fence_virt' + ,label='virt\,xvm' ) ,Executable('node_b-fence_others' ,label='others' @@ -371,19 +363,16 @@ graph = lambda\ # ,label='management (incomplete)' ,_nodes=\ - [Daemon('node_a-ricci' - ,label='ricci' + [CmanRicci('node_a-ricci' ) - ,Daemon('node_a-modclusterd' - ,label='modclusterd' + ,CmanModclusterd('node_a-modclusterd' )] )] ,_nodes=\ [Program('node_a-kernel' ,label='kernel' ) - ,Daemon('node_a-rgmanager' - ,label='rgmanager' + ,CmanRGManager('node_a-rgmanager' )] )] ) diff --git a/lib_cman.py b/lib_cman.py new file mode 100644 index 0000000..198ca34 --- /dev/null +++ b/lib_cman.py @@ -0,0 +1,174 @@ +#!/usr/bin/env python +# vim: set fileencoding=UTF-8: +# Copyright 2013 Red Hat, Inc. +# Author: Jan Pokorný +# Distributed under GPLv2+; generated content under CC-BY-SA 3.0 +# (to view a copy, visit http://creativecommons.org/licenses/by-sa/3.0/) +"""Library comprising cman cluster entities and relationships""" + +from lib_nodes import * +from lib_edges import * +from lib_shared import * + + +class CmanRGManager(Daemon): + defaults = dict(( + LABEL('rgmanager'), + )) + summary = \ + "RGManager (Resource Group ~) deals with cluster resources" + web = 'https://fedorahosted.org/cluster/wiki/RGManager' + repo = dict( + git='git://git.fedorahosted.org/git/cluster.git', + web='https://git.fedorahosted.org/cgit/cluster.git', + ml='https://lists.fedorahosted.org/mailman/listinfo/cluster-commits' + ) + man = [ + 'rgmanager(8)' + ] + srpm = 'rgmanager' + rpm = 'rgmanager' + rhbz = 'rgmanager' + + +class CmanClustat(Executable): + defaults = dict(( + LABEL('clustat'), + )) + summary = \ + "clustat is a program to display cluster status" + repo = dict( + git='git://git.fedorahosted.org/git/cluster.git', + web='https://git.fedorahosted.org/cgit/cluster.git', + ml='https://lists.fedorahosted.org/mailman/listinfo/cluster-commits' + ) + man = [ + 'clustat(8)' + ] + srpm = 'rgmanager' + rpm = 'rgmanager' + rhbz = 'rgmanager' + + +class CmanCmanTool(Executable): + defaults = dict(( + LABEL('cman_tool'), + )) + summary = \ + "cman_tool is a program to manage CMAN cluster subsystem" + repo = dict( + git='git://git.fedorahosted.org/git/cluster.git', + web='https://git.fedorahosted.org/cgit/cluster.git', + ml='https://lists.fedorahosted.org/mailman/listinfo/cluster-commits' + ) + man = [ + 'cman_tool(8)' + ] + srpm = 'cluster' + rpm = 'cman' + rhbz = 'cluster' + + +class CmanRicci(Daemon): + defaults = dict(( + LABEL('ricci'), + )) + summary = \ + "ricci daemon is an executive back-end within cluster management (conga)" + #web = 'https://sourceware.org/cluster/conga/' + repo = dict( + git='git://git.fedorahosted.org/git/conga.git', + web='https://git.fedorahosted.org/cgit/conga.git', + ) + man = [ + 'ricci(8)' + ] + srpm = 'ricci' + rpm = 'ricci' + rhbz = 'ricci' + + +class CmanCcs(Executable): + defaults = dict(( + LABEL('ccs'), + )) + summary = \ + "ccs is a CLI front-end within cluster management (conga)" + repo = dict( + #git='git://git.fedorahosted.org/git/conga.git', + git='git://github.com/feist/ccs.git', + #web='https://git.fedorahosted.org/cgit/conga.git', + web='https://github.com/feist/ccs', + ) + man = [ + 'ccs(8)' + ] + srpm = 'ricci' + rpm = 'ccs' + rhbz = 'ricci' + + +class CmanCcsSync(Executable): + defaults = dict(( + LABEL('ccs_sync'), + )) + summary = \ + "ccs_sync is a program to distribute+propagate cluster configuration" + repo = dict( + git='git://git.fedorahosted.org/git/conga.git', + web='https://git.fedorahosted.org/cgit/conga.git', + ) + man = [ + 'ccs_sync(8)' + ] + srpm = 'ricci' + rpm = 'ricci' + rhbz = 'ricci' + + +class CmanLuci(Daemon): + defaults = dict(( + LABEL('luci'), + )) + summary = \ + "luci is a web front-end within cluster management (conga)" + #web = 'https://sourceware.org/cluster/conga/' + web = 'https://fedorahosted.org/cluster/wiki/Luci' + repo = dict( + git='git://git.fedorahosted.org/git/luci.git', + web='https://git.fedorahosted.org/cgit/luci.git', + ml='https://lists.fedorahosted.org/mailman/listinfo/luci-commits', + ) + srpm = 'luci' + rpm = 'luci' + rhbz = 'luci' + + +class CmanModclusterd(Daemon): + defaults = dict(( + LABEL('modclusterd'), + )) + summary = \ + "modclusterd is a deamon facilitating info about cluster status (to conga)" + repo = dict( + git='git://git.fedorahosted.org/git/conga.git', + web='https://git.fedorahosted.org/cgit/conga.git', + ) + srpm = 'clustermon' + rpm = 'modcluster' + rhbz = 'clustermon' + + +class CmanModcluster(Executable): + defaults = dict(( + LABEL('modcluster'), + )) + summary = \ + "modcluster is a ricci's helper dealing with cluster config and status" + repo = dict( + git='git://git.fedorahosted.org/git/conga.git', + web='https://git.fedorahosted.org/cgit/conga.git', + ) + srpm = 'clustermon' + rpm = 'modcluster' + rhbz = 'clustermon' diff --git a/lib_shared.py b/lib_shared.py new file mode 100644 index 0000000..55bf527 --- /dev/null +++ b/lib_shared.py @@ -0,0 +1,51 @@ +#!/usr/bin/env python +# vim: set fileencoding=UTF-8: +# Copyright 2013 Red Hat, Inc. +# Author: Jan Pokorný +# Distributed under GPLv2+; generated content under CC-BY-SA 3.0 +# (to view a copy, visit http://creativecommons.org/licenses/by-sa/3.0/) +"""Library comprising shared cluster entities and relationships""" + +from lib_nodes import * +from lib_edges import * + + +class SharedFencevirtd(Daemon): + defaults = dict(( + LABEL('fence_virtd'), + )) + summary = \ + "fence_virtd is daemon listening for fence_virt's fencing requests" + repo = dict( + git='git://github.com/ryan-mccabe/fence-virt.git', + #git='git://git.code.sf.net/p/fence-virt/code', + web='https://github.com/ryan-mccabe/fence-virt', + # web='http://sourceforge.net/p/fence-virt/code', + ) + man = [ + 'fence_virtd(8)' + ] + srpm = 'fence-virt' + rpm = 'fence-virtd' # + ~-{checkpoint, libvirt, multicast, serial} + rhbz = 'fence-virt' + + +class SharedFenceVirt(Executable): + defaults = dict(( + LABEL('fence_virt'), + )) + summary = \ + "fence_{virt,xvm} is a program to request fencing via fence_virtd" + repo = dict( + git='git://github.com/ryan-mccabe/fence-virt.git', + #git='git://git.code.sf.net/p/fence-virt/code', + web='https://github.com/ryan-mccabe/fence-virt', + # web='http://sourceforge.net/p/fence-virt/code', + ) + man = [ + 'fence_virt(8)', + 'fence_xvm(8)', + ] + srpm = 'fence-virt' + rpm = 'fence-virt' + rhbz = 'fence-virt' -- cgit