Streaming Derivative File Locations

Avalon R4 uses a new approach to storing the file locations of streaming derivatives. Administrators should modify their avalon.yml configuration to point to the absolute path of the folder that will be used to store Avalon derivatives (see below). In almost all circumstances, the path will exactly match the org.opencastproject.streaming.directory in Matterhorn’s config.properties file.

In config/settings.yml:

...
streaming:
...
  content_path: /path/to/streaming/derivatives
...


If the file storage location changes, administrators should update the configuration file. Existing derivative files will continue to point to the original location. Existing derivatives can be updated to reference the newer file location by calling the #set_streaming_locations! method on each derivative.

Moving derivative files location

If you need to move all derivative files to a new location, say from /mnt/my_nfs_old to /mnt/my_nfs_new, you'll need to do the following:

  1. Change Matterhorn's config at <matterhorn_root>/etc/config.properties
org.opencastproject.streaming.directory=/mnt/my_nfs_new

2. Change Matterhorn's config at <matterhorn_root>/etc/load/org.opencastproject.organization-mh_default_org.cfg

prop.avalon.stream_base=file:///mnt/my_nfs_new

3. Restart Matterhorn

4. Change <avalon_root>/config/settings/production.local.yml

streaming:
  content_path: /mnt/my_nfs_new

5. Go into the Rails console and update all Derivatives with new location

Derivative.where('derivativeFile_ssi:*/mnt/my_nfs_old*').each {|d| d.absolute_location = d.absolute_location.sub("/mnt/my_nfs_old","/mnt/my_nfs_new"); d.save!; puts d.absolute_location}

6. Restart Resque worker and scheduler