Skip to content

Commit 92a3497

Browse files
ayesharustgi-delphixankurtyagi-sdkpioroMarcin Przepiorowski
authored
CE-338 Master updation with latest code base as of 25/05/2023 (#43)
CE-337 Creation and updation of 'develop' branch with latest codebase (#42) * DXE-683 Rename Select Connector - CouchBase * Version 1.1.1 (#31) * initial support for using non couchbase user through sudo * issue #22 - initial deployment, index support changes for backup ingestion, various fixes * partial work * cbbackupmgr working with sudo, bucket list in snapshot in JSON * version 1.0.2 * fixing uid/gid regex * version 1.0.3 - error messages fix * ver 1.0.3.1 * ver 1.0.3.2 - sudo for all * resync of xdcr and backupmgr OK * workinf with copy config * working with indexes - tested with backup only - ee, analytics removed from schema * add end of multi cluster * working multinode * checks added, upgrade added * version 1.1.0 build 0 * check mount points / doc updates * cbbackup exit code check * xdcr fixed for multi IP, and different scenarios * v1.1.1 build 1.1.0.2 * v1.1.0 build 1.1.0.2 * version 1.1.1 - added field for hostname * Issue #32 - multinode start * version 1.1.2 * Set theme jekyll-theme-minimal * doc fixes * new logo * proper style * docs with multi node * DXE-988 Couchbase - VDB failed to enable (#36) * CE-59 Couchbase Plugin : Conversion of python2 to python3 (#38) * CE-332 Disable python2.7 unit tests on couchbase repository (#41) * unit test upgrade to python3.8 PR URL: https://www.github.com/delphix/couchbase-plugin/pull/41 * unit test upgrade to python3.8 * removing python2.7 tests * fixing python version to python3.8 for pytest * disabling unit tests in github workflows * reverting changes in test --------- Co-authored-by: atyagi <ankur.tyagi@delphix.com> Co-authored-by: Marcin Przepiorowski <pioro1@gmail.com> Co-authored-by: Marcin Przepiorowski <marcin@delphix.com>
1 parent 279c805 commit 92a3497

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+3106
-1044
lines changed

docs/_config.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
theme: jekyll-theme-minimal

docs/docs/.pages

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
arrange:
22
- Overview: 'index.md'
33
- [Installation]: 'Installation.md'
4-
- PluginDevelopment : 'PluginDevelopment.md'
54
- Discovery: 'Discovery.md'
65
- Linking: 'Linking.md'
76
- Provisioning: 'Provisioning.md'

docs/docs/Discovery.md

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -5,33 +5,27 @@ Environment discovery is a process that enables the Couchbase Plugin to determin
55
. Whenever there is any change (installing a new database home) to an already set up environment in the Delphix application, we need to perform an environment refresh.
66

77

8-
Prerequisites
9-
=============
8+
## Prerequisites
109

11-
- A source environment must be added to the Delphix Engine.
10+
- A stagine or target environment must be added to the Delphix Engine.
1211
- Installation of the Couchbase Plugin is required before the Discovery.
1312
- Environment variable `$COUCHBASE_PATH ` should set on staging/target host, which contains the binary path of Couchbase.
1413

1514

16-
Refreshing an Environment
17-
=========================
18-
Environment refresh will update the metadata associated with that environment and send a new Plugin to the host.
15+
### Configuring a staging environment
1916

20-
1. Login to the **Delphix Management** application.
21-
2. Click **Manage**.
22-
3. Select **Environments**.
23-
4. In the Environments panel, click the name of the environment you want to refresh.
24-
5. Select the **Refresh** icon.
25-
6. In the Refresh confirmation dialog select **Refresh**.
17+
Environments contain repositories, and each environment may have any number of repositories associated with it.
18+
Couchbase is limiting number of Couchbase binaries installed on server to one, and in that case each environment will contain
19+
a single repository with current Couchbase installation.
20+
21+
Repository contains database instances and in each repository any number of source cluster can be configured.
22+
Please keep in mind that only one dSource can be enabled simiultaniusly on a given staging server.
2623

27-
![Screenshot](/couchbase-plugin/image/image9.png)
24+
For next step go to XDCR Setup or Backup Setup sections below
2825

26+
### XDCR Setup
2927

30-
XDCR Setup
31-
===================
32-
Environments exist to contain `repositories`, and each environment may have any number of repositories associated with it.
33-
`Repository` contains database instances and in each repository any number of `SourceConfig` objects, which represent known database instances. Source config is not generated automatically in
34-
Couchbase plugin. Therefore, we need to add `SourceConfig` object through which can create a dSource.
28+
By default Couchbase cluster are not discovered and has to be added manually using the following steps:
3529

3630
1. Login to the **Delphix Management** application.
3731
2. Click **Manage**.
@@ -40,40 +34,46 @@ Environments exist to contain `repositories`, and each environment may have any
4034
5. Click on **+** icon (Shown in next image).
4135

4236

43-
![Screenshot](/couchbase-plugin/image/image10.png)
37+
![Screenshot](./image/add_repository.png)
4438

4539

4640
6. Add required details in the `Add database` section.
4741
- Enter port number in **Source Couchbase port** section.
48-
- Enter source host address in section **Source Host**.
42+
- Enter source host address in section **Source Host** ( this will be used as Source cluster for XDCR replication )
4943
- Enter unique name for the staging database in **identify field** section.
5044
- Enter Couchbase data path of staging host in **DB data path** section.
5145

5246

53-
![Screenshot](/couchbase-plugin/image/image11.png)
54-
47+
![Screenshot](./image/add_sourceconfig_xdcr.png)
5548

56-
CBBACKUPMGR Setup
57-
=================
49+
### Backup Setup
5850

59-
The steps to add source config remain the same as we saw in XDCR setup. In this approach, we don't connect to source environment as this is zero-touch production approach.
60-
We can enter any random or dummy value in this field of source host name when we choose CBBACKUPMGR option for data ingestion.
51+
By default Couchbase clusters are not discovered and has to be added manually using the following steps:
6152

6253
1. Login to the **Delphix Management** application.
6354
2. Click **Manage**.
6455
3. Select **Environments**.
6556
4. Select the repository.
66-
5. Click on **+** icon (Shown in next image).
67-
![Screenshot](/couchbase-plugin/image/image10.png)
57+
5. Click on **+** icon (Shown in next image).
6858

69-
6. In the **Add Database** section enter the following information:
70-
- `Source Couchbase port`: This is the port number to be used by Couchbase services.
71-
- `Source Host`: Leave this field as blank.
72-
- `identity field`: Provide unique name for staging database.
73-
- `DB data path`: Leave this field as blank.
59+
![Screenshot](./image/add_repository.png)
7460

61+
6. Add required details in the `Add database` section.
62+
- Enter port number in **Source Couchbase port** section ( this can be any dummy number - this field is not used for backup based ingestion )
63+
- Enter source host address in section **Source Host** ( this can be any dummy number - this field is not used for backup based ingestion )
64+
- Enter unique name for the staging database in **identify field** section.
65+
- Enter Couchbase data path of staging host in **DB data path** section.
7566

76-
![Screenshot](/couchbase-plugin/image/image11.png)
7767

68+
## Refreshing an Environment
69+
Environment refresh will update the metadata associated with that environment and send a new Plugin to the host.
70+
71+
1. Login to the **Delphix Management** application.
72+
2. Click **Manage**.
73+
3. Select **Environments**.
74+
4. In the Environments panel, click the name of the environment you want to refresh.
75+
5. Select the **Refresh** icon.
76+
6. In the Refresh confirmation dialog select **Refresh**.
7877

78+
![Screenshot](./image/add_sourceconfig_backup.png)
7979

docs/docs/Installation.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,22 +14,22 @@ Method1: Using GUI
1414
------------------
1515

1616
1. Click on **Manage** (present on top-left of this page) and then **Plugins**.
17-
![Screenshot](/couchbase-plugin/image/image2.png)
17+
![Screenshot](./image/image2.png)
1818

1919
2. Click on **+** icon.
20-
![Screenshot](/couchbase-plugin/image/image3.png)
20+
![Screenshot](./image/image3.png)
2121

2222
3. Click on **Upload** a plugin.
23-
![Screenshot](/couchbase-plugin/image/image4.png)
23+
![Screenshot](./image/image4.png)
2424

2525
4. Select the `build(artifacts.json)` from your device.
26-
![Screenshot](/couchbase-plugin/image/image5.png)
26+
![Screenshot](./image/image5.png)
2727

2828
5. Click on **close** button.
29-
![Screenshot](/couchbase-plugin/image/image6.png)
29+
![Screenshot](./image/image6.png)
3030

3131
6. See the plugin version in **Plugins** section.
32-
![Screenshot](/couchbase-plugin/image/image7.png)
32+
![Screenshot](./image/image7.png)
3333

3434

3535
Method2: Using dvp command

docs/docs/Linking.md

Lines changed: 103 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -4,90 +4,140 @@ Linking a data source will create a dSource object on the engine and allow Delph
44

55

66

7-
Prerequisites
8-
=============
7+
## Prerequisites
98

10-
Discovery and source config object should be created on the staging host before proceeding to link Couchbase dataset.
11-
12-
13-
Creating dSource
14-
==============
9+
Staging environment created and source database configured in discovered repository
1510

11+
## Creating dSource using XDCR
1612

1713
1. Login to **Delphix Management** application.
1814
2. Click **Manage** > **Datasets**.
1915
3. Select **Add dSource**.
2016
4. In the Add dSource wizard, select the Couchbase source configuration which is created on the staging host.
2117
5. Enter the Couchbase-specific parameters for your dSource configuration.
22-
6. Select the dSource approach from the drop-down (XDCR and Couchbase Backup Manager) available on dSource wizard.
18+
6. Select the dSource type XDCR from the drop-down available on dSource wizard.
2319
7. Based on approach selection, follow the steps either for XDCR or Couchbase Backup Manager method. The Description of both methods is below.
24-
25-
26-
Method1: XDCR
27-
--------------
28-
Cross datacenter replication allows data to be replicated across clusters that are potentially located in different data centers.
29-
30-
31-
1. Enter the details for **Staging Couchbase host** - FQDN or IP address recommended.
32-
2. Enter the details for **Staging Port Number** available on the staging host. The default port for couchbase is 8091.
33-
3. Enter the details for **Mount Path** available on the staging host. This empty folder acts as a base for NFS mounts.
34-
4. Enter the details for **Staging Cluster Name** to setup new cluster on the staging host.
35-
5. Enter the configuration details for your staging cluster as per resource availability on the staging host.
20+
8. Enter the details for **Staging Couchbase host** - FQDN or IP address recommended.
21+
9. Enter the details for **Staging Port Number** available on the staging host. The default port for couchbase is 8091.
22+
10. Enter the details for **Mount Path** available on the staging host. This empty folder acts as a base for NFS mounts.
23+
11. Enter the details for **Staging Cluster Name** to setup new cluster on the staging host.
24+
12. Enter the configuration details for your staging cluster as per resource availability on the staging host.
3625
- Cluster RAM Size
3726
- Cluster Index RAM Size
3827
- Cluster FTS RAM Size
39-
- Cluster Eventing RAM Size
40-
- Cluster Analysis RAM Size
41-
![Screenshot](/couchbase-plugin/image/image12.png)
28+
- Cluster Eventing RAM Size - this should be 0
29+
- Cluster Analysis RAM Size - this should be 0
4230

43-
6. Click on **+** plus symbol to modify configuration settings. Mention bucket list for which cross datacenter replication (XDCR) only be enabled.
44-
![Screenshot](/couchbase-plugin/image/image14.png)
31+
![Screenshot](./image/add_dsource_1.png)
4532

46-
7. Enter the details of **Bucket Name** to be part of XDCR. Then click on **Next** button
47-
![Screenshot](/couchbase-plugin/image/image15.png)
33+
13. Enter the details for **Staging Cluster Admin User** and **Staging Cluster Admin Password**
34+
14. Enter the details for **Source Cluster Admin User** and **Source Cluster Admin Password**
4835

49-
8. Provide the details for **dSource Name** and **Target group** on the dSource configuration page.
50-
![Screenshot](/couchbase-plugin/image/image16.png)
36+
![Screenshot](./image/add_dsource_2.png)
5137

52-
9. On the **Data management** page, select the following:
38+
15. If not all buckets needs to be replicated, click on **+** plus symbol to modify configuration settings. Mention bucket list for which cross datacenter replication (XDCR) only be enabled.
39+
![Screenshot](./image/image14.png)
40+
41+
16. Enter the details of **Bucket Name** to be part of XDCR. Then click on **Next** button
42+
![Screenshot](./image/image15.png)
43+
44+
17. Provide the details for **dSource Name** and **Target group** on the dSource configuration page.
45+
![Screenshot](./image/add_dsource_3.png)
46+
47+
18. On the **Data management** page, select the following:
5348
- Staging Environment: This will be your staging host where source config was created.
5449
- User: Database OS user with required privileges for linking the dataset.
55-
10. On the next section, review the configuration and click on **Next** button to view the summary.
56-
11. Click the **Submit** button which will initiate the linking process.
57-
![Screenshot](/couchbase-plugin/image/image17.png)
58-
12. Once dSource is created successfully, you can review the datasets on **Manage** > **Datasets** > **dSource Name**.
59-
![Screenshot](/couchbase-plugin/image/image19.png)
6050

51+
![Screenshot](./image/add_dsource_4.png)
52+
53+
19. On the next screens, configure a policy, hooks and review the configuration and click on **Next** button to view the summary.
54+
55+
![Screenshot](./image/add_dsource_5.png)
6156

62-
Method2: Couchbase Backup Manager
63-
---------------------------------------
64-
**Note**: Follow the instructions below before creating dSource to avoid source/production server dependency.
57+
![Screenshot](./image/add_dsource_6.png)
6558

66-
- Provide source server buckets related information in a file: */tmp/couchbase_src_bucket_info.cfg*.
67-
`/opt/couchbase/bin/couchbase-cli bucket-list --cluster <sourcehost>:8091 --username $username --password $password`
6859

69-
- **Backup Repository**: This file will be required at the time of dSource creation using CBBACKUPMGR.
70-
`/opt/couchbase/bin/cbbackupmgr config --archive /u01/couchbase_backup --repo delphix`
60+
20. Click the **Submit** button which will initiate the linking process.
7161

72-
- **Backup Location**: Get data from source host in backup directory of staging host.
73-
`/opt/couchbase/bin/cbbackupmgr backup -a /u01/couchbase_backup -r delphix -c couchbase://<hostname> -u user -p password`
62+
![Screenshot](./image/add_dsource_7.png)
7463

7564

76-
**Procedure**:
65+
21. Once dSource is created successfully, you can review the datasets on **Manage** > **Datasets** > **dSource Name**.
66+
67+
68+
![Screenshot](./image/dsource_ingested.png)
69+
70+
71+
## Creating dSource using backup
72+
73+
Prerequisites:
74+
Access to production backup with those ex. values:
75+
76+
/backup - archive
77+
78+
PROD - repository
79+
80+
```
81+
/opt/couchbase/bin/cbbackupmgr info -a /backup -r PROD
82+
Name | Size | # Backups |
83+
PROD | 58.03MB | 1 |
84+
+ Backup | Size | Type | Source | Cluster UUID | Range | Events | Aliases | Complete |
85+
+ 2022-01-10T11_29_26.465860528-05_00 | 58.03MB | FULL | http://couchbasesrc.dlpxdc.co:8091 | 08f7937a26b2d20178a5ed16d7a2dd1c | N/A | 0 | 0 | true |
86+
```
7787

7888

7989
1. Login to **Delphix Management** application.
8090
2. Click **Manage** > **Datasets**.
8191
3. Select **Add dSource**.
82-
4. In the **Add dSource wizard**, select the Couchbase source configuration you created on the staging host.
92+
4. In the Add dSource wizard, select the Couchbase source configuration which is created on the staging host.
8393
5. Enter the Couchbase-specific parameters for your dSource configuration.
84-
6. Select the dSource type from the drop-down available on dSource wizard.
85-
7. When we select CBBACKUPMGR as dSource Type, the following fields on dSource wizard are mandatory.
86-
- Enter the details for **Backup Location** where the backup files generated through CBBACKUPMGR are present on the staging host.
87-
- Enter the details for **Backup Repository** that contains a backup configuration of staging host.
88-
8. The remaining steps for CBBACKUPMGR ingestion are similar to XDCR. Use steps from the second point mentioned in XDCR method.
94+
6. Select the dSource type Couchbase Backup Manager from the drop-down available on dSource wizard.
95+
7. Based on approach selection, follow the steps either for XDCR or Couchbase Backup Manager method. The Description of both methods is below.
96+
8. Enter the details for **Staging Couchbase host** - FQDN or IP address recommended.
97+
9. Enter the details for **Staging Port Number** available on the staging host. The default port for couchbase is 8091.
98+
10. Enter the details for **Backup Location** available on the staging host.
99+
11. Enter the details for **Backup repository**
100+
12. Enter the details for **Mount Path** available on the staging host. This empty folder acts as a base for NFS mounts.
101+
13. Enter the details for **Staging Cluster Name** to setup new cluster on the staging host.
102+
14. Enter the configuration details for your staging cluster as per resource availability on the staging host.
103+
- Cluster RAM Size
104+
- Cluster Index RAM Size
105+
- Cluster FTS RAM Size
106+
- Cluster Eventing RAM Size - this should be 0
107+
- Cluster Analysis RAM Size - this should be 0
108+
109+
![Screenshot](./image/add_dsource_1backup.png)
110+
111+
15. Enter the details for **Staging Cluster Admin User** and **Staging Cluster Admin Password**
112+
16. Enter dummy values for **Source Cluster Admin User** and **Source Cluster Admin Password** - they are not used
113+
114+
![Screenshot](./image/add_dsource_2backup.png)
115+
116+
17. Then click on **Next** button
117+
118+
17. Provide the details for **dSource Name** and **Target group** on the dSource configuration page.
119+
![Screenshot](./image/add_dsource_3.png)
120+
121+
18. On the **Data management** page, select the following:
122+
- Staging Environment: This will be your staging host where source config was created.
123+
- User: Database OS user with required privileges for linking the dataset.
124+
125+
![Screenshot](./image/add_dsource_4.png)
126+
127+
19. On the next screens, configure a policy, hooks and review the configuration and click on **Next** button to view the summary.
128+
129+
![Screenshot](./image/add_dsource_5.png)
130+
131+
![Screenshot](./image/add_dsource_6.png)
132+
133+
134+
20. Click the **Submit** button which will initiate the linking process.
135+
136+
![Screenshot](./image/add_dsource_7backup.png)
137+
138+
139+
21. Once dSource is created successfully, you can review the datasets on **Manage** > **Datasets** > **dSource Name**.
89140

90-
Note: When we select dSource type as Couchbase Backup Manager, we do not require any details for the `Staging Couchbase Host` field.
91141

92-
![Screenshot](/couchbase-plugin/image/image22.png)
142+
![Screenshot](./image/dsource_ingested.png)
93143

0 commit comments

Comments
 (0)