neoppod:ccee974fa5f00d40615fde1c275878750cfedb1e commitshttps://lab.nexedi.com/nexedi/neoppod/-/commits/ccee974fa5f00d40615fde1c275878750cfedb1e2009-06-24T18:24:04+00:00https://lab.nexedi.com/nexedi/neoppod/-/commit/ccee974fa5f00d40615fde1c275878750cfedb1eUpdate the default cluster configuration to include the admin node and more than2009-06-24T18:24:04+00:00Grégory Wisniewskigregory@nexedi.comone storage node.
git-svn-id: <a href="https://svn.erp5.org/repos/neo/branches/prototype3@683" rel="nofollow noreferrer noopener" target="_blank">https://svn.erp5.org/repos/neo/branches/prototype3@683</a> 71dcc9de-d417-0410-9af5-da40c76e7ee4https://lab.nexedi.com/nexedi/neoppod/-/commit/e9fb5361876501c28b0746ffd8ad9b901f86d1c6Add a handler dedicated to admin node since the admin node does'nt care about2009-06-24T18:16:42+00:00Grégory Wisniewskigregory@nexedi.comthe current cluster state, so the primary master should not change the admin's
connection handler when doing a state-switch.
Factorise a little the response to an identification request.
git-svn-id: <a href="https://svn.erp5.org/repos/neo/branches/prototype3@682" rel="nofollow noreferrer noopener" target="_blank">https://svn.erp5.org/repos/neo/branches/prototype3@682</a> 71dcc9de-d417-0410-9af5-da40c76e7ee4https://lab.nexedi.com/nexedi/neoppod/-/commit/f627727fec0accfe45f965791888643374e04979Reorder connection initialisation packets for master connection:2009-06-24T16:00:10+00:00Vincent Pelletiervincent@nexedi.com- first, asks which master is the primary
- then, when connected to the primary, request node identification
- then, ask explicitely for partition table and node information, to follow query/answer schema.
Details:
- Master:
- Move handleAskPrimaryMaster, handleAskNodeInformation and handleAskPartitionTable implementations to base handler to factorise code
- handleRequestNodeIdentification is not required any more in secondary mode, only handleAskPrimaryMaster
- Client:
- Make bootstrap handler and master connection behave more similarly to on storage's equivalents
- Remove PrimaryHandler (moved into PrimaryNotificationsHandler)
- parse master node configured ip list just once, and register them to node manager just once (in app's __init__)
git-svn-id: <a href="https://svn.erp5.org/repos/neo/branches/prototype3@681" rel="nofollow noreferrer noopener" target="_blank">https://svn.erp5.org/repos/neo/branches/prototype3@681</a> 71dcc9de-d417-0410-9af5-da40c76e7ee4https://lab.nexedi.com/nexedi/neoppod/-/commit/3a48be31028bb207b4a3d7c25c8a44ae7f6237b5neoctl doest not accept a 'logfile' parameter.2009-06-24T15:51:59+00:00Grégory Wisniewskigregory@nexedi.com
git-svn-id: <a href="https://svn.erp5.org/repos/neo/branches/prototype3@680" rel="nofollow noreferrer noopener" target="_blank">https://svn.erp5.org/repos/neo/branches/prototype3@680</a> 71dcc9de-d417-0410-9af5-da40c76e7ee4https://lab.nexedi.com/nexedi/neoppod/-/commit/d8fd840947295e2a9e09882ebdb98101f4fb1b0eiFix some tests.2009-06-24T15:48:25+00:00Grégory Wisniewskigregory@nexedi.com
git-svn-id: <a href="https://svn.erp5.org/repos/neo/branches/prototype3@679" rel="nofollow noreferrer noopener" target="_blank">https://svn.erp5.org/repos/neo/branches/prototype3@679</a> 71dcc9de-d417-0410-9af5-da40c76e7ee4https://lab.nexedi.com/nexedi/neoppod/-/commit/c768d431edd5a2aca062a305d5196b96f7232803Remove outdated comment.2009-06-24T14:57:35+00:00Vincent Pelletiervincent@nexedi.com
git-svn-id: <a href="https://svn.erp5.org/repos/neo/branches/prototype3@678" rel="nofollow noreferrer noopener" target="_blank">https://svn.erp5.org/repos/neo/branches/prototype3@678</a> 71dcc9de-d417-0410-9af5-da40c76e7ee4https://lab.nexedi.com/nexedi/neoppod/-/commit/1081da6f6533ff0a5db6ad9d1287fbe6c3aab998implement more in the shutdown method2009-06-24T12:51:32+00:00Aurélien Calonneaurel@nexedi.com- wait for all transaction to finish
- ask all other nodes to shut down if cluster is shutting down
git-svn-id: <a href="https://svn.erp5.org/repos/neo/branches/prototype3@677" rel="nofollow noreferrer noopener" target="_blank">https://svn.erp5.org/repos/neo/branches/prototype3@677</a> 71dcc9de-d417-0410-9af5-da40c76e7ee4https://lab.nexedi.com/nexedi/neoppod/-/commit/1742c0078de9b06428e694b6a3107f4de3bbc8beadd handler for notify node information message so that they can be2009-06-24T09:42:39+00:00Aurélien Calonneaurel@nexedi.comignored if we are stopping all storage and master nodes
git-svn-id: <a href="https://svn.erp5.org/repos/neo/branches/prototype3@676" rel="nofollow noreferrer noopener" target="_blank">https://svn.erp5.org/repos/neo/branches/prototype3@676</a> 71dcc9de-d417-0410-9af5-da40c76e7ee4https://lab.nexedi.com/nexedi/neoppod/-/commit/1b2615425f417a774bd4ec1757a6a29a222586a8Delete the __init__.py in the root directory since it's not a python module and2009-06-24T09:35:06+00:00Grégory Wisniewskigregory@nexedi.comthus don't need to be imported.
git-svn-id: <a href="https://svn.erp5.org/repos/neo/branches/prototype3@675" rel="nofollow noreferrer noopener" target="_blank">https://svn.erp5.org/repos/neo/branches/prototype3@675</a> 71dcc9de-d417-0410-9af5-da40c76e7ee4https://lab.nexedi.com/nexedi/neoppod/-/commit/10e3542e32f1c95f4dc79a0d03d8f3c8b275fd4fFix test with decorators imports.2009-06-24T09:14:31+00:00Grégory Wisniewskigregory@nexedi.com
git-svn-id: <a href="https://svn.erp5.org/repos/neo/branches/prototype3@674" rel="nofollow noreferrer noopener" target="_blank">https://svn.erp5.org/repos/neo/branches/prototype3@674</a> 71dcc9de-d417-0410-9af5-da40c76e7ee4https://lab.nexedi.com/nexedi/neoppod/-/commit/a26e93f64f3c493fdbdd006626e5b9482bbb9f84Fix some tests about accessors on partitions number, replicas and partition2009-06-24T09:08:00+00:00Grégory Wisniewskigregory@nexedi.comtable ID.
git-svn-id: <a href="https://svn.erp5.org/repos/neo/branches/prototype3@673" rel="nofollow noreferrer noopener" target="_blank">https://svn.erp5.org/repos/neo/branches/prototype3@673</a> 71dcc9de-d417-0410-9af5-da40c76e7ee4https://lab.nexedi.com/nexedi/neoppod/-/commit/25c190e1d6f87adf17900bdbbdce1ab9bc42c05cFix accessor on next partition table ID.2009-06-24T08:44:26+00:00Grégory Wisniewskigregory@nexedi.com
git-svn-id: <a href="https://svn.erp5.org/repos/neo/branches/prototype3@672" rel="nofollow noreferrer noopener" target="_blank">https://svn.erp5.org/repos/neo/branches/prototype3@672</a> 71dcc9de-d417-0410-9af5-da40c76e7ee4https://lab.nexedi.com/nexedi/neoppod/-/commit/6e9b9f1516c1ed199bfc8982f64aeaae51146508Factory cluster name verification. Do not use the decorator previously commited2009-06-24T08:30:14+00:00Grégory Wisniewskigregory@nexedi.comsince the 'name' handler parameter is not positional-fixed nor a keyword
argument.
git-svn-id: <a href="https://svn.erp5.org/repos/neo/branches/prototype3@671" rel="nofollow noreferrer noopener" target="_blank">https://svn.erp5.org/repos/neo/branches/prototype3@671</a> 71dcc9de-d417-0410-9af5-da40c76e7ee4https://lab.nexedi.com/nexedi/neoppod/-/commit/c5d9d9a92231e7b475954153fdcf1293b3359d1cFix naming of _checkNodeType in some callers which used a temporary name.2009-06-24T08:25:06+00:00Vincent Pelletiervincent@nexedi.com
git-svn-id: <a href="https://svn.erp5.org/repos/neo/branches/prototype3@670" rel="nofollow noreferrer noopener" target="_blank">https://svn.erp5.org/repos/neo/branches/prototype3@670</a> 71dcc9de-d417-0410-9af5-da40c76e7ee4https://lab.nexedi.com/nexedi/neoppod/-/commit/746ac978ddad0a2d1a29ea5971f42b23d3aada8aAdmin handler forward setClusterState packet to the primary master node.2009-06-24T07:59:47+00:00Grégory Wisniewskigregory@nexedi.com
git-svn-id: <a href="https://svn.erp5.org/repos/neo/branches/prototype3@669" rel="nofollow noreferrer noopener" target="_blank">https://svn.erp5.org/repos/neo/branches/prototype3@669</a> 71dcc9de-d417-0410-9af5-da40c76e7ee4https://lab.nexedi.com/nexedi/neoppod/-/commit/b21e73092eac5ff781377be5e20569ba7238aadeAdd a log when receiving an unknown UUID as primary master UUID.2009-06-24T07:59:20+00:00Vincent Pelletiervincent@nexedi.com
git-svn-id: <a href="https://svn.erp5.org/repos/neo/branches/prototype3@668" rel="nofollow noreferrer noopener" target="_blank">https://svn.erp5.org/repos/neo/branches/prototype3@668</a> 71dcc9de-d417-0410-9af5-da40c76e7ee4https://lab.nexedi.com/nexedi/neoppod/-/commit/d256c5b355f098171825ecf6d3fd01cfec748a5fMove handler decorators to their own file to simplify imports.2009-06-24T07:56:48+00:00Grégory Wisniewskigregory@nexedi.com
git-svn-id: <a href="https://svn.erp5.org/repos/neo/branches/prototype3@667" rel="nofollow noreferrer noopener" target="_blank">https://svn.erp5.org/repos/neo/branches/prototype3@667</a> 71dcc9de-d417-0410-9af5-da40c76e7ee4https://lab.nexedi.com/nexedi/neoppod/-/commit/e27a2a6923e56621ec49464c0b3acbf4ed9465f6when asking master node to shutdown, answer with notify node2009-06-24T07:52:34+00:00Aurélien Calonneaurel@nexedi.cominformation message to admin node
git-svn-id: <a href="https://svn.erp5.org/repos/neo/branches/prototype3@666" rel="nofollow noreferrer noopener" target="_blank">https://svn.erp5.org/repos/neo/branches/prototype3@666</a> 71dcc9de-d417-0410-9af5-da40c76e7ee4https://lab.nexedi.com/nexedi/neoppod/-/commit/bf3b80b2a0eed1e37d53fb2dd78d0d558dea7d86last partition id is no longer set on app object but it's get from2009-06-24T07:51:07+00:00Aurélien Calonneaurel@nexedi.compartition table
git-svn-id: <a href="https://svn.erp5.org/repos/neo/branches/prototype3@665" rel="nofollow noreferrer noopener" target="_blank">https://svn.erp5.org/repos/neo/branches/prototype3@665</a> 71dcc9de-d417-0410-9af5-da40c76e7ee4https://lab.nexedi.com/nexedi/neoppod/-/commit/a3497ce2b037af69c733c758d4f55a2ed31c5dffAdd 2 new packet types: ASK_NODE_INFORMATION and ANSWER_NODE_INFORMATION.2009-06-24T07:31:57+00:00Vincent Pelletiervincent@nexedi.com
git-svn-id: <a href="https://svn.erp5.org/repos/neo/branches/prototype3@664" rel="nofollow noreferrer noopener" target="_blank">https://svn.erp5.org/repos/neo/branches/prototype3@664</a> 71dcc9de-d417-0410-9af5-da40c76e7ee4https://lab.nexedi.com/nexedi/neoppod/-/commit/3774858da377d3fd9911d97d6106972505859ba8Factorise struct.error exception handling with a decorator over decoding2009-06-23T20:56:17+00:00Grégory Wisniewskigregory@nexedi.comfunctions. Factorise check of enum based values and string decoding.
Unify tuple unpacking by always using parenthesis.
git-svn-id: <a href="https://svn.erp5.org/repos/neo/branches/prototype3@663" rel="nofollow noreferrer noopener" target="_blank">https://svn.erp5.org/repos/neo/branches/prototype3@663</a> 71dcc9de-d417-0410-9af5-da40c76e7ee4https://lab.nexedi.com/nexedi/neoppod/-/commit/193a31e139da30acb4d707632fde4aea24658ac4Add handler for cluster state packet in neoctl.2009-06-23T15:13:02+00:00Grégory Wisniewskigregory@nexedi.com
git-svn-id: <a href="https://svn.erp5.org/repos/neo/branches/prototype3@662" rel="nofollow noreferrer noopener" target="_blank">https://svn.erp5.org/repos/neo/branches/prototype3@662</a> 71dcc9de-d417-0410-9af5-da40c76e7ee4https://lab.nexedi.com/nexedi/neoppod/-/commit/08f200bb3fec2ac1ceb34196803a0d3e653f5241getNodeByUUID always return None on invalid UUID, even if one was inserted by2009-06-23T14:57:28+00:00Grégory Wisniewskigregory@nexedi.commistake. Add an helper method on the event manager to retreive a connection from
an UUID.
git-svn-id: <a href="https://svn.erp5.org/repos/neo/branches/prototype3@661" rel="nofollow noreferrer noopener" target="_blank">https://svn.erp5.org/repos/neo/branches/prototype3@661</a> 71dcc9de-d417-0410-9af5-da40c76e7ee4https://lab.nexedi.com/nexedi/neoppod/-/commit/86056d547658ba6510210217078ea976bf8aa9a0Include what handler class is ignoring a packet, and switch the log level to2009-06-23T14:51:30+00:00Grégory Wisniewskigregory@nexedi.comERROR since we don't want any useless packets.
git-svn-id: <a href="https://svn.erp5.org/repos/neo/branches/prototype3@660" rel="nofollow noreferrer noopener" target="_blank">https://svn.erp5.org/repos/neo/branches/prototype3@660</a> 71dcc9de-d417-0410-9af5-da40c76e7ee4https://lab.nexedi.com/nexedi/neoppod/-/commit/0ce0731e5b8c8d8a9714bf3d1b97373bb842fbc5Packet SET_CLUSTER_STATE and ANSWER_CLUSTER_STATE :2009-06-23T14:42:07+00:00Grégory Wisniewskigregory@nexedi.com- Add handler method
- Fix encoding and decoding
- Add cluster state enumeration
Fix exception handling in newer packet decoders (no more except *: )
git-svn-id: <a href="https://svn.erp5.org/repos/neo/branches/prototype3@659" rel="nofollow noreferrer noopener" target="_blank">https://svn.erp5.org/repos/neo/branches/prototype3@659</a> 71dcc9de-d417-0410-9af5-da40c76e7ee4https://lab.nexedi.com/nexedi/neoppod/-/commit/a52db4e65ac4fc40bd7df6a6a2b116d8cecd5e3aFix bug and set the first PTID on the partition table when making it from2009-06-23T13:03:17+00:00Grégory Wisniewskigregory@nexedi.comscratch.
git-svn-id: <a href="https://svn.erp5.org/repos/neo/branches/prototype3@658" rel="nofollow noreferrer noopener" target="_blank">https://svn.erp5.org/repos/neo/branches/prototype3@658</a> 71dcc9de-d417-0410-9af5-da40c76e7ee4https://lab.nexedi.com/nexedi/neoppod/-/commit/33b3065a7b3dd14d2fc7601b118f1ba6636a5289add a shutdown handler for the primary master node which :2009-06-23T12:26:44+00:00Aurélien Calonneaurel@nexedi.com- refuse any new connection
- refuse any new transaction
git-svn-id: <a href="https://svn.erp5.org/repos/neo/branches/prototype3@657" rel="nofollow noreferrer noopener" target="_blank">https://svn.erp5.org/repos/neo/branches/prototype3@657</a> 71dcc9de-d417-0410-9af5-da40c76e7ee4https://lab.nexedi.com/nexedi/neoppod/-/commit/059c6d6c21a37bd3ea15d918a0875b9f0900d702Master use PartitionTable to store the number of partitions, replicas and the2009-06-22T15:18:45+00:00Grégory Wisniewskigregory@nexedi.comcurrent partition table ID. The next partition table ID is now computed by the
master's PartitionTable instance.
git-svn-id: <a href="https://svn.erp5.org/repos/neo/branches/prototype3@655" rel="nofollow noreferrer noopener" target="_blank">https://svn.erp5.org/repos/neo/branches/prototype3@655</a> 71dcc9de-d417-0410-9af5-da40c76e7ee4https://lab.nexedi.com/nexedi/neoppod/-/commit/0e03e516f6191686c57441b0f2e33cdba2f63f49Add accessors for number of replicas and partitions in PartitionTable.2009-06-22T13:36:31+00:00Grégory Wisniewskigregory@nexedi.com
git-svn-id: <a href="https://svn.erp5.org/repos/neo/branches/prototype3@654" rel="nofollow noreferrer noopener" target="_blank">https://svn.erp5.org/repos/neo/branches/prototype3@654</a> 71dcc9de-d417-0410-9af5-da40c76e7ee4https://lab.nexedi.com/nexedi/neoppod/-/commit/53b3562796d8179c88f3bd944ef5183d24ee0a72Restore logfile parameter, deleted in commit #632, and removed unused variable.2009-06-22T11:58:50+00:00Grégory Wisniewskigregory@nexedi.com
git-svn-id: <a href="https://svn.erp5.org/repos/neo/branches/prototype3@653" rel="nofollow noreferrer noopener" target="_blank">https://svn.erp5.org/repos/neo/branches/prototype3@653</a> 71dcc9de-d417-0410-9af5-da40c76e7ee4https://lab.nexedi.com/nexedi/neoppod/-/commit/b4feb441ff488e7f94cdf9b91788923d12cec1d6Use same log format for all NEO applications and define it in the root module.2009-06-22T09:53:45+00:00Grégory Wisniewskigregory@nexedi.com
git-svn-id: <a href="https://svn.erp5.org/repos/neo/branches/prototype3@652" rel="nofollow noreferrer noopener" target="_blank">https://svn.erp5.org/repos/neo/branches/prototype3@652</a> 71dcc9de-d417-0410-9af5-da40c76e7ee4https://lab.nexedi.com/nexedi/neoppod/-/commit/773ec2282b72ab97c7de129d9946fbdd89f733b1Implement the PENDING storage node state, they start in this state and switch2009-06-22T09:46:41+00:00Grégory Wisniewskigregory@nexedi.comto RUNNING state when requested by the admin node. This feature can be disabled
by setting neo.master.ENABLE_PENDING_NODES to False.
The neoctl syntax is : neoctl add (all | UUID+)
and display UUIDs of added storage nodes.
git-svn-id: <a href="https://svn.erp5.org/repos/neo/branches/prototype3@651" rel="nofollow noreferrer noopener" target="_blank">https://svn.erp5.org/repos/neo/branches/prototype3@651</a> 71dcc9de-d417-0410-9af5-da40c76e7ee4https://lab.nexedi.com/nexedi/neoppod/-/commit/5d10815c976d0ad0357d20d07a81f2ccbbb31aadRaise when transaction information cannot be found rather than silently skipp...2009-06-22T09:13:23+00:00Vincent Pelletiervincent@nexedi.com
git-svn-id: <a href="https://svn.erp5.org/repos/neo/branches/prototype3@650" rel="nofollow noreferrer noopener" target="_blank">https://svn.erp5.org/repos/neo/branches/prototype3@650</a> 71dcc9de-d417-0410-9af5-da40c76e7ee4https://lab.nexedi.com/nexedi/neoppod/-/commit/efe97eca0b7d234d29379bbdca07953ea17447cdImprove code readability by removing some "continue"s.2009-06-22T09:09:36+00:00Vincent Pelletiervincent@nexedi.comTiny inner loop optimisation on list append.
Remvoe unneeded (obvious) comments.
git-svn-id: <a href="https://svn.erp5.org/repos/neo/branches/prototype3@649" rel="nofollow noreferrer noopener" target="_blank">https://svn.erp5.org/repos/neo/branches/prototype3@649</a> 71dcc9de-d417-0410-9af5-da40c76e7ee4https://lab.nexedi.com/nexedi/neoppod/-/commit/04001b763287ca0c5224793cd9e17172ef4ea114Get connection from the cell (loop variant) rather from the node (loop...2009-06-22T09:05:01+00:00Vincent Pelletiervincent@nexedi.comGet connection from the cell (loop variant) rather from the node (loop invariant, remain from a loop higher in the same method).
git-svn-id: <a href="https://svn.erp5.org/repos/neo/branches/prototype3@648" rel="nofollow noreferrer noopener" target="_blank">https://svn.erp5.org/repos/neo/branches/prototype3@648</a> 71dcc9de-d417-0410-9af5-da40c76e7ee4
https://lab.nexedi.com/nexedi/neoppod/-/commit/9a46bf02eb451d65c2671992381b0b50cbfc8867Use an intermediate set() to remove duplicate tids (as we request data from...2009-06-22T08:47:11+00:00Vincent Pelletiervincent@nexedi.comUse an intermediate set() to remove duplicate tids (as we request data from all storage nodes, the same tid wille be reported one time per node replicating it).
git-svn-id: <a href="https://svn.erp5.org/repos/neo/branches/prototype3@647" rel="nofollow noreferrer noopener" target="_blank">https://svn.erp5.org/repos/neo/branches/prototype3@647</a> 71dcc9de-d417-0410-9af5-da40c76e7ee4
https://lab.nexedi.com/nexedi/neoppod/-/commit/ac603ef106edbad06d06f644a70634cd92941d1fMove loop exit condition to loop declaration instead of explicitely breaking ...2009-06-22T08:36:04+00:00Vincent Pelletiervincent@nexedi.com
git-svn-id: <a href="https://svn.erp5.org/repos/neo/branches/prototype3@646" rel="nofollow noreferrer noopener" target="_blank">https://svn.erp5.org/repos/neo/branches/prototype3@646</a> 71dcc9de-d417-0410-9af5-da40c76e7ee4https://lab.nexedi.com/nexedi/neoppod/-/commit/19ed5c8d8eaf778481d089f4ef8be846e0b9a46eUse itervalues instead of values.2009-06-22T08:32:38+00:00Vincent Pelletiervincent@nexedi.com
git-svn-id: <a href="https://svn.erp5.org/repos/neo/branches/prototype3@645" rel="nofollow noreferrer noopener" target="_blank">https://svn.erp5.org/repos/neo/branches/prototype3@645</a> 71dcc9de-d417-0410-9af5-da40c76e7ee4https://lab.nexedi.com/nexedi/neoppod/-/commit/7093110c5e4d11b3204d2ffd5d9631f8d58daeeeTiny iner-loop optimisation.2009-06-22T08:31:30+00:00Vincent Pelletiervincent@nexedi.com
git-svn-id: <a href="https://svn.erp5.org/repos/neo/branches/prototype3@644" rel="nofollow noreferrer noopener" target="_blank">https://svn.erp5.org/repos/neo/branches/prototype3@644</a> 71dcc9de-d417-0410-9af5-da40c76e7ee4https://lab.nexedi.com/nexedi/neoppod/-/commit/37935329d4851fed3ecad3f006719b46173846dcThere is no need to call keys() on a dict to know its len.2009-06-22T08:27:40+00:00Vincent Pelletiervincent@nexedi.com
git-svn-id: <a href="https://svn.erp5.org/repos/neo/branches/prototype3@643" rel="nofollow noreferrer noopener" target="_blank">https://svn.erp5.org/repos/neo/branches/prototype3@643</a> 71dcc9de-d417-0410-9af5-da40c76e7ee4