Bonjour,
Je suis tout nouveau dans le domaine de Wapt et lorsque je veux créer un installateur personnalisé j'ai le message d'erreur de socket puis lorsque je valide cette erreur j'ai le message suivant :
Erreur lors du chargement de l'agent WAPT vers le dépôt :
Merci de vos aides.
Patrice
Socket error # 10061 Connection Refused.
Règles du forum
Règles du forum communautaire
* English support on www.reddit.com/r/wapt
* Le support communautaire en français se fait sur ce forum
* Merci de préfixer le titre du topic par [RESOLU] s'il est résolu.
* Merci de ne pas modifier un topic qui est taggé [RESOLU]. Ouvrez un nouveau topic en référençant l'ancien
* Préciser version de WAPT installée, version complète ET numéro de build (2.2.1.11957 / 2.2.2.12337 / etc.) AINSI QUE l'édition Enterprise / Discovery
* Les versions 1.8.2 et antérieures ne sont plus maintenues. Les seules questions acceptées vis à vis de la version 1.8.2 sont liés à la mise à jour vers une version supportée (2.1, 2.2, etc.)
* Préciser OS du serveur (Linux / Windows) et version (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019)
* Préciser OS de la machine d'administration/création des paquets et de la machine avec l'agent qui pose problème le cas échéant (Windows 7 / 10 / 11 / Debian 11 / etc.)
* Eviter de poser plusieurs questions lors de l'ouverture de topic, sinon il risque d'être ignorer. Si plusieurs sujet, ouvrir plusieurs topic, et de préférence les uns après les autres et pas tous en même temps (ie ne pas spammer le forum).
* Inclure directement les morceaux de code, les captures d'écran et autres images directement dans le post. Les liens vers les pastebin, les bitly et autres sites tierces seront systématiquement supprimés.
* Comme tout forum communautaire, le support est fait bénévolement par les membres. Si vous avez besoin d'un support commercial, vous pouvez contacter le service commercial Tranquil IT au 02.40.97.57.55
Règles du forum communautaire
* English support on www.reddit.com/r/wapt
* Le support communautaire en français se fait sur ce forum
* Merci de préfixer le titre du topic par [RESOLU] s'il est résolu.
* Merci de ne pas modifier un topic qui est taggé [RESOLU]. Ouvrez un nouveau topic en référençant l'ancien
* Préciser version de WAPT installée, version complète ET numéro de build (2.2.1.11957 / 2.2.2.12337 / etc.) AINSI QUE l'édition Enterprise / Discovery
* Les versions 1.8.2 et antérieures ne sont plus maintenues. Les seules questions acceptées vis à vis de la version 1.8.2 sont liés à la mise à jour vers une version supportée (2.1, 2.2, etc.)
* Préciser OS du serveur (Linux / Windows) et version (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019)
* Préciser OS de la machine d'administration/création des paquets et de la machine avec l'agent qui pose problème le cas échéant (Windows 7 / 10 / 11 / Debian 11 / etc.)
* Eviter de poser plusieurs questions lors de l'ouverture de topic, sinon il risque d'être ignorer. Si plusieurs sujet, ouvrir plusieurs topic, et de préférence les uns après les autres et pas tous en même temps (ie ne pas spammer le forum).
* Inclure directement les morceaux de code, les captures d'écran et autres images directement dans le post. Les liens vers les pastebin, les bitly et autres sites tierces seront systématiquement supprimés.
* Comme tout forum communautaire, le support est fait bénévolement par les membres. Si vous avez besoin d'un support commercial, vous pouvez contacter le service commercial Tranquil IT au 02.40.97.57.55
bonjour,
Merci de m'apporter ton aide. Le fichier setup.py, je le trouve uniquement dans le dossier WAPT\WAPTUPGRADE.
Je n'ai aucun fichier de ce nom directement dans le répertoire WAPT
Je mets une image des fichiers py qui se trouve dans mon dossier wapt
je mets le contenu du fichier setup.py car je ne peux le coller en fichier joint
Merci de votre aide
Knpc FICHIER SETUP.PY
# -*- coding: utf-8 -*-
from setuphelpers import *
import os
import _winreg
import tempfile
import shutil
# registry key(s) where WAPT will find how to remove the application(s)
uninstallkey = []
def update_sources():
files = [
'common.py',
'setuphelpers.py',
'wapt-get.exe',
'wapt-get.exe.manifest',
'wapt-get.py',
'waptdevutils.py',
'waptpackage.py',
'windnsquery.py',
'wapttray.exe',
'waptexit.exe',
'keyfinder.py',
'COPYING.txt',
'templates',
'waptconsole.exe',
'waptconsole.exe.manifest',
'waptservice',
'languages',
r'lib\site-packages\babel\__init__.py',
r'lib\site-packages\babel\_compat.py',
r'lib\site-packages\babel\core.py',
r'lib\site-packages\babel\global.dat',
r'lib\site-packages\babel\localtime',
r'lib\site-packages\babel\plural.py',
r'lib\site-packages\babel\localedata\en.dat',
r'lib\site-packages\babel\localedata\fr.dat',
r'lib\site-packages\babel\messages',
r'lib\site-packages\babel\support.py',
r'lib\site-packages\babel\compat.py',
r'lib\site-packages\babel\dates.py',
r'lib\site-packages\babel\localedata.py',
r'lib\site-packages\babel\numbers.py',
r'lib\site-packages\babel\util.py',
r'lib\site-packages\flask_babel',
r'lib\site-packages\pytz',
r'lib\site-packages\speaklater',
r'lib\site-packages\requests_kerberos_sspi',
r'lib\site-packages\lib\site-packages\flask_kerberos_sspi.py',
r'lib\site-packages\kerberos_sspi.py',
r'lib\site-packages\wapt.pth',
]
def ignore(src,names):
result = []
for name in names:
for pattern in ['*.pyc','*.exe']:
if glob.fnmatch.fnmatch(name,pattern):
result.append(name)
return result
checkout_dir = os.path.abspath(os.path.join(os.getcwd(),'..'))
# cleanup patchs dir
if os.path.exists(os.path.join(checkout_dir,'waptupgrade','patchs')):
shutil.rmtree(os.path.join(checkout_dir,'waptupgrade','patchs'))
os.makedirs(os.path.join(checkout_dir,'waptupgrade','patchs'))
for f in files:
fn = os.path.join(checkout_dir,f)
target_fn = os.path.join(checkout_dir,'waptupgrade','patchs',f)
if os.path.isfile(fn):
if not os.path.exists(os.path.dirname(target_fn)):
os.makedirs(os.path.dirname(target_fn))
filecopyto(fn,target_fn)
elif os.path.isdir(fn):
copytree2(
src=fn,
dst=target_fn,
onreplace = default_overwrite,
ignore=ignore)
return True
def update_control(entry):
"""Update package control file before build-upload"""
if update_sources():
waptget = get_file_properties(r'patchs\wapt-get.exe')
rev = open('../version').read().strip()
entry.package = '%s-waptupgrade' % WAPT.config.get('global','default_package_prefix')
entry.version = '%s-%s' % (waptget['FileVersion'],rev)
else:
print(u'Keeping current control data %s (%s)'%(control.package,control.version))
def update_registry_version(version):
# updatethe registry
with _winreg.CreateKeyEx(HKEY_LOCAL_MACHINE,r'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\WAPT_is1',\
0, _winreg.KEY_READ| _winreg.KEY_WRITE ) as waptis:
reg_setvalue(waptis,"DisplayName","WAPT %s" % version)
reg_setvalue(waptis,"DisplayVersion","WAPT %s" % version)
reg_setvalue(waptis,"InstallDate",currentdate())
def copytree2(src, dst, ignore=None,onreplace=default_skip,oncopy=default_oncopy,enable_replace_at_reboot=True,onerror=None):
"""Copy src directory to dst directory. dst is created if it doesn't exists
src can be relative to installation temporary dir
oncopy is called for each file copy. if False is returned, copy is skipped
onreplace is called when a file will be overwritten.
"""
logger.debug('Copy tree from "%s" to "%s"' % (ensure_unicode(src),ensure_unicode(dst)))
# path relative to temp directory...
tempdir = os.getcwd()
if not os.path.isdir(src) and os.path.isdir(os.path.join(tempdir,src)):
src = os.path.join(tempdir,src)
names = os.listdir(src)
if callable(ignore) and ignore is not None:
ignored_names = ignore(src, names)
else:
ignored_names = set()
if not os.path.isdir(dst):
if oncopy('create directory',src,dst):
os.makedirs(dst)
errors = []
for name in names:
if name in ignored_names:
continue
srcname = os.path.join(src, name)
dstname = os.path.join(dst, name)
try:
if os.path.isdir(srcname):
if oncopy('directory',srcname,dstname):
copytree2(srcname, dstname, ignore = ignore,onreplace=onreplace,oncopy=oncopy)
else:
if os.path.isfile(dstname):
if onreplace(srcname,dstname) and oncopy('overwrites',srcname,dstname):
os.unlink(dstname)
shutil.copy2(srcname, dstname)
else:
if oncopy('copy',srcname,dstname):
shutil.copy2(srcname, dstname)
except (IOError, os.error) as why:
#print(u'IO Error copying from "%s" to "%s" : %s' % (ensure_unicode(src),ensure_unicode(dst),ensure_unicode(why)))
if onerror is not None and callable(onerror):
try:
onerror(srcname,dstname,why)
except Exception as e:
errors.append((srcname,dstname,ensure_unicode(e)))
else:
errors.append((srcname,dstname,ensure_unicode(why)))
# catch the Error from the recursive copytree so that we can
# continue with other files
except shutil.Error as err:
logger.critical(u'shutil Error copying from "%s" to "%s" : %s' % (ensure_unicode(srcname),ensure_unicode(dstname),ensure_unicode(err)))
errors.extend(err.args[0])
try:
shutil.copystat(src, dst)
except OSError, why:
if WindowsError is not None and isinstance(why, WindowsError):
# Copying file access times may fail on Windows
pass
else:
print(u'Error copying stats from "%s" to "%s" : %s' % (ensure_unicode(src),ensure_unicode(dst),ensure_unicode(why)))
errors.append((src, dst, str(why)))
if errors:
raise shutil.Error, errors
def add_at_cmd(cmd,delay=1):
import datetime
at_time = (datetime.datetime.now() + datetime.timedelta(minutes=delay)).strftime('%H:%M:%S')
print(run('at %s "%s"'%(at_time,cmd)))
def install():
# if you want to modify the keys depending on environment (win32/win64... params..)
print(u'Partial upgrade of WAPT client')
killalltasks('wapttray.exe')
killalltasks('waptconsole.exe')
def onerror(srcname,dstname,e):
print u"Error %s %s %s" %(srcname,dstname,ensure_unicode(e))
if e[0] == 5: # locked
filecopyto(srcname,dstname+'.pending')
replace_at_next_reboot(None, dstname)
else:
raise e
def check_exe_version(src,dst):
if os.path.splitext(dst)[1] in ('.exe','.dll'):
try:
ov = get_file_properties(dst)['FileVersion']
nv = get_file_properties(src)['FileVersion']
return Version(ov)<Version(nv)
except:
return True
else:
return True
copytree2('patchs',WAPT.wapt_base_dir,
onreplace = check_exe_version,
onerror = onerror)
update_registry_version(control.version)
# restart of service can not be done by service...
if service_installed('waptservice') and service_is_running('waptservice'):
import requests,json
try:
res = json.loads(requests.get('http://127.0.0.1:8088/waptservicerestart.json').text)
except:
tmp_bat = tempfile.NamedTemporaryFile(prefix='waptrestart',suffix='.cmd',mode='wt',delete=False)
tmp_bat.write('net stop waptservice\n')
tmp_bat.write('net start waptservice\n')
tmp_bat.write('del "%s"\n'%tmp_bat.name)
tmp_bat.close()
add_at_cmd(tmp_bat.name)
print(u'Upgrade done')
Merci de m'apporter ton aide. Le fichier setup.py, je le trouve uniquement dans le dossier WAPT\WAPTUPGRADE.
Je n'ai aucun fichier de ce nom directement dans le répertoire WAPT
Je mets une image des fichiers py qui se trouve dans mon dossier wapt
je mets le contenu du fichier setup.py car je ne peux le coller en fichier joint
Merci de votre aide
Knpc FICHIER SETUP.PY
# -*- coding: utf-8 -*-
from setuphelpers import *
import os
import _winreg
import tempfile
import shutil
# registry key(s) where WAPT will find how to remove the application(s)
uninstallkey = []
def update_sources():
files = [
'common.py',
'setuphelpers.py',
'wapt-get.exe',
'wapt-get.exe.manifest',
'wapt-get.py',
'waptdevutils.py',
'waptpackage.py',
'windnsquery.py',
'wapttray.exe',
'waptexit.exe',
'keyfinder.py',
'COPYING.txt',
'templates',
'waptconsole.exe',
'waptconsole.exe.manifest',
'waptservice',
'languages',
r'lib\site-packages\babel\__init__.py',
r'lib\site-packages\babel\_compat.py',
r'lib\site-packages\babel\core.py',
r'lib\site-packages\babel\global.dat',
r'lib\site-packages\babel\localtime',
r'lib\site-packages\babel\plural.py',
r'lib\site-packages\babel\localedata\en.dat',
r'lib\site-packages\babel\localedata\fr.dat',
r'lib\site-packages\babel\messages',
r'lib\site-packages\babel\support.py',
r'lib\site-packages\babel\compat.py',
r'lib\site-packages\babel\dates.py',
r'lib\site-packages\babel\localedata.py',
r'lib\site-packages\babel\numbers.py',
r'lib\site-packages\babel\util.py',
r'lib\site-packages\flask_babel',
r'lib\site-packages\pytz',
r'lib\site-packages\speaklater',
r'lib\site-packages\requests_kerberos_sspi',
r'lib\site-packages\lib\site-packages\flask_kerberos_sspi.py',
r'lib\site-packages\kerberos_sspi.py',
r'lib\site-packages\wapt.pth',
]
def ignore(src,names):
result = []
for name in names:
for pattern in ['*.pyc','*.exe']:
if glob.fnmatch.fnmatch(name,pattern):
result.append(name)
return result
checkout_dir = os.path.abspath(os.path.join(os.getcwd(),'..'))
# cleanup patchs dir
if os.path.exists(os.path.join(checkout_dir,'waptupgrade','patchs')):
shutil.rmtree(os.path.join(checkout_dir,'waptupgrade','patchs'))
os.makedirs(os.path.join(checkout_dir,'waptupgrade','patchs'))
for f in files:
fn = os.path.join(checkout_dir,f)
target_fn = os.path.join(checkout_dir,'waptupgrade','patchs',f)
if os.path.isfile(fn):
if not os.path.exists(os.path.dirname(target_fn)):
os.makedirs(os.path.dirname(target_fn))
filecopyto(fn,target_fn)
elif os.path.isdir(fn):
copytree2(
src=fn,
dst=target_fn,
onreplace = default_overwrite,
ignore=ignore)
return True
def update_control(entry):
"""Update package control file before build-upload"""
if update_sources():
waptget = get_file_properties(r'patchs\wapt-get.exe')
rev = open('../version').read().strip()
entry.package = '%s-waptupgrade' % WAPT.config.get('global','default_package_prefix')
entry.version = '%s-%s' % (waptget['FileVersion'],rev)
else:
print(u'Keeping current control data %s (%s)'%(control.package,control.version))
def update_registry_version(version):
# updatethe registry
with _winreg.CreateKeyEx(HKEY_LOCAL_MACHINE,r'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\WAPT_is1',\
0, _winreg.KEY_READ| _winreg.KEY_WRITE ) as waptis:
reg_setvalue(waptis,"DisplayName","WAPT %s" % version)
reg_setvalue(waptis,"DisplayVersion","WAPT %s" % version)
reg_setvalue(waptis,"InstallDate",currentdate())
def copytree2(src, dst, ignore=None,onreplace=default_skip,oncopy=default_oncopy,enable_replace_at_reboot=True,onerror=None):
"""Copy src directory to dst directory. dst is created if it doesn't exists
src can be relative to installation temporary dir
oncopy is called for each file copy. if False is returned, copy is skipped
onreplace is called when a file will be overwritten.
"""
logger.debug('Copy tree from "%s" to "%s"' % (ensure_unicode(src),ensure_unicode(dst)))
# path relative to temp directory...
tempdir = os.getcwd()
if not os.path.isdir(src) and os.path.isdir(os.path.join(tempdir,src)):
src = os.path.join(tempdir,src)
names = os.listdir(src)
if callable(ignore) and ignore is not None:
ignored_names = ignore(src, names)
else:
ignored_names = set()
if not os.path.isdir(dst):
if oncopy('create directory',src,dst):
os.makedirs(dst)
errors = []
for name in names:
if name in ignored_names:
continue
srcname = os.path.join(src, name)
dstname = os.path.join(dst, name)
try:
if os.path.isdir(srcname):
if oncopy('directory',srcname,dstname):
copytree2(srcname, dstname, ignore = ignore,onreplace=onreplace,oncopy=oncopy)
else:
if os.path.isfile(dstname):
if onreplace(srcname,dstname) and oncopy('overwrites',srcname,dstname):
os.unlink(dstname)
shutil.copy2(srcname, dstname)
else:
if oncopy('copy',srcname,dstname):
shutil.copy2(srcname, dstname)
except (IOError, os.error) as why:
#print(u'IO Error copying from "%s" to "%s" : %s' % (ensure_unicode(src),ensure_unicode(dst),ensure_unicode(why)))
if onerror is not None and callable(onerror):
try:
onerror(srcname,dstname,why)
except Exception as e:
errors.append((srcname,dstname,ensure_unicode(e)))
else:
errors.append((srcname,dstname,ensure_unicode(why)))
# catch the Error from the recursive copytree so that we can
# continue with other files
except shutil.Error as err:
logger.critical(u'shutil Error copying from "%s" to "%s" : %s' % (ensure_unicode(srcname),ensure_unicode(dstname),ensure_unicode(err)))
errors.extend(err.args[0])
try:
shutil.copystat(src, dst)
except OSError, why:
if WindowsError is not None and isinstance(why, WindowsError):
# Copying file access times may fail on Windows
pass
else:
print(u'Error copying stats from "%s" to "%s" : %s' % (ensure_unicode(src),ensure_unicode(dst),ensure_unicode(why)))
errors.append((src, dst, str(why)))
if errors:
raise shutil.Error, errors
def add_at_cmd(cmd,delay=1):
import datetime
at_time = (datetime.datetime.now() + datetime.timedelta(minutes=delay)).strftime('%H:%M:%S')
print(run('at %s "%s"'%(at_time,cmd)))
def install():
# if you want to modify the keys depending on environment (win32/win64... params..)
print(u'Partial upgrade of WAPT client')
killalltasks('wapttray.exe')
killalltasks('waptconsole.exe')
def onerror(srcname,dstname,e):
print u"Error %s %s %s" %(srcname,dstname,ensure_unicode(e))
if e[0] == 5: # locked
filecopyto(srcname,dstname+'.pending')
replace_at_next_reboot(None, dstname)
else:
raise e
def check_exe_version(src,dst):
if os.path.splitext(dst)[1] in ('.exe','.dll'):
try:
ov = get_file_properties(dst)['FileVersion']
nv = get_file_properties(src)['FileVersion']
return Version(ov)<Version(nv)
except:
return True
else:
return True
copytree2('patchs',WAPT.wapt_base_dir,
onreplace = check_exe_version,
onerror = onerror)
update_registry_version(control.version)
# restart of service can not be done by service...
if service_installed('waptservice') and service_is_running('waptservice'):
import requests,json
try:
res = json.loads(requests.get('http://127.0.0.1:8088/waptservicerestart.json').text)
except:
tmp_bat = tempfile.NamedTemporaryFile(prefix='waptrestart',suffix='.cmd',mode='wt',delete=False)
tmp_bat.write('net stop waptservice\n')
tmp_bat.write('net start waptservice\n')
tmp_bat.write('del "%s"\n'%tmp_bat.name)
tmp_bat.close()
add_at_cmd(tmp_bat.name)
print(u'Upgrade done')
Et bien le Voila
FICHIER WAPT-GET.INI :
[global]
waptupdate_task_period=120
use_hostpackages=1
repo_url=https://srvwapt.mont-tremblant.local/wapt
wapt_server=https://srvwapt.mont-tremblant.local
private_key=C:\private\monttremblant.pem
templates_repo_url=http://wapt.tranquil.it/wapt
default_sources_root=E:\wapt\WaptDev
default_package_prefix=mtt
loglevel=warning
[options]
server_uuid=f444b1ab-6e89-47f9-8d3a-8f8d3ffe1a49
- Petite précision je suis sur un serveur IIS
- J'ai le même message de connexion refusé en voulant me connecter a la console ? Les deux sont ils liés ?
Dans ce fichier ini je n'ai pas de ligne base de données est ce normal ?
Merci
FICHIER WAPT-GET.INI :
[global]
waptupdate_task_period=120
use_hostpackages=1
repo_url=https://srvwapt.mont-tremblant.local/wapt
wapt_server=https://srvwapt.mont-tremblant.local
private_key=C:\private\monttremblant.pem
templates_repo_url=http://wapt.tranquil.it/wapt
default_sources_root=E:\wapt\WaptDev
default_package_prefix=mtt
loglevel=warning
[options]
server_uuid=f444b1ab-6e89-47f9-8d3a-8f8d3ffe1a49
- Petite précision je suis sur un serveur IIS
- J'ai le même message de connexion refusé en voulant me connecter a la console ? Les deux sont ils liés ?
Dans ce fichier ini je n'ai pas de ligne base de données est ce normal ?
Merci
Tu peux pinguer : https://srvwapt.mont-tremblant.local/wapt
Et regarder ce que te donne l'url ?
Et regarder ce que te donne l'url ?
Salut,
Je suis capable de pinger srvwapt.mont-tremblant.local
impossible de pinger https://srvwapt.mont-tremblant.local/wapt je pense que c'est normal aussi
La console que j'utilise est directement sur le serveur wapt
Juste pour info avec localhost:8088 cela fonctionne j'ai accès al a console
Merci
Je suis capable de pinger srvwapt.mont-tremblant.local
impossible de pinger https://srvwapt.mont-tremblant.local/wapt je pense que c'est normal aussi
La console que j'utilise est directement sur le serveur wapt
Juste pour info avec localhost:8088 cela fonctionne j'ai accès al a console
Merci
- sfonteneau
- Expert WAPT
- Messages : 1788
- Inscription : 10 juil. 2014 - 23:52
- Contact :
Bonjour
Peut tu nous en dire plus ?
C'est un serveur windows ou un serveur linux ?
D'autre service que wapt sont il hébergée sur ces serveur ?
Simon
Peut tu nous en dire plus ?
C'est un serveur windows ou un serveur linux ?
D'autre service que wapt sont il hébergée sur ces serveur ?
Simon