Implement a Site-Written RUR Plugin
How to get that site-written plugin to actually do something
cray_rur service settings and enabled.- Ensure that the site written plugin is located on a file system that is readable by compute nodes, owned by
root, and not writeable by non-rootusers. - Invoke an interactive configurator session.
smw# cfgset update -m interactive -s -l interactive cray_rur p0 Service Configuration Menu (Config Set: p0, type: cle) cray_rur [ status: enabled ] [ validation: valid ] ----------------------------------------------------------------- Selected # Settings Value/Status (level=basic) ----------------------------------------------------------------- ... 42) data_plugins [ 5 sub-settings unconfigured, select and enter C to add entries ] 43) output_plugins [ 4 sub-settings unconfigured, select and enter C to add entries ] - Add a site-written data plugin.
- Select the number corresponding to the
data_pluginssetting.RUR service Menu [default: save & exit - Q] $ 42
The setting is highlighted:* 42) data_plugins True
- Add a data plugin name.
RUR service Menu [default: configure - C] $ C ... cray_rur.settings.data_plugins [<cr>=set 0 entries, +=add an entry, ?=help, @=less] $ + cray_rur.settings.data_plugins.data.plugin_name [<cr>=set '', <new value>, ?=help, @=less] $ sitedataplug
- Add the complete path to the data plugin's staging script.
cray_rur.settings.data_plugins.data.sitedataplug.stage [<cr>=set 'none', <new value>, ?=help, @=less] $ /opt/cray/rur/default/bin/sitedataplug_stage.py
- Add the complete path to the data plugin's post script.
cray_rur.settings.data_plugins.data.sitedataplug.post [<cr>=set 'none', <new value>, ?=help, @=less] $ /opt/cray/rur/default/bin/sitedataplug_post.py
- (Optional) Add a data plugin argument
arg.cray_rur.settings.data_plugins.data.sitedataplug.arg [<cr>=set 'none', <new value>, ?=help, @=less] $ <cr>
- Enable the data plugin.
cray_rur.settings.data_plugins.data.sitedataplug.enable [<cr>=set 'true', <new value>, ?=help, @=less] $ <cr>
The configured values are displayed:1) 'sitedataplug' a) stage: /opt/cray/rur/default/bin/sitedataplug_stage.py b) post: /opt/cray/rur/default/bin/sitedataplug_post.py c) arg: none d) enable: True - Set the completed data plugin entry.
cray_rur.settings.data_plugins [<cr>=set 1 entries, +=add an entry, ?=help, @=less] $ <cr>
Thedata_pluginssetting is updated.42) data_plugins plugin_name: sitedataplug [ OK ]
- Select the number corresponding to the
- Add a site-written output plugin.
- Select the number corresponding to the
output_pluginssetting.RUR service Menu [default: save & exit - Q] $ 43
The setting is highlighted:* 43) output_plugins True
- Add an output plugin name.
RUR service Menu [default: configure - C] $ C ... cray_rur.settings.output_plugins [<cr>=set 0 entries, +=add an entry, ?=help, @=less] $ + cray_rur.settings.output_plugins.data.plugin_name [<cr>=set '', <new value>, ?=help, @=less] $ siteoutplug
- Add the path to the output plugin script or binary.
cray_rur.settings.output_plugins.data.siteoutplug.output [<cr>=set 'none', <new value>, ?=help, @=less] $ /opt/cray/rur/site/bin/siteoutplug_output.py
- (Optional) Add an output plugin argument
arg.cray_rur.settings.output_plugins.data.siteoutplug.arg [<cr>=set 'none', <new value>, ?=help, @=less] $ <cr>
- Enable the output plugin.
cray_rur.settings.output_plugins.data.siteoutplug.enable [<cr>=set 'true', <new value>, ?=help, @=less] $ <cr>
The configured values are displayed:1) 'siteoutplug' a) output: /opt/cray/rur/site/bin/siteoutplug_output.py b) arg: none c) enable: True - Set the completed output plugin entry.
cray_rur.settings.output_plugins [<cr>=set 1 entries, +=add an entry, ?=help, @=less] $ <cr>
Theoutput_pluginssetting is updated.42) output_plugins plugin_name: siteoutplug [ OK ]
- Select the number corresponding to the
- Save and exit the configurator.
RUR service Menu [default: save & exit - Q] $ Q
To apply these configuration changes, refresh the appropriate nodes with the updated config set.