The U.S. Senate went all in against Russia yesterday by advancing a robust package of Russia sanctions, attached to another Iran sanctions bill.

The Senate vote was 97-2, a veto-proof majority. The final vote may come as early as today. The House may pass its own version of the bill before President Trump meets Russia’s President Vladimir Putin, their first, at the G20 summit in Hamburg, Germany.

President Trump will be presented with a wrenching decision. Does he veto a bipartisan sanctions bill and see his veto overridden? This would be a humiliating defeat for someone who prides himself on winning.

Or, does Trump sign a bill which will infuriate Vladimir Putin and probably end a rare opportunity to mend the U.S. relationship with Russia?

Secretary of State Rex Tillerson told the Senate Committee on Foreign Relations yesterday that he would prefer to avoid new measures against Russia that would compromise the few channels still open between the countries.

President Putin has a decision of his own to make. Should he retaliate in kind and forfeit any hopes for a change in tone with Washington? Or risk being exposed as weak in defense of Russia’s interests at the time he is about to launch his re-election campaign.

The bill may be a little over the top. It codifies and institutionalizes the existing sanctions regime by restricting the president’s ability to lift or alleviate sanctions.

Any change in sanctions would be subject to congressional review. This risks setting up new political fights and complicating the administration’s legislative agenda.

Lifting Russia sanctions may prove to be too politically costly, giving them a life of their own. The bill lumps Ukraine-related sanctions with hacking sanctions, Syria sanctions and human rights sanctions into one single package — all with different relief procedures.

It closes the door on Moscow’s hopes for decoupling the Donbass sanctions from the full implementation of the Minsk agreements, that Russia claims are purposefully stalled by Kiev.