Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
HOWTO:Download Cache for your LAN-Http-Replicator (ver 3.0)
View unanswered posts
View posts from last 24 hours

Goto page Previous  1, 2, 3 ... 10, 11, 12 ... 22, 23, 24  Next  
Reply to topic    Gentoo Forums Forum Index Documentation, Tips & Tricks
View previous topic :: View next topic  
Author Message
flybynite
l33t
l33t


Joined: 06 Dec 2002
Posts: 620

PostPosted: Mon Dec 27, 2004 2:05 am    Post subject: Reply with quote

This is most likely caused by your overlays not conforming to the gentoo standard.

This:
Code:

ebuild /path/to/ebuild/overlay/my.ebuild digest


will create the proper digest.

The last error is probably because that overlay doesn't even have a files dir to contain the digest...

You should also take this time to upgrade to the latest version if you haven't!
Back to top
View user's profile Send private message
hothead
Apprentice
Apprentice


Joined: 02 Jul 2004
Posts: 277
Location: /dev/core

PostPosted: Mon Dec 27, 2004 4:12 pm    Post subject: Reply with quote

I found out that the gentoo-de tree is causing this problem.
Now I've another question:
Is it good to use the same directory for distfiles and replicator cache? When setting it to the same directory I noticed that repcacheman marked all my distfiles as dubs and deleted them.

hothead
_________________
Got a question? - http://justfuckinggoogleit.com/
Back to top
View user's profile Send private message
flybynite
l33t
l33t


Joined: 06 Dec 2002
Posts: 620

PostPosted: Wed Dec 29, 2004 2:32 am    Post subject: Reply with quote

hothead wrote:

Is it good to use the same directory for distfiles and replicator cache?


No. repcacheman was created because portage doesn't work well with others. This is a portage issue that may change in the future. The recent portage update that included lock files is a step in the right direction. Prior to this update, just running two emerge's could blow portage up.

Http-replicator requires a separate cache dir, repcacheman transfers file from portage's dir to the cache dir to ensure there is no wasted space.


What is different about the gentoo-de tree? I am not at all familiar with it.
Back to top
View user's profile Send private message
hothead
Apprentice
Apprentice


Joined: 02 Jul 2004
Posts: 277
Location: /dev/core

PostPosted: Wed Dec 29, 2004 2:17 pm    Post subject: Reply with quote

The gentoo-de tree has some more ebuilds that are not in the main portage tree.
For example the whole vdr (plugins) ximian-openoffice etc..

You can view the cvs here:http://www.gentoo.de/viewcvs/gentoo-x86/

hothead
_________________
Got a question? - http://justfuckinggoogleit.com/
Back to top
View user's profile Send private message
soulwarrior
Guru
Guru


Joined: 21 Oct 2002
Posts: 331

PostPosted: Wed Dec 29, 2004 6:47 pm    Post subject: Reply with quote

Thanks for this great program :D

I do have a question, does http-replicator delete obsolete files, which are no longer needed by any ebuild in the portage tree?
Back to top
View user's profile Send private message
flybynite
l33t
l33t


Joined: 06 Dec 2002
Posts: 620

PostPosted: Wed Jan 05, 2005 3:30 am    Post subject: Reply with quote

Sorry for the delay, I've been out for a while..

I've made no attempt to try to purge outdated distfiles. I've given the reasons why in an earilier post. It's actually a harder problem that you think at first because nobody can agree what needs to be purged.

What I can offer is that http-replicator/repcacheman create no special worries and any of the current scripts you can find on this board can work with replicator.

Search on this board and you can find many scripts that purge/delete/trash distfiles based on no longer in portage/newer version available/not installed/etc....


Last edited by flybynite on Sat Feb 05, 2005 1:31 am; edited 1 time in total
Back to top
View user's profile Send private message
Trespasser
n00b
n00b


Joined: 12 Aug 2003
Posts: 14

PostPosted: Sun Jan 16, 2005 8:48 pm    Post subject: Thank you for the program / guide Reply with quote

I have just installed the http-replicator on one virutal server that is running on af VMware ESX Server (one of 4 esx-servers).
The good thing here is that the hardware is the same all way round, so I have just updated the http-replicator-server and build the binary packages for everything new. After that I change the make.conf's of the other gentoo-server running on our ESX-servers and updated them in a snap.
I have about 15-20 (some testing going on here) Gentoo-servers running on ESX-server, so this can really make a complete Gentoo-install quick ( I know I can just copy the image file, but sometimes the disk-space in the file isn't enough).

This works like a charm I must say.

Again, Thnx.
Back to top
View user's profile Send private message
flybynite
l33t
l33t


Joined: 06 Dec 2002
Posts: 620

PostPosted: Wed Jan 19, 2005 1:58 am    Post subject: Reply with quote

Thanks for the report Trespasser!!

Many people only know Gentoo as a compile from source disto. They don't realize how easy it is to compile a custom version of a package and then use http-replicator to distribute the binary to all your other machines.

This is same way many people administrate a large number of boxes using other disto's. They may use the binaries for the base system from distro "X", but they compile a custom version of Apache from source. With gentoo, they can still use the binaries from the latest release, and use portage to compile apache exactly as they want it. Then they can easily distribute the binary to other gentoo machines. This is a similiar workflow to other disto's, only easier because you have a few thousand of other admins helping through portage.

Http-Replicator is the best way I know of to manage multiple gentoo boxes. It multiplies the power of portage! I hope many others will see the advantages and use http-replicator to administer multiple machines like your doing.
Back to top
View user's profile Send private message
jopalm
n00b
n00b


Joined: 12 Oct 2004
Posts: 11
Location: Seattle, WA USA

PostPosted: Sun Jan 23, 2005 7:13 am    Post subject: Reply with quote

I've been sucessfully using HTTP-Replicator on my six box lan for several months. I'm very pleased with it's functionality and performance. However now I'm attempting to move my cache server from one box to another and have run into a problem.

Everything appears to be correctly configured on both server and clients. HTTP-Replicator is sucessfully started. The trouble begins when a client wants to emerge a package and tries connecting to the server for the source file. At this point the client states the connection is refused. A look at the server log indicates that, upon connection, the server has stopped.

Code:
magnolia etc # tail /var/log/http-replicator.log
22 Jan 2005 22:36:49 INFO: HttpReplicator started
22 Jan 2005 22:37:06 STAT: HttpClient 1 bound to 192.168.0.4
22 Jan 2005 22:37:06 ERROR: HttpClient 1 caught an exception in __getattr__: '_socketobject' object has no attribute 'data'
magnolia etc #


For the time being, I've gone back to my original server, but I'd really like to move this to the other box, so any tips or help would be greatly appreciated!

A quick look through this document didn't turn up a similar problem. (I apologize if it's there and I missed it...)

Regards,
-John
Back to top
View user's profile Send private message
flybynite
l33t
l33t


Joined: 06 Dec 2002
Posts: 620

PostPosted: Tue Jan 25, 2005 5:12 am    Post subject: Reply with quote

For some reason, the file requested by the client is missing...

I would bet you have a typo in the make config of the client. Post the FETCHCOMMAND your using. You might have left a space or unbalanced quote when you changed it to the new server.

If you don't spot it, post some more info. Your configs and the output of the emerge could also be helpful....

You can confirm some of your settings like this:

Code:

source /etc/make.conf
echo $FETCHCOMMAND
echo $RESUMECOMMAND
echo $http_proxy


Also which version of http-replicator are you using. Have you upgraded to the latest?
Back to top
View user's profile Send private message
jopalm
n00b
n00b


Joined: 12 Oct 2004
Posts: 11
Location: Seattle, WA USA

PostPosted: Tue Jan 25, 2005 4:37 pm    Post subject: Reply with quote

Thanks for the response!

I'm off-site at the moment and won't be able to get the specifics you inquired about until this evening (PST).

Quote:
For some reason, the file requested by the client is missing...

I would bet you have a typo in the make config of the client. Post the FETCHCOMMAND your using. You might have left a space or unbalanced quote when you changed it to the new server.


That was my original thinking, too, but now I'm not so sure. First, all six boxes were (for several months) correctly connecting to and receiving files from my original host (ballard). The only edit to five of them was to change the proxy from ballard to magnolia. (This edit literally consisted of ballard^H^H^H^H^H^H^Hmagnolia) Immediately all boxes failed in their connect. Switch back to ballard and all is fine again.

As a further expirement I set up a temporary server on a third box (fremont). All clients can connect to ballard or fremont, but all fail to connect to magnolia.

For these reasons, I suspect the magnolia host configuration.

Quote:
You can confirm some of your settings like this:

Code:

source /etc/make.conf
echo $FETCHCOMMAND
echo $RESUMECOMMAND
echo $http_proxy


Will do this evening. Although, if memory serves, didn't the latest configuration call for no special FETCH and RESUME and thus they would be commented out?

Quote:
Also which version of http-replicator are you using. Have you upgraded to the latest?


Existing host ballard was upgraded from an earlier version. New host magnolia and temporary host fremont were new installs of latest version. I will verify I didn't somehow install an older version.

Thanks again for you assistance!

Regards,
-John
Back to top
View user's profile Send private message
jopalm
n00b
n00b


Joined: 12 Oct 2004
Posts: 11
Location: Seattle, WA USA

PostPosted: Wed Jan 26, 2005 6:42 am    Post subject: Reply with quote

OK, I believe I have collected the relevant data...

First, with the server set-up and running on magnolia (new install) we get this fail mode during an emerge from ballard (actually, it's the same from any of the six clients)

Code:
ballard root # emerge --fetchonly eject
Calculating dependencies ...done!
>>> emerge (1 of 1) sys-apps/eject-2.0.13 to /
>>> Downloading http://distfiles.gentoo.org/distfiles/eject-2.0.13.tar.gz
--22:21:01--  http://distfiles.gentoo.org/distfiles/eject-2.0.13.tar.gz
           => `/usr/portage/distfiles/eject-2.0.13.tar.gz'
Resolving magnolia... 192.168.0.5
Connecting to magnolia[192.168.0.5]:8080... connected.
Proxy request sent, awaiting response...
22:21:01 ERROR -1: No data received.

>>> Downloading http://distro.ibiblio.org/pub/Linux/distributions/gentoo/distfiles/eject-2.0.13.tar.gz
--22:21:01--  http://distro.ibiblio.org/pub/Linux/distributions/gentoo/distfiles/eject-2.0.13.tar.gz
           => `/usr/portage/distfiles/eject-2.0.13.tar.gz'
Resolving magnolia... 192.168.0.5
Connecting to magnolia[192.168.0.5]:8080... failed: Connection refused.
>>> Downloading http://www.ibiblio.org/pub/Linux/utils/disk-management/eject-2.0.13.tar.gz
--22:21:01--  http://www.ibiblio.org/pub/Linux/utils/disk-management/eject-2.0.13.tar.gz
           => `/usr/portage/distfiles/eject-2.0.13.tar.gz'
Resolving magnolia... 192.168.0.5
Connecting to magnolia[192.168.0.5]:8080... failed: Connection refused.
>>> Downloading http://www.pobox.com/~tranter/eject-2.0.13.tar.gz
--22:21:01--  http://www.pobox.com/%7Etranter/eject-2.0.13.tar.gz
           => `/usr/portage/distfiles/eject-2.0.13.tar.gz'
Resolving magnolia... 192.168.0.5
Connecting to magnolia[192.168.0.5]:8080... failed: Connection refused.
!!! Couldn't download eject-2.0.13.tar.gz. Aborting.

!!! Fetch for /usr/portage/sys-apps/eject/eject-2.0.13.ebuild failed, continuing...



!!! Some fetch errors were encountered.  Please see above for details.


ballard root #


During this emerge, the server log on magnolia (with debug) reports...

Code:
25 Jan 2005 22:20:01 INFO: HttpReplicator started
25 Jan 2005 22:21:01 STAT: HttpClient 1 bound to 192.168.0.4
25 Jan 2005 22:21:01 ERROR: HttpClient 1 caught an exception, closing socket
Traceback (most recent call last):
  File "/usr/lib/python2.3/asyncore.py", line 69, in read
    obj.handle_read_event()
  File "/usr/lib/python2.3/asyncore.py", line 390, in handle_read_event
    self.handle_read()
  File "/usr/bin/http-replicator", line 156, in handle_read
    self.data.write(chunk) # append received data
  File "/usr/lib/python2.3/asyncore.py", line 365, in __getattr__
    return getattr(self.socket, attr)
AttributeError: '_socketobject' object has no attribute 'data'


The attempted emerge seems to have killed the server as evidenced by none running to stop...

Code:
magnolia root # /etc/init.d/http-replicator restart
 * Stopping Http-Replicator...
No http-replicator found running; none killed.                            [ ok ]
 * Starting Http-Replicator...                                            [ ok ]
magnolia root #


As a temporary experiment, I have also freshly installed a server on fremont. Changing from magnolia to fremont (with no other changes in client) results in this emerge:

Code:
ballard root # emerge --fetchonly eject
Calculating dependencies ...done!
>>> emerge (1 of 1) sys-apps/eject-2.0.13 to /
>>> Downloading http://distfiles.gentoo.org/distfiles/eject-2.0.13.tar.gz
--22:23:08--  http://distfiles.gentoo.org/distfiles/eject-2.0.13.tar.gz
           => `/usr/portage/distfiles/eject-2.0.13.tar.gz'
Resolving fremont... 192.168.0.3
Connecting to fremont[192.168.0.3]:8085... connected.
Proxy request sent, awaiting response... 200 OK
Length: 59,504

100%[====================================>] 59,504        --.--K/s

22:23:08 (11.36 MB/s) - `/usr/portage/distfiles/eject-2.0.13.tar.gz' saved [59504/59504]

>>> eject-2.0.13.tar.gz size ;-)
>>> eject-2.0.13.tar.gz MD5 ;-)
>>> md5 src_uri ;-) eject-2.0.13.tar.gz
ballard root #


(oh yeah, I'm using port 8085 on fremont due to 8080 already being in use... magnolia is using 8080)

Here is my make.conf for broken host magnolia...

Code:
magnolia root # cat /etc/make.conf
# These settings were set by the catalyst build script that automatically built this stage
# Please consult /etc/make.conf.example for a more detailed example
CC='gcc'
CXX='c++'
CFLAGS="-O2 -march=i686 -fomit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
FEATURES="distcc"
GENTOO_MIRRORS="http://gentoo.osuosl.org"
MAKEOPTS="-j12"
PORTAGE_BINHOST=http://magnolia:8080/All
PORTDIR_OVERLAY="/usr/local/portage"
PORTAGE_TMPDIR="/var/tmp"
RSYNC_RETRIES=6
RSYNC_TIMEOUT=500
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
#SYNC="rsync://magnolia/gentoo-portage"
USE="-X -alsa -gnome -gtk -kde"

# Default fetch command (5 tries, passive ftp for firewall compatibility)
http_proxy="http://magnolia:8080"
#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp \${URI} -P \${DISTDIR}"
#RESUMECOMMAND="/usr/bin/wget -t 5 --passive-ftp \${URI} -O \${DISTDIR}/\${FILE}"

magnolia root #


and predictabily...

Code:
magnolia root # source /etc/make.conf
magnolia root # echo $FETCHCOMMAND

magnolia root # echo $RESUMECOMMAND

magnolia root # echo $http_proxy
http://magnolia:8080
magnolia root #


Curious, eh?

Any thoughts appreciated...

Regards,
-John
Back to top
View user's profile Send private message
flybynite
l33t
l33t


Joined: 06 Dec 2002
Posts: 620

PostPosted: Wed Jan 26, 2005 10:25 am    Post subject: Reply with quote

jopalm wrote:

Will do this evening. Although, if memory serves, didn't the latest configuration call for no special FETCH and RESUME and thus they would be commented out?

Existing host ballard was upgraded from an earlier version. New host magnolia and temporary host fremont were new installs of latest version. I will verify I didn't somehow install an older version.


No special FETCH is correct, but could have been a source of failure if set.

Lets find out whats different about the http-replicator boxes.

Portage version, http-replicator version, python version for a working box and the non-working box.

Code:

emerge -va http-replicator python portage
Back to top
View user's profile Send private message
flybynite
l33t
l33t


Joined: 06 Dec 2002
Posts: 620

PostPosted: Wed Jan 26, 2005 10:30 am    Post subject: Reply with quote

jopalm wrote:
OK, I believe I have collected the relevant data...


Ok, what about
Code:

source /etc/make.conf
echo $FETCHCOMMAND
echo $RESUMECOMMAND
echo $http_proxy


from the client after it has failed?
Back to top
View user's profile Send private message
jopalm
n00b
n00b


Joined: 12 Oct 2004
Posts: 11
Location: Seattle, WA USA

PostPosted: Wed Jan 26, 2005 3:00 pm    Post subject: Reply with quote

Ok, here's a look at magnolia - the non-functional server:

Code:
magnolia root # emerge -va http-replicator python portage

These are the packages that I would merge, in order:

Calculating dependencies ...done!
[ebuild   R   ] net-misc/http-replicator-3.0  19 kB [1]
[ebuild   R   ] dev-lang/python-2.3.4  -X +berkdb -bootstrap -build -debug -doc +gdbm +ipv6* +ncurses +readline +ssl -tcltk -ucs2 7,020 kB
[ebuild   R   ] sys-apps/portage-2.0.51-r14  -build -debug (-selinux) 0 kB

Total size of downloads: 7,039 kB
Portage overlays:
 [1] /usr/local/portage

Do you want me to merge these packages? [Yes/No] n

Quitting.

magnolia root #


And a peek at fremont, the temporary server that's working:

Code:
fremont root # emerge -va http-replicator python portage

These are the packages that I would merge, in order:

Calculating dependencies ...done!
[ebuild   R   ] net-misc/http-replicator-3.0  19 kB [1]
[ebuild   R   ] dev-lang/python-2.3.4  +X* -berkdb* -bootstrap -build -debug -doc -gdbm -ipv6* -ncurses* -readline* +ssl -tcltk -ucs2 7,020 kB
[ebuild   R   ] sys-apps/portage-2.0.51-r14  -build -debug (-selinux) 270 kB

Total size of downloads: 7,310 kB
Portage overlays:
 [1] /usr/local/portage

Do you want me to merge these packages? [Yes/No] n

Quitting.

fremont root #


And ballard, one of the clients (note - this was/is my original production server. It appears that in setting up magnolia, I removed my portage overlay on ballard...)

Code:
ballard root # emerge -va http-replicator python portage

These are the packages that I would merge, in order:

Calculating dependencies
emerge: there are no ebuilds to satisfy "http-replicator".

ballard root # ls -l /usr/local/portage
ls: /usr/local/portage: No such file or directory
ballard root # emerge -va python portage

These are the packages that I would merge, in order:

Calculating dependencies ...done!
[ebuild   R   ] dev-lang/python-2.3.4  +X* +berkdb -bootstrap -build -debug -doc +gdbm* +ipv6 +ncurses +readline +ssl -tcltk -ucs2 7,020 kB
[ebuild   R   ] sys-apps/portage-2.0.51-r14  -build -debug (-selinux) 270 kB

Total size of downloads: 7,291 kB

Do you want me to merge these packages? [Yes/No] n

Quitting.

ballard root #



Here's a peek at environment variables on server magnolia with http-replicator up and running:

Code:
magnolia root # ps -ef | grep http-replicator
portage   6739     1  0 06:46 pts/1    00:00:00 /usr/bin/python /usr/bin/http-re
plicator -s -f --pid /var/run/http-replicator.pid --daemon --dir /var/cache/http
-replicator --user portage --alias /usr/portage/packages/All:All --log /var/log/
http-replicator.log --debug --ip 192.168.0.* --port 8080
root      6750  6589  0 06:47 pts/1    00:00:00 grep http-replicator
magnolia root # ps -ef | grep http-replicator
portage   6739     1  0 06:46 pts/1    00:00:00 /usr/bin/python /usr/bin/http-replicator -s -f --pid /var/run/http-replicator.pid --daemon --dir /var/cache/http-replicator --user portage --alias /usr/portage/packages/All:All --log /var/log/http-replicator.log --debug --ip 192.168.0.* --port 8080
root      6758  6589  0 06:47 pts/1    00:00:00 grep http-replicator
magnolia root # source /etc/make.conf
magnolia root # echo $FETCHCOMMAND

magnolia root # echo $RESUMECOMMAND

magnolia root # echo $http_proxy
http://magnolia:8080
magnolia root #



And finally, after a failed emerge attemp from ballard, resulting in http-replicator crashing, here's magnolia variables again:

Code:
magnolia root # ps -ef | grep http-replicator
root      6766  6589  0 06:49 pts/1    00:00:00 grep http-replicator
magnolia root # source /etc/make.conf
magnolia root # echo $FETCHCOMMAND

magnolia root # echo $RESUMECOMMAND

magnolia root # echo $http_proxy
http://magnolia:8080
magnolia root #


If it's not functional, at least it's consistent! ;)

Regards,
-John
Back to top
View user's profile Send private message
flybynite
l33t
l33t


Joined: 06 Dec 2002
Posts: 620

PostPosted: Wed Jan 26, 2005 11:07 pm    Post subject: Reply with quote

Ok, latest replicator, and no unstable packages in use.

There is an update to portage, r15, it came out the same day as r14 which probably means it was buggy, might want to upgrade...

You missed the env on the CLIENT, not the failed server magnolia. My original theory is the env on the CLIENT is in error.

Also the /etc/conf.d/http-replicator on the working server and the failed server could also be helpful.


We'll get this, one step at a time...
Back to top
View user's profile Send private message
fyreflyer
n00b
n00b


Joined: 02 Jan 2005
Posts: 12

PostPosted: Thu Jan 27, 2005 1:06 am    Post subject: Thanks! Reply with quote

I just want to say thanks flybynite!

I found setup to be a breeze; http-replicator makes me feel like a better netizen. 8)
Back to top
View user's profile Send private message
jopalm
n00b
n00b


Joined: 12 Oct 2004
Posts: 11
Location: Seattle, WA USA

PostPosted: Thu Jan 27, 2005 8:29 am    Post subject: Reply with quote

Oops, my mistake... YOu asked about the client and I listed the server.

Here we go with the client variables before an emerge, a failed emerge and then an echo of hte variable right after.

Code:
ballard root # source /etc/make.conf
ballard root # echo $FETCHCOMMAND

ballard root # echo $RESUMECOMMAND

ballard root # echo $http_proxy
http://magnolia:8080
ballard root # emerge --fetchonly eject
Calculating dependencies ...done!
>>> emerge (1 of 1) sys-apps/eject-2.0.13 to /
>>> Downloading http://distfiles.gentoo.org/distfiles/eject-2.0.13.tar.gz
--00:19:25--  http://distfiles.gentoo.org/distfiles/eject-2.0.13.tar.gz
           => `/usr/portage/distfiles/eject-2.0.13.tar.gz'
Resolving magnolia... 192.168.0.5
Connecting to magnolia[192.168.0.5]:8080... connected.
Proxy request sent, awaiting response...
00:19:25 ERROR -1: No data received.

>>> Downloading http://distro.ibiblio.org/pub/Linux/distributions/gentoo/distfiles/eject-2.0.13.tar.gz
--00:19:25--  http://distro.ibiblio.org/pub/Linux/distributions/gentoo/distfiles/eject-2.0.13.tar.gz
           => `/usr/portage/distfiles/eject-2.0.13.tar.gz'
Resolving magnolia... 192.168.0.5
Connecting to magnolia[192.168.0.5]:8080... failed: Connection refused.
>>> Downloading http://www.ibiblio.org/pub/Linux/utils/disk-management/eject-2.0.13.tar.gz
--00:19:25--  http://www.ibiblio.org/pub/Linux/utils/disk-management/eject-2.0.13.tar.gz
           => `/usr/portage/distfiles/eject-2.0.13.tar.gz'
Resolving magnolia... 192.168.0.5
Connecting to magnolia[192.168.0.5]:8080... failed: Connection refused.
>>> Downloading http://www.pobox.com/~tranter/eject-2.0.13.tar.gz
--00:19:25--  http://www.pobox.com/%7Etranter/eject-2.0.13.tar.gz
           => `/usr/portage/distfiles/eject-2.0.13.tar.gz'
Resolving magnolia... 192.168.0.5
Connecting to magnolia[192.168.0.5]:8080... failed: Connection refused.
!!! Couldn't download eject-2.0.13.tar.gz. Aborting.

!!! Fetch for /usr/portage/sys-apps/eject/eject-2.0.13.ebuild failed, continuing...



!!! Some fetch errors were encountered.  Please see above for details.


ballard root # source /etc/make.conf
ballard root # echo $FETCHCOMMAND

ballard root # echo $RESUMECOMMAND

ballard root # echo $http_proxy
http://magnolia:8080
ballard root #


I ran the same steps on two other clients (fremont and wedgwood) with the exact same results but didn't post them for space considerations.

I've got to admit - I'm baffled and scratching my head on this one so I appreciate all of you suggestions and help!

Regards,
-John
Back to top
View user's profile Send private message
jopalm
n00b
n00b


Joined: 12 Oct 2004
Posts: 11
Location: Seattle, WA USA

PostPosted: Thu Jan 27, 2005 8:41 am    Post subject: Reply with quote

An here are the conf.d files from the working server fremont and the failed server magnolia:

Code:
fremont conf.d # cat  http-replicator
## Config file for http-replicator
## sourced by init scripts automatically
## GENERAL_OPTS used by repcacheman
## DAEMON_OPTS used by http-replicator


## Set the cache dir
GENERAL_OPTS="--dir /var/cache/http-replicator"

## Change UID/GID to user after opening the log and pid file.
## 'user' must have read/write access to cache dir:
GENERAL_OPTS="$GENERAL_OPTS --user portage"

## Don't change or comment this out:
DAEMON_OPTS="$GENERAL_OPTS"

## Do you need a proxy to reach the internet?
## This will forward requests to an external proxy server:
## Use one of the following, not both:
#DAEMON_OPTS="$DAEMON_OPTS --external somehost:1234"
#DAEMON_OPTS="$DAEMON_OPTS --external username:password@host:port"

## Local dir to serve clients.  Great for serving binary packages
## See PKDIR and PORTAGE_BINHOST settings in 'man make.conf'
## --alias /path/to/serve:location will make /path/to/serve
## browsable at http://http-replicator.com:port/location
DAEMON_OPTS="$DAEMON_OPTS --alias /usr/portage/packages/All:All"

## Dir to hold the log file:
DAEMON_OPTS="$DAEMON_OPTS --log /var/log/http-replicator.log"

## Make the log messages less and less verbose.
## Up to four times to make it extremely quiet.
#DAEMON_OPTS="$DAEMON_OPTS --quiet"
#DAEMON_OPTS="$DAEMON_OPTS --quiet"

## Make the log messages extra verbose for debugging.
#DAEMON_OPTS="$DAEMON_OPTS --debug"

## The ip addresses from which access is allowed. Can be used as many times
## as necessary. Access from localhost is allowed by default.
DAEMON_OPTS="$DAEMON_OPTS --ip 192.168.*.*"
DAEMON_OPTS="$DAEMON_OPTS --ip 10.*.*.*"

## The proxy port on which the server listens for http requests:
DAEMON_OPTS="$DAEMON_OPTS --port 8085"
fremont conf.d #



Code:
magnolia conf.d # cat http-replicator
## Config file for http-replicator
## sourced by init scripts automatically
## GENERAL_OPTS used by repcacheman
## DAEMON_OPTS used by http-replicator


## Set the cache dir
GENERAL_OPTS="--dir /var/cache/http-replicator"

## Change UID/GID to user after opening the log and pid file.
## 'user' must have read/write access to cache dir:
GENERAL_OPTS="$GENERAL_OPTS --user portage"

## Don't change or comment this out:
DAEMON_OPTS="$GENERAL_OPTS"

## Do you need a proxy to reach the internet?
## This will forward requests to an external proxy server:
## Use one of the following, not both:
#DAEMON_OPTS="$DAEMON_OPTS --external somehost:1234"
#DAEMON_OPTS="$DAEMON_OPTS --external username:password@host:port"

## Local dir to serve clients.  Great for serving binary packages
## See PKDIR and PORTAGE_BINHOST settings in 'man make.conf'
## --alias /path/to/serve:location will make /path/to/serve
## browsable at http://http-replicator.com:port/location
DAEMON_OPTS="$DAEMON_OPTS --alias /usr/portage/packages/All:All"

## Dir to hold the log file:
DAEMON_OPTS="$DAEMON_OPTS --log /var/log/http-replicator.log"

## Make the log messages less and less verbose.
## Up to four times to make it extremely quiet.
#DAEMON_OPTS="$DAEMON_OPTS --quiet"
#DAEMON_OPTS="$DAEMON_OPTS --quiet"

## Make the log messages extra verbose for debugging.
DAEMON_OPTS="$DAEMON_OPTS --debug"

## The ip addresses from which access is allowed. Can be used as many times
## as necessary. Access from localhost is allowed by default.
DAEMON_OPTS="$DAEMON_OPTS --ip 192.168.0.*"

## The proxy port on which the server listens for http requests:
DAEMON_OPTS="$DAEMON_OPTS --port 8080"
magnolia conf.d #


Not that magnolia listend on 8080 while fremont listens on 8085 due to a conflict. (Fremont was only set up as temporary to help in diagnosing the current problem wiht magnolia...)

Regards,
-John



Addendum:
I ran a diff of the two to help spot differences:

Code:
ajopalm@ballard ajopalm $ diff fremont.conf.d magnolia.conf.d
38c38
< #DAEMON_OPTS="$DAEMON_OPTS --debug"
---
> DAEMON_OPTS="$DAEMON_OPTS --debug"
42,43c42
< DAEMON_OPTS="$DAEMON_OPTS --ip 192.168.*.*"
< DAEMON_OPTS="$DAEMON_OPTS --ip 10.*.*.*"
---
> DAEMON_OPTS="$DAEMON_OPTS --ip 192.168.0.*"
46c45
< DAEMON_OPTS="$DAEMON_OPTS --port 8085"
---
> DAEMON_OPTS="$DAEMON_OPTS --port 8080"



Addendum II:

A couple of the differences surprised me, so I edited failed magnolia to be identical to fremont by
Code:
changing magnolia to:
DAEMON_OPTS="$DAEMON_OPTS --ip 192.168.*.*"
adding to magnolia:
DAEMON_OPTS="$DAEMON_OPTS --ip 10.*.*.*"
and changing magnolia to:
DAEMON_OPTS="$DAEMON_OPTS --port 8085"


This makes the debugging level the only difference between the two.
Code:
ajopalm@ballard ajopalm $ diff fremont.conf.d magnolia.conf.d
38c38
< #DAEMON_OPTS="$DAEMON_OPTS --debug"
---
> DAEMON_OPTS="$DAEMON_OPTS --debug"




My lack of confidence in any of the above three was rewarded when magnolia continued to fail! ;)
Back to top
View user's profile Send private message
flybynite
l33t
l33t


Joined: 06 Dec 2002
Posts: 620

PostPosted: Fri Jan 28, 2005 3:15 am    Post subject: Reply with quote

Everything still looks normal. The request from the client should be normal and http-replicator still shouldn't die if it wasn't.....

I looked again at the traceback. It shows that the error occurs in Python proper, in asyncore. The back and forth is just Python checking for data in the socket, finding data is ready, telling http-replicator which says ok give it to me, then Python errors when reading the data from the socket. Just shouldn't happen....

jopalm wrote:

[code]Traceback (most recent call last):
File "/usr/lib/python2.3/asyncore.py", line 69, in read
obj.handle_read_event()
File "/usr/lib/python2.3/asyncore.py", line 390, in handle_read_event
self.handle_read()
File "/usr/bin/http-replicator", line 156, in handle_read
self.data.write(chunk) # append received data
File "/usr/lib/python2.3/asyncore.py", line 365, in __getattr__
return getattr(self.socket, attr)
AttributeError: '_socketobject' object has no attribute 'data'



Try two things. First try to read the http-replicator cache dir from a browser or wget from any client:
[code]
http://magnolia:8080/All
[/code]

This should show the cache listing.

Then try to re-emerge python on the failing server. Don't use a binary package, you may or may not have used a binary on this box previously, just compile it from source and without distcc.

This box seems to have trouble with Python sockets. DISTCC could cause problems in certain circumstances. This could also happen when using binary packages for similar reasons. The donor box has different settings which could have an effect even though it's not supposed to happen.

At least thats my next theory.....
Back to top
View user's profile Send private message
jopalm
n00b
n00b


Joined: 12 Oct 2004
Posts: 11
Location: Seattle, WA USA

PostPosted: Fri Jan 28, 2005 10:27 pm    Post subject: Reply with quote

Well, no joy....

When trying to browse to magnolia and view the cache, we trigger the same error as when a client emerges an ebuild. Same messages in log and killed the http-replicator process.

Next, I re-emerged python (from source) on the broken magnolia host with no change in behavior during client emerges.

Next, I stopped distccd on magnolia and tried emerging again. Same results.

At this point I have a proposal. Unless you still have some ideas you want to follow up on (in which case I'll go at it for as long as you want...) I suggest we set this aside for the time being.

As I'm reorganizing the distribution of services and applications on my network, it's looking more and more like it will be desirable to completely rebuild magnolia. Since we're both leaning to a lower-level cause of the emerge failures (that is, a systemic problem) I think it might make sense to see if this problem persists after the system rebuild. With any luck, I should be able to swap in a new disk and expedite this for this weekend.

I really do appreciate all of you help and suggestions. If you want to chase this a little further, let me know, else I'll follow the above plan and let you know of the results...

Regards,
-John
Back to top
View user's profile Send private message
flybynite
l33t
l33t


Joined: 06 Dec 2002
Posts: 620

PostPosted: Sat Jan 29, 2005 10:01 am    Post subject: Reply with quote

jopalm wrote:
Well, no joy....
I suggest we set this aside for the time being.



Ok, sorry we couldn't figure it out. If it isn't Python, it's glibc that defines the socket :-(


It's good to know that http-replicator does work well on your other boxes :-)
Back to top
View user's profile Send private message
jopalm
n00b
n00b


Joined: 12 Oct 2004
Posts: 11
Location: Seattle, WA USA

PostPosted: Sun Jan 30, 2005 5:40 am    Post subject: Reply with quote

Well I have good news for a change...

I was able to swap in a new hard drive and get the basic system reinstalled on magnolia (the recalcitrant server) this evening. One of the first services I activated was http-replicator so that I could build up the new system from my existing cache.

It's working like a charm. I've synced my other boxes and they're all drawing against the cache on magnolia with no problem. I'm also able to fire up a browser and view the cache now.

Only hitch *might* be that I'm currently updating world on magnolia. We'll see if it survives that and still functions after gcc, python, etc are all updated! ;)

Thanks again for you help!

Regards,
-John
Back to top
View user's profile Send private message
flybynite
l33t
l33t


Joined: 06 Dec 2002
Posts: 620

PostPosted: Tue Feb 08, 2005 8:32 am    Post subject: Reply with quote

jopalm wrote:
Well I have good news for a change...

I was able to swap in a new hard drive and get the basic system reinstalled on magnolia (the recalcitrant server) this evening. One of the first services I activated was http-replicator so that I could build up the new system from my existing cache.

It's working like a charm.



I knew it would work fine ;-)
Back to top
View user's profile Send private message
zsoltika
l33t
l33t


Joined: 13 Nov 2003
Posts: 634
Location: Budapest, Hungary

PostPosted: Thu Feb 10, 2005 7:09 am    Post subject: Reply with quote

Hi 4 everyone,

Just found this topic, and I'm really interested in it, but got one question.
The story is: some of my workmates using Gentoo (I one of them currently, from the Rad Hat thing, and I'm pretty proud of it). Our sysadm and firm uses internet quota which means every single user have a limited amount of download capabilities.
So if we set this replicator thing the question is:
if the package.(tar.(gz|bz2)|tgz|rpm|.*){1} wouldn't be found on any of the mate's cache neither mine which machine would download it from outer repositories? How to configure to download from the outernet only from the local machine?
Sorry if this was a dumb one...
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Documentation, Tips & Tricks All times are GMT
Goto page Previous  1, 2, 3 ... 10, 11, 12 ... 22, 23, 24  Next
Page 11 of 24

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum