Add subscription and notification for resource changes; fix a bug while pserver node... 08/7408/4
authorZhang Rong(Jon) <rong.zhang@windriver.com>
Thu, 16 Dec 2021 16:50:35 +0000 (00:50 +0800)
committerZhang Rong(Jon) <rong.zhang@windriver.com>
Mon, 20 Dec 2021 08:37:00 +0000 (16:37 +0800)
commit9625c5b766377f641d9641471f10dd491a61447f
tree7de08bab983aa14db66735e2cf70358f6f19fb86
parentd14329a57d8d01d443e4158fa5030a5b5ada4060
Add subscription and notification for resource changes; fix a bug while pserver node is uninstalled status

1. Trigger an event while resource changed, create a command handler to deal the event, let it can callback to SMO.
2. Create a mock SMO server with a simple html page to subscribe to O2IMS resource changing.
3. Fix a bug that when watch the pserver that it has an unavailable node.

Issue-ID: INF-238
Signed-off-by: Zhang Rong(Jon) <rong.zhang@windriver.com>
Change-Id: I13304656a721dbe5d4aec23200063e874eefa521
48 files changed:
Dockerfile.localtest
docker-compose.yml
mock_smo/Dockerfile [new file with mode: 0644]
mock_smo/etc/log.yaml [new file with mode: 0644]
mock_smo/mock_smo/__init__.py [new file with mode: 0644]
mock_smo/mock_smo/config.py [new file with mode: 0644]
mock_smo/mock_smo/entrypoints/__init__.py [new file with mode: 0644]
mock_smo/mock_smo/entrypoints/mock_smo.py [new file with mode: 0644]
mock_smo/mock_smo/logging.py [new file with mode: 0644]
mock_smo/o2app-mock-smo.sh [new file with mode: 0644]
mock_smo/requirements.txt [new file with mode: 0644]
mock_smo/setup.py [new file with mode: 0644]
o2app/adapter/unit_of_work.py
o2app/entrypoints/redis_eventconsumer.py
o2app/entrypoints/resource_watcher.py
o2app/service/handlers.py
o2common/adapter/redis_eventpublisher.py
o2common/domain/base.py
o2common/service/watcher/worker.py
o2ims/adapter/clients/ocloud_sa_client.py
o2ims/adapter/ocloud_repository.py
o2ims/adapter/orm.py
o2ims/domain/commands.py
o2ims/domain/events.py
o2ims/domain/ocloud.py
o2ims/domain/ocloud_repo.py
o2ims/domain/subscription_obj.py [new file with mode: 0644]
o2ims/domain/subscription_repo.py [new file with mode: 0644]
o2ims/service/auditor/ocloud_handler.py
o2ims/service/auditor/pserver_cpu_handler.py
o2ims/service/auditor/pserver_eth_handler.py
o2ims/service/auditor/pserver_handler.py
o2ims/service/auditor/pserver_if_handler.py
o2ims/service/auditor/pserver_mem_handler.py
o2ims/service/auditor/pserver_port_handler.py
o2ims/service/auditor/resourcepool_handler.py
o2ims/service/event/__init__.py [new file with mode: 0644]
o2ims/service/event/notify_handler.py [new file with mode: 0644]
o2ims/service/event/ocloud_event.py [new file with mode: 0644]
o2ims/service/event/resource_event.py [new file with mode: 0644]
o2ims/service/event/resource_pool_event.py [new file with mode: 0644]
o2ims/views/ocloud_view.py
requirements-test.txt
tests/integration/test_ocloud_repository.py
tests/integration/test_ocloud_view.py
tests/mock_smo/subscription.py [new file with mode: 0644]
tests/unit/test_ocloud.py
tests/unit/test_watcher.py