Назад | Перейти на главную страницу

Хадсон о debian lenny

Некоторое время назад я установил Hudson deamon на одном сервере (работающем при тестировании debian lenny). Все работало, пока не сделал апгрейд. В настоящее время Hudson недоступен на порту 8080 (который используется по умолчанию). Я искал проблемы с iptables, однако порт 8080 открыт для INPUT и OUTPUT. Файл конфигурации в / etc / default / hudson вроде в порядке, я его не трогал. А если я сделаю ps aux | grep hudson, работает hudson deamon.

Обновление 1: Что действительно странно для меня, так это то, что в /var/log/hudson/hudson.log я не получаю ошибки:

[Winstone 2010/02/10 17:10:04] - Control thread shutdown successfully
[Winstone 2010/02/10 17:10:04] - Winstone shutdown successfully
Running from: /usr/share/hudson/hudson.war
[Winstone 2010/02/10 17:10:43] - Beginning extraction from war file
hudson home directory: /var/lib/hudson
[Winstone 2010/02/10 17:10:44] - HTTP Listener started: port=8080
[Winstone 2010/02/10 17:10:44] - AJP13 Listener started: port=8009
[Winstone 2010/02/10 17:10:44] - Winstone Servlet Engine v0.9.10 running: controlPort=disabled
10 févr. 2010 17:10:44 hudson.model.Hudson$4 onAttained
INFO: Started initialization
10 févr. 2010 17:10:44 hudson.model.Hudson$4 onAttained
INFO: Listed all plugins
10 févr. 2010 17:10:44 hudson.model.Hudson$4 onAttained
INFO: Prepared all plugins
10 févr. 2010 17:10:44 hudson.model.Hudson$4 onAttained
INFO: Started all plugins
10 févr. 2010 17:10:46 hudson.model.Hudson$4 onAttained
INFO: Loaded all jobs
10 févr. 2010 17:10:46 hudson.model.Hudson$4 onAttained
INFO: Completed initialization
10 févr. 2010 17:10:47 org.springframework.context.support.AbstractApplicationContext prepareRefresh
INFO: Refreshing org.springframework.web.context.support.StaticWebApplicationContext@caa559d: display name [Root WebApplicationContext]; startup date [Wed Feb 10 17:10:47 CET 2010]; root of context hierarchy
10 févr. 2010 17:10:47 org.springframework.context.support.AbstractApplicationContext obtainFreshBeanFactory
INFO: Bean factory for application context [org.springframework.web.context.support.StaticWebApplicationContext@caa559d]: org.springframework.beans.factory.support.DefaultListableBeanFactory@40d2f5f1
10 févr. 2010 17:10:47 org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@40d2f5f1: defining beans [daoAuthenticationProvider,authenticationManager,userDetailsService]; root of factory hierarchy
10 févr. 2010 17:10:47 org.springframework.context.support.AbstractApplicationContext prepareRefresh
INFO: Refreshing org.springframework.web.context.support.StaticWebApplicationContext@4d88a387: display name [Root WebApplicationContext]; startup date [Wed Feb 10 17:10:47 CET 2010]; root of context hierarchy
10 févr. 2010 17:10:47 org.springframework.context.support.AbstractApplicationContext obtainFreshBeanFactory
INFO: Bean factory for application context [org.springframework.web.context.support.StaticWebApplicationContext@4d88a387]: org.springframework.beans.factory.support.DefaultListableBeanFactory@6153e0c0
10 févr. 2010 17:10:47 org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@6153e0c0: defining beans [filter,legacy]; root of factory hierarchy
10 févr. 2010 17:10:47 hudson.TcpSlaveAgentListener <init>
INFO: JNLP slave agent listener started on TCP port 59750

Обновление 2:

Что я получаю с lsof -i -n -P | grep hudson:

java      28985      hudson   97u  IPv6 2002707      0t0  TCP *:8080 (LISTEN)
java      28985      hudson   99u  IPv6 2002708      0t0  TCP *:8009 (LISTEN)
java      28985      hudson  147u  IPv6 2002711      0t0  TCP *:59750 (LISTEN)
java      28985      hudson  150u  IPv6 2002712      0t0  UDP *:33848 

Я не знаю, что могу проверить. Есть ли у кого-нибудь идея, чтобы помочь мне решить эту проблему?

После расследования я считаю, что знаю, откуда взялась проблема:

lsof -i -n -P | |grep hudson
java      28985      hudson   97u  IPv6 2002707      0t0  TCP *:8080 (LISTEN)
java      28985      hudson   99u  IPv6 2002708      0t0  TCP *:8009 (LISTEN)
java      28985      hudson  147u  IPv6 2002711      0t0  TCP *:59750 (LISTEN)
java      28985      hudson  150u  IPv6 2002712      0t0  UDP *:33848 

Как видите, все службы Hudson используют ipv6. Чтобы решить эту проблему, мне нужно заставить java запускать hudson с ipv4, а не ipv6, отредактировав / etc / default / hudson:

JAVA_ARGS = "- Djava.net.preferIPv4Stack = true"

А теперь все работает!

Спасибо за вашу помощь :)

ОБНОВИТЬ: Эта ошибка возникла из-за моего дистрибутива: Debian Lenny Testing.

Чтобы решить эту проблему, отредактируйте /etc/sysctl.d/bindv6only.conf, чтобы установить net.ipv6.bindv6only на 0.

Эта проблема известна: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=560044