[和訳] 多くの改善点を含むPush Jobs Server 1.1.5リリース #opschef_ja #getchef_ja
この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。
本項は Push Jobs Server 1.1.5 is out, and more improvements are in the works. (2014/11/25) の和訳です。また、2014/12/05 に既知の問題について追記がありました。
Push Jobs Server 1.1.5リリース
私達はPush Jobs Serverバージョン1.1.5のリリースを嬉しく思います。このリリースはPush Jobs ServerをインストールしたChef 12でpush-jobs-ctl testコマンドが失敗するという小さな問題を修正します。
Push Jobsはオープンソースに
これは新しいことではないのですが、Chef Serverをオープンソース化した際のアナウンスからちょっと漏れていました。Push Jobsはオープンソースになり、もはやプレミアム製品ではありません。
私達は長らくオープンソース化したいと考えていましたが、Enterprise Chefにしかない機能に依存していたので、まずオープンソースChef Serverで動くようにする必要がありました。オープンソースPush Jobsがプロプライエタリ版Chefでしか動かないのは面白くないですし。Chef 12のリリースにより、Push Jobsが動くためのすべての機能がオープンソースChef Serverに揃うことになりました。
次のOpscode GitHubレポジトリをご覧ください。
- opscode-pushy-server (コアサーバコード)
- opscode-pushy-client (クライアントコード)
- omnibus-pushy (サーバリリースのビルド用)
- oc-pushy-pedant (テスト)
Push Jobs Clientはomnibus-chefシステムによってビルドされるようになりました。現時点ではまだ独立したパッケージになっていますが、将来はインストールの手間を省くため、chef-clientパッケージに統合するつもりです。
Push Jobs 2.0
テストと完全なプラットフォームサポートをなるべく早く終えて、多くの新しいものを近いうちにリリースするつもりです。次はPush Jobs 2.0で予定している目玉の一部です。
ZeroMQ 4
ZeroMQのバージョンを2から4にします。ZeroMQ 4はエンド・トゥ・エンドの暗号化サポートを含む多くのプロトコル強化を含みます。
暗号化
現在PushはパケットをHMACで署名していますが、その一方でコマンドを含むデータは平文で送っています。楕円曲線暗号プロトコルを用いるZeroMQ 4に移行することで、エンド・トゥ・エンドのすべてのトラフィックを暗号化します。これはプロトコルの変更なので、Pushクライアントとサーバの両方のアップグレードが必要です。
イベントのフィード
ジョブが完了するのを待つ間はジョブステータスエンドポイントへポーリングするのが共通のやり方でした。ジョブごととOrganizationごとの両方の、Server Sent Eventsを通してジョブ実行の継続的な更新を提供する、2つの新しいエンドポイントを追加します。これにより、長時間のジョブを追跡しやすくするのと同じように、Pushの上位ツールを作成しやすくなるでしょう。
出力のキャプチャ
現在のPushシステムはコマンドの実行ステータスしか返しません。そこでジョブコマンドの標準エラー出力と標準出力をキャプチャする仕組みを追加し、コマンドが完了した後にサーバからそれらを得られるようにするつもりです。
これらはプロトコルに対する大きな変更なので、Pushクライアントとサーバは一緒に2.0にアップグレードしなければいけません。
もっと詳しく
試しにやってみて、どう思ったか教えてください。
既知の問題 (2014/12/05 追記)
2014/12/04 に、Push Jobs ServerのRed Hat Enterprise Linux向けのパッケージが署名されていないことを発見しました。このため、Push Jobs ServerアドオンのChef Server 12へのインストールが失敗します。
この問題は、Push Jobs Serverパッケージをダウンロードし、chef-server-ctlの--pathオプションを用いてインストールすることで回避できます。ダウンロードページからパッケージをダウンロードした後に次のコマンドを実行してください。
chef-server-ctl install opscode-push-jobs-server --path /full/path/to/directory/of/downloaded/package
私達は現在この問題を修正中です。さらに進展があれば、ブログを更新します。
この問題の解決に取り組んでいることについてのご理解に感謝します。