1. 26 Oct, 2011 1 commit
  2. 14 Sep, 2011 1 commit
  3. 08 Sep, 2011 1 commit
  4. 05 Sep, 2011 1 commit
  5. 10 Jun, 2011 1 commit
    • Julien Muchembled's avatar
      Introduce light functional tests, using threads and serialized processing · 1ef149c2
      Julien Muchembled authored
      This allows to setup an almost fully functional cluster without additional
      processes. Threads are scheduled so that they never run simultaneously,
      eliminating most random.
      There's still much improvement possible like controlled randomization,
      or easier debugging when switching from one thread to another.
      As mock objects are not usable in such tests, an API should be implemented to
      trace/count any method call we'd like to check.
      This fixes test_notifyNodeInformation_checkUnregisterStorage
      git-svn-id: https://svn.erp5.org/repos/neo/trunk@2775 71dcc9de-d417-0410-9af5-da40c76e7ee4
  6. 27 Apr, 2011 1 commit
    • Julien Muchembled's avatar
      connection: make close always call handler (connectionClosed or connectionFailed) · 4b6c1387
      Julien Muchembled authored
      Main reason is that it's difficult to know in advance which side really closes
      the connection. Network events can be chaotic and this could lead to many race
      Thus, handler can be used to update any database that is somewhat redundant
      to the connection status, i.e. node status usually. Safely and less duplicated
      This change is motivated by recurrent random failures during election.
      An example of race condition was that 2 fully connected master could close the
      extra connection (the primary -> secondary one) at the same time.
      In order to stabilize lower-level code and start with reliable election process,
      code has also been simplified to not care about node states. All connections
      without exception are closed at the end of the election and states are then
      updated 1 by 1 by identification handler.
      Note that during election, there may be 2 connection per node, which makes
      difficult to update node states by connectionFailed/connectionClosed events.
      timeoutExpired & peerBroken are dropped as they are unused for the moment.
      A new API should be designed so that connectionClosed know the reason of the
      BROKEN state becomes unused.
      git-svn-id: https://svn.erp5.org/repos/neo/trunk@2732 71dcc9de-d417-0410-9af5-da40c76e7ee4
  7. 23 Mar, 2011 2 commits
  8. 22 Mar, 2011 2 commits
    • Julien Muchembled's avatar
      admin: use 'boostrap' flag to discard partition changes received too early · a54aada5
      Julien Muchembled authored
      This should fix the following random failure:
      Traceback (most recent call last):
        File "neo/tests/functional/__init__.py", line 140, in start
          execfile(command, {"__name__": "__main__"})
        File "./neoadmin", line 22, in <module>
        File "neo/scripts/neoadmin.py", line 66, in main
        File "neo/admin/app.py", line 103, in run
        File "neo/lib/event.py", line 100, in poll
        File "neo/lib/connection.py", line 532, in process
          self._handlers.handle(self, packet)
        File "neo/lib/connection.py", line 158, in handle
          self._handle(connection, packet)
        File "neo/lib/connection.py", line 174, in _handle
          handler.packetReceived(connection, packet)
        File "neo/lib/handler.py", line 93, in packetReceived
          self.dispatch(conn, packet)
        File "neo/admin/handler.py", line 142, in dispatch
          super(MasterEventHandler, self).dispatch(conn, packet)
        File "neo/lib/handler.py", line 57, in dispatch
          method(conn, *args)
        File "neo/admin/handler.py", line 156, in sendPartitionTable
          self.app.pt.load(ptid, row_list, self.app.nm)
        File "neo/lib/pt.py", line 219, in load
          assert node is not None
      git-svn-id: https://svn.erp5.org/repos/neo/trunk@2680 71dcc9de-d417-0410-9af5-da40c76e7ee4
    • Julien Muchembled's avatar
      admin: factorize code (re)initializing application · 5917e6e8
      Julien Muchembled authored
      git-svn-id: https://svn.erp5.org/repos/neo/trunk@2679 71dcc9de-d417-0410-9af5-da40c76e7ee4
  9. 25 Feb, 2011 1 commit
    • Olivier Cros's avatar
      Implementing ipv6 on neo · 0cdbf0ea
      Olivier Cros authored
      In order to synchronise neo with slapos, it has to work perfectly with ipv4
      and ipv6. This allows to integrate neo in erp5 and to prepare different buildout
      installations of neo.
      The protocol and connectors are no more generic but can now support IPv4 and
      IPv6 connections. We adopted a specific way of development which allow to
      easily add new protocols in the future.
      git-svn-id: https://svn.erp5.org/repos/neo/trunk@2654 71dcc9de-d417-0410-9af5-da40c76e7ee4
  10. 17 Jan, 2011 1 commit
  11. 05 Nov, 2010 1 commit
  12. 29 Oct, 2010 1 commit
  13. 27 Aug, 2010 3 commits
  14. 15 May, 2010 1 commit
    • Grégory Wisniewski's avatar
      Answer the partition table in one packet. · 39465fec
      Grégory Wisniewski authored
      SendPartitionTable packet was sent between Ask and Answer PartitionTable
      packets, as notifications. In this case, the only purpose of the 'Answer'
      was to check that the partition table was filled. The 'Ask' allowed also
      to request a part of the partitions but was not used and redundant with
      AskPartitionList for neoctl.
      This commit include the following work:
      - The partition table is always send in one packet.
      - The full partition table is always requested with AskPartitionTable
      - The full partition table is notified with SendPartitionTable
      - Client node process the answer in the bootstrap handler.
      - Admin can receive answer *and* notifications for the partition table.
      - Move the log calls to the pt.py module
      - Add pt.getRowList() to factorise the code.
      - Build partition table packets out of the loop when possible
      - Always load inconditionnaly the partition table in generic pt.py
      git-svn-id: https://svn.erp5.org/repos/neo/trunk@2114 71dcc9de-d417-0410-9af5-da40c76e7ee4
  15. 01 Apr, 2010 2 commits
  16. 26 Mar, 2010 2 commits
  17. 08 Mar, 2010 1 commit
  18. 01 Mar, 2010 1 commit
  19. 23 Feb, 2010 1 commit
  20. 22 Feb, 2010 4 commits
  21. 19 Feb, 2010 1 commit
  22. 01 Feb, 2010 2 commits
  23. 28 Jan, 2010 1 commit
  24. 26 Jan, 2010 1 commit
  25. 22 Jan, 2010 1 commit
  26. 20 Jan, 2010 1 commit
  27. 13 Jan, 2010 1 commit
  28. 02 Nov, 2009 1 commit
  29. 19 Oct, 2009 1 commit
  30. 07 Oct, 2009 1 commit