GitXplorerGitXplorer
p

openwsman

public
2 stars
0 forks
0 issues

Commits

List of commits on branch master.
Unverified
f8a09eeb52194bbd587649c2626d3a2bc077f839

Plug memory leaks in wsman-client-transport

kkkaempf committed 13 years ago
Unverified
76424b27d891cfead39a8b76074102218dd27bf7

Fix WSMAN_SECURITY_PROFILE_HTTPS_SPNEGO_KERBEROS_TYPE URL (missing slash)

kkkaempf committed 13 years ago
Unverified
10af1fc4c85f54a56ea73df594223b7fc5caa385

Follow SUSE guidelines: move Authors from %description to AUTHORS file

kkkaempf committed 13 years ago
Unverified
74cf73bfa9fc511bb4fb0bf820faf895071f1e1e

Adapt initscript patch to commit 719acf98

kkkaempf committed 13 years ago
Unverified
9f08035b2a87622dedd58510b71e91f6d76b1567

Use built lib in Python testing

kkkaempf committed 13 years ago
Unverified
ca7615acfe97c4e70e936bb988419210988de212

Adapt spec filelist to changed Ruby .so name

kkkaempf committed 13 years ago

README

The README file for this repository.

How to compile and run openwsman from GIT ?

After checking out the project from git, create a build directory with "mkdir build", cd into it, run "cmake .." and "make".

See package/openwsman.spec.in for running cmake in 'release' mode

Most likely you will need to install some of the packages, depending on the distribution you are running.

Pre-build (RPM) packages for many distributions are available at https://build.opensuse.org/project/show?project=Openwsman

Packages and other software needed:

  • libxml2
  • sblim-sfcc (from the sblim project)
  • swig and python for python binding support
  • other development packages like cmake, gcc, etc.

After all packages are installed, compile everything and install. The server can run as a daemon, which would require root access; But it can be run in the foreground with debugging messages printed to stdout as well. This the help output when you run:

% /usr/local/sbin/openwsmand --help Usage: openwsmand [OPTION...] WS-Management Server

Help Options: -?, --help Show help options

Application Options: -n, --no-plugins Do not load any plugins -d, --debug Start daemon in foreground and turn on debugging -s, --syslog=0-6 Set the verbosity of syslog output. -c, --config-file= Alternate configuration file

Starting from version 0.1.1 a configuration file is needed. you can find an example in the ./etc directory. The configuration file has the following syntax:

[server] port = 5985 #ssl_port = 5986 ssl_cert_file = /etc/openwsman/servercert.pem ssl_key_file = /etc/openwsman/serverkey.pem #digest_password_file = /etc/openwsman/digest_auth.passwd basic_password_file = /etc/openwsman/simple_auth.passwd enum_idle_timeout = 5000

min_threads = 1 max_threads = 1

#use_digest is OBSOLETED, see below.

Authentication backend for BASIC authentication. Default is to read a configuration file defined with 'basic_password_file'

#basic_authenticator = libwsman_pam_auth.so #basic_authenticator_arg = openwsman

[client] port = 5988 agent = openwsman 2.2.4

[cim] default_cim_namespace = root/cimv2

The following are in part fake namespaces for some publicly available CIM implementations.

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

To be able to put the configuration files under /etc/openwsman, run the configure script with the --sysconfdir option using the value /etc. If this option is not used, the default will be under PREFIX (/usr/local/etc ).

To run in SSL mode you need to enable the SSL port and create certificates and adapt the configuration with the correct path to the files.

To start the server in the foreground, run:

% /usr/local/sbin/openwsmand -d

You can also specify the configuration file to be used on the command line using the -c option.

On the client side, which has the following options

% /usr/local/bin/wsman --help-all

Usage: wsman [Option...]

Usage: wsman [Option...]

Help Options -?, --help --help-all Show help options --help-enumeration Enumeration Options --help-tests Test Cases --help-cim CIM Options --help-flags Request Flags --help-event Subscription Options

Enumeration -m, --max-elements= Max Elements Per Pull/Optimized Enumeration -o, --optimize Optimize enumeration results -E, --estimate-count Return estimation of total items -M, --enum-mode=epr|objepr Enumeration Mode -U, --enum-context= Enumeration Context (For use with Pull and Release)

Tests -f, --from-file= Send request from file -R, --print-request print request on stdout -Q, --request Only output reqest. Not send it. -S, --step Do not perform multiple operations (do not pull data when enumerating)

CIM -N, --namespace= CIM Namespace (default is root/cimv2) -B, --binding-enum-mode=none|include|exclude CIM binding Enumeration Mode -T, --cim-extensions Show CIM Extensions -W, --references CIM References -w, --associators CIM Associators

Flags -x, --filter= Filter -D, --dialect= Filter Dialect -t, --operation-timeout= Operation timeout in seconds -e, --max-envelope-size= maximal envelope size -F, --fragment= Fragment (Supported Dialects: XPATH)

Event subscription -G, --delivery-mode= Four delivery modes available: push/pushwithack/events/pull -Z, --notification-uri= Where notifications are sent -r, --subscription-expiry-time= subscription expiry time in seconds -H, --heartbeat= Send hearbeat in an interval -l, --bookmark Send bookmark -i, --subscription-identifier=uuid:XXX Used to specify which subscription -L, --notify-reference-properties=xs:anyURI Notify Reference Properties

Application Options -d, --debug=1-6 Set the verbosity of debugging output. -c, --cacert= Certificate file to verify the peer -A, --cert= Certificate file. The certificate must be in PEM format. -K, --sslkey= SSL Key. -u, --username= User name -g, --path= Path -J, --input= File with resource for Create and Put operations in XML, can be a SOAP envelope -p, --password= Password -h, --hostname= Host name -b, --endpoint= End point -P, --port= Server Port -X, --proxy= Proxy name -Y, --proxyauth= Proxy user:pwd -y, --auth=<basic|digest|gss> Authentication Method -a, --method= Method (Works only with 'invoke') -k, --prop=<key=val> Properties with key value pairs (For 'put', 'invoke' and 'create') -C, --config-file= Alternate configuration file -O, --out-file= Write output to file -V, --noverifypeer Not to verify peer certificate -v, --noverifyhost Not to verify hostname -I, --transport-timeout= Transport timeout in seconds

To create a password file, use the htpasswd and htdigest utilities from the apache distribution.

You can connect to the server with the following command, which is part of the DMTF WS-Management specification (Draft)

wsman identify -h --port 8889 -u wsman --password secret

The above command should give the following result:

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:wsmid="http://schemas.dmtf.org/wbem/wsman/identity/1/wsmanidentity.xsd"> <s:Header/> <s:Body> wsmid:IdentifyResponse wsmid:ProtocolVersionhttp://schemas.dmtf.org/wbem/wsman/1/wsman.xsd</wsmid:ProtocolVersion> wsmid:ProductVendoropenwsman</wsmid:ProductVendor> wsmid:ProductVersion2.2.4</wsmid:ProductVersion> </wsmid:IdentifyResponse> </s:Body> </s:Envelope>