<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="http://www.eight-cubed.com/blog/rss2html.xsl"?>
<rss version="2.0" 
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
    xmlns:admin="http://webns.net/mvcb/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"
    xmlns:wfw="http://wellformedweb.org/CommentAPI/">

  <channel>
    <title>e i g h t - c u b e d . c o m</title>
    <link>http://www.eight-cubed.com/blog/</link>
    <description>A day in the life of an OpenVMS systems specialist.  Articles and tutorials on Systems Management and Programming for OpenVMS.</description>
    <dc:language>en-us</dc:language>
    <dc:creator>James F. Duff</dc:creator>
    <dc:rights>Copyright 2008 James F. Duff</dc:rights>
    <dc:date>2008-05-07T17:42:46+11:00</dc:date>
    <admin:generatorAgent rdf:resource="http://www.movabletype.org/?v=3.34" />
    <admin:errorReportsTo rdf:resource="mailto:jim@eight-cubed.com"/>
    <sy:updatePeriod>daily</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <sy:updateBase>2000-01-01T12:00+00:00</sy:updateBase>

        <item>
      <title>Send you name to the moon</title>
      <link>http://www.eight-cubed.com/blog/archives/001069.html?from=rss</link>
      <guid isPermaLink="true">http://www.eight-cubed.com/blog/archives/001069.html</guid>
      <description>NASA is inviting you to send your name to the moon aboard the LRO, to be launched later this year.</description>
      <body xmlns="http://www.w3.org/1999/xhtml"><p><img src="http://www.eight-cubed.com/blog/img/name2moon.jpg" alt="certificate of participation" height="83px" width="112px" style="float:right;" /></p>

<p>NASA is inviting you to send your name to the moon aboard the <a href="http://www.nasa.gov/mission_pages/LRO/main/index.html">LRO</a>, to be launched later this year.</p>

<p>You can sign up for this at the <a href="http://lro.jhuapl.edu/NameToMoon/index.php">project web page</a>.</p>

<p>You get a nice <a href="http://www.eight-cubed.com/blog/img/name2moon.jpg">certificate of participation</a>, and your name will be in orbit around the moon for many years to come.</p>

<p>Pretty cool.</p></body>
      <dc:subject>Random Musings</dc:subject>
      <dc:date>2008-05-07T17:42:46+11:00</dc:date>
                  <comments>http://www.eight-cubed.com/cgi-bin/mt-comments.cgi?entry_id=1069</comments>
      
      
      <slash:comments>0</slash:comments>
            <trackback:ping>http://www.eight-cubed.com/cgi-bin/mt-tb.cgi/370</trackback:ping>
      
      <wfw:commentRss>http://www.eight-cubed.com/blog/archives/commentrss/001069.rss</wfw:commentRss>
    </item>
        <item>
      <title>3rd Annual CSS Naked Day</title>
      <link>http://www.eight-cubed.com/blog/archives/001067.html?from=rss</link>
      <guid isPermaLink="true">http://www.eight-cubed.com/blog/archives/001067.html</guid>
      <description>In respect of CSS Naked Day, this website is removing all formatting for the day.

For more information on web standards, and the reasons behind this, see Dustin&apos;s webpage.</description>
      <body xmlns="http://www.w3.org/1999/xhtml"><p>In respect of CSS Naked Day, this website is removing all formatting for the day.</p>

<p>For more information on web standards, and the reasons behind this, see <a href="http://naked.dustindiaz.com/">Dustin's webpage</a>.</p></body>
      <dc:subject>Web Stuff</dc:subject>
      <dc:date>2008-04-09T08:16:10+11:00</dc:date>
            
      
      <slash:comments>0</slash:comments>
            <trackback:ping>http://www.eight-cubed.com/cgi-bin/mt-tb.cgi/369</trackback:ping>
      
      <wfw:commentRss>http://www.eight-cubed.com/blog/archives/commentrss/001067.rss</wfw:commentRss>
    </item>
        <item>
      <title>Artistic Style 1.22 released</title>
      <link>http://www.eight-cubed.com/blog/archives/001065.html?from=rss</link>
      <guid isPermaLink="true">http://www.eight-cubed.com/blog/archives/001065.html</guid>
      <description>Artistic Style 1.22 has been released.  Artistic Style is a source code indenter, formatter, and beautifier for the C, C++, C#  and Java programming languages.  This version corrects a number of bugs, adds recursive directory handling, and internalizes wildcard processing.  Additionally, a Java Native Interface version and a sharable image version have been provided, allowing Artistic Style to be easily incorporated into other programs such as IDEs.  More information and the links to download the package can be found at the Artistic Style home page.</description>
      <body xmlns="http://www.w3.org/1999/xhtml"><p>Artistic Style 1.22 has been released.  Artistic Style is a source code indenter, formatter, and beautifier for the C, C++, C#  and Java programming languages.  This version corrects a number of bugs, adds recursive directory handling, and internalizes wildcard processing.  Additionally, a Java Native Interface version and a sharable image version have been provided, allowing Artistic Style to be easily incorporated into other programs such as <acronym title="Integrated Development Environment">IDE</acronym>s.</p>

<p>More information and the links to download the package can be found at the <a href="http://astyle.sourceforge.net/">Artistic Style home page</a>.</p>

<p>Any OpenVMS specific problems can be directed to me via this website.</p></body>
      <dc:subject>Programming</dc:subject>
      <dc:date>2008-04-02T08:22:11+11:00</dc:date>
            
      
      <slash:comments>0</slash:comments>
            <trackback:ping>http://www.eight-cubed.com/cgi-bin/mt-tb.cgi/368</trackback:ping>
      
      <wfw:commentRss>http://www.eight-cubed.com/blog/archives/commentrss/001065.rss</wfw:commentRss>
    </item>
        <item>
      <title>Watching error counts</title>
      <link>http://www.eight-cubed.com/blog/archives/001064.html?from=rss</link>
      <guid isPermaLink="true">http://www.eight-cubed.com/blog/archives/001064.html</guid>
      <description>Here&apos;s a simple command procedure to monitor error counts.</description>
      <body xmlns="http://www.w3.org/1999/xhtml"><p>Here's a simple command procedure to monitor error counts.</p>
<div class="code">
<pre>
<code>
$! See end of file for comments
$       say := write sys$output
$       mail_target = "SYSTEM"
$       if .not. f$trnlnm ("SM_ERROR_TABLE", "LNM$SYSTEM_DIRECTORY",,,,"TABLE")
$       then
$           create -
                /name_table -
                /parent=lnm$system_directory -
                /prot=(s:rwed,o:rwed,g:rwed,w:re) -
                sm_error_table
$       endif
$loop:
$       device = f$device ()
$       if device .eqs. ""
$       then
$           goto exit
$       endif
$       errors = f$getdvi (device, "errcnt")
$       device = device - "_" - ":"
$       if errors .eq. 0
$       then
$           if f$trnlnm (device, "SM_ERROR_TABLE") .nes. ""
$           then
$               reset = f$getdvi (device, "error_reset_time")
$               deassign/table=sm_error_table "''device'"
$               sub = "Error count reset for ''device' at ''reset'."
$               mail/sub="''sub' nl: 'mail_target
$           endif
$       else
$           prev_count = f$integer (f$trnlnm (device, "SM_ERROR_TABLE"))
$           if prev_count .lt. errors
$           then
$               sub = "Error count for ''device' increased from " + -
                      "''prev_count' to ''errors'."
$               mail/sub="''sub'" nl: 'mail_target
$           endif
$           define/table=sm_error_table 'device' 'f$string (errors)'
$       endif
$       goto loop
$exit:
$       exit
$!++
$!
$! DESCRIPTION
$!
$!      Very simple command procedure designed to run every 15 minutes
$!      under Kronos to watch changes in error counts on devices on the system.
$!      Store device error counts in a logical name table.
$!
$!      The DCL will report two events.  1) Errors increasing from zero and 2)
$!      the error count being reset to zero.
$!
$! AUTHOR
$!
$!      James F. Duff
$!
$! MODIFICATIONS
$!
$!      Jim Duff        08-Mar-2007
$!      Original version of module
$!
$!--
</code>
</pre>
</div></body>
      <dc:subject>Systems Management</dc:subject>
      <dc:date>2008-03-28T14:07:25+11:00</dc:date>
            
      
      <slash:comments>0</slash:comments>
            <trackback:ping>http://www.eight-cubed.com/cgi-bin/mt-tb.cgi/367</trackback:ping>
      
      <wfw:commentRss>http://www.eight-cubed.com/blog/archives/commentrss/001064.rss</wfw:commentRss>
    </item>
        <item>
      <title>It&apos;s (nearly) always your fault</title>
      <link>http://www.eight-cubed.com/blog/archives/001063.html?from=rss</link>
      <guid isPermaLink="true">http://www.eight-cubed.com/blog/archives/001063.html</guid>
      <description>Having worked both as an application programmer and a systems manager, Jeff&apos;s article on accepting that bugs are most likely in your code rings all too true.</description>
      <body xmlns="http://www.w3.org/1999/xhtml"><p>Having worked both as an application programmer and a systems manager, Jeff's article on <a href="http://www.codinghorror.com/blog/archives/001079.html">accepting that bugs are most likely in your code</a> rings all too true.</p>

<p><a href="http://www.eight-cubed.com/blog/archives/000030.html">One memorable situation</a>, suggests that some programmers perhaps selected the wrong career.</p></body>
      <dc:subject>Programming</dc:subject>
      <dc:date>2008-03-24T19:20:43+11:00</dc:date>
            
      
      <slash:comments>2</slash:comments>
            <trackback:ping>http://www.eight-cubed.com/cgi-bin/mt-tb.cgi/366</trackback:ping>
      
      <wfw:commentRss>http://www.eight-cubed.com/blog/archives/commentrss/001063.rss</wfw:commentRss>
    </item>
        <item>
      <title>Python 2.5.2 for OpenVMS</title>
      <link>http://www.eight-cubed.com/blog/archives/001060.html?from=rss</link>
      <guid isPermaLink="true">http://www.eight-cubed.com/blog/archives/001060.html</guid>
      <description>Python 2.5.2 has been released for OpenVMS.  I&apos;ve successfully installed it on my machine.

Thanks, JFP!</description>
      <body xmlns="http://www.w3.org/1999/xhtml"><p><a href="http://vmspython.dyndns.org/">Python 2.5.2</a> has been released for OpenVMS.  I've successfully installed it on my machine.</p>

<p>Thanks, JFP!</p></body>
      <dc:subject>OpenVMS</dc:subject>
      <dc:date>2008-02-27T16:20:06+11:00</dc:date>
            
      
      <slash:comments>0</slash:comments>
            <trackback:ping>http://www.eight-cubed.com/cgi-bin/mt-tb.cgi/365</trackback:ping>
      
      <wfw:commentRss>http://www.eight-cubed.com/blog/archives/commentrss/001060.rss</wfw:commentRss>
    </item>
        <item>
      <title>Shadow watch</title>
      <link>http://www.eight-cubed.com/blog/archives/001053.html?from=rss</link>
      <guid isPermaLink="true">http://www.eight-cubed.com/blog/archives/001053.html</guid>
      <description>A procedure to alert systems management of reduction in membership of host based shadow sets.</description>
      <body xmlns="http://www.w3.org/1999/xhtml"><p>There has been a recent discussion over at Usenet newsgroup comp.os.vms concerning backup strategies and suchlike.  One of the obvious solutions being proposed is a combination of host and controller based disk mirroring, including splitting and recombining disks to retain redundancy at all times.</p>
<p>One poster commented that "it sometimes works too well i.e. a single drive fails in a set and no one notices it. Then a few months later, a second drive fails and then that's it".</p>
<p>This has me worried, so to ensure people notice when a shadow set is reduced, I present the following command procedure:</p>


</body>
      <dc:subject>Systems Management</dc:subject>
      <dc:date>2007-12-17T09:30:20+11:00</dc:date>
            
      
      <slash:comments>3</slash:comments>
            <trackback:ping>http://www.eight-cubed.com/cgi-bin/mt-tb.cgi/364</trackback:ping>
      
      <wfw:commentRss>http://www.eight-cubed.com/blog/archives/commentrss/001053.rss</wfw:commentRss>
    </item>
        <item>
      <title>Common file qualifier routines</title>
      <link>http://www.eight-cubed.com/blog/archives/001051.html?from=rss</link>
      <guid isPermaLink="true">http://www.eight-cubed.com/blog/archives/001051.html</guid>
      <description>Did you know there is a standard mechanism for implementing the common file selection qualifiers such as /EXCLUDE, /BEFORE, /SINCE, and so on?  These are the UTIL$CQUAL_* routines, documented in the Utility Routines Manual.</description>
      <body xmlns="http://www.w3.org/1999/xhtml"><p>Did you know there is a standard mechanism for implementing the common file selection qualifiers such as /EXCLUDE, /BEFORE, /SINCE, and so on?  These are the UTIL$CQUAL_* routines, documented in the <a href="http://h71000.www7.hp.com/DOC/83final/4493/4493pro_004.html#4493_cqual_chap">Utility Routines Manual</a>.</p>

<p>I'd do an example here, but you can't get much better than the example in the documentation.  If you are creating a utility that deals with user-selected file specs, you should definitely check out these routines.</p></body>
      <dc:subject>Programming</dc:subject>
      <dc:date>2007-12-05T07:15:33+11:00</dc:date>
            
      
      <slash:comments>0</slash:comments>
            <trackback:ping>http://www.eight-cubed.com/cgi-bin/mt-tb.cgi/363</trackback:ping>
      
      <wfw:commentRss>http://www.eight-cubed.com/blog/archives/commentrss/001051.rss</wfw:commentRss>
    </item>
        <item>
      <title>Umm, what?</title>
      <link>http://www.eight-cubed.com/blog/archives/001050.html?from=rss</link>
      <guid isPermaLink="true">http://www.eight-cubed.com/blog/archives/001050.html</guid>
      <description>Does Martin Fink, head of the Business Critical Systems Group at HP think that RMS is a third party product?</description>
      <body xmlns="http://www.w3.org/1999/xhtml"><p>Recently, a webcast was done by Martin Fink, who is the head of the Business Critical Systems Group at HP.  This group encompasses OpenVMS.</p>

<p>A series of questions where formulated in consultation with the Encompass members and delivered to Mr Fink prior to the webcast.  Now, not having seen the webcast, I'm not sure if he addressed them during the event, however he responded in writing and Encompass <a href="https://www.encompassus.org/community/sigs/FinkQuestionsAnswers.doc">published the questions and answers</a> [.doc] on their website.</p>

<p>Reading through them, most seem like the standard political dodge.  That is, say a lot while not saying a lot.  Now, I hate to be negative on here, but questions and answers like this really worry me, particularly when the answers are not off the cuff:</p>

<p><b>Q:</b> The OpenVMS customer base relies on some key ISVs in selected markets. Without strong ISV support, the VMS customer base will shrivel and die. We are aware that individuals in HP are working to persuade ISVs to deploy on HP-UX instead of OpenVMS. What is HP doing to support existing and attract new ISVs in those market segments and customers who rely on key, distinctive OpenVMS features and technologies?</p>

<p><b>A:</b> ISVs continue to invest in and port their applications to OpenVMS – a manifestation of their endorsement and HP's encouragement. HP's strategy is to work towards the availability of the applications our customers demand. These include key databases such as Oracle Rdb, Oracle 10gR2, InterSystems Cach&#201;, and RMS. The OpenVMS lab helps key ISVs port their software to OpenVMS on Integrity servers as well as to validate the functionality of the base operating systems, layered products, and compilers. Plus, HP sponsors Integrity Porting Workshops for ISVs, as well as end user customers who develop in-house applications. </p>

<p>Wonderful.  This sounds like the man in charge of OpenVMS thinks RMS is a third party product...</p></body>
      <dc:subject>OpenVMS</dc:subject>
      <dc:date>2007-10-29T10:20:16+11:00</dc:date>
            
      
      <slash:comments>0</slash:comments>
            <trackback:ping>http://www.eight-cubed.com/cgi-bin/mt-tb.cgi/362</trackback:ping>
      
      <wfw:commentRss>http://www.eight-cubed.com/blog/archives/commentrss/001050.rss</wfw:commentRss>
    </item>
        <item>
      <title>Great article from internetnews.com</title>
      <link>http://www.eight-cubed.com/blog/archives/001049.html?from=rss</link>
      <guid isPermaLink="true">http://www.eight-cubed.com/blog/archives/001049.html</guid>
      <description>internetnews.com has published a great article in reference to the 30th anniversary of OpenVMS&apos;s release.  It&apos;s certainly worth a read.</description>
      <body xmlns="http://www.w3.org/1999/xhtml"><p>internetnews.com has published a <a href="http://www.internetnews.com/ent-news/article.php/3707631">great article</a> in reference to the 30th anniversary of OpenVMS's release.  It's certainly worth a read.</p></body>
      <dc:subject>OpenVMS</dc:subject>
      <dc:date>2007-10-28T11:19:02+11:00</dc:date>
            
      
      <slash:comments>0</slash:comments>
            <trackback:ping>http://www.eight-cubed.com/cgi-bin/mt-tb.cgi/361</trackback:ping>
      
      <wfw:commentRss>http://www.eight-cubed.com/blog/archives/commentrss/001049.rss</wfw:commentRss>
    </item>
        <item>
      <title>Happy 30th, VMS!</title>
      <link>http://www.eight-cubed.com/blog/archives/001048.html?from=rss</link>
      <guid isPermaLink="true">http://www.eight-cubed.com/blog/archives/001048.html</guid>
      <description>25th October 1977 was the day that VAX VMS made its debut.  30 years later, it&apos;s still going strong and being actively developed.  Click on the 30th Anniversary image over in the menu bar to visit the HP site celebrating the event!</description>
      <body xmlns="http://www.w3.org/1999/xhtml"><p>25th October 1977 was the day that VAX VMS made its debut.  30 years later, it's still going strong and being actively developed.  Click on the <a href="http://www.hp.com/go/openvms30">30th Anniversary</a> image over in the menu bar to visit the HP site celebrating the event!</p></body>
      <dc:subject>OpenVMS</dc:subject>
      <dc:date>2007-10-25T23:59:59+11:00</dc:date>
            
      
      <slash:comments>0</slash:comments>
            <trackback:ping>http://www.eight-cubed.com/cgi-bin/mt-tb.cgi/360</trackback:ping>
      
      <wfw:commentRss>http://www.eight-cubed.com/blog/archives/commentrss/001048.rss</wfw:commentRss>
    </item>
        <item>
      <title>Debugging tricks, part 2</title>
      <link>http://www.eight-cubed.com/blog/archives/001047.html?from=rss</link>
      <guid isPermaLink="true">http://www.eight-cubed.com/blog/archives/001047.html</guid>
      <description>In Part 1, we saw that the OpenVMS debugger could be invoked dynamically via a call to lib$signal.  This is rather cool, but even better is that you can pass commands directly to the debugger.  If you have ever had an end user call you up to report an error, and after you&apos;ve asked them to read you the message and traceback they say Oh, I don&apos;t have it on the screen any more, then this trick is for you.</description>
      <body xmlns="http://www.w3.org/1999/xhtml"><p>In <a href="http://www.eight-cubed.com/blog/archives/001046.html">Part 1</a>, we saw that the OpenVMS debugger could be invoked dynamically via a call to <code>lib$signal</code>.  This is rather cool, but even better is that you can pass commands directly to the debugger.</p>
<p>If you have ever had an end user call you up to report an error, and after you've asked them to read you the message and traceback they say <q>Oh, I don't have it on the screen any more</q>, then this trick is for you.</p></body>
      <dc:subject>Programming</dc:subject>
      <dc:date>2007-10-16T14:27:49+11:00</dc:date>
            
      
      <slash:comments>0</slash:comments>
            <trackback:ping>http://www.eight-cubed.com/cgi-bin/mt-tb.cgi/359</trackback:ping>
      
      <wfw:commentRss>http://www.eight-cubed.com/blog/archives/commentrss/001047.rss</wfw:commentRss>
    </item>
        <item>
      <title>Debugging tricks, part 1</title>
      <link>http://www.eight-cubed.com/blog/archives/001046.html?from=rss</link>
      <guid isPermaLink="true">http://www.eight-cubed.com/blog/archives/001046.html</guid>
      <description>Back in the days of VMS on VAX, a standard trick for software developers was to use the PATCH command to turn off the debug bit in an image file that had been compiled and linked with the /DEBUG qualifier.  In this way, the image could be deployed into production with full debugging symbol tables available, allowing the developers to flip one bit to obtain full debug support if required for troubleshooting.  A more elegant way to achieve the same functionality today is to directly invoke the debugger from your image.</description>
      <body xmlns="http://www.w3.org/1999/xhtml"><p>Back in the days of VMS on VAX, a standard trick for software developers was to use the <code>PATCH</code> command to turn off the debug bit in an image file that had been compiled and linked with the <code>/DEBUG</code> qualifier.  In this way, the image could be deployed into production with full debugging symbol tables available, allowing the developers to flip one bit to obtain full debug support if required for troubleshooting.</p>
<p>A more elegant way to achieve the same functionality today is to directly invoke the debugger from your image.</p></body>
      <dc:subject>Programming</dc:subject>
      <dc:date>2007-10-15T11:35:58+11:00</dc:date>
            
      
      <slash:comments>0</slash:comments>
            <trackback:ping>http://www.eight-cubed.com/cgi-bin/mt-tb.cgi/358</trackback:ping>
      
      <wfw:commentRss>http://www.eight-cubed.com/blog/archives/commentrss/001046.rss</wfw:commentRss>
    </item>
        <item>
      <title>PCRE for VMS</title>
      <link>http://www.eight-cubed.com/blog/archives/001045.html?from=rss</link>
      <guid isPermaLink="true">http://www.eight-cubed.com/blog/archives/001045.html</guid>
      <description>I&apos;m sure someone has done it before, but as I couldn&apos;t find a definitive reference to it on the web, I&apos;ve ported PCRE to VMS.  I&apos;m in the middle of testing it at the moment, but I don&apos;t foresee any errors...</description>
      <body xmlns="http://www.w3.org/1999/xhtml"><p>I'm sure someone has done it before, but as I couldn't find a definitive reference to it on the web, I've ported <a href="http://www.pcre.org/">PCRE</a> to VMS.  I'm in the middle of testing it at the moment, but I don't foresee any errors...</p></body>
      <dc:subject>Programming</dc:subject>
      <dc:date>2007-09-16T13:38:41+11:00</dc:date>
            
      
      <slash:comments>2</slash:comments>
            <trackback:ping>http://www.eight-cubed.com/cgi-bin/mt-tb.cgi/357</trackback:ping>
      
      <wfw:commentRss>http://www.eight-cubed.com/blog/archives/commentrss/001045.rss</wfw:commentRss>
    </item>
        <item>
      <title>Prioritizing cluster comms</title>
      <link>http://www.eight-cubed.com/blog/archives/001044.html?from=rss</link>
      <guid isPermaLink="true">http://www.eight-cubed.com/blog/archives/001044.html</guid>
      <description>Hoff&apos;s blog often gives me a push to post something on here.  Recently, he was talking about SCACP usage, and I thought &quot;Gee, I have a nice little DCL command procedure that does circuit prioritization using that.  I should post it&quot;.  So, here it is.</description>
      <body xmlns="http://www.w3.org/1999/xhtml"><p>Hoff's blog often gives me a push to post something on here.  Recently, he was talking about <a href="http://64.223.189.234/node/496">SCACP usage</a>, and I thought "Gee, I have a nice little DCL command procedure that does circuit prioritization using that.  I should post it".  So, here it is.</p>
<div class="code">
<pre><code>
$! See end of file for comments.
$       say := write sys$output
$       status = 1
$!
$       set on
$       on warning then goto error
$
$       if .not. f$getsyi ("NISCS_LOAD_PEA0")
$       then
$           say "NISCS_LOAD_PEA0 is false.  Nothing to do."
$           goto exit
$       endif
$!
$       required_privs = "SYSPRV,DIAGNOSE"
$       old_privs = f$setprv (required_privs)
$       if .not. f$privilege (required_privs)
$       then
$           say "Required privs: " + required_privs
$           status = 36
$           goto exit
$       endif
$!
$       procedure = f$environment ("procedure")
$       procedure = f$parse (procedure,,,,"NO_CONCEAL")
$!
$       smci = 3        ! Priority for Shared memory cluster interconnect
$       smlan = 2       ! Priority for Shared memory LAN interconnect
$       mc = 1          ! Priority for memory channel
$       ni = 0          ! Priority for network interconnects (gigabit)
$       ci = 0          ! Priority for original CI, such as CIPCAs
$!
$       mode = f$mode ()
$       if mode .eqs. "BATCH" .or. mode .eqs. "INTERACTIVE"
$       then
$           temp_file = f$unique () + ".com"
$           open/write temp_file 'temp_file
$           write temp_file "$ mcr sysman"
$           write temp_file "$ deck
$           write temp_file "set e/c"
$           write temp_file "do @''procedure'"
$           write temp_file "$ eod"
$           write temp_file "$ exit"
$           close temp_file
$           @'temp_file'
$           deletex/nolog 'temp_file';*
$       else
$           galaxy = f$getsyi ("galaxy_member")
$           if galaxy
$           then
$               galaxy_mbrs = f$edit (f$getsyi ("glx_mbr_name"), "compress")
$           endif
$           temp_file = f$unique () + ".dat"
$           define/user sys$output 'temp_file'
$           mcr scacp show circuit
$           start_found = 0
$           open temp_file 'temp_file
$loop:
$           read/end_of_file=end_loop temp_file record
$           length = f$length (record)
$           if f$locate ("----", record) .lt. length
$           then
$               start_found = 1
$               goto loop
$           endif
$           if .not. start_found
$           then
$               goto loop
$           endif
$           record = f$edit (record, "trim, upcase, compress")
$           node = f$element (0, " ", record)
$           port = f$element (1, " ", record)
$           type = f$element (7, " ", record)
$           if type .eqs. " "
$           then
$               type = f$element (6, " ", record)
$           endif
$
$           if type .eqs. "NI"
$           then
$               if galaxy
$               then
$                   if f$locate (node, galaxy_mbrs) .lt. f$length (galaxy_mbrs)
$                   then
$                       priority = smlan
$                   else
$                       priority = ni
$                   endif
$               else
$                   priority = ni
$               endif
$           endif
$           if type .eqs. "SMCI"
$           then
$               priority = smci
$           endif
$           if type .eqs. "MC"
$           then
$               priority = mc
$           endif
$           if type .eqs. "CIPCA" .or. type .eqs. "HSJ"
$           then
$               priority = ci
$           endif
$           say "mcr scacp set circuit/port=''port'/prio=''priority' ''node'"
$           mcr scacp set circuit/port='port'/prio='priority' 'node'
$
$           goto loop
$end_loop:
$           close temp_file
$           deletex/nolog 'temp_file';*
$       endif
$       goto exit
$error:
$       status = $status
$       set noon
$       say "Unexpected error in SCACP.COM: " + f$fao ("!8XL", status)
$exit:
$       if f$type (old_priv) .nes. ""
$       then
$           old_priv = f$setprv (old_priv)
$       endif
$       exit status
$!
$!++
$!
$! DESCRIPTION
$!
$!      As of VMS 7.3-1, the algoritm for selecting cluster communications
$!      when PEDRIVER is loaded has changed so that gigabit ethernet is
$!      selected, even if a more appropriate interconnect such as memory
$!      channel is available.  This command procedure prioritized the
$!      cluster circuits so that we selete shared memory interconnects first
$!      (if we are in a galaxy), then memory channel, then gig ethernet,
$!      and CI last.  The priorities are set at the top of the command
$!      procedure in symbols that should be obvious.  Change these to change
$!      the order.
$!
$!      You should add this to your scheduler to run every hour or so.  The
$!      command procedure works in two different modes.   If it's run from
$!      interactive or batch modes, it creates a command procedure to run
$!      itself via SYSMAN on all nodes in the cluster.  If it's running as
$!      the sysman job, it does the priority setting for the circuits.
$!
$!      You may need to adjust this code depending on how your scheduler works.
$!
$! AUTHOR
$!
$!      James F. Duff
$!
$! DATE
$!
$!      02-Jun-2005
$!
$! MODIFICATIONS
$!
$!      JFD    02-Jun-2005    Original version of module.
$!
$!--
</code></pre>
</div>
</body>
      <dc:subject>Systems Management</dc:subject>
      <dc:date>2007-09-04T12:56:55+11:00</dc:date>
            
      
      <slash:comments>1</slash:comments>
            <trackback:ping>http://www.eight-cubed.com/cgi-bin/mt-tb.cgi/356</trackback:ping>
      
      <wfw:commentRss>http://www.eight-cubed.com/blog/archives/commentrss/001044.rss</wfw:commentRss>
    </item>
    

  </channel>
</rss>