File tree Expand file tree Collapse file tree 1 file changed +30
-1
lines changed Expand file tree Collapse file tree 1 file changed +30
-1
lines changed Original file line number Diff line number Diff line change @@ -342,6 +342,35 @@ def leader(self):
342342 except Exception as e :
343343 raise etcd .EtcdException ("Cannot get leader data: %s" % e )
344344
345+ def addmember (self , memberuri ):
346+ """
347+ add a member to the cluster
348+
349+ Args:
350+ memberuri (str): new member's address as a uri
351+
352+ Returns:
353+ dict with id and peerURLs as documented at https://coreos.com/etcd/docs/latest/v2/members_api.html#add-a-member
354+
355+ """
356+ try :
357+ return self .api_execute_json (self .version_prefix + '/members' , self ._MPOST , {"peerURLs" :[memberuri ]}).data .decode ('utf-8' )
358+ except Exception as e :
359+ raise etcd .EtcdException ("Cannot add member: %s" % e )
360+
361+ def deletemember (self , memberid ):
362+ """
363+ add a member to the cluster
364+
365+ Args:
366+ memberid (str): member id to delete
367+
368+ """
369+ try :
370+ self .api_execute (self .version_prefix + '/members/%s' % memberid , self ._MDELETE )
371+ except Exception as e :
372+ raise etcd .EtcdException ("Cannot delete member: %s" % e )
373+
345374 @property
346375 def stats (self ):
347376 """
@@ -937,7 +966,7 @@ def _check_cluster_id(self, response):
937966
938967 def _handle_server_response (self , response ):
939968 """ Handles the server response """
940- if response .status in [200 , 201 ]:
969+ if response .status in [200 , 201 , 204 ]:
941970 return response
942971
943972 else :
You can’t perform that action at this time.
0 commit comments