Getting started with any codebase requires some getting used to the layout of the project, this guide is meant to make your journey navigating the code easier. All paths are relative to the repository root.
The Python source code for the project can be found in
masakari
:
masakari/api
contains the api service,
masakari/engine
contains the engine service.
The base datamodel can be found in masakari/objects
.
It uses oslo_versionedobjects
.
These objects are used throughout the code, including RPC, REST API and database persistence.
The datamodel for oslo notifications (not to be confused with Masakari notifications
which are one type of Masakari data objects) can be found in
masakari/notifications
.
Mappings of the models for the API are in masakari/api/openstack/ha/schemas
.
The controllers are in masakari/api/openstack/ha
.
The implementations of the actions are in masakari/ha/api.py
.
Some objects can be persisted (saved) to the database,
currently only sqlalchemy
is supported as the backend.
The general interface is in masakari/db/api.py
.
The sqlalchemy implementation is in masakari/db/sqlalchemy/api.py
.
Database mappings are in masakari/db/sqlalchemy/models.py
.
The Masakari project has a variety of entry points.
The entry points can be found in the entry_points
section of setup.cfg
.
The main entry points are for the engine and the api:
masakari.cmd.api:main
,
masakari.cmd.engine:main
.
Another interesting one is the entry point for the management CLI, masakari.cmd.manage:main
.
The tests are located in: masakari/tests
.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.