cas cas.spec doc/genindex.html doc/index.html doc/index.rst doc/objects.inv doc/search.html doc/searchindex.js doc/_sources
by Adam Stokes
cas | 20 +++++++++++++++-----
cas.spec | 1 +
doc/_sources/index.txt | 17 +++++++++++++++--
doc/genindex.html | 8 ++++----
doc/index.html | 26 ++++++++++++++++++--------
doc/index.rst | 13 +++++++++++++
doc/objects.inv | 4 ++--
doc/search.html | 8 ++++----
doc/searchindex.js | 2 +-
9 files changed, 73 insertions(+), 26 deletions(-)
New commits:
commit 8370d52a889b7237d12fe8b5e822bcba90fe05a7
Author: adam stokes <astokes(a)fedoraproject.org>
Date: Wed Dec 9 21:17:27 2009 -0500
- update doc for new helper function
- new helper function to use pbzip2 for compression
diff --git a/cas b/cas
index 73e1f7a..5e0882f 100755
--- a/cas
+++ b/cas
@@ -142,6 +142,13 @@ class CasApplication(object):
self.parse_options(args)
self.util = UtilBase()
self.rpmTool = RPMBase()
+
+ def _helper_compress(self, filename):
+ cbase = CoreBase()
+ try:
+ cbase.compressCore(os.path.abspath(self.opts.filename))
+ except CoreException, e:
+ raise SystemExit(e)
def parse_options(self, args):
# build option - arguement list in the form of
@@ -156,13 +163,16 @@ class CasApplication(object):
parser.add_option("-m","--modules", dest="kernel_modules",
help="Extract associated kernel modules",
action="store_true")
- parser.add_option("-c","--compress", dest="compress",
- action="store_true")
+ parser.add_option("-c","--compress", dest="compress_core",
+ help="Helper option to compress core to be transferred "\
+ "to another destination.", action="store_true")
self.opts, args = parser.parse_args()
- self.compress = self.opts.compress
- if self.compress:
- return
+ # check helper function first
+ if self.opts.compress_core and self.opts.filename:
+ self._helper_compress(self.opts.filename)
+ else:
+ parser.error("A file object is missing")
if not self.opts.identifier:
parser.error("A unique identifier number is missing.")
diff --git a/cas.spec b/cas.spec
index da2f119..8c8c914 100644
--- a/cas.spec
+++ b/cas.spec
@@ -53,6 +53,7 @@ rm -rf ${RPM_BUILD_ROOT}
- Test for pbzip2 for utilizing multiple cores during decompression
- Increment python requirement to 2.4
- provide shutil, subprocess from 2.6 if on lower python version
+- added helper function for compressing core files in proper format
* Thu Oct 15 2009 Adam Stokes <ajs at redhat dot com> - 0.15-1
- Require paramiko for all remote executions
diff --git a/doc/_sources/index.txt b/doc/_sources/index.txt
index 087eb68..9a394e8 100644
--- a/doc/_sources/index.txt
+++ b/doc/_sources/index.txt
@@ -25,8 +25,8 @@ types to core dumps are automatically detected and processed.
Prerequisites
^^^^^^^^^^^^^
-CAS needs at least **Python 2.3** to run. For systems that are not running
-Fedora 9 or later (this would include RHEL 4/5) the EPEL repo needs to be
+CAS needs at least **Python 2.4** to run. For systems that are not running
+Fedora 9 or later (this would include RHEL 5) the EPEL repo needs to be
installed. Visit `EPEL <https://fedoraproject.org/wiki/EPEL>`_ to enable
this repository.
@@ -195,6 +195,7 @@ a few options to pass::
-e EMAIL, --email=EMAIL
Define email for results (must be valid!)
-m, --modules Extract associated kernel modules
+ -c, --compress Compress file for transfer to another destination
CAS prepares its directory hierarchy based on the ``identifier`` this option is
therefore required. ``filename`` is also required as it tells CAS exactly which
@@ -226,6 +227,18 @@ initial analysis to the specified email address. From there further instructions
are provided in either the email or the ``process log`` on how to access and analyze
the core.
+CAS also provides an option to compress a file using ``pbzip2`` which will utilize
+the systems cpu's in order to eliminate a lot of the wait it takes to compress/decompress
+a core file.
+
+To use simply type::
+
+ $ cas -f vmcore -c
+
+The benefit of using ``pbzip2`` for compression is that it will decompress utilizing the
+systems cpu's as well. This option is preferred since the downtime is cut in half of what
+it would take using the normal single cpu bound ``bzip2``.
+
Analyzing
---------
diff --git a/doc/genindex.html b/doc/genindex.html
index d421a66..b891687 100644
--- a/doc/genindex.html
+++ b/doc/genindex.html
@@ -5,7 +5,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Index — cas v0.15 documentation</title>
+ <title>Index — CAS v0.15 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
@@ -19,7 +19,7 @@
</script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
- <link rel="top" title="cas v0.15 documentation" href="index.html" />
+ <link rel="top" title="CAS v0.15 documentation" href="index.html" />
</head>
<body>
<div class="related">
@@ -28,7 +28,7 @@
<li class="right" style="margin-right: 10px">
<a href="" title="General Index"
accesskey="I">index</a></li>
- <li><a href="index.html">cas v0.15 documentation</a> »</li>
+ <li><a href="index.html">CAS v0.15 documentation</a> »</li>
</ul>
</div>
@@ -78,7 +78,7 @@
<li class="right" style="margin-right: 10px">
<a href="" title="General Index"
>index</a></li>
- <li><a href="index.html">cas v0.15 documentation</a> »</li>
+ <li><a href="index.html">CAS v0.15 documentation</a> »</li>
</ul>
</div>
<div class="footer">
diff --git a/doc/index.html b/doc/index.html
index c0f1ba7..f8fe181 100644
--- a/doc/index.html
+++ b/doc/index.html
@@ -5,7 +5,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Core Analysis System — cas v0.15 documentation</title>
+ <title>Core Analysis System — CAS v0.15 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
@@ -19,7 +19,7 @@
</script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
- <link rel="top" title="cas v0.15 documentation" href="" />
+ <link rel="top" title="CAS v0.15 documentation" href="" />
</head>
<body>
<div class="related">
@@ -28,7 +28,7 @@
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
accesskey="I">index</a></li>
- <li><a href="">cas v0.15 documentation</a> »</li>
+ <li><a href="">CAS v0.15 documentation</a> »</li>
</ul>
</div>
@@ -47,7 +47,7 @@
</tr>
<tr class="field"><th class="field-name">Release:</th><td class="field-body">0.15</td>
</tr>
-<tr class="field"><th class="field-name">Date:</th><td class="field-body">October 15, 2009</td>
+<tr class="field"><th class="field-name">Date:</th><td class="field-body">December 09, 2009</td>
</tr>
</tbody>
</table>
@@ -62,8 +62,8 @@ types to core dumps are automatically detected and processed.</p>
</div>
<div class="section" id="prerequisites">
<h3>Prerequisites<a class="headerlink" href="#prerequisites" title="Permalink to this headline">¶</a></h3>
-<p>CAS needs at least <strong>Python 2.3</strong> to run. For systems that are not running
-Fedora 9 or later (this would include RHEL 4/5) the EPEL repo needs to be
+<p>CAS needs at least <strong>Python 2.4</strong> to run. For systems that are not running
+Fedora 9 or later (this would include RHEL 5) the EPEL repo needs to be
installed. Visit <a class="reference external" href="https://fedoraproject.org/wiki/EPEL">EPEL</a> to enable
this repository.</p>
<p>The amount of storage needed can be determined base on the following
@@ -204,7 +204,8 @@ Options:
Filename
-e EMAIL, --email=EMAIL
Define email for results (must be valid!)
- -m, --modules Extract associated kernel modules</pre>
+ -m, --modules Extract associated kernel modules
+ -c, --compress Compress file for transfer to another destination</pre>
</div>
<p>CAS prepares its directory hierarchy based on the <tt class="docutils literal"><span class="pre">identifier</span></tt> this option is
therefore required. <tt class="docutils literal"><span class="pre">filename</span></tt> is also required as it tells CAS exactly which
@@ -230,6 +231,15 @@ useful when analyzing filesystem issues and the like.</p>
initial analysis to the specified email address. From there further instructions
are provided in either the email or the <tt class="docutils literal"><span class="pre">process</span> <span class="pre">log</span></tt> on how to access and analyze
the core.</p>
+<p>CAS also provides an option to compress a file using <tt class="docutils literal"><span class="pre">pbzip2</span></tt> which will utilize
+the systems cpu’s in order to eliminate a lot of the wait it takes to compress/decompress
+a core file.</p>
+<p>To use simply type:</p>
+<div class="highlight-python"><pre>$ cas -f vmcore -c</pre>
+</div>
+<p>The benefit of using <tt class="docutils literal"><span class="pre">pbzip2</span></tt> for compression is that it will decompress utilizing the
+systems cpu’s as well. This option is preferred since the downtime is cut in half of what
+it would take using the normal single cpu bound <tt class="docutils literal"><span class="pre">bzip2</span></tt>.</p>
</div>
</div>
<div class="section" id="analyzing">
@@ -429,7 +439,7 @@ no errors.</p>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
>index</a></li>
- <li><a href="">cas v0.15 documentation</a> »</li>
+ <li><a href="">CAS v0.15 documentation</a> »</li>
</ul>
</div>
<div class="footer">
diff --git a/doc/index.rst b/doc/index.rst
index 07f91e5..9a394e8 100644
--- a/doc/index.rst
+++ b/doc/index.rst
@@ -195,6 +195,7 @@ a few options to pass::
-e EMAIL, --email=EMAIL
Define email for results (must be valid!)
-m, --modules Extract associated kernel modules
+ -c, --compress Compress file for transfer to another destination
CAS prepares its directory hierarchy based on the ``identifier`` this option is
therefore required. ``filename`` is also required as it tells CAS exactly which
@@ -226,6 +227,18 @@ initial analysis to the specified email address. From there further instructions
are provided in either the email or the ``process log`` on how to access and analyze
the core.
+CAS also provides an option to compress a file using ``pbzip2`` which will utilize
+the systems cpu's in order to eliminate a lot of the wait it takes to compress/decompress
+a core file.
+
+To use simply type::
+
+ $ cas -f vmcore -c
+
+The benefit of using ``pbzip2`` for compression is that it will decompress utilizing the
+systems cpu's as well. This option is preferred since the downtime is cut in half of what
+it would take using the normal single cpu bound ``bzip2``.
+
Analyzing
---------
diff --git a/doc/objects.inv b/doc/objects.inv
index 3790431..a1c1ea1 100644
--- a/doc/objects.inv
+++ b/doc/objects.inv
@@ -1,3 +1,3 @@
# Sphinx inventory version 1
-# Project: cas
-# Version: 0
+# Project: CAS
+# Version: 0.15
diff --git a/doc/search.html b/doc/search.html
index a4032d2..6752a0d 100644
--- a/doc/search.html
+++ b/doc/search.html
@@ -5,7 +5,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Search — cas v0.15 documentation</title>
+ <title>Search — CAS v0.15 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
@@ -20,7 +20,7 @@
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="_static/searchtools.js"></script>
- <link rel="top" title="cas v0.15 documentation" href="index.html" />
+ <link rel="top" title="CAS v0.15 documentation" href="index.html" />
</head>
<body>
<div class="related">
@@ -29,7 +29,7 @@
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
accesskey="I">index</a></li>
- <li><a href="index.html">cas v0.15 documentation</a> »</li>
+ <li><a href="index.html">CAS v0.15 documentation</a> »</li>
</ul>
</div>
@@ -77,7 +77,7 @@
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
>index</a></li>
- <li><a href="index.html">cas v0.15 documentation</a> »</li>
+ <li><a href="index.html">CAS v0.15 documentation</a> »</li>
</ul>
</div>
diff --git a/doc/searchindex.js b/doc/searchindex.js
index ae8a507..746faa2 100644
--- a/doc/searchindex.js
+++ b/doc/searchindex.js
@@ -1 +1 @@
-Search.setIndex({desctypes:{},terms:{all:0,mnt:0,dss:0,snip:0,abil:0,follow:0,disk:0,depend:0,do_dlm_lock:0,those:0,aris:0,worth:0,sent:0,r14:0,r15:0,r12:0,r13:0,r10:0,r11:0,faq:0,ffffffff8010e789:0,vmcore:0,upstream:0,octob:0,ticket:0,relev:0,administr:0,level:0,die:0,list:0,prepar:0,pleas:0,x86_64:0,intial:0,direct:0,pass:0,download:0,further:0,keygen:0,sub:0,section:0,abl:0,access:0,version:0,hostkei:0,autogener:0,gener:0,here:0,address:0,path:0,sinc:0,valu:0,ffffffff80110bf5:0,rdx:0,amount:0,typic:0,rdi:0,smp_call_function_interrupt:0,chanc:0,"0000010001073f48":0,prerequisit:0,modul:0,prefer:0,crash_32:0,filenam:0,id_dsa:0,instal:0,from:0,describ:0,would:0,memori:0,doubl:0,visit:0,two:0,next:0,few:0,usr:0,recommend:0,type:0,tell:0,more:0,sort:0,wrapper:0,share:0,ffffffff803e9b80:0,"1tb":0,must:0,none:0,retriev:0,hous:0,setup:0,work:0,uniqu:0,can:0,root:0,sqlite:0,tar:0,process:0,smtp:0,accept:0,want:0,occur:0,multipl:0,anoth:0,snippet:0,how:0,error_exit:0,purg:0,verifi:0,negoti:0,perspect:0,ffffffff80528000:0,resourc:0,passwordless:0,"00000102000a4780":0,clone:0,reflect:0,mai:0,associ:0,physic:0,essenti:0,issu:0,inform:0,environ:0,media:0,order:0,help:0,over:0,major:0,i386:0,hierarchi:0,paramet:0,"100f57cb030":0,ellargesmp:0,bin:0,mail:0,main:0,alter:0,crash:0,thei:0,python:0,auto:0,overal:0,dai:0,initi:0,"break":0,mention:0,itanium:0,now:0,introduct:0,name:0,edit:0,troubleshoot:0,authent:0,kern:0,each:0,debug:0,mean:0,continu:0,happen:0,extract:0,buffers:0,out:0,shown:0,network:0,ffffffff8014cc1d:0,ffffffff8011d191:0,content:0,fffffffffffffffa:0,dsa:0,advanc:0,orig_rax:0,given:0,base:0,releas:0,org:0,ffffffff80110e1d:0,traceback:0,keep:0,vmlinux:0,thing:0,yum:0,isn:0,assign:0,first:0,origin:0,rang:0,onc:0,number:0,swapper:0,instruct:0,done:0,least:0,rflag:0,differ:0,script:0,data:0,interact:0,system:0,messag:0,ffffffff80112058:0,statement:0,ffffffff8047a0a0:0,"final":0,store:0,includ:0,option:0,debuginfo:0,tool:0,copi:0,specifi:0,"var":0,checkout:0,exactli:0,rsp:0,than:0,provid:0,see:0,structur:0,boil:0,stale:0,analysi:0,ani:0,fail:0,have:0,call_function_interrupt:0,"101f3658030":0,rax:0,rsi:0,packag:0,date:0,bz2:0,lib:0,note:0,also:0,exampl:0,build:0,which:0,begin:0,normal:0,buffer:0,previou:0,compress:0,most:0,regular:0,deploi:0,"101f21efb80":0,gather:0,place:0,determin:0,irq:0,latest:0,show:0,text:0,fine:0,find:0,current:0,onli:0,locat:0,configur:0,solut:0,state:0,should:0,analyz:0,local:0,variou:0,cvjf:0,express:0,autom:0,repo:0,mainten:0,ssh:0,requir:0,enabl:0,organ:0,cleanli:0,contain:0,where:0,wiki:0,kernel:0,set:0,dump:0,"10001073f48":0,emac:0,result:0,arg:0,corrupt:0,subject:0,ffffffffa03183ff:0,detect:0,purgelimit:0,extend:0,databas:0,someth:0,enough:0,between:0,approach:0,email:0,altern:0,assumpt:0,kei:0,cpu_idl:0,default_idl:0,job:0,come:0,tue:0,addit:0,last:0,admin:0,fault:0,etc:0,instanc:0,mani:0,com:0,improp:0,load:0,simpli:0,point:0,"1000107bfb0":0,rpm:0,casus:0,coredump:0,been:0,mark:0,much:0,sshkei:0,popul:0,quickli:0,largesmp:0,anywher:0,try_crashdump:0,"0000000000000e86":0,present:0,therefor:0,look:0,rbx:0,solid:0,mount:0,rbp:0,defin:0,abov:0,error:0,"101f21efb20":0,ffffffff8047a0b0:0,timefram:0,rip:0,need:0,archiv:0,uncom:0,conf:0,fedorahost:0,sever:0,fedora:0,author:0,suggest:0,same:0,binari:0,timestamp:0,x86:0,someon:0,temporari:0,user:0,"500gb":0,engin:0,stack:0,task:0,"10001073e98":0,entri:0,do_invalid_op:0,client:0,command:0,thi:0,filesystem:0,gzip:0,everyth:0,usual:0,identifi:0,execut:0,workdirectori:0,heavili:0,previous:0,samba:0,except:0,other:0,match:0,opt:0,read:0,kmem:0,debuglevel:0,smtphost:0,mod:0,"1000107bfa0":0,resid:0,like:0,specif:0,anyon:0,manual:0,resolv:0,server:0,collect:0,necessari:0,either:0,"101f21efb60":0,"101f21efc40":0,output:0,some:0,back:0,gfs_quotad:0,proper:0,tmp:0,assum:0,ffffffff80529f08:0,exit:0,machin:0,core:0,who:0,run:0,reach:0,usag:0,host:0,repositori:0,prove:0,unfortun:0,primarili:0,within:0,automat:0,down:0,"101f21efb50":0,chang:0,start_disk_dump:0,storag:0,git:0,rcx:0,log:0,wai:0,area:0,support:0,question:0,avail:0,editor:0,suit:0,hassl:0,rhel:0,"function":0,properli:0,form:0,pwd:0,line:0,analyst:0,info:0,commun:0,made:0,possibl:0,"default":0,wish:0,below:0,ffffffff80111c90:0,otherwis:0,problem:0,similar:0,epel:0,later:0,certain:0,dure:0,pid:0,incomplet:0,exist:0,file:0,cvzf:0,fill:0,bzip2:0,"00000100f57cb030":0,when:0,valid:0,ffffffff8010e7a9:0,architectur:0,corefil:0,benefici:0,autopurg:0,ffffffff80529fb8:0,stoke:0,directori:0,descript:0,adam:0,time:0,ffffffff8010e81c:0,rpmfilter:0,cpu:0},titles:["Core Analysis System"],modules:{},descrefs:{},filenames:["index"]})
\ No newline at end of file
+Search.setIndex({desctypes:{},terms:{all:0,mnt:0,ffffffff8011d191:0,snip:0,abil:0,follow:0,disk:0,depend:0,do_dlm_lock:0,ffffffff80110bf5:0,those:0,downtim:0,worth:0,sent:0,r14:0,r15:0,r12:0,r13:0,r10:0,r11:0,faq:0,util:0,ffffffff8010e789:0,vmcore:0,upstream:0,ticket:0,relev:0,administr:0,level:0,die:0,list:0,prepar:0,pleas:0,x86_64:0,intial:0,direct:0,pass:0,download:0,further:0,rbp:0,what:0,sub:0,section:0,abl:0,access:0,version:0,hostkei:0,elimin:0,autogener:0,gener:0,here:0,pbzip2:0,address:0,path:0,sinc:0,valu:0,wait:0,rdx:0,amount:0,typic:0,rdi:0,smp_call_function_interrupt:0,chanc:0,"0000010001073f48":0,prerequisit:0,modul:0,prefer:0,crash_32:0,filenam:0,id_dsa:0,instal:0,from:0,describ:0,would:0,prove:0,doubl:0,visit:0,two:0,next:0,few:0,usr:0,recommend:0,type:0,tell:0,more:0,sort:0,wrapper:0,share:0,ffffffff803e9b80:0,"1tb":0,aris:0,must:0,none:0,retriev:0,hous:0,setup:0,work:0,uniqu:0,can:0,root:0,sqlite:0,tar:0,process:0,smtp:0,accept:0,want:0,occur:0,multipl:0,anoth:0,snippet:0,how:0,error_exit:0,purg:0,verifi:0,negoti:0,perspect:0,ffffffff80528000:0,resourc:0,passwordless:0,"00000102000a4780":0,clone:0,reflect:0,date:0,associ:0,physic:0,essenti:0,issu:0,inform:0,environ:0,media:0,order:0,help:0,over:0,major:0,i386:0,hierarchi:0,paramet:0,"100f57cb030":0,ellargesmp:0,bin:0,mail:0,main:0,alter:0,crash:0,thei:0,python:0,auto:0,overal:0,dai:0,initi:0,"break":0,mention:0,half:0,itanium:0,now:0,introduct:0,name:0,edit:0,troubleshoot:0,authent:0,kern:0,each:0,debug:0,mean:0,mai:0,continu:0,happen:0,extract:0,buffers:0,out:0,shown:0,network:0,ffffffff8014cc1d:0,dss:0,content:0,fffffffffffffffa:0,dsa:0,advanc:0,orig_rax:0,given:0,base:0,releas:0,org:0,ffffffff80110e1d:0,traceback:0,keep:0,vmlinux:0,thing:0,yum:0,isn:0,assign:0,first:0,origin:0,rang:0,onc:0,number:0,swapper:0,instruct:0,done:0,least:0,rflag:0,differ:0,script:0,data:0,interact:0,system:0,messag:0,ffffffff80112058:0,statement:0,ffffffff8047a0a0:0,"final":0,store:0,includ:0,option:0,debuginfo:0,tool:0,copi:0,specifi:0,"var":0,checkout:0,exactli:0,rsp:0,than:0,provid:0,see:0,structur:0,boil:0,stale:0,analysi:0,ani:0,fail:0,have:0,need:0,"101f3658030":0,rax:0,rsi:0,packag:0,engin:0,bz2:0,lib:0,note:0,also:0,exampl:0,take:0,which:0,singl:0,begin:0,normal:0,buffer:0,who:0,compress:0,most:0,regular:0,deploi:0,"101f21efb80":0,gather:0,place:0,determin:0,irq:0,latest:0,show:0,text:0,fine:0,find:0,current:0,onli:0,locat:0,configur:0,solut:0,state:0,should:0,analyz:0,local:0,variou:0,cvjf:0,express:0,autom:0,repo:0,mainten:0,ssh:0,requir:0,enabl:0,organ:0,cleanli:0,contain:0,where:0,wiki:0,kernel:0,set:0,dump:0,"10001073f48":0,emac:0,result:0,arg:0,corrupt:0,subject:0,ffffffffa03183ff:0,detect:0,purgelimit:0,extend:0,databas:0,someth:0,enough:0,between:0,approach:0,email:0,altern:0,assumpt:0,kei:0,cpu_idl:0,default_idl:0,job:0,cut:0,come:0,tue:0,addit:0,last:0,admin:0,fault:0,etc:0,instanc:0,mani:0,com:0,improp:0,load:0,simpli:0,point:0,"1000107bfb0":0,rpm:0,casus:0,coredump:0,been:0,mark:0,much:0,sshkei:0,popul:0,quickli:0,largesmp:0,anywher:0,try_crashdump:0,"0000000000000e86":0,present:0,therefor:0,look:0,rbx:0,solid:0,mount:0,keygen:0,defin:0,abov:0,error:0,"101f21efb20":0,ffffffff8047a0b0:0,timefram:0,rip:0,destin:0,call_function_interrupt:0,archiv:0,uncom:0,conf:0,fedorahost:0,sever:0,fedora:0,author:0,suggest:0,same:0,binari:0,timestamp:0,x86:0,someon:0,decompress:0,temporari:0,user:0,"500gb":0,stack:0,task:0,"10001073e98":0,entri:0,do_invalid_op:0,well:0,client:0,command:0,thi:0,filesystem:0,gzip:0,everyth:0,usual:0,identifi:0,execut:0,workdirectori:0,heavili:0,previous:0,samba:0,except:0,other:0,match:0,build:0,opt:0,read:0,kmem:0,debuglevel:0,smtphost:0,mod:0,"1000107bfa0":0,resid:0,like:0,specif:0,anyon:0,manual:0,resolv:0,server:0,collect:0,benefit:0,necessari:0,either:0,"101f21efb60":0,"101f21efc40":0,output:0,some:0,back:0,gfs_quotad:0,proper:0,tmp:0,assum:0,ffffffff80529f08:0,exit:0,machin:0,core:0,previou:0,run:0,reach:0,usag:0,host:0,repositori:0,memori:0,unfortun:0,primarili:0,within:0,bound:0,automat:0,down:0,"101f21efb50":0,chang:0,start_disk_dump:0,storag:0,git:0,rcx:0,log:0,wai:0,area:0,transfer:0,support:0,question:0,avail:0,editor:0,lot:0,suit:0,hassl:0,rhel:0,"function":0,properli:0,form:0,pwd:0,line:0,analyst:0,info:0,commun:0,made:0,possibl:0,"default":0,wish:0,below:0,ffffffff80111c90:0,otherwis:0,problem:0,similar:0,epel:0,later:0,certain:0,dure:0,pid:0,incomplet:0,exist:0,file:0,cvzf:0,fill:0,bzip2:0,"00000100f57cb030":0,when:0,valid:0,ffffffff8010e7a9:0,architectur:0,corefil:0,benefici:0,autopurg:0,ffffffff80529fb8:0,stoke:0,directori:0,descript:0,adam:0,time:0,ffffffff8010e81c:0,decemb:0,rpmfilter:0,cpu:0},titles:["Core Analysis System"],modules:{},descrefs:{},filenames:["index"]})
\ No newline at end of file
14 years, 5 months
contrib/traceback_filter
by Adam Stokes
contrib/traceback_filter | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
New commits:
commit 302114609cac9740a91c9a082fd46c0265e01757
Author: adam stokes <astokes(a)fedoraproject.org>
Date: Wed Dec 9 14:41:55 2009 -0500
- added altered license to accept gpl3
diff --git a/contrib/traceback_filter b/contrib/traceback_filter
index 8734983..b6659a0 100755
--- a/contrib/traceback_filter
+++ b/contrib/traceback_filter
@@ -4,7 +4,8 @@
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions
-# of the GNU General Public License v.2.
+# of the GNU General Public License, either version 2 of the License, or
+# (at your option) any later version
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software Foundation,
@@ -42,7 +43,7 @@ else:
-version = '0.6'
+version = '0.7'
debug = 0
14 years, 5 months
cas cas.spec lib/cas
by Adam Stokes
cas | 8 +++++++-
cas.spec | 4 ++--
lib/cas/core.py | 16 ++++++++++++++++
3 files changed, 25 insertions(+), 3 deletions(-)
New commits:
commit 41c2f2a3ac68db44b9b5ccb52a1c5e84067cf318
Author: adam stokes <astokes(a)fedoraproject.org>
Date: Wed Dec 9 14:28:09 2009 -0500
- add some compression help to keep things consistent
diff --git a/cas b/cas
index 7ae7415..73e1f7a 100755
--- a/cas
+++ b/cas
@@ -145,7 +145,7 @@ class CasApplication(object):
def parse_options(self, args):
# build option - arguement list in the form of
- # cas -i <id> -f <filename> -m user(a)example.com
+ # cas -i <id> -f <filename> -e user(a)example.com
parser = optparse.OptionParser(usage="cas [opts] args")
parser.add_option("-i","--identifier", dest="identifier",
help="Unique ID for core")
@@ -156,8 +156,14 @@ class CasApplication(object):
parser.add_option("-m","--modules", dest="kernel_modules",
help="Extract associated kernel modules",
action="store_true")
+ parser.add_option("-c","--compress", dest="compress",
+ action="store_true")
self.opts, args = parser.parse_args()
+ self.compress = self.opts.compress
+ if self.compress:
+ return
+
if not self.opts.identifier:
parser.error("A unique identifier number is missing.")
elif not self.opts.filename:
diff --git a/cas.spec b/cas.spec
index 6d5453f..da2f119 100644
--- a/cas.spec
+++ b/cas.spec
@@ -12,9 +12,9 @@ BuildArch: noarch
Url: http://fedorahosted.org/cas
BuildRequires: python-devel
%if 0%{?rhel}
-Requires: python-sqlite crash python-paramiko
+Requires: python-sqlite crash python-paramiko bzip2
%else
-Requires: crash python-paramiko
+Requires: crash python-paramiko bzip2
%endif
%description
diff --git a/lib/cas/core.py b/lib/cas/core.py
index 9cf9080..8d2802e 100644
--- a/lib/cas/core.py
+++ b/lib/cas/core.py
@@ -114,3 +114,19 @@ class CoreBase(object):
if out:
return out
raise CoreException("Unable to retrieve timestamp from: %s" % (path,))
+
+ def compressCore(self, corefile):
+ """ use pbzip2 to do compression
+ utilizing multiple cpu cores
+ """
+ app = ["/usr/bin/pbzip2", "-z"]
+ if not os.path.isfile(app[0]):
+ # fallback on bzip2 silently if pbzip2 isn't installed
+ app = ["bzip2", "-z"]
+ app.append(corefile)
+ p = Popen(app, stdout=PIPE, stderr=PIPE)
+ err = p.stderr.read()
+ out = p.stdout.read()
+ if err:
+ raise CoreException("Unable to compress file: %s" % (err,))
+ return
14 years, 5 months
cas cas-admin cas.spec doc/index.rst
by Adam Stokes
cas | 17 ++++++++++-------
cas-admin | 13 +++++++++----
cas.spec | 2 ++
doc/index.rst | 4 ++--
4 files changed, 23 insertions(+), 13 deletions(-)
New commits:
commit aaa4af6fecbf5971e58e244da105123911f3abaa
Author: adam stokes <astokes(a)fedoraproject.org>
Date: Wed Dec 9 13:59:19 2009 -0500
- remove support for epel4/rhel4
- bump requirement to python 2.4
- include 2.6 libraries if on python version less than 2.6
diff --git a/cas b/cas
index 2aa5f23..7ae7415 100755
--- a/cas
+++ b/cas
@@ -22,7 +22,14 @@ import smtplib
import socket
import paramiko
-from cas.cas_subprocess import Popen, PIPE
+# want to use improved libraries for subprocess and shutil
+if sys.version_info[:2] < (2,6):
+ from cas.cas_subprocess import Popen, PIPE
+ import cas.cas_shutil as shutil
+else:
+ from subprocess import Popen, PIPE
+ import shutil
+
from datetime import datetime
from cas.network import Download, Executor, CasNetworkException
@@ -31,12 +38,8 @@ from cas.db import CasStorage, CasStorageException
from cas.util import UtilBase, Logging
from cas.rpmutils import RPMBase
-# shutil from python 2.6 includes several enhancements for our use
-# mainly in the _move_ method.
-import cas.cas_shutil as shutil
-
-if sys.version_info[:2] < (2,3):
- raise SystemExit("Python >= 2.3 required")
+if sys.version_info[:2] < (2,4):
+ raise SystemExit("Python >= 2.4 required")
# Configuration parsing of /etc/cas.conf
# TODO: rework config read to place all items
diff --git a/cas-admin b/cas-admin
index ca154a4..2b68d47 100755
--- a/cas-admin
+++ b/cas-admin
@@ -27,11 +27,16 @@ from cas.core import CoreBase
from cas.util import UtilBase, Logging
from cas.rpmutils import RPMBase
from cas.db import CasStorage, CasStorageException
-from cas.cas_subprocess import Popen, PIPE
-from cas.cas_shutil import rmtree
-if sys.version_info[:2] < (2,3):
- raise SystemExit("Python >= 2.3 required")
+if sys.version_info[:2] < (2,6):
+ from cas.cas_subprocess import Popen, PIPE
+ from cas.cas_shutil import rmtree
+else:
+ from subprocess import Popen, PIPE
+ from shutil import rmtree
+
+if sys.version_info[:2] < (2,4):
+ raise SystemExit("Python >= 2.4 required")
# Read in configuration
config = ConfigParser.ConfigParser()
diff --git a/cas.spec b/cas.spec
index 0f566db..6d5453f 100644
--- a/cas.spec
+++ b/cas.spec
@@ -51,6 +51,8 @@ rm -rf ${RPM_BUILD_ROOT}
%changelog
* Wed Dec 9 2009 Adam Stokes <ajs at redhat dot com> - 0.15-2
- Test for pbzip2 for utilizing multiple cores during decompression
+- Increment python requirement to 2.4
+- provide shutil, subprocess from 2.6 if on lower python version
* Thu Oct 15 2009 Adam Stokes <ajs at redhat dot com> - 0.15-1
- Require paramiko for all remote executions
diff --git a/doc/index.rst b/doc/index.rst
index 087eb68..07f91e5 100644
--- a/doc/index.rst
+++ b/doc/index.rst
@@ -25,8 +25,8 @@ types to core dumps are automatically detected and processed.
Prerequisites
^^^^^^^^^^^^^
-CAS needs at least **Python 2.3** to run. For systems that are not running
-Fedora 9 or later (this would include RHEL 4/5) the EPEL repo needs to be
+CAS needs at least **Python 2.4** to run. For systems that are not running
+Fedora 9 or later (this would include RHEL 5) the EPEL repo needs to be
installed. Visit `EPEL <https://fedoraproject.org/wiki/EPEL>`_ to enable
this repository.
14 years, 5 months
cas.conf cas.spec lib/cas
by Adam Stokes
cas.conf | 2 +-
cas.spec | 5 ++++-
lib/cas/core.py | 5 +++++
3 files changed, 10 insertions(+), 2 deletions(-)
New commits:
commit 49f9b9e232090b7b19ebd9b5f63fd16c63b7ba76
Author: adam stokes <astokes(a)fedoraproject.org>
Date: Wed Dec 9 13:50:02 2009 -0500
- test for pbzip2
diff --git a/cas.conf b/cas.conf
index dfba27e..bf71c63 100644
--- a/cas.conf
+++ b/cas.conf
@@ -30,7 +30,7 @@ rpmFilter=.*kerne.+-debuginfo-[0-9].*\.rpm
# NOTE: This is a temporary storage area for when
# cpio is run against an rpm and extract the debug kernel
# for a small amount of time. This could be something like
-# /tmp if space permitted
+# /home/cas/debugs if space permitted
debugs=/home/cas/debugs
# debug level (DEBUG, INFO)
diff --git a/cas.spec b/cas.spec
index 79e6aab..0f566db 100644
--- a/cas.spec
+++ b/cas.spec
@@ -3,7 +3,7 @@
Name: cas
Summary: Tool to analyze and configure core file environment
Version: 0.15
-Release: 1%{?dist}
+Release: 2%{?dist}
Source0: https://fedorahosted.org/releases/c/a/cas/%{name}-%{version}.tar.gz
License: GPLv3+
Group: Development/Libraries
@@ -49,6 +49,9 @@ rm -rf ${RPM_BUILD_ROOT}
%doc AUTHORS LICENSE README PKG-INFO doc/* contrib/*
%changelog
+* Wed Dec 9 2009 Adam Stokes <ajs at redhat dot com> - 0.15-2
+- Test for pbzip2 for utilizing multiple cores during decompression
+
* Thu Oct 15 2009 Adam Stokes <ajs at redhat dot com> - 0.15-1
- Require paramiko for all remote executions
- Rip out func code
diff --git a/lib/cas/core.py b/lib/cas/core.py
index d6a9bbe..9cf9080 100644
--- a/lib/cas/core.py
+++ b/lib/cas/core.py
@@ -30,6 +30,11 @@ class CoreBase(object):
"tbz" : ["tar", "xvjf"],
"bz2" : ["bunzip2", "-q"],
"zip" : ["unzip", "-f"]}
+ # overwrite bz2 item if pbzip2 exists for use of multiple cores
+ # during compression
+ if os.path.isfile("/usr/bin/pbzip2"):
+ suffix_map["bz2"] = ["pbzip2", "-d"]
+
def string(offset, match):
return data[offset:offset + len(match)] == match
14 years, 5 months