Add ubus_{call,connect} to ansible.lua
This commit is contained in:
parent
6fc8d3cfeb
commit
82685dab40
1 changed files with 27 additions and 0 deletions
|
@ -3,6 +3,7 @@ local Ansible = {}
|
||||||
|
|
||||||
local io = require("io")
|
local io = require("io")
|
||||||
local json = require("dkjson")
|
local json = require("dkjson")
|
||||||
|
local ubus = require("ubus")
|
||||||
|
|
||||||
Ansible.__index = Ansible
|
Ansible.__index = Ansible
|
||||||
|
|
||||||
|
@ -369,4 +370,30 @@ function Ansible:get_params()
|
||||||
return self.params
|
return self.params
|
||||||
end
|
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
|
return Ansible
|
||||||
|
|
Loading…
Add table
Reference in a new issue