summaryrefslogtreecommitdiffstats
path: root/multivimbroker/multivimbroker/forwarder/views.py
diff options
context:
space:
mode:
authorEthan Lynn <ethanlynnl@vmware.com>2017-12-14 11:10:13 +0800
committerEthan Lynn <ethanlynnl@vmware.com>2017-12-28 03:36:32 +0000
commit6b4d59475fb8f4c3cd74632672665ae0c3ed12e2 (patch)
treef1bcc05e9ea10e2475c7fb6b028be731b4e75a36 /multivimbroker/multivimbroker/forwarder/views.py
parentdfd494fc4f41e44302c7ddf361b597aa486993e7 (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.py35
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)