diff options
author | Edyta Krukowska <edyta.krukowska@nokia.com> | 2021-03-25 08:26:18 +0100 |
---|---|---|
committer | Edyta Krukowska <edyta.krukowska@nokia.com> | 2021-03-25 09:55:52 +0100 |
commit | d8facaa17d35af37291192d09a783c620bc379c5 (patch) | |
tree | 4c82eed458ef33f2da98b1fc7a7906e01ff1ceea /src/python/netconf_server_application.py | |
parent | 3b73097920be148bc82ce4a1c719cc42da8fc721 (diff) |
Run flask at image start
Issue-ID: INT-1869
Signed-off-by: Edyta Krukowska <edyta.krukowska@nokia.com>
Change-Id: I4fa3e16e5d4520b449274b67d8f7bca3c16f57a6
Diffstat (limited to 'src/python/netconf_server_application.py')
-rw-r--r-- | src/python/netconf_server_application.py | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/src/python/netconf_server_application.py b/src/python/netconf_server_application.py index e112490..09dea83 100644 --- a/src/python/netconf_server_application.py +++ b/src/python/netconf_server_application.py @@ -17,38 +17,43 @@ # limitations under the License. # ============LICENSE_END========================================================= ### -import asyncio import sys import logging +from netconf_server.netconf_rest_server import NetconfRestServer -from netconf_server.netconf_server import NetconfServer -from netconf_server.netconf_server_factory import NetconfServerFactory +from netconf_server.netconf_change_listener import NetconfChangeListener +from netconf_server.netconf_change_listener_factory import NetconfChangeListenerFactory from netconf_server.sysrepo_configuration.sysrepo_configuration_loader import SysrepoConfigurationLoader, \ ConfigLoadingException from netconf_server.sysrepo_interface.sysrepo_client import SysrepoClient logging.basicConfig( - handlers=[logging.StreamHandler(), logging.FileHandler("/logs/netconf_saver.log")], + handlers=[logging.StreamHandler(), logging.FileHandler("/logs/netconf_server.log")], level=logging.DEBUG ) -logger = logging.getLogger("netconf_saver") +logger = logging.getLogger("netconf_server") -def run_server_forever(session, server: NetconfServer): - server.run(session) - asyncio.get_event_loop().run_forever() +def run_server_forever(session, change_listener: NetconfChangeListener, server_rest: NetconfRestServer): + change_listener.run(session) + server_rest.start() -def create_configured_server() -> NetconfServer: +def create_change_listener() -> NetconfChangeListener: configuration = SysrepoConfigurationLoader.load_configuration(sys.argv[1]) - return NetconfServerFactory(configuration.models_to_subscribe_to).create() + return NetconfChangeListenerFactory(configuration.models_to_subscribe_to).create() + + +def create_rest_server() -> NetconfRestServer: + return NetconfRestServer() if __name__ == "__main__": if len(sys.argv) >= 2: try: - netconf_server = create_configured_server() - SysrepoClient().run_in_session(run_server_forever, netconf_server) + netconf_change_listener = create_change_listener() + rest_server = create_rest_server() + SysrepoClient().run_in_session(run_server_forever, netconf_change_listener, rest_server) except ConfigLoadingException: logger.error("File to load configuration from file %s" % sys.argv[1]) else: |