![Ngo Quoc Cuong](/assets/img/avatar_default.png)
The i18n team has decided not to translate the logs because it seems like it not very useful; operators prefer to have them in English so that they can search for those strings on the internet. Since we have removed log translations completely, we should add hacking rule to prevent future mistakes. Change-Id: Ia7524308ef2675f8d41ac80b37dfc7e3787efd90
1.3 KiB
1.3 KiB
Ec2api Style Commandments
- Step 1: Read the OpenStack Style Commandments https://github.com/openstack-dev/hacking/blob/master/doc/source/index.rst
- Step 2: Read on
Ec2api Specific Commandments
General
Do not use locals(). Example:
LOG.debug("volume %(vol_name)s: creating size %(vol_size)sG" % locals()) # BAD LOG.debug("volume %(vol_name)s: creating size %(vol_size)sG" % {'vol_name': vol_name, 'vol_size': vol_size}) # OKAY
Use 'raise' instead of 'raise e' to preserve original traceback or exception being reraised:
except Exception as e: ... raise e # BAD except Exception: ... raise # OKAY
Creating Unit Tests
For every new feature, unit tests should be created that both test and (implicitly) document the usage of said feature. If submitting a patch for a bug that had no unit test, a new passing unit test should be added. If a submitted bug fix does have a unit test, be sure to add a new one that fails without the patch and passes with the patch.
For more information on creating unit tests and utilizing the testing infrastructure in OpenStack Ec2api, please read ec2api/testing/README.rst.