| 1 |
How to compile and run openwsman from Subversion? |
|---|
| 2 |
=============================== |
|---|
| 3 |
|
|---|
| 4 |
After checking out the project from subversion run ./autoconfiscate in the TOP directory and |
|---|
| 5 |
follow that by running ./configure <options>. |
|---|
| 6 |
If you download a packaged version, then there is no need to run ./autoconfiscate and you will |
|---|
| 7 |
be able to run ./configure directly. |
|---|
| 8 |
|
|---|
| 9 |
Most likely you will need to install some of the packages, depending on the distribution |
|---|
| 10 |
you are running. |
|---|
| 11 |
|
|---|
| 12 |
Packages and other software needed: |
|---|
| 13 |
|
|---|
| 14 |
- libxml2 |
|---|
| 15 |
- sfcc (from the sblim project) |
|---|
| 16 |
- swig and python for python binding support |
|---|
| 17 |
- other development packages like autoconf, automake etc. |
|---|
| 18 |
|
|---|
| 19 |
After all packages are installed, compile everything and install. The server can run as |
|---|
| 20 |
a daemon, which would require root access; But it can be run in the foreground with debugging |
|---|
| 21 |
messages printed to stdout as well. This the help output when you run: |
|---|
| 22 |
|
|---|
| 23 |
% /usr/local/sbin/openwsmand --help |
|---|
| 24 |
Usage: |
|---|
| 25 |
openwsmand [OPTION...] WS-Management Server |
|---|
| 26 |
|
|---|
| 27 |
Help Options: |
|---|
| 28 |
-?, --help Show help options |
|---|
| 29 |
|
|---|
| 30 |
Application Options: |
|---|
| 31 |
-n, --no-plugins Do not load any plugins |
|---|
| 32 |
-d, --debug Start daemon in foreground and turn on debugging |
|---|
| 33 |
-s, --syslog=0-6 Set the verbosity of syslog output. |
|---|
| 34 |
-c, --config-file=<file> Alternate configuration file |
|---|
| 35 |
|
|---|
| 36 |
|
|---|
| 37 |
Starting from version 0.1.1 a configuration file is needed. you can find an example in the |
|---|
| 38 |
./etc directory. The configuration file has the following syntax: |
|---|
| 39 |
|
|---|
| 40 |
[server] |
|---|
| 41 |
port = 8889 |
|---|
| 42 |
#ssl_port = 8888 |
|---|
| 43 |
ssl_cert_file = /etc/openwsman/servercert.pem |
|---|
| 44 |
ssl_key_file = /etc/openwsman/serverkey.pem |
|---|
| 45 |
#digest_password_file = /etc/openwsman/digest_auth.passwd |
|---|
| 46 |
basic_password_file = /etc/openwsman/simple_auth.passwd |
|---|
| 47 |
enum_idle_timeout = 5000 |
|---|
| 48 |
|
|---|
| 49 |
min_threads = 1 |
|---|
| 50 |
max_threads = 1 |
|---|
| 51 |
|
|---|
| 52 |
#use_digest is OBSOLETED, see below. |
|---|
| 53 |
|
|---|
| 54 |
# |
|---|
| 55 |
# Authentication backend for BASIC authentication. Default is to read a configuration file defined with 'basic_password_file' |
|---|
| 56 |
# |
|---|
| 57 |
|
|---|
| 58 |
#basic_authenticator = libwsman_pam_auth.so |
|---|
| 59 |
#basic_authenticator_arg = openwsman |
|---|
| 60 |
|
|---|
| 61 |
|
|---|
| 62 |
[client] |
|---|
| 63 |
port = 8889 |
|---|
| 64 |
agent = openwsman 1.5.9 |
|---|
| 65 |
|
|---|
| 66 |
[cim] |
|---|
| 67 |
default_cim_namespace = root/cimv2 |
|---|
| 68 |
|
|---|
| 69 |
# The following are in part fake namespaces for some publicly available CIM implementations. |
|---|
| 70 |
vendor_namespaces = OpenWBEM=http://schema.openwbem.org/wbem/wscim/1/cim-schema/2,Linux=http://sblim.sf.net/wbem/wscim/1/cim-schema/2,OMC=http://schema.omc-project.org/wbem/wscim/1/cim-schema/2,Reef=http://reef.sblim.sf.net/wbem/wscim/1/cim-schema/2,CWS=http://cws.sblim.sf.net/wbem/wscim/1/cim-schema/2 |
|---|
| 71 |
|
|---|
| 72 |
|
|---|
| 73 |
To be able to put the configuration files under /etc/openwsman, run the configure script |
|---|
| 74 |
with the --sysconfdir option using the value /etc. If this option is not used, the default will |
|---|
| 75 |
be under PREFIX (/usr/local/etc ). |
|---|
| 76 |
|
|---|
| 77 |
To run in SSL mode you need to enable the SSL port and create certificates and adapt the configuration |
|---|
| 78 |
with the correct path to the files. |
|---|
| 79 |
|
|---|
| 80 |
To start the server in the foreground, run: |
|---|
| 81 |
|
|---|
| 82 |
% /usr/local/sbin/openwsmand -d |
|---|
| 83 |
|
|---|
| 84 |
You can also specify the configuration file to be used on the command line using the -c option. |
|---|
| 85 |
|
|---|
| 86 |
|
|---|
| 87 |
On the client side, which has the following options |
|---|
| 88 |
|
|---|
| 89 |
% /usr/local/bin/wsman --help-all |
|---|
| 90 |
|
|---|
| 91 |
Usage: |
|---|
| 92 |
wsman [Option...] <action> <Resource Uri> |
|---|
| 93 |
|
|---|
| 94 |
Usage: |
|---|
| 95 |
wsman [Option...] <action> <Resource Uri> |
|---|
| 96 |
|
|---|
| 97 |
Help Options |
|---|
| 98 |
-?, --help |
|---|
| 99 |
--help-all Show help options |
|---|
| 100 |
--help-enumeration Enumeration Options |
|---|
| 101 |
--help-tests Test Cases |
|---|
| 102 |
--help-cim CIM Options |
|---|
| 103 |
--help-flags Request Flags |
|---|
| 104 |
--help-event Subscription Options |
|---|
| 105 |
|
|---|
| 106 |
Enumeration |
|---|
| 107 |
-m, --max-elements=<max number of elements> Max Elements Per Pull/Optimized Enumeration |
|---|
| 108 |
-o, --optimize Optimize enumeration results |
|---|
| 109 |
-E, --estimate-count Return estimation of total items |
|---|
| 110 |
-M, --enum-mode=epr|objepr Enumeration Mode |
|---|
| 111 |
-U, --enum-context=<enum context> Enumeration Context (For use with Pull and Release) |
|---|
| 112 |
|
|---|
| 113 |
Tests |
|---|
| 114 |
-f, --from-file=<file name> Send request from file |
|---|
| 115 |
-R, --print-request print request on stdout |
|---|
| 116 |
-Q, --request Only output reqest. Not send it. |
|---|
| 117 |
-S, --step Do not perform multiple operations (do not pull data when enumerating) |
|---|
| 118 |
|
|---|
| 119 |
CIM |
|---|
| 120 |
-N, --namespace=<namespace> CIM Namespace (default is root/cimv2) |
|---|
| 121 |
-B, --binding-enum-mode=none|include|exclude CIM binding Enumeration Mode |
|---|
| 122 |
-T, --cim-extensions Show CIM Extensions |
|---|
| 123 |
-W, --references CIM References |
|---|
| 124 |
-w, --associators CIM Associators |
|---|
| 125 |
|
|---|
| 126 |
Flags |
|---|
| 127 |
-x, --filter=<filter> Filter |
|---|
| 128 |
-D, --dialect=<dialect> Filter Dialect |
|---|
| 129 |
-t, --operation-timeout=<time in sec> Operation timeout in seconds |
|---|
| 130 |
-e, --max-envelope-size=<size> maximal envelope size |
|---|
| 131 |
-F, --fragment=<fragment> Fragment (Supported Dialects: XPATH) |
|---|
| 132 |
|
|---|
| 133 |
Event subscription |
|---|
| 134 |
-G, --delivery-mode=<mode> Four delivery modes available: push/pushwithack/events/pull |
|---|
| 135 |
-Z, --notification-uri=<uri> Where notifications are sent |
|---|
| 136 |
-r, --subscription-expiry-time=<seconds> subscription expiry time in seconds |
|---|
| 137 |
-H, --heartbeat=<seconds> Send hearbeat in an interval |
|---|
| 138 |
-l, --bookmark Send bookmark |
|---|
| 139 |
-i, --subscription-identifier=<uuid:XXX> Used to specify which subscription |
|---|
| 140 |
-L, --notify-reference-properties=<xs:anyURI> Notify Reference Properties |
|---|
| 141 |
|
|---|
| 142 |
Application Options |
|---|
| 143 |
-d, --debug=1-6 Set the verbosity of debugging output. |
|---|
| 144 |
-c, --cacert=<filename> Certificate file to verify the peer |
|---|
| 145 |
-A, --cert=<filename> Certificate file. The certificate must be in PEM format. |
|---|
| 146 |
-K, --sslkey=<key> SSL Key. |
|---|
| 147 |
-u, --username=<username> User name |
|---|
| 148 |
-g, --path=<path> Path |
|---|
| 149 |
-J, --input=<filename> File with resource for Create and Put operations in XML, can be a SOAP envelope |
|---|
| 150 |
-p, --password=<password> Password |
|---|
| 151 |
-h, --hostname=<hostname> Host name |
|---|
| 152 |
-b, --endpoint=<url> End point |
|---|
| 153 |
-P, --port=<port> Server Port |
|---|
| 154 |
-X, --proxy=<proxy> Proxy name |
|---|
| 155 |
-Y, --proxyauth=<proxyauth> Proxy user:pwd |
|---|
| 156 |
-y, --auth=<basic|digest|gss> Authentication Method |
|---|
| 157 |
-a, --method=<custom method> Method (Works only with 'invoke') |
|---|
| 158 |
-k, --prop=<key=val> Properties with key value pairs (For 'put', 'invoke' and 'create') |
|---|
| 159 |
-C, --config-file=<file> Alternate configuration file |
|---|
| 160 |
-O, --out-file=<file> Write output to file |
|---|
| 161 |
-V, --noverifypeer Not to verify peer certificate |
|---|
| 162 |
-v, --noverifyhost Not to verify hostname |
|---|
| 163 |
-I, --transport-timeout=<time in sec> Transport timeout in seconds |
|---|
| 164 |
|
|---|
| 165 |
To create a password file, use the htpasswd and htdigest utilities from the apache distribution. |
|---|
| 166 |
|
|---|
| 167 |
You can connect to the server with the following command, which is part of the DMTF WS-Management specification (Draft) |
|---|
| 168 |
|
|---|
| 169 |
wsman identify -h <hostname> --port 8889 -u wsman --password secret |
|---|
| 170 |
|
|---|
| 171 |
|
|---|
| 172 |
The above command should give the following result: |
|---|
| 173 |
|
|---|
| 174 |
|
|---|
| 175 |
<?xml version="1.0" encoding="UTF-8"?> |
|---|
| 176 |
<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:wsmid="http://schemas.dmtf.org/wbem/wsman/identity/1/wsmanidentity.xsd"> |
|---|
| 177 |
<s:Header/> |
|---|
| 178 |
<s:Body> |
|---|
| 179 |
<wsmid:IdentifyResponse> |
|---|
| 180 |
<wsmid:ProtocolVersion>http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd</wsmid:ProtocolVersion> |
|---|
| 181 |
<wsmid:ProductVendor>openwsman</wsmid:ProductVendor> |
|---|
| 182 |
<wsmid:ProductVersion>2.0.0</wsmid:ProductVersion> |
|---|
| 183 |
</wsmid:IdentifyResponse> |
|---|
| 184 |
</s:Body> |
|---|
| 185 |
</s:Envelope> |
|---|
| 186 |
|
|---|
| 187 |
|
|---|
| 188 |
|
|---|
| 189 |
|
|---|
| 190 |
|
|---|
| 191 |
|
|---|
| 192 |
|
|---|
| 193 |
|
|---|
| 194 |
|
|---|
| 195 |
|
|---|