Página 1 de 2

Error de socket n.° 10061 Conexión rechazada.

Publicado: 20 de noviembre de 2015 - 16:43
por knpc
Hola,

soy completamente nuevo en WAPT y cuando intento crear un instalador personalizado, recibo un mensaje de error de socket. Al confirmar el error, recibo el siguiente mensaje:

Error al cargar el agente WAPT en el repositorio.

Gracias por su ayuda.

Patrice

Re: Error de socket n.° 10061 Conexión rechazada.

Publicado: 24 de noviembre de 2015 - 11:56 a. m.
por Floflobel
Hola,

¿podría facilitarnos la configuración de su archivo setup.py ubicado en C:\wapt? Esto nos permitirá ver la configuración de su repositorio desde su servidor WAPT.

Re: Error de socket n.° 10061 Conexión rechazada.

Publicado: 25 de noviembre de 2015 - 16:26
por knpc
Buen día,

Gracias por tu ayuda. Solo encuentro el archivo setup.py en la carpeta WAPT\WAPTUPGRADE.
No tengo ningún archivo con ese nombre directamente en el directorio WAPT

Adjunto una imagen de los archivos py ubicados en mi carpeta wapt
Incluyo el contenido del archivo setup.py porque no puedo pegarlo como archivo adjunto

gracias por su ayuda

Knpc
contenido de la carpeta wapt
contenido de la carpeta wapt
Extensión de archivo py.JPG (43,89 KB) Visto 8919 veces
ARCHIVO SETUP.PY

# -*- codificación: utf-8 -*-
importar desde setuphelpers *
importar sistema operativo
importar _winreg
importar archivo temporal
importar shutil

# clave(s) de registro donde WAPT encontrará cómo eliminar la(s) aplicación(es)
clave de desinstalación = []

def actualizar_fuentes():
archivos = [
'común.py',
'setuphelpers.py',
'wapt-get.exe',
'wapt-get.exe.manifest',
'wapt-get.py',
'waptdevutils.py',
'paquete wapt.py',
'windnsquery.py',
'wapttray.exe',
'waptexit.exe',
'buscador de claves.py',
'COPIANDO.txt',
'plantillas',
'waptconsole.exe',
'waptconsole.exe.manifest',
'servicio wapt',
'idiomas',


r'lib\paquetes-del-sitio\babel\__init__.py',
r'lib\paquetes-del-sitio\babel\_compat.py',
r'lib\paquetes-del-sitio\babel\core.py',
r'lib\paquetes-del-sitio\babel\global.dat',
r'lib\paquetes-del-sitio\babel\localtime',
r'lib\paquetes-del-sitio\babel\plural.py',
r'lib\site-packages\babel\localedata\en.dat',
r'lib\site-packages\babel\localedata\fr.dat',
r'lib\paquetes-del-sitio\babel\mensajes',
r'lib\paquetes-del-sitio\babel\support.py',
r'lib\paquetes-del-sitio\babel\compat.py',
r'lib\paquetes-del-sitio\babel\dates.py',
r'lib\paquetes-del-sitio\babel\localedata.py',
r'lib\paquetes-del-sitio\babel\numbers.py',
r'lib\paquetes-del-sitio\babel\util.py',

r'lib\paquetes-del-sitio\flask_babel',
r'lib\paquetes-del-sitio\pytz',
r'lib\paquetes-del-sitio\speaklater',
r'lib\paquetes-del-sitio\solicitudes_kerberos_sspi',
r'lib\paquetes-del-sitio\lib\paquetes-del-sitio\flask_kerberos_sspi.py',
r'lib\paquetes-del-sitio\kerberos_sspi.py',
r'lib\paquetes-del-sitio\wapt.pth',
]

def ignorar(origen,nombres):
resultado = []
para nombre en nombres:
para el patrón en ['*.pyc','*.exe']:
si glob.fnmatch.fnmatch(nombre,patrón):
resultado.append(nombre)
devolver resultado

directorio_de_compra = os.path.abspath(os.path.join(os.getcwd(),'..'))
# directorio de parches de limpieza
si os.path.exists(os.path.join(checkout_dir,'waptupgrade','patches')):
Shutil.rmtree(os.path.join(checkout_dir,'waptupgrade','parches'))

os.makedirs(os.path.join(checkout_dir,'waptupgrade','parches'))
para f en archivos:
fn = os.path.join(directorio_de_compra,f)
target_fn = os.path.join(checkout_dir,'waptupgrade','patches',f)
si os.path.isfile(fn):
si no os.path.exists(os.path.dirname(target_fn)):
os.makedirs(os.path.dirname(target_fn))
copia de archivo a(fn,target_fn)
elif os.path.isdir(fn):
copytree2(
origen=fn,
dst=función_objetivo,
onreplace = sobrescribir por defecto,
ignorar=ignorar)
devuelve Verdadero

def update_control(entrada):
"""Actualizar el archivo de control del paquete antes de la carga de la compilación"""
si update_sources():
waptget = obtener_propiedades_del_archivo(r'patches\wapt-get.exe')
rev = abrir('../versión').leer().tira()
entrada.paquete = '%s-waptupgrade' % WAPT.config.get('global','prefijo_de_paquete_predeterminado')
entrada.versión = '%s-%s' % (waptget['FileVersion'],rev)
demás:
print(u'Manteniendo los datos de control actuales %s (%s)'%(control.package,control.version))

def update_registry_version(versión):
# actualizar el registro
con _winreg.CreateKeyEx(HKEY_LOCAL_MACHINE,r'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\WAPT_is1',\
0, _winreg.KEY_READ| _winreg.KEY_WRITE ) como waptis:
reg_setvalue(waptis,"Nombre para mostrar","WAPT %s" % versión)
reg_setvalue(waptis,"DisplayVersion","WAPT %s" % versión)
reg_setvalue(waptis,"Fecha de instalación",fecha actual())



def copytree2(src, dst, ignorar=Ninguno, al reemplazar=saltar_predeterminado, al copiar=al_copiar_predeterminado, habilitar_reemplazar_al_reiniciar=Verdadero, al error=Ninguno):
"""Copiar el directorio src al directorio dst. Dst se crea si no existe
src puede ser relativo al directorio temporal de instalación
Se llama a oncopy para cada copia de archivo. Si se devuelve Falso, se omite la copia
onreplace se llama cuando se sobrescribirá un archivo.
"""
logger.debug('Copiar árbol de "%s" a "%s"' % (ensure_unicode(src),ensure_unicode(dst)))
# ruta relativa al directorio temporal...
directorio temporal = os.getcwd()
si no os.path.isdir(src) y os.path.isdir(os.path.join(tempdir,src)):
src = os.path.join(directorio temporal,src)

nombres = os.listdir(src)
si callable(ignore) e ignorar no es Ninguno:
nombres_ignorados = ignorar(origen, nombres)
demás:
nombres_ignorados = set()

si no os.path.isdir(dst):
si oncopy('crear directorio',src,dst):
os.makedirs(dst)
errores = []
para nombre en nombres:
si el nombre está en nombres ignorados:
continúa
srcname = os.path.join(src, nombre)
dstname = os.path.join(dst, nombre)
intentar:
si os.path.isdir(nombre_origen):
si oncopy('directorio',nombreorigen,nombredst):
copytree2(nombreorigen, nombredst, ignorar = ignorar, alreemplazar=alreemplazar, alcopiar=alcopiar)
demás:
si os.path.isfile(dstname):
si onreplace(srcname,dstname) y oncopy('sobrescribe',srcname,dstname):
os.unlink(nombredst)
Shutil.copy2 (nombre de origen, nombre de destino)
demás:
si oncopy('copia',nombreorigen,nombredst):
Shutil.copy2 (nombre de origen, nombre de destino)

excepto (IOError, os.error) como por qué:
#print(u'IO Error al copiar de "%s" a "%s": %s' % (ensure_unicode(src),ensure_unicode(dst),ensure_unicode(why)))
si onerror no es None y es invocable (onerror):
intentar:
onerror(nombreorigen,nombredst,por qué)
excepto Excepción como e:
errores.append((nombre_origen,nombre_dst,asegurar_unicode(e)))
demás:
errores.append((nombreorigen,nombredst,asegurar_unicode(por qué)))

# capturar el error del copytree recursivo para que podamos
# continuar con otros archivos
excepto shutil.Error como err:
logger.critical(u'shutil Error al copiar de "%s" a "%s": %s' % (ensure_unicode(srcname),ensure_unicode(dstname),ensure_unicode(err)))
errores.extend(err.args[0])
intentar:
shutil.copystat(origen, horario de verano)
Excepto por OSError, ¿por qué?
si WindowsError no es None y isinstance(por qué, WindowsError):
# La copia de los tiempos de acceso a archivos puede fallar en Windows
aprobar
demás:
print(u'Error al copiar estadísticas de "%s" a "%s": %s' % (ensure_unicode(src),ensure_unicode(dst),ensure_unicode(why)))
errores.append((src, dst, str(por qué)))
si hay errores:
generar shutil.Error, errores



def add_at_cmd(cmd,retraso=1):
importar fecha y hora
a_la_hora = (datetime.datetime.now() + datetime.timedelta(minutos=retraso)).strftime('%H:%M:%S')
imprimir(ejecutar('a las %s "%s"'%(a_la_hora,cmd)))


def instalar():
# si desea modificar las claves dependiendo del entorno (win32/win64... parámetros...)
print(u'Actualización parcial del cliente WAPT')
killalltasks('wapttray.exe')
killalltasks('waptconsole.exe')

def onerror(nombreorigen,nombredst,e):
imprimir u"Error %s %s %s" %(nombre_origen,nombre_dst,asegurar_unicode(e))
si e[0] == 5: # bloqueado
filecopyto(nombreorigen,nombredst+'.pendiente')
reemplazar_en_el_próximo_reinicio(Ninguno, nombre_dst)
demás:
elevar e

def check_exe_version(origen,dst):
si os.path.splitext(dst)[1] en ('.exe','.dll'):
intentar:
ov = obtener_propiedades_del_archivo(dst)['Versión del archivo']
nv = obtener_propiedades_del_archivo(src)['Versión del archivo']
devolver Versión(ov)
excepto:
devuelve Verdadero
demás:
devuelve Verdadero

copytree2('parches',WAPT.wapt_base_dir,
onreplace = comprobar_versión_exe,
onerror = onerror)

actualizar_versión_del_registro(control.versión)

# el reinicio del servicio no puede ser realizado por el servicio...
si el servicio está instalado('waptservice') y el servicio está en ejecución('waptservice'):
solicitudes de importación,json
intentar:
res = json.loads(solicitudes.get('http://127.0.0.1:8088/waptservicerestart.json').text)
excepto:
tmp_bat = archivo temporal.NamedTemporaryFile(prefijo='waptrestart',sufijo='.cmd',modo='wt',eliminar=Falso)
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.nombre)
print(u'Actualización realizada')

Re: Error de socket n.° 10061 Conexión rechazada.

Publicado: 26 de noviembre de 2015 - 12:17 p. m.
por Floflobel
Hola,

acabo de encontrar el archivo en cuestión, que es "wapt-get.ini". ¿
Podrías publicarlo aquí?

Gracias.

Re: Error de socket n.° 10061 Conexión rechazada.

Publicado: 26 de noviembre de 2015 - 14:49
por knpc
Aquí está :-)

: ARCHIVO 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

- Solo para aclarar, estoy en un servidor IIS
- recibo el mismo mensaje de "conexión rechazada" cuando intento conectarme a la consola. ¿Están relacionados los dos?

En este archivo .ini no tengo ninguna entrada de base de datos. ¿Es normal?

Gracias.

Re: Error de socket n.° 10061 Conexión rechazada.

Publicado: 30 de noviembre de 2015 - 13:09
por Floflobel
Puedes hacer ping a https://srvwapt.mont-tremblant.local/wapt
y ver qué devuelve la URL.

Re: Error de socket n.° 10061 Conexión rechazada.

Publicado: 30 de noviembre de 2015 - 14:35
por knpc
Hola,

puedo hacer ping a srvwapt.mont-tremblant.local
, pero no a https://srvwapt.mont-tremblant.local/wapt. Creo que es normal.
La consola que uso está directamente en el servidor Wapt.

Por cierto, funciona con localhost:8088; tengo acceso a la consola.

Gracias.

Re: Error de socket n.° 10061 Conexión rechazada.

Publicado: 7 de diciembre de 2015 - 15:53
por knpc
Hola a todos,

sigo teniendo problemas para resolver mi problema, así que espero que alguien pueda ayudarme reactivando mi publicación.

Gracias.

Re: Error de socket n.° 10061 Conexión rechazada.

Publicado: 7 de diciembre de 2015 - 16:57
por sfonteneau
Hola, ¿

podrías darnos más detalles?

¿Es un servidor Windows o Linux? ¿

Hay algún otro servicio además de WAPT alojado en estos servidores?

Simon

Re: Error de socket n.° 10061 Conexión rechazada.

Publicado: 7 de diciembre de 2015 - 22:07
por knpc
Con mucho gusto:

Es un servidor de 2008 con solo WSUS instalado.
IIS se configuró siguiendo la guía de Wapt.

Si necesita más información, no dude en preguntar.

Gracias