Skip to content

Commit

Permalink
Script to generate different sized knife ec backup (#6855)
Browse files Browse the repository at this point in the history
* Script to create the knife ec back up zip file

Signed-off-by: sonali wale <sonali.wale@progress.com>

* Lint fixes

Signed-off-by: sonali wale <sonali.wale@progress.com>

* Script changes

Signed-off-by: sonali wale <sonali.wale@progress.com>

* zip creation changes

Signed-off-by: sonali wale <sonali.wale@progress.com>

* Removed back up folder

Signed-off-by: sonali wale <sonali.wale@progress.com>

* Comment changes

Signed-off-by: sonali wale <sonali.wale@progress.com>

* script changes to zip the file

Signed-off-by: sonali wale <sonali.wale@progress.com>

* Minor changes added

Signed-off-by: sonali wale <sonali.wale@progress.com>

* Code smell fix

Signed-off-by: sonali wale <sonali.wale@progress.com>

* Update .studio/infra-proxy-service

* Setting username with index

Signed-off-by: Kallol Roy <karoy@progress.com>

Co-authored-by: Kallol Roy <karoy@progress.com>
  • Loading branch information
sonali523 and kalroy authored Apr 5, 2022
1 parent 4da3a7b commit d6c794d
Show file tree
Hide file tree
Showing 8 changed files with 563 additions and 95 deletions.
64 changes: 64 additions & 0 deletions .studio/infra-proxy-service
Original file line number Diff line number Diff line change
Expand Up @@ -353,3 +353,67 @@ EOF
done
log_line "Sample data loaded of $records users for server with server name '$server_prefix' and server id '$server_id'"
}

document "infra_service_load_knife_ec_backup_file" <<DOC
Creates the sample knife ec backup file
Before running this command make sure either run 'start_infra_proxy_service' or 'start_all_services'
and also make sure that there is no any backup directory and backup.zip in /src/
-O No of Orgs default: 2
-U No of Users default: 200
Example:
-----------------------------
infra_service_load_knife_ec_backup_file -O 2 -U 200
DOC
function infra_service_load_knife_ec_backup_file() {
install_if_missing core/jq-static jq
install_if_missing core/grpcurl grpcurl

local OPTIND opt
local orgs=2
local users=200


while getopts ":O:U:" opt; do
case $opt in
O) orgs="$OPTARG"
;;
U) users="$OPTARG"
;;
\?) echo "Invalid option -$OPTARG" >&2
;;
: )
echo "Invalid option: $OPTARG requires an argument" 1>&2
;;
esac
done
shift $((OPTIND -1))

log_line "Total number of orgs: $orgs"
log_line "Total number of users: $users"

# Create knife ec backup file
local user_prefix="user"
mkdir -p /src/backup
chmod 777 /src/backup
for i in $(seq 1 ${orgs}); do
timestamp=$(date +%s%N)
local org_id="org-${timestamp}-id"
local number_of_users=$((users/orgs))

chef-automate dev grpcurl infra-proxy-service -- -d \
"$(cat << EOF
{"org_id": "${org_id}", "number_of_users": "${number_of_users}"}
EOF
)" chef.automate.domain.infra_proxy.migrations.service.MigrationDataService.CreateBackup >/dev/null

log_line "For org_id '${org_id}', the numbers of users are ${number_of_users}"
done

install_if_missing core/zip zip
zip -r backup.zip backup
rm -rf backup

log_line "Sample back up zip created at path '/src/backup.zip'"
}
193 changes: 134 additions & 59 deletions api/interservice/infra_proxy/migrations/request/migrations.pb.go

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,13 @@ message ConfirmPreview {
StagedData staged_data = 3;
}

message CreateBackupRequest {
// Org ID
string org_id = 1;
// Number of users
int32 number_of_users = 2;
}

message StagedData {
// Number of orgs to migrate
int32 orgs_to_migrate =1;
Expand Down
69 changes: 61 additions & 8 deletions api/interservice/infra_proxy/migrations/response/migrations.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -79,3 +79,5 @@ message ConfirmPreview {
// Migration ID
string migration_id = 1;
}

message CreateBackupResponse {}
Loading

0 comments on commit d6c794d

Please sign in to comment.