This way we can test the service api later on gate
In order to use etcd in gate few changes were made:
* All identifiers must be byte type (group type, member id)
* Tooz has a built-in mechanizm for heartbeat no need to implement it
* Need to use eventlet monkey patch since etcd client uses blocking
methods
* Services name must be identical to LAUNCH_OPTIONS used in cli
* Gate coordination url should be define with a schema of etcd+http
which is the etcd gateway and works better then just etcd
Change-Id: I772651e33eada4a5c2149bfa867095c277eddeed
* Using method from_db_model() of REST resources where possible
which is more efficient than from_dict() that requires one more
object in memory (a dict)
* Minor style changes
Change-Id: Ie1f3137bee94328f2af676a0831e30c1cf212f47
* Fixed the bug #1622534
* Introduced MistralService class extending oslo.service.Service
that all Mistral components running standalone should extend
* Refactored engine, executor and event engine with MistralService
* Moved most of the startup logic from launch.cmd to individual
corresponding components
* Cluster membership is now under control of MistralService
* Fixed test_join.test_full_join_with_conditions() which previously
had a bug and we were just 'lucky' that it passed due to a
different work of scheduler
* Fixed a number of test cases
* Other minor changes
TODO:
* We now use many launchers (from oslo.service) to launch
services whereas we could use just one which is recommended by
oslo. However, we can't do that because of the api service
that uses many workers. We'll need to look at how to refactor it
moving forward.
* Write tests for MistralService and its derrived classes
* Address a number of TODO comments.
Closes-Bug: 1622534
Change-Id: I34ba6a8b8caf8bea17109e0f259085b373eb6d45