<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    I have commented on the review with what I think the error is.<br>
    <br>
    <div class="moz-cite-prefix">On Mon, Jun 17, at 6:16 pm Vasudevan,
      Swaminathan (PNB Roseville) (<a class="moz-txt-link-abbreviated" href="mailto:swaminathan.vasudevan@hp.com">swaminathan.vasudevan@hp.com</a>) wrote:<br>
    </div>
    <blockquote
cite="mid:4094DC7712AF5D488899847517A3C5B064A4B394@G9W0342.americas.hpqcorp.net"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=ISO-8859-1">
      <meta name="Generator" content="Microsoft Word 12 (filtered
        medium)">
      <style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {mso-style-priority:99;
        mso-style-link:"Plain Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.5pt;
        font-family:Consolas;}
span.PlainTextChar
        {mso-style-name:"Plain Text Char";
        mso-style-priority:99;
        mso-style-link:"Plain Text";
        font-family:Consolas;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
-->
</style><!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
      <div class="WordSection1">
        <p class="MsoPlainText"><span style="color:#1F497D">Hi Folks,<o:p></o:p></span></p>
        <p class="MsoPlainText"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">I
            need some help to resolve the issue high lighted below.<o:p></o:p></span></p>
        <p class="MsoPlainText"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">I
            have configured for an attribute to accept a “list”.<o:p></o:p></span></p>
        <p class="MsoPlainText"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">But
            for some reason, the “list=true” pops up as a value.<o:p></o:p></span></p>
        <p class="MsoPlainText"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoPlainText"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Can
            anyone suggest what might be wrong.<o:p></o:p></span></p>
        <p class="MsoPlainText"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Here
            is the code. ( Look for the vpnconnection.py)<o:p></o:p></span></p>
        <p class="MsoPlainText"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoPlainText"><a moz-do-not-send="true"
            href="https://review.openstack.org/#/c/29811/">https://review.openstack.org/#/c/29811/</a><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p></o:p></span></p>
        <p class="MsoPlainText"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoPlainText"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoPlainText">Here is the command that I issued:<o:p></o:p></p>
        <p class="MsoPlainText"><o:p> </o:p></p>
        <p class="MsoPlainText">quantum  vpn-connection-create --name
          myconnection --peer_address 10.20.0.30 --peer_id 10.20.0.30
          ----psk "abcd" --vpnservice_id myvpn --ikepolicy_id ikepolicy1
          --ipsecpolicy_id ipsecpolicy1
          <span style="background:yellow;mso-highlight:yellow">--peer_cidrs
            list=true 10.1.0.0/24 10.2.0.0/24</span><o:p></o:p></p>
        <p class="MsoPlainText"><o:p> </o:p></p>
        <p class="MsoPlainText">Used PDB to see what is happening
          inside.<o:p></o:p></p>
        <p class="MsoPlainText"><o:p> </o:p></p>
        <p class="MsoPlainText">>
/opt/stack/python-quantumclient/quantumclient/quantum/v2_0/__init__.py(331)get_data()<o:p></o:p></p>
        <p class="MsoPlainText">-> quantum_client = self.get_client()<o:p></o:p></p>
        <p class="MsoPlainText">(Pdb) p parsed_args<o:p></o:p></p>
        <p class="MsoPlainText">Namespace(admin_state_down=True,
          columns=[], description=None, dpd_action='hold',
          dpd_interval='30', dpd_timeout='120', formatter='table',
          ikepolicy_id='ikepolicy1', initiator='bi-directional',
          ipsecpolicy_id='ipsecpolicy1', mtu='1500',
          name='myconnection', peer_address='10.20.0.30', <span
            style="background:yellow;mso-highlight:yellow">
            peer_cidrs=['list=true'],</span> peer_id='10.20.0.30',
          prefix='', psk=None, request_format='json', tenant_id=None,
          variables=[], vpnservice_id='myvpn')<o:p></o:p></p>
        <p class="MsoPlainText">(Pdb) quit<o:p></o:p></p>
        <p class="MsoPlainText">(Pdb) n<o:p></o:p></p>
        <p class="MsoPlainText">>
/opt/stack/python-quantumclient/quantumclient/quantum/v2_0/__init__.py(332)get_data()<o:p></o:p></p>
        <p class="MsoPlainText">-> quantum_client.format =
          parsed_args.request_format<o:p></o:p></p>
        <p class="MsoPlainText">(Pdb) n<o:p></o:p></p>
        <p class="MsoPlainText">>
/opt/stack/python-quantumclient/quantumclient/quantum/v2_0/__init__.py(333)get_data()<o:p></o:p></p>
        <p class="MsoPlainText">-> _extra_values =
          parse_args_to_dict(self.values_specs)<o:p></o:p></p>
        <p class="MsoPlainText">(Pdb) p quantum_client.format<o:p></o:p></p>
        <p class="MsoPlainText">'json'<o:p></o:p></p>
        <p class="MsoPlainText">(Pdb) n<o:p></o:p></p>
        <p class="MsoPlainText">AttributeError: "'Namespace' object has
          no attribute ''"<o:p></o:p></p>
        <p class="MsoPlainText">>
/opt/stack/python-quantumclient/quantumclient/quantum/v2_0/__init__.py(333)get_data()<o:p></o:p></p>
        <p class="MsoPlainText">-> _extra_values =
          parse_args_to_dict(self.values_specs)<o:p></o:p></p>
        <p class="MsoPlainText">(Pdb) p _extra_values<o:p></o:p></p>
        <p class="MsoPlainText">*** NameError: NameError("name '<span
            style="background:yellow;mso-highlight:yellow">_extra_values'</span>
          is not defined",)<o:p></o:p></p>
        <p class="MsoPlainText">(Pdb)<o:p></o:p></p>
        <p class="MsoPlainText">NOTE: Extra values does not return a
          valid value. But in the case of the subnet, when I ran the
          debugger it was returning a valid list.<o:p></o:p></p>
        <p class="MsoPlainText"><o:p> </o:p></p>
        <p class="MsoPlainText">But in the case of the subnet, extra
          values returns the list.<o:p></o:p></p>
        <p class="MsoPlainText">See the debug message below.<o:p></o:p></p>
        <p class="MsoPlainText"><o:p> </o:p></p>
        <p class="MsoPlainText">guest@swaminathan-virtual-machine-rest:~/devstack$
          quantum subnet-create net1 40.0.0.0/24 --dns_nameservers
          list=true 8.8.8.7 8.8.8.8<o:p></o:p></p>
        <p class="MsoPlainText">>
/opt/stack/python-quantumclient/quantumclient/quantum/v2_0/__init__.py(330)get_data()<o:p></o:p></p>
        <p class="MsoPlainText">-> self.log.debug('get_data(%s)' %
          parsed_args)<o:p></o:p></p>
        <p class="MsoPlainText">(Pdb) p parsed_args<o:p></o:p></p>
        <p class="MsoPlainText">Namespace(allocation_pools=None,
          cidr='40.0.0.0/24', columns=[], disable_dhcp=False,
          dns_nameservers=None, formatter='table', gateway=None,
          host_routes=None, ip_version=4, name=None, network_id='net1',
          no_gateway=False, prefix='', request_format='json',
          tenant_id=None, variables=[])<o:p></o:p></p>
        <p class="MsoPlainText">(Pdb) l<o:p></o:p></p>
        <p class="MsoPlainText">325 
                  self.add_known_arguments(parser)<o:p></o:p></p>
        <p class="MsoPlainText">326          return parser<o:p></o:p></p>
        <p class="MsoPlainText">327  <o:p></o:p></p>
        <p class="MsoPlainText">328      def get_data(self,
          parsed_args):<o:p></o:p></p>
        <p class="MsoPlainText">329          pdb.set_trace()<o:p></o:p></p>
        <p class="MsoPlainText">330  ->            
          self.log.debug('get_data(%s)' % parsed_args)<o:p></o:p></p>
        <p class="MsoPlainText">331           quantum_client =
          self.get_client()<o:p></o:p></p>
        <p class="MsoPlainText">332          quantum_client.format =
          parsed_args.request_format<o:p></o:p></p>
        <p class="MsoPlainText">333          _extra_values =
          parse_args_to_dict(self.values_specs)<o:p></o:p></p>
        <p class="MsoPlainText">334          _merge_args(self,
          parsed_args, _extra_values,<o:p></o:p></p>
        <p class="MsoPlainText">335 
                              self.values_specs)<o:p></o:p></p>
        <p class="MsoPlainText">(Pdb) n<o:p></o:p></p>
        <p class="MsoPlainText">>
/opt/stack/python-quantumclient/quantumclient/quantum/v2_0/__init__.py(331)get_data()<o:p></o:p></p>
        <p class="MsoPlainText">-> quantum_client = self.get_client()<o:p></o:p></p>
        <p class="MsoPlainText">(Pdb) n<o:p></o:p></p>
        <p class="MsoPlainText">>
/opt/stack/python-quantumclient/quantumclient/quantum/v2_0/__init__.py(332)get_data()<o:p></o:p></p>
        <p class="MsoPlainText">-> quantum_client.format =
          parsed_args.request_format<o:p></o:p></p>
        <p class="MsoPlainText">(Pdb) n<o:p></o:p></p>
        <p class="MsoPlainText">>
/opt/stack/python-quantumclient/quantumclient/quantum/v2_0/__init__.py(333)get_data()<o:p></o:p></p>
        <p class="MsoPlainText">-> _extra_values =
          parse_args_to_dict(self.values_specs)<o:p></o:p></p>
        <p class="MsoPlainText">(Pdb) n<o:p></o:p></p>
        <p class="MsoPlainText">>
/opt/stack/python-quantumclient/quantumclient/quantum/v2_0/__init__.py(334)get_data()<o:p></o:p></p>
        <p class="MsoPlainText">-> _merge_args(self, parsed_args,
          _extra_values,<o:p></o:p></p>
        <p class="MsoPlainText">(Pdb) p _extra_values<o:p></o:p></p>
        <p class="MsoPlainText">{'dns_nameservers': ['8.8.8.7',
          '8.8.8.8']}<o:p></o:p></p>
        <p class="MsoPlainText">(Pdb)<o:p></o:p></p>
        <p class="MsoPlainText"><o:p> </o:p></p>
        <p class="MsoPlainText">Just for your info.<o:p></o:p></p>
        <p class="MsoPlainText"><o:p> </o:p></p>
        <p class="MsoPlainText">This is how I have coded in my
          “vpnconnection”.<o:p></o:p></p>
        <p class="MsoPlainText"><o:p> </o:p></p>
        <p class="MsoPlainText">parser.add_argument(<o:p></o:p></p>
        <p class="MsoPlainText">            '--peer_cidrs',
          metavar='PEER_CIDRS',<o:p></o:p></p>
        <p class="MsoPlainText">            action='append',
          dest='peer_cidrs',<o:p></o:p></p>
        <p class="MsoPlainText">            help='set the remote
          subnet(s) in CIDR format')<o:p></o:p></p>
        <p class="MsoPlainText"><o:p> </o:p></p>
        <p class="MsoPlainText">    def args2body(self, parsed_args):<o:p></o:p></p>
        <p class="MsoPlainText">        pdb.set_trace()<o:p></o:p></p>
        <p class="MsoPlainText">        _vpnservice_id =
          quantumv20.find_resourceid_by_name_or_id(<o:p></o:p></p>
        <p class="MsoPlainText">            self.get_client(),
          'vpnservice',<o:p></o:p></p>
        <p class="MsoPlainText">            parsed_args.vpnservice_id)<o:p></o:p></p>
        <p class="MsoPlainText">        _ikepolicy_id =
          quantumv20.find_resourceid_by_name_or_id(<o:p></o:p></p>
        <p class="MsoPlainText">            self.get_client(),
          'ikepolicy',<o:p></o:p></p>
        <p class="MsoPlainText">            parsed_args.ikepolicy_id)<o:p></o:p></p>
        <p class="MsoPlainText">        _ipsecpolicy_id =
          quantumv20.find_resourceid_by_name_or_id(<o:p></o:p></p>
        <p class="MsoPlainText">            self.get_client(),
          'ipsecpolicy',<o:p></o:p></p>
        <p class="MsoPlainText">            parsed_args.ipsecpolicy_id)<o:p></o:p></p>
        <p class="MsoPlainText">        body = {<o:p></o:p></p>
        <p class="MsoPlainText">            'vpnconnection': {<o:p></o:p></p>
        <p class="MsoPlainText">                           
          'vpnservice_id': _vpnservice_id,<o:p></o:p></p>
        <p class="MsoPlainText">                           
          'ikepolicy_id': _ikepolicy_id,<o:p></o:p></p>
        <p class="MsoPlainText">                           
          'ipsecpolicy_id': _ipsecpolicy_id,<o:p></o:p></p>
        <p class="MsoPlainText">                            'name':
          parsed_args.name,<o:p></o:p></p>
        <p class="MsoPlainText">                           
          'peer_address': parsed_args.peer_address,<o:p></o:p></p>
        <p class="MsoPlainText">                            'peer_id':
          parsed_args.peer_id,<o:p></o:p></p>
        <p class="MsoPlainText">                            'mtu':
          parsed_args.mtu,<o:p></o:p></p>
        <p class="MsoPlainText">                           
          'description': parsed_args.description,<o:p></o:p></p>
        <p class="MsoPlainText">                           
          'dpd_action': parsed_args.dpd_action,<o:p></o:p></p>
        <p class="MsoPlainText">                           
          'dpd_interval': parsed_args.dpd_interval,<o:p></o:p></p>
        <p class="MsoPlainText">                           
          'dpd_timeout': parsed_args.dpd_timeout,<o:p></o:p></p>
        <p class="MsoPlainText">                            'psk':
          parsed_args.psk,<o:p></o:p></p>
        <p class="MsoPlainText">                           
          'admin_state_up': parsed_args.admin_state_down,<o:p></o:p></p>
        <p class="MsoPlainText">                            },<o:p></o:p></p>
        <p class="MsoPlainText">            }<o:p></o:p></p>
        <p class="MsoPlainText">        pdb.set_trace()<o:p></o:p></p>
        <p class="MsoPlainText">        if parsed_args.peer_cidrs:<o:p></o:p></p>
        <p class="MsoPlainText">           
          body['vpnconnection']['peer_cidrs'] = parsed_args.peer_cidrs<o:p></o:p></p>
        <p class="MsoPlainText">        pdb.set_trace()<o:p></o:p></p>
        <p class="MsoPlainText">        return body<o:p></o:p></p>
        <p class="MsoPlainText"><o:p> </o:p></p>
        <p class="MsoPlainText">Thanks<o:p></o:p></p>
        <p class="MsoPlainText"><o:p> </o:p></p>
        <p class="MsoPlainText"><o:p> </o:p></p>
        <p class="MsoPlainText"><o:p> </o:p></p>
        <p class="MsoPlainText">Swaminathan Vasudevan<o:p></o:p></p>
        <p class="MsoPlainText">Systems Software Engineer (TC)<o:p></o:p></p>
        <p class="MsoPlainText"><o:p> </o:p></p>
        <p class="MsoPlainText"><o:p> </o:p></p>
        <p class="MsoPlainText">HP Networking<o:p></o:p></p>
        <p class="MsoPlainText">Hewlett-Packard<o:p></o:p></p>
        <p class="MsoPlainText">8000 Foothills Blvd<o:p></o:p></p>
        <p class="MsoPlainText">M/S 5541<o:p></o:p></p>
        <p class="MsoPlainText">Roseville, CA - 95747<o:p></o:p></p>
        <p class="MsoPlainText">tel: 916.785.0937<o:p></o:p></p>
        <p class="MsoPlainText">fax: 916.785.1815<o:p></o:p></p>
        <p class="MsoPlainText">email: <a class="moz-txt-link-abbreviated" href="mailto:swaminathan.vasudevan@hp.com">swaminathan.vasudevan@hp.com</a><o:p></o:p></p>
        <p class="MsoPlainText"><o:p> </o:p></p>
        <p class="MsoPlainText"><o:p> </o:p></p>
        <p class="MsoPlainText">-----Original Message-----<br>
          From: Nachi Ueno [<a class="moz-txt-link-freetext" href="mailto:nachi@ntti3.com">mailto:nachi@ntti3.com</a>] <br>
          Sent: Wednesday, June 12, 2013 9:08 PM<br>
          To: Vasudevan, Swaminathan (PNB Roseville)<br>
          Subject: Re: Change in openstack/quantum[master]: blueprint
          VPNaaS-Python-API VPNaaS DataModel/Plugin<o:p></o:p></p>
        <p class="MsoPlainText"><o:p> </o:p></p>
        <p class="MsoPlainText">Hi Swami<o:p></o:p></p>
        <p class="MsoPlainText"><o:p> </o:p></p>
        <p class="MsoPlainText">Dest is destination argument<o:p></o:p></p>
        <p class="MsoPlainText"><o:p> </o:p></p>
        <p class="MsoPlainText">In this case,<o:p></o:p></p>
        <p class="MsoPlainText"><a class="moz-txt-link-freetext" href="https://github.com/openstack/python-quantumclient/blob/master/quantumclient/quantum/v2_0/subnet.py#L115">https://github.com/openstack/python-quantumclient/blob/master/quantumclient/quantum/v2_0/subnet.py#L115</a><o:p></o:p></p>
        <p class="MsoPlainText"><o:p> </o:p></p>
        <p class="MsoPlainText">parameters go to 
          parsed_args.dns_nameservers<o:p></o:p></p>
        <p class="MsoPlainText"><a class="moz-txt-link-freetext" href="https://github.com/openstack/python-quantumclient/blob/master/quantumclient/quantum/v2_0/subnet.py#L156">https://github.com/openstack/python-quantumclient/blob/master/quantumclient/quantum/v2_0/subnet.py#L156</a><o:p></o:p></p>
        <p class="MsoPlainText"><o:p> </o:p></p>
        <p class="MsoPlainText">so here is some debug tips<o:p></o:p></p>
        <p class="MsoPlainText"><o:p> </o:p></p>
        <p class="MsoPlainText">1. use --verbose option on cli<o:p></o:p></p>
        <p class="MsoPlainText"><o:p> </o:p></p>
        <p class="MsoPlainText">quantum -verbose commands<o:p></o:p></p>
        <p class="MsoPlainText">You can see the api request and
          response.<o:p></o:p></p>
        <p class="MsoPlainText"><o:p> </o:p></p>
        <p class="MsoPlainText">2. Use pdb to check the value is  set or
          not.<o:p></o:p></p>
        <p class="MsoPlainText"><o:p> </o:p></p>
        <p class="MsoPlainText">Best<o:p></o:p></p>
        <p class="MsoPlainText">Nachi<o:p></o:p></p>
        <p class="MsoPlainText"><o:p> </o:p></p>
        <p class="MsoPlainText"><o:p> </o:p></p>
        <p class="MsoPlainText"><o:p> </o:p></p>
        <p class="MsoPlainText"><o:p> </o:p></p>
        <p class="MsoPlainText">2013/6/12 Vasudevan, Swaminathan (PNB
          Roseville) <a class="moz-txt-link-rfc2396E" href="mailto:swaminathan.vasudevan@hp.com"><swaminathan.vasudevan@hp.com></a>:<o:p></o:p></p>
        <p class="MsoPlainText">> Hi Nachi,<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">> For some reason "list=true" does
          not work when I pass a list for the<o:p></o:p></p>
        <p class="MsoPlainText">> vpnconnection.<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">> parser.add_argument(<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>             '--peer_cidrs',
          metavar='PEER_CIDR',<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>             action='append',
          dest='peer_cidrs',<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>             help='set the remote
          subnet(s) in CIDR format')<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">> Nachi: What does the “dest=” mean.<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">> Is there anything else required in
          the client side to accept the list.<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">> The "list=true" command works for
          the example that you provided (for<o:p></o:p></p>
        <p class="MsoPlainText">> subnet).<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">> Thanks.<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">> Swaminathan Vasudevan<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">> Systems Software Engineer (TC)<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">> HP Networking<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">> Hewlett-Packard<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">> 8000 Foothills Blvd<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">> M/S 5541<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">> Roseville, CA - 95747<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">> tel: 916.785.0937<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">> fax: 916.785.1815<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">> email: <a class="moz-txt-link-abbreviated" href="mailto:swaminathan.vasudevan@hp.com">swaminathan.vasudevan@hp.com</a><o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">> -----Original Message-----<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">> From: Nachi Ueno
          [<a class="moz-txt-link-freetext" href="mailto:nachi@ntti3.com">mailto:nachi@ntti3.com</a>]<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">> Sent: Wednesday, June 12, 2013 2:52
          PM<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">> To: Vasudevan, Swaminathan (PNB
          Roseville)<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">> Subject: Re: Change in
          openstack/quantum[master]: blueprint<o:p></o:p></p>
        <p class="MsoPlainText">> VPNaaS-Python-API VPNaaS
          DataModel/Plugin<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">> Hi Swami<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">> It should be as follows<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">> quantum vpn-connection-create
          --name myconnection --peer_id 10.20.0.30<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">> --peer_address 10.20.0.30
          --peer_cidrs  list=true 10.1.0.0/24<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">> 10.2.0.0/24 10.3.0.0/24 --psk abcd
          myvpn ikepolicy1 ipsecpolicy1<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">> (see this example)<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">> quantum subnet-create test-net1
          40.0.0.0/24 --dns_nameservers<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">> list=true 8.8.8.7 8.8.8.8<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>
<a class="moz-txt-link-freetext" href="https://github.com/openstack/quantum/blob/master/quantum/api/v2/attributes.py#L608">https://github.com/openstack/quantum/blob/master/quantum/api/v2/attributes.py#L608</a><o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">> I said string_list is good, however
          cidr_list is more better.<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">> so could you implement
          type:cidr_list ?<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">> (list version of this validator)<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>
<a class="moz-txt-link-freetext" href="https://github.com/openstack/quantum/blob/master/quantum/api/v2/attributes.py#L246">https://github.com/openstack/quantum/blob/master/quantum/api/v2/attributes.py#L246</a><o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">> Thanks<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">> Nachi<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">> 2013/6/12 Vasudevan, Swaminathan
          (PNB Roseville)<o:p></o:p></p>
        <p class="MsoPlainText">>
          <a class="moz-txt-link-rfc2396E" href="mailto:swaminathan.vasudevan@hp.com"><swaminathan.vasudevan@hp.com></a>:<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>> Hi Nachi,<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>> With the “string_list” type
          validate both  the inputs are valid.<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>> Which one do you think will be
          the right way of setting the peer_cidrs.<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>>
          guest@swaminathan-virtual-machine-rest:~/devstack$ quantum<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>> vpn-connection-create --name
          myconnection --peer_id 10.20.0.30<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>> --peer_address 10.20.0.30
          --peer_cidrs "['10.1.0.0/24', '10.2.0.0/24',<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>> '10.3.0.0/24']" --psk abcd
          myvpn ikepolicy1 ipsecpolicy1<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>>
          guest@swaminathan-virtual-machine-rest:~/devstack$ quantum<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>> vpn-connection-create --name
          myconnection --peer_id 10.20.0.30<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>> --peer_address 10.20.0.30
          --peer_cidrs "[10.1.0.0/24, 10.2.0.0/24,<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>> 10.3.0.0/24]" --psk abcd myvpn
          ikepolicy1 ipsecpolicy1<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>> Thanks.<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>> Swaminathan Vasudevan<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>> Systems Software Engineer (TC)<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>> HP Networking<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>> Hewlett-Packard<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>> 8000 Foothills Blvd<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>> M/S 5541<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>> Roseville, CA - 95747<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>> tel: 916.785.0937<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>> fax: 916.785.1815<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>> email:
          <a class="moz-txt-link-abbreviated" href="mailto:swaminathan.vasudevan@hp.com">swaminathan.vasudevan@hp.com</a><o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>> -----Original Message-----<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>> From: Nachi Ueno
          [<a class="moz-txt-link-freetext" href="mailto:nachi@ntti3.com">mailto:nachi@ntti3.com</a>]<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>> Sent: Wednesday, June 12, 2013
          10:09 AM<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>> To: Vasudevan, Swaminathan (PNB
          Roseville)<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>> Subject: Re: Change in
          openstack/quantum[master]: blueprint<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>> VPNaaS-Python-API VPNaaS
          DataModel/Plugin<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>> Hi Swami<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>> +1 for  new type:string_list<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>> Ps. Could you reply on gerrit
          for review comment?<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>> Thanks<o:p></o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>><o:p> </o:p></p>
        <p class="MsoPlainText">><o:p> </o:p></p>
        <p class="MsoPlainText">>> Nachi<o:p></o:p></p>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
OpenStack-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a>
<a class="moz-txt-link-freetext" href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>