Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Avalon R4 uses a new approach to storing the file locations of derivative files. A new key, streaming.content_path, in the config/avalon.yml configuration file describes the current storage location. Administrators should configure this content path to be streaming derivatives. Administrators should modify their avalon.yml configuration to point to the absolute path of the folder that will be used for storing Avalon derivatives.If the 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:

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


If the file storage location changes, administrators should update the configuration file. Existing  Existing derivative files will still continue to point to the original storage location.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
Code Block
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

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

3. Restart Matterhorn

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

Code Block
streaming:
  content_path: /mnt/my_nfs_new

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

Code Block
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