Hello everyone,
The WAPT dev team at Tranquil IT Systems is thrilled to announce the
mainstream release of WAPT 1.3 (1.3.5 to be more precise).
While you should be as excited as we are, this release does not
bring any new killer feature. It is however the result of months of
listening to our users, validating with our own customers' installed
bases, fixing bugs and enhancing existing WAPT features. So this
version brings the same level of efficacy, with more certainty.
We want to congratulate Hubert and the rest of the dev team for the
hard work done. We extend a big thank to all the testing community,
and especially to Simon Fonteneau, for all the beta testing and the
feedback.
The JRES conference in Montpellier in december 2015 (www.jres.org)
has shown that there is a huge and growing interest in WAPT. We have
discovered there that WAPT was being used in very clever and
interesting ways on networks of all sizes.
The next series of efforts will concentrate on implementing
"entreprise features" in WAPT destined to large structures with
special needs. WAPT needs to be financially viable to bring
confidence in its long-term sustainability by larger sized users.
Nevertheless we feel, like you, that the GPLv3 features that you
have come to appreciate must be kept available to all, independent
of size : deploy software, configure software, maintain software,
remove software and inventory software.
For upgrade path, look at the bottom of the mail after the
changelog, or on the wiki at http://dev.tranquil.it
Adminsys is a cool job after all !!
Denis, Hubert, Vincent C, Yvan, Steven, Vincent M, Frédéric, Jérémie
and Maël
Changelog since latest mainstream version 1.2.3
Setuphelpers :
Additional functions :
- local_drives : return list of local drives, with capacity and
available space
- all_files : list all files of a directory, including files of
subdirectories (but not the directories themselves)
- create_onetime_task : create a task in windows scheduler
which is run only one time (so is deleted after scheduled time)
- installed_windows_updates : return list of installed updates,
indepently from WUA agent
- install_exe_if_needed
: install conditionally an exe setup, checking minimum version,
uninstall key and force flag (
- install_msi_if_needed
: install conditionally an msi, detect uninstall key and add it
to uninstallkey list of package
- ensure_list : given a list or a string, always return a list,
or None if allowed. String is considered as a csv list.
- registry_deletekey : Delete the key under specified registry
path and all its values
- uninstall_key_exists : Return True if supplied uninstall key
exists eithe rin win32 or win64 part of uninstall registry.
- reg_enum_subkeys : list the sub keys (= sub directories) of
an opened key
- reg_enum_values : list the value names associated with a
registry key (opened with reg_openkey_noredir for example)
- win_startup_info : return list of commands launched at
windows startup in run registry key and common startup folder.
- fix for create_onetime_task for windows 10 (Home ?)
not working on some systems. use schtasks instead.
- fix PackageEntry.match_search not working
Changes :
- ensure_unicode : failover with replace for all types of data
- wgets and wget : can optionnaly verify certificates. and use
wapt user agent http headers, with no-cache pragma. raise
exception earlier
Core
- FIX: incorrect uninstallkey if nested call WAPT.install
inside surrounding setup.install. https://roundup.tranquil.it/wapt/issue605
- better tolerance to encoding issues.
- fix waptserver discovery with SRV dns record
- add optional dnsdomain in wapt-get.ini.
- add optional verify_cert option (default to False) for
waptserver access in wapt-get.ini
- forget old host package if computer FQDN is changed
- fix : check that there are no additional files in package
content not checksummed in manifest.sha1 when unzipping
- check systematically that declared uninstallkeys are found in
registry after package install
- allow session_setup to return a value different than None or
zero to indicate a RETRY at next session logon
- optionally includes packages with status ERROR for
Wapt.is_installed(), WaptDB.installed_search,
WaptDB.installed_matching. CBB : installed_search included
errors by default in previous behaviour.
- allow latest=1 in /status waptlocalservice utl
Waptconsole
- optionally filter newest only package (latest version) in
waptconsole private repository or when importing from external
- optionally filter newer than local packages in waptconsole
when importing from external
- display size of packages in repository grids
- reorganize settings dialog to focus on most important
parameters
- allow several hosts and packages to be selected when cherry
picking install, remove or forget packages in waptconsole
inventory (cbb, user interface should be improved)
- add wakeonlan feature for hosts running on same network as
main waptserver
- check md5 when downloading packages with waptconsole to avoid
keeping incomplete or corrupted cached files
- fix redirect from http to https not working in waptconsole
- fix waptserver discovery with SRV dns record not working
properly in waptconsole
- HighDPI aware Waptconsole
- logo changes
Waptservice
- recheck waptserver authorized IP in waptservice if call failed
with restricted access (so that next call succeeds)
- use create_onetime_task windows scheduler instead of AT
command to trigger a waptservice restart
- better handling when computer often disconnect (sleep) or
change from one network to another network
- allow ?q= search in localservice /packages and /status
Waptupgrade
- authenticate systematically the waptagent.exe file with a
sha256 hash inside waptupgrade package or when using waptdeploy
downloader (requires change in the GPO if gpo is used to deploy
wapt automatically)
- include waptagent.exe in waptupgrade package per default and
trigger a full waptagent.exe install (through a windows
scheduled task which uses waptdeploy) if upgrading from wapt
< 1.3.0.
- waptdeploy requires now --hash= option. --wait enable
waptdeploy to wait for pending waptservice tasks to terminate
before upgrading wapt.
- fix for old wapt upgrade path
Wapt-get
- handles waptservice local authentication for wapt-get to
allow install / remove as a non admin user.
- add option to wapt-get --service to force use of http
webservice. default --direct for user members of computer
administrators group
- can pass waptserver user and password to wapt-get command
line for automate package uploading tasks
- guess package rootdir based on path of control in addition to
setup.py files for development wapt-get tasks like install,
remove, build-upload etc..
- Fix command line parameters handling in wapt-get.exe
Waptserver
- RPM package for waptserver on centos
- use huey task pool in waptserver instead of uwsgi for
portability
- Fix waptserverpostconf not able to restart local waptservice
properly
Global
- python upgraded to 2.7.10
- many libraries upgraded (openssl, m2crypto, flask, psutils,
etc...)
Upgrade from 1.2.3
Linux server upgrade
With a server on Linux :
ssh on waptserver
cd
wget http://wapt.tranquil.it/wapt/nightly/1.3.4-rc2/tis-waptrepo-1.3.4.deb
wget http://wapt.tranquil.it/wapt/nightly/1.3.4-rc2/tis-waptserver-1.3.4.deb
wget http://wapt.tranquil.it/wapt/nightly/1.3.4-rc2/tis-waptsetup-1.3.4.deb
dpkg -i tis-wapt*.deb
apt-get -f install
wapt-serverpostconf
-> default answer to all questions.
Windows server upgrade
Download http://wapt.tranquil.it/wapt/nightly/1.3.4-rc2/waptserversetup.exe
Install with admin rights.
Launch server postconfiguration (obviously, don't recreate a new new
private key...)
Don't create waptagent from waptserverpostconf but use waptconsole
option which provide both waptagent binary and waptupgrade package.
waptserverpostconf creates only the waptagent.
Wapt management host upgrade
on the wapt manage workstation (where the private key is defined)
download http://wapt/wapt/waptsetup-tis.exe
from waptserver
install with default options
Build clients upgrade package
launch c:\wapt\waptconsole
tools/Build waptagent
 -> build the waptagent.exe and xxx-waptupgrade.wapt package and
upload them to wapt server.
include the built xxx-waptupgrade package in your base group package
or as a dependency of all host packages
trigger upgrade on hosts
GPO update
copy waptdeploy.exe to the gp
modify your waptdeploy GPO to include --hash= with the hash defined
in c:\wapt\waptupgrade\waptagent.sha256 and a --wait=15 for example.
\\srvads\netlogon\waptdeploy.exe
--hash=5b5988012033e534b5352050bff7dece4840456225787b39dc1d00dfb9e75cd8
(you can get this on linux too with the command "sha256sum
/var/www/wapt/waptagent.exe" )
Pyscripter development / debug
The tis-python27 package no longer includes all the libraries of
Wapt.
So one need to have a site-package dir to python init of Pyscripter
to be able to debug using Pyscripter. This is taken into account
into the new tis-pyscripter package, so you'll have to upgrade
before editing packages.
(seehttp://dev.tranquil.it/wiki/WAPT_-_Mise_en_place_de_l%27environnement_de_d%C3%A9veloppement)
In PyScripter, Option Tools
/ Edit startup scripts, update file python_init.py with lines :
import site
site.addsitedir('c:/wapt/lib/site-packages')