Financial terms were not released.
Crain made the All-Star team last season with a 0.74 ERA in 37 appearances for the White Sox. He had a streak of 29 straight appearances without allowing a run from April 17 to June 22. Crain was traded to Tampa Bay on July 29, but didn't appear in a game for the Rays because of a right shoulder strain.
Houston's bullpen was one of the biggest problems last season on a team that lost a franchise-record 111 games and had the worst record in the majors.