Getting the VM Image
The VM image is located at http://www.dlib.indiana.edu/~bdwheele/avalon-vm.ova (temporarily).
The Avalon VM is shipped as a Open Virtualization Format OVA Package. OVF is supported by most VM products, including VirtualBox, Redhat Enterprise Virtualization, and VMWare.
The OVA file contains both the VM disk image as well as the settings for the VM guest. If you are using a solution which doesn't support OVF, the OVA package is a simple tarball which can be unpacked and set up manually.
Virtual Machine Settings
Tested VM Hosts
The image has been tested on
- VirtualBox (Linux host)
VM Guest Settings
The general settings for the VM guest must be:
- 64-bit guest
- At least 3G of RAM
- At least 1 core
- Graphical Display
The network adapter of the guest needs to be set to "Bridging" or "Attached to Bridged Adapter". This allows the guest to use an IP address which is visible to the outside world so clients can connect to it. Network Address Translation (NAT) or "User Mode" networking can be used when combined with port forwarding or port mapping, but setting up this configuration is beyond the scope of these instructions.
Free Disk Space
The disk image is in the VMDK format which is a sparsely-allocated disk image format: only the disk space actually in use by the guest (plus some mapping overhead) is used on the host. The image, as shipped, takes around XX gigabytes but from the guest's point of view it looks like a 500G disk. As Avalon stores files the disk space used on the host will increase. If the host doesn't have sufficient space for avalon's disk requests it will fail in unpredictable ways.
If there is a firewall on the network, these ports must be accessible to the clients:
|tcp/22||SSH and SFTP Access|
|tcp/1935||Streaming Media Access for Red5 (RTMP)|
The VM will take while to boot. This is normal since some of the system services are slow to start.
When the VM is booted for the first time you will be taken through a series of steps to configure the virtual machine for use. Many of the screens are the same as a standard CentOS or RedHat Enterprise Linux post-installation first boot. For reference, the RedHat documentation for this process is at https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Installation_Guide/ch-firstboot.html. Only pages which are specific to Avalon or differ from their RHEL counterparts are detailed below.
The Avalon and CentOS End User License Agreements are displayed. Agree to the licensing terms and press Forward to continue.
The Avalon EULA needs to be written
The default networking configuration uses DHCP. To change the networking configuration, press the Network Settings button to start the standard NetworkManager connection editor. When the network configuration is correct, press Forward to continue.
FFMPEG is an open source tool used to convert multimedia formats into other formats. While it is open source, there are some configurations that cannot be distributed as a binary package. Avalon uses such a configuration, so to adhere to the licensing restrictions, the end-user (you) have to build FFMPEG. To make the process easy, this screen offers a push button which will begin the process of building and installing a FFMPEG binary which will be used by avalon. The installation will not continue until FFMPEG is built.
The build can take 15 minutes or more to finish. Compiling FFMPEG is an intensive process and it may cause performance issues on the host.
Once FFMPEG is built, the terminal window will display a message informing you to press the Forward button to continue the installation.
If the build fails or otherwise has trouble, the installation will allow you to continue, but Avalon will not be fully functional. Contact the developers for assistance. The build log can be found in /root/ffmpeg-build.log.
Avalon will send email in response to different events or at the request of the users:
|User Comments||This is the destination email address for comments sent in by users|
|Avalon Notifications||If there are issues with processing or other outstanding requests, they are sent to this address|
Support questions from the end users are sent to this address
In addition to the email addresses, the setup also requires an SMTP relay host to use to send email. The port for the relay will usually be 587.
There are two more pieces of information required for the Avalon set up to complete.
- Access Hostname - this is the host name the users will use to connect to avalon. The default is the name returned by DNS for the IP of the machine. If a DNS alias is used then the name should be set to the alias.
- Initial User - Avalon requires an initial user to be set up at install. This user has the ability to manage other users. The username should look like an email address and the password cannot be blank.
Now that all of the changes have been made the Avalon is nearly ready to use. The access URL is displayed on this screen. Press Finish to reboot the machine and apply all of the changes.
Once the VM has rebooted and the login screen has appeared, the Avalon system is ready to use. To use Avalon, go to the access URL that was displayed and log in as the user that was created during the first boot.
If the URL that was displayed on the reboot screen doesn't work, the IP of the VM may have changed during the reboot. There are a couple of ways to determine the access URL:
- If a hostname is displayed on the login screen then CentOS was able to determine a name from the IP that was assigned to it and that name should be used. If this hostname doesn't work, try the next method.
If the login window displays a generic CentOS version string, then it was unable to find a DNS entry for the address it was given. Log in to the machine and run
and the name displayed will be the access hostname. This is the value that is inserted into the Avalon configuration files on boot, so it should work.
This is a test image so look at the Known Issues section below to resolve some of the problems with this image
Besides the hostname (which is covered above), all of the settings and passwords that were set by the install process are stored in /root/avalon-setup.log.
avalondrop user password
The random password generated for the SFTP dropbox user can be discovered by running this as root:
All of the avalon configuration scripts below leave a log of changes in /root/avalon-setup.log. Since this file may contain passwords, make sure the file permissions are set appropriately.
The avalon email addresses can be reconfigured by running (as root):
To use the existing value for any of the above arguments, use '-'. The Avalon application stack will need to be restarted for the changes to take effect.
To randomize the passwords used by Avalon, the command
can be used. The changes will appear in /root/avalon-setup.log and Avalon will need to be restarted to make sure the passwords work correctly.
Accessible Hostname Configuration
Reconfiguring the accessible network address is more complicated. On each reboot the accessible name is reconfigured during startup when
is run. If the file /etc/sysconfig/avalon_host_config contains a name, that is used for the accessible name, otherwise the DNS name for the host is used. If this script is run during normal operations, the avalon services will need to be restarted to be updated with the new configuration.
- the initial avalon administration user needs to be created during install
- the avalon EULA is nonsensical.
- should there be instructions for a NAT'd VM?
- is it ok that the avalondrop user can "cd .." and see other things?
- If VirtualBox doesn't have focus the screen may stop updating after a while for the build FFMPEG step. Giving VirtualBox focus updates the screen. This is probably related to the screensaver since it stops updating about 10 minutes in.
- Matterhorn has a queue that is named after the original DHCP hostname from install time.
- clear matterhorn services that were created during install.
- double jobs are appearing in matterhorn.
- If the hostname changes after the install the poster image for the video is broken – the matterhorn media package uses the original URL
|oddity, potential todo item||todo item||issue w/o workaround||issue with workaround|