<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""></blockquote><font color="#5856d6" class=""><br class=""></font><span class="" style="font-family: HelveticaNeue; white-space: pre-wrap; margin: 0px; padding: 1px 0px; cursor: auto;">Hi </span><span class="author-a-psfz85zvz74zpl7z70zz82zz70zz76zz71zz74z1" style="font-family: HelveticaNeue; white-space: pre-wrap; margin: 0px; padding: 1px 0px; cursor: auto;">folks,</span><br class=""><font color="#5856d6" face="HelveticaNeue" class=""><span style="white-space: pre-wrap;" class=""><br class=""></span></font><span class="author-a-psfz85zvz74zpl7z70zz82zz70zz76zz71zz74z1" style="font-family: HelveticaNeue; white-space: pre-wrap; margin: 0px; padding: 1px 0px; cursor: auto;">s</span><span class="" style="font-family: HelveticaNeue; white-space: pre-wrap; margin: 0px; padding: 1px 0px; cursor: auto;">tarting from the Newton release Murano supports multi-region applications deployment [1]</span><span class="author-a-psfz85zvz74zpl7z70zz82zz70zz76zz71zz74z1" style="font-family: HelveticaNeue; white-space: pre-wrap; margin: 0px; padding: 1px 0px; cursor: auto;"> and t</span><span class="" style="font-family: HelveticaNeue; white-space: pre-wrap; margin: 0px; padding: 1px 0px; cursor: auto;">his feature </span><span class="author-a-psfz85zvz74zpl7z70zz82zz70zz76zz71zz74z1" style="font-family: HelveticaNeue; white-space: pre-wrap; margin: 0px; padding: 1px 0px; cursor: auto;">required</span><span class="" style="font-family: HelveticaNeue; white-space: pre-wrap; margin: 0px; padding: 1px 0px; cursor: auto;"> some changes in the Core Library design.</span><span class="author-a-psfz85zvz74zpl7z70zz82zz70zz76zz71zz74z1" style="font-family: HelveticaNeue; white-space: pre-wrap; margin: 0px; padding: 1px 0px; cursor: auto;"> Specifically a</span><span class="" style="font-family: HelveticaNeue; white-space: pre-wrap; margin: 0px; padding: 1px 0px; cursor: auto;">fter this patch references to all region-spec</span><span class="author-a-psfz85zvz74zpl7z70zz82zz70zz76zz71zz74z1" style="font-family: HelveticaNeue; white-space: pre-wrap; margin: 0px; padding: 1px 0px; cursor: auto;">i</span><span class="" style="font-family: HelveticaNeue; white-space: pre-wrap; margin: 0px; padding: 1px 0px; cursor: auto;">fic resources are held in the CloudRegion class instead of the Environment class </span><span class="author-a-psfz85zvz74zpl7z70zz82zz70zz76zz71zz74z1" style="font-family: HelveticaNeue; white-space: pre-wrap; margin: 0px; padding: 1px 0px; cursor: auto;">leading to the </span><span class="" style="font-family: HelveticaNeue; white-space: pre-wrap; margin: 0px; padding: 1px 0px; cursor: auto;">change of the 'Environment::defaultNetworks' property contract. The $.class() contracts for the ‘environment’ and ‘flat’ members have been replaced with the $.template() contracts. And now the 'Environment::defaultNetworks' property is a template of the Network class for the region networks.</span><br class=""><font color="#5856d6" face="HelveticaNeue" class=""><span style="white-space: pre-wrap;" class=""><br class=""></span></font><span class="" style="font-family: HelveticaNeue; white-space: pre-wrap; margin: 0px; padding: 1px 0px; cursor: auto;">For application developers it means that you can’t use an ‘Environtment.defaultNetwork.environment’ object for retrieving a default environment network anymore, because semantics of the term “Default environment network” has been changed for multi-cloud deployment.</span><span class="author-a-psfz85zvz74zpl7z70zz82zz70zz76zz71zz74z1" style="font-family: HelveticaNeue; white-space: pre-wrap; margin: 0px; padding: 1px 0px; cursor: auto;"> From now on </span><span class="" style="font-family: HelveticaNeue; white-space: pre-wrap; margin: 0px; padding: 1px 0px; cursor: auto;">you should retrieve a CloudRegion object from the CloudResource subclasses and ask for a default network for a region.</span><br class=""><font color="#5856d6" face="HelveticaNeue" class=""><span style="white-space: pre-wrap;" class=""><br class=""></span></font><span style="font-family: HelveticaNeue; white-space: pre-wrap;" class="">Warning: existing applications using ‘Environtment.defaultNetwork.environment’ object will be broken after the Newton release.</span><br class=""><font color="#5856d6" face="HelveticaNeue" class=""><span style="white-space: pre-wrap;" class=""><br class=""></span></font><span class="" style="font-family: HelveticaNeue; white-space: pre-wrap; margin: 0px; padding: 1px 0px; cursor: auto;">This change does not affect most of the existing applications but we observe</span><span class="author-a-psfz85zvz74zpl7z70zz82zz70zz76zz71zz74z1" style="font-family: HelveticaNeue; white-space: pre-wrap; margin: 0px; padding: 1px 0px; cursor: auto;"> some</span><span class="" style="font-family: HelveticaNeue; white-space: pre-wrap; margin: 0px; padding: 1px 0px; cursor: auto;"> usage of ‘Environtment.defaultNetwork’ </span><span class="author-a-psfz85zvz74zpl7z70zz82zz70zz76zz71zz74z1" style="font-family: HelveticaNeue; white-space: pre-wrap; margin: 0px; padding: 1px 0px; cursor: auto;"> </span><span class="author-a-t0z65zp9vz71zq2z77z0z80z8z67zz90zz87z" style="font-family: HelveticaNeue; white-space: pre-wrap; margin: 0px; padding: 1px 0px; cursor: auto;">for determining network where Instance was deployed to</span><span class="author-a-psfz85zvz74zpl7z70zz82zz70zz76zz71zz74z1" style="font-family: HelveticaNeue; white-space: pre-wrap; margin: 0px; padding: 1px 0px; cursor: auto;">. To archive same functionality I had extended Instance class [2] and once this patch will be merged you should use it in the following way</span><br class=""><font color="#5856d6" face="HelveticaNeue" class=""><span style="white-space: pre-wrap;" class=""><br class=""></span></font><blockquote type="cite" class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="ace-line" style="margin: 0px; padding: 0px 1px 0px 0px; white-space: pre-wrap;" id="magicdomid23"><ol class="list-number1" style="margin: 0px; padding: 0px;"><li style="margin: 0px; padding: 0px; display: block;" class=""><div class=""><div class=""><br class=""></div></div></li></ol><li class=""><span class="co3" style="font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace, serif; color: green;">- $networks</span><span class="sy2" style="font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace, serif; font-weight: bold; color: rgb(165, 42, 42);">: </span><span style="color: rgb(51, 51, 51); background-color: rgb(255, 255, 255); font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace, serif;" class="">$instance.joinedNetworks</span></li><li class=""><span class="co3" style="font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace, serif; color: green;">- For</span><span class="sy2" style="font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace, serif; font-weight: bold; color: rgb(165, 42, 42);">: </span><span style="color: rgb(51, 51, 51); background-color: rgb(255, 255, 255); font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace, serif;" class="">networkInfo</span></li><li class=""><span class="co3" style="font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace, serif; color: green;"> In</span><span class="sy2" style="font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace, serif; font-weight: bold; color: rgb(165, 42, 42);">: </span><span style="color: rgb(51, 51, 51); background-color: rgb(255, 255, 255); font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace, serif;" class="">$networks</span></li><li class=""><span class="co4" style="font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace, serif; color: rgb(0, 127, 69);"> Do</span><span style="color: rgb(51, 51, 51); background-color: rgb(255, 255, 255); font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace, serif;" class="">:</span></li><li class=""><span class="co3" style="background-color: rgb(248, 248, 248); font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace, serif; color: green;"> - $networkObject</span><span class="sy2" style="background-color: rgb(248, 248, 248); font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace, serif; font-weight: bold; color: rgb(165, 42, 42);">: </span><span style="color: rgb(51, 51, 51); background-color: rgb(248, 248, 248); font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace, serif;" class="">$networkInfo.network</span></li><li class=""><span class="co3" style="font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace, serif; color: green;"> - $ipListInNetwork</span><span class="sy2" style="font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace, serif; font-weight: bold; color: rgb(165, 42, 42);">: </span><span style="color: rgb(51, 51, 51); background-color: rgb(255, 255, 255); font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace, serif;" class="">$networkInfo.ipList</span></li><li class=""><span class="co3" style="font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace, serif; color: green;"> - $privateIpListInNetwork</span><span class="sy2" style="font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace, serif; font-weight: bold; color: rgb(165, 42, 42);">: </span><span style="color: rgb(51, 51, 51); background-color: rgb(255, 255, 255); font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace, serif;" class="">$networkInfo.ipList.where</span><span class="br0" style="color: rgb(51, 51, 51); font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace, serif;">(</span><span style="color: rgb(51, 51, 51); background-color: rgb(255, 255, 255); font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace, serif;" class="">$ != $instance.floatingIpAddress</span><span class="br0" style="color: rgb(51, 51, 51); font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace, serif;">)</span></li><div class=""><br class=""></div></div></div></blockquote><font color="#5856d6" class=""><span style="white-space: pre-wrap;" class=""><br class=""></span></font><span style="white-space: pre-wrap;" class="">If what to determine region default network, you can use following cod</span><br class=""><font color="#5856d6" class=""><span style="white-space: pre-wrap;" class=""><br class=""></span></font><blockquote type="cite" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="ace-line" style="margin: 0px; padding: 0px 1px 0px 0px; white-space: pre-wrap;"><div class=""><span class="co3" style="font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace, serif; color: green;">- $region</span><span class="sy2" style="font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace, serif; font-weight: bold; color: rgb(165, 42, 42);">: </span><span style="color: rgb(51, 51, 51); background-color: rgb(255, 255, 255); font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace, serif;" class="">$instance.getRegion</span><span class="br0" style="color: rgb(51, 51, 51); font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace, serif;">(</span><span class="br0" style="color: rgb(51, 51, 51); font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace, serif;">)</span><br class=""><span class="co3" style="font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace, serif; color: green;">- $regionDefaultNetworks</span><span class="sy2" style="font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace, serif; font-weight: bold; color: rgb(165, 42, 42);">: </span><span style="color: rgb(51, 51, 51); background-color: rgb(255, 255, 255); font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace, serif;" class="">$region.defaultNetworks</span></div></div></div></blockquote><font color="#5856d6" face="HelveticaNeue" class=""><span style="white-space: pre-wrap;" class=""><br class=""></span></font><span style="font-family: HelveticaNeue; white-space: pre-wrap;" class="">Please review the change and provide your feedback - [2]</span><br class=""><font color="#5856d6" face="HelveticaNeue" class=""><span style="white-space: pre-wrap;" class=""><br class=""></span></font><span style="font-family: HelveticaNeue; white-space: pre-wrap;" class="">P.S. This patch covers only case with Neutron networks. Patch for Nova networks not ready yet.</span><br class=""><font color="#5856d6" face="HelveticaNeue" class=""><span style="white-space: pre-wrap;" class=""><br class=""></span></font><span style="font-family: HelveticaNeue; white-space: pre-wrap;" class="">References:</span><br class=""><span class="author-a-psfz85zvz74zpl7z70zz82zz70zz76zz71zz74z1" style="font-family: HelveticaNeue; white-space: pre-wrap; margin: 0px; padding: 1px 0px; cursor: auto;">[1] </span><span class="author-a-psfz85zvz74zpl7z70zz82zz70zz76zz71zz74z1 url" style="font-family: HelveticaNeue; white-space: pre-wrap; margin: 0px; padding: 1px 0px; cursor: auto;"><a href="https://review.openstack.org/351298" style="margin: 0px; padding: 0px; cursor: pointer !important;" class="">https://review.openstack.org/351298</a></span><br class=""><span class="author-a-psfz85zvz74zpl7z70zz82zz70zz76zz71zz74z1" style="font-family: HelveticaNeue; white-space: pre-wrap; margin: 0px; padding: 1px 0px; cursor: auto;">[2] </span><span class="author-a-psfz85zvz74zpl7z70zz82zz70zz76zz71zz74z1 url" style="font-family: HelveticaNeue; white-space: pre-wrap; margin: 0px; padding: 1px 0px; cursor: auto;"><span style="cursor: pointer !important;" class=""><a href="https://review.openstack.org/362036" class="">https://review.openstack.org/362036</a></span></span><br class=""><font color="#5856d6" face="HelveticaNeue" class=""><span style="white-space: pre-wrap;" class=""><br class=""></span></font><span style="white-space: pre-wrap; font-family: HelveticaNeue;" class="">—</span><br class=""><span style="font-family: HelveticaNeue; white-space: pre-wrap;" class="">Konstantin Snihyr</span><br class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div id="magicdomid20" class="" style="margin: 0px; padding: 0px 1px 0px 0px; white-space: pre-wrap;"><font face="HelveticaNeue" class="">IRC: lexplua</font></div></div></div><br class=""></body></html>