...
- RESTful API to set/read/update the configuration settings, leadership election and take/release distributed lock.
- Long poll for near instant configuration notifications.
- Client packages:
- For configuration store, both Java and Python have abstraction alrady over consul and hence there is no special service-level package is required.
- Python and Java based client package to simplify leadership election and distirbuted locks. This package wraps various operations required to elect the leader. Also, this client package abstracts various operations required to create lock, take and release the lock.
Architecture Alignment:
- How does this project fit into the rest of the ONAP Architecture?
- Configuration-seed micro service is expcted to be a common service.
- consul from MSB can be used as Distributed key store
- Boot strap phase is expected to be part of each service
- What other ONAP projects does this project depend on?
- It does not depend on any existing ONAP projects.
- Are there dependencies with other open source projects?
- Consul (http://consul.io). Reasons for choosing consule:
- Well maintained.
- Used by many projects (e.g EdgexFoundry, vault project)
- Good support for Java libraries (For Java based services, cfg4j is normally used to read the configuration. cfg4j has consul backend, python-envconsul package is useful for python based services)
- It is alredy being used by ONAP (as part of MSB) as service-registry and service-discovery.
- Consul (http://consul.io). Reasons for choosing consule:
...