Branch 'devel' - overseer/command.py
by Adam Stokes
overseer/command.py | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
New commits:
commit 38839318610e70fa499645e9d12f6179d21699cf
Author: adam stokes <astokes(a)fedoraproject.org>
Date: Thu May 27 11:30:01 2010 -0400
conditional on status_query
diff --git a/overseer/command.py b/overseer/command.py
index fe50562..fa60728 100755
--- a/overseer/command.py
+++ b/overseer/command.py
@@ -102,10 +102,11 @@ class Root:
session = Session()
status_query = session.query(Job).filter_by(jobId=data['id']).first()
logfile_m = "Log started."
- logfile_path = str(status_query.path)
- if os.path.isfile(logfile_path):
- logfile = open(logfile_path)
- logfile_m = logfile.readlines()[-1].strip('\n')
+ if status_query:
+ logfile_path = str(status_query.path)
+ if os.path.isfile(logfile_path):
+ logfile = open(logfile_path)
+ logfile_m = logfile.readlines()[-1].strip('\n')
mytemplate = mylookup.get_template("status.html")
session.close()
13 years, 11 months
Branch 'devel' - cas.spec
by Adam Stokes
cas.spec | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
New commits:
commit e0e3c6018c8270ff37f652df6de6a68d32306db4
Author: adam stokes <astokes(a)fedoraproject.org>
Date: Thu May 27 10:15:07 2010 -0400
1.1 release
diff --git a/cas.spec b/cas.spec
index 6660ecd..efc6581 100644
--- a/cas.spec
+++ b/cas.spec
@@ -2,7 +2,7 @@
Name: cas
Summary: Tool to analyze and configure core file environment
-Version: 1.0
+Version: 1.1
Release: 0%{?dist}
Source0: https://fedorahosted.org/releases/c/a/cas/%{name}-%{version}.tar.gz
License: GPLv3+
@@ -93,6 +93,11 @@ fi
%config %{_initrddir}/cas-server
%changelog
+* Thu May 27 2010 Adam Stokes <ajs at redhat dot com> - 1.1
+- 1.1 release
+- Multiprocess debug query dependant on X number of cpu
+- Improved logging
+
* Tue May 20 2010 Adam Stokes <ajs at redhat dot com> - 1.0
- Create 1.0 release
13 years, 11 months
Branch 'devel' - cas.conf doc/genindex.html doc/index.html doc/objects.inv doc/search.html doc/searchindex.js doc/_sources README
by Adam Stokes
README | 470 +++++++++++++++++++++++++++++++++++++++++++++----
cas.conf | 2
doc/_sources/index.txt | 31 +++
doc/genindex.html | 10 -
doc/index.html | 39 +++-
doc/objects.inv | 2
doc/search.html | 10 -
doc/searchindex.js | 2
8 files changed, 515 insertions(+), 51 deletions(-)
New commits:
commit 9a512da1dd23bcb5e5b66e7be68e45a2c8a7eb44
Author: adam stokes <astokes(a)fedoraproject.org>
Date: Thu May 27 10:06:54 2010 -0400
doc updates
diff --git a/README b/README
index dc8ed76..c1fe7fa 100644
--- a/README
+++ b/README
@@ -1,49 +1,459 @@
-CAS.README
+.. CAS documentation master file, created by
+ sphinx-quickstart on Wed May 6 22:44:40 2009.
+ You can adapt this file completely to your liking, but it should at least
+ contain the root `toctree` directive.
-* Other documentation check the wiki http://fedorahosted.org/cas
+Core Analysis System
+====================
-Requirements
+:Author: Adam Stokes
+:Release: |release|
+:Date: |today|
-/etc/cas.conf - This needs to be modified with your directory specifics.
-Comments in the conf file are pretty straight forward.
+.. image:: cas_logo.png
-A cas database needs to be prepared which houses all the build timestamps
-of the debug kernels you wish to use.
+Overview
+--------
+CAS provides a user the ability to configure an environment for core analysis
+quickly. All the hassles of matching kernel versions and machine architecture
+types to core dumps are automatically detected and processed.
-As root run:
+Prerequisites
+^^^^^^^^^^^^^
-# cas-admin -b
+CAS needs at least **Python 2.6** to run. If running RHEL 6 it may require
+the EPEL repo to be installed. Visit `EPEL <https://fedoraproject.org/wiki/EPEL>`_
+to enable this repository.
-Build your server database:
+``Note``: It is assumed (and untested) to run in python 2.4/2.5 as long as the
+backported multiprocessing library is installed. Please
+see `Multiprocessing backport <http://pypi.python.org/pypi/multiprocessing>`_
-# cas-admin -s
+Other package requirements:
-Running CAS
+- python-urlgrabber
+- python-sqlalchemy
+- python-cherrypy
+- python-simplejson
+- python-mako
-Once completed take a generated kernel dump and send it through cas:
+The amount of storage needed can be determined base on the following
+information:
-# cas -i <ID> -f vmcore -m username(a)example.com
+- The number of kernel debug packages needed
+- How many core dumps will be processed.
-The vmcore may be in the form of http/ftp (e.g. http://myhost.com/files/vmcore.tar.gz).
+Typically it is recommended to have at least 1TB for cores and another 500GB for
+the debuginfo packages.
-The compression scheme for a vmcore should be in the form of one of the following:
+Since analyzing cores requires the same architecture specific systems the core
+was generated on there will need to be systems available of those same types
+in order for analyzation to work properly.
-# tar cvzf vmcore.tar.gz vmcore
-# tar cvjf vmcore.tar.bz2 vmcore
-# gzip vmcore
-# bzip2 vmcore
+.. _config-cas-conf:
-or you may pass it an uncompressed vmcore.
+Configuration - cas.conf
+^^^^^^^^^^^^^^^^^^^^^^^^
-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.
+CAS comes with one main configuration file which is located at ``/etc/cas.conf``.
+The overall contents of this file is shown below, further down we will break up
+each section and describe its meaning::
-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.
+ [settings]
+ casuser=root
+ sshkey=dss
+ kernels=/mnt/kernels
+ regexExcludeDir=*data*,*src*
+ # regexExcludeFile=*tmp*
+ regexType=posix-extended
+ rpmFilter=.*kerne.+-debuginfo-[0-9].*\.rpm
+ debugLevel=DEBUG
+ workDirectory=/cores/processed
+ smtphost=mail.example.com
+ database=/var/db/cas/cas.db
+ [maintenance]
+ purgeLimit=90
+ autoPurge=Yes
+ [advanced]
+ # crash_32=/usr/local/i386/crash
+ # buffersize=None
-If any problem occurs please check the log within
-/your/core/processed_dir/identifier/identifier.log
+``casuser``: (**Required**) User to run cas, recommended to run as someone other than root.
+
+``sshkey``: (**Required**) Used for ssh negotiation, these are generated with ``ssh-keygen``.
+
+``kernels``: (**Required**) Describes the location of where kernel-debuginfo packages are to be
+stored. This can range anywhere from an nfs mount, samba share, local disk or
+any other type of media the cas server can access.
+
+``regexExcludeDir``: Directories that may be within the search path that doesn't need to be
+included. This is a shell format so globs like ``*/*/data`` are accepted.
+
+``regexExcludeFile``: Any files that need to be excluded from the search path. This is also
+a shell format ``*/*/badfile.txt``.
+
+``regexType``: (**Required**) Defines the regex syntax to use within ``find``. Doing a
+``man find`` and searching for regextype will give you the allowable syntaxes.
+
+``rpmFilter``: (**Required**) This is a emacs based regular expression which is essentially
+passed to a find command to locate the various kernel-debuginfo packages defined
+in ``kernels`` directive.
+
+``debugLevel``: As the name suggest it will set the debug level for CAS output.
+Currently the only accepted values are ``DEBUG|INFO``.
+
+``workDirectory``: (**Required**) Defines where all processed cores will be placed. This mount
+point will need to have the most storage assigned to it. Depending on how many
+cores are processed in a given timeframe this area will fill up quickly.
+
+``smtphost``: If wanting output of CAS processing email to a certain address
+this directive needs to be set. ``Note`` that the mail server should not
+require smtp authentication.
+
+``database``: (**Required**) Define where the sqlite database will reside. ``Note`` the ``casuser``
+will need to have read/write access to this database.
+
+``purgeLimit``: Define amount of day(s) back wish to keep physical data on
+system.
+
+``autoPurge``: Yes/No setting if wanting cas-admin to auto purge stale data on
+each run.
+
+``crash_32``: Primarily used on x86_64 systems to process x86 cores. If x86
+version of crash is installed this directive can be set to the crash binary
+and CAS will automatically process x86 cores on a x86_64 machine. ``Note`` this
+is only available if the CAS server is a x86_64 machine.
+
+``buffersize``: Extend the read buffer when analyzing a core for a timestamp.
+``Note`` this is normally needed for itanium cores, otherwise, the default is
+fine.
+
+CAS - Overseer
+----------
+
+Description
+^^^^^^^^^^^
+``Package name``: `cas-server`
+
+Web user interface to the core analysis system that allows a user to process cores
+via http, ftp, or file protocols. Other features include ability to view a job's progress
+and if needed re-schedule that job.
+
+Configure & Execution
+^^^^^^^^^^^^^^^^^^^^^^^
+
+This should run `out of the box` by typing::
+
+ # service cas-server start
+
+It will load a self contained http server located at **http://localhost:8112**. If the port
+needs to be changed the `site.conf` is located ``/usr/share/cas/overseer/site.conf``. Under
+the [global] section change `server.socket_port` to an appropriate port.
+
+CAS - Administration
+--------------------
+
+Description
+^^^^^^^^^^^
+``Package``: `cas-admin`
+
+The administration application will build the necessary debug database in order
+to match coredumps with the proper debugging kernel. In addition, this application
+builds a list of accessible servers and their architecture for CAS to use in cases
+where the host system is not suitable to process the core.
+
+Configure & Execution
+^^^^^^^^^^^^^^^^^^^^^
+
+The following options need to be set appropriately in ``/etc/cas.conf``, see :ref:`config-cas-conf`.
+
+- kernels
+- rpmFilter
+
+Optionally:
+
+- regexExcludeFile
+- regexExcludeDir
+- regexType
+
+To populate the database run::
+
+ # cas-admin
+
+Once complete CAS will be able to match coredumps with kernel debugs.
+
+In order to query accessible CAS servers simply run::
+
+ # cas-admin --server
+
+If several systems are deployed for CAS to use, ssh keys must be setup between the host (CAS) and
+the clients::
+
+ (cas-server) $ ssh-keygen -t dsa
+ Cas supports passwordless entries at this time.
+ (cas-server) $ ssh-copy-id -i ~/.ssh/id_dsa casuser(a)cas-client-system.com
+
+Please note that in order for cas to function properly it is required that only the cas
+user on the system has only those entries in its ssh hostkey file that are accessible
+with cas. Cas will error with ``Authentication Failed`` and exit cleanly if it runs
+into any system that it can not communicate with.
+
+There are options to autopurge old/stale data, see :ref:`maintenance`
+
+CAS - Command Interface
+-----------------------
+
+Description
+^^^^^^^^^^^
+``Package``: `cas`
+
+The command line interface gives more flexibility to the administrator or user
+when analyzing a core. The interface is what is used by all CAS components when
+accessing anything core related.
+
+Execution
+^^^^^^^^^
+
+CAS prepares its directory hierarchy based on the ``identifier`` this option is
+therefore required. ``filename`` is also required as it tells CAS exactly which
+core to process and associate with ``identifier``. If wanting email results from
+CAS simply pass it the email parameter.
+
+An example, of a user wanting to process a corefile named ``vmcore.12345``::
+
+ $ cas -i 12345 -f vmcore.12345 -e user(a)cas-server.com --job 1
+
+In the above example an assumption is made that ``12345`` is associated to some
+form of ticketing system so to keep things organized an identifier was set of
+that number along with the ``job`` to be processed.
+
+The directory hierarchy for the current job should look like ``/cores/1/datetime``.
+In addition to the processing of core files there is also a ``job.log`` contained
+within this directory for each job processed. If multiple jobs for the same identifier
+are issued they are placed within a sub directory marked by the current timestamp
+and the relevant data associated with it.
+
+The last option worth mentioning is for core analyst who are needing to work
+within the core that requires one of the kernel modules loaded during the crash.
+This can be extracted by passing the ``modules`` parameter in the CAS execution
+statement. ``Note`` the ``modules`` parameter is not heavily used but can be
+useful when analyzing filesystem issues and the like.
+
+From this point on CAS will download, process, and email the results of its
+initial analysis to the specified email address. From there further instructions
+are provided in either the email or the ``job.log`` on how to access and analyze
+the core.
+
+.. _maintenance:
+
+Maintenance
+===========
+
+Purging data
+------------
+It is possible to purge old data to help with keeping storage capacity under control. The default
+purge days is 90, however, this can be altered with the command::
+
+ # cas-admin -p -d 180
+
+The above will then only purge data older than 180 days.
+
+Another possibility is to set the ``purgeLimit`` within the configuration file.
+
+Additional Tips
+===============
+
+Compressing Cores
+-----------------
+
+To compress a file using ``xz`` run::
+
+ $ cas -f vmcore --compress
+
+Proxying cas-server through Apache
+----------------------------------
+
+Proxy **cas-server** through apache a vhost needs to be setup::
+
+ NameVirtualHost *:80
+
+ <VirtualHost *:80>
+ ServerAdmin casadmin(a)mydomain.com
+ DocumentRoot /var/www/cas
+ ServerName cas.mydomain.com
+ ErrorLog logs/cas-error_log
+ CustomLog logs/cas-access_log common
+
+ <IfModule mod_proxy.c>
+ ProxyRequests On
+ ProxyPass / http://127.0.0.1:8112/
+ ProxyPassReverse / http://127.0.0.1:8112/
+ </IfModule>
+ </VirtualHost>
+
+``Note``: If running with SELinux enabled a problem may arise with permission
+denied when accessing localhost through the proxy. To fix this issue run::
+
+ $ setsebool httpd_can_network_connect 1
+
+
+Analyzing
+---------
+
+Continuing with the previous example the results of CAS processing should be emailed
+and look something similar to::
+
+ Subject: CAS results for 1
+ Date: Tue, 06 May 2009 08:41:20 -0500
+
+ Location: Location: /cores/1/2009.05.06.08.41.20
+ Server: x86_64.cas-server.com
+ Output data:
+ PID: 0 TASK: ffffffff803e9b80 CPU: 0 COMMAND: "swapper"
+ #0 [ffffffff8047a0a0] smp_call_function_interrupt at ffffffff8011d191
+ #1 [ffffffff8047a0b0] call_function_interrupt at ffffffff80110bf5
+ --- <IRQ stack> ---
+ #2 [ffffffff80529f08] call_function_interrupt at ffffffff80110bf5
+ [exception RIP: default_idle+32]
+ RIP: ffffffff8010e7a9 RSP: ffffffff80529fb8 RFLAGS: 00000246
+ RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000018
+ RDX: ffffffff8010e789 RSI: ffffffff803e9b80 RDI: 0000010008001780
+ RBP: 0000000000000000 R8: ffffffff80528000 R9: 0000000000000080
+ R10: 0000000000000100 R11: 0000000000000004 R12: 0000000000000000
+ R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
+ ORIG_RAX: fffffffffffffffa CS: 0010 SS: 0018
+ #3 [ffffffff80529fb8] cpu_idle at ffffffff8010e81c
+
+ PID: 0 TASK: 100f57cb030 CPU: 1 COMMAND: "swapper"
+ #0 [1000107bfa0] smp_call_function_interrupt at ffffffff8011d191
+ #1 [1000107bfb0] call_function_interrupt at ffffffff80110bf5
+ --- <IRQ stack> ---
+ #2 [10001073e98] call_function_interrupt at ffffffff80110bf5
+ [exception RIP: default_idle+32]
+ RIP: ffffffff8010e7a9 RSP: 0000010001073f48 RFLAGS: 00000246
+ RAX: 0000000000000000 RBX: 0000000000000e86 RCX: 0000000000000018
+ RDX: ffffffff8010e789 RSI: 00000100f57cb030 RDI: 00000102000a4780
+ RBP: 0000000000000001 R8: 0000010001072000 R9: 0000000000000040
+ R10: 0000000000000000 R11: 0000000000000008 R12: 0000000000000000
+ R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
+ ORIG_RAX: fffffffffffffffa CS: 0010 SS: 0018
+ #3 [10001073f48] cpu_idle at ffffffff8010e81c
+
+ PID: 6122 TASK: 101f3658030 CPU: 2 COMMAND: "gfs_quotad"
+ #0 [101f21efb20] start_disk_dump at ffffffffa03183ff
+ #1 [101f21efb50] try_crashdump at ffffffff8014cc1d
+ #2 [101f21efb60] die at ffffffff80111c90
+ #3 [101f21efb80] do_invalid_op at ffffffff80112058
+ #4 [101f21efc40] error_exit at ffffffff80110e1d
+ [exception RIP: do_dlm_lock+366]
+
+ ... snip ...
+
+From this email a ``location`` is provided ``Location: /cores/1/2009.05.06.08.41.20``
+and the server in which further analyzation can be continued ``x86_64.cas-server.com``.
+
+Normally from a support perspective this email should contain enough information
+for a kernel engineer to begin debugging the problem. Assuming more is needed
+the information provided previously will prove beneficial for anyone wishing
+to access this data.
+
+Logging into the stated server and changing into the directory defined several
+files are presented::
+
+ $ pwd
+ Location: /cores/1/2009.05.06.08.41.20
+ $ ls
+ 1.log crash crash.in crash.out usr vmcore.12345 log memory modules sys traceback
+
+``1.log``: contains any informational messages presented during the processing
+of the core. Everything from informational to debug statements are provided here.
+
+``crash``: a script autogenerated to provide an automated way of gathering intial
+data from the coredump. ``Note`` if wanting to use this crash wrapper in a more
+manual approach some alterations to the script need to occur.
+
+crash wrapper in its original form::
+
+ #!/bin/sh
+ /usr/bin/crash \
+ /cores/1/2009.05.06.08.41.20/vmcore.12345 \
+ usr/*/*/*/*/2.6.9*largesmp/vmlinux $*
+
+``Note`` Running the crash wrapper manually will result in an interactive instance.
+
+**Alternative to using the crash wrapper**
+
+It is possible to specify the vmlinux and corefile with crash on the command line::
+
+ $ crash /cores/1/2009.05.06.08.41.20/usr/*/*/*/*/2.6.9*largesmp/vmlinux \
+ /cores/1/2009.05.06.08.41.20/vmcore.12345
+
+``crash.in``: a list of commands to be read into crash during the automated
+analysis::
+
+ bt >> traceback
+ bt -a >> traceback
+ sys >> sys
+ sys -c >> sys
+ log >> log
+ mod >> modules
+ kmem >> memory
+ kmem -f >> memory
+ exit
+
+This can be extended by adding more snippets into ``/var/lib/cas/snippets``. Please see
+that directory for examples.
+
+``crash.out``: output of initial crash analysis and the same data which
+is sent in an email if defined.
+
+``usr``: directory structure from the extraction of the vmlinux file
+from the associated kernel-debuginfo rpm for use within crash::
+
+ /cores/1/2009.05.06.08.41.20/
+ usr/lib/debug/lib/modules/2.6.9-78.18.ELlargesmp/vmlinux
+
+``vmcore.12345``: corefile from which was either defined or extracted from
+a compressed archive during CAS initialization.
+
+Troubleshooting
+---------------
+
+Some of the major problems that arise when using CAS usually boils down to some
+improper usage of the compression and archiving tools.
+
+When compressing a core which may need to be sent over the network to a CAS server
+one of the proper ways to do so is::
+
+ $ tar cvjf vmcore.12345.tar.bz2 vmcore.12345
+
+Other various ways of compressing archive are as follows::
+
+ $ tar cvzf vmcore.tar.gz vmcore
+ $ gzip vmcore
+ $ bzip2 vmcore
+ $ xz vmcore
+
+``Note``: please do not double compress or CAS will fail.
+
+Another issue, which isn't primarily a fault of CAS, are
+incomplete or corrupted cores. If either of these occur
+there is a chance that CAS will not be able to process
+the data needed to associate a debug kernel or do any
+sort of automated analysis. Unfortunately, there is not
+much that can be done to resolve these sort of issues
+other than verifying that the process which happens when
+a system coredump and when that dump reaches the
+system specified for retrieval is solid and are seeing
+no errors.
+
+
+Resources
+=========
+
+* `CAS Wiki <http://fedorahosted.org/cas>`_
+* `CAS FAQ <https://fedorahosted.org/cas/wiki/CasFAQ>`_
+* `Mailing list <https://fedorahosted.org/mailman/listinfo/cas>`_
+* `Upstream releases <https://fedorahosted.org/releases/c/a/cas/>`_
+* Checkout latest from Git, ``git clone git://git.fedorahosted.org/cas.git``
-Other documentation check the wiki http://fedorahosted.org/cas
diff --git a/cas.conf b/cas.conf
index b692b71..18df098 100644
--- a/cas.conf
+++ b/cas.conf
@@ -48,7 +48,7 @@ workDirectory=/cores
smtphost=mail.example.com
# database connection info
-database=/var/tmp/cas.db
+database=/var/db/cas.db
# send notifications automatically
notify=True
diff --git a/doc/_sources/index.txt b/doc/_sources/index.txt
index 5e72f86..dd33e7d 100644
--- a/doc/_sources/index.txt
+++ b/doc/_sources/index.txt
@@ -264,11 +264,39 @@ Additional Tips
===============
Compressing Cores
-----------------
+-----------------
+
To compress a file using ``xz`` run::
$ cas -f vmcore --compress
+Proxying cas-server through Apache
+----------------------------------
+
+Proxy **cas-server** through apache a vhost needs to be setup::
+
+ NameVirtualHost *:80
+
+ <VirtualHost *:80>
+ ServerAdmin casadmin(a)mydomain.com
+ DocumentRoot /var/www/cas
+ ServerName cas.mydomain.com
+ ErrorLog logs/cas-error_log
+ CustomLog logs/cas-access_log common
+
+ <IfModule mod_proxy.c>
+ ProxyRequests On
+ ProxyPass / http://127.0.0.1:8112/
+ ProxyPassReverse / http://127.0.0.1:8112/
+ </IfModule>
+ </VirtualHost>
+
+``Note``: If running with SELinux enabled a problem may arise with permission
+denied when accessing localhost through the proxy. To fix this issue run::
+
+ $ setsebool httpd_can_network_connect 1
+
+
Analyzing
---------
@@ -419,6 +447,7 @@ a system coredump and when that dump reaches the
system specified for retrieval is solid and are seeing
no errors.
+
Resources
=========
diff --git a/doc/genindex.html b/doc/genindex.html
index e5987d5..a5fa227 100644
--- a/doc/genindex.html
+++ b/doc/genindex.html
@@ -5,13 +5,13 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Index — CAS v1.0 documentation</title>
+ <title>Index — CAS v1.1 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">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '#',
- VERSION: '1.0',
+ VERSION: '1.1',
COLLAPSE_MODINDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@@ -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 v1.0 documentation" href="index.html" />
+ <link rel="top" title="CAS v1.1 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 v1.0 documentation</a> »</li>
+ <li><a href="index.html">CAS v1.1 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 v1.0 documentation</a> »</li>
+ <li><a href="index.html">CAS v1.1 documentation</a> »</li>
</ul>
</div>
<div class="footer">
diff --git a/doc/index.html b/doc/index.html
index 2e8ee32..fbb25aa 100644
--- a/doc/index.html
+++ b/doc/index.html
@@ -5,13 +5,13 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Core Analysis System — CAS v1.0 documentation</title>
+ <title>Core Analysis System — CAS v1.1 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">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '#',
- VERSION: '1.0',
+ VERSION: '1.1',
COLLAPSE_MODINDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@@ -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 v1.0 documentation" href="#" />
+ <link rel="top" title="CAS v1.1 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 v1.0 documentation</a> »</li>
+ <li><a href="#">CAS v1.1 documentation</a> »</li>
</ul>
</div>
@@ -45,9 +45,9 @@
<tbody valign="top">
<tr class="field"><th class="field-name">Author:</th><td class="field-body">Adam Stokes</td>
</tr>
-<tr class="field"><th class="field-name">Release:</th><td class="field-body">1.0</td>
+<tr class="field"><th class="field-name">Release:</th><td class="field-body">1.1</td>
</tr>
-<tr class="field"><th class="field-name">Date:</th><td class="field-body">May 21, 2010</td>
+<tr class="field"><th class="field-name">Date:</th><td class="field-body">May 27, 2010</td>
</tr>
</tbody>
</table>
@@ -270,6 +270,30 @@ purge days is 90, however, this can be altered with the command:</p>
<div class="highlight-python"><pre>$ cas -f vmcore --compress</pre>
</div>
</div>
+<div class="section" id="proxying-cas-server-through-apache">
+<h2>Proxying cas-server through Apache<a class="headerlink" href="#proxying-cas-server-through-apache" title="Permalink to this headline">¶</a></h2>
+<p>Proxy <strong>cas-server</strong> through apache a vhost needs to be setup:</p>
+<div class="highlight-python"><pre>NameVirtualHost *:80
+
+<VirtualHost *:80>
+ ServerAdmin casadmin(a)mydomain.com
+ DocumentRoot /var/www/cas
+ ServerName cas.mydomain.com
+ ErrorLog logs/cas-error_log
+ CustomLog logs/cas-access_log common
+
+ <IfModule mod_proxy.c>
+ ProxyRequests On
+ ProxyPass / http://127.0.0.1:8112/
+ ProxyPassReverse / http://127.0.0.1:8112/
+ </IfModule>
+</VirtualHost></pre>
+</div>
+<p><tt class="docutils literal"><span class="pre">Note</span></tt>: If running with SELinux enabled a problem may arise with permission
+denied when accessing localhost through the proxy. To fix this issue run:</p>
+<div class="highlight-python"><pre>$ setsebool httpd_can_network_connect 1</pre>
+</div>
+</div>
<div class="section" id="analyzing">
<h2>Analyzing<a class="headerlink" href="#analyzing" title="Permalink to this headline">¶</a></h2>
<p>Continuing with the previous example the results of CAS processing should be emailed
@@ -450,6 +474,7 @@ no errors.</p>
</li>
<li><a class="reference external" href="#additional-tips">Additional Tips</a><ul>
<li><a class="reference external" href="#compressing-cores">Compressing Cores</a></li>
+<li><a class="reference external" href="#proxying-cas-server-through-apache">Proxying cas-server through Apache</a></li>
<li><a class="reference external" href="#analyzing">Analyzing</a></li>
<li><a class="reference external" href="#troubleshooting">Troubleshooting</a></li>
</ul>
@@ -485,7 +510,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 v1.0 documentation</a> »</li>
+ <li><a href="#">CAS v1.1 documentation</a> »</li>
</ul>
</div>
<div class="footer">
diff --git a/doc/objects.inv b/doc/objects.inv
index 0540417..1aedcb9 100644
--- a/doc/objects.inv
+++ b/doc/objects.inv
@@ -1,3 +1,3 @@
# Sphinx inventory version 1
# Project: CAS
-# Version: 1.0
+# Version: 1.1
diff --git a/doc/search.html b/doc/search.html
index 228ae2b..d7e3692 100644
--- a/doc/search.html
+++ b/doc/search.html
@@ -5,13 +5,13 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Search — CAS v1.0 documentation</title>
+ <title>Search — CAS v1.1 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">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '#',
- VERSION: '1.0',
+ VERSION: '1.1',
COLLAPSE_MODINDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@@ -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 v1.0 documentation" href="index.html" />
+ <link rel="top" title="CAS v1.1 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 v1.0 documentation</a> »</li>
+ <li><a href="index.html">CAS v1.1 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 v1.0 documentation</a> »</li>
+ <li><a href="index.html">CAS v1.1 documentation</a> »</li>
</ul>
</div>
diff --git a/doc/searchindex.js b/doc/searchindex.js
index e9fe264..a363f87 100644
--- a/doc/searchindex.js
+++ b/doc/searchindex.js
@@ -1 +1 @@
-Search.setIndex({desctypes:{},terms:{all:0,queri:0,global:0,mnt:0,ffffffff8011d191:0,snip:0,abil:0,regexexcludedir:0,disk:0,depend:0,wish:0,do_dlm_lock:0,those:0,under: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,ticket:0,relev:0,administr:0,level:0,die:0,list:0,form:0,prepar:0,pleas:0,x86_64:0,core:0,direct:0,follow:0,download:0,further:0,keygen:0,port:0,what:0,sub:0,section:0,abl:0,access:0,version:0,hostkei:0,autogener:0,gener:0,here:0,address:0,path:0,along:0,sinc:0,valu:0,ffffffff80110bf5:0,box:0,search:0,rdx:0,later:[],datetim:0,amount:0,typic:0,rdi:0,smp_call_function_interrupt:0,chanc:0,"0000010001073f48":0,via:0,repositori:0,modul:0,prefer:[],crash_32:0,filenam:0,id_dsa:0,instal:0,txt:0,regex:0,from:0,describ:0,would:[],memori:0,doubl:0,visit:0,two:[],next:[],few:[],usr:0,recommend:0,type:0,tell:0,more:0,sort:0,wrapper:0,share:0,relat:0,ffffffff803e9b80:0,"1tb":0,must:0,syntaxess:[],none:0,retriev:0,hous:[],setup:0,work:0,uniqu:[],can:0,root:0,control:0,regexexcludefil:0,sqlite:0,conf:0,tar:0,give:0,process:0,smtp:0,accept:0,want:0,unfortun:0,occur:0,multipl:0,anoth:0,write:0,how:0,error_exit:0,purg:0,opt:[],verifi:0,negoti:0,perspect:0,ffffffff80528000:0,resourc:0,passwordless:0,"00000102000a4780":0,clone:0,reflect:[],date:0,data:0,physic:0,man:0,essenti:0,exclud:0,issu:0,inform:0,environ:0,allow:0,suggest:0,untest:0,order:0,help:0,over:0,major:0,i386:0,through:[],hierarchi:0,flexibl:0,paramet:0,snippet:0,"100f57cb030":0,requir: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:[],introduct:[],multiprocess:0,name:0,anyth:0,edit:[],troubleshoot:0,authent:0,kern:0,each:0,debug:0,mean:0,mai:0,continu:0,backport:0,happen:0,extract:0,buffers:0,out:0,ftp:0,shown:0,network:0,ffffffff8014cc1d:0,dss:0,content:0,suitabl: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:[],isn:0,assign:0,first:[],origin:0,rang:0,onc:0,number:0,capac:0,swapper:0,instruct:0,done:0,least:0,rflag:0,differ:[],script:0,associ:0,interact:0,system:0,messag:0,attach:[],ffffffff80112058:0,statement:0,ffffffff8047a0a0:0,"final":[],boil:0,editor:[],shell:0,option:0,debuginfo:0,tool:0,copi:0,specifi:0,hassl:0,appropri:0,exactli:0,rsp:0,than:0,provid:0,urlgrabb:0,"10001073e98":0,emac:0,structur:0,posix:0,store:0,stale:0,"function":0,badfil:0,pass:0,ani:0,fail:0,have:0,need:0,"101f3658030":0,rax:0,rsi:0,packag:0,engin:0,bz2:0,lib:0,self:0,note:0,also:0,client:0,build:0,which:0,begin:0,normal:0,buffer:0,glob:0,previou:0,compress:0,most:0,regular:0,deploi:0,"101f21efb80":0,gather:0,place:0,determin:0,irq:0,usual:0,show:[],text:[],syntax:0,identifi:0,fine:0,find:0,current:0,onli:0,locat:0,configur:0,solut:[],state:0,should:0,analyz:0,local:0,variou:0,cvjf:0,express:0,autom:0,repo:0,mainten:0,ssh:0,ellargesmp:0,enabl:0,organ:0,cleanli:0,contain:0,where:0,view:0,wiki:0,kernel:0,set:0,dump:0,"10001073f48":0,see:0,result:0,arg:[],corrupt:0,subject:0,ffffffffa03183ff:0,detect:0,purgelimit:0,kei:0,databas:0,someth:0,enough:0,between:0,progress:0,approach:0,email:0,altern:0,assumpt:0,extend:0,cpu_idl:0,default_idl:0,job:0,come:0,tue:0,addit:0,last:0,admin:0,fault:0,howev:0,etc:0,instanc:0,mani:0,com:0,improp:0,load:0,simpli:0,point:0,overview:0,framework:[],"1000107bfb0":0,rpm:0,casus:0,coredump:0,been:[],mark:0,compon:0,much:0,sshkei:0,popul:0,quickli:0,largesmp:0,anywher:0,try_crashdump:0,"0000000000000e86":0,socket_port:0,present:0,"case":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,site:0,rip:0,destin:[],call_function_interrupt:0,archiv:0,uncom:[],cherrypi:0,fedorahost:0,sever:0,mako:0,fedora:[],author:0,media:0,same:0,binari:0,timestamp:0,complet:0,http:0,x86:0,someon:0,temporari:[],user:0,"500gb":0,overs:0,stack:0,task:0,older:0,entri:0,do_invalid_op:0,exampl:0,command:0,thi:0,filesystem:0,gzip:0,everyth:0,latest:0,regextyp:0,protocol:0,execut:0,tip:0,workdirectori:0,heavili:0,previous:0,web:0,samba:0,except:0,valid:[],schedul:0,match:0,bin:0,applic:0,format: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:[],necessari:0,either:0,"101f21efb60":0,"101f21efc40":0,output:0,page:[],old:0,some:0,back:0,gfs_quotad:0,proper:0,librari:0,tmp:0,assum:0,ffffffff80529f08:0,exit:0,localhost:0,machin:0,intial:0,who:0,run:0,reach:0,usag:0,host:0,prerequisit:0,src:0,prove:0,unnecessari:[],primarili:0,within:0,automat:0,down:0,"101f21efb50":0,strip:[],chang:0,start_disk_dump:0,storag:0,git:0,rcx:0,log:0,wai:0,area:0,transfer:[],support:0,question:[],"long":0,avail:0,interfac:0,includ:0,suit:[],"var":0,rhel:0,analysi:0,properli:0,simplejson:0,pwd:0,sqlalchemi:0,link:[],line:0,analyst:0,info:0,commun:0,made:0,possibl:0,"default":0,checkout:0,below:0,ffffffff80111c90:0,otherwis:0,problem:0,similar:0,epel:0,featur:0,certain:0,dure:0,pid:0,doesn:0,incomplet:0,exist:[],file:0,cvzf:0,fill:0,bzip2:0,"00000100f57cb030":0,when:0,workhors:[],other:0,ffffffff8010e7a9:0,you: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,queri:0,global:0,mnt:0,mydomain:0,ffffffff8011d191:0,snip:0,abil:0,follow:0,disk:0,depend:0,do_dlm_lock:0,descript:0,present:0,under:0,aris:0,worth:0,sent:0,namevirtualhost:0,r14:0,r15:0,r12:0,r13:0,r10:0,r11:0,faq: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,regexexcludedir:0,download:0,further:0,rbp:0,port:0,what:0,sub:0,section:0,abl:0,access:0,version:0,hostkei:0,autogener:0,gener:0,here:0,httpd_can_network_connect:0,serveradmin:0,address:0,path:0,along:0,sinc:0,valu:0,ffffffff80110bf5:0,box:0,search:0,errorlog:0,rdx:0,datetim:0,amount:0,typic:0,rdi:0,smp_call_function_interrupt:0,chanc:0,"0000010001073f48":0,via:0,prerequisit:0,solut:[],modul:0,prefer:[],crash_32:0,filenam:0,id_dsa:0,instal:0,txt:0,regex:0,from:0,describ:0,would:[],memori:0,doubl:0,visit:0,two:[],next:[],few:[],usr:0,recommend:0,type:0,tell:0,more:0,sort:0,wrapper:0,share:0,proxypass:0,relat:0,ffffffff803e9b80:0,"1tb":0,must:0,syntaxess:[],none:0,retriev:0,hous:[],setup:0,work:0,uniqu:[],can:0,root:0,control:0,regexexcludefil:0,sqlite:0,cherrypi:0,tar:0,give:0,process:0,smtp:0,accept:0,customlog: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:[],access_log:0,mai:0,associ:0,physic:0,man:0,essenti:0,exclud:0,issu:0,inform:0,environ:0,allow:0,media:0,untest:0,order:0,help:0,over:0,rang:0,i386:0,through:0,hierarchi:0,flexibl:0,paramet:0,write:0,"100f57cb030":0,fix: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:[],introduct:[],multiprocess:0,name:0,anyth:0,edit:[],troubleshoot:0,authent:0,kern:0,each:0,debug:0,mean:0,continu:0,backport:0,happen:0,extract:0,buffers:0,out:0,ftp:0,shown:0,network:0,ffffffff8014cc1d:0,dss:0,content:0,suitabl:0,fffffffffffffffa:0,dsa:0,proxi: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:[],isn:0,assign:0,first:[],origin:0,major:0,onc:0,number:0,capac:0,swapper:0,instruct:0,done:0,least:0,rflag:0,differ:[],script:0,data:0,interact:0,ifmodul:0,system:0,messag:0,attach:[],ffffffff80112058:0,statement:0,ffffffff8047a0a0:0,"final":[],store:0,includ:0,shell:0,option:0,debuginfo:0,tool:0,copi:0,specifi:0,"var":0,task:0,mod_proxi:0,checkout:0,exactli:0,rsp:0,than:0,provid:0,urlgrabb:0,older:0,see:0,structur:0,posix:0,boil:0,stale:0,analysi:0,badfil:0,pass:0,ani:0,packag:0,have:0,documentroot:0,need:0,"101f3658030":0,rax:0,rsi:0,date:0,bz2:0,lib:0,self:0,note:0,also:0,exampl:0,build:0,which:0,begin:0,normal:0,buffer:0,glob:0,previou:0,compress:0,most:0,regular:0,deploi:0,"101f21efb80":0,gather:0,deni:0,place:0,determin:0,databas:0,latest:0,show:[],text:[],syntax:0,permiss:0,protocol:0,fine:0,find:0,current:0,onli:0,locat:0,configur:0,apach:0,enough:0,should:0,analyz:0,casadmin:0,local:0,variou:0,cvjf:0,express:0,autom:0,repo:0,mainten:0,ssh:0,requir:0,enabl:0,organ:0,error_log:0,cleanli:0,common:0,contain:0,where:0,view:0,wiki:0,kernel:0,set:0,dump:0,"10001073f48":0,emac:0,result:0,arg:[],fail:0,setsebool:0,subject:0,ffffffffa03183ff:0,detect:0,purgelimit:0,extend:0,irq:0,someth:0,state:0,between:0,progress: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,howev:0,etc:0,instanc:0,mani:0,corrupt:0,com:0,improp:0,load:0,simpli:0,point:0,overview:0,featur:0,framework:[],"1000107bfb0":0,rpm:0,casus:0,coredump:0,been:[],mark:0,compon:0,much:0,sshkei:0,popul:0,quickli:0,largesmp:0,anywher:0,try_crashdump:0,"0000000000000e86":0,socket_port:0,those:0,"case":0,therefor:0,look:0,rbx:0,solid:0,mount:0,keygen:0,defin:0,abov:0,error:0,exist:[],"101f21efb20":0,ffffffff8047a0b0:0,timefram:0,site:0,rip:0,destin:[],call_function_interrupt:0,archiv:0,uncom:[],conf:0,fedorahost:0,sever:0,mako:0,fedora:[],author:0,suggest:0,same:0,binari:0,timestamp:0,complet:0,http:0,x86:0,someon:0,temporari:[],user:0,"500gb":0,engin:0,overs:0,stack:0,appropri:0,"10001073e98":0,entri:0,do_invalid_op:0,page:[],client:0,command:0,thi:0,filesystem:0,gzip:0,everyth:0,usual:0,regextyp:0,identifi:0,execut:0,when:0,workdirectori:0,heavili:0,previous:0,web:0,samba:0,except:0,other:0,simplejson:0,schedul:0,match:0,opt:[],applic:0,format: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:[],necessari:0,either:0,"101f21efb60":0,"101f21efc40":0,output:0,unnecessari:[],www:0,old:0,some:0,back:0,gfs_quotad:0,proper:0,librari:0,tmp:0,assum:0,ffffffff80529f08:0,exit:0,localhost:0,proxypassrevers:0,machin:0,core:0,who:0,run:0,reach:0,proxyrequest:0,usag:0,vhost:0,host:0,repositori:0,src:0,prove:0,unfortun:0,primarili:0,within:0,automat:0,down:0,"101f21efb50":0,strip:[],chang:0,start_disk_dump:0,storag:0,git:0,rcx:0,log:0,wai:0,area:0,transfer:[],support:0,question:[],"long":0,avail:0,interfac:0,editor:[],suit:[],hassl:0,rhel:0,"function":0,properli:0,form:0,pwd:0,sqlalchemi:0,link:[],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:[],certain:0,dure:0,pid:0,doesn:0,incomplet:0,selinux:0,file:0,cvzf:0,fill:0,bzip2:0,"00000100f57cb030":0,tip:0,workhors:[],valid:[],ffffffff8010e7a9:0,you:0,servernam:0,architectur:0,corefil:0,benefici:0,autopurg:0,ffffffff80529fb8:0,stoke:0,directori:0,virtualhost: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
13 years, 11 months
Branch 'devel' - doc/index.rst
by Adam Stokes
doc/index.rst | 31 ++++++++++++++++++++++++++++++-
1 file changed, 30 insertions(+), 1 deletion(-)
New commits:
commit 4aa7b30ab8378615682d6818e98fcbedb08e0a9c
Author: adam stokes <astokes(a)fedoraproject.org>
Date: Wed May 26 13:10:36 2010 -0400
updated tips on running through apache proxy
diff --git a/doc/index.rst b/doc/index.rst
index 5e72f86..dd33e7d 100644
--- a/doc/index.rst
+++ b/doc/index.rst
@@ -264,11 +264,39 @@ Additional Tips
===============
Compressing Cores
-----------------
+-----------------
+
To compress a file using ``xz`` run::
$ cas -f vmcore --compress
+Proxying cas-server through Apache
+----------------------------------
+
+Proxy **cas-server** through apache a vhost needs to be setup::
+
+ NameVirtualHost *:80
+
+ <VirtualHost *:80>
+ ServerAdmin casadmin(a)mydomain.com
+ DocumentRoot /var/www/cas
+ ServerName cas.mydomain.com
+ ErrorLog logs/cas-error_log
+ CustomLog logs/cas-access_log common
+
+ <IfModule mod_proxy.c>
+ ProxyRequests On
+ ProxyPass / http://127.0.0.1:8112/
+ ProxyPassReverse / http://127.0.0.1:8112/
+ </IfModule>
+ </VirtualHost>
+
+``Note``: If running with SELinux enabled a problem may arise with permission
+denied when accessing localhost through the proxy. To fix this issue run::
+
+ $ setsebool httpd_can_network_connect 1
+
+
Analyzing
---------
@@ -419,6 +447,7 @@ a system coredump and when that dump reaches the
system specified for retrieval is solid and are seeing
no errors.
+
Resources
=========
13 years, 11 months
Branch 'devel' - cas-server startup/cas-server
by Adam Stokes
cas-server | 2 +-
startup/cas-server | 51 ++++++++++++++++++---------------------------------
2 files changed, 19 insertions(+), 34 deletions(-)
New commits:
commit ae48b20c63030551a58643c00e18eb130a92e6f2
Author: adam stokes <astokes(a)fedoraproject.org>
Date: Tue May 25 17:49:58 2010 -0400
initscripts working
diff --git a/cas-server b/cas-server
index 5d84b8b..d77ed8d 100755
--- a/cas-server
+++ b/cas-server
@@ -1,3 +1,3 @@
#!/bin/sh
-exec python "/usr/share/cas/overseer/command.py" "$@"
+python "/usr/share/cas/overseer/command.py"
diff --git a/startup/cas-server b/startup/cas-server
index ab420ca..deb1ee8 100755
--- a/startup/cas-server
+++ b/startup/cas-server
@@ -1,6 +1,6 @@
#!/bin/sh
# -*- mode: sh; -*-
-# cas-server Start/Stop the cas-server.
+# cas-server Start/Stop the cas-server.
#
# chkconfig: 2345 90 60
# description: cas-server is the web frontend to CAS ( core analysis system )
@@ -25,27 +25,21 @@ prog="cas-server"
[ -f /etc/cas.conf ] || exit 0
# bin
-SERVER="/usr/share/cas/overseer/command.py"
-LOCK_FILE="/var/lock/subsys/cas-server"
+SERVER=/usr/share/cas/overseer/command.py
+LOCK_FILE=/var/lock/subsys/cas-server
RETVAL=0
-start () {
+start() {
echo -n "Starting $prog: "
- status -p $LOCK_FILE $SERVER &> /dev/null
- STATUS=$?
- if [ $STATUS -eq 0 ]; then
- echo -n "Cas server already running."
- echo_failure
- RETVAL=0
+ daemon $SERVER 2> /dev/null
+ RETVAL=$?
+ if [ $RETVAL -eq 0 ]; then
+ success
else
- if [ $STATUS -eq 1 ]; then
- echo -n "Stray lockfile, removing."
- rm -f $LOCK_FILE
- fi
- daemon $SERVER
- RETVAL=$?
+ failure
fi
+ echo
}
stop() {
@@ -53,24 +47,13 @@ stop() {
RETVAL=$?
if [ -f "$LOCK_FILE" ]; then
killproc -p $LOCK_FILE $SERVER
- sleep 1
RETVAL=$?
- echo
[ $RETVAL -eq 0 ] && rm -f $LOCK_FILE
- echo_success
+ success
else
- echo_failure
+ failure
fi
-}
-
-restart() {
- stop
- start
-}
-
-status() {
- status -p $LOCK_FILE $SERVER
- RETVAL=$?
+ echo
}
case "$1" in
@@ -81,13 +64,15 @@ case "$1" in
stop
;;
restart)
- restart
+ stop
+ sleep 1
+ start
;;
status)
- status
+ status $SERVER
;;
*)
- echo $"Usage: $0 {start|stop|status|restart|}"
+ echo $"Usage: $0 {start|stop|status|restart}"
exit 1
esac
exit $RETVAL
13 years, 11 months
Branch 'devel' - cas-server overseer/command.py startup/cas-server
by Adam Stokes
cas-server | 2 -
overseer/command.py | 3 ++
startup/cas-server | 65 ++++++++++++++++++++--------------------------------
3 files changed, 29 insertions(+), 41 deletions(-)
New commits:
commit d81b76389efb986c892f3e527e62b26b9a7f68a1
Author: adam stokes <astokes(a)fedoraproject.org>
Date: Tue May 25 15:25:49 2010 -0400
more work to daemonize cas-server properly
diff --git a/cas-server b/cas-server
index e85ea52..5d84b8b 100755
--- a/cas-server
+++ b/cas-server
@@ -1,3 +1,3 @@
#!/bin/sh
-python /usr/share/cas/overseer/command.py
+exec python "/usr/share/cas/overseer/command.py" "$@"
diff --git a/overseer/command.py b/overseer/command.py
index 53fcc8f..fe50562 100755
--- a/overseer/command.py
+++ b/overseer/command.py
@@ -24,6 +24,7 @@ if sys.version_info[:2] < (2,6):
import os
import cherrypy
+from cherrypy.process.plugins import Daemonizer, PIDFile
import simplejson
from caslib.db import *
from mako.template import Template
@@ -137,6 +138,8 @@ class Root:
def main():
root = Root()
+ Daemonizer(cherrypy.engine).subscribe()
+ PIDFile(cherrypy.engine, "/var/lock/subsys/cas-server").subscribe()
cherrypy.config.update(current_dir + "/site.conf")
cherrypy.tree.mount(root, '/', current_dir + "/site.conf")
cherrypy.engine.start()
diff --git a/startup/cas-server b/startup/cas-server
index 81f158b..ab420ca 100755
--- a/startup/cas-server
+++ b/startup/cas-server
@@ -25,50 +25,42 @@ prog="cas-server"
[ -f /etc/cas.conf ] || exit 0
# bin
-CASSERVER="/usr/bin/cas-server"
+SERVER="/usr/share/cas/overseer/command.py"
+LOCK_FILE="/var/lock/subsys/cas-server"
RETVAL=0
-getpid() {
- pid=`ps -eo pid,comm | grep cas- | awk '{ print $1 }'`
-}
-
start () {
echo -n "Starting $prog: "
- getpid
- if [ -z "$pid" ]; then
- $CASSERVER 2> /dev/null
- RETVAL=$?
- fi
- if [ $RETVAL eq 0 ]; then
- touch /var/lock/subsys/cas-server
- echo_success
- else
+ status -p $LOCK_FILE $SERVER &> /dev/null
+ STATUS=$?
+ if [ $STATUS -eq 0 ]; then
+ echo -n "Cas server already running."
echo_failure
+ RETVAL=0
+ else
+ if [ $STATUS -eq 1 ]; then
+ echo -n "Stray lockfile, removing."
+ rm -f $LOCK_FILE
+ fi
+ daemon $SERVER
+ RETVAL=$?
fi
- echo
- return $RETVAL
}
stop() {
echo -n "Stopping $prog: "
- getpid
RETVAL=$?
- if [ -n "$pid" ]; then
- killproc $pid
- sleep 1
- getpid
- if [ -z "$pid" ]; then
- rm -f /var/lock/subsys/cas-server
+ if [ -f "$LOCK_FILE" ]; then
+ killproc -p $LOCK_FILE $SERVER
+ sleep 1
+ RETVAL=$?
+ echo
+ [ $RETVAL -eq 0 ] && rm -f $LOCK_FILE
echo_success
else
echo_failure
fi
- else
- echo_failure
- fi
- echo
- return $RETVAL
}
restart() {
@@ -77,14 +69,8 @@ restart() {
}
status() {
- getpid
- if [ -n "$pid" ]; then
- echo "$prog is running ..."
- else
- RETVAL=1
- echo "$prog is stopped"
- fi
- return $RETVAL
+ status -p $LOCK_FILE $SERVER
+ RETVAL=$?
}
case "$1" in
@@ -98,11 +84,10 @@ case "$1" in
restart
;;
status)
- status $prog
- ret=$?
+ status
;;
*)
echo $"Usage: $0 {start|stop|status|restart|}"
- exit 2
+ exit 1
esac
-exit $?
+exit $RETVAL
13 years, 11 months
Branch 'devel' - cas.spec
by Adam Stokes
cas.spec | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
New commits:
commit fdf3b9e4ad32ba0ade2cc7b21841c4f4148cca3f
Author: adam stokes <astokes(a)fedoraproject.org>
Date: Mon May 24 11:20:12 2010 -0400
spec changes for init.d
diff --git a/cas.spec b/cas.spec
index de99c42..6660ecd 100644
--- a/cas.spec
+++ b/cas.spec
@@ -42,9 +42,7 @@ Requires: cas-admin = %{version}-%{release}
Requires: python-cherrypy
Requires: python-simplejson
Requires: python-mako
-Requires(post): /sbin/chkconfig
-Requires(preun): /sbin/chkconfig
-Requires(preun): /sbin/service
+Requires(post): chkconfig
%description server
Provides web frontend to CAS to allow for a much simpler user experience when
@@ -65,12 +63,11 @@ for i in `find ${RPM_BUILD_ROOT} -iname Makefile`; do rm $i; done
rm -rf ${RPM_BUILD_ROOT}
%post
-/sbin/chkconfig --add %{name}
+/sbin/chkconfig --add %{name}-server
%preun
if [ $1 = 0 ]; then
- /sbin/service %{name} stop > /dev/null 2>&1
- /sbin/chkconfig --del %{name}
+ /sbin/chkconfig --del %{name}-server
fi
%files
13 years, 11 months
Branch 'devel' - cas.spec startup/Makefile
by Adam Stokes
cas.spec | 3 +--
startup/Makefile | 4 ++--
2 files changed, 3 insertions(+), 4 deletions(-)
New commits:
commit 41ea187e81e4b37c7a818c548eda8c8befb9086e
Author: adam stokes <astokes(a)fedoraproject.org>
Date: Mon May 24 11:16:39 2010 -0400
initd setup
diff --git a/cas.spec b/cas.spec
index 7f12411..de99c42 100644
--- a/cas.spec
+++ b/cas.spec
@@ -1,5 +1,4 @@
%{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
-%global _initdir %{_sysconfdir}/rc.d/init.d
Name: cas
Summary: Tool to analyze and configure core file environment
@@ -94,7 +93,7 @@ fi
%defattr(-,root,root,-)
%{_datadir}/%{name}/overseer
%{_bindir}/cas-server
-%{_initdir}/cas-server
+%config %{_initrddir}/cas-server
%changelog
* Tue May 20 2010 Adam Stokes <ajs at redhat dot com> - 1.0
diff --git a/startup/Makefile b/startup/Makefile
index 9788846..ccb93bf 100644
--- a/startup/Makefile
+++ b/startup/Makefile
@@ -6,5 +6,5 @@ clean:
echo "clean"
install:
- mkdir -p $(DESTDIR)/etc/init.d
- install -p -m755 $(NAME) $(DESTDIR)/etc/init.d/.
+ mkdir -p $(DESTDIR)/etc/rc.d/init.d
+ install -p -m755 $(NAME) $(DESTDIR)/etc/rc.d/init.d/.
13 years, 11 months
Branch 'devel' - startup/Makefile
by Adam Stokes
startup/Makefile | 10 ++++++++++
1 file changed, 10 insertions(+)
New commits:
commit 0b58bff267eda8a853e69f9af567911687aa9f30
Author: adam stokes <astokes(a)fedoraproject.org>
Date: Mon May 24 11:10:45 2010 -0400
makefile
diff --git a/startup/Makefile b/startup/Makefile
new file mode 100644
index 0000000..9788846
--- /dev/null
+++ b/startup/Makefile
@@ -0,0 +1,10 @@
+NAME=cas-server
+
+all:
+ echo "hi"
+clean:
+ echo "clean"
+
+install:
+ mkdir -p $(DESTDIR)/etc/init.d
+ install -p -m755 $(NAME) $(DESTDIR)/etc/init.d/.
13 years, 11 months
Branch 'devel' - cas.spec Makefile startup/cas-server
by Adam Stokes
Makefile | 3 +-
cas.spec | 14 +++++++++
startup/cas-server | 77 +++++++++++++++++++++++++++++++++++++++++++++++------
3 files changed, 85 insertions(+), 9 deletions(-)
New commits:
commit f0800d1cb672bae627d9c7fba92490bf6e5490a0
Author: adam stokes <astokes(a)fedoraproject.org>
Date: Mon May 24 11:09:26 2010 -0400
startup script
diff --git a/Makefile b/Makefile
index afdcf31..5bcacfb 100644
--- a/Makefile
+++ b/Makefile
@@ -8,7 +8,8 @@ SUBDIRS = caslib \
contrib \
snippets \
overseer \
-overseer/static
+overseer/static \
+startup
PYFILES = $(wildcard *.py)
diff --git a/cas.spec b/cas.spec
index b74454e..7f12411 100644
--- a/cas.spec
+++ b/cas.spec
@@ -1,4 +1,5 @@
%{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
+%global _initdir %{_sysconfdir}/rc.d/init.d
Name: cas
Summary: Tool to analyze and configure core file environment
@@ -42,6 +43,9 @@ Requires: cas-admin = %{version}-%{release}
Requires: python-cherrypy
Requires: python-simplejson
Requires: python-mako
+Requires(post): /sbin/chkconfig
+Requires(preun): /sbin/chkconfig
+Requires(preun): /sbin/service
%description server
Provides web frontend to CAS to allow for a much simpler user experience when
@@ -61,6 +65,15 @@ for i in `find ${RPM_BUILD_ROOT} -iname Makefile`; do rm $i; done
%clean
rm -rf ${RPM_BUILD_ROOT}
+%post
+/sbin/chkconfig --add %{name}
+
+%preun
+if [ $1 = 0 ]; then
+ /sbin/service %{name} stop > /dev/null 2>&1
+ /sbin/chkconfig --del %{name}
+fi
+
%files
%defattr(-,root,root,-)
%config(noreplace) %{_sysconfdir}/cas.conf
@@ -81,6 +94,7 @@ rm -rf ${RPM_BUILD_ROOT}
%defattr(-,root,root,-)
%{_datadir}/%{name}/overseer
%{_bindir}/cas-server
+%{_initdir}/cas-server
%changelog
* Tue May 20 2010 Adam Stokes <ajs at redhat dot com> - 1.0
diff --git a/startup/cas-server b/startup/cas-server
index f679c40..81f158b 100755
--- a/startup/cas-server
+++ b/startup/cas-server
@@ -21,24 +21,85 @@ prog="cas-server"
# function library
. /etc/rc.d/init.d/functions
-start () {}
-stop() {}
-restart() {}
-status() {}
+# check config
+[ -f /etc/cas.conf ] || exit 0
+# bin
+CASSERVER="/usr/bin/cas-server"
+
+RETVAL=0
+
+getpid() {
+ pid=`ps -eo pid,comm | grep cas- | awk '{ print $1 }'`
+}
+
+start () {
+ echo -n "Starting $prog: "
+ getpid
+ if [ -z "$pid" ]; then
+ $CASSERVER 2> /dev/null
+ RETVAL=$?
+ fi
+ if [ $RETVAL eq 0 ]; then
+ touch /var/lock/subsys/cas-server
+ echo_success
+ else
+ echo_failure
+ fi
+ echo
+ return $RETVAL
+}
+
+stop() {
+ echo -n "Stopping $prog: "
+ getpid
+ RETVAL=$?
+ if [ -n "$pid" ]; then
+ killproc $pid
+ sleep 1
+ getpid
+ if [ -z "$pid" ]; then
+ rm -f /var/lock/subsys/cas-server
+ echo_success
+ else
+ echo_failure
+ fi
+ else
+ echo_failure
+ fi
+ echo
+ return $RETVAL
+}
+
+restart() {
+ stop
+ start
+}
+
+status() {
+ getpid
+ if [ -n "$pid" ]; then
+ echo "$prog is running ..."
+ else
+ RETVAL=1
+ echo "$prog is stopped"
+ fi
+ return $RETVAL
+}
case "$1" in
start)
- $1
+ start
;;
stop)
- $1
+ stop
;;
restart)
- $1
+ restart
;;
status)
- $1
+ status $prog
+ ret=$?
;;
*)
echo $"Usage: $0 {start|stop|status|restart|}"
13 years, 11 months