freezer/HACKING.rst

78 lines
2.0 KiB
ReStructuredText

Freezer Style Commandments
===========================
- Step 1: Read the OpenStack Style Commandments
https://docs.openstack.org/hacking/latest/
- Step 2: Read on
Freezer Specific Commandments
------------------------------
Logging
-------
Use the common logging module, and ensure you ``getLogger``::
from oslo_log import log
LOG = log.getLogger(__name__)
LOG.debug('Foobar')
oslo.config
-----------
- All configuration options for freezer-scheduler should be in the following file ::
freezer/scheduler/arguments.py
- After adding new options to freezer-scheduler please use the following command to update the sample configuration file::
oslo-config-generator --config-file etc/config-generator.conf
- If you added support for a new oslo library, you have to edit the following file adding a new namespace for the new oslo library:
for example adding oslo.db::
# edit etc/config-generator.conf
[DEFAULT]
output_file = etc/scheduler.conf.sample
wrap_width = 79
namespace = scheduler
namespace = oslo.log
namespace = oslo.db
This will add oslo.db options to your configuration file.
Agent Options
-------------
- All configuration options for freezer-agent should be in the following file ::
freezer/common/config.py
- To list options available in freezer-agent use the following command::
oslo-config-generator --namespace freezer --namespace oslo.log
Release Notes
-------------
- When a new feature is committed we should have a new release notes page that
highlights the changes made. These release notes will be used for deployers,
users, and developers. There are a few steps that need to be taken in order.
* Generate a release notes page
1. tox -e venv -- reno new {my-new-feature}
2. https://docs.openstack.org/reno/latest/user/usage.html#creating-new-release-notes
* Update/Edit an existing release note
1. https://docs.openstack.org/reno/latest/user/usage.html#editing-a-release-note
- Building release notes::
tox -e releasenotes