About 2, maybe perhaps of a configuration option, I'd implement a decorator for RPC methods to be used by clients, where if the message is to be sent in a namespace, it's sent, and if an unsupported version exception is caught, it resends (Exactly once) the message in the null namespace.
Cons: Every message is sent twice during an upgrade for upgraded agents IF they were upgraded *before* the server (I don't think this is common practice?).
Pros: Simpler for the admin.
I could also enable Oslo messaging to send a message in multiple namespaces, but, meh. Doesn't make too much sense.
I'm with you on 1.
About 2, maybe perhaps of a configuration option, I'd implement a decorator for RPC methods to be used by clients, where if the message is to be sent in a namespace, it's sent, and if an unsupported version exception is caught, it resends (Exactly once) the message in the null namespace.
Cons: Every message is sent twice during an upgrade for upgraded agents IF they were upgraded *before* the server (I don't think this is common practice?).
Pros: Simpler for the admin.
I could also enable Oslo messaging to send a message in multiple namespaces, but, meh. Doesn't make too much sense.