Skip to content

Instantly share code, notes, and snippets.

@mccun934
Created March 15, 2018 16:12
Show Gist options
  • Save mccun934/06d2031fc5685e248ede12d0427e84ca to your computer and use it in GitHub Desktop.
Save mccun934/06d2031fc5685e248ede12d0427e84ca to your computer and use it in GitHub Desktop.
Qpid queue recreate in parallel
#!/bin/bash
recreateq(){
qpid-config --ssl-certificate=/etc/pki/katello/qpid_client_striped.crt -b amqps://localhost:5671 add queue pulp.agent.${1} --durable;
}
echo ""
echo "*** Clearing old qpid journal files.."
echo ""
katello-service stop
service postgresql start
rm -rf /var/lib/qpidd/.qpidd /var/lib/qpidd/*
service-wait qpidd start
sleep 10
echo ""
echo "*** Recreating infrastructure queues.."
echo ""
qpid-config --ssl-certificate=/etc/pki/katello/qpid_client_striped.crt -b amqps://localhost:5671 add exchange topic event --durable
qpid-config --ssl-certificate=/etc/pki/katello/qpid_client_striped.crt -b amqps://localhost:5671 add queue katello_event_queue --durable
for key in compliance.created entitlement.created entitlement.deleted pool.created pool.deleted; do
qpid-config --ssl-certificate=/etc/pki/katello/qpid_client_striped.crt -b amqps://localhost:5671 bind event katello_event_queue $key
done
for i in pulp_resource_manager pulp_workers pulp_celerybeat; do service $i restart; done
echo ""
echo "*** Restarting services.."
echo ""
katello-service restart
echo "****************************************************************** "
echo "Your Satellite Server is now online, please wait while we recreate "
echo "the queues for each registered host. This may take some time. "
echo "****************************************************************** "
sleep 30
# Run 5 recreates in parallel to speed things up
N=5
(
for consumer in $(su - postgres -c "psql candlepin -c \"select uuid from cp_consumer;\"" | grep "^ " | grep -v uuid); do
((i=i%N)); ((i++==0)) && wait
recreateq "$consumer" &
done
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment