हम फ़िनिश एक्सेलेरेटर का हिस्सा हैं और फ़ायरवेयर द्वारा प्रदान किए गए डॉकटर कंटेनरों का उपयोग करके अपने स्वयं के सर्वर पर वायरक्लाउड और कीरॉक को तैनात कर रहे हैं।

हमारे पास KeyRock-IdM स्थापित है और वायरक्लाउड से जुड़ा हुआ है। हम लॉग-इन किए गए उपयोगकर्ताओं को एक एपीआई को टोकन देने की कोशिश कर रहे हैं जो एक विजेट को डेटा लौटाता है।

हमने जीथब कोड में "X-FI-WARE..." हेडर के बारे में दस्तावेज़ीकरण पाया और एक परीक्षण विजेट (नीचे दिखाया गया main.js) लिखा। जब फायरवेयर लैब इंस्टेंस पर तैनात किया जाता है, तो यह बॉक्स से बाहर काम करता है। जब एक डोकर कंटेनर के साथ हमारे स्थानीय इंस्टॉलेशन पर तैनात किया जाता है तो यह निम्न त्रुटि देता है: "वर्तमान उपयोगकर्ता के पास सक्रिय FIWARE प्रोफ़ाइल नहीं है"। मैंने settings.py फ़ाइल को खंगाला, लेकिन मुझे नहीं पता कि यह त्रुटि कहाँ से आ रही है। मेरे पास DEBUG=True है लेकिन लॉग में कुछ भी दिखाई नहीं दे रहा है। विजेट चलाने वाले उपयोगकर्ता को KeyRock IdM के माध्यम से लॉग इन किया गया था।

/*jshint globalstrict:true */
/*global MashupPlatform, ObjectStorageAPI, StyledElements*/

(function () { 

"use strict";


var token_available = MashupPlatform.context.get('fiware_token_available');
var username = MashupPlatform.context.get('username');
alert(username + " has token?: " + token_available);

var url = MashupPlatform.prefs.get('keyRock_url');

var request = MashupPlatform.http.makeRequest(url, {
    requestHeaders: {
        "X-FI-WARE-OAuth-Token": "true",
        "X-FI-WARE-OAuth-GET-Parameter": "access_token"
    },
    method: "GET",
    onSuccess: function (response) {
        alert("Success:" + JSON.stringify(response.responseText));
        document.getElementById('response').textContent = response.responseText;
    },
    onFailure: function (response) {
        alert("Failed:" + JSON.stringify(response.responseText));
    },
    onComplete: function () {
    }
}
);


})();

मैं कैसे पता लगा सकता हूं कि क्या गलत हो रहा है?

नीचे दी गई टिप्पणी से, एक अजगर स्क्रिप्ट को बदल दिया: /usr/local/lib/python2.7/site-packages/wirecloud/fiware/proxy.py फ़ाइल को डॉकटर कंटेनर में संपादित किया और लाइन 37 को बढ़ाए ValidationError(error_msg) से बदल दिया। एक साधारण वृद्धि।

/var/log/apache2/error.log से लॉग नीचे है

[Fri May 06 07:12:33.745550 2016] [wsgi:error] [pid 13:tid 139955375367936] Internal Server Error: /cdp/https/account.lab.fiware.org/user [Fri May 06 07:12:33.745580 2016] [wsgi:error] [pid 13:tid 139955375367936] Traceback (most recent call last): [Fri May 06 07:12:33.745584 2016] [wsgi:error] [pid 13:tid 139955375367936] File "/usr/local/lib/python2.7/site-packages/wirecloud/proxy/views.py", line 234, in proxy_request [Fri May 06 07:12:33.745587 2016] [wsgi:error] [pid 13:tid 139955375367936] response = WIRECLOUD_PROXY.do_request(request, url, request_method, workspace) [Fri May 06 07:12:33.745589 2016] [wsgi:error] [pid 13:tid 139955375367936] File "/usr/local/lib/python2.7/site-packages/wirecloud/proxy/views.py", line 144, in do_request [Fri May 06 07:12:33.745592 2016] [wsgi:error] [pid 13:tid 139955375367936] processor.process_request(request_data) [Fri May 06 07:12:33.745594 2016] [wsgi:error] [pid 13:tid 139955375367936] File "/usr/local/lib/python2.7/site-packages/wirecloud/fiware/proxy.py", line 59, in process_request [Fri May 06 07:12:33.745597 2016] [wsgi:error] [pid 13:tid 139955375367936] token = get_access_token(request['user'], _('Current user has not an active FIWARE profile')) [Fri May 06 07:12:33.745599 2016] [wsgi:error] [pid 13:tid 139955375367936] File "/usr/local/lib/python2.7/site-packages/wirecloud/fiware/proxy.py", line 33, in get_access_token [Fri May 06 07:12:33.745602 2016] [wsgi:error] [pid 13:tid 139955375367936] if oauth_info.access_token is None: [Fri May 06 07:12:33.745604 2016] [wsgi:error] [pid 13:tid 139955375367936] File "/usr/local/lib/python2.7/site-packages/social/storage/base.py", line 41, in access_token [Fri May 06 07:12:33.745615 2016] [wsgi:error] [pid 13:tid 139955375367936] return self.extra_data.get('access_token') [Fri May 06 07:12:33.745618 2016] [wsgi:error] [pid 13:tid 139955375367936] AttributeError: 'unicode' object has no attribute 'get'

0
Robin 1 मई 2016, 02:16

3 जवाब

सबसे बढ़िया उत्तर

डॉकर हब में फर्जी 'आधिकारिक' छवियां हैं

अलोंजो के सुझाव की कोशिश करने के बाद और लॉग एक स्पष्ट समाधान नहीं दे रहा था, मैंने दोबारा जांच करने का फैसला किया कि मैं जिस डॉकर छवि का उपयोग कर रहा था वह भरोसेमंद था।

यह पता चला है कि मैं जिस डॉकर छवि का उपयोग कर रहा था (वायरक्लाउड/फ़ायरवेयर-वायरक्लाउड) जो कि आधिकारिक संदर्भ कार्यान्वयन बताता है, वास्तव में एक पुराना संस्करण (0.8) है जिसका स्वामित्व 'वायरक्लाउड' नामक किसी व्यक्ति के पास है। यदि आप डॉकर हब पर या किटेमैटिक में वायरक्लाउड खोजते हैं तो यह दिखाने वाली पहली प्रविष्टि है।

मैंने डॉकर इमेज फायरवेयर/वायरक्लाउड में अपग्रेड किया जो कि संस्करण 0.9 है, और अब यह काम करता है। मैं अपनी बैक-एंड सेवाओं को दिए गए एक्सेस टोकन को देख सकता हूं।

मजे की बात है, मेरा परीक्षण विजेट जिसे मैंने https पर ऑब्जेक्टस्टोरेज.wgt उदाहरण पर तैयार किया था। ://wirecloud.conwet.etsiinf.upm.es/slides/attachments/objectstorage.wgt को परीक्षण करने से पहले नए config.xml प्रारूप में अपडेट करने की आवश्यकता है।

मैं सुझाव देता हूँ:

  • दस्तावेज़ीकरण में डॉकर हब पर सही वायरक्लाउड छवि का लिंक।
  • 'वायरक्लाउड' उपयोगकर्ता से संपर्क करना और उन्हें अपनी छवि का विवरण बदलने के लिए कहना, या आधिकारिक डॉकटर छवि के बारे में जानकारी के साथ एक टिप्पणी जोड़ना।
-1
Robin 6 मई 2016, 17:07

ऐसा लगता है कि समस्या python-social-auth v0.2.18 के उपयोग से संबंधित है। कृपया v0.2.19 पर अपडेट करें। इस समस्या के बारे में अधिक जानकारी के लिए यह टिकट देखें।

1
Álvaro Arranz 6 मई 2016, 15:57

मुझे लगता है कि आप एक अतिरिक्त "-" जोड़ रहे हैं। "एक्स-फ़ायरवेयर-..." आज़माएं

0
Perrolobo 1 मई 2016, 09:53