-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Various Backup and restore improvements #174
Changes from all commits
b395c15
0689fb6
50d4d65
82fc1c5
8ba8c66
6775243
5a75a38
536765d
15e777c
4ed8e25
537376d
8613569
8796aa2
65a997d
095f73d
2d7977a
2b09a1b
495ca59
5dcacaf
513d1ae
ce929c9
c7dd6d1
5640a38
6fd4d7a
4826b33
610bc2a
0a94328
ae8f292
ed07dd3
b1b8d83
fd73670
e1b6d9d
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
#!/bin/sh | ||
#!/bin/bash | ||
|
||
. ${NUODB_HOME}/etc/nuodb_setup.sh | ||
|
||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -229,6 +229,12 @@ The following tables list the configurable parameters of the `database` chart an | |
| `configFilesPath` | Directory path where `configFiles.*` are found | `/etc/nuodb/` | | ||
| `configFiles.*` | See below. | `{}` | | ||
| `podAnnotations` | Annotations to pass through to the SM an TE pods | `nil` | | ||
| `autoImport.*` | Enable and configure the automatic initializing of the initial database state | `disabled` | | ||
| `autoImport.source` | The source - typically a URL - of the database copy to import | `""` | | ||
| `autoImport.credentials` | Authentication for the download of `source` in the form `user`:`password` | '""'| | ||
| `autoImport.stripLevels` | The number of levels to strip off pathnames when unpacking a TAR file of an archive | `1` | | ||
| `autoImport.type` | Type of content in `source`. One of `stream` -> exact copy of an archive; or `backupset` -> a NuoDB hotcopy backupset | 'backupset' | | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Why the name "stream" instead of "archive"? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This was the name originally chosen. I'm not sure about the reason. Effectively |
||
| `autoRestore.*` | Enable and configure the automatic re-initialization of a single archive in a running database - see the options in `autoImport` | `disabled` | | ||
| `sm.logPersistence.enabled` | Whether to enable persistent storage for logs | `false` | | ||
| `sm.logPersistence.overwriteBackoff.copies` | How many copies of the crash directory to keep within windowMinutes | `3` | | ||
| `sm.logPersistence.overwriteBackoff.windowMinutes` | The window within which to keep the number of crash copies | `120` | | ||
|
@@ -242,7 +248,7 @@ The following tables list the configurable parameters of the `database` chart an | |
| `sm.hotcopy.timeout` | Timeout for a started hotcopy job to complete (seconds) | `1800` | | ||
| `sm.hotcopy.successHistory` | Number of successful Jobs to keep | `5` | | ||
| `sm.hotcopy.failureHostory` | Number of failed jobs to keep | `5` | | ||
| `sm.hotcopy.backupDir` | Directory path where backiupsets will be stored | `/var/opt/nuodb/backup` | | ||
| `sm.hotcopy.backupDir` | Directory path where backupsets will be stored | `/var/opt/nuodb/backup` | | ||
| `sm.hotcopy.backupGroup` | Name of the backup group | `{{ .Values.cloud.cluster.name }}` | | ||
| `sm.hotcopy.fullSchedule` | cron schedule for FULL hotcopy jobs | `35 22 * * 6` | | ||
| `sm.hotcopy.incrementalSchedule` | cron schedule for INCREMENTAL hotcopy jobs | `35 22 * * 0-5` | | ||
|
@@ -303,7 +309,20 @@ Any file located in `database.configFilesPath` can be replaced; the YAML key cor | |
| ----- | ----------- | ------ | | ||
| `nuodb.config` | [NuoDB database options][6] | `nil` | | ||
|
||
#### database.serviceSuffix | ||
#### restore.* | ||
|
||
The following tables list the configurable parameters of the restore chart and their default values. | ||
|
||
| Parameter | Description | Default | | ||
| ----- | ----------- | ------ | | ||
| `restore.type` | What type of restore to perform: [ "database" | "archive" ]. A "database" restore restarts the entire database at a previous state. An "archive" restore restores/repairs a SINGLE archive in a RUNNING database. | `"database"` | | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. does the database have to be There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The database doesn't have to be running, however, the admin layer should. |
||
| `restore.target` | Where to restore `TO` | `{{ .Values.database.name }}` | | ||
| `restore.source` | Where to restore `FROM` [ backupset | url | `:latest` | `:group-latest` ] | `:latest` | | ||
| `restore.credentials` | Credentials to use for a URL source (user:password) | `""` | | ||
| `restore.autoRestart` | Whether to automatically restart the database and trigger the restore (true/false). Only valid for a "database" restore | `true` | | ||
|
||
|
||
### Running | ||
|
||
The purpose of this section is to allow customisation of the names of the clusterIP and balancer database services (load-balancers). | ||
|
||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This assumes that the entire contents of the TAR file are contained in a path of that length. Otherwise it would be ambiguous which path within the TAR file contains the archive. I think it would be better if we took a pathname within the TAR file that contains the archive. Also, it is possible that the archive and journal are in different directories, but I'm not sure how this parameter would account for that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This value of
stripLevels
is transparently passed totar
as--strip-components
option. The typical use case is that the source tarball contains only one archive directory (including the journal).Currently, an external journal directory is not supported.