Changes 1.2.3 -> 1.3.4-rc2
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.
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.
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
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
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.
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 waptagent 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
uplaod 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 you need to add a site-package dir to python init of Pyscripter
to be able to debug using Pyscripter.
(see
http://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')