Skip to content
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

Provide gpdemo.sh deployment script #291

Merged
merged 1 commit into from
Nov 24, 2023
Merged

Conversation

Ray-Eldath
Copy link
Contributor

Customers have complained that the deployment procedures of CBDB is tedious. In this PR, gpdemo.sh provides a default configuration to enable a one-click deployment experience. The default parameters are the same as "make create-demo-cluster", and all demo cluster Makefile jobs are now directly run "gpdemo.sh" instead.


Packaging Instructions

Following files are necessary and need to be packaged into .rpm files if we need to ship this script in the releases:

  • in directory gpAux/gpdemo:
    • *.sh (demo_cluster.sh, gpdemo-defaults.sh, gpdemo.sh, probe_config.sh)
    • lalshell
    • README

@Ray-Eldath Ray-Eldath marked this pull request as ready for review November 8, 2023 09:24
@Ray-Eldath
Copy link
Contributor Author

all scripts need to be installed to the dir where make install copies into.

Copy link
Collaborator

@avamingli avamingli left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Most looks good, few minor comments.

gpAux/gpdemo/demo_cluster.sh Outdated Show resolved Hide resolved
@avamingli
Copy link
Collaborator

In commit messages:

In this PR, gpdemo.sh provides a default configuration to enable

-> In this commit

gpAux/gpdemo/README Outdated Show resolved Hide resolved
@Ray-Eldath
Copy link
Contributor Author

a complete overhaul of this pr has been carried out. gpdemo now has been moved to gpMgmt/bin so that it can be installed to $(DESTDIR). Several considerable changes has been made:

  • the original pr is to expand the features of demo_cluster.sh to do everything and gpdemo only acts as a delegate. on the contrary, gpdemo are now worked as a wrapper of demo_cluster.sh and probe_config.sh, while these scripts are remained mostly the same. gpdemo will try to parse those new features, and passes everything it doesn't understand to demo_cluster.sh.
  • in order to make USAGE function correctly printing the help messages, gpdemo will replace the it with another version that showing these new features.
  • because source gpdemo-defaults.sh is needed in Makefile, default shell needs to be changed to bash instead of the default sh.

usage of gpdemo:

gpdemo {-c | -d | -p | -h | -H | -v} <-K>
    : Default behaviour (no argument) is to create demo cluster.
 -c : Check if demo is possible.
 -d : Delete the demo.
 -K : Create cluster without data checksums.
 -p : Probe configuration of an alive cluster.
 -h : Usage, prints this message.
 -H : Detailed usage.
 -v : Show version.

 There are few environment variables (e.g., PORT_BASE, DATADIRS) to
 further config the demo cluster. See "gpdemo -H" for more info.

@Ray-Eldath
Copy link
Contributor Author

failed ci reported in #302 and #301

gpAux/gpdemo/README Outdated Show resolved Hide resolved
Customers have complained that the deployment procedures of CBDB is
tedious. In this commit, gpdemo provides a default configuration to enable
a one-click deployment experience. The default parameters are the same
as "make create-demo-cluster".
Copy link
Collaborator

@avamingli avamingli left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Thanks for your work.

@avamingli avamingli merged commit 2ac071f into cloudberrydb:main Nov 24, 2023
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants