Using the VistA Appliance: Difference between revisions

From VistApedia
Jump to navigationJump to search
Line 32: Line 32:
<pre>
<pre>
Extracted files from downloaded file, 'VAVistADemo20060912.zip'
Extracted files from downloaded file, 'VAVistADemo20060912.zip'
File 'xxxx' is produced when extaction is complete
File 'VAVistADemo20060912.qcow' is produced when extaction is complete
Moved 'xxxx' directory to 'C:\Program Files\qemu-0.8.2-windows'
Moved 'VAVistADemo20060912.qcow' directory to 'C:\Program Files\qemu-0.8.2-windows'
</pre>
</pre>



Revision as of 00:13, 30 January 2007

Project Goal

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

Development Milestones

Virtual environment selection: QEMU

  • Host Configuration: 10%
  • Guest Configuration: 33%
  • Installer design and development: 2%
  • Security cerrtification: 0%
  • User documentation: 5%
  • 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".

  • Need to understand where to add the above string.
  • Need steps to configure Hosts file (C:\WINDOWS\system32\drivers\etc)

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