def provide_index(opts, source_spec, source_bucket, source_map): err, index_server = pump.filter_server(opts, source_spec, 'index') if err or not index_server: logging.warning("could not find index server:%s" % err) return 0, None spec_parts = source_map.get('spec_parts') if not spec_parts: return "error: no design spec_parts", None host, port, user, pswd, path = spec_parts host, port = pump.hostport(index_server) err, ddocs_json, ddocs = \ pump.rest_request_json(host, couchbaseConstants.INDEX_PORT, user, pswd, opts.ssl, "/getIndexMetadata?bucket=%s" % (source_bucket['name']), reason="provide_index") if err: return err, None return 0, json.dumps(ddocs["result"])
return rv @staticmethod def consume_index(opts, sink_spec, sink_map, source_bucket, source_map, source_design): if not source_design: return 0 try: sd = json.loads(source_design) if not sd: return 0 print json.dumps(sd, indent=2) except ValueError, e: return "error: could not parse source design; exception: %s" % (e) err, index_server = pump.filter_server(opts, sink_spec, 'index') if err or not index_server: logging.error("could not find index server") return 0 spec_parts = pump.parse_spec(opts, sink_spec, 8091) if not spec_parts: return "error: design sink no spec_parts: " + sink_spec host, port, user, pswd, path = spec_parts host,port = pump.hostport(index_server) sink_bucket = sink_map['buckets'][0] url = "/restoreIndexMetadata?bucket=%s" % sink_bucket['name'] #post_headers = {"Content-type": "application/x-www-form-urlencoded"} err, conn, response = \ pump.rest_request(host, couchbaseConstants.INDEX_PORT, user, pswd, opts.ssl, url, method='POST',
self.sink_map = new_sink_map return rv @staticmethod def consume_index(opts, sink_spec, sink_map, source_bucket, source_map, source_design): if not source_design: return 0 try: sd = json.loads(source_design) if not sd: return 0 except ValueError, e: return "error: could not parse source design; exception: %s" % (e) err, index_server = pump.filter_server(opts, sink_spec, 'index') if err or not index_server: logging.error("could not find index server") return 0 spec_parts = pump.parse_spec(opts, sink_spec, 8091) if not spec_parts: return "error: design sink no spec_parts: " + sink_spec host, port, user, pswd, path = spec_parts host, port = pump.hostport(index_server) sink_bucket = sink_map['buckets'][0] url = "/restoreIndexMetadata?bucket=%s" % sink_bucket['name'] err, conn, response = \ pump.rest_request(host, couchbaseConstants.INDEX_PORT, user, pswd, opts.ssl, url, method='POST', #body=urllib.urlencode(sd),
self.sink_map = new_sink_map return rv @staticmethod def consume_index(opts, sink_spec, sink_map, source_bucket, source_map, source_design): if not source_design: return 0 try: sd = json.loads(source_design) if not sd: return 0 except ValueError, e: return "error: could not parse source design; exception: %s" % (e) err, index_server = pump.filter_server(opts, sink_spec, 'index') if err or not index_server: logging.error("could not find index server") return 0 spec_parts = pump.parse_spec(opts, sink_spec, 8091) if not spec_parts: return "error: design sink no spec_parts: " + sink_spec host, port, user, pswd, path = spec_parts host,port = pump.hostport(index_server) sink_bucket = sink_map['buckets'][0] url = "/restoreIndexMetadata?bucket=%s" % sink_bucket['name'] err, conn, response = \ pump.rest_request(host, couchbaseConstants.INDEX_PORT, user, pswd, opts.ssl, url, method='POST', #body=urllib.urlencode(sd),