ovis
ovis copied to clipboard
fix ldmsd -a order dependence bug and enable independent -x listeners
In addition to fixing sequence dependence (-x before -a yields wrong default authentication setting) of listener options, this patch extends the -x option syntax to -x xprt:port[:host][@auth[:authopts]] This allows multiple listener specifications with independent authentication methods from the command line to simplify startup via systemd service scripts or test cases. Previously all -x options were tied to the same (-a) authentication method.
Internal documentation of cleanup also added.
looking into what it is about the test that causes this fail. there's been no protocol changes other than the command line, so if fixing a bug has unmasked another bug then fixing the test script will be the solution.
@nichamon can you review this whenever you get a chance?
I don't propose this patch for the pending release if we are sticking to the tomorrow-release schedule.
Alternatively to this redesign, we accept order dependence of -a -A -x, but allow multiple specification of the -a -A and -x, with the last values seen for -a,-A becoming the defaults. This would require a different patch that unifies the -x processing with the -a/-A parsing but allow the redefinition of -a/-A until all cmdline options have processed.
@baallan, should we revert your previous patch? I had erroneously assumed that it had been tested.
the previous patch wasn't applied. i closed it and opened this one after porting the previous patch to Mons rearranged option handling.
@baallan, @nichamon why are we doing this exactly? What is wrong with the expanded auth configuration supported in the configuration files.
@baallan, @nichamon why are we doing this exactly? What is wrong with the expanded auth configuration supported in the configuration files.
@tom95858 Yes, the configuration commands in the configuration files support specifying a specific authentication for each listening endpoint. As @baallan was the one who made the changes, I'll wait for him to answer your questions.
In case someone isn't familiar with how to do this in the configuration files, here are some examples. You can find examples of configuration files with such usages here https://github.com/ovis-hpc/ovis/tree/OVIS-4/ldms/examples/cmdline-opts.
auth_add name=my_munge plugin=munge
listen xprt=sock port=10002 auth=my_munge # NOTE: auth=<auth_domain_name>
auth_add name=munge # If 'plugin' is not given, the plugin name and the authentication domain name are the same.
listen xprt=sock port=10003 auth=munge
@baallan, @nichamon why are we doing this exactly? What is wrong with the expanded auth configuration supported in the configuration files.
@tom95858 this allows us to start a daemon from a command line in a systemd script with multiple listeners with distinct auth methods and no dependence on another configuration file. Such a daemon can be ready for immediate contact by user applications or by maestro configuration.
@nichamon, @baallan, where are we on this. This patch seems to break things correct?
i need to respond yet to Mon's latest comments. converted to draft for now.
@tom95858 why are you closing something marked as draft?
@baallan because it's been in this state since December 14?
@baallan can we please close this?
Given the changes in adjacent parts of the code, I will need to redo from scratch enabling multiple listeners from the command line.