________________________________
From: Adam Young [ayo...@redhat.com]
Sent: 23 June 2015 00:01:48
To: openstack-dev@lists.openstack.org
Subject: Re: [openstack-dev] [nova][keystone] Nova calls to Keystone

On 06/20/2015 02:46 PM, Sajeesh Cimson Sasi wrote:
Hi All,
   I need your advice for the implementation of the following blueprint. 
https://review.openstack.org/#/c/160605 .
   All the use cases mentioned in the blueprint have  been implemented and the 
complete code is up for review.
  https://review.openstack.org/#/c/149828/
  However, we have an issue on which we need your input. In the nova quota api 
call, keystone calls are made to
  get the parent_id and the child project or sub project list. This is required 
because nova doesn't store any information
  regarding the hierarchy. Hierarchy Information is  taken during run time,  
from keystone. Since the keystone calls are
  made inside the api call, it is not possible to give any dummy or  fake 
values while writing the unit tests. If the keystone
  call was made outside the api call, we could have given fake values in the 
test cases. However,  the keystone calls for
   parent_id and child projects are made inside the api call.
  Can anyone suggest an elegant solution to this problem? What is the proper 
way to implement this ?
    Did anybody encounter and solve a  similar  problem ? Many thanks for any 
suggestions!
         best regards
           sajeesh



__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: 
openstack-dev-requ...@lists.openstack.org?subject:unsubscribe<mailto:openstack-dev-requ...@lists.openstack.org?subject:unsubscribe>
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


If you are talking to a live Keystone server, make sure you are using valid 
data.

If you are not talking to a live keystone server in a unit test, use 
RequestsMock or equivalent (varied by project)  to handle the HTTP request and 
response.

A worst case approach is to monkey patch the Keystoneclient.  Please don't do 
that if you can avoid it;  better to provide a mock alternative.


Hi Adam,
               Thanks a lot. I am not planning to talk to the live keystone 
server in the unit test.
               I don't think that I need to monkey patch the KeystoneClient. In 
the nova api code, there are two methods (get_parent_project and 
get_immediate_child_list),which uses keystoneclient.I can monkey patch those 
two methods to return fixed data according to a fake hierarchy. Am I right ?
              best regards
               sajeesh
__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to