[Server-devel] @all at ...?

Martin Langhoff martin.langhoff at gmail.com
Mon Feb 23 18:41:15 EST 2009


On Tue, Feb 24, 2009 at 1:40 AM, Daniel Drake <dsd at laptop.org> wrote:
> 2009/2/23, Martin Langhoff <martin.langhoff at gmail.com>:
>> How to test?
>
> Firstly, what's the actual bug being addressed?

Minimal steps to repro (based on what David Leeming reported - this is
the scenario that I've been testing...)

1 - get a newly installed ejabberd with @online@ group created (or one
where you deleted the ejabberd registration of the XOs via the web
admin ui)

2 - switch on the XOs, do the registration dance if the XOs need it

3 - as it is the 1st handshake between the XO and ejabberd, it will
create a new acct in ejabberd, and the online roster will work
correctly: laptops can see eachother in the network view while
connected to the XS and using gabble

4 - restart XS, XOs

5 - @online@ roster doesn't work - laptops can't see eachother in the
'network view'

>> - pay extra attention at the output of ejabberd connected-users -
> should be in sync with what users see on their network view
>
> Where do we view this output?

Login to the XS as root, type "ejabberd connected-users" - or go to
the ejabberd web admin ui, and look at the connected users list.
Re-issue the cli command or refresh the webpage for updates :-)

>> - tail the ejabberd logs, like this
>>    tail -f /var/log/ejabberd/ejabberd.log | grep '\(unset_p\|user_av\)'
>
> And look for what?

When XOs come online, you should see "user_available" for each user -
that message means that the presence for that user is being pushed to
everyone else, so the other XOs should see the newcomer.

When an XO initiates shutdown, it disconnects explicitly from ejabberd
- unset_presence should mark the pushing of that event to everyone. If
the XO vanishes from the network, ejabberd still reports it as
available - not sure how "gone" users are dealt with (that's out of
scope at the moment, but you're bound to see the situation...).

>> - Remove all users from ejabberd's db, let them connect first time,
> then stop/start server & XOs
>
> How do we remove the users from the db?

ejabberd web admin ui. ejabberdctl also has an unregister command IIRC.

> And then stop/start using /etc/init.d/ejabberd restart on the server,
> and restart sugar on the XOs with ctrl+alt+erase?

Yeah, ctrl+alt+erase works.

> What do we look for (or do) after we have restarted the server and XOs?

= that the network view makes sense (shows all the XOs that are connected) =

If it doesn't make sense, check

- that ejabberdctl connected-users jives with the network view
- that olpc-netstatus reports 'gabble' on the XOs
- ejabberd logs

cheers.


m
-- 
 martin.langhoff at gmail.com
 martin at laptop.org -- School Server Architect
 - ask interesting questions
 - don't get distracted with shiny stuff  - working code first
 - http://wiki.laptop.org/go/User:Martinlanghoff


More information about the Server-devel mailing list