Merge "Add options to specify credentials on db archive scripts"
This commit is contained in:
commit
7ebc34fef0
@ -29,7 +29,7 @@ DATABASE=nova
|
||||
TABLES="security_group_rules security_group_instance_association security_groups instance_info_caches instance_system_metadata instances reservations compute_node_stats "
|
||||
|
||||
## process the command line arguments
|
||||
while getopts "hn" opt; do
|
||||
while getopts "hnd:H:u:p:" opt; do
|
||||
case $opt in
|
||||
h)
|
||||
echo "openstack_db_archive.sh - archive records flagged as deleted into the shadow tables."
|
||||
@ -42,11 +42,31 @@ while getopts "hn" opt; do
|
||||
echo
|
||||
echo "Options:"
|
||||
echo " -n dry run mode - pass --dry-run to pt-archiver"
|
||||
echo " -d db name"
|
||||
echo " -H db hostname"
|
||||
echo " -u db username"
|
||||
echo " -p db password"
|
||||
echo " -h (show help)"
|
||||
exit 0
|
||||
;;
|
||||
n)
|
||||
DRY_RUN="--dry-run"
|
||||
;;
|
||||
d)
|
||||
DATABASE=${OPTARG}
|
||||
;;
|
||||
H)
|
||||
HOSTPT=",h=${OPTARG}"
|
||||
HOST="-h ${OPTARG}"
|
||||
;;
|
||||
u)
|
||||
USERPT=",u=${OPTARG}"
|
||||
USER="-u ${OPTARG}"
|
||||
;;
|
||||
p)
|
||||
PASSPT=",p=${OPTARG}"
|
||||
PASS="-p${OPTARG}"
|
||||
;;
|
||||
\?)
|
||||
echo "Invalid option: -$OPTARG" >&2
|
||||
exit 1
|
||||
@ -71,8 +91,8 @@ echo `date` "Purging nova.instance_system_metadata of deleted instance data"
|
||||
TABLE=instance_system_metadata
|
||||
SHADOW_TABLE="shadow_${TABLE}"
|
||||
pt-archiver ${DRY_RUN} --statistics --sleep-coef 0.75 --progress 100 --commit-each --limit 10 \
|
||||
--source h=localhost,D=nova,t=${TABLE} --no-check-charset \
|
||||
--dest h=localhost,D=${DATABASE},t=${SHADOW_TABLE} \
|
||||
--source D=${DATABASE},t=${TABLE}${HOSTPT}${USERPT}${PASSPT} --no-check-charset \
|
||||
--dest D=${DATABASE},t=${SHADOW_TABLE}${HOSTPT}${USERPT}${PASSPT} \
|
||||
--where 'EXISTS(SELECT * FROM instances WHERE deleted!=0 AND uuid=instance_system_metadata.instance_uuid)'
|
||||
|
||||
|
||||
@ -80,10 +100,10 @@ for TABLE in ${TABLES}
|
||||
do
|
||||
SHADOW_TABLE="shadow_${TABLE}"
|
||||
|
||||
ACTIVE_RECORDS=`mysql -B -e "select count(id) from ${DATABASE}.${TABLE} where deleted=0" | tail -1`
|
||||
DELETED_RECORDS=`mysql -B -e "select count(id) from ${DATABASE}.${TABLE} where deleted!=0" | tail -1`
|
||||
ACTIVE_RECORDS=`mysql ${HOST} ${USER} ${PASS} -B -e "select count(id) from ${DATABASE}.${TABLE} where deleted=0" | tail -1`
|
||||
DELETED_RECORDS=`mysql ${HOST} ${USER} ${PASS} -B -e "select count(id) from ${DATABASE}.${TABLE} where deleted!=0" | tail -1`
|
||||
|
||||
LOCAL_ABORTS=`mysql -B -e "SHOW STATUS LIKE 'wsrep_%'" | grep -e wsrep_local_bf_aborts -e wsrep_local_cert_failures`
|
||||
LOCAL_ABORTS=`mysql ${HOST} ${USER} ${PASS} -B -e "SHOW STATUS LIKE 'wsrep_%'" | grep -e wsrep_local_bf_aborts -e wsrep_local_cert_failures`
|
||||
|
||||
echo
|
||||
echo
|
||||
@ -91,17 +111,16 @@ do
|
||||
echo `date` "LOCAL_ABORTS before"
|
||||
echo ${LOCAL_ABORTS}
|
||||
|
||||
|
||||
pt-archiver ${DRY_RUN} --statistics --progress 100 --commit-each --limit 10 \
|
||||
--source h=localhost,D=${DATABASE},t=${TABLE} \
|
||||
--dest h=localhost,D=${DATABASE},t=${SHADOW_TABLE} \
|
||||
--source D=${DATABASE},t=${TABLE}${HOSTPT}${USERPT}${PASSPT} \
|
||||
--dest D=${DATABASE},t=${SHADOW_TABLE}${HOSTPT}${USERPT}${PASSPT} \
|
||||
--ignore --no-check-charset --sleep-coef 0.75 \
|
||||
--where "deleted!=0"
|
||||
|
||||
echo `date` "Finished archiving ${DELETED_RECORDS} to ${SHADOW_TABLE} from ${TABLE}"
|
||||
echo `date` "LOCAL_ABORTS before"
|
||||
echo ${LOCAL_ABORTS}
|
||||
LOCAL_ABORTS=`mysql -B -e "SHOW STATUS LIKE 'wsrep_%'" | grep -e wsrep_local_bf_aborts -e wsrep_local_cert_failures`
|
||||
LOCAL_ABORTS=`mysql ${HOST} ${USER} ${PASS} -B -e "SHOW STATUS LIKE 'wsrep_%'" | grep -e wsrep_local_bf_aborts -e wsrep_local_cert_failures`
|
||||
echo `date` "LOCAL_ABORTS after"
|
||||
echo ${LOCAL_ABORTS}
|
||||
echo
|
||||
|
@ -23,13 +23,39 @@
|
||||
DATABASE=nova
|
||||
TABLES="security_group_rules security_group_instance_association security_groups instance_info_caches instance_system_metadata instances reservations compute_node_stats "
|
||||
|
||||
function usage() {
|
||||
echo "$0: Report on the current state of unarchived records in the main nova.* tables"
|
||||
echo "Usage: $0 -d [database] -H [hostname] -u [username] -p [password]"
|
||||
}
|
||||
|
||||
while getopts "d:H:u:p:" opt; do
|
||||
case $opt in
|
||||
d)
|
||||
DATABASE=${OPTARG}
|
||||
;;
|
||||
H)
|
||||
HOST="-h ${OPTARG}"
|
||||
;;
|
||||
u)
|
||||
USER="-u ${OPTARG}"
|
||||
;;
|
||||
p)
|
||||
PASS="-p${OPTARG}"
|
||||
;;
|
||||
*)
|
||||
usage
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
for TABLE in ${TABLES}
|
||||
do
|
||||
SHADOW_TABLE="shadow_${TABLE}"
|
||||
|
||||
ACTIVE_RECORDS=`mysql -B -e "select count(id) from ${DATABASE}.${TABLE} where deleted=0" | tail -1`
|
||||
DELETED_RECORDS=`mysql -B -e "select count(id) from ${DATABASE}.${TABLE} where deleted!=0" | tail -1`
|
||||
SHADOW_RECORDS=`mysql -B -e "select count(id) from ${DATABASE}.${SHADOW_TABLE}" | tail -1`
|
||||
ACTIVE_RECORDS=`mysql ${HOST} ${USER} ${PASS} -B -e "select count(id) from ${DATABASE}.${TABLE} where deleted=0" | tail -1`
|
||||
DELETED_RECORDS=`mysql ${HOST} ${USER} ${PASS} -B -e "select count(id) from ${DATABASE}.${TABLE} where deleted!=0" | tail -1`
|
||||
SHADOW_RECORDS=`mysql ${HOST} ${USER} ${PASS} -B -e "select count(id) from ${DATABASE}.${SHADOW_TABLE}" | tail -1`
|
||||
TOTAL_RECORDS=`expr $ACTIVE_RECORDS + $DELETED_RECORDS + $SHADOW_RECORDS`
|
||||
|
||||
echo `date` "${DATABASE}.${TABLE} has ${ACTIVE_RECORDS}, ${DELETED_RECORDS} ready for archiving and ${SHADOW_RECORDS} already in ${SHADOW_TABLE}. Total records is ${TOTAL_RECORDS}"
|
||||
|
Loading…
Reference in New Issue
Block a user