- use literal includes to show input and output
- add input payloads folder to docs
- add output payloads folder to docs
Change-Id: Ifaa782422edc2d0fee70fcc2f8909fd928e363cc
This modification introduce a breaking change about AMQP
queue handling.
Now, Almanach use the same terminology as other OpenStack
projects.
- By default, Almanach listen on the "almanach" topic
- The "info" priority is used to receive notifications
- The "error" level is used as retry queue
- The "critical" level for the dead queue
To be compatible with olso_messaging drivers, transport_url
must start by "rabbit://" to use the driver kombu.
Change-Id: Ia331d68e94c8ce4196b2d5f3b974a8dbdd6016ef
- Simplify exception handling in API handler.
- The API code absolutely need to be refactored to use
the same date format everywhere and to use the same way
of handling JSON parsing/serialization, basically
validation of incoming data must consistent across the
application.
Change-Id: Ie490fac8867086e7f3e719a04993f9803e48b350
* kombu have been updated to be compatible with global
requirements
* Unit test have been modified due to breaking changes
introduced by kombu library
* kombu will be replaced later by oslo.messaging
* Add new config option to define multiple connection
URL separated by a semi-colon
* Use secret parameter to avoid any password leaks in log
files
* Add option for connection heartbeat
Change-Id: Ia1db99f5804a0b3cdd496485f6a9410758d567fe
* New storage drivers can be implemented in addition
to MongoDB, for example: MySQL or Postgres, etc.
* The default database driver still MongoDB
* New storage drivers must implement the interface
defined by the class BaseDriver
* Flexmock and hamcrest are deprected for new unit tests
Change-Id: I1cf73f28d469d2f22ecbaf345e53b9596cc0c2f6
In order to migrate the code base to the "OpenStack way":
* Replace ConfigParser by oslo.config
* Replace logging by oslo.log
* Use testtools as base class for unit tests
* Add tox -e genconfig to generate config file
* Start to organize the file structure like other projects
* Define 2 cli entry points almanach-collector and almanach-api
* The docker-compose.yml is now used to run integration-tests
* Integration tests will be moved to tempest in the future
* Docker configs should be deprecated and moved to Kolla
Change-Id: I89a89a92c7bdb3125cc568323db0f9488e1380db
- Follow what other OpenStack projects are doing
- Respect the OpenStack guidelines about import
- Remove common packages
Change-Id: I4a3f598537ed5f54edab79471d074a46fa99ab52
- add autoflask to index.rst
- add pydocs for all methods
- move app out of AlmanachApi so autoflask can see it
Change-Id: I83e1af74507091774d1eff86fa1d07a237d69729
In Python 3 __ne__ by default delegates to __eq__ and inverts the
result, but in Python 2 they urge you to define __ne__ when you
define __eq__ for it to work properly [1].There are no implied
relationships among the comparison operators. The truth of x==y
does not imply that x!=y is false. Accordingly, when defining __eq__(),
one should also define __ne__() so that the operators will behave
as expected.
[1]https://docs.python.org/2/reference/datamodel.html#object.__ne__
Change-Id: I2eecd9d90a3a6ba09917f27f2f8568a42beb58d1
In Python 3 __ne__ by default delegates to __eq__ and inverts the
result, but in Python 2 they urge you to define __ne__ when you
define __eq__ for it to work properly [1].There are no implied
relationships among the comparison operators. The truth of x==y
does not imply that x!=y is false. Accordingly, when defining __eq__(),
one should also define __ne__() so that the operators will behave
as expected.
[1]https://docs.python.org/2/reference/datamodel.html#object.__ne__
Change-Id: Ib9db2166313f49f3b40df7ce0aba8b01c6a2869a
In some part in the code we import objects.
In the Openstack style guidelines they recommend to import only
modules.
http://docs.openstack.org/developer/hacking/#imports
Change-Id: I58b2dab1a46128893648630edba615e2592040ac
* Add gitreview
* Update tox configuration
* Add skeleton for documentation
* Change requirements to be compatible with OpenStack global requirements
Change-Id: Ic137410083bebfe58a653d6ffc0565d6a61f393d
- The Python logger have to be configured before to start the daemon
- If no custom logger configuration is provided, the default behavior is to log to stdout now (useful for Docker images)
- When events are received in the wrong order, instance delete are not taken into consideration
- There is already a mechanism that send messages to the retry queue
- This fix check the existence of the entity before doing the database update
- This fix send to the retry queue messages with entity not found