Add ubus_{call,connect} to ansible.lua

This commit is contained in:
Simon Schuster 2016-09-02 21:56:40 +02:00
parent 6fc8d3cfeb
commit 82685dab40

View file

@ -3,6 +3,7 @@ local Ansible = {}
local io = require("io")
local json = require("dkjson")
local ubus = require("ubus")
Ansible.__index = Ansible
@ -369,4 +370,30 @@ function Ansible:get_params()
return self.params
end
function Ansible:ubus_connect()
local p = self:get_params()
local timeout = p['timeout']
if not timeout then
timeout = 30
end
local socket = p['socket']
local conn = ubus.connect(socket, timeout)
if not conn then
self:fail_json({msg="Failed to connect to ubus"})
end
return conn
end
function Ansible:ubus_call(conn, namespace, procedure, arg)
local res, status = conn:call(namespace, procedure, arg)
if nil ~= status and 0 ~= status then
self:fail_json({msg="Ubus call failed", call={namespace=namespace, procedure=procedure, arg=arg, status=status}})
end
return res
end
return Ansible