<div dir="ltr">Hello Aparna,<div><br></div><div>I would suggest to start from Nova Developer Guide [1] to understand what Nova is in general, what services it consists of and so on.</div><div><br></div><div>There are different approaches how to learn new stuff. I personally prefer the 'top-bottom' one, i.e. when you start from high-level concepts and gradually proceed to concrete details. If you like this approach, you could install devstack [2], boot a few VMs and start learning Nova by checking logs of its services: API, scheduler, compute, etc. So you could follow the booting of a new VM from a request to Nova API to a qemu process running on the compute node.</div>
<div><br></div><div>When you are familiar with the basic concepts of how Nova works, it might be about the time to actually check the code. Basically, it looks like this (I described a few important subsystems):</div><div>
<br></div><div><div>rpodolyaka@rpodolyaka-pc:~/sandbox/nova/nova$ tree -L 1 -d</div><div><br></div><div>├── api - OpenStack Compute/EC2 APIs are defined here; mapping of HTTP requests to functions, which handle them, is done here too</div>
<div>├── CA</div><div>├── cells</div><div>├── cert</div><div>├── cloudpipe</div><div>├── cmd - executables of Nova (nova-api, scheduler, compute, etc) are defined here</div><div>├── compute - implemetantion of nova-compute service</div>
<div>├── conductor - implementation of nova-conductor service </div><div>├── console</div><div>├── consoleauth</div><div>├── db - DB access layer (also known as DBAPI)</div><div>├── hacking</div>
<div>├── image</div><div>├── ipv6</div><div>├── keymgr</div><div>├── locale</div><div>├── network - implementation of nova-network + Neutron bindings</div><div>├── objects</div><div>├── objectstore</div><div>├── openstack - common code for all OpenStack projects (utils, logs, DB, RPC, etc)</div>
<div>├── pci</div><div>├── scheduler - implementation of Nova scheduler</div><div>├── servicegroup</div><div>├── spice</div><div>├── storage</div><div>├── tests - tests (mostly unit) of Nova live here</div>
<div>├── virt - bindings to supported hypervisors (libvirt, xen, etc)</div><div>├── vnc</div><div>└── volume</div></div><div><br></div><div>I hope, this will help you.</div><div><br><div>Thanks,</div><div>
Roman</div></div><div><br></div><div>[1] <a href="http://docs.openstack.org/developer/nova/devref/">http://docs.openstack.org/developer/nova/devref/</a></div><div>[2] <a href="http://devstack.org/">http://devstack.org/</a></div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Oct 9, 2013 at 4:58 AM, Aparna Datt <span dir="ltr"><<a href="mailto:aparna.cloud@gmail.com" target="_blank">aparna.cloud@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div style="margin:8px auto 0px;padding:10px 0px 0px;overflow:auto;font-family:Arial;color:rgb(75,75,75);word-wrap:break-word;border-top-color:rgb(240,240,240);border-top-width:1px;border-top-style:solid;font-size:14px;line-height:21px">
<p style="margin:0px 0px 14px;padding:0px 5px 5px 0px;border:none;line-height:1.4;font-family:'Helvetica Neue',Arial,Helvetica,sans-serif">hi.... i was going through code of nova on github...but there are no readme files available regarding code organization of nova. Can anyone provide me with a link from where i can begin reading the code ? or if anyone can help me by indicators on from which files / folders the nova begins its processing?</p>
<p style="margin:0px 0px 14px;padding:0px 5px 5px 0px;border:none;line-height:1.4;font-family:'Helvetica Neue',Arial,Helvetica,sans-serif">Regards,</p><p style="margin:0px 0px 14px;padding:0px 5px 5px 0px;border:none;line-height:1.4;font-family:'Helvetica Neue',Arial,Helvetica,sans-serif">
Aparna</p><div><br></div></div></div>
<br>_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br></div>