[wpkg-users] New WPKG features vs. report tool
Rainer Meier
r.meier at wpkg.org
Sat Oct 22 03:36:53 CEST 2011
Hello again,
On 22.10.2011 01:37, Rainer Meier wrote:
> I've implemented /query:s and /query:l to query these tags from the (l)ocal host
> or the (s)ettings database and print it on screen. So a reporting tool could
> point it to a settings file using /settings:<path> /query:s to fetch all host
> attributes.
Actually I've discovered that the whole story is a whole lot more complex than
I've initially expected.
I have noticed that the query on a remote host (e.g. your server) will never
yield the same results as on the local client. The reasons for this are:
- WPKG needs to have all host attributes to be set exactly as on the client:
- hostname
- IP addresses
- architecture
- ...
- WPKG also executes package checks in order to verify whether a package needs
to be re-installed (e.g. package installed and added to wpkg.xml but user
removes it meanwhile, so WPKG re-installs it).
In such case WPKG would often report a package to be scheduled for installation
on a remote node since the checks fail as long as the package is not installed
on the remote node (server) as well.
To work around this issue I've introduced a new switch called /queryMode which
takes the "remote" attribute: /queryMode:remote
In "remote" mode WPKG will change its behavior in some special cases:
- WPKG reads all host attributes from the settings node (wpkg.xml)
- WPKG does not perform checks whether the package is still installed
- it just assumes the package is still installed correctly when dong the query
on server side.
NOTE: Remote mode is only effective if some query is executed, it is ignored
during synchronization etc.
Change notes
============
Changes 2011-10-22, v1.2.1-RC30 by Rainer Meier <r.meier (at) wpkg.org>
NEW: Added /queryMode:<local|remote> command line switch and remoteMode
configuration parameter. This switch is used to create reliable queries
on expected changes to a host when running WPKG on a remote node.
For example when you copy wpkg.xml of a client to your server and use
wpkg.js /query:im /settings:local\wpkg.xml
just to query the impact of the next synchronization to this client.
IN this case WPKG needs to know the host attributes like hostname, IP-
addresses, architecture etc.
In remote query mode WPKG will read these values from wpkg.xml (if
available, check that settingsHostInfo parameter in config.xml is
enabled).
Here's a description of the new parameter as added to config.xml:
Allows to switch to remote mode where package verification is skipped.
remote: Disable package checks and assume that packages in settings
database are still correctly installed. In remote mode also the
host information is read from the local settings database.
local: Default setting. Query verifies package status using all checks.
Note: Query mode can only be used with the query switch. It is ignored
if no /query: command line parameter is used.
Details: If you intend to copy the local wpkg.xml file to a remote system
and execute WPKG queries based on this settings database (wpkg.xml) then
WPKG might print some packages as "required for installation" since the
package checks fail on the remote host as the package might not be
installed on the remote host. If remote mode is enabled, then WPKG assumes
that the packages are properly installed on the executing host without
actually verifying it.
Of course it might happen in this case that a package query on the remote
system says that a package does not need any change but on the real system
the user might have removed the software meanwhile which will trigger an
installation if WPKG is run on the client.
Also note that in remote query mode WPKG will read all host attributes
from the settings file (wpkg.xml) if these attributes are available. This
includes hostname, architecture, OS, IP addresses, domainname, groups,
LCID of the executing user and LCID of the operating system.
This is required in order to allow evaluation of all conditional
attributes in exactly the same way as it will evaluate on the client.
Oh, it's 3:30am now, I guess I've broken a lot in the code, but we have SVN.
Talk to you tomorrow...
br,
Rainer
More information about the wpkg-users
mailing list