Back to the news overview

LXD 2.0.9 リリースのお知らせ

26th of January 2017

このリリースは LXD 2.0 の 9 回目のバグフィックスリリースです。

LXD 2.0.8 以降の変更は以下の通りです

細かな改良点:

  • シグナルによって kill された exec セッションの exit コードからシグナル番号がわかるようになりました (訳注: 128+シグナル番号が返る)
  • VLAN デバイスのタイプが API とクライアントで正しくレポートされるようになりました
  • クライアントがイメージの最終利用日を表示するようになりました (lxc image info)
  • 一度に複数のイメージを消去できるようになりました
  • LXD の翻訳は Weblate を使うようになりました

バグ修正:

  • client: Monitor API に終了したシグナルを追加しました
  • client: http のエラーの扱いを改良しました
  • client: 更新のためのメソッドを共通化し、PATCH の追加を行いました
  • doc: cloud-init 経由のネットワーク設定の説明を追加しました
  • doc: README.md に godoc へのリンクを設置しました
  • doc: README.md の CI と Weblate の記述を更新しました
  • extra/lxc-to-lxd: サポートされない (LXCの) 設定項目をさらに追加しました
  • extra/lxc-to-lxd: プロパティはすべて文字列でなければならなくなりました
  • extra/lxc-to-lxd: デフォルトでは rootfs は移動でなく、コピーするようになりました
  • extra/lxc-to-lxd: python3-lxc がインストールされていない場合のエラー表示をわかりやすくしました
  • extra/lxc-to-lxd: (訳注: LXCの設定のうちLXDで使える設定項目のチェックを) ホワイトリストを使うように変更しました
  • global: typo を修正しました
  • global: "gofmt -s" を実行しました
  • lxc: タイムスタンプの扱いを改良しました
  • lxc: ヘルプの出力をより一貫性のあるメッセージにしました
  • lxc: yaml のエラーを正確にチェックするようになりました
  • lxc/init: 例を修正しました
  • lxc/init: 引数のリストを正しく置き換えるようになりました
  • lxc/launch: オプションの解析を行うコードを init.go のメソッドを呼び出すだけにしました (重複しているコードの削除)
  • lxc/list: IPv4 と IPv6 アドレスの出力をソートするようになりました
  • lxc/remote: ヘルプを更新しました
  • lxd-bridge: ip6tables のフィルタルールを追加しました
  • lxd-bridge: DHCP は UDP でのみ通信するようになりました
  • lxd-bridge: IPv4 のファイアウォールをオプショナルにしました (デフォルトは有効です)
  • lxd/containers: コンテナ生成時の基本的なログ出力を追加しました
  • lxd/containers: FileResponse に in-memory のバッファを与えることが可能になりました
  • lxd/containers: コンテナにアタッチする際に (訳注: setuid に加えて) setgroups も実行するようにしました
  • lxd/containers: ネットワークの設定項目を設定する関数の競合状態を避けるようにしました
  • lxd/containers: raw.lxc で設定する項目のうち、lxc.syslog と lxc.ephemeral をブラックリストに追加しました
  • lxd/containers: exec 実行時にクリーンに exit できるように、バックグラウンドタスクを検出するようになりました
  • lxd/containers: 正しい順序でマウントを行うようになりました
  • lxd/containers: シンボリックリンクから xattr を読み取らないようにしました
  • lxd/containers: 存在しないパスの解決をブロックしなくなりました
  • lxd/containers: last_state.power を 2 度記録しないようになりました
  • lxd/containers: Exec() がアタッチされた PID を返すようになり、引数で bool の値をとるようになりました (訳注: bool はコマンドの終了を待つかどうかを与える)
  • lxd/containers: コンテナ状態の記録を修正しました
  • lxd/containers: major/minor デバイス番号を設定するデバイスのホットプラグを修正しました
  • lxd/containers: ファイルの push のエラーハンドリングを修正しました
  • lxd/seccomp: seccomp プロファイルの修正を行いました (訳注: LXC がプロファイルの空行からシステムコール番号を読もうとしていたので修正)
  • lxd/containers: file_manip コマンドのロギングを修正しました
  • lxd/containers: export 中のエラーハンドリングとレポートを改良しました
  • lxd/containers: ディレクトリの置換時に明確にエラーを返すようになりました
  • lxd: http クライアントのためのコードパスを共通化しました
  • lxd: デーモンの TLS の設定で InsecureSkipVerify を設定しないようにしました
  • lxd: デーモンのバージョンをロギングするようにしました
  • lxd/daemon: より厳密なパーミッションでディレクトリを作成するようにしました
  • lxd/daemon: LXD_DIR のグループと全ユーザに対して +x を設定するようにしました
  • lxd: コンテナが起動した時点でのみデーモンが準備できたとマークするようになりました
  • lxd: 値が削除された場合、デーモンの設定項目を適切に確認するようになりました
  • lxd: HTTPS アドレスの更新時にもカスタムの http サーバを使用するようになりました
  • lxd/db: db.go から使われていないコードを削除しました
  • lxd/images: イメージダウンロードでの競合が起こらないようにしました
  • lxd/containers: ネットワーク経由の転送時にスピードをトラッキングするようになりました
  • lxd/main: activateifneeded 関数を自身用のソースファイルに移動させました
  • lxd/main: callhook 関数を自身用のソースファイルに移動させました
  • lxd/main: daemon 用関数を自身用のソースファイルに移動させました
  • lxd/main: forkexec 関数を自身用のソースファイルに移動させました
  • lxd/main: forkgetnet 関数を自身用のソースファイルに移動させました
  • lxd/main: forkmigrate 関数を自身用のソースファイルに移動させました
  • lxd/main: forkstart 関数を自身用のソースファイルに移動させました
  • lxd/main: init 関数を自身用のソースファイルに移動させました
  • lxd/main: migratedumpsuccess 関数を自身用のソースファイルに移動させました
  • lxd/main: netcat 関数を自身用のソースファイルに移動させました
  • lxd/main: ready 関数を自身用のソースファイルに移動させました
  • lxd/main: shutdown 関数を自身用のソースファイルに移動させました
  • lxd/main: waitready 関数を自身用のソースファイルに移動させました
  • lxd/main: nsexec.go を main_nsexec.go にリネームしました
  • lxd/migrate: 生成したスナップショットのリストを使うようにしました
  • lxd/patches: すべてのパッチを create 時に適用済みとマークするようにしました
  • lxd/profiles: 未使用の変数を修正しました
  • lxd/storage: パスを subvolume と仮定しなくなりました
  • lxd/storage: ContainerStart 関数の引数としてコンテナ名とパスを取るように変更しました (訳注: 以前はコンテナ構造体を取得して内部でコンテナ名とパスを取り出していた)
  • lxd/containers: create 時の EEXISTS の検出を書き直しました
  • lxd/storage: zfs: デバイスをトラッキングするロジックを簡略化しました
  • Makefile: "make dist" をより信頼性が向上するように作りなおしました
  • shared: GetPollRevents() 関数を追加しました (訳注: C の poll の wrapper)
  • shared: WebsocketExecMirror() 関数を追加しました (訳注: コンテナ内の PTY に接続して実行するコマンドを扱う)
  • shared: すべての証明書フィンガープリントの生成を共通化しました
  • shared: TransferProgress に Reader でなく ReadCloser を与えるようになりました
  • shared: ExecReaderToChannel() が sync.Once を使うようになりました
  • shared: アーキテクチャを扱う部分をパッケージ化しました
  • shared: IO プログレストラッカー部分をパッケージ化しました
  • shared: simplestreams クライアントをパッケージ化しました
  • shared: バージョンを扱う部分をパッケージ化しました
  • shared: 書き込みのトラッキングを実装しました
  • shared: 証明書のフィンガープリントを計算するヘルパー関数を作成しました
  • shared: Device/Devices type を lxd パッケージに移動しました
  • shared: FromLXCState 関数 (訳注: LXC コンテナの状態を返す関数) を shared の外 (訳注: LXC コンテナの処理部分) へ移動させました
  • shared: REST API を新しいパッケージに移動しました : certificate
  • shared: REST API を新しいパッケージに移動しました : container
  • shared: REST API を新しいパッケージに移動しました : godoc
  • shared: REST API を新しいパッケージに移動しました : image
  • shared: REST API を新しいパッケージに移動しました : network
  • shared: REST API を新しいパッケージに移動しました : operation
  • shared: REST API を新しいパッケージに移動しました : profile
  • shared: REST API を新しいパッケージに移動しました : response
  • shared: REST API を新しいパッケージに移動しました : server
  • shared: REST API を新しいパッケージに移動しました : status
  • shared: WebsocketUpgrader を network.go へ移動させました
  • shared: GroupName 関数を削除し、UserId 関数を追加しました
  • shared: idmapset_test_linux.go を idmapset_linux_test.go にリネームしました
  • shared: ファイル転送のトラッキングの環境依存をなくしました
  • shared/idmap: デバッグコードを削除しました
  • shared/idmapset: intersection テストを修正しました
  • shared/logging: 独自のログフォーマッターを導入しました
  • shared/logging: PrintStack の出力をエラーレベルに変更しました (訳注: runtime.Stack の出力部分を debug から error レベルに変更した)
  • shared/simplestreams: 独自の http ハンドラに依存しなくなりました
  • shared/simplestreams: 引数として UserAgent を与えるようにしました
  • shared/util: Int64InSlice() 関数を追加しました
  • shared/util: GetByteSizeString() 関数が精度を引数として持つようになりました
  • shared/util: byte のパースを改良しました
  • shared/util: ParseByteSizeString() が byte を扱うようになりました
  • tests: db テストのエラーを無視しなくなりました
  • tests: 不適切な変数名を変更しました
  • tests: 新しい開発版で動作するように deadcode を修正しました
  • tests: shellcheck が cd で混乱する問題を修正しました
  • tests: スタンドアロンの remote のテストを追加しました
  • tests: Jenkins に合うようにテスト名を短縮しました
  • tests: テストスイートを起動するコードを簡略化しました
  • tests: lxd のシャットダウンをテストするようにしました
  • tests: lxc reboot の代わりに lxc restart を使うようにしました

ダウンロード

このリリースの tarball は ダウンロードページ から取得できます。