Skip to content

Commit

Permalink
Merge pull request snabbco#964 from dpino/move-alarms-subprograms
Browse files Browse the repository at this point in the history
Move alarms subprograms
  • Loading branch information
dpino authored Sep 25, 2017
2 parents bef976e + 631f73a commit 02e9f0a
Show file tree
Hide file tree
Showing 13 changed files with 58 additions and 29 deletions.
3 changes: 3 additions & 0 deletions src/program/alarms/README
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
Usage:
snabb alarms compress
snabb alarms get-state
snabb alarms purge
snabb alarms set-operator-state

Use --help for per-command usage.
Example:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Usage: snabb config compress-alarms [OPTION]... ID RESOURCE ALARM-TYPE-ID/ALARM-TYPE-QUALIFIER
Usage: snabb alarms compress [OPTION]... ID RESOURCE ALARM-TYPE-ID/ALARM-TYPE-QUALIFIER
Compress status change for all matching alarms.

Available options:
Expand All @@ -15,7 +15,7 @@ logically ANDed. If no input condition is given, all alarms are compressed.

Typical usage:

$ sudo ./snabb config compress-alarms lwaftr external-interface arp-resolution
$ sudo ./snabb alarms compress lwaftr nic-v4 arp-resolution

See https://github.com/Igalia/snabb/blob/lwaftr/src/program/config/README.md
See https://github.com/Igalia/snabb/blob/lwaftr/src/program/alarms/README.md
for full documentation.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,18 @@ module(..., package.seeall)

local common = require("program.config.common")

local function usage(exit_code)
print(require('program.config.compress_alarms.README_inc'))
main.exit(exit_code)
function show_usage(command, status, err_msg)
if err_msg then print('error: '..err_msg) end
print(require("program.alarms.compress.README_inc"))
main.exit(status)
end

local function fatal()
show_usage(nil, 1)
end

local function parse_args (args)
if #args ~= 3 then usage(1) end
if #args ~= 3 then fatal() end
local resource = args[2]
local alarm_type_id, alarm_type_qualifier = (args[3]):match("([^/]+)")
if not alarm_type_id then
Expand All @@ -27,7 +32,8 @@ end

function run(args)
local l_args = parse_args(args)
local opts = { command='compress-alarms', with_path=false, is_config=false }
local opts = { command='compress-alarms', with_path=false, is_config=false,
usage=show_usage }
args = common.parse_command_line(args, opts)
local response = common.call_leader(
args.instance_id, 'compress-alarms',
Expand Down
9 changes: 8 additions & 1 deletion src/program/alarms/get_state/get_state.lua
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,15 @@ module(..., package.seeall)

local common = require("program.config.common")

function show_usage(command, status, err_msg)
if err_msg then print('error: '..err_msg) end
print(require("program.alarms.get_state.README_inc"))
main.exit(status)
end

function run (args)
local opts = { command='get-alarms-state', with_path=true, is_config=false }
local opts = { command='get-alarms-state', with_path=true, is_config=false,
usage = show_usage }
args = common.parse_command_line(args, opts)
local response = common.call_leader(
args.instance_id, 'get-alarms-state',
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Usage: snabb config purge-alarms [OPTION]... ID STATE
Usage: snabb alarms purge [OPTION]... ID STATE
Adds a new operator-state in an alarm.

Available options:
Expand All @@ -24,9 +24,9 @@ remove all alarms that match the filtering options.

Typical usage:

$ sudo ./snabb config purge-alarms lwaftr any
$ sudo ./snabb config purge-alarms --by-severity above:minor lwaftr any
$ sudo ./snabb config purge-alarms --by-older-than minutes:5 lwaftr cleared
$ sudo ./snabb alarms purge lwaftr any
$ sudo ./snabb alarms purge --by-severity above:minor lwaftr any
$ sudo ./snabb alarms purge --by-older-than minutes:5 lwaftr cleared

See https://github.com/Igalia/snabb/blob/lwaftr/src/program/config/README.md
See https://github.com/Igalia/snabb/blob/lwaftr/src/program/alarms/README.md
for full documentation.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,14 @@ module(..., package.seeall)
local common = require("program.config.common")
local lib = require("core.lib")

local function usage(exit_code)
print(require('program.config.purge_alarms.README_inc'))
main.exit(exit_code)
function show_usage(command, status, err_msg)
if err_msg then print('error: '..err_msg) end
print(require("program.alarms.purge.README_inc"))
main.exit(status)
end

local function fatal()
show_usage(nil, 1)
end

local function parse_args (args)
Expand Down Expand Up @@ -37,14 +42,15 @@ local function parse_args (args)
args = lib.dogetopt(args, handlers, "", { ['by-older-than']=1,
['by-severity']=1, ['by-operator-state']=1 })
opts.status = table.remove(args, #args)
if table_size(opts) == 0 then usage(1) end
if table_size(opts) == 0 then fatal() end
local args = without_opts(args)
return opts, args
end

function run(args)
local l_args, args = parse_args(args)
local opts = { command='purge-alarms', with_path=false, is_config=false }
local opts = { command='purge-alarms', with_path=false, is_config=false,
usage = show_usage }
args = common.parse_command_line(args, opts)
local response = common.call_leader(
args.instance_id, 'purge-alarms',
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Usage: snabb config set-alarm-operator-state [OPTION]... ID ALARM-ID OPERATOR-STATE ALARM-TEXT
Usage: snabb alarms set-operator-state [OPTION]... ID ALARM-ID OPERATOR-STATE ALARM-TEXT
Adds a new operator-state in an alarm.

Available options:
Expand All @@ -21,7 +21,7 @@ An OPERATOR-STATE can take the following values: 'none', 'ack', 'closed',

Typical usage:

$ snabb config set-alarm-operator-state lwaftr external-interface arp-resolution ack
$ snabb alarms set-operator-state lwaftr nic-v4 arp-resolution ack

See https://github.com/Igalia/snabb/blob/lwaftr/src/program/config/README.md
See https://github.com/Igalia/snabb/blob/lwaftr/src/program/alarms/README.md
for full documentation.
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,18 @@ module(..., package.seeall)

local common = require("program.config.common")

local function usage(exit_code)
print(require("program.config.set_alarm_operator_state.README_inc"))
main.exit(exit_code)
function show_usage(command, status, err_msg)
if err_msg then print('error: '..err_msg) end
print(require("program.alarms.set_operator_state.README_inc"))
main.exit(status)
end

local function fatal()
show_usage(nil, 1)
end

local function parse_args (args)
if #args < 4 or #args > 5 then usage(1) end
if #args < 4 or #args > 5 then fatal() end
local alarm_type_id, alarm_type_qualifier = (args[3]):match("([%w]+)/([%w]+)")
if not alarm_type_id then
alarm_type_id, alarm_type_qualifier = args[3], ''
Expand All @@ -32,7 +37,8 @@ end

function run(args)
local l_args = parse_args(args)
local opts = { command='set-alarm-operator-state', with_path=false, is_config=false }
local opts = { command='set-alarm-operator-state', with_path=false, is_config=false,
usage = show_usage }
args = common.parse_command_line(args, opts)
local response = common.call_leader(
args.instance_id, 'set-alarm-operator-state',
Expand Down
1 change: 0 additions & 1 deletion src/program/config/README
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ Usage:
snabb config load
snabb config remove
snabb config set
snabb config set-alarm-operator-state

Use --help for per-command usage.
Example:
Expand Down
4 changes: 3 additions & 1 deletion src/program/config/common.lua
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@ local parse_command_line_opts = {
with_path = { default=false },
with_value = { default=false },
require_schema = { default=false },
is_config = { default=true }
is_config = { default=true },
usage = { default=show_usage },
}

local function path_grammar(schema_name, path, is_config)
Expand Down Expand Up @@ -65,6 +66,7 @@ function parse_command_line(args, opts)
print_default = false,
format = "yang",
}
if opts.usage then show_usage = opts.usage end
local handlers = {}
function handlers.h() show_usage(opts.command, 0) end
function handlers.s(arg) ret.schema_name = arg end
Expand Down

0 comments on commit 02e9f0a

Please sign in to comment.