Yesterday I spent like an hour trying to work out why one VTP client switch didn’t want to install VTP updates.
The key is the hash that VTP enabled switches calculate. You can display the VTP hash by using the show vtp status command. If for some reason one switch won’t install vtp updates AND the hash calculated on one switch differs from the hash calculated on the other switches, try flapping all interfaces (shut, no shut) on this one switch. If this doesn’t help, try changing the domain name to some other name on all switches (remember that vtp domain mismatch will cause trunks to go down). Obviously the latter is not a solution in production environments. In my case flapping the interfaces didn’t help but changing the domain name on all switches did.
A useful debug command is debug sw-vlan vtp events/packets. It’s quite noisy so make sure to direct logs to the buffer (logging buffered).