Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 173824 Details for
Bug 193249
sys-fs/ocfs2-tools version bump to 1.4.1 + sanitized linux-headers patch
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
ocfs2console modified to use o2cb
o2cb_ctl.py (text/plain), 4.79 KB, created by
Pierre Colot
on 2008-11-29 22:20:20 UTC
(
hide
)
Description:
ocfs2console modified to use o2cb
Filename:
MIME Type:
Creator:
Pierre Colot
Created:
2008-11-29 22:20:20 UTC
Size:
4.79 KB
patch
obsolete
># OCFS2Console - GUI frontend for OCFS2 management and debugging ># Copyright (C) 2002, 2005 Oracle. All rights reserved. ># ># This program is free software; you can redistribute it and/or modify ># it under the terms of the GNU General Public License as published by ># the Free Software Foundation; either version 2 of the License, or ># (at your option) any later version. ># ># This program is distributed in the hope that it will be useful, ># but WITHOUT ANY WARRANTY; without even the implied warranty of ># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ># GNU General Public License for more details. ># ># You should have received a copy of the GNU General Public License ># along with this program; if not, write to the Free Software ># Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 021110-1307, USA. > >from cStringIO import StringIO > >from process import Process >from guiutil import error_box > >DEFAULT_CLUSTER_NAME = 'ocfs2' > >O2CB_INIT = 'o2cb' >O2CB_CTL = 'o2cb_ctl' > >class CtlError(Exception): > pass > >class O2CBProcess(Process): > def __init__(self, args, desc, parent=None): > if isinstance(args, basestring): > command = '%s %s' % (self.program, args) > else: > command = (self.program,) + tuple(args) > > Process.__init__(self, command, self.title, desc, parent) > >class O2CBCtl(O2CBProcess): > program = O2CB_CTL > title = 'Cluster Control' > >class O2CBInit(O2CBProcess): > program = O2CB_INIT > title = 'Cluster Stack' > >def init_load(parent=None): > args = ('load',) > o2cb_init = O2CBInit(args, 'Starting cluster stack...', parent) > return o2cb_init.reap() > >def init_online(cluster_name, parent=None): > desc = 'Starting %s cluster...' % cluster_name > args = ('online', cluster_name) > o2cb_init = O2CBInit(args, desc, parent) > return o2cb_init.reap() > >def init_status(cluster_name=None, parent=None): > if cluster_name: > desc = 'Querying status of %s...' % cluster_name > args = ('status', cluster_name) > else: > desc = 'Querying cluster software status...' > args = ('status',) > o2cb_init = O2CBInit(args, desc, parent) > return o2cb_init.reap() > >def query_clusters(parent=None): > args = '-I -t cluster -o' > o2cb_ctl = O2CBCtl(args, 'Querying cluster...', parent) > return o2cb_ctl.reap() > >def query_nodes(parent=None): > args = '-I -t node -o' > o2cb_ctl = O2CBCtl(args, 'Querying nodes...', parent) > return o2cb_ctl.reap() > >def add_node(name, cluster_name, ip_address, ip_port, parent=None): > desc = 'Adding node %s...' % name > args = ('-C', '-n', name, '-t', 'node', > '-a', 'cluster=%s' % cluster_name, > '-a', 'ip_address=%s' % ip_address, > '-a', 'ip_port=%s' % ip_port, > '-i') > > o2cb_ctl = O2CBCtl(args, desc, parent) > return o2cb_ctl.reap() > >def get_active_cluster_name(parent=None): > cluster_name = None > > success, output, k = query_clusters(parent) > > if success: > names = [] > > buffer = StringIO(output) > > for line in buffer: > if line.startswith('#'): > continue > > try: > name, rest = line.split(':', 1) > except ValueError: > continue > > names.append(name) > > if DEFAULT_CLUSTER_NAME in names: > cluster_name = DEFAULT_CLUSTER_NAME > elif len(names): > cluster_name = names[0] > > if cluster_name is None: > args = '-C -n %s -t cluster -i' % DEFAULT_CLUSTER_NAME > o2cb_ctl = O2CBCtl(args, 'Creating cluster...', parent) > success, output, k = o2cb_ctl.reap() > > if success: > cluster_name = DEFAULT_CLUSTER_NAME > else: > errmsg = '%s\nCould not create cluster %s' % (output, > DEFAULT_CLUSTER_NAME) > raise CtlError, errmsg > > return cluster_name > >def get_cluster_nodes(cluster_name, parent=None): > success, output, k = query_nodes(parent) > if not success: > raise CtlError, output > > nodes = [] > > buffer = StringIO(output) > > for line in buffer: > if line.startswith('#'): > continue > > try: > name, cluster, node, ip_address, ip_port, state = line.split(':') > except ValueError: > continue > > if cluster == cluster_name: > info = {} > symtab = locals() > > for sym in 'name', 'node', 'ip_address', 'ip_port': > info[sym] = symtab[sym] > > nodes.append(info) > > return nodes > >def main(): > success, output, k = init_load() > if success: > print 'Success:\n' + output > else: > print 'Failed:\n' + output > > success, output, k = query_nodes() > if success: > print 'Success:\n' + output > else: > print 'Failed:\n' + output > >if __name__ == '__main__': > main()
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 193249
:
131462
|
131483
|
131484
|
131555
|
131556
|
140464
|
140548
|
140632
|
140799
|
140801
|
145385
|
163408
|
163410
|
173821
|
173822
| 173824 |
181426
|
181533
|
196229
|
196249