Config Parser is a tool I wrote that will convert the configuration.xml used by vtServer into a human readable document. In the kit is a file named vtserver_parser.xsl which is an "Extensible Stylesheet Language Transformations" file. This is a tool designed for the resellers to help document the settings their customers use. It can also be used by the customers to document their own settings.

The tool has been tested with many vtAlpha configuration files and a few vtVAX configuration files. The tool needs to have code for every XML item it processes, so your specific configuraiton file might have XML items that are not yet handled in the code. If you have a configuration files that do not parse correctly then send the file to support@weaverconsulting and we will try to update the vtserver_parser.xsl file. We cannot promise that we will be able to update the file. The most recent version has "V4.2 July/2023" in the history section of vtserver_parser.xsl.

Usage

There are many ways you can use the files in this kit. Below are steps that I know have tested for Windows, MacOS, Unix and OpenVMS. In all the examples below the first step is to get the .tgz file from the vtServer. To do this part follow these steps;

Getting the Configuration

  1. Log into vtServer
  2. Select the virtual machine you want to work with
  3. Click on the hamburger symbol
  4. Select "Export Virtual Machine"
  5. The file may download automatically or you may have a dialog box to download it

Windows 11

To convert one xml into html the easiest method is to use Windows 11. The steps list show how to use Powershell, but you can also use the Command Prompt instead. If the "tar" command in step 3 does not work for you then you may not be on the latest updates for Windows 11.

  1. Have the .tgz file you downloaded from vtServer (see "Getting the Configuration" above) in the same directory you have thevtserver_parser.xsl file in
  2. Open the Powershell program on your PC and cd to that same directory
  3. Enter the command "tar -xf .\filename.tgz --directory ./ --strip-components 3 */configuration.xml" where filename is the name of your .tgz file
  4. Using a web browser and open the page https://www.w3schools.com/xml/tryxslt.asp?xmlfile=cdcatalog&xsltfile=cdcatalog_apply>
  5. In Powershell enter the command "type .\configuration.xml | clip"
  6. In the web browser click in the box under "XML Code" then press the keys CTRL-A to select the text in that box then press the keys CTRL-V to paste the xml
  7. In Powershell enter the command "type .\vtserver_parser.xsl | clip"
  8. In the web browser click in the box under "XSLT Code" then press the keys CTRL-A to select the text in that box then press the keys CTRL-V to paste the xslt
  9. Click on the button that says "Edit the XML or XSLT code above and Click Me >>"
  10. Click in the box below that button, press the keys CTRL-A to select the text then CTRL-C to copy it
  11. Open Word or your favourite editor and paste the code
  12. If you have text in the file that shows as %0A, %20, %2C or %2F you will need to manually edit those.

Windows 10 or non-current Windows 11

The steps are almost the same as Windows 11, but Windows 10 does not have the "tar" command. You will need to use a third party tool like 7-zip) to extract the file in step 3.

MacOS for a Single File

This works much the same as Windows but uses the Command key (⌘) instead of the CTRL key.

  1. Have the .tgz file you downloaded from vtServer (see "Getting the Configuration" above) in the same directory you have the vtserver_parser.xsl file in
  2. Open the terminal program on your Mac and cd to that same directory
  3. Enter the command "tar -xf .\filename.tgz --directory ./ --strip-components 3 */configuration.xml" where filename is the name of your .tgz file
  4. Using a web browser and open the page https://www.w3schools.com/xml/tryxslt.asp?xmlfile=cdcatalog&xsltfile=cdcatalog_apply
  5. In terminal enter the command "cat ./configuration.xml | pbcopy"
  6. In the web browser click in the box under "XML Code" then press the keys ⌘-A to select the text in that box then press the keys â-V to paste the xml
  7. In terminal enter the command "cat .\vtserver_parser.xsl | pbcopy"
  8. In the web browser click in the box under "XSLT Code" then press the keys ⌘-A to select the text in that box then press the keys â-V to paste the xslt
  9. Click on the button that says "Edit the XML or XSLT code above and Click Me >>"
  10. Click in the box below that button, press the keys ⌘-A to select the text then ⌘-C to copy it
  11. Open Pages or your favourite editor and paste the code
  12. If you have text in the file that shows as %0A, %20, %2C or %2F you will need to manually edit those.

Ubuntu

This method is best if you more than one file you want to process. If you are documenting configurations for a few customers, you can have the customers send you either the .tgz or the .xml files. This process will convert both .tgz and .xml files into .html files. This process also looks after converting the %0A, %20, %2C and %2F characters.

  1. Install the application xsltproc, in Ubuntu you can use the commands "sudo apt-get update" and "sudo apt-get install xsltproc"
  2. Have the .tgz file you downloaded from vtServer (see "Getting the Configuration" above) in the same directory you have the vtserver_parser.xsl and process_file.sh files
  3. You can also load .xml files in this directory if you have any that you already extracted
  4. You can have as many .tgz files as you want in this directory
  5. Enter the command "./process_files.sh"
  6. This will create one .html file for each .tgz and each .xml in the directory, open the html with your browser

MacOS for Multiple Files

This is basically the same as for Unix, the only difference I found is that I did not need to install xsltproc, it was already installed on my Mac

This method is best if you more than one file you want to process. If you are documenting configurations for a few customers, you can have the customers send you either the .tgz or the .xml files. This process will convert both .tgz and .xml files into .html files. This process also looks after converting the %0A, %20, %2C and %2F characters.

  1. Have the .tgz file you downloaded from vtServer (see "Getting the Configuration" above) in the same directory you have the vtserver_parser.xsl and process_file.sh files
  2. You can also load .xml files in this directory if you have any that you already extracted
  3. You can have as many .tgz files as you want in this directory
  4. Enter the command "./process_files.sh"
  5. This will create one .html file for each .tgz and each .xml in the directory, open the html with your browser

OpenVMS with Apache

In the kit are scripts that can be used on OpenVMS with Apache. Once you process the files then you can open them on your webserver by just browsing the the .xml.

Example vtAlpha xml

Example html Output

Alpha Configuration

This configuration is using emulator_config Version 1.1.

This is a test configuration.
It has a few disks, terminals and serial ports defined.
It also has a multi-line comment.

Environment

Item Value Comments
Configuration Name Demo of vtserver_alpha xslt
Log File logfile.log

Machine Definition

Item Value Comments
Machine Type AlphaServer DS20
System Marketing Model usually blank
Custom hardware name usually blank

CPU Details

Item Value Comments
CPU Acceleration ON This has no effect on vtAlpha-AS, should be left ON for all other machines unless changed by vtAlpha support.
JIT Processors 0 Only used under guidance of you vtAlpha support organization.
NVRAM File nvram.dat This file is used to store boot options of the Alpha, such as auto_action etc.
Number of CPUs 1
CPU Major Type Leave blank unless directed by vtAlpha support
CPU Minor Type Leave blank unless directed by vtAlpha support
CPU Variant Leave blank unless directed by vtAlpha support
CPU Revision Leave blank unless directed by vtAlpha support
CPU Serial Number Define only if needed
Trace Level 0 Leave as 0 unless directed by vtAlpha support

Memory

Item Value Comments
Memory Size 128 in MB

Built-in Terminals

Item Value Comments
Terminal opa0
Port/Device 20001 Telnet or SSH port or Physical Device
Log File /data/termina_opa0.log Logging can slow down performance
Password *hidden* If OPA0 uses telnet or a physical port then you should either firewall it or password protect it, ssh will automatically password protect it<
Baud Rate Only for Physical Devices
Time Stamps yes If there is a log file this will time stamp each logged entry
Line Trace Level Should only be used when troubleshooting
Options This can be raw or nodelay or blank
Item Value Comments
Terminal com2
Port/Device 20002 Telnet or SSH port or Physical Device
Log File Logging can slow down performance
Password *hidden* If OPA0 uses telnet or a physical port then you should either firewall it or password protect it, ssh will automatically password protect it
Baud Rate Only for Physical Devices
Time Stamps no If there is a log file this will time stamp each logged entry
Line Trace Level Should only be used when troubleshooting
Options This can be raw or nodelay or blank

Device Naming Rules

For vtAlpha-AS and -BS models, adapters are configured in the following order: Slot 2, 0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14. The first non-empy slot from that list becomes A, the second non-empty slot from that list becomes B. For example, SCSI adapters configured in slots 0, 1 and 2 will be designated PKB, PKC, and PKA, respectively. If the adapters are configured in slots 1, 3, and 5, they will be designated PKA, PKB, and PKC, respectively.

For vtAlpha-CS models, the configuration sequence is slot 0, 1, 6, 7, 8

For vtAlpha-DS and .ES models, the sequence is bus 1, slot 0 - 5, then bus 0 slot 0 - 3.

PCI Bus # 0

Item Value Comments
Type SCSI Virtual Disk
Bus 0 For vtAlpha-DS and vtAlpha-ES we configure bus 1 then bus 0, all others have only 1 bus
Slot 1 See Device Naming Rules to see the order slots are configured
Bus Target 7
LUN 0
Trace Level 0 Leave as 0 unless directed by vtAlpha support
SCSI Target 0
LUN 0 The LUN can be used to modify the device name, see the reference manual for details
Bus Trace Level 0 Leave as 0 unless directed by vtAlpha support
Device /data/vms84tapemgr.vdisk
Read Only no
Removeable no
Shared no
Read Cache yes Can improve IO performance, but do not use when shared
Write Cache yes Can improve IO performance, but do not use when shared
Extended Mode no
LBN
Sectors
Tracks
Cylinders
Vendor
Product
Revision
Serial AV99592554
WWID 6b4e-1eb0-9045-6000-ecae-5c89-653b-502a
Item Value Comments
Type SCSI Virtual Disk
Bus 0 For vtAlpha-DS and vtAlpha-ES we configure bus 1 then bus 0, all others have only 1 bus
Slot 1 See Device Naming Rules to see the order slots are configured
Bus Target 7
LUN 0
Trace Level 0 Leave as 0 unless directed by vtAlpha support
SCSI Target 4
LUN 0 The LUN can be used to modify the device name, see the reference manual for details
Bus Trace Level 0 Leave as 0 unless directed by vtAlpha support
Device /data/ALPHA084.ISO
Read Only yes
Removeable no
Shared no
Read Cache yes Can improve IO performance, but do not use when shared
Write Cache no Can improve IO performance, but do not use when shared
Extended Mode no
LBN
Sectors
Tracks
Cylinders
Vendor
Product
Revision
Serial AV13901341
WWID 6b4e-1eb0-9045-6000-cb8b-ca73-e34f-f11e
Item Value Comments
Type Physical Disk
Bus 0 For vtAlpha-DS and vtAlpha-ES we configure bus 1 then bus 0, all others have only 1 bus
Slot 1 See Device Naming Rules to see the order slots are configured
Bus Target 7
LUN 0
Trace Level 0 Leave as 0 unless directed by vtAlpha support
SCSI Bus Number
SCSI Target 5
SCSI LUN 0 The SCSI LUN can be used to modify the device name, see the reference manual for details
SCSI Bus Trace Level 0 Leave as 0 unless directed by vtAlpha support
SCSI Device /dev/sr0
Read Only yes
Removeable yes
Shared yes
Read Cache yes Can improve IO performance, but do not use when shared
Write Cache no Can improve IO performance, but do not use when shared
Item Value Comments
Type Virtual Tape
Bus 0 For vtAlpha-DS and vtAlpha-ES we configure bus 1 then bus 0, all others have only 1 bus
Slot 2 See Device Naming Rules to see the order slots are configured
Bus Target 7
LUN 0
Trace Level 0 Leave as 0 unless directed by vtAlpha support
SCSI Bus Number
SCSI Target 0
SCSI LUN 0 The SCSI LUN can be used to modify the device name, see the reference manual for details
SCSI Bus Trace Level 0 Leave as 0 unless directed by vtAlpha support
SCSI Device /data/tape.vtape
Read Only no
Autoload yes
Compression no
Format Default
Maximum Size
Vendor
Product
Revision
Serial AV19186113
WWID 6b4e-1eb0-9045-6000-3bbd-5718-189b-36be

PCI Bus # 1

Item Value Comments
Ethernet Device de600
Bus 1 For vtAlpha-DS and vtAlpha-ES we configure bus 1 then bus 0, all others have only 1 bus
Slot 0 See Device Naming Rules to see the order slots are configured
Trace Level 0 Leave as 0 unless directed by vtAlpha support
Interface eth1 This is the physical port on the host
MAC Normally blank unless licensing requires it
Trace Level 0 Leave as 0 unless directed by vtAlpha support

Serial Line

Item Value Comments
Line 0
Port or Physical Device ssh:2300
Options Valid options are raw or nodelay
Trace Level
Log File
Time Stamp
Password none
Line 1
Port or Physical Device ssh:2301
Options Valid options are raw or nodelay
Trace Level
Log File
Time Stamp
Password none
Line 2
Port or Physical Device ssh:2302
Options Valid options are raw or nodelay
Trace Level
Log File
Time Stamp
Password none
Line 3
Port or Physical Device ssh:2303
Options Valid options are raw or nodelay
Trace Level
Log File
Time Stamp
Password none
Line 4
Port or Physical Device ssh:2304
Options Valid options are raw or nodelay
Trace Level
Log File
Time Stamp
Password none
Line 5
Port or Physical Device ssh:2305
Options Valid options are raw or nodelay
Trace Level
Log File
Time Stamp
Password none
Line 6
Port or Physical Device ssh:2306
Options Valid options are raw or nodelay
Trace Level
Log File
Time Stamp
Password none
Line 7
Port or Physical Device ssh:2307
Options Valid options are raw or nodelay
Trace Level
Log File
Time Stamp
Password none