<div dir="ltr"><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:justify" id="docs-internal-guid-cded69ac-c84c-2e60-bd98-d9ab785fa63b"><span style="font-size:16px;font-family:"Times New Roman";color:rgb(0,0,0);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline">Hello Stackers.</span></p><br><br><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:justify"><span style="font-size:16px;font-family:"Times New Roman";color:rgb(0,0,0);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline">    <br></span></p><p style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:justify;margin-left:40px"><span style="font-size:16px;font-family:"Times New Roman";color:rgb(0,0,0);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline"></span><span style="font-size:16px;font-family:"Times New Roman";color:rgb(0,0,0);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline"><span style="font-size:16px;font-family:"Times New Roman";color:rgb(0,0,0);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline">        </span>When i was browsing through bugs of oslo.messaging [1] i found one [2] pretty interesting (it’s old as universe), but it doesn’t seem like a bug, mostly like a blueprint. <br></span></p><p style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:justify;margin-left:40px"><span style="font-size:16px;font-family:"Times New Roman";color:rgb(0,0,0);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline">Digging into code of oslo.messaging i’ve found that, at least, for now, there’s no way launch single service that would be able to handle <br></span></p><p style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:justify;margin-left:40px"><span style="font-size:16px;font-family:"Times New Roman";color:rgb(0,0,0);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline">multiple versions (actually it can if manager implementation can handle request for different RPC API versions).</span></p><p style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:justify;margin-left:40px"><span style="font-size:16px;font-family:"Times New Roman";color:rgb(0,0,0);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline"><br></span></p><p style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:justify;margin-left:40px"><span style="font-size:16px;font-family:"Times New Roman";color:rgb(0,0,0);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline">        So, i’d like to understand if it’s still valid? And if it is i’d like to collect use cases from all projects and see if oslo.messaging can handle such case.</span></p><p style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:justify;margin-left:40px"><span style="font-size:16px;font-family:"Times New Roman";color:rgb(0,0,0);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline">But, as first step to understanding multi-versioning/multi-managers strategy for RPC services, i want to clarify few things. Current code maps <br></span></p><p style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:justify;margin-left:40px"><span style="font-size:16px;font-family:"Times New Roman";color:rgb(0,0,0);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline">single version to a list of RPC service endpoints implementation, so here comes question:</span></p><br><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;margin-left:72pt;text-align:justify"><span style="font-size:16px;font-family:"Times New Roman";color:rgb(0,0,0);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline"> -</span><span style="font-size:16px;font-family:"Times New Roman";color:rgb(0,0,0);background-color:transparent;font-weight:normal;font-style:italic;font-variant:normal;text-decoration:none;vertical-align:baseline"> Does a set of endpoints represent single RPC API version cap?</span></p><br><p style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:justify;margin-left:40px"><span style="font-size:16px;font-family:"Times New Roman";color:rgb(0,0,0);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline"><span style="font-size:16px;font-family:"Times New Roman";color:rgb(0,0,0);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline">        </span>If that’s it, how should we represent multi-versioning? If we’d follow existing pattern: each RPC API version cap represents its own set of endpoints,</span></p><p style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:justify;margin-left:40px"><span style="font-size:16px;font-family:"Times New Roman";color:rgb(0,0,0);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline"> let me provide some implementation details here, for now ‘endpoints’ is a list of classes for a single version cap, but if we’d support multiple version</span></p><p style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:justify;margin-left:40px"><span style="font-size:16px;font-family:"Times New Roman";color:rgb(0,0,0);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline"> caps ‘endpoints’ would become a dictionary that contains pairs of ‘version_cap’-’endpoints’. This type of multi-versioning seems to be the easiest.</span></p><br><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-indent:36pt;text-align:justify"><span style="font-size:16px;font-family:"Times New Roman";color:rgb(0,0,0);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline"><br></span></p><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-indent:36pt;text-align:justify"><span style="font-size:16px;font-family:"Times New Roman";color:rgb(0,0,0);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline">Thoughts/Suggestion?</span></p><br><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:justify"><span style="font-size:16px;font-family:"Times New Roman";color:rgb(0,0,0);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline"><br></span></p><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:justify"><span style="font-size:16px;font-family:"Times New Roman";color:rgb(0,0,0);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline">[1] <a href="https://bugs.launchpad.net/oslo.messaging">https://bugs.launchpad.net/oslo.messaging</a></span><a href="https://launchpad.net/oslo.messaging" style="text-decoration:none"><span style="font-size:16px;font-family:"Times New Roman";color:rgb(17,85,204);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline"></span></a></p><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:justify"><span style="font-size:16px;font-family:"Times New Roman";color:rgb(0,0,0);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline">[2] </span><a href="https://bugs.launchpad.net/oslo.messaging/+bug/1050374" style="text-decoration:none"><span style="font-size:16px;font-family:"Times New Roman";color:rgb(17,85,204);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline">https://bugs.launchpad.net/oslo.messaging/+bug/1050374</span></a></p><br><br><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:justify"><span style="font-size:16px;font-family:"Times New Roman";color:rgb(0,0,0);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline">Kind regards,</span></p><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt;text-align:justify"><span style="font-size:16px;font-family:"Times New Roman";color:rgb(0,0,0);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline">Denis Makogon</span></p></div>