fc5afdacf2
This change breaks down the monolithic 'dcmanager' process into a separate state-handling multi-process architecture. Subcloud state management is handled by the new state processes. This is a performance optimization, increasing the throughput of subcloud state change operations during dcmanager audits. It also optimizes performance handling of state updates from dcorch. Refactoring. These top-level methods are moved from dcmanager SubcloudManager to SubcloudStateManager (along with associated RPC/service APIs above): - update_subcloud_endpoint_status - update_subcloud_availability - plus internal methods, including the subcloud-level synchronization block New service: DCManagerStateService() - distributedcloud/dcmanager/state/service.py - overriding max_pool_size, max_overflow values from /etc/dcmanager/dcmanager.conf New state manager: SubcloudStateManager() - distributedcloud/dcmanager/state/subcloud_state_manager.py New RPC client: SubcloudStateClient() - Added to existing distributedcloud/dcmanager/rpc/client.py New RPC topic: - TOPIC_DC_MANAGER_STATE = "dcmanager-state" SM service changes: - distributedcloud/dcmanager/cmd/state.py - distributedcloud/ocf/dcmanager-state Other notable changes (from testing): - Cleanup: unused ThreadGroupManager removed from dcmananager service.py - generic_sync_manager: Add eventlet yield during subcloud processing during initialization - dcorch: fix exceptions on shutdown due to race on threadgroup shutdown - dcorch: log service startup with worker config Test cases: - update test cases where necessary to used the newly refactored code - since there is no new logic, no additional tests are required Test Plan: PASS: - Test various audit scenarios in small virtualized environment - Test audit scenarios in lab setting with a large number of subclouds - subclouds going offline/online (including flooding) - dead office recovery - swact - system soak - Validate dcmanager-state service lifecycle and dependencies Story: 2009725 Task: 44317 Change-Id: I2c9a0f84e8cf638632ca319545e9e93e6f43f263 Signed-off-by: Kyle MacLeod <kyle.macleod@windriver.com> |
||
---|---|---|
.. | ||
dcdbsync-api | ||
dcmanager-api | ||
dcmanager-audit | ||
dcmanager-audit-worker | ||
dcmanager-manager | ||
dcmanager-orchestrator | ||
dcmanager-state | ||
dcorch-cinder-api-proxy | ||
dcorch-engine | ||
dcorch-identity-api-proxy | ||
dcorch-neutron-api-proxy | ||
dcorch-nova-api-proxy | ||
dcorch-patch-api-proxy | ||
dcorch-sysinv-api-proxy |