1FUNC(1)                              func                              FUNC(1)
2
3
4

NAME

6       Func -- Fedora Unified Network Controller.
7

SYNOPSIS

9       func "*" list_minions
10
11       func target.example.org call module method [args ...]
12
13       func "target*.example.org" call module method [args ...]
14
15       func "webserver1;mailserver2" call module method [args ...]
16

DESCRIPTION

18       "func" allows remote control of machines running funcd (called "min‐
19       ions") that are set to obey this machine (called the "overlord").  This
20       includes performing various remote operations and gathering data.
21
22       "func" can address multiple machines at the same time by specifying
23       their names with globs, which follow shell glob syntax.
24
25       Groups of machines can also be specified in /etc/func/groups. To invoke
26       func on a group of machines specifying "@groupname".
27
28       See the project homepage (below) for a list of modules available and a
29       more in-depth description of what each of them do.
30

THE "CALL" MODULE

32       The "call" module is used for running func modules remotely.
33
34       Format:  func "*.example.org" call <module> <function> [ args ... ]
35

LISTING REMOTE MODULES AVAILABLE

37       It's possible to ask func minions what modules they have installed:
38
39       func "*.example.org" call system list_modules
40

LISTING REMOTE FUNCTIONS AVAILABLE IN A MODULE

42       It is also possible to ask remote func modules what functions they sup‐
43       port:
44
45       func target.example.org call modulename list_methods
46

CALLING A REMOTE COMMAND

48       Once you have the name of a module you want to run, use call to invoke
49       it:
50
51       func target.example.org call modulename methodname
52

OUTPUT FORMATS

54       The "call" command by default outputs data using a "pretty printer".
55       Other display options include --raw, --json, and --xmlrpc, which may be
56       more desirable if you are running func inside another script or prefer
57       to read those display formats.
58
59       Example: func "*" call --json service inventory
60

HELPER MODULES

62       In addition to "call", there are other modules that make control of
63       remote machines, as well as data display, more user friendly.  They
64       augment "call" by providing some additional functionality.
65
66       You will notice that the syntax for using one of these helper modules
67       varies slightly from just using "call" directly.
68
69       For example "show" can be used to show remote data.  The normal command
70       "func '*' command would dump a very large amount of data, while the
71       show command can mine only a few details.  This might make things more
72       readable, for instance, when not going through the Python API (where
73       you would not care).
74
75       func "*.example.org" show hardware --help
76
77       func "*.example.org" show hardware systemMemory
78
79       func "*.example.org" show hardware os
80
81       Another useful helper command module is copyfile, which allows func to
82       work like scp from the shell, though it can address multiple systems at
83       the same time.
84
85       The following example pushes one file out to multiple systems:
86
87       func "*.example.org" copyfile --file=/tmp/foo --remotepath=/tmp/foo
88
89       While these helper modules will grow over time, usage of "call" syntax
90       directly is fine also.  See the Wiki for more examples as they evolve.
91

--verbose

93       Use this flag to output extra information from func while it is run‐
94       ning.  All func commands can take this flag.
95

EXIT_STATUS

97       Func commands have return values that vary based on the module being
98       called.  See the project page (linked below) for more information.
99

ADDITONAL RESOURCES

101       See https://hosted.fedoraproject.org/projects/func/ for more informa‐
102       tion, including information on scripting func from Python.
103
104       See also the manpages for "func-inventory", "funcd", "certmaster", and
105       "certmaster-ca".
106

AUTHOR

108       Various. See https://hosted.fedoraproject.org/projects/func
109
110
111
112                                  2008-03-06                           FUNC(1)
Impressum