我正在尝试使用 cloudify fabric 插件来运行一个简单的命令。当我安装蓝图时,出现以下错误。
Task failed 'fabric_plugin.tasks.run_commands' -> RecoverableError('FabricTaskError: Needed to prompt for a connection or sudo password (host: 10.10.1.10), but abort-on-prompts was set to True',)
下面是我的整个蓝图文件。
tosca_definitions_version: cloudify_dsl_1_0
imports:
- http://www.getcloudify.org/spec/cloudify/3.2/types.yaml
- http://www.getcloudify.org/spec/fabric-plugin/1.2/plugin.yaml
inputs:
host_ip:
description: >
The ip of the host the application will be deployed on
agent_user:
description: >
Agent User.
agent_private_key_path:
description: >
agent key path
node_templates:
host:
type: cloudify.nodes.Compute
properties:
ip: { get_input: host_ip }
install_agent:
default: false
cloudify_agent:
user: { get_input: agent_user }
key: { get_input: agent_private_key_path }
example_node:
type: cloudify.nodes.WebServer
interfaces:
cloudify.interfaces.lifecycle:
start:
implementation: fabric.fabric_plugin.tasks.run_commands
inputs:
commands:
- ls -lh > ~/list-of-files.txt
relationships:
- type: cloudify.relationships.contained_in
target: host
我的 inputs.yaml 是
agent_private_key_path: /root/.ssh/id_rsa
agent_user: vagrant
host_ip: 10.10.1.10
当我更新我的蓝图以使用以下内容时,它就可以工作了。但这有必要吗?我的意思是这个信息已经在主机中指定了。为什么我需要用fabric插件再给它一次。
fabric_env:
host_string: { get_input: host_ip }
user: { get_input: agent_user }
key_filename: { get_input: agent_private_key_path }
有什么我做错了吗。我只是这方面的初学者,所以任何帮助将不胜感激。