Hi Vish Thanks. I got it.
2012/7/31 Vishvananda Ishaya <vishvana...@gmail.com>: > For now it is fine to put it in the same place where network_id is specified. > In the nova meeting on Thursday, we are going to discuss a better way to do > extensions that need to do things based on additional post params. > > Vish > > On Jul 31, 2012, at 12:30 AM, Nati Ueno <nati.u...@gmail.com> wrote: > >> Hi Dan >> >>>>> Matt >>>> Thank you for your comment in launchpad >>>> https://bugs.launchpad.net/nova/+bug/1031096 >>>> >>>> >>>> Quantum team get consensus in a Netstack meeting today to propose >>>> port-id for requested networks. I took the job. >>>> At first, i thought i can write extension for this. But as you say >>>> we should add port-id for the core API which is only used for quantum API >>>> 2.0. >>> >>> >>> Hi Nachi, why is it that we can't implement this as an API extension (even >>> if passing in a network-id is in fact part of the core API)? >> >> I can write extension implemented in core API code. >> My understanding of definition of extension was "the code is in >> extension directory". >> However , the implementation for extensions are also in outside of >> extension directory as you mentioned in bug report. >> # I could see no clear policy for this. >> >> IMO, the key concept of extension is let users to select the function >> to use. ( User can turn off the extension. ) >> So if we enable port_id when we use quantumV2 only, the concept will >> be satisfied. >> >> Nachi >> >>> dan >>> >>> >>>> >>>> My WIP code is like [1]. This change keep backward compatibility. >>>> >>>>> Yong, Dan >>>> Matt said "you'd be breaking API compatibility and thus the API spec." >>>> >>>> This work will change API, so some consensus in community is needed to >>>> add port_id. >>>> I wanna discuss about the spec in this thread. >>>> If the community rejects this addition, I'll implement fixed_ip one >>>> ( see previous my message ) >>>> >>>> [1] WIP code for adding port_id ( Not tested) >>>> >>>> + def _get_port(self, port_id): >>>> + if FLAGS.network_api_class != >>>> + "nova.network.quantumv2.api.API": >>>> + msg = _("Unknown argment : port_id") >>>> + raise exc.HTTPBadRequest(explanation=msg) >>>> + >>>> + if port_id and not utils.is_uuid_like(port_id): >>>> + msg = _("Bad port format: port uuid is " >>>> + "not in proper format " >>>> + "(%s)") % port_id >>>> + raise exc.HTTPBadRequest(explanation=msg) >>>> + try: >>>> + port = >>>> quantumv2.get_client(context).list_networks(**search_opts) >>>> + if port.device_id: >>>> + raise Exception("Port id %s is already used" % port_id) >>>> + return port >>>> + except Exception as e: >>>> + msg = _("This port_id can't used " >>>> + "(%s)") % port_id >>>> + raise exc.HTTPBadRequest(explanation=msg) >>>> + >>>> def _get_requested_networks(self, requested_networks): >>>> """Create a list of requested networks from the networks >>>> attribute.""" >>>> networks = [] >>>> for network in requested_networks: >>>> try: >>>> + port_id = network.get('port_id', None) >>>> + if port_id: >>>> + port = self._get_port() >>>> + network['uuid'] = port.network_id >>>> + network['fixed_ip'] = port.fixed_ip >>>> + >>>> >>>> Thank you in advance >>>> Nachi Ueno >>>> >>>>>> Hi Nachi, >>>>>> It is seemingly a way to make it work, but I think we are thinking to >>>>>> provide 'port-id' or just 'port' to specify the top resource in quantum >>>>>> API. >>>>>> fix ip is not one. >>>>>> >>>>>> Besides, Port can be assigned to more than one fixed IP. >>>>> >>>>> Ah, It it true. >>>>> OK I'll implement port id version. >>>>> >>>>>> Imagine in horizon, we created many networks, ports and subnets, but >>>>>> when >>>>>> booting a VM, we use a fixed_ip to specify our resource indirectly. >>>>> >>>>>> By the way, we should use openstack-...@list.openstack.org >>>>> >>>>> Sorry, I changed my mail address recently. But launchpad rejects new >>>>> mail to receive. >>>>> I'll find way to fix this. >>>>> >>>>> Thanks >>>>> >>>>> >>>>> Nachi >>>>> >>>>>> Thanks >>>>>> Yong Sheng Gong >>>>>> >>>>>> -----netstack-bounces+gongysh=cn.ibm....@lists.launchpad.net wrote: >>>>>> ----- >>>>>> To: openst...@lists.openstack.org, netst...@lists.launchpad.net >>>>>> From: Nachi Ueno >>>>>> Sent by: netstack-bounces+gongysh=cn.ibm....@lists.launchpad.net >>>>>> Date: 07/31/2012 08:33AM >>>>>> Subject: [Netstack] [Quantum][Nova] requested_id and port spec >>>>>> >>>>>> Hi Dan,folks >>>>>> >>>>>> As we talked in netstack IRC meetins, I submit this as bug. >>>>>> https://bugs.launchpad.net/nova/+bug/1031096 >>>>>> >>>>>> I tried to write this, but the code looks very ugly in order to keep >>>>>> backward compatibility. >>>>>> So I wanna propose an alternative design. >>>>>> In this design, we will use fixed_ip as a temporary identifier of the >>>>>> port. >>>>>> >>>>>> 1. create port >>>>>> fixed_ip assigned >>>>>> >>>>>> 2. specify the fixed_ip in nova boot >>>>>> >>>>>> 3. If the fixed_ip is specified, >>>>>> nova.network.quantumv2.api.API will check existing port who use the >>>>>> fixed_ip. >>>>>> >>>>>> if there are existing port and device_id is None >>>>>> use the port_id. >>>>>> >>>>>> if there are no existing port. >>>>>> create new port with the fixed_ip >>>>>> >>>>>> This approach needs no client side change. >>>>>> >>>>>> Thank you in advance >>>>>> Nachi Ueno >>>>>> >>>>>> -- >>>>>> Mailing list: https://launchpad.net/~netstack >>>>>> Post to : netst...@lists.launchpad.net >>>>>> Unsubscribe : https://launchpad.net/~netstack >>>>>> More help : https://help.launchpad.net/ListHelp >>>>>> >>>>> -- >>>>> Nachi Ueno >>>>> email:nati.u...@gmail.com >>>>> twitter:http://twitter.com/nati >>>> >>>> _______________________________________________ >>>> Mailing list: https://launchpad.net/~openstack >>>> Post to : openstack@lists.launchpad.net >>>> Unsubscribe : https://launchpad.net/~openstack >>>> More help : https://help.launchpad.net/ListHelp >>> >>> >>> >>> >>> -- >>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>> Dan Wendlandt >>> Nicira, Inc: www.nicira.com >>> twitter: danwendlandt >>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>> >> >> >> >> -- >> Nachi Ueno >> email:nati.u...@gmail.com >> twitter:http://twitter.com/nati >> >> _______________________________________________ >> Mailing list: https://launchpad.net/~openstack >> Post to : openstack@lists.launchpad.net >> Unsubscribe : https://launchpad.net/~openstack >> More help : https://help.launchpad.net/ListHelp > -- Nachi Ueno email:nati.u...@gmail.com twitter:http://twitter.com/nati _______________________________________________ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp