1
0
-1

This is because of AIC kind of environment using Mirantis Openstack. There is no network named as "Public".

<msg timestamp="20170612 22:08:16.198" level="FAIL">KeyError: u'public'</msg>
<msg timestamp="20170612 22:08:16.198" level="DEBUG">Traceback (most recent call last):
File "/var/opt/OpenECOMP_ETE/robot/library/eteutils/HEATUtils.py", line 80, in get_openstack_server_ip
versions = server['addresses'][network_name]</msg>
<status status="FAIL" endtime="20170612 22:08:16.198" starttime="20170612 22:08:16.195"></status>
</kw>

    CommentAdd your comment...

    2 answers

    1.  
      1
      0
      -1

      Created JIRA ticket  DCAEGEN2-40 - ./demo.sh appc DemoModule returns fail if the network name is not Public Closed

        CommentAdd your comment...
      1.  
        1
        0
        -1

        In /var/opt/OpenECOMP_ETE/robot/library/eteutils/HEATUtils.py 

        def get_openstack_server_ip(self, server, network_name="public", ipversion=4):
        ipaddr = None
        try:
        versions = server['addresses'][network_name]
        for version in versions:
        if version['version'] == ipversion:
        ipaddr = version['addr']
        break;
        except ValueError:
        return ipaddr
        return ipaddr

        Not sure who are the callers of this function. But in my case always getting "public" as a network_name. Since keystone endpoint doesn't return with networks with public name. It fails. Not sure of the root cause. But we can make a workaround by forcing network_name as desired in this function.

        Now my script passes without any issue

          CommentAdd your comment...