diff options
author | asteroide <thomas.duval@orange.com> | 2017-07-19 17:11:16 +0200 |
---|---|---|
committer | asteroide <thomas.duval@orange.com> | 2017-07-19 17:11:16 +0200 |
commit | a512f3efc3b72ccd0d4d7ccda97833d816836f8d (patch) | |
tree | 3c5d138f68d9d6c90ad9e5b110f6f341f96decd2 /moonv4/moon_consul/moon_consul/api/slave.py | |
parent | ffd694ebadb1d3b4e140104f9f0a81837c0e7258 (diff) |
First version of the Consul component
Change-Id: I32487faa7a68caaf2d40d0a6938e6fc1537680a0
Diffstat (limited to 'moonv4/moon_consul/moon_consul/api/slave.py')
-rw-r--r-- | moonv4/moon_consul/moon_consul/api/slave.py | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/moonv4/moon_consul/moon_consul/api/slave.py b/moonv4/moon_consul/moon_consul/api/slave.py new file mode 100644 index 00000000..7f8acb28 --- /dev/null +++ b/moonv4/moon_consul/moon_consul/api/slave.py @@ -0,0 +1,72 @@ +# Copyright 2015 Open Platform for NFV Project, Inc. and its contributors +# This software is distributed under the terms and conditions of the 'Apache-2.0' +# license which can be found in the file 'LICENSE' in this package distribution +# or at 'http://www.apache.org/licenses/LICENSE-2.0'. +""" +Assignments allow to connect data with elements of perimeter + +""" + +from flask import request +from flask_restful import Resource +# from oslo_config import cfg +from oslo_log import log as logging +# from moon_interface.tools import check_auth + +__version__ = "0.1.0" + +LOG = logging.getLogger(__name__) +# CONF = cfg.CONF + + +class Slave(Resource): + """ + Endpoint for slave requests + """ + + __urls__ = ( + "/configuration/slave", + ) + + def __init__(self, *args, **kwargs): + self.conf = kwargs.get('conf', {}) + + # @check_auth + def get(self): + """Retrieve slave configuration + + If current server is a slave: + :return: { + "slave": { + "name": "name of the slave", + "master_url": "URL of the master", + "user": [ + { + "username": "user to be used to connect to the master", + "password": "password to be used to connect to the master" + } + ] + } + } + else: + :return: { + "slave": {} + } + """ + # TODO: password must be encrypted + if self.conf.SLAVE_NAME: + return { + "slave": { + "name": self.conf.SLAVE_NAME, + "master_url": self.conf.MASTER_URL, + "user": [ + { + "username": self.conf.MASTER_LOGIN, + "password": self.conf.MASTER_PASSWORD + } + ] + } + } + else: + return {"slave": {}} + |