Re: [openstack-dev] new keystone developer

2014-01-23 Thread Dolph Mathews
First of all, welcome! As Steve suggested, feel free to ask questions in
#openstack-dev ... it seems there's almost always someone online with deep
knowledge of keystone.

On Wed, Jan 22, 2014 at 8:28 PM, Mario Adessi mario.ade...@live.com wrote:

 I'd like to begin contributing to the keystone project.

 Keystone, along with all the other major infrastructure components in
 OpenStack, is a rather large project. I've read over the developer
 documentationhttp://docs.openstack.org/developer/keystone/#developers-documentation,
 but was hoping to get help with some questions.

 (1) Are there diagrams that describe how various classes, functions, etc.
 interact with one another?


I've seen a few in the past, but they tend to get out of date quickly. At a
high level, the application is structured as follows:

  Paste Pipeline - Routers - Controllers - Managers - Drivers /
Backends (SQL, LDAP, KVS, etc)

And that's been true since the essex release. There are a few code paths
that deviate from this naming convention (such as keystone.auth), but they
follow the same basic pattern regardless. Database migrations have
relatively flat call stacks. Some tests have a rather challenging
inheritance hierarchy that we're working to unwind.



 (2) What's the best way to debug keystone when editing existing code or
 adding? Tips from those who do this every day would be greatly appreciated.


I feel like I'm one of the remaining few that doesn't use any fancy tools.
I write tests, hammer on them repeatedly, and read tracebacks.



 (3) Is there a way to import large chunks (or, preferably, all) of
 keystone into iPython? This makes debugging super easy and would fit in
 nicely with my existing workflow with other projects.


Sounds like Yuriy has the answer you're looking for here!



 (4) Any other tips / tricks to help jumpstart tinkering with code?


I always encourage people to jump straight into gerrit and participate in
some code reviews. It's the best way to get a sense of the direction of the
project as it evolves, and at the end of the day, you'll be much better
prepared to produce your own patch(es).



 Many thanks.
 -mario

 ___
 OpenStack-dev mailing list
 OpenStack-dev@lists.openstack.org
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


[openstack-dev] new keystone developer

2014-01-22 Thread Mario Adessi
I'd like to begin contributing to the keystone project.
Keystone, along with all the other major infrastructure components in 
OpenStack, is a rather large project. I've read over the developer 
documentation, but was hoping to get help with some questions.
(1) Are there diagrams that describe how various classes, functions, etc. 
interact with one another?
(2) What's the best way to debug keystone when editing existing code or adding? 
Tips from those who do this every day would be greatly appreciated.
(3) Is there a way to import large chunks (or, preferably, all) of keystone 
into iPython? This makes debugging super easy and would fit in nicely with my 
existing workflow with other projects.
(4) Any other tips / tricks to help jumpstart tinkering with code?
Many thanks.-mario___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] new keystone developer

2014-01-22 Thread Steve Martinelli

Hey Mario,

Welcome and thanks for helping out!

The developer docs are a great place to get started.

#1 - Not sure if there is anything recent, but here is an old diagram:
http://ilearnstack.files.wordpress.com/2013/04/keystone.png
#2 - I would read up on the section (Running with PDB)
http://docs.openstack.org/developer/keystone/developing.html#running-with-pdb
 it's what I do most often.
#3 - I'll leave this to others
#4a - We usually lurk in (and flood) the #openstack-dev channel, so just
give us a shout there. (Bug any of the folks here:
http://russellbryant.net/openstack-stats/keystone-reviewers-30.txt).
#4b - Join us on Tuesdays for the Keystone weekly meeting.
https://wiki.openstack.org/wiki/Meetings/KeystoneMeeting
#4c - Blueprints: https://blueprints.launchpad.net/keystone Bugs:
https://bugs.launchpad.net/keystone
#4d - More of an FYI - Icehouse milestone 2 just ended, so there won't be
any new API features landing in milestone 3. (Good time to keep an eye on
bugs :) )

That's all I can think of for now.


Thanks,

_
Steve Martinelli
OpenStack Development - Keystone Core Member
Phone: (905) 413-2851
E-Mail: steve...@ca.ibm.com



From:   Mario Adessi mario.ade...@live.com
To: openstack-dev@lists.openstack.org
openstack-dev@lists.openstack.org,
Date:   01/22/2014 09:37 PM
Subject:[openstack-dev] new keystone developer



I'd like to begin contributing to the keystone project.

Keystone, along with all the other major infrastructure components in
OpenStack, is a rather large project. I've read over the developer
documentation, but was hoping to get help with some questions.

(1) Are there diagrams that describe how various classes, functions, etc.
interact with one another?

(2) What's the best way to debug keystone when editing existing code or
adding? Tips from those who do this every day would be greatly appreciated.

(3) Is there a way to import large chunks (or, preferably, all) of keystone
into iPython? This makes debugging super easy and would fit in nicely with
my existing workflow with other projects.

(4) Any other tips / tricks to help jumpstart tinkering with code?

Many thanks.
-mario___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
inline: graycol.gif___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] new keystone developer

2014-01-22 Thread Yuriy Taraday
Hello.

On Thu, Jan 23, 2014 at 8:06 AM, Steve Martinelli steve...@ca.ibm.comwrote:

 #3 - I'll leave this to others

 [image: Inactive hide details for Mario Adessi ---01/22/2014 09:37:48
 PM---I'd like to begin contributing to the keystone project. Keys]Mario
 Adessi ---01/22/2014 09:37:48 PM---I'd like to begin contributing to the
 keystone project. Keystone, along with all the other major inf
 (3) Is there a way to import large chunks (or, preferably, all) of
 keystone into iPython? This makes debugging super easy and would fit in
 nicely with my existing workflow with other projects.

I think you might find ipdb https://pypi.python.org/pypi/ipdb useful for
you: it's run just like pdb but opens an iPython shell instead.

-- 

Kind regards, Yuriy.
graycol.gif___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev