public void createBucket(BucketSettings bucketSetting, UserSettings userSettings, boolean primaryIndex) { ClusterManager clusterManager = getCouchbaseCluster().clusterManager(clusterUsername, clusterPassword); // Insert Bucket BucketSettings bucketSettings = clusterManager.insertBucket(bucketSetting); try { // Insert Bucket user clusterManager.upsertUser(AuthDomain.LOCAL, bucketSetting.name(), userSettings); } catch (Exception e) { logger().warn("Unable to insert user '" + bucketSetting.name() + "', maybe you are using older version"); } if (index) { Bucket bucket = getCouchbaseCluster().openBucket(bucketSettings.name(), bucketSettings.password()); new CouchbaseQueryServiceWaitStrategy(bucket).waitUntilReady(this); if (primaryIndex) { bucket.query(Index.createPrimaryIndex().on(bucketSetting.name())); } } }
@Override protected void validate(List<TableInfo> tableInfos) { if (!clusterManager.hasBucket(databaseName)) { throw new SchemaGenerationException("Bucket [" + databaseName + "] does not exist."); } }
/** * Get the major version of Couchbase server, that is 4.x or 5.x * * @return */ protected int getMajorVersion() { return this.cluster.authenticate(this.passwordAuthenticator).clusterManager().info(5,TimeUnit.SECONDS).getMinVersion().major(); }
private void createBucket(String database, Map<String, Object> customOptions) { final ClusterManager clusterManager = couchbaseCluster .clusterManager((String) customOptions.get(CouchbaseOptions.CLUSTER_USERNAME), (String) customOptions.get(CouchbaseOptions.CLUSTER_PASSWORD)); if (!clusterManager.hasBucket(database)) { // Create Bucket final DefaultBucketSettings.Builder bucketBuilder = DefaultBucketSettings.builder() .enableFlush(true) .name(database); if (isBucketPasswordSet(customOptions)) { bucketBuilder.password((String) customOptions.get(CouchbaseOptions.BUCKET_PASSWORD)); } clusterManager.insertBucket(bucketBuilder.build()); await() .atMost(60, TimeUnit.SECONDS) .until(() -> clusterManager.hasBucket(database)); } }
/** * Adds the bucket. * * @param name * the name */ private void addBucket(String name) { String qouta = csmd.getBucketProperty("bucket.quota"); int bucketQuota = qouta != null ? Integer.parseInt(qouta) : DEFAULT_RAM_SIZE_IN_MB; BucketSettings bucketSettings = new DefaultBucketSettings.Builder().type(BucketType.COUCHBASE).name(name) .quota(bucketQuota).build(); try { clusterManager.insertBucket(bucketSettings); LOGGER.info("Bucket [" + name + "] is added!"); } catch (CouchbaseException ex) { LOGGER.error("Not able to add bucket [" + name + "].", ex); throw new KunderaException("Not able to add bucket [" + name + "].", ex); } }
public void tearDown(CouchbaseBuildDefinition buildDefinition) { Cluster cluster = getCluster(hosts); closeBucket(buildDefinition.getBucketName()); ClusterManager clusterManager = cluster.clusterManager(buildDefinition.getAdminUsername(), buildDefinition.getAdminPasssword()); try { if (clusterManager.hasBucket(buildDefinition.getBucketName())) { clusterManager.removeBucket(buildDefinition.getBucketName()); } } catch (RuntimeException e) { if (e.getCause() != null && e.getCause() instanceof ConnectException) { LOG.warn("Could not connect to Couchbase: {}", e.getCause().getMessage()); } else { throw e; } } } }
/** * Removes the bucket. * * @param name * the name */ private void removeBucket(String name) { try { if (clusterManager.removeBucket(name)) { LOGGER.info("Bucket [" + name + "] is removed!"); } else { LOGGER.error("Not able to remove bucket [" + name + "]."); throw new KunderaException("Not able to remove bucket [" + name + "]."); } } catch (CouchbaseException ex) { LOGGER.error("Not able to remove bucket [" + name + "].", ex); throw new KunderaException("Not able to remove bucket [" + name + "].", ex); } }
private void connectToBucket() { if (createBucket) { final ClusterManager clusterManager = couchbaseCluster.clusterManager(this.clusterUsername, this.clusterPassword); if (! clusterManager.hasBucket(this.bucketName)) { // Create Bucket final DefaultBucketSettings defaultBucketSettings = DefaultBucketSettings.builder() .enableFlush(true) .name(bucketName).build(); clusterManager.insertBucket(defaultBucketSettings); await() .atMost(30, TimeUnit.SECONDS) .until(() -> clusterManager.hasBucket(bucketName)); } } if (this.bucketPassword != null) { this.bucket = couchbaseCluster.openBucket(this.bucketName, this.bucketPassword); } else { this.bucket = couchbaseCluster.openBucket(this.bucketName); } }
private void createBucket(ClusterManager clusterManager, CouchbaseBuildDefinition buildDefinition) { LOG.info("Creating bucket '{}'", buildDefinition.getBucketName()); BucketSettings bucketSettings = new DefaultBucketSettings.Builder() .type(BucketType.COUCHBASE) .name(buildDefinition.getBucketName()) .password(buildDefinition.getBucketPassword()) .quota(buildDefinition.getBucketSizeInMB()) .build(); clusterManager.insertBucket(bucketSettings); LOG.debug("Bucket '{}' created", buildDefinition.getBucketName()); }
public static int getVersion(CouchbaseContainer couchbase) { return couchbase.getCouchbaseCluster().clusterManager(USERNAME, PASSWORD).info(1, TimeUnit.SECONDS).getMinVersion().major(); }
public void createBucket(BucketSettings bucketSetting, boolean primaryIndex) { ClusterManager clusterManager = getCouchbaseCluster().clusterManager(clusterUsername, clusterPassword); // Insert Bucket BucketSettings bucketSettings = clusterManager.insertBucket(bucketSetting); // Insert Bucket admin user UserSettings userSettings = UserSettings.build() .password(bucketSetting.password()) .roles(Collections.singletonList(new UserRole("bucket_admin", bucketSetting.name()))); try { clusterManager.upsertUser(AuthDomain.LOCAL, bucketSetting.name(), userSettings); } catch (Exception e) { logger().warn("Unable to insert user '" + bucketSetting.name() + "', maybe you are using older version"); } if (index) { Bucket bucket = getCouchbaseCluster().openBucket(bucketSettings.name(), bucketSettings.password()); new CouchbaseQueryServiceWaitStrategy(bucket).waitUntilReady(this); if (primaryIndex) { bucket.query(Index.createPrimaryIndex().on(bucketSetting.name())); } } }
@Override protected void update(List<TableInfo> tableInfos) { if (!clusterManager.hasBucket(databaseName)) { addBucket(databaseName); createIdIndex(databaseName); } }
@Override protected ClusterInfo createInstance() throws Exception { return cluster.clusterManager(login, password).info(); }
@Override protected void create(List<TableInfo> tableInfos) { if (clusterManager.hasBucket(databaseName)) { /* * Removing bucket will drop indexes too * */ removeBucket(databaseName); } addBucket(databaseName); createIdIndex(databaseName); }
@Override protected ClusterInfo createInstance() throws Exception { return cluster.clusterManager(login, password).info(); }
public void setUp(CouchbaseBuildDefinition buildDefinition) { Cluster cluster = getCluster(hosts); ClusterManager clusterManager = cluster.clusterManager(buildDefinition.getAdminUsername(), buildDefinition.getAdminPasssword()); waitFor(this::couchbaseHealthy, hosts[0], buildDefinition); if (!clusterManager.hasBucket(buildDefinition.getBucketName())) { createBucket(clusterManager, buildDefinition); } waitFor(this::couchbaseHealthy, hosts[0], buildDefinition); Bucket bucket = openBucket(buildDefinition.getBucketName(), buildDefinition.getBucketPassword(), hosts); waitFor(this::couchbaseHealthy, hosts[0], buildDefinition); waitFor(this::createMapReduceViews, bucket, buildDefinition); waitFor(this::createSpatialViews, bucket, buildDefinition); waitFor(this::createPrimaryIndex, bucket, buildDefinition); createFullTextIndex(cluster, bucket, buildDefinition); // bucket.close(); }
public static Version requireCouchbaseVersion(CouchbaseCluster cluster, Version requiredVersion) { final Version actualVersion = cluster.clusterManager().info().getMinVersion(); if (actualVersion.compareTo(requiredVersion) < 0) { throw new RuntimeException("Couchbase Server version " + requiredVersion + " or later required; actual version is " + actualVersion); } return actualVersion; } }
@Override @Bean(name = BeanNames.COUCHBASE_CLUSTER_INFO) public ClusterInfo couchbaseClusterInfo() throws Exception { return couchbaseCluster().clusterManager(getUsername(), getBucketPassword()).info(); }
@Override @Bean(name = BeanNames.COUCHBASE_CLUSTER_INFO) public ClusterInfo couchbaseClusterInfo() throws Exception { return couchbaseCluster().clusterManager(getUsername(), getBucketPassword()).info(); }
@Override @Bean(name = BeanNames.COUCHBASE_CLUSTER_INFO) public ClusterInfo couchbaseClusterInfo() throws Exception { return couchbaseCluster().clusterManager(getUsername(), getBucketPassword()).info(); }