r5059 - branches/lucidity/sage/python/sage
by tmckay@fedoraproject.org
Author: tmckay
Date: 2011-10-12 16:15:55 +0000 (Wed, 12 Oct 2011)
New Revision: 5059
Modified:
branches/lucidity/sage/python/sage/verifiedhttps_m2crypto.py
Log:
Merge 5058 from trunk.
svn merge -c 5058 svn+ssh://svn.fedorahosted.org/svn/cumin/trunk
Fix typo.
Modified: branches/lucidity/sage/python/sage/verifiedhttps_m2crypto.py
===================================================================
--- branches/lucidity/sage/python/sage/verifiedhttps_m2crypto.py 2011-10-12 16:12:53 UTC (rev 5058)
+++ branches/lucidity/sage/python/sage/verifiedhttps_m2crypto.py 2011-10-12 16:15:55 UTC (rev 5059)
@@ -45,7 +45,7 @@
# this prior to the connection.
httpslib.HTTPSConnection.connect(self)
if self.timeout is not None:
- self.sock.settimeout(timeout)
+ self.sock.settimeout(self.timeout)
except SSL.Checker.WrongHost, e:
# Allow the host name check to fail if domain_verify is off.
# This is mostly for testing with self-signed certificates
12 years, 7 months
r5058 - trunk/sage/python/sage
by tmckay@fedoraproject.org
Author: tmckay
Date: 2011-10-12 16:12:53 +0000 (Wed, 12 Oct 2011)
New Revision: 5058
Modified:
trunk/sage/python/sage/verifiedhttps_m2crypto.py
Log:
Typo, "timeout" should be "self.timeout"
Modified: trunk/sage/python/sage/verifiedhttps_m2crypto.py
===================================================================
--- trunk/sage/python/sage/verifiedhttps_m2crypto.py 2011-10-12 15:06:26 UTC (rev 5057)
+++ trunk/sage/python/sage/verifiedhttps_m2crypto.py 2011-10-12 16:12:53 UTC (rev 5058)
@@ -45,7 +45,7 @@
# this prior to the connection.
httpslib.HTTPSConnection.connect(self)
if self.timeout is not None:
- self.sock.settimeout(timeout)
+ self.sock.settimeout(self.timeout)
except SSL.Checker.WrongHost, e:
# Allow the host name check to fail if domain_verify is off.
# This is mostly for testing with self-signed certificates
12 years, 7 months
r5057 - in branches/noflash/cumin: python/cumin resources
by croberts@fedoraproject.org
Author: croberts
Date: 2011-10-12 15:06:26 +0000 (Wed, 12 Oct 2011)
New Revision: 5057
Modified:
branches/noflash/cumin/python/cumin/stat.py
branches/noflash/cumin/python/cumin/stat.strings
branches/noflash/cumin/resources/app.js
Log:
Some more progress on the way to eliminating the flash charts in favor of a pure JavaScript method. This checkpoint replaces all of the line/area graphs with their JavaScript replacements. There's still plenty of tweaking and tuning to be done, most notably, getting the updates to work and allow the changing of the intervals.
Modified: branches/noflash/cumin/python/cumin/stat.py
===================================================================
--- branches/noflash/cumin/python/cumin/stat.py 2011-10-12 13:18:24 UTC (rev 5056)
+++ branches/noflash/cumin/python/cumin/stat.py 2011-10-12 15:06:26 UTC (rev 5057)
@@ -235,6 +235,9 @@
def render_height(self, session):
return 120
+
+ def render_id_nodots(self, session):
+ return self.render_id(session).replace(".", "_")
class ImageCache(object):
def __init__(self):
Modified: branches/noflash/cumin/python/cumin/stat.strings
===================================================================
--- branches/noflash/cumin/python/cumin/stat.strings 2011-10-12 13:18:24 UTC (rev 5056)
+++ branches/noflash/cumin/python/cumin/stat.strings 2011-10-12 15:06:26 UTC (rev 5057)
@@ -298,30 +298,13 @@
<div class="StatValueChart{fullpageable}" id="{id}">
<h2>{title}</h2>
<div class="duration">{duration}</div>
- <div id="{id}_chart">
- <img id="{id}" src="{img_href}" height="{img_height}" width="{img_width}" alt="stats" />
+ <div id="{id_nodots}_chart" class="jqplotgraph" style="height:150px;width:400px;">
+ <a rel="api" type="application/json" href="{href}" style="display:none">Data</a>
<div class="loading" style="display:none;"><span>Loading...</span></div>
</div>
</div>
</div>
-<script type="text/javascript">
-//<![CDATA[
- var flashversion = swfobject.getFlashPlayerVersion();
- if (flashversion.major < 9) {
- wooly.addPageUpdateListener(function () {if (document.images["{id}"].className == "Loading") return; cumin.updateChart("{id}");});
- cumin.setupChart('{id}', {width});
- } else {
- swfobject.embedSWF("resource?name=open-flash-chart.swf", "{id}_chart", "{width}", "{height}", "9.0.0", "",
- {"data-file":"{href}", "id":"{id}"}, {wmode: "opaque"});
- wooly.addPageUpdateListener(function () { cumin.updateFlashChart('{id}'); });
- window.addEvent('domready',function () {
- cumin.setFullpageHandler('{id}', '{fullpage_href}');
- });
- }
-//]]>
-</script>
-
[GenericChart.css]
div.FullpageChart {
margin: 1.5em;
Modified: branches/noflash/cumin/resources/app.js
===================================================================
--- branches/noflash/cumin/resources/app.js 2011-10-12 13:18:24 UTC (rev 5056)
+++ branches/noflash/cumin/resources/app.js 2011-10-12 15:06:26 UTC (rev 5057)
@@ -560,3 +560,127 @@
}
return false;
}
+
+window.addEvent("domready", function() {
+ $$('.jqplotgraph').each(function(thisdiv) {
+ var div = $(thisdiv);
+ var jsonurl = $(div).getElements('a').get('href');
+ var jsonRequest = new Request.JSON({
+ url : jsonurl,
+
+ onComplete : function(response) {
+ console.log("complete: " + response);
+ },
+ onFailure : function(error) {
+ console.log(error.responseText);
+ },
+ onSuccess : function(json) {
+ console.log("Success");
+ dataContainer = parseJson(json);
+ drawChart($(div).get('id'), dataContainer);
+ }
+ }).get(); // the .get() here fires-off the json request
+ });
+});
+
+parseJson = function(json) {
+ var dataContainer = new Object();
+ dataContainer['end_secs'] = json.end_secs;
+ dataContainer['tnow'] = json.tnow;
+ dataContainer['x_axis_values'] = [];
+ for ( var i = 0; i < json.x_axis.labels.labels.length; i++) {
+ dataContainer['x_axis_values'] = dataContainer['x_axis_values']
+ .append([ json.x_axis.labels.labels[i].text ]);
+ }
+
+ dataContainer['x_coordinate_values'] = new Array();
+ for ( var i = 0; i < json.elements.length; i++) {
+ dataContainer['x_coordinate_values'][i] = new Array();
+ for ( var j = 0; j < json.elements[i].values.length; j++) {
+ dataContainer['x_coordinate_values'][i]
+ .append([ json.elements[i].values[j].dt ]);
+ }
+ }
+
+ dataContainer['y_coordinate_values'] = new Array();
+ for ( var i = 0; i < json.elements.length; i++) {
+ dataContainer['y_coordinate_values'][i] = new Array();
+ for ( var j = 0; j < json.elements[i].values.length; j++) {
+ dataContainer['y_coordinate_values'][i].append([ [
+ json.elements[i].values[j].dt - dataContainer['tnow'],
+ json.elements[i].values[j].y ] ]);
+ }
+ }
+
+ dataContainer['labels'] = new Array(json.elements.length);
+ for ( var i = 0; i < json.elements.length; i++) {
+ dataContainer['labels'][i] = json.elements[i].text;
+ }
+
+ for ( var i = 0; i < json.x_axis.labels.labels.length; i++) {
+ dataContainer['x_axis_values'] = dataContainer['x_axis_values']
+ .append([ json.x_axis.labels.labels[i].text ]);
+ }
+
+ console.log("end_secs: " + dataContainer['end_secs'] + " tnow: "
+ + dataContainer['tnow']);
+ console.log("x-axis vals: " + dataContainer['x_axis_values']);
+ console.log("x_coord_vals: " + dataContainer['x_coordinate_values']);
+ console.log("y_coord_vals: " + dataContainer['y_coordinate_values']);
+ return dataContainer;
+}
+
+getSeries = function(dataContainer) {
+ var series = new Array(dataContainer['labels'].length);
+ for(var i=0; i < dataContainer['labels'].length; i++) {
+ series[i] = {yaxis: 'y2axis', label: dataContainer['labels'][i]};
+ }
+ return series;
+}
+
+drawChart = function(holder, dataContainer) {
+ $j.jqplot.config.enablePlugins = true;
+
+
+ $j.jqplot(holder, dataContainer['y_coordinate_values'], {
+ grid: { background: '#FFFFFF' },
+ legend: {show:true,
+ location: 'n',
+ renderer: $j.jqplot.horizontalLegendRenderer,
+ yoffset: 0,
+ xoffset: 0,
+ placement: "outsideGrid"},
+ axes: {
+ y2axis: {autoscale: true, min:0},
+ xaxis: {autoscale: false, pad:0, min:-3600, max:0,
+ // probably need to pass in min/max based on current selection
+ // renderer:$j.jqplot.DateAxisRenderer,
+ // tickOptions: {formatString: '%#M'},
+ }
+ },
+ series: getSeries(dataContainer),
+ seriesColors: ['#cc0000', '#00cc00', '#0000cc'],
+ seriesDefaults: {
+ fill:true,
+ fillAndStroke:true,
+ fillAlpha: 0.4,
+ rendererOptions: {
+ highlightMouseOver: false,
+ highlightMouseDown: false,
+ highlightColor: null,
+ markerRenderer: $j.jqplot.MarkerRenderer,
+ },
+ markerOptions: {show:true,
+ lineWidth:2,
+ style:'filledCircle',
+ size:4},
+ },
+ cursor:{show:true,
+ zoom:true,
+ looseZoom:true,
+ showCursorLegend:false}
+
+ });
+}
+
+
12 years, 7 months
r5056 - branches/lucidity/wooly/python/wooly
by tmckay@fedoraproject.org
Author: tmckay
Date: 2011-10-12 13:18:24 +0000 (Wed, 12 Oct 2011)
New Revision: 5056
Modified:
branches/lucidity/wooly/python/wooly/pages.py
Log:
Merge 5055 from trunk
svn merge -c 5055 svn+ssh://svn.fedorahosted.org/svn/cumin/trunk .
BZ744793
Modified: branches/lucidity/wooly/python/wooly/pages.py
===================================================================
--- branches/lucidity/wooly/python/wooly/pages.py 2011-10-10 18:11:31 UTC (rev 5055)
+++ branches/lucidity/wooly/python/wooly/pages.py 2011-10-12 13:18:24 UTC (rev 5056)
@@ -109,7 +109,9 @@
def get_content_type(self, session):
value = session.request_environment.get("HTTP_USER_AGENT")
- if value and value.find("MSIE 6") != -1:
+ if (value and value.find("MSIE 6") != -1) or (value and value.find("MSIE 9") != -1):
+ # sadly, although msie 9 handles application/xhtml+xml, the version of swfobject (2.2)
+ # that we are using does not support that content type (by their design), so we fall back to text/html
content_type = self.html_content_type
else:
content_type = self.xhtml_content_type
12 years, 7 months
r5055 - trunk/wooly/python/wooly
by croberts@fedoraproject.org
Author: croberts
Date: 2011-10-10 18:11:31 +0000 (Mon, 10 Oct 2011)
New Revision: 5055
Modified:
trunk/wooly/python/wooly/pages.py
Log:
In order to address BZ 744793 we are now using content type text/html for MSIE 9x (which is currently only available in windows 7 or later). This is necessary because the swfobject javascript library (version 2.2) does not support this combination of browser/content type.
Modified: trunk/wooly/python/wooly/pages.py
===================================================================
--- trunk/wooly/python/wooly/pages.py 2011-10-07 20:18:03 UTC (rev 5054)
+++ trunk/wooly/python/wooly/pages.py 2011-10-10 18:11:31 UTC (rev 5055)
@@ -109,7 +109,9 @@
def get_content_type(self, session):
value = session.request_environment.get("HTTP_USER_AGENT")
- if value and value.find("MSIE 6") != -1:
+ if (value and value.find("MSIE 6") != -1) or (value and value.find("MSIE 9") != -1):
+ # sadly, although msie 9 handles application/xhtml+xml, the version of swfobject (2.2)
+ # that we are using does not support that content type (by their design), so we fall back to text/html
content_type = self.html_content_type
else:
content_type = self.xhtml_content_type
12 years, 7 months
r5054 - branches/lucidity/cumin/python/cumin/grid
by tmckay@fedoraproject.org
Author: tmckay
Date: 2011-10-07 20:18:03 +0000 (Fri, 07 Oct 2011)
New Revision: 5054
Modified:
branches/lucidity/cumin/python/cumin/grid/limit.strings
Log:
Merge from trunk.
svn merge -c 5053 svn+ssh://svn.fedorahosted.org/svn/cumin/trunk .
BZ744023
Modified: branches/lucidity/cumin/python/cumin/grid/limit.strings
===================================================================
--- branches/lucidity/cumin/python/cumin/grid/limit.strings 2011-10-06 19:06:05 UTC (rev 5053)
+++ branches/lucidity/cumin/python/cumin/grid/limit.strings 2011-10-07 20:18:03 UTC (rev 5054)
@@ -30,9 +30,6 @@
</tr>
<script type="text/javascript">
//<![CDATA[
-window.addEvent('domready', function(){
- myFunction();
-});
function toggleLimitInput(form, checkbox, textinput) {
if($(checkbox).checked) {
$(textinput).value = "Unlimited";
12 years, 7 months
r5053 - trunk/cumin/python/cumin/grid
by croberts@fedoraproject.org
Author: croberts
Date: 2011-10-06 19:06:05 +0000 (Thu, 06 Oct 2011)
New Revision: 5053
Modified:
trunk/cumin/python/cumin/grid/limit.strings
Log:
Getting rid of bogus onDomReady event function call when editing limits to address BZ 744023
Modified: trunk/cumin/python/cumin/grid/limit.strings
===================================================================
--- trunk/cumin/python/cumin/grid/limit.strings 2011-10-06 18:51:13 UTC (rev 5052)
+++ trunk/cumin/python/cumin/grid/limit.strings 2011-10-06 19:06:05 UTC (rev 5053)
@@ -30,9 +30,6 @@
</tr>
<script type="text/javascript">
//<![CDATA[
-window.addEvent('domready', function(){
- myFunction();
-});
function toggleLimitInput(form, checkbox, textinput) {
if($(checkbox).checked) {
$(textinput).value = "Unlimited";
12 years, 7 months
r5052 - branches/lucidity/sage/python/sage/aviary
by tmckay@fedoraproject.org
Author: tmckay
Date: 2011-10-06 18:51:13 +0000 (Thu, 06 Oct 2011)
New Revision: 5052
Modified:
branches/lucidity/sage/python/sage/aviary/AVIARY-README
Log:
Tweak AVIARY-README
svn merge -c 5051 svn+ssh://svn.fedorahosted.org/svn/cumin/trunk
Modified: branches/lucidity/sage/python/sage/aviary/AVIARY-README
===================================================================
--- branches/lucidity/sage/python/sage/aviary/AVIARY-README 2011-10-06 18:27:37 UTC (rev 5051)
+++ branches/lucidity/sage/python/sage/aviary/AVIARY-README 2011-10-06 18:51:13 UTC (rev 5052)
@@ -2,37 +2,104 @@
Description:
-This feature allows Cumin to use the Aviary web services provided in the condor-aviary package for certain functions in the user interface. If the CuminAviary feature is enabled, Cumin will use Aviary services rather than QMF method calls where possible.
+This feature allows Cumin to use the Aviary web services provided in the
+condor-aviary package for certain functions in the user interface. If the
+CuminAviary feature is enabled, Cumin will use Aviary services rather than QMF
+method calls where possible.
-The CuminAviary feature is enabled and configured through the /etc/cumin/cumin.conf file. Relevant configuration parameters with descriptive comments can be found in the default /etc/cumin/cumin.conf file by searching for a line containing "Aviary interface to condor".
+The CuminAviary feature is controlled through the cumin configuration
+file. Relevant configuration parameters with descriptive comments can be found
+in the default /etc/cumin/cumin.conf file by searching for a line containing
+"Aviary interface to condor".
-Aviary provides a job service and a query service; Cumin may use either, both or neither. By default, Cumin will use no Aviary services and will use QMF methods instead.
+Aviary provides a job service and a query service; Cumin may use either, both or
+neither. By default, Cumin will use QMF methods rather than Aviary services.
-To enable use of the Aviary job service, the 'aviary-job-servers' parameter must be uncommented and set (see the comments in the configuration file for details). Setting this parameter will cause Cumin to use the Aviary job service for job submission, for the hold, release, and remove job control functions, and for editing of job ads.
+To enable use of the Aviary job service, the 'aviary-job-servers' parameter must
+be uncommented and set (see the comments in the configuration file). Setting this
+parameter will cause Cumin to use the Aviary job service for job submission,
+for the hold, release, and remove job control functions, and for editing of
+job ad attributes.
-To enable use of the Aviary query service, the 'aviary-query-servers' parameter must be uncommented and set (see the comments in the configuration file for details). Setting this parameter will cause Cumin to use the Aviary query service for retrieving job output files, retrieving job ad details, and retreiving the list of jobs in a submission.
+To enable use of the Aviary query service, the 'aviary-query-servers' parameter
+must be uncommented and set (see the comments in the configuration file). Setting
+this parameter will cause Cumin to use the Aviary query service for retrieving
+job output files, retrieving job ad details, and retreiving the list of jobs in a
+submission.
-Cumin will make INFO level entries in the log file for cumin-web that indicate whether use of the job and/or query services has been enabled and what type of certificate validation will be used for servers configured for SSL (see below). These log entries will begin with "AviaryOperations:". If an Aviary operation fails, the yellow task banner associated with the operation will contain error information.
+Cumin will make INFO level entries in the log file for cumin-web that indicate
+whether use of the job and/or query services has been enabled and what type of
+certificate validation will be used for servers configured for SSL (see below).
+These log entries will begin with "AviaryOperations:" or contain the string
+"Aviary" somewhere in the message. If an Aviary operation fails, the yellow
+task banner associated with the operation will contain error information.
-By default, the Aviary services in condor will not use SSL (Secure Socket Layer) for communication and no other Cumin configuration parameters need to be set for the CuminAviary feature. However, if the Aviary services in condor have been configured to use SSL then additional Cumin configuration parameters must be set.
+By default, the Aviary services in condor will not use SSL (Secure Socket Layer)
+for communication and no other configuration parameters need to be set for
+this feature. However, if the Aviary services in condor have been configured to
+use SSL then additional configuration parameters must be set.
-First, note that the scheme for Aviary servers will change from "http" to "https" for any server using SSL. Failure to specify schemes correctly in the 'aviary-job-servers' or 'aviary-query-servers' parameters will prevent CuminAviary from functioning.
+First, note that the scheme for Aviary servers will change from "http" to "https"
+for any server using SSL. Failure to specify schemes correctly in the
+'aviary-job-servers' or 'aviary-query-servers' parameters will prevent the
+CuminAviary feature from functioning.
-Second, the 'aviary-key' and 'aviary-cert' parameters must be set. These parameters give the full paths to a PEM formated private key file and PEM formatted certificate file that Cumin will use as a client to access the Aviary services. The Aviary servers will validate Cumin's client certificate and allow access if validation succeeds.
+Second, the 'aviary-key' and 'aviary-cert' parameters must be set. These
+parameters give the full paths to a PEM formated private key file and PEM
+formatted certificate file that Cumin will use as a client to access the Aviary
+services. The Aviary servers will validate Cumin's client certificate and allow
+access if validation succeeds.
-Optionally, the 'aviary-root-cert' parameter may be set. This is the full path to a PEM formatted file containing CA (certificate authority) certificates that Cumin will use to validate the server certificate. If this parameter is unset Cumin will NOT validate server certificates.
+Optionally, the 'aviary-root-cert' parameter may be set. This is the full path
+to a PEM formatted file containing CA (certificate authority) certificates that
+Cumin will use to validate the server certificate. If this parameter is unset
+Cumin will NOT validate server certificates.
-Lastly, the 'aviary-domain-verify' parameter controls whether or not Cumin checks the hostname of the server against the server certificate during validation. This parameter has no effect unless 'aviary-root-cert' is set. The default value is True; it may be useful to set this parameter to False if the server is using a self-signed certificate with a non-matching hostname.
+Lastly, the 'aviary-domain-verify' parameter controls whether or not Cumin checks
+the hostname of the server against the server certificate during validation.
+This parameter has no effect unless 'aviary-root-cert' is set. The default value
+is True; it may be useful to set this parameter to False if the server is using a
+self-signed certificate with a non-matching hostname.
-Feedback: bug reports or requests for enhancement can be made through http://bugzilla.redhat.com. General questions about this feature can be handled through cumin-users(a)lists.fedorahosted.org
+Cumin will provide server certificate validation using the Python ssl standard
+language module if available or M2Crypto otherwise. If neither of these
+components are available, server certificate validation will be disabled.
-Full support: This feature is intended to be fully supported in an upcoming minor release.
+Dependencies:
-Where to find this information: The content given here may be found in the Release Notes accompanying the software or in the file /usr/share/doc/cumin-*/AVIARY-README after the software is installed.
+The CuminAviary feature has a dependency on python-suds-0.4.1 or newer. To date,
+this dependency is not enforced by the Cumin rpm. On a system without python-suds
+installed, Cumin will install and run but the Aviary interface will be disabled.
+If the CuminAviary feature is turned on in cumin.conf, an entry will be made in
+the log for cumin-web noting that Aviary has been disabled because of failed
+imports and Cumin will continue.
+Feedback:
+
+Bug reports or requests for enhancement can be made through
+http://bugzilla.redhat.com. General questions about this feature can be handled
+through the email list cumin-users(a)lists.fedorahosted.org
+
+Full support:
+
+This feature is intended to be fully supported in an upcoming minor release.
+
+Where to find this information:
+
+The content given here may be found in the Release Notes
+or in the file /usr/share/doc/cumin-*/AVIARY-README after installation.
+
Technology Preview Policy:
-Technology Preview features are not currently supported under Red Hat Enterprise Linux subscription services, may not be functionally complete, and are generally not suitable for production use. However, these features are included as a customer convenience and to provide the technologies with wider exposure.
-Customers may find these features useful in non-production environments, and can provide feedback and functionality suggestions prior to their transition to fully supported status. Erratas will be provided for high-priority security issues.
+Technology Preview features are not currently supported under Red Hat Enterprise
+Linux subscription services, may not be functionally complete, and are generally
+not suitable for production use. However, these features are included as a
+customer convenience and to provide the technologies with wider exposure.
-During its development additional components of a Technology Preview feature may become available to the public for testing. It is the intention of Red Hat to fully support Technology Preview features in a future release.
+Customers may find these features useful in non-production environments, and can
+provide feedback and functionality suggestions prior to their transition to fully
+supported status. Erratas will be provided for high-priority security issues.
+
+During its development additional components of a Technology Preview feature may
+become available to the public for testing. It is the intention of Red Hat to
+fully support Technology Preview features in a future release.
12 years, 7 months
r5051 - trunk/sage/python/sage/aviary
by tmckay@fedoraproject.org
Author: tmckay
Date: 2011-10-06 18:27:37 +0000 (Thu, 06 Oct 2011)
New Revision: 5051
Modified:
trunk/sage/python/sage/aviary/AVIARY-README
Log:
Fix line wrapping, include information on python-suds dependency, Python ssl,
and M2Crypto.
Modified: trunk/sage/python/sage/aviary/AVIARY-README
===================================================================
--- trunk/sage/python/sage/aviary/AVIARY-README 2011-10-06 14:50:40 UTC (rev 5050)
+++ trunk/sage/python/sage/aviary/AVIARY-README 2011-10-06 18:27:37 UTC (rev 5051)
@@ -2,37 +2,104 @@
Description:
-This feature allows Cumin to use the Aviary web services provided in the condor-aviary package for certain functions in the user interface. If the CuminAviary feature is enabled, Cumin will use Aviary services rather than QMF method calls where possible.
+This feature allows Cumin to use the Aviary web services provided in the
+condor-aviary package for certain functions in the user interface. If the
+CuminAviary feature is enabled, Cumin will use Aviary services rather than QMF
+method calls where possible.
-The CuminAviary feature is enabled and configured through the /etc/cumin/cumin.conf file. Relevant configuration parameters with descriptive comments can be found in the default /etc/cumin/cumin.conf file by searching for a line containing "Aviary interface to condor".
+The CuminAviary feature is controlled through the cumin configuration
+file. Relevant configuration parameters with descriptive comments can be found
+in the default /etc/cumin/cumin.conf file by searching for a line containing
+"Aviary interface to condor".
-Aviary provides a job service and a query service; Cumin may use either, both or neither. By default, Cumin will use no Aviary services and will use QMF methods instead.
+Aviary provides a job service and a query service; Cumin may use either, both or
+neither. By default, Cumin will use QMF methods rather than Aviary services.
-To enable use of the Aviary job service, the 'aviary-job-servers' parameter must be uncommented and set (see the comments in the configuration file for details). Setting this parameter will cause Cumin to use the Aviary job service for job submission, for the hold, release, and remove job control functions, and for editing of job ads.
+To enable use of the Aviary job service, the 'aviary-job-servers' parameter must
+be uncommented and set (see the comments in the configuration file). Setting this
+parameter will cause Cumin to use the Aviary job service for job submission,
+for the hold, release, and remove job control functions, and for editing of
+job ad attributes.
-To enable use of the Aviary query service, the 'aviary-query-servers' parameter must be uncommented and set (see the comments in the configuration file for details). Setting this parameter will cause Cumin to use the Aviary query service for retrieving job output files, retrieving job ad details, and retreiving the list of jobs in a submission.
+To enable use of the Aviary query service, the 'aviary-query-servers' parameter
+must be uncommented and set (see the comments in the configuration file). Setting
+this parameter will cause Cumin to use the Aviary query service for retrieving
+job output files, retrieving job ad details, and retreiving the list of jobs in a
+submission.
-Cumin will make INFO level entries in the log file for cumin-web that indicate whether use of the job and/or query services has been enabled and what type of certificate validation will be used for servers configured for SSL (see below). These log entries will begin with "AviaryOperations:". If an Aviary operation fails, the yellow task banner associated with the operation will contain error information.
+Cumin will make INFO level entries in the log file for cumin-web that indicate
+whether use of the job and/or query services has been enabled and what type of
+certificate validation will be used for servers configured for SSL (see below).
+These log entries will begin with "AviaryOperations:" or contain the string
+"Aviary" somewhere in the message. If an Aviary operation fails, the yellow
+task banner associated with the operation will contain error information.
-By default, the Aviary services in condor will not use SSL (Secure Socket Layer) for communication and no other Cumin configuration parameters need to be set for the CuminAviary feature. However, if the Aviary services in condor have been configured to use SSL then additional Cumin configuration parameters must be set.
+By default, the Aviary services in condor will not use SSL (Secure Socket Layer)
+for communication and no other configuration parameters need to be set for
+this feature. However, if the Aviary services in condor have been configured to
+use SSL then additional configuration parameters must be set.
-First, note that the scheme for Aviary servers will change from "http" to "https" for any server using SSL. Failure to specify schemes correctly in the 'aviary-job-servers' or 'aviary-query-servers' parameters will prevent CuminAviary from functioning.
+First, note that the scheme for Aviary servers will change from "http" to "https"
+for any server using SSL. Failure to specify schemes correctly in the
+'aviary-job-servers' or 'aviary-query-servers' parameters will prevent the
+CuminAviary feature from functioning.
-Second, the 'aviary-key' and 'aviary-cert' parameters must be set. These parameters give the full paths to a PEM formated private key file and PEM formatted certificate file that Cumin will use as a client to access the Aviary services. The Aviary servers will validate Cumin's client certificate and allow access if validation succeeds.
+Second, the 'aviary-key' and 'aviary-cert' parameters must be set. These
+parameters give the full paths to a PEM formated private key file and PEM
+formatted certificate file that Cumin will use as a client to access the Aviary
+services. The Aviary servers will validate Cumin's client certificate and allow
+access if validation succeeds.
-Optionally, the 'aviary-root-cert' parameter may be set. This is the full path to a PEM formatted file containing CA (certificate authority) certificates that Cumin will use to validate the server certificate. If this parameter is unset Cumin will NOT validate server certificates.
+Optionally, the 'aviary-root-cert' parameter may be set. This is the full path
+to a PEM formatted file containing CA (certificate authority) certificates that
+Cumin will use to validate the server certificate. If this parameter is unset
+Cumin will NOT validate server certificates.
-Lastly, the 'aviary-domain-verify' parameter controls whether or not Cumin checks the hostname of the server against the server certificate during validation. This parameter has no effect unless 'aviary-root-cert' is set. The default value is True; it may be useful to set this parameter to False if the server is using a self-signed certificate with a non-matching hostname.
+Lastly, the 'aviary-domain-verify' parameter controls whether or not Cumin checks
+the hostname of the server against the server certificate during validation.
+This parameter has no effect unless 'aviary-root-cert' is set. The default value
+is True; it may be useful to set this parameter to False if the server is using a
+self-signed certificate with a non-matching hostname.
-Feedback: bug reports or requests for enhancement can be made through http://bugzilla.redhat.com. General questions about this feature can be handled through cumin-users(a)lists.fedorahosted.org
+Cumin will provide server certificate validation using the Python ssl standard
+language module if available or M2Crypto otherwise. If neither of these
+components are available, server certificate validation will be disabled.
-Full support: This feature is intended to be fully supported in an upcoming minor release.
+Dependencies:
-Where to find this information: The content given here may be found in the Release Notes accompanying the software or in the file /usr/share/doc/cumin-*/AVIARY-README after the software is installed.
+The CuminAviary feature has a dependency on python-suds-0.4.1 or newer. To date,
+this dependency is not enforced by the Cumin rpm. On a system without python-suds
+installed, Cumin will install and run but the Aviary interface will be disabled.
+If the CuminAviary feature is turned on in cumin.conf, an entry will be made in
+the log for cumin-web noting that Aviary has been disabled because of failed
+imports and Cumin will continue.
+Feedback:
+
+Bug reports or requests for enhancement can be made through
+http://bugzilla.redhat.com. General questions about this feature can be handled
+through the email list cumin-users(a)lists.fedorahosted.org
+
+Full support:
+
+This feature is intended to be fully supported in an upcoming minor release.
+
+Where to find this information:
+
+The content given here may be found in the Release Notes
+or in the file /usr/share/doc/cumin-*/AVIARY-README after installation.
+
Technology Preview Policy:
-Technology Preview features are not currently supported under Red Hat Enterprise Linux subscription services, may not be functionally complete, and are generally not suitable for production use. However, these features are included as a customer convenience and to provide the technologies with wider exposure.
-Customers may find these features useful in non-production environments, and can provide feedback and functionality suggestions prior to their transition to fully supported status. Erratas will be provided for high-priority security issues.
+Technology Preview features are not currently supported under Red Hat Enterprise
+Linux subscription services, may not be functionally complete, and are generally
+not suitable for production use. However, these features are included as a
+customer convenience and to provide the technologies with wider exposure.
-During its development additional components of a Technology Preview feature may become available to the public for testing. It is the intention of Red Hat to fully support Technology Preview features in a future release.
+Customers may find these features useful in non-production environments, and can
+provide feedback and functionality suggestions prior to their transition to fully
+supported status. Erratas will be provided for high-priority security issues.
+
+During its development additional components of a Technology Preview feature may
+become available to the public for testing. It is the intention of Red Hat to
+fully support Technology Preview features in a future release.
12 years, 7 months
r5050 - in branches/lucidity: cumin/python/cumin sage/python/sage/wallaby
by tmckay@fedoraproject.org
Author: tmckay
Date: 2011-10-06 14:50:40 +0000 (Thu, 06 Oct 2011)
New Revision: 5050
Modified:
branches/lucidity/cumin/python/cumin/main.py
branches/lucidity/sage/python/sage/wallaby/wallabyoperations.py
Log:
Fix wallaby imports to work with rpm package
Disable Aviary interface with log message if imports fail and continue
svn merge -c 5048 svn+ssh://svn.fedorahosted.org/svn/cumin/trunk .
svn merge -c 5049 svn+ssh://svn.fedorahosted.org/svn/cumin/trunk .
Modified: branches/lucidity/cumin/python/cumin/main.py
===================================================================
--- branches/lucidity/cumin/python/cumin/main.py 2011-10-06 14:43:37 UTC (rev 5049)
+++ branches/lucidity/cumin/python/cumin/main.py 2011-10-06 14:50:40 UTC (rev 5050)
@@ -171,27 +171,34 @@
self.remote = Catalog()
ops = [QmfOperations("qmf", self.session)]
+ imports_ok = True
+ if self.aviary_job_servers or self.aviary_query_servers:
+ try:
+ from sage.aviary.aviaryoperations import \
+ SudsLogging, AviaryOperationsFactory
+ except:
+ imports_ok = False
+ if imports_ok:
+ SudsLogging.set(self.aviary_suds_logs, self.home)
+ aviary_dir = os.path.join(self.home, "rpc-defs/aviary")
+
+ # The factory will choose an impl that gives us jobs, queries, or both
+ aviary_itf = AviaryOperationsFactory("aviary", aviary_dir,
+ self.aviary_job_servers,
+ self.aviary_query_servers,
+ self.aviary_key, self.aviary_cert,
+ self.aviary_root_cert,
+ self.aviary_domain_verify)
+ ops.insert(0, aviary_itf)
+ else:
+ log.info("Imports failed for Aviary interface, disabling")
+
log.info("%s Aviary interface for job submission and control." % \
- (self.aviary_job_servers and "Enabling" or "Disabling"))
+ ((self.aviary_job_servers and imports_ok) and "Enabled" or "Disabled"))
log.info("%s Aviary interface for query operations." % \
- (self.aviary_query_servers and "Enabling" or "Disabling"))
+ ((self.aviary_query_servers and imports_ok) and "Enabled" or "Disabled"))
- if self.aviary_job_servers or self.aviary_query_servers:
- from sage.aviary.aviaryoperations import \
- SudsLogging, AviaryOperationsFactory
- SudsLogging.set(self.aviary_suds_logs, self.home)
- aviary_dir = os.path.join(self.home, "rpc-defs/aviary")
-
- # The factory will choose an impl that gives us jobs, queries, or both
- aviary_itf = AviaryOperationsFactory("aviary", aviary_dir,
- self.aviary_job_servers,
- self.aviary_query_servers,
- self.aviary_key, self.aviary_cert,
- self.aviary_root_cert,
- self.aviary_domain_verify)
- ops.insert(0, aviary_itf)
-
self.remote.add_mechanisms(ops)
# Create RPC interface for Wallaby
Modified: branches/lucidity/sage/python/sage/wallaby/wallabyoperations.py
===================================================================
--- branches/lucidity/sage/python/sage/wallaby/wallabyoperations.py 2011-10-06 14:43:37 UTC (rev 5049)
+++ branches/lucidity/sage/python/sage/wallaby/wallabyoperations.py 2011-10-06 14:50:40 UTC (rev 5050)
@@ -9,9 +9,10 @@
imports_ok = True
try:
- import wallaby
- from wallaby_collections import StorePatches
- from tagging import StorePatches, NodePatches, setup
+ import wallaby
+ import wallaby.tagging
+ import wallaby.collections
+ setup = wallaby.tagging.setup
except:
imports_ok = False
12 years, 7 months