
This feature adds a new RPC backend for communication between sysinv-api, sysinv-conductor and sysinv-agent processes. This backend is implemented using a patched zerorpc library [1], which is built on top of ZeroMQ and message-pack. The motivation behind this change is to decouple sysinv from RabbitMQ, and use a brokerless solution for RPC instead. The key points are: - All imports of rpcapi.py are replaced by rpcapiproxy.py, which decides the backend to use (rabbitmq or zeromq) according to configuration. - During an upgrade process the rpc service listens to both rabbitmq and zeromq. For communication between hosts, the client backend api is chosen according to host software version. - In future versions, the usage of RabbitMQ will no longer be necessary and its usage can be removed. I have marked these parts of code with "TODO(RPCHybridMode)" to easily track it. [1] https://review.opendev.org/c/starlingx/integ/+/864310 TEST PLAN: PASS: Bootstrap and host-unlock on AIO-SX, AIO-Duplex, Standard PASS: Bootstrap and host-unlock on DC system-controller and subcloud PASS: Verify sysinv.log and confirm no error occurs in RPC communication PASS: Perform system cli commands that interacts with sysinv RPCs: - system host-cpu-max-frequency-modify - system license-install - system storage-backend-add ceph-external - system host-swact PASS: Backup & Restore on AIO-SX PASS: Bootstrap replay (updating mgmt and cluster subnet) on AIO-SX PASS: Platform upgrade on AIO-DX (22.06 -> 22.12) PASS: Platform upgrade on AIO-DX+ (22.06 -> 22.12) PASS: Platform upgrade on AIO-SX (22.06 -> 22.12) Depends-On: https://review.opendev.org/c/starlingx/tools/+/859576 Depends-On: https://review.opendev.org/c/starlingx/stx-puppet/+/859575 Depends-On: https://review.opendev.org/c/starlingx/ansible-playbooks/+/862609 Story: 2010087 Task: 46444 Change-Id: I5cd61b541a6d8c62628a0f99db0e35af1eae5961 Signed-off-by: Alyson Deives Pereira <alyson.deivespereira@windriver.com> Signed-off-by: Eduardo Juliano Alberti <eduardo.alberti@windriver.com>
21 lines
290 B
Bash
21 lines
290 B
Bash
#!/bin/bash
|
|
#
|
|
# Copyright (c) 2022 Wind River Systems, Inc.
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
#
|
|
|
|
NAME=$(basename $0)
|
|
|
|
function log {
|
|
logger -p local1.info $1
|
|
}
|
|
|
|
log "$NAME: restarting sysinv services"
|
|
|
|
sm-restart service sysinv-conductor
|
|
sleep 2
|
|
pmon-restart sysinv-agent
|
|
|
|
exit 0
|