def replication_with_firewall_enabled(self): self.src_cluster.set_xdcr_param("xdcrFailureRestartInterval", 1) self.setup_xdcr_and_load() self.perform_update_delete() NodeHelper.enable_firewall(self.dest_master) self.sleep(30) NodeHelper.disable_firewall(self.dest_master) self.verify_results()
def replication_with_firewall_enabled(self): self.src_cluster.set_xdcr_param("xdcrFailureRestartInterval", 1) self.setup_xdcr_and_load() self.perform_update_delete() NodeHelper.enable_firewall(self.dest_master) self.sleep(30) NodeHelper.disable_firewall(self.dest_master) self.verify_results()
def test_verify_mb20463(self): src_version = NodeHelper.get_cb_version( self.src_cluster.get_master_node()) if float(src_version[:3]) != 4.5: self.log.info("Source cluster has to be at 4.5 for this test") return servs = self._input.servers[2:4] params = {} params['num_nodes'] = len(servs) params['product'] = 'cb' params['version'] = '4.1.2-6088' params['vbuckets'] = [1024] self.log.info("will install {0} on {1}".format('4.1.2-6088', [s.ip for s in servs])) InstallerJob().parallel_install(servs, params) if params['product'] in ["couchbase", "couchbase-server", "cb"]: success = True for server in servs: success &= RemoteMachineShellConnection( server).is_couchbase_installed() if not success: self.fail( "some nodes were not installed successfully on target cluster!" ) self.log.info("4.1.2 installed successfully on target cluster") conn = RestConnection(self.dest_cluster.get_master_node()) conn.add_node(user=self._input.servers[3].rest_username, password=self._input.servers[3].rest_password, remoteIp=self._input.servers[3].ip) self.sleep(30) conn.rebalance(otpNodes=[node.id for node in conn.node_statuses()]) self.sleep(30) conn.create_bucket(bucket='default', ramQuotaMB=512) tasks = self.setup_xdcr_async_load() self.sleep(30) NodeHelper.enable_firewall(self.dest_master) self.sleep(30) NodeHelper.disable_firewall(self.dest_master) for task in tasks: task.result() self._wait_for_replication_to_catchup(timeout=600) self.verify_results()
def test_capi_with_advanced_settings(self): batch_count = self._input.param("batch_count", 10) batch_size = self._input.param("batch_size", 2048) source_nozzle = self._input.param("source_nozzle", 2) target_nozzle = self._input.param("target_nozzle", 2) enable_firewall = self._input.param("enable_firewall", False) capi_data_chan_size_multi = self._input.param( "capi_data_chan_size_multi", None) if capi_data_chan_size_multi: shell = RemoteMachineShellConnection(self.src_master) command = "curl -X POST -u Administrator:password http://127.0.0.1:9998/xdcr/internalSettings " + \ "-d CapiDataChanSizeMultiplier=" + str(capi_data_chan_size_multi) output, error = shell.execute_command(command) shell.log_command_output(output, error) repl_id = self._start_es_replication( xdcr_params={ 'workerBatchSize': str(batch_count), 'docBatchSizeKb': str(batch_size), 'sourceNozzlePerNode': str(source_nozzle), 'targetNozzlePerNode': str(target_nozzle) }) rest_conn = RestConnection(self.src_master) rest_conn.pause_resume_repl_by_id(repl_id, REPL_PARAM.PAUSE_REQUESTED, 'true') gen = DocumentGenerator('es', '{{"key":"value","mutated":0}}', xrange(100), start=0, end=self._num_items) self.src_cluster.load_all_buckets_from_generator(gen) rest_conn.pause_resume_repl_by_id(repl_id, REPL_PARAM.PAUSE_REQUESTED, 'false') if enable_firewall: NodeHelper.enable_firewall(self.dest_cluster.get_master_node()) self.sleep(120) NodeHelper.disable_firewall(self.dest_cluster.get_master_node()) self._wait_for_es_replication_to_catchup() self._verify_es_results()
def test_verify_mb20463(self): src_version = NodeHelper.get_cb_version(self.src_cluster.get_master_node()) if float(src_version[:3]) != 4.5: self.log.info("Source cluster has to be at 4.5 for this test") return servs = self._input.servers[2:4] params = {} params['num_nodes'] = len(servs) params['product'] = 'cb' params['version'] = '4.1.2-6088' params['vbuckets'] = [1024] self.log.info("will install {0} on {1}".format('4.1.2-6088', [s.ip for s in servs])) InstallerJob().parallel_install(servs, params) if params['product'] in ["couchbase", "couchbase-server", "cb"]: success = True for server in servs: success &= RemoteMachineShellConnection(server).is_couchbase_installed() if not success: self.fail("some nodes were not installed successfully on target cluster!") self.log.info("4.1.2 installed successfully on target cluster") conn = RestConnection(self.dest_cluster.get_master_node()) conn.add_node(user=self._input.servers[3].rest_username, password=self._input.servers[3].rest_password, remoteIp=self._input.servers[3].ip) self.sleep(30) conn.rebalance(otpNodes=[node.id for node in conn.node_statuses()]) self.sleep(30) conn.create_bucket(bucket='default', ramQuotaMB=512) tasks = self.setup_xdcr_async_load() self.sleep(30) NodeHelper.enable_firewall(self.dest_master) self.sleep(30) NodeHelper.disable_firewall(self.dest_master) for task in tasks: task.result() self._wait_for_replication_to_catchup(timeout=600) self.verify_results()
def test_capi_with_advanced_settings(self): batch_count = self._input.param("batch_count", 10) batch_size = self._input.param("batch_size", 2048) source_nozzle = self._input.param("source_nozzle", 2) target_nozzle = self._input.param("target_nozzle", 2) enable_firewall = self._input.param("enable_firewall", False) capi_data_chan_size_multi = self._input.param("capi_data_chan_size_multi", None) if capi_data_chan_size_multi: shell = RemoteMachineShellConnection(self.src_master) command = "curl -X POST -u Administrator:password http://127.0.0.1:9998/xdcr/internalSettings " + \ "-d CapiDataChanSizeMultiplier=" + str(capi_data_chan_size_multi) output, error = shell.execute_command(command) shell.log_command_output(output, error) repl_id = self._start_es_replication() rest_conn = RestConnection(self.src_master) rest_conn.set_xdcr_param('default', 'default', 'workerBatchSize', batch_count) rest_conn.set_xdcr_param('default', 'default', 'docBatchSizeKb', batch_size) rest_conn.set_xdcr_param('default', 'default', 'sourceNozzlePerNode', source_nozzle) rest_conn.set_xdcr_param('default', 'default', 'targetNozzlePerNode', target_nozzle) rest_conn.pause_resume_repl_by_id(repl_id, REPL_PARAM.PAUSE_REQUESTED, 'true') gen = DocumentGenerator('es', '{{"key":"value","mutated":0}}', xrange(100), start=0, end=self._num_items) self.src_cluster.load_all_buckets_from_generator(gen) rest_conn.pause_resume_repl_by_id(repl_id, REPL_PARAM.PAUSE_REQUESTED, 'false') if enable_firewall: NodeHelper.enable_firewall(self.dest_cluster.get_master_node()) self.sleep(120) NodeHelper.disable_firewall(self.dest_cluster.get_master_node()) self._verify_es_results()