Define Bind Mount Points Within a Config Set

How to persist bind points within a config set.

When a site's directory needs to be bind mounted, like the Cray Programming Environment (PE) image root, create a new image root that populates the bind mount point and the configure.

  1. Create a new image root using a recipe that populates a site directory, for example, /opt/site. This example uses an image root called site_image_root_name as the result of building this recipe into an image root.
    smw# recipe create site_image_recipe
    
  2. Extend the new recipe with sub-recipes, repositories, package collections, RPMs, and post_build_chroot and post_build_copy actions to get the site content into /opt/site of the image root.
  3. Build the image root from the recipe.
    smw# image create -r site_image_recipe site_image_root_name
    
  4. Push the image root (site_image_root_name) from the SMW to the boot node.
    Note that the following example uses image sqpush. If this image root will be modified and pushed more than once to test it, consider using image push instead. For more information, see About Image Pushes: push versus sqpush.
    smw# image sqpush -d boot site_image_root_name
    
  5. Update the cray_image_binding worksheet with a new profile named site. The profile settings define the image name and the bind directories. The listing that follows shows the necessary settings.
    cray_image_binding.settings.profiles.data.profile_name.site: null
    cray_image_binding.settings.profiles.data.site.image: site_image_root_name
    cray_image_binding.settings.profiles.data.site.bind_directories:
    /opt/site
    #cray_image_binding.settings.profiles.data.site.callbacks: []
    cray_image_binding.settings.profiles.data.site.enabled: false
    

    To have more than one directory from this image root bind mounted, add them to the directories setting.

    cray_image_binding.settings.profiles.data.site.bind_directories:
    /opt/site
    /opt/another_site
    /opt/last_site