def clear(self):
'''
couchbase-cli
To clear all data in bucket. use command couchbase-cli on Couchbase Server,
/opt/couchbase/bin/couchbase-cli bucket-flush -u admin -p password -c 127.0.0.1:8091 -b bucket --force
Couchbase Command Line tools
folder /opt/couchbase/lib/python could be copied to other host
or get from GitHub
> git clone https://github.com/couchbase/couchbase-cli.git
execute:
> python couchbase-cli bucket-flush -u admin -p password -c 192.168.12.13:8091 -b bucket --force
import os,os.path
#if self._couchbase_cli == '':
if True:
log.error( 'CouchbaseError: please using couchbase-cli instead\n'
'couchbase-cli on GitHub\n'
'https://github.com/couchbase/couchbase-cli.git' )
return False
else:
# Always 'Permission denied' ?
return os.system( 'python %s bucket-flush -u %s -p %s -c %s -b %s --force'%
( path.normpath( self._couchbase_cli + '/couchbaase-cli' ),
self._options.get( 'admin','' ),
self._options.get( 'admin-pwd', '' ),
self._server[0], self._bucket ) )== 0
'''
import urllib3
conn = urllib3.connection_from_url(self._server[0], block=True, maxsize=100)
endpoint = '/pools/default/buckets/%s/controller/doFlush' % self._bucket
res = conn.urlopen(url=endpoint, method='POST', headers=urllib3.make_headers(basic_auth = self._options.get( 'admin:pwd', '' ),))
if len(res.data) == 0:
return True
else:
# '{"_":"Flush is disabled for the bucket"}'
# 'Requested resource not found.\r\n' REST error
try:
j = json.loads( res.data )
msg = j.get( '-' )
except Exception as e:
msg = res.data
log.error( "CouchbaseError: clear fail..: %s" % ( msg ) )
return False
评论列表
文章目录