README | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++------
cas | 3 +-
lib/cas/core.py | 7 ------
version | 2 -
4 files changed, 56 insertions(+), 14 deletions(-)
New commits:
commit ce2402d04447ab8a3108e044f411357a1734768b
Author: Adam Stokes <ajs(a)redhat.com>
Date: Tue Dec 16 09:16:40 2008 -0500
- update README
- still deciding what to do about extracting of cores
for now when downloading cores from a remote site
it's all handled within the `cwd`. still need to
figure out how to handle gzip/bzip compressed files
when cas is ran against those outside of `cwd`.
diff --git a/README b/README
index b6d879f..df865b7 100644
--- a/README
+++ b/README
@@ -1,10 +1,56 @@
CAS.README
-* Alter /etc/cas.conf to suite your needs.
+* Other documentation check the wiki
http://fedorahosted.org/cas
-* Build your rpm database and server database with cas-admin -b and cas-admin -s
- (requires
http://fedorahosted.org/func for server process)
-
-* Grab kernel dump and run against cas, cas -i <id> -f corefile(.gz, tbz2, tgz,
etc)
+Requirements
-* Other documentation check the wiki
http://fedorahosted.org/cas
+/etc/cas.conf - This needs to be modified with your directory specifics.
+Comments in the conf file are pretty straight forward.
+
+A cas database needs to be prepared which houses all the build timestamps
+of the debug kernels you wish to use.
+
+As root run:
+
+# cas-admin -b
+
+Optional Requirements
+
+func - Please obtain this software from
http://fedorahosted.org/func - setup is
+a breeze and enables cas to do automated core processing on different machine
+for different architectures.
+
+If you have func installed and setup you may re-run cas-admin to populate
+your server database:
+
+# cas-admin -s
+
+Running CAS
+
+Once completed take a generated kernel dump and send it through cas:
+
+# cas -i <ID> -f vmcore -m username(a)example.com
+
+The vmcore may be in the form of http/ftp (e.g.
http://myhost.com/files/vmcore.tar.gz).
+
+The compression scheme for a vmcore should be in the form of one of the following:
+
+# tar cvzf vmcore.tar.gz vmcore
+# tar cvjf vmcore.tar.bz2 vmcore
+# gzip vmcore
+# bzip2 vmcore
+
+or you may pass it an uncompressed vmcore.
+
+Please do not _double compress_! For example, do not do a gzip vmcore,
+then a tar cvzf vmcore.tar.gz vmcore.gz as you will not gain anything
+from this. CAS will also fail to detect the decompression type.
+
+Once complete results should be emailed to the address specified or if
+processed locally should be prepared for you to do further analyzation
+within crash.
+
+If any problem occurs please check the log within
+/your/core/processed_dir/identifier/identifier.log
+
+Other documentation check the wiki
http://fedorahosted.org/cas
diff --git a/cas b/cas
index 7a81329..0e66cda 100755
--- a/cas
+++ b/cas
@@ -44,6 +44,7 @@ class CoreHandler(object):
def __init__(self, filename, dst, logger):
self.filename = filename
self.dst = dst
+ self.currentDirectory = os.path.realpath(os.curdir)
self.casLog = logger
self.tool = CoreBase()
@@ -53,7 +54,7 @@ class CoreHandler(object):
# filename is a url, process it with our download module
# this should return the the abspath to our processed directory
# and downloaded file
- self.filename = Download(self.filename, self.dst).get()
+ self.filename = Download(self.filename, self.currentDirectory).get()
if not os.path.isfile(self.filename):
# not a url in this case so tests for local existence
# TODO: add support to check remote hosts
diff --git a/lib/cas/core.py b/lib/cas/core.py
index b46af47..d3cd0db 100644
--- a/lib/cas/core.py
+++ b/lib/cas/core.py
@@ -26,7 +26,7 @@ class CoreBase(object):
"Return a good default Operation, judging by the first 300 bytes or
so."
suffix_map = { "tar" : ["tar", "xvf"],
"tgz" : ["tar", "xvzf"],
- "gz" : ["gunzip", "-qcd"],
+ "gz" : ["gunzip", "-q"],
"tbz" : ["tar", "xvjf"],
"bz2" : ["bunzip2", "-q"],
"zip" : ["unzip", "-f"]}
@@ -65,11 +65,6 @@ class CoreBase(object):
raise CoreException("Can not determine compression format.")
else:
format.append(self.filepath)
- # if gunzip in format we need to redirect to stdout
- # FIXME: this is stupid and ugly, gotta be a better way.
- if 'gunzip' in format[0]:
- format.append(">")
- format.append(os.path.join(self.dst,"vmcore"))
# TODO: figure out someway to print some status to the screen
# during extraction
# FIXME: failing to determine corefile after extraction, running
diff --git a/version b/version
index 9c81921..094b0d8 100644
--- a/version
+++ b/version
@@ -1 +1 @@
-0.13 106
+0.13 107