Correct answer: Configure the local vPC role priority to have a higher value than Switch-A.
Cisco's vPC election document says vPC roles are non-preemptive: when the primary fails, the secondary becomes operational primary, sets its sticky bit, and keeps that role after the old primary returns. The election compares the sticky bit, then the user-defined role priority (the lowest numeric value wins), then the lowest system MAC address. To make one device primary again, Cisco says to give that device the lower role priority and the other device the higher value, then shut down and re-enable the vPC peer link. So on Switch-B the role priority must be set higher than Switch-A's; changing or re-entering the role priority also clears Switch-B's sticky bit, and the peer-link flap re-runs the election in Switch-A's favor. A lower value would make Switch-B win again, and the same value would leave the result to the system MAC addresses. Source: Cisco, 'Understand the vPC Election Process' (document 212589).