Nova onboarding
What is Nova Nova’s mission is “To implement services and associated libraries to provide massively scalable, on demand, self service access to compute resources, including bare metal, virtual machines, and containers.”
How to navigate - People ● PTL and the core teams (nova, nova-specs, nova-stable, placement) ● IRC channels #openstack-nova, #openstack-placement ● Weekly meeting with agenda ● On the MailingList with [nova] and/or [placement] tag
How to navigate - Process ● Blueprints and specs ● Bugs ● Milestones ○ Spec freeze at M2 ○ Feature code freeze at M3 ● Runways
How to navigate ● Architecture ● Repositories ○ https://github.com/openstack/nova ○ https://github.com/openstack/python-novaclient ○ https://github.com/openstack/python-openstackclient/tree/master/openstackclient/compute ○ https://github.com/openstack/os-vif ○ https://github.com/openstack/os-brick ○ https://github.com/openstack/placement ○ https://github.com/openstack/os-traits ○ https://github.com/openstack/osc-placement
How to navigate - Directory structure ● Nova directory structure ● Placement directory structure ○ api/ ○ db/ ○ cmd/ ○ handlers/ ○ compute/ ○ objects/ ○ conductor/ ○ policies/ ○ conf/ ○ schemas/ ○ db/ ○ tests/ ○ network/ ○ notifications/ ○ objects/ ○ privsep/ ○ scheduler/ ○ tests/ ○ virt/ ○ volume/
How to navigate - Test structure ● Nova test structure: ○ Unit test ○ Functional test (api sample, notification sample, scenarios with fake virt driver) ○ Tempest test ● Placement test structure ○ Unit test ○ Gabbit test ● Look into tox.ini for help
How to navigate ● Logs ○ debug = True ○ sudo journalctl --unit devstack@n-* | grep <server uuid> ○ sudo journalctl --unit devstack@n-* | grep <req-id> ● Configuration ○ nova.conf package ○ tox -e genconfig && cat ./etc/nova/nova.conf.sample
How can you help us ● Bug triage ● Low hanging bugs ● Closing the OSC client support gaps (nova, placement) ● Add support for the placement API microversions added in Rocky ○ https://blueprints.launchpad.net/nova/+spec/placement-osc-plugin-stein ○ Starting at microversion 1.18: https://docs.openstack.org/nova/latest/user/placement.html
Server create request flow placement-api nova-api nova-scheduler nova-conductor (super) cell1 cell2 reschedule nova-conductor nova-conductor (cell) (cell) nova-compute nova-compute nova-compute nova-compute
Recommend
More recommend