On Wednesday morning several of our CentOS 7 web servers automatically upgraded to the latest kernel, 3.10.0-229.20.1.el7.x86_64.  This broke the OpenAFS client (1.6.8-1) that we use on these servers – most of our web content is hosted in AFS distributed storage.

Until we have time to debug or upgrade AFS, I decided to downgrade to the previous kernel.  Here's how I did that:

## REBOOT AND BOOT INTO THE PREVIOUS VERSION OF THE KERNEL
 
## DISABLE ANY SCRIPTS THAT AUTOMATICALLY UPGRADE THE KERNEL
 
## DOWNGRADE TO THE kernel-headers PACKAGE
yum downgrade kernel-headers
 
## REMOVE THE UPGRADED kernel AND kernel-devel PACKAGES
yum remove `rpm -qa | egrep 'kernel-[0-9]+' | sort -V | tail -1` `rpm -qa | egrep 'kernel-devel-[0-9]+' | sort -V | tail -1`
 
## REINSTALL THE PACKAGES BROKEN BY THE KERNEL UPGRADE
yum reinstall -y dkms-openafs openafs openafs-client openafs-docs openafs-krb5
 
reboot