3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
7 # http://www.apache.org/licenses/LICENSE-2.0
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
16 from dss.server import dss_config
17 from dss.server import dss_server
18 from dss.server import dss_logger
19 from dss.server import dss_rpc_processor
20 from dss.server import dss_get_handler
21 from dss.server import dss_get_domain_handler
22 from dss.server import dss_get_domains_handler
23 from dss.server import dss_set_handler
24 from dss.server import dss_delete_handler
25 from dss.server import dss_delete_domain_handler
26 from dss.server import dss_plugin_loader
33 conf = dss_config.Config(config)
36 logger = dss_logger.Logger(conf.get_logging_destination(),
38 conf.get_logging_level())
41 logging.info('Initializing dss plugin')
42 plugin = dss_plugin_loader.DSSPluginLoader(conf)
44 #initialize rpc processor
45 logging.info('Initializing rpc processor')
46 rpcprocessor = dss_rpc_processor.RPCProcessor()
49 logging.info('Adding RPC handlers')
50 gethandler = dss_get_handler.GetHandler(plugin)
51 rpcprocessor.add_handler(gethandler)
52 getdomainhandler = dss_get_domain_handler.GetDomainHandler(plugin)
53 rpcprocessor.add_handler(getdomainhandler)
54 getdomainshandler = dss_get_domains_handler.GetDomainsHandler(plugin)
55 rpcprocessor.add_handler(getdomainshandler)
56 sethandler = dss_set_handler.SetHandler(plugin)
57 rpcprocessor.add_handler(sethandler)
58 deletehandler = dss_delete_handler.DeleteHandler(plugin)
59 rpcprocessor.add_handler(deletehandler)
60 deletedomainhandler = dss_delete_domain_handler.DeleteDomainHandler(plugin)
61 rpcprocessor.add_handler(deletedomainhandler)
63 #initialize tcp server
64 logging.info("Initializing tcp server")
65 server = dss_server.Server(conf, rpcprocessor)
67 logging.info('Waiting for TCP requests')
70 logging.info('TCP server stopped')
72 logging.info('Exiting, bye bye...')
80 parser = argparse.ArgumentParser(description='dss-server',
83 parser.add_argument('--config',
87 default='/etc/dss-server/config.ini',
88 help='The dss server configuration file',
93 result = parser.parse_args(sys.argv[1:])
95 except Exception as exp:
96 print("Failed with error %s" % exp)
103 if __name__ == '__main__':