summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* | | | Remove lock and election modules inclusion.Giuseppe Lavagetto2015-05-12
| | | |
* | | | etcd 2.x compatibility:Giuseppe Lavagetto2015-05-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - Removed the leader election and lock modules (not present anymore) - Added etcd.Client.members to expose the members list - Fixed etcd.Client.leader to work consistently with 2.x - Tons of tests fixes/refactoring, still some issues with SSL
* | | | Remove locking and election modules supportGiuseppe Lavagetto2015-05-10
|/ / / | | | | | | | | | | | | | | | | | | | | | Given the lock and election modules have been removed from etcd in recent, stable versions, there is no point in keeping this code lying around. Instead, we will re-implement both functionalities in our library at a later time. At the moment these just make integration tests fail with etcd 2.0.x
* | | fix python3 testsGiuseppe Lavagetto2015-05-10
| | |
* | | Merge pull request #90 from jplana/fix-failing-connectionGiuseppe Lavagetto2015-05-10
|\ \ \ | |/ / |/| | Fix etcd.Client.machines
| * | Add support for using proxiesGiuseppe Lavagetto2015-05-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The etcd proxies are a nice feature of version 2.x, and they just act as a proxy between the actual cluster and the client. Since there can be cases (like multi-dc or as a way to add high-availability to the client in case of a node failure) where proxies will be used, we allow the user to add a flag to the etcd client so that proxies can be used - in particular, if you decide to use proxies AND our own reconnection feature you will be able to connect only to the list of servers that you passed onto etcd at startup. This is clearly a downgrade compared to what python-etcd normally does (when it figures out by itself not only the failure of a machine, but it will also refresh the list of servers based on the response from the one still active server we found), but has I stated, complex environment may need to use proxies. This commit takes care of that.
| * | Fix etcd.Client.machinesGiuseppe Lavagetto2015-04-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In our old version of the code, etcd.Client.api_execute called Client.machines in case of failure, which called api_execute in return. In the scenario of a client with a list of possible servers, and the first of the list being down, we throw an exception right now, because of this. Using directly urllib3 and skipping api_execute in Client.machines allows us to connect to the first available server. Closes #51
* | | Fixed typo: `test_default_prefix` => `test_set_prefix`.Samuel Marks2015-04-27
| | |
* | | Merge pull request #79 from DevTable/masterGiuseppe Lavagetto2015-04-23
|\ \ \ | | | | | | | | check if ttl is not None in write
| * | | check if ttl is not None in writeJimmy Zelinskie2015-02-23
| |/ / | | | | | | | | | | | | This resolves a bug where if you set the ttl=0, the ttl never gets added.
* | | Correct addition of recursive=trueGiuseppe Lavagetto2015-04-23
| | |
* | | Add recursive to eternal watchersTom Denham2015-04-23
| | |
* | | do not send parameters with `None` value to etcdSkyLothar2015-04-23
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `watch` function will fail and cause `etcd.EtcdException: Unable to decode server response` error. the etcd server actually returns with this error response { "errorCode": 209, "message": "Invalid field", "cause": "invalid value for \"recursive\"", "index": 0 } to fix this, just skip setting query parameter when it's value is None.
* | Clear some leftover debug printsshakim2015-02-22
| |
* | sort lists in recursive testshakim2015-02-22
| |
* | python 3.3 compatibilityshakim2015-02-22
| |
* | Test the new exceptionsshakim2015-02-22
| |
* | message is optional in EtcdException.__init__()shakim2015-02-22
| |
* | fix __contains__shakim2015-02-22
| |
* | Add payload to EtcdException and more elabrated Etcd exceptionsshakim2015-02-22
| | | | | | | | | | | | | | | | | | | | The following exception were added: EtcdKeyError(EtcdException) - Generic Etcd key error EtcdKeyNotFound(EtcdKeyError) - Etcd key not found (100) EtcdNotFile(EtcdKeyError) - Etcd not a file (102) EtcdNotDir(EtcdKeyError) - Etcd not a directory (104) EtcdAlreadyExist(EtcdKeyError) - Etcd already exist (105) EtcdEventIndexCleared(EtcdException) - Etcd event index is outdated and cleared (401)
* | Merge remote-tracking branch 'upstream/master'Sergio Castaño Arteaga2014-12-18
|\|
| * Merge pull request #70 from wooparadog/recursive-watchGiuseppe Lavagetto2014-11-04
| |\ | | | | | | Recursive watch
| | * Recursive watchWooParadog2014-10-30
| | |
| * | adding configurable version_prefixHogenmiller2014-10-17
| |/
* / Forward leaves_only value in get_subtree() recursive callsSergio Castaño Arteaga2014-09-01
|/
* Parse the x-etcd-index and x-raft-index headers to ints before storing themSigmund Augdal2014-04-28
|
* Replacing iterative str lookup with set lookupAleksandar Veselinovic2014-04-21
|
* Removing "None" where 0 is to be used in Lock()Aleksandar Veselinovic2014-04-21
|
* Avoiding not required temporary variable creationAleksandar Veselinovic2014-04-21
|
* Fix eternal nameJose Plana2014-03-21
|
* Make travis work with v0.3.0.Giuseppe Lavagetto2014-03-21
| | | | | | | The etcd build script has chaged the location of the executable so the travis build scripts need to be changed accordingly. Signed-off-by: Giuseppe Lavagetto <lavagetto@gmail.com>
* Add EtcdResult.etcd_index; minor fixes.Giuseppe Lavagetto2014-03-20
| | | | | | | | | | We added EtcdResult.etcd_index and EtcdResult.raft_index as result of parsing response headers from etcd, as requested in #39. Also, we fixed the bug in the etcd.Client.write() response when updating a dir ( #38), which is done by parsing the content of prevNode, which we formerly discarded. Last, this patch makes etcd.Client.update() finally work against directories, working around the unusual behaviour of the etcd server in this respect.
* Merge pull request #37 from jplana/rename-and-extend-childrenGiuseppe Lavagetto2014-03-20
|\ | | | | Rename and extend children
| * Change children to leaves in tests; clarify docsGiuseppe Lavagetto2014-03-20
| | | | | | | | | | | | This closes #30 as well. Signed-off-by: Giuseppe Lavagetto <lavagetto@gmail.com>
| * Added the EtcdResult.leaves property (returning a generator), and theGiuseppe Lavagetto2014-03-18
| | | | | | | | EtcdResult.get_subtree() method to fetch all objects in a recursive fetch.
* | More stringent check on write()Giuseppe Lavagetto2014-03-20
| | | | | | | | Style changes to integration tests
* | add unit and integration testsJoshua Conner2014-03-19
| |
* | client.write(): only send `value` param if `value` is actually set.Joshua Conner2014-03-19
|/ | | | `client.update()` calls to directories were failing because the client sends and empty `value` param with every `client.write()` call. This only sends a `value` param in `client.write()` if `value` is set, which fixes this.
* Merge pull request #33 from jplana/write-accepts-EtcdResultJose Plana2014-03-18
|\ | | | | Write accepts etcd result
| * Documentation update; small pep8 changes to client.pyGiuseppe Lavagetto2014-03-17
| |
| * Adding the update() method that allows atomic updates on resultsGiuseppe Lavagetto2014-03-16
| |
* | Correct delete behaviourGiuseppe Lavagetto2014-03-16
|/
* Adding the atomic delete parameters supportGiuseppe Lavagetto2014-03-15
|
* Add missing documentation for the timeout argsJohn Kristensen2014-03-14
| | | | | Seems as though the documentation was not updated when the timeout args were added.
* Fix timeout param being incorrectly handled in read()John Kristensen2014-03-14
| | | | | | If the timeout param for read() was set to 0 to indicate that the request should not timeout it would actually then be set to None which would instead use the default timeout value.
* Remove duplicate test 'test_default_protocol'John Kristensen2014-03-13
|
* Added consistent read optionRoberto Aguilar2014-02-03
| | | | | In a multi-node cluster, this ensures the returned value is consistent across the cluster (per xiangli via IRC).
* be more liberal in the input accepted by EtcdResult (not at the cost of ↵Giuseppe Lavagetto2014-01-13
| | | | precision).
* adding timeouts in the relevant places.Giuseppe Lavagetto2014-01-13
|
* adding timeouts to read() and api_execute()Giuseppe Lavagetto2014-01-13
|