diff options
author | Ethan Lynn <ethanlynnl@vmware.com> | 2017-12-14 11:10:13 +0800 |
---|---|---|
committer | Ethan Lynn <ethanlynnl@vmware.com> | 2017-12-28 03:36:32 +0000 |
commit | 6b4d59475fb8f4c3cd74632672665ae0c3ed12e2 (patch) | |
tree | f1bcc05e9ea10e2475c7fb6b028be731b4e75a36 /multivimbroker/multivimbroker/forwarder/views.py | |
parent | dfd494fc4f41e44302c7ddf361b597aa486993e7 (diff) |
Make cloud provider plugin configurable
The cloud provider plugin info stores in
pub/config/provider-plugin.json, by editing this file other
plugin provider can easily add a new plugin.
Change-Id: I499fb05758e76eb2bda6bb4e9fafd302e810dddc
Issue-ID: MULTICLOUD-132
Signed-off-by: Ethan Lynn <ethanlynnl@vmware.com>
(cherry picked from commit 1ab719d0d310b0c0640eeeb4d1cf87dcae4c3168)
Diffstat (limited to 'multivimbroker/multivimbroker/forwarder/views.py')
-rw-r--r-- | multivimbroker/multivimbroker/forwarder/views.py | 35 |
1 files changed, 8 insertions, 27 deletions
diff --git a/multivimbroker/multivimbroker/forwarder/views.py b/multivimbroker/multivimbroker/forwarder/views.py index 59c566b..e098065 100644 --- a/multivimbroker/multivimbroker/forwarder/views.py +++ b/multivimbroker/multivimbroker/forwarder/views.py @@ -12,6 +12,9 @@ # See the License for the specific language governing permissions and # limitations under the License. +import os +import json + from rest_framework.views import APIView from rest_framework.views import Response from rest_framework.views import status @@ -79,33 +82,11 @@ class VIMTypes(BaseServer): def get(self, request): # Fix here unless we have plugin registry - data = { - "vim_types": [ - { - "vim_type": "openstack", - "versions": [ - { - "version": "titanium_cloud", - "extra_info_hint": "" - }, - { - "version": "ocata", - "extra_info_hint": "" - } - ] - }, - { - "vim_type": "vmware", - "versions": [ - { - "version": "4.0", - "extra_info_hint": "" - } - ] - } - ] - } - + json_file = os.path.join(os.path.dirname(__file__), + '../pub/config/provider-plugin.json') + with open(json_file, "r") as f: + plugins = json.load(f) + data = {"vim_types": plugins} return Response(data=data, status=status.HTTP_200_OK) |