Difference between revisions of "Using the VistA Appliance"

From VistApedia
Jump to: navigation, search
m (Development Milestones)
m (Development Milestones)
Line 6: Line 6:
 
== Development Milestones ==
 
== Development Milestones ==
 
Test bed Progress
 
Test bed Progress
*Host Configuration:  95%
+
*'''Host Configuration''':  95%
 
**Virtual tool selection: 100% (QEMU)
 
**Virtual tool selection: 100% (QEMU)
 
**Virtual tool installed with QEMU Accelorator Module (optional)
 
**Virtual tool installed with QEMU Accelorator Module (optional)
Line 13: Line 13:
 
**CPRS installed and launch script prepared - 100%
 
**CPRS installed and launch script prepared - 100%
 
**Code review and optimiazation - 5%
 
**Code review and optimiazation - 5%
<br>
+
*'''Guest Configuration''':  80%
*Guest Configuration:  80%
 
 
**Modifications to inetd - 100%
 
**Modifications to inetd - 100%
 
**automatically start and stop Taskaman - 100%
 
**automatically start and stop Taskaman - 100%
 
**Code review and optimiazation - 5%
 
**Code review and optimiazation - 5%
<br>
 
 
*Installer design and development:  2%
 
*Installer design and development:  2%
<br>
+
*Security Review and Certification: 0%
*Security cerrtification: 0%
 
<br>
 
 
*User documentation:   
 
*User documentation:   
<br>
 
 
*Technical documentation: 1%
 
*Technical documentation: 1%
<br>
 
 
*Testing and User Acceptance:  0%
 
*Testing and User Acceptance:  0%
  

Revision as of 03:28, 31 January 2007

Project Goal

Create a plug and play VistA virtual appliance to support training and demonstration activities.

The following are working notes for a project in progress.

Development Milestones

Test bed Progress

  • Host Configuration: 95%
    • Virtual tool selection: 100% (QEMU)
    • Virtual tool installed with QEMU Accelorator Module (optional)
    • VA Demo Appliance(Toaster) downloaded - 100%
    • Launch script preapred to run QEMU and VA Demo appliance - 100%
    • CPRS installed and launch script prepared - 100%
    • Code review and optimiazation - 5%
  • Guest Configuration: 80%
    • Modifications to inetd - 100%
    • automatically start and stop Taskaman - 100%
    • Code review and optimiazation - 5%
  • Installer design and development: 2%
  • Security Review and Certification: 0%
  • User documentation:
  • Technical documentation: 1%
  • Testing and User Acceptance: 0%

Development Steps

Host architecture

 Directory structure & Initial Set-up (Pre-Installer Work Envinonment)

QEMU

Extracted files from downloaded file, 'qemu-0.8.2-windows.zip'
Directory 'qemu-0.8.2-windows' is produced when extaction is complete
Moved 'qemu-0.8.2-windows' directory to 'C:\Program Files\qemu-0.8.2-windows'

QEMU Accelerator Module

Extracted files from downloaded file, 'kqemu-1.3.0pre9.tar.gz'
Directory 'kqemu-1.3.0pre9' is produced when extaction is complete
Moved 'kqemu-1.3.0pre9' directory to 'C:\Program Files\kqemu-1.3.0pre9'
Right click on 'kqemu.inf' and select 'Install' from pop-up menu

VA VistA Demo Toaster 20060926

Extracted files from downloaded file, 'VAVistADemo20060912.zip'
File 'VAVistADemo20060912.qcow' is produced when extaction is complete
Moved 'VAVistADemo20060912.qcow' directory to 'C:\Program Files\qemu-0.8.2-windows'

Updates to VA VistA Demo Toaster appliance: http://groups.google.com/group/Hardhats/browse_thread/thread/89ba7bbdf941b19?hl=en

Modifications to inetd configuration (courtesy KS BHaskar):

To enable inetd to start automatically, 
execute each of the following commands once.  When you reboot your 
Toaster, inetd will start automatically: 

sudo ln -s /etc/init.d/inetd /etc/rc2.d/S20inetd 
sudo ln -s /etc/init.d/inetd /etc/rc3.d/S20inetd 
sudo ln -s /etc/init.d/inetd /etc/rc4.d/S20inetd 
sudo ln -s /etc/init.d/inetd /etc/rc5.d/S20inetd 
sudo ln -s /etc/init.d/inetd /etc/rc1.d/K20inetd 
sudo ln -s /etc/init.d/inetd /etc/rc2.d/K20inetd 
sudo ln -s /etc/init.d/inetd /etc/rc3.d/K20inetd 
sudo ln -s /etc/init.d/inetd /etc/rc4.d/K20inetd 
sudo ln -s /etc/init.d/inetd /etc/rc5.d/K20inetd 

Enhancement to automatically start and stop Taskaman (courtesy KS BHaskar):

Edit the file /etc/init.d/VAVistADemo20060926 (e.g., with "sudo 
beaver /etc/init.d/VAVistADemo20060926" which gives you a WYSIWYG GUI 
editor), and make it look like this: 

---------------------------------------------- 
#!/bin/sh 

PATH=/bin:/usr/bin:/sbin:/usr/sbin 

source /usr/local/gtm_V5.2-000/gtmprofile 
cd /var/VAVistADemo20060926/gtm_V5.2-000 

case "$1" in 
  start) 
        sudo -u dsl /usr/local/gtm_V5.2-000/mupip journal -recover - 
backward g/mumps.mjl 
        sudo -u dsl ./run RESTART^ZTMB <<EOF 
Y 
EOF 
        ;; 
  stop) 
        sudo -u dsl ./run STOP^ZTMKU <<EOF 
Y 
Y 
EOF 
        sleep 5 
        sudo -u dsl killall mumps 
        sudo -u dsl /usr/local/gtm_V5.2-000/mupip journal -recover - 
backward g/mumps.mjl 
        ;; 
  *) 
        echo "Usage: /etc/init.d/VAVistADemo20060926 {start|stop}" 
        exit 1 
esac 

exit 0 
---------------------------------------------- 

Taskman will automatically start when you boot the Toaster, and shut 
down when you stop it. 


  • Guest launch scripting

Modifications: qemu-win.bat

The .bat file that comes with QEMU has been modified to launch Toaster.

The original file:

REM Start qemu on windows.
@ECHO OFF
REM SDL_VIDEODRIVER=directx is faster than windib. But keyboard cannot work well.
SET SDL_VIDEODRIVER=windib
REM SDL_AUDIODRIVER=waveout or dsound can be used. Only if QEMU_AUDIO_DRV=sdl.
SET SDL_AUDIODRIVER=dsound
REM QEMU_AUDIO_DRV=dsound or fmod or sdl or none can be used. See qemu -audio-
help.
SET QEMU_AUDIO_DRV=dsound
REM QEMU_AUDIO_LOG_TO_MONITOR=1 displays log messages in QEMU monitor.
SET QEMU_AUDIO_LOG_TO_MONITOR=0
qemu.exe -L . -m 128 -hda linux.img -soundhw all -localtime

The modified file: (UPDATED 01/28/06 - added 'net start kqemu' to launch QEMU Accelerator Module

net start kqemu
REM Start qemu on windows.
@ECHO OFF
REM SDL_VIDEODRIVER=directx is faster than windib. But keyboard cannot work well.
SET SDL_VIDEODRIVER=windib
REM SDL_AUDIODRIVER=waveout or dsound can be used. Only if QEMU_AUDIO_DRV=sdl.
SET SDL_AUDIODRIVER=dsound
REM QEMU_AUDIO_DRV=dsound or fmod or sdl or none can be used. See qemu -audio-help.
SET QEMU_AUDIO_DRV=dsound
REM QEMU_AUDIO_LOG_TO_MONITOR=1 displays log messages in QEMU monitor.
SET QEMU_AUDIO_LOG_TO_MONITOR=0
qemu.exe -L . -m 128 -hda -soundhw all -localtime -redir tcp:2222::22 -redir tcp:9297::9297 VAVistADemo20060912.qcow

Client connection configuration

CPRS Connection CPRS can connect to the appliance from the host with "CPRSChart s=localhost p=9297 CCOW=DISABLE".

  • Above string stored in batch file. Batch file copied to CPRS directory.
  • Windows Hosts file modifcation not required after all(inserting '127.0.0.1 BROKERSERVER')

Guest architecture

  • Guest loading scripting
    1. Start up / Shut down (/etc/init.d/)
      1. Start/stop TaskMan
      2. Start/stop RPCBroker (or use inetd/xinetd)
    2. ...


If you start Taskman, retrieving data in the background will work for the CPRS client. The Access and Verify codes are VistAis#1 and #1isVistA respectively.

  • Can Taskman be start automatically on guest OS boot?

Development Resources

  • [1] QEMU Main Page

Installation files

  • [2] QEMU on Windows provides precompiled QEMU versions for Windows.
  • [3] QEMU Accelerator Module
  • [4] Detailed release notes and VA VistA Demo Toaster 20060926
  • [5] BigFiles: file sharing

Open Issues & Questions

  • Gain permission to distribute QEMU Accelerator Module


[6] Time Zone Map