vagrant/virtualbox vm でホスト時刻の同期を選択的に無効にする必要があります。次のように、ホスト マシンで問題なく実行できます。
$ VBoxManage setextradata <name> \
> "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" "1"
問題は、ゲスト vm でいくつかの作業が行われている間だけ、同期を無効にする必要があることです。具体的には、単体テスト ジョブはGetHostTimeDisabled
プログラムで値を切り替えて、テスト ジョブが vm システム時間を効果的に完全に制御できるようにする必要があります。
単体テスト ジョブ内から ssh 経由で VBoxManage コマンドを実行することを検討しましたが、それにはさらに困難が伴います。たとえば、自分のローカル マシンに vagrant ユーザーとしてパスワードなしのログインを設定するなどです。
VM に対して ssh エージェント転送を有効にしましたが、動作することが確認されています。誰かが「より良い」方法を提案していない限り、vagrant ユーザーとして vm (ubuntu linux) からホスト マシン (OSX) に ssh で戻る方法を理解する助けをいただければ幸いです。理想的には、vagrant のすべてのユーザーに対して同じように機能することを望みます。たぶん、転送されたエージェントを何らかの形で使用していますか?
おそらく、ゲストで VBoxService を操作して、時刻同期を一時的に無効にする方法はありますか?