Getting the VM Image
Installation via virtual machine image is deprecated as of Avalon 6.5. If you're looking for automated installation, please see our documentation on installing Avalon with Docker.
This documentation is for Release 6.x.
|These instructions will walk you through the process of downloading, booting, and configuring a CentOS 7.x virtual machine image containing Docker containers of Avalon, Fedora, Red5 and Opencast Matterhorn, with additional instructions on loaded sample audio and video content.|
1. Getting a Virtualization Product
The Avalon VM is distributed as an Open Virtualization Appliance which should be compatible with these Virtual machine products:
- VirtualBox (Free. Avalon VM is developed on VirtualBox)
- Redhat Enterprise Virtualization (Not free. Part of the RHEV product)
- VMWare (Some versions are free, others are not)
Other virtualization products may be used but they will require manually converting the OVA file into something useful.
2. Getting the Avalon Virtual Machine Image
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.
and is roughly 2GB. Due to the size, it may take some time to download.
3. Importing the Avalon VM Image
The OVA file currently contains release 6.4.2
Each virtualization product has different methods for using a VM appliance. The tested methods are below. If you use a product which is not listed, please contact us with usage instructions and we will add them here.
- Start the VirtualBox Manager
- Select the "File/Import Appliance..." menu item
- Press the "Open Appliance..." button and select the Avalon VM image you downloaded
- Press "Continue"
- Below the list of VM appliance settings, check the box next to "Reinitialize the MAC address of all network cards"
- Press "Import"
- The VM should now be visible in the list.
- Select the Avalon VM
Press the "Settings" icon
- Select the "Network" tab
- Make sure the "Attached to" field is set to "NAT"
- Press "OK"
- Press "Start" icon to boot the VM
- VirtualBox has networking quirks that require special configuration to make Avalon work in NAT mode. Please see VirtualBox Networking for details.
Users on Apple hardware may get the following error screen when starting the VM:
If you receive this dialog, click the Change Network Settings button followed by the OK in the following dialog to resolve the issue.
- Click on "Open a Virtual Machine"
- Select the .ova file you downloaded
- Press "Import"
- Press "Retry" to relax specification (if needed)
- Click on "Edit virtual machine settings"
- Click on "Network Adapter"
- Make sure it is set to NAT
- Press "Advanced..."
- Press "Generate" to create a new MAC address and press "Close"
- Press "Save"
- Click on "Network Adapter"
- Press "Play virtual machine"
Libvirt's Virtual Machine Manager
Virtual Machine Manager is an open source GUI front end to QEMU, KVM and other Linux-based virtualization products. It comes with Fedora Linux and other distributions. It doesn't directly support OVA files so manual conversion is required.
Unpack the OVA file. $DIST is where the VM files are going to be; $DOWNLOAD is where the OVA file was downloaded.
mkdir $DIST cd $DIST tar xvf $DOWNLOAD/avalon-vm.ova
The .vmdk file is the virtual disk image. The other files are settings for the VM (ovf) and checksum files (mf).
- Normally one would use virt-convert to convert .ovf to the right format, but there is a bug in it, so it has to be done by hand.
- By Hand Method
Convert disk image to qcow2
qemu-img convert -f vmdk -O qcow2 *.vmdk avalon-vm.qcow2
The VMDK file shipped is compressed so the new qcow2 file will be roughly twice as large. After the conversion the vmdk file is no longer needed and can be deleted.
Create a new VM
- Click on the "Create a new virtual machine" icon
- Enter the name for the virtual machine, select "Import existing disk image" and press "Forward"
- Select the disk image by pressing "Browse"
- Press "Browse Local"
- Navigate to $DIST
- Select the "avalon-vm.qcow2" file
- Select the OS type "Linux", Version "Red Hat Enterprise Linux 7" and press "Forward"
- Set the RAM to 3072 (3G) and press "Forward"
- Select "Customize configuration before install" and press "Finish"
- In the Configuration Window make these changes:
- In "NIC" set the source device to the macvtap enabled interface which represents the ethernet device of the host (usually eth0 or em1)
- Remove the DISK 1 Device and re-add it:
- Press "Add Hardware"
- Select the "Storage" tab
- Select "Select managed or other existing storage" and Browse
- Press "Browse Local"
- Navigate to $DIST and select the "avalon-vm.qcow2" file
- Set the device type to "Virtio disk"
- Set the cache mode to "default"
- Set the storage format to "qcow2"
- Press Finish
- Press "Begin Installation"
- By Hand Method
Generic VM Product
A generic VM product may be set up using these settings:
- Unpack the .ova file – it is just a tarball containing a .vmdk file and a configuration file
- Use these settings for the VM:
- 64-bit guest
- At least 2G of RAM (the shipped settings use 3G)
- At least 1 core
- Graphical Display
- System disk the the .vmdk from the .ova package
- The network interface must be bridged and have a unique MAC address
- Start the VM as appropriate for this VM software
Notes for ALL Virtualization Products
The disk image in the OVA package is dynamically-allocated with a maximum size of 500G. While the disk image may only use a few gigabytes when it is first used, it will grow as more data is placed into the VM. Most VMs behave unpredictably when the host system doesn't have enough disk space to satisfy guest OS requests. Monitor the disk usage closely.
4. Using the Avalon VM
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:
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:
grep avalondrop /root/avalon-setup.log
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):
/usr/share/avalon/avalon_config_email <comments_email> <notifications_email> <support_email> <smtp_server_address> <smtp_port>
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.
- Login using username
- Open the built-in Chrome browser and point it to http://localhost.
- Click on Login
- Click on Register new identity
- Sign up using the default firstname.lastname@example.org email to get admin access
After you have signed in, Avalon VM can be used like any other Avalon installation. The Avalon Collections Guide contains information for using Avalon. You can create new collections and add items. Additional features can be configured using feature specific documentation.
5. Installing Sample Content (Optional)
The sample content can be ingested through a batch ingest process
- Create a new collection, for example, DEMO
tar zxvf DemoFixturesBatch.tar.gz
mv ExampleBatchIngest/* /home/avalon/avalon-docker/masterfiles/dropbox/DEMO/
As the samples are ingested, you will see new items being added to the collection. Be patient as the media transcoding may take a while.
6. Building your own OVA file
If you want to build your own OVA file follow the instructions on https://github.com/avalonmediasystem/avalon-packer
Troubleshooting the Avalon VM
Because the OVA uses Docker and Docker-Compose, you can find instructions on how to navigate the stack on the avalon-docker github page
Reconfiguring the Avalon VM
Resetting the root password
- When the VM starts there is a 3 second countdown before the boot begins. Press the spacebar during this countdown to get the boot menu.
- Edit the boot entry and boot
- Press the 'e' key to edit the first boot entry
- Use the down arrow to highlight the line beginning with 'kernel' and press 'e'.
- Add " init=/bin/bash" to the line, making sure there is leading space separating it from the the end of the existing command line.
- Press 'enter' to go back to the root/kernel/initd selection screen
- press 'b' to boot
- The system will boot to a root shell
Change the password.
mount -o remount,rw / passwd root mount -o remount,ro /
- A hard reboot of the VM is required to restart the system.
Known Issues - a list of bugs, workarounds, and cautions.
In addition, there are some issues for us to consider in future releases of this VM image:
- Sometimes when using the dropbox a duplicate processing job appears in matterhorn and the first one will fail during distribute-hls. The second one processes normally.
|information||oddity, potential todo item||todo item||issue w/o workaround||issue with workaround|