This commit adds a new module puppet-dcagent and make the necessary
changes to implement it.
The dcagent ports are:
Internal API port: 8325
Admin API port: 8326
Notes:
- Since this new service will be used internally by dcmanager and
dcorch only, no public port was created.
- The sysinv change in [1] is used to enable this puppet code, so
testing was done with it applied as well.
[1]: https://review.opendev.org/c/starlingx/config/+/923697
Test plan:
- PASS: Bootstrap and unlock a subcloud. Verify that the endpoints
were correctly configured, the dcagent.conf file has all
necessary information and haproxy.conf includes the
dcagent entry.
- PASS: Launch the service and verify dcmanager can audit the
subcloud with dcagent.
- PASS: Bootstrap and unlock a system controller. Verify the
Keystone user and service for dcagent were created without
creating any endpoints.
- PASS: Run 'sm-restart service dcagent-api' and verify the dcagent
was correctly restarted and service is working as expected.
- PASS: Induce a failure in dcagent code. Verify sm correctly
restarts the service until the failure is corrected.
Depends-On: https://review.opendev.org/c/starlingx/distcloud/+/923752
Depends-On: https://review.opendev.org/c/starlingx/ha/+/923698
Story: 2011106
Task: 50561
Change-Id: Ie851b9926159702d5a72daa0aa015330f8b11664
Signed-off-by: Victor Romano <victor.gluzromano@windriver.com>