Kibana 4 + marvel + shield: TypeError: callWithRequestFactory is not a function

Hi,

Running kibana 4.4.2 linux-x64 on Centos 7.

Marvel, and shield plugins installed.

log [14:48:36.876] [warning][config] Settings for "bundled_plugin_ids" were not applied, check for spelling errors and ensure the plugin is loaded.
log [14:48:37.214] [info][status][plugin:kibana] Status changed from uninitialized to green - Ready
log [14:48:37.249] [info][status][plugin:elasticsearch] Status changed from uninitialized to yellow - Waiting for Elasticsearch
log [14:48:37.255] [info][status][plugin:marvel] Status changed from uninitialized to yellow - Waiting for Elasticsearch
log [14:48:37.555] [fatal] TypeError: callWithRequestFactory is not a function
at /opt/kibana/kibana-4.4.2-linux-x64/installedPlugins/shield/server/lib/get_client_shield.js:12:27
at /opt/kibana/kibana-4.4.2-linux-x64/node_modules/lodash/index.js:7363:25
at module.exports (/opt/kibana/kibana-4.4.2-linux-x64/installedPlugins/shield/server/lib/is_valid_user.js:7:27)
at module.exports (/opt/kibana/kibana-4.4.2-linux-x64/installedPlugins/shield/server/lib/validate.js:4:55)
at /opt/kibana/kibana-4.4.2-linux-x64/installedPlugins/shield/index.js:60:50
at done (/opt/kibana/kibana-4.4.2-linux-x64/node_modules/hapi/node_modules/items/lib/index.js:30:25)
at Object.exports.register (/opt/kibana/kibana-4.4.2-linux-x64/installedPlugins/shield/node_modules/hapi-auth-cookie/lib/index.js:15:5)
at /opt/kibana/kibana-4.4.2-linux-x64/node_modules/hapi/lib/plugin.js:254:14
at iterate (/opt/kibana/kibana-4.4.2-linux-x64/node_modules/hapi/node_modules/items/lib/index.js:35:13)
at Object.exports.serial (/opt/kibana/kibana-4.4.2-linux-x64/node_modules/hapi/node_modules/items/lib/index.js:38:9)
at [object Object].internals.Plugin.register (/opt/kibana/kibana-4.4.2-linux-x64/node_modules/hapi/lib/plugin.js:236:11)
at ScopedPlugin.init [as externalInit] (/opt/kibana/kibana-4.4.2-linux-x64/installedPlugins/shield/index.js:45:12)
at ScopedPlugin.tryCatcher (/opt/kibana/kibana-4.4.2-linux-x64/node_modules/bluebird/js/main/util.js:26:23)
at Promise.attempt.Promise.try (/opt/kibana/kibana-4.4.2-linux-x64/node_modules/bluebird/js/main/method.js:30:24)
at Object.register (/opt/kibana/kibana-4.4.2-linux-x64/src/server/plugins/Plugin.js:143:15)
at /opt/kibana/kibana-4.4.2-linux-x64/node_modules/hapi/lib/plugin.js:254:14
FATAL [TypeError: callWithRequestFactory is not a function]

kibana4.yml:

port: 5601
host: "0.0.0.0"
elasticsearch_url: "http://192.168.99.100:9200"
elasticsearch_preserve_host: true
kibana_index: ".kibana"
elasticsearch.username: kibana4
elasticsearch.password: blabla
default_app_id: "discover"
request_timeout: 300000
shard_timeout: 0
verify_ssl: true
shield.encryptionKey: "jedi-rta secret"
shield.skipSslCheck: true
bundled_plugin_ids:

  • plugins/dashboard/index
  • plugins/discover/index
  • plugins/doc/index
  • plugins/kibana/index
  • plugins/markdown_vis/index
  • plugins/metric_vis/index
  • plugins/settings/index
  • plugins/table_vis/index
  • plugins/vis_types/index
  • plugins/visualize/index

What is missing? Is not that a JavaScript error?

This specific "callWithRequestFactory" error is due to a wrong version of kibana4 vs the shield plugin. It might be nice to have a clean kibana error instead like "version of plugin shield x.x not supported".

Hi, Baboune:
I had exactly the same issue today(I'm using Kibana 4.4.2). I was able to get around this issue by installing shield 2.2.1. The latest version (2.3.0) is not compatible with Kibana 4.4.2.

bin/kibana plugin --install kibana/shield/2.2.1

thx Yuan.

I could upgrade to latest kibana .

You are very welcome, Baboune. I was googling around and found this thread. : )

Sorry this isn't very user friendly!
I've raised an (internal) issue to get the error something that is digestible :slight_smile:

this works. :relieved:
thank you!