News

LXD 2.20 リリースのお知らせ 15th of November 2017

新機能 :

  • lxc console サブコマンドと console API が追加されました。これにより、コンテナのブートコンソールにアタッチできたり、ブートログを取得したりできます
  • lxc operation コマンドが追加されました。バックグラウンド操作のリスト表示やキャンセルができます
  • SR-IOV ネットワークデバイス (nictype=sriov) が追加されました。新しい Virtual Function のダイナミックな追加を含みます
  • Macaroons 経由の外部認証への委譲をサポートしました (go-bakery v2 プロトコルを使います)

バグ修正:

  • client: GetOperationUUIDs と GetOperations を追加しました
  • client: interface のすべての返り値に変数名を付けました
  • doc: Markdown のエスケープを修正しました
  • doc: コンテナの設定キーでソートしました
  • doc: ネットワークの設定キーでソートしました
  • doc: server.md を設定キーでソートしました
  • doc: ストレージの設定キーでソートしました
  • extra: bash completion 新しい設定項目を追加しました
  • global: チェックされていなかった多数の変数にチェックを追加しました
  • global: いくつか typo を修正しました
  • global: "Temporary workaround for log15 API breakage" で行った変更を元にもどしました
  • global: ビルトインの log15 にスイッチしました
  • lxc/file: ダウンロードとアップロードのログを記録するようにしました (Issue #4018)
  • lxc/network: エラーメッセージを修正しました
  • lxd-benchmark: デフォルトの設定を取得するのに NewConfig を使うようにしました
  • lxd/containers: 実行時にバージョンを検出するようになりました (Issue #3934)
  • lxd/containers: lxc.conf や lxc.log を削除できなくなりました
  • lxd/containers: container.StateObject() を container.DaemonObject() にリネームしました
  • lxd/daemon: HTTP エンドポイントを管理するために endpoints.Endpoints クラスを追加しました
  • lxd/daemon: CPU のプロファイリングと goroutines の一覧出力を debug サブパッケージに追加しました
  • lxd/daemon: lxdTestSuite のセットアップと終了時のエラーメッセージを追加しました
  • lxd/daemon: 初期の Go レベルのデーモンのインテグレーションテストを追加しました
  • lxd/daemon: 構造化された設定の Map を実装するための lxd/config サブパッケージを追加しました。
  • lxd/daemon: 定期的に実行する関数のための lxd/task サブパッケージを追加しました
  • Lxd/daemon: メモリのプロファイリングをサポートする debug サブパッケージを追加しました
  • lxd/daemon: ノードレベルの設定を変更するためのハイレベルの API である node.Config を追加しました
  • lxd/daemon: 隔離を改良するために、テストごとに状態をクリーンアップするようにしました
  • lxd/daemon: task.Task を使った Daemon.Ready() 内で起動されるすべての goroutines をコントロールするようにしました
  • lxd/daemon: テストで Daemon.Ready() をスキップしなくなりました。これは無条件に実行できます
  • lxd/daemon: sys.OS 内でグローバルのパス変数を使わなくなりました
  • lxd/daemon: Daemon.Init() 内のロギングのセットアップを削除しました
  • lxd/daemon: "setup mode" のサポートを削除しました
  • lxd/daemon: 利便性のためにあった containerLXC.OS() を削除しました (訳注: この関数が返していた値の式を直接コード中に記載してもそんなにコードは変わらないため)
  • lxd/daemon: MockMode での不要なチェックを削除しました
  • lxd/daemon: REST と /dev/lxd http サーバの初期化部分を別ファイルに抜き出しました
  • lxd/daemon: デーモンのシャットダウンの際に graceful にタスクのキャンセルを行うようにしました
  • lxd/daemon: 不正な設定キーのエラーを改良しました (Issue #3925)
  • lxd/daemon: ディレクトリの初期化を sys.OS に移動しました
  • lxd/daemon: グローバル変数 execPath を sys.OS.ExecPath に移動しました
  • lxd/daemon: グローバル変数 aaAdminMove を sys.OS に移動しました
  • lxd/daemon: グローバル変数 aaAvailable を sys.OS に移動しました
  • lxd/daemon: グローバル変数 aaConfined を sys.OS に移動しました
  • lxd/daemon: グローバル変数 aaStacking を sys.OS に移動しました
  • lxd/daemon: グローバル変数 cgBlkioController を sys.OS に移動しました
  • lxd/daemon: グローバル変数 cgCpuController を sys.OS に移動しました
  • lxd/daemon: グローバル変数 runningInUserns を sys.OS に移動しました
  • lxd/daemon: オプショナルなデーモンの設定を DaemonConfig に移動しました
  • lxd/daemon: 残りのグローバル変数 cgXXX を sys.OS に移動しました
  • lxd/daemon: util.AppArmorCanStack を lxd/sys 内の private な appArmorCanStack に移動しました
  • lxd/daemon: ストリームラインのデーモンで初期化とシャットダウンを行うようにしました
  • lxd/daemon: ログの expire 処理を行う goroutine のライフサイクルをトラッキングするようにしました
  • lxd/daemon: イメージを切り詰めるためのスケジュール関数の調整を行いました
  • lxd/daemon: 環境変数の代わりにインスタンスレベルのキャッシュディレクトリ変数を使うようにしました
  • lxd/daemon: 環境変数の代わりにインスタンスレベルのログディレクトリ変数を使うようにしました
  • lxd/daemon: 環境変数の代わりにインスタンスレベルのディレクトリ変数を使うようにしました
  • lxd/daemon: デバッグ用ユーティリティを main_daemon.go に直接記載するようにしました
  • lxd/daemon: endpoints.Endpoints を Daemon 内に記載するようにしました
  • lxd/db: 低レベルのトランザクションを抽象化するために db.NodeTx 構造体を追加しました
  • lxd/db: DB のスキーマが新たに作成されたときに実行するための SQL ステートメントを設定するために Schema.Fresh() を追加しました
  • lxd/db: ノードローカルな設定値を取得したり変更したりするための db API を追加しました
  • lxd/db: データベース関連のユニットテスト用のヘルパー db.NewTestNode を追加しました
  • lxd/db: 設定テーブルを変更するための低レベルのクエリヘルパを追加しました
  • lxd/db: query.Count ユーティリティ (訳注: SELECT count(*) を実行する) を追加しました
  • lxd/db: 個々の更新をテストするための Schema.ExerciseUpdate() を追加しました
  • lxd/db: schema.Ensure を graceful に中止する機能を追加しました
  • lxd/db: スキーマを作成するロジックを完全に schema.Schema に移動しました
  • lxd/db: いくつかの sql.DB.Begin の呼び出しを db.DB.Begin に変更しました
  • lxd/db: 低レベルの db.Begin 関数の残りの呼び出しを変更しました
  • lxd/db: Daemon.nodeDB へのすべての参照を削除しました
  • lxd/db: lxd/db/schema/query.go の 誤った tx.Exec 引数を修正しました
  • lxd/db: certificate DB API を db.Node ファサードに移動しました
  • lxd/db: container DB API を db.Node ファサードに移動しました
  • lxd/db: devices DB API を db.Node ファサードに移動しました
  • lxd/db: image DB API を db.Node ファサードに移動しました
  • lxd/db: network DB API を db.Node ファサードに移動しました
  • lxd/db: ノードレベルのスキーマの更新を自身のサブパッケージである db/local/ に移動しました
  • lxd/db: patch DB API を db.Node ファサードに移動しました
  • lxd/db: profile DB API を db.Node ファサードに移動しました
  • lxd/db: storage DB API を db.Node ファサードに移動しました
  • lxd/db: 低レベルの db.Exec() 関数を lxd/db/ の外で直接使うのを止めました
  • lxd/db: Daemon.db を Daemon.nodeDB にリネームしました
  • lxd/db: db.Exec を db.exec にリネームし、エクスポートしなくしました
  • lxd/db: db.QueryScan を db.queryScan にリネームし、エクスポートしなくしました
  • lxd/db: ホワイトボックステストなので db_test.go を db_internal_test.go にリネームしました。
  • lxd/db: State.DB を State.NodeDB にリネームしました
  • lxd/db: Schema.Ensure() で初期のスキーマバージョンを返すようにしました
  • lxd/import: 削除時に正しい VG 名を使うようにしました
  • lxd/main: --print-goroutines-every の出力を修正しました
  • lxd/networks: トンネルを利用するときの 1400 の MTU チェックを削除しました (Issue #3999)
  • lxd/seccomp: security.syscalls.blacklist のハンドリングを修正しました
  • lxd/storage: storageShared.OS() の使用を削除しました
  • lxd/storage: btrfs に対する thinpool で新しい UUID を生成するようにしました
  • lxd/storage/zfs: zpool が存在しないときでもインポートするようにしました (Issue #3976)
  • lxd/storage/zfs: 新しい ZFS リリース向けの更新を行いました (Issue #3986)
  • shared: 規約に沿って名付けられた証明書を返す shared.KeyPairAndCA 関数を追加しました
  • shared: snap で stdin/stdout 同士のファイル転送の問題を修正しました
  • shared: 最新の gofmt に対応しました
  • shared/api: AuthMethods に API 拡張ラベルを追加しました
  • shared/log15: ベンダの log15 を shared/log15 にコピーしました
  • shared/logger: グローバルのロガーをテスト用ロガーにリダイレクトするヘルパを追加しました
  • shared/logging: freebsd を log_posix.go のビルドタグに追加しました
  • shared/version: api10Get から APIExtensions を抽出しました
  • shared/version: shared/version のバージョンの宣言をいくつかのファイルに分割しました
  • tests: ユニークな btrfs の UUID の生成テストを追加しました
  • tests: 使われていない変数のテストを追加しました
  • tests: typo のチェックを追加しました
  • tests: インポートのチェックに godeps を使わないようにしました
  • tests: liblxc < 2.1 の場合は prlimits のテストをスキップするようにしました
  • tests: 新たな依存関係を追加しました

試用環境

この新しい LXD のリリースが、すでに私たちの デモサービス で利用できます。

ダウンロード

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

LXD 2.19 リリースのお知らせ 17th of October 2017

新機能:

  • LXD のドキュメントが https://lxd.readthedocs.io で読めるようになりました
  • 新しい "resources" API を追加しました。この API により CPU やメモリの情報や、ストレージプールのサイズを取得できます。 クライアントからは、"lxc info --resources"、"lxc storage show NAME --resources" のように使えます。
  • 新たにコンテナの設定項目として limits.kernel.[limit name] が使えるようになりました。この設定で、コンテナに対してカーネルのプロセスに対する制限を調整できます。
  • コマンドクライアントの多数のコマンド、profile、network、image alias に "rename" サブコマンドが加わりました。 トップレベルの "rename" コマンドもそれにマッチするように更新しました。
  • LXD API により、カスタムストレージボリュームのリネームができるようになりました。 クライアントツールでは、"lxc storage volume rename" を使ってリネームできます。
  • カーネルのバージョン、アーキテクチャ、OS 名とリリースを含むように LXD の user-agent を拡張しました。 これにより、LXD イメージサーバは、該当する場合にフィルタリングされたイメージリストを表示できます。
  • 新たに insecureSkipVerify フラグがクライアントの ConnectionArgs 構造体に追加されました。 これにより、あらゆる種類の TLS 検証をバイパスして LXD ホストに接続できます。

バグ修正 :

  • doc: インスタンスタイプについて追加しました
  • doc: squashfs イメージも使えることを追加しました
  • github: SUPPORT.md を追加しました
  • github: Issue 用のテンプレートを更新しました
  • global: TLS Cipher をさらにいくつか追加しました (Issue #3822)
  • lxc/file: push/pull で shared.HostPath を使うようにしました
  • lxc/image: export した際のファイル名に関するリグレッションを修正しました (Issue #3869)
  • lxc/image: import/export で shared.HostPath を使うようにしました
  • lxc/storage: リモートに対する操作を修正しました
  • lxd-benchmark: "launch" と同等の命令として廃止予定の "spawn" を追加しました
  • lxd-benchmark: spawn コマンドの名前を launch に変更しました
  • lxd/apparmor: apparmor の使われない deny を削除しました
  • lxd/daemon: prune 中 (訳注: 期限切れのキャッシュの削除中) はイメージを更新しないようにしました
  • lxd/daemon: config のトリガーの扱いを修正しました
  • lxd/daemon: タイマーの処理を簡素化しました
  • lxd/db: スキーマバージョン 30 と 31 間の更新の不適切な DB スキーマを修正しました (Issue #3878) (Issue #3890)
  • lxd/images: 実際に消去するイメージのリストを取得するようにしました
  • lxd/images: 不適切なエラーメッセージを修正しました
  • lxd/images: キャッシュの期限切れを無効にする設定通りに動作するようにしました
  • lxd/images: RFC3399 形式で UploadedAt を保存するようにしました
  • lxd/import: ディスク上のスナップショットのみをチェックするようにしました
  • lxd/import: マウントポイントとシンボリックリンクを再作成するようにしました
  • lxd/import: (訳注: zfs 上のコンテナの import に関する問題を解決するために) 書きなおしました(Issue #3682)
  • lxd/init: コンテナが btrfs 上にあるときだけ btrfs をネストするようにしました
  • lxd/migration: lvm のステートフルなリストアの問題を修正しました
  • lxd/migration: ステートレスのインクリメンタルなコンテナコピーの問題を修正しました (Issue #3798)
  • lxd/network: dnsmasq のバージョンチェックの扱いを改良しました (Issue #3837)
  • lxd/network: 無条件に制限を更新しないようにしました (Issue #3920)
  • lxd/networks: ネットワークのリネームを修正しました (Issue #3912)
  • lxd/networks: コンテナのリネーム時に dnsmasq (訳注: の lease ファイル) をアップデートするようにしました
  • lxd/patches: UploadAt を RFC3399 形式に変換するようにしました
  • lxd/resources: cpufreq ディレクトリがない場合の問題に対応しました
  • lxd/storage: growFileSystem ヘルパを追加しました (訳注: ファイルシステムのサイズを大きくするための関数)
  • lxd/storage: shrinkFileSystem ヘルパを追加しました
  • lxd/storage: shrinkVolumeFilesystem ヘルパを追加しました
  • lxd/storage: "usedby" 関数が空のスライスを返すようになりました
  • lxd/storage: rsync 中の存在しないファイルの警告を無視するようになりました (Issue #3859)
  • lxd/storage: 型のチェックを API に移しました
  • lxd/storage: ボリュームのファイルシステムが変わった場合は再度イメージをインポートするようにしました
  • lxd/storage: コンテナボリュームのプロパティの設定を変更しました (訳注: 特定のタイプのボリュームの場合のプロパティ設定方法を変更)
  • lxd/storage: ストレージプールのアップデート部分を改良しました (Issue #3834)
  • lxd/storage: ストレージボリュームの更新部分を改良しました
  • lxd/storage: btrfs ベースのボリュームのリサイズをサポートしました
  • lxd/storage/btrfs: コンテナの削除前に存在をチェックするようにしました (Issue #3775)
  • lxd/storage/btrfs: カスタムサブボリュームの削除前に存在をチェックするようにしました(Issue #3775)
  • lxd/storage/btrfs: イメージの削除前に存在をチェックするようにしました (Issue #3775)
  • lxd/storage/btrfs: スナップショットの削除前に存在をチェックするようにしました (Issue #3775)
  • lxd/storage/btrfs: シンボリックリンクへの依存を削除しました
  • lxd/storage/btrfs: btrfs コマンドのバグの回避策を追加しました (Issue #3843)
  • lxd/storage/ceph: アンマウント前にマウントポイントのチェックをするようにしました
  • lxd/storage/ceph: マイグレーションを正しく実装しました
  • lxd/storage/ceph: コンテナの削除前に存在をチェックするようにしました (Issue #3775)
  • lxd/storage/ceph: カスタムサブボリュームの削除前に存在をチェックするようにしました(Issue #3775)
  • lxd/storage/ceph: プールの削除前に存在をチェックするようにしました(Issue #3775)
  • lxd/storage/ceph: スナップショットの削除前に存在をチェックするようにしました (Issue #3775)
  • lxd/storage/ceph: volume.block.filesystem の更新を扱うようにしました
  • lxd/storage/ceph: OSD プールから size プロパティを削除しました
  • lxd/storage/ceph: [grow|shrink]FileSystem ヘルパを使うようにしました
  • lxd/storage/dir: プールが既にマウントされているかどうかチェックするようにしました (Issue #3938)
  • lxd/storage/dir: 確実にプールがマウントされるようにしました (Issue #3938)
  • lxd/storage/lvm: コンテナの削除前に存在をチェックするようにしました (Issue #3775)
  • lxd/storage/lvm: カスタムサブボリュームの削除前に存在をチェックするようにしました(Issue #3775)
  • lxd/storage/lvm: イメージの削除前に存在をチェックするようにしました (Issue #3775)
  • lxd/storage/lvm: プールの削除前に存在をチェックするようにしました(Issue #3775)
  • lxd/storage/lvm: "nouuid" を指定して xfs スナップショットをマウントするようにしました
  • lxd/storage/lvm: 機能に変更のない変更を行いました
  • lxd/storage/lvm: ボリュームのファイルシステムが変わった場合は再度イメージをインポートするようにしました
  • lxd/storage/lvm: バージョンの比較の際にドット入りの文字列を使って比較するようにしました
  • lxd/storage/zfs: カスタムサブボリュームの削除前に存在をチェックするようにしました(Issue #3775)
  • lxd/storage/zfs: プールの削除前に存在をチェックするようにしました(Issue #3775)
  • shared: log パッケージの使用部分を削除しました
  • shared: 当面 testhelpers を shared/osarch に移動します
  • shared/api: ファイル名に一貫性を持たせました
  • shared/api: ストレージ関連のファイルをプールとボリュームに分けました
  • shared/canceler: 並行ダウンロードをキャンセルできるようにしました
  • shared/idmap: 多数の問題を修正しました (Issue #3946)
  • shared/idmap: ACL に関するエラー出力をより冗長にしました
  • shared/logger: log15 API が壊れているのに対する一時的な回避策を取りました
  • shared/util: マウントポイントのチェックが出来る関数を実装しました (Issue #3877)
  • shared/util: さらに snap を扱うロジックを追加しました
  • tests: ステートレスのライブマイグレーションテストを追加しました
  • tests: btrfs のリサイズのテストを追加しました
  • tests: LVM と Ceph ボリューム上の btrfs を使うテストを追加しました
  • tests: raw.lxc のテストの問題を修正しました
  • tests: 依存チェックを修正しました
  • tests: イメージの有効期限切れのテストを修正しました
  • tests: シェルのリターン値のマスキングを修正しました
  • tests: トリガー用の基本チャンネルハンドラのセットアップを行うようにしました
  • tests: マウントポイントとシンボリックリンクの再作成のテストを追加しました
  • tests: インポートテストを更新し拡張しました
  • tests: perf.sh 内の "lxd-benchmark spawn" 呼び出しを "lxd-benchmark launch" に更新しました
  • tests: XFS に対しては最小のブロックデバイスサイズとして 50MB を使うようにしました

試用環境

この新しい LXD のリリースが、すでに私たちの デモサービス で利用できます。

ダウンロード

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

LXD 2.18 リリースのお知らせ 19th of September 2017

新機能:

  • btrfs ファイルシステムが LVM と Ceph ストレージプール上で使用できるようになりました
  • 内部的に使用していた "lxd-benchmark" がファーストクラスのユーティリティとなりました
  • "lxd-benchmark" はパフォーマンスレポートを生成できるようになりました
  • --stateless オプションを使って、直前にコンテナを停止して、実行中のコンテナをバックグラウンドで移動できるようになりました
  • 使用された Ceph プールの予期しないインポートを制限するために、新たに "ceph.osd.force_reuse" がストレージプロパティに追加されました

バグ修正 :

  • client: リクエストに関するログを Debug レベルにしました
  • doc: リリースノートとダウンロードへのリンクを追加しました (Issue #3709)
  • doc: docker の使用手順を調整しました (Issue #3712)
  • lxc/delete: --force の使い方を修正しました
  • lxc/image: プロパティを追加したとき、インポートがクラッシュする不具合を修正しました (Issue #3803)
  • lxc/move: 強制的に削除するようにしました
  • lxd-benchmark: 大幅にコードをリファクタリングしました
  • lxd/apparmor: 新しい stacking 文法をサポートしました
  • lxd/containers: コンテナのマウントポイントもチェックするようになりました
  • lxd/containers: デバイス ID のメジャーとマイナー番号の扱いを修正しました
  • lxd/containers: ストレージの作成に失敗した場合には DB から削除するようにしました (Issue #3782)
  • lxd/daemon: Stateを別パッケージにしてリファクタリングしました
  • lxd/daemon: 設定が変わったときはイメージの自動更新ループをリセットするようにしました
  • lxd/db: 共通のクエリヘルパとして db/query サブパッケージを追加しました
  • lxd/db: データベースのスキーマを管理するための db/schema サブパッケージを追加しました
  • lxd/db: データベース更新から自動的にデータベーススキーマを生成するようになりました
  • lxd/events: イベントハンドラ中の競合を修正しました (Issue #3770)
  • lxd: コメントの Typo を修正しました
  • lxd/images: 圧縮コマンドに与える引数の順序を修正しました
  • lxd/images: 部分的なフィンガープリントを使ったプライベートイメージのコピーの問題を修正しました
  • lxd/images: イメージの有効期限を適切に取得するようにしました
  • lxd/init: コードのリファクタリングを行いました
  • lxd/init: btrfs のサブボリューム作成の問題を修正しました
  • lxd/init: デフォルトのストレージバックエンドの選択を改良しました
  • lxd/init: btrfs に関する質問の順序を変えました
  • lxd/main: ログのパスがない場合のエラーメッセージを修正しました
  • lxd/migration: ライブマイグレーションでの不適切な URL の問題を修正しました (Issue #3715)
  • lxd/networks: IP アドレスの重複を許すようになりました (Issue #3721)
  • lxd/networks: ipt_checksum は不要になりました
  • lxd/networks: IPv6 リンクローカルアドレスを持つブリッジの問題を修正しました (Issue #3727)
  • lxd/networks: デバッグモードでないときは dnsmasq の出力を抑制しました
  • lxd/networks: オプションがサポートされているバージョンの dnsmasq の場合のみ --quiet を付けるようにしました
  • lxd/networks: ディレクトリベースの dhcp-host に変更しました (Issue #3694)
  • lxd/patches: dir プールは bind mount を使うようにしました
  • lxd/patches: パッチをファイルの正しい位置に移動させました
  • lxd/storage: エラーメッセージをマスクしないようにしました
  • lxd/storage: makeFSType 関数を拡張し、重複していた mkfs.* コードを削除しました
  • lxd/storage: ボリュームの作成に失敗した場合は、DB のエントリを削除するようにしました
  • lxd/storage: 設定の変更のみを確認するようにしました
  • lxd/storage/ceph: Ceph クラスタ上のファイルシステムについての注意を追加しました
  • lxd/storage/ceph: サイズ計算の際の除算のエラーを修正しました
  • lxd/storage/ceph: 新しい xfs の UUID を生成するようにしました (Issue #3752)
  • lxd/storage/ceph: リサイズを実装しました (Issue #3760)
  • lxd/storage/ceph: rbd map から返されるパスをサニタイズするようにしました (Issue #3726)
  • lxd/storage/ceph: コンテナコピーの際に ACL を設定するようにしました
  • lxd/storage/ceph: Storage{Start,Stop}() 関数を使うようにしました
  • lxd/storage/ceph: zombie ストレージボリュームを作成するときは UUID を使うようにしました (Issue #3780)
  • lxd/storage/dir: ${LXD_DIR} 外のプールには bind マウントを使うようにしました
  • lxd/storage/dir: 正しい関数を使うようにしました
  • lxd/storage/lvm: thinpool のコピーの際に新たに xfs UUID を生成するようにしました
  • lxd/storage/lvm: 間違ったストレージタイプの場合にエラーを報告するようにしました
  • lxd/storage/lvm: リサイズリクエストは少なくとも 1MB 必要としました
  • lxd/storage/zfs: zfs.use_refquota=true の場合は "referenced" プロパティを使うようにしました
  • shared: バージョンをパース・比較するヘルパを追加しました
  • shared: GroupId 関数で buf が大きくなっていく問題を修正しました (Issue #3711)
  • shared: sysconf() が -1 を返した時はサイズを推測するようにしました
  • shared/api: 新たな golint の警告を修正しました
  • shared/idmap: ホストのidとサブidが交差するのは許可されなくなりました
  • shared/idmap: idmap と acl 関数は別パッケージに分離しました
  • shared/subtest: subtest パッケージを提供するようになりました
  • tests: さらに ceph のテストを追加しました
  • tests: perf.sh に LXD_TMPFS のサポートを追加しました
  • tests: subuid 中に hostid を含めないためのテストを追加しました (Issue #3416)
  • tests: perf.sh でバッチの開始時刻も計測するようにしました
  • tests: 自動更新の制限を 20 分に増やしました
  • tests: Ceph のボリュームリサイズのテストを追加しました
  • tests: コンテナのインポート時の問題を修正しました
  • tests: 実行中の lvm/ceph コンテナはコピーしないようにしました
  • tests: イメージの自動更新に LVM を含めるようにしました
  • tests: Ceph のボリュームを 25MB に制限するようにしました
  • tests: OSD プールの Placement Group 数を小さくしました
  • tests: 機能に関係しない変更を行いました
  • tests: ブロックサイズを 200MB にリサイズするようにしました
  • tests: 停止時には常に "--force" を使うようにしました
  • tests: パフォーマンステストには testimage を使うようにしました
  • tests: イメージの更新は 2 分まで待つようにしました

試用環境

この新しい LXD のリリースが、すでに私たちの デモサービス で利用できます。

ダウンロード

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

LXD 2.17 リリースのお知らせ 22nd of August 2017

新機能:

  • Ceph のユーザを指定できるようになりました ("ceph.user.name" プロパティで指定)
  • 制限を簡単に指定できる「インスタンスタイプ」を実装しました (例: "lxc launch ubuntu:16.04 -t t2.micro")
  • LXD API の低レベルでの問い合わせができる "lxc query" コマンドを追加しました(curl を使うのと同様ですが LXD 独自の処理は実装済みなので curl よりは容易に利用できます)
  • コンテナが uid/gid マッピングを変更したとき、ファイルシステムの ACL を書き換えるようになりました
  • LXD は、デイリーのイメージを更新する際にバイナリの差分が使えるようになりました
  • "lxc image info" コマンドは LXD が自動的にキャッシュしたイメージかどうかを表示するようになりました

バグ修正 :

  • client: イメージをダウンロードする関数内でのコードの重複をなくしました
  • client: 廃止されたクライアントのコードを削除しました
  • client: ConnectPublicLXD のロジックを簡素化しました
  • doc: ストレージのドキュメントに volatile.pool.pristine を追加しました
  • doc: volatile.initial_source キーを追加しました
  • doc: rest-api.md 内の不適切な JSON を修正しました (Issue #3654)
  • doc: 文書中で適切にエスケープするようにしました
  • extra/lxc-to-lxd: デフォルトでドロップされるケーパビリティを無視するようにしました
  • extra/lxc-to-lxd: sysfs と proc のマウントを無視するようになりました
  • extra/lxc-to-lxd: lxc.seccomp を適切に扱うようになりました
  • i18n: weblate から翻訳の更新を行いました
  • lxc: 進捗レポートの競合を修正しました
  • lxc: リモートのプロトコル変換を再導入しました
  • lxc/config: 追加の証明書関数を公開としました (Issue #3606)
  • lxc/image: イメージエイリアスのコピーの問題を修正しました
  • lxc/image: リフレッシュが完全に終わるのを待つようにしました
  • lxc/remote: パブリックなリモートサーバでは証明書が必要でなくなりました (Issue #3627)
  • lxd: lxd/util.go を自身 lxd/util のサブパッケージに移動しました
  • lxd/containers: LXD snap にディスクデバイスを与えられるようになりました (Issue #3660)
  • lxd/containers: さらに LXC 2.1 でのキー名の変更に対応しました: lxc.idmap
  • lxd/containers: Typo の修正 : now -> know
  • lxd/containers: GPU ベンダーが混在する際の GPU のアタッチを修正しました (Issue #3642)
  • lxd/containers: デバイスのソート順を修正しました (Issue #2895)
  • lxd/containers: ホストで isolcpu が設定されている場合の問題を修正しました(isolcpuが設定されている場合の動作をサポート) (Issue #3624)
  • lxd/containers: 再度ステートフルスナップショットのリストアを動作するようにしました
  • lxd/daemon: 初期の lxd/sys サブパッケージと OperationSystem 構造体を追加しました
  • lxd/daemon: d.os.Init の実行をすべてのパスが作られた後に行われるようにしました
  • lxd/daemon: Daemon.ExpireLogs を独立した関数にしました
  • lxd/daemon: Daemon.GetListeners を独立した関数にしました
  • lxd/daemon: Daemon.httpClient を独立した関数にしました
  • lxd/daemon: Daemon.ListenAddresses を独立した関数にしました
  • lxd/daemon: Daemon.PasswordCheck を独立した関数にしました
  • lxd/daemon: Daemon.SetupStorageDriver を独立した関数にしました
  • lxd/daemon: 定義されていない設定キーの使用時にログ出力後、クラッシュしなくなりました
  • lxd/daemon: Daemon.BackingFs を OS 構造体に移動させました
  • lxd/daemon: Daemon.IdmapSet を OS.IdmapSet に移動させました
  • lxd/daemon: Daemon.isRecursionRequest を lxd/util サブパッケージに移動させました
  • lxd/daemon: Daemon.lxcpath を OS.LxcPath に移動させました
  • lxd/daemon: Daemon.MockMode を OS.MockMode に移動させました
  • lxd/daemon: Deamon.CheckTrustState と Deamon.isTrustedClient を lxd/util に移動させました
  • lxd/daemon: filesystemDetect 関数を lxd/util サブパッケージに移動させました
  • lxd/daemon: すべてのモデルエンティティの Daemon を State に置き換えました
  • lxd/daemon: select を使用し、goroutine を少し節約するようにしました
  • lxd/daemon: 可能な場合は Daemon の代わりに sql.DB、sys.OS を使うようにしました
  • lxd/db: db.go 内では Daemon に対する依存を削除しました
  • lxd/db: db*.go ファイルを db/ サブパッケージに移動しました
  • lxd/images: リフレッシュ時に古い "cached" という値も渡すようにしました (Issue #3698)
  • lxd/import: 初期化されていない構造体は使わないようにしました
  • lxd/networks: dnsmasq なしでも LXD が起動するようにしました (Issue #3678)
  • lxd/networks: ip{6}tables がない場合の networkIptablesClear の動作を修正しました (Issue #3688)
  • lxd/networks: ネットワーク名として "dev" が使えるようになりました
  • lxd/networks: dnsmasq.raw を 0644 に設定するようにしました (Issue #3652)
  • lxd/networks: クリーンシャットダウン時にネットワークを停止するようにしました
  • lxd/patches: canmount=noauto パッチの不具合を修正しました (Issue #3594)
  • lxd/patches: ZFS コンテナとイメージの "size" を削除するようにしました (Issue #3679)
  • lxd/storage: pool の UsedBy でカスタムボリュームをカウントするようになりました
  • lxd/storage: btrfs,zfs で "volume.size" が有効になりました
  • lxd/storage: "size" プロパティの修正を行いました
  • lxd/storage: ログ出力時に間違ったドライバー名で出力される問題を修正しました
  • lxd/storage: 動作に影響のない変更
  • lxd/storage/ceph: --cluster を複数指定していたので修正しました
  • lxd/storage/ceph: EINVAL になるまで unmap するようにしました
  • lxd/storage/ceph: sysfs 経由で "/dev/rbd" を使うようにしました
  • lxd/storage/ceph: クローンの際は最小のイメージフィーチャーセットを使うようにしました
  • lxd/storage/dir: ディレクトリが空かどうかチェックするようにしました (Issue #3680)
  • lxd/storage/zfs: 常に既存のデータセットは空である必要があるようにしました (Issue #3657)
  • lxd/storage/zfs: リファクタリングを行いました
  • shared: ホストのパスを変換するラッパーを追加しました
  • shared: GetRemoteCertificate を lxc/remote から (sharedに) 移動しました (Issue #3606)
  • tests: ストレージバックエンドのヘルパを include するための関数を追加しました
  • tests: 関数のリファクタリングとクリーンアップを行いました
  • tests: スクリプトを lxc と lxd それぞれに関連したヘルパ関数に分離しました
  • tests: ネットワーク関連のヘルパ関数を分離しました
  • tests: ストレージ関連のヘルパ関数を分離しました
  • tests: テストのセットアップ関連のヘルパ関数を分離しました
  • tests: $storage_backends 変数を使うようにしました

試用環境

この新しい LXD のリリースが、すでに私たちの デモサービス で利用できます。

ダウンロード

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

LXD 2.16 リリースのお知らせ 25th of July 2017

新機能:

  • LXD のストレージバックエンドとして Ceph RBD が使えるようになりました ("lxd init" でのサポートを含みます)
  • 新たに security.idmap.base キーが追加されました。これは security.idmap.isolated を使う場合に、ホスト上でのベースとなる uid/gid を指定します
  • イメージのダウンロードを中断できるようになりました
  • ファイルの転送でシンボリックリンクを扱えるようになりました
  • "lxc copy" と "lxc move" で進捗表示をするようになりました
  • "lxc copy" と "lxc move" で firewall と NAT を越えるために "relay" モードと "push" モードをサポートするようになりました (--mode オプション)
  • カスタムストレージボリュームのサイズを設定したり変更したりできるようになりました
  • "lxc image import" が展開したイメージを含むディレクトリからの読み込みをサポートするようになりました
  • "vlan" プロパティを "physical" ネットワークインターフェースに設定できるようになりました (以前は "macvlan" に制限されていました)
  • ストレージプールからイメージボリュームを削除できるようになりました。これでイメージストアからイメージを削除することなくストレージプールを削除できるようになりました
  • イメージとしてコンテナを公開する前に、イメージメタデータとテンプレートを API 経由で作成したり変更したりできるようになりました
  • リモートホストで、ステートフルなスナップショットをコンテナとしてリストアできるようになりました

バグ修正:

  • client: ベースとなる http クライアントを指定できるようになりました (Issue #3580)
  • client: エラーハンドリングの共通化を行いました
  • client: 停止しているコンテナのライブマイグレーションを行おうとしないようにしました
  • client: オペレーションハンドラ内のクラッシュを修正しました
  • client: 名前にスペースが含まれたファイルの push/pull の問題を修正しました
  • client: public な LXD のリモートホストを扱う際の問題を修正しました (Issue #3464)
  • client: 操作処理中の競合を修正しました
  • client: マイグレーションをリレーするコードを改良しました
  • client: 使用中の HTTP クライアントを取得できるようになりました (Issue #3580)
  • client: リモートの切断を正しく扱うようにしました
  • client.go: godoc 中で廃止したパッケージの警告を表示するようにしました (Issue #3466)
  • config: スナップショット名中に ":" が含まれる場合の処理を改良しました
  • doc: コンテナ作成時のキャッシュに存在する以前のイメージの使用に関する注意書きを追加しました (Issue #3590)
  • doc: storage_images_delete API 拡張の文書に追加しました (Issue #3539)
  • doc: exec セッション中の control API を文書に追加しました (Issue #3574)
  • doc: lxd のインポートに関する説明を詳細にしました
  • doc: セキュリティに関連する文書を作り直し詳細にしました
  • doc: 実際に動作するサンプルを示すように help を修正しました
  • doc: 空白、カンマ、クオート、括弧を修正しました
  • doc: コンテナ内の環境についての文書を追加しました (Issue #477)
  • doc: /1.0/networks/ の "config"."ipv6.nat" の値にクオートを追加しました
  • doc: 不要なバックスラッシュを削除しました
  • doc: containers.md を更新しました (訳注: LXDで扱えるデバイスタイプに usb と gpu を追加)
  • github: ISSUE_TEMPLATE.md: lxd.log の場所を修正しました
  • global: typo をいくつか修正しました
  • lxc/config: 一度に複数のデバイスを削除できるようにしました
  • lxc: 存在しない設定ファイル用のディレクトリを作成するようにしました
  • lxc: クロスプラットフォームで設定ファイル用のディレクトリを扱えるようにしました (Issue #3573)
  • lxc/exec: Windows でのシグナルハンドラを修正しました (Issue #3496)
  • lxc/file: push -p で作成する中間ディレクトリのモードを指定しないようにしました
  • lxc/image: エクスポートした際のファイル名では、常に長いフィンガープリントを使うようにしました
  • lxc/image: "ixc image copy" が取得元を記録していない問題を修正しました
  • lxc/image: "lxc image list" のフィルタのハンドリングを改良しました (Issue #3555)
  • lxc/image: エラー時の処理が抜けていたのを修正しました
  • lxc/image: コピー時にエイリアスのソースを適切に記録するようにしました (Issue #3586)
  • lxc/image: イメージにエイリアスが設定されている場合、エイリアスを更新するようにしました
  • lxc/launch: ランダムな名前をつけたコンテナの起動に失敗する問題を修正しました
  • lxc/list: --columns と --fast を同時に指定した場合にエラーになっていた問題を修正しました
  • lxc/publish: compression_algorithm を compressionAlgorithm に変更しました (訳注: 変数名の変更)
  • lxc/publish: フィンガープリントの表示の問題を修正しました
  • lxc/utils: 進捗表示での競合の可能性をなくしました
  • lxc/utils: エラー表示でフォーマット指定を行う処理が抜けていた問題を修正しました
  • lxd/container: エラーハンドリングの問題を修正しました
  • lxd/containers: メモリ使用量の表示の際のエラー処理を改良しました (Issue #3482)
  • lxd/containers: コンテナの削除が失敗した場合の根本的なエラーを表示するようにしました
  • lxd/containers: LXC 2.1 の設定キーのサポートを追加しました
  • lxd/images: イメージが見つからない場合にエラー表示を行うようにしました
  • lxd/images: フィンガープリントが与えられた場合のイメージのリフレッシュの問題を修正しました
  • lxd/import: 一時的なキーを保持するようにしました
  • lxd/import: コンテナをインポートする際、シンボリックリンクには依存しないようにしました
  • lxd/init: LVM シンプロビジョニングのツールを検出するようにしました (Issue #3497)
  • lxd/networks: プロセスの PID でない場合でも失敗しないようにしました (訳注: dnsmasqのpidファイルに書かれたPIDがdnsmasqでなく、プロセス以外だった場合にエラーになり、dnsmasqプロセスをkillできないバグを修正)
  • lxd/storage: アタッチしているコンテナすべての idmap をチェックするようにしました (Issue #3548)
  • lxd/storage: ボリュームの ETag の扱いを修正しました
  • lxd/storage: ディレクトリマウント(訳注: bind マウント) の読み込み専用モードの際の問題を修正しました
  • lxd/storage: コンテナとイメージの UsedBy の問題を修正しました
  • lxd/storage: ボリュームの設定ロジックを修正しました
  • lxd/storage: storagePoolVolumeUsedByContainersGet 関数を追加しました
  • lxd/storage: ストレージプールのエントリを削除する実装を各ドライバに移動しました
  • lxd/storage: サイズプロパティを設定を制限しました (訳注: サイズプロパティを設定できないストレージの場合にエラーになるようにした)
  • lxd/storage/lvm: lvm コマンドの実行を RunCommand 関数で実行するようにしました (Issue #3507)
  • lxd/storage/lvm: エラーハンドリングの問題を修正しました
  • lxd/storage/lvm: thinpool でないコンテナ作成時の問題を修正しました (Issue #3543)
  • lxd/storage/lvm: 機能に関係しない変更を行いました
  • lxd/storage/zfs: すべてのヘルパ関数を storage_zfs_utils.go に移動しました (Issue #3471)
  • lxd/storage/zfs: s.zfsPoolVolumeCreate() を削除し、s.zfsPoolVolumeCreate() をすべて zfsPoolVolumeCreate() に変更しました
  • lxd/storage/zfs: マウントできるすべてのデータセットに canmount=noauto を設定するようにしました (Issue #3437)
  • lxd/storage/zfs: s.pool.Name の代わりに s.getOnDiskPoolName() を使うようにしました
  • README: リンク切れを修正しました
  • README: LXD の説明を見直しました
  • shared/cancel: キャンセラーが設定されていない場合にクラッシュする問題を修正しました
  • shared/cancel: 返り値の順序を修正しました (訳注: 関数の返り値を受け取る際、間違った変数で受け取っていた)
  • shared/cancel: request のキャンセルチャンネルを使うようにしました
  • shared: RunCommand のカスタムエラータイプを使うようにしました (issue #3502)
  • shared/util: sysconf() が -1 を返した時、サイズを推測するようにしました (Issue #3581)
  • shared: Websocket プロキシ はすべてをプロキシするようにしました
  • tests: "lxc storage volume set" のテストを追加しました
  • tests: 読み込み専用のディスクのテストを追加しました
  • tests: シンボリックリンクが削除された場合のインポートテストを追加しました
  • tests: push と relay モードのテストを追加しました
  • tests: lxdbr0 なしでもテストができるようにしました
  • tests: stop/restart の際は常に --force を指定するようにしました
  • tests: apparmor の存在チェックを行うようにしました
  • tests: カーネルがサポートしていない場合は apparmor のテストをスキップするようにしました
  • tests: 正しく busybox がインストールされているかを確認するようにしました
  • zfs: ファイルシステムをマウントする際には tryMount を使うようにしました

試用環境

この新しい LXD のリリースが、すでに私たちの デモサービス で利用できます。

ダウンロード

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

LXD 2.15 リリースのお知らせ 27th of June 2017

新機能 :

  • "lxc image list" でカラムのカスタマイズができるようになりました
  • "lxc list" と "lxc image list" の両方のコマンドで、出力フォーマットとして表、json、yaml、csv が選べるようになりました
  • コンテンツをダウンロードしている途中で、いくつかの操作がキャンセル (DELETE) できるようになりました
  • "lxc" コマンドラインツールが、古いクライアントコードから新しいクライアントパッケージに移植されました。 これは移植に必要なコードの最後の部分です。LXD 2.16 ではツリーから古いクライアントパッケージを削除する予定です。
  • CopyContainer と CopyContainerSnapshot 関数がクライアントパッケージに追加されました
  • LXD はカスタムストレージボリュームをコンテナにアタッチした際、動的に再マッピングするようになりました (訳注: id を)

バグ修正 :

  • client: I/O の間操作をブロックする追加の実行オプションを追加しました
  • client: イメージサーバがネットワーク経由待ち受けてない場合、コピーが失敗するようにしました
  • client: イベントハンドラのセットアップで競合が起きる可能性があった問題を修正しました
  • client: 値がある場合だけファイルに関するヘッダを設定するようにしました
  • doc: blkio 制限に関する注意書きを追加しました (Issue #3378)
  • doc: イメージのリフレッシュ API 呼び出しの説明を追加しました
  • doc: markdown のエスケープ忘れを修正しました
  • doc: storage.md のフォーマットの調整を行いました (Issue #3376)
  • lxc/file: 再帰 push の際、ソースパスを正規化するようにしました (訳注: filepath.Clean 使用)
  • lxc/file: Windows で適切にファイルのパーミッションを読み取るようになりました (Issue #3363)
  • lxd/containers: 新しい LXC でサポートされる lxc.net.<n>.* 形式の設定キーをサポートしました
  • lxd/containers: umount 前にホストでディスクデバイスが存在するかどうかチェックするようにしました
  • lxd/containers: exec 中の poll で POLLNVAL を検出するようにしました (Issue #2964)
  • lxd/containers: 起動時に EBUSY を受け取ったら失敗するようにしました (Issue #3412)
  • lxd/containers: 設定キーとして lxc.network.<n>.* 形式を使うようにしました
  • lxd/db: 何箇所か InternalError が使われているところを SmartError に置き換えました
  • lxd/images: 常にフィンガープリントを展開するようになりました (Issue #3424)
  • lxd/images: 複数のキャッシュにヒットした場合は一番最近のものを使うようにしました
  • lxd/images: プロトコルが direct の場合に適切にイメージの情報を初期化するようにしました
  • lxd/images: 自動更新でないキャッシュされたイメージはスキップするようにしました
  • lxd/networks: 常に dnsmasq に --conf-file オプションを与えるようにしました (Issue #3367)
  • lxd/networks: DHCP を使う場合だけ DHCP のファイアウォールルールを生成するようにしました (Issue #3432)
  • lxd/networks: コンテナの消去時に IPv6 のリースを消去するようにしました
  • lxd/networks: サブネットの自動検出のエラーを調整しました
  • lxd/patches: ZFS プールに対する問題のあるアップグレードを修正しました (Issue #3386)
  • lxd/patches: 確実にローカルのデバイスが適切に更新されるようにしました (Issue #3169)
  • lxd/shutdown: 指定された場合だけタイムアウトを待つようにしました (Issue #3434)
  • lxd/storage: プールに対する ETag の計算の問題を修正しました
  • lxd/storage: 正しくドライバ名を DB に保存するようにしました (Issue #3386)
  • lxd/storage/btrfs: タイプを検出する前にデフォルトのマウントフラグを適用するようにしました (Issue #3409)
  • lxd/storage/btrfs: 要求に応じてファイルシステムの quota を有効にするようにしました
  • lxd/storage/dir: freeze が失敗したときでも必要なシンボリックリンクを作成するようにしました
  • lxd/storage/dir: rsync がエラーになった際に unfreeze するようにしました
  • lxd/storage/lvm: thinpool が存在する場合は、空でないボリュームグループが使えるようになりました (Issue #3456)
  • lxd/storage/rsync: rsync の際、sparse ファイルを扱えるようになりました (Issue #3287)
  • lxd/storage/zfs: コンテナのスナップショットコピーの際の問題を修正しました (Issue #3395)
  • lxd/storage/zfs: ダミーのデータセットの作成を改良しました (Issue #3399)
  • Makefile: po ファイル更新前の pot ファイルの更新
  • shared/api: API 拡張は構造体の一番最後に移動しました
  • tests: コピー、マイグレーションのテストを更に追加しました
  • tests: カスタムボリュームのアタッチのテストを追加しました
  • tests: "lxc file push -r ./" のテストを追加しました
  • tests: パブリックなリモートに対する finger を実行しないようにしました
  • tests: バックエンドがランダムの際、LVM のマイグレーションテストを再実行しないようにしました
  • tests: テストの場合はイン・メモリデータベースを使うようにしました

試用環境

この新しい LXD のリリースが、すでに私たちの デモサービス で利用できます。

ダウンロード

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

LXD 2.14 リリースのお知らせ 30th of May 2017

新機能:

  • 新しいクライアントライブラリ
    • CreateContainerFromImage 関数を追加しました
    • イメージのアップロードを実装しました
    • リモート操作を実装しました
  • API の追加
    • コンテナ、ネットワーク、ストレージプール、ストレージボリュームに新たに "description" フィールドを追加しました
    • イメージのリフレッシュが可能になりました (lxc image refresh)
  • コンテナを起動する際、リフレッシュされたダウンロードしたイメージより既存のキャッシュされたイメージが優先されるようになりました
  • "lxd init" に "--preseed" オプションと YAML ファイルを与えることで、あらかじめ準備した設定を与えられるようになりました
  • 新たに btrfs.mount_options でプールのプロパティを設定できるようになりました
  • LVM のボリュームのリサイズを実装しました (ext4 は拡張・縮小、xfs は拡張のみ)

バグ修正:

  • client: 後方互換性のために image_create_aliases を追加しました
  • client: 常に queryStruct 関数にポインタを渡すようにしました
  • client: GetServer ではキャッシュを返さなくなりました
  • client: サーバ証明書のフィンガープリントが設定されていない場合、設定するようにしました
  • client: プライベートイメージの扱いの問題を修正しました
  • client: オペレーションハンドラの競合問題を修正しました
  • client: イメージコピーの際のエラーを改良しました
  • client: プロトコルを追跡するようにしました
  • client: CopyImage をターゲットサーバへ移動しました (訳注: 処理の重複を防ぎ整合性を取れるように関数が属する構造体を変更した)
  • client: 不要な条件を削除しました
  • client: ストレージボリュームではボリュームタイプを必須としました
  • client: フィンガープリントの一部でのチェックをサポートしました
  • client: クライアントでなくサーバの証明書を追跡するようにしました
  • client: CopyImage では RemoteOperation を使うようにしました
  • doc: init に YAML で設定を与える方法を記載しました
  • doc: デバイスタイプ名の typo を修正しました
  • doc: markdown のエスケープを修正しました
  • doc: README.md の Docker に関する説明を更新しました
  • doc/network: macvlan とブリッジに関するセクションを追加しました (Issue #3273)
  • doc/storage: 文法を修正しました
  • doc/storage: ZFS の quota と refquota に関する記述を追加しました (Issue #2959)
  • doc/storage: 表内の行の順序の調整を行いました
  • extra/lxc-to-lxd: mount ファイルがない場合もクラッシュしなくなりました (Issue #3237)
  • global: typo を修正しました
  • global: file の Chmod() を os.Chmod() に置き換えました (Issue #3275)
  • global: containerGetParentAndSnapshotName() を使うようにしました
  • i18n: リリース前の更新を行いました
  • i18n: Weblate から翻訳を更新しました
  • lxc: オブジェクト名 (訳注: ネットワーク名やストレージプール名) が指定されていない場合に意味不明なエラーが出るのを修正しました (Issue #3230)
  • lxc: 操作の進捗トラッキングの処理を実装しました
  • lxc/copy: エラーハンドリングを改良しました (Issue #3243)
  • lxc/copy: コードを簡素化しました
  • lxc/file: Windows でのファイルの push の問題を修正しました
  • lxc/file: Windows での再帰的なファイルの push の問題を修正しました
  • lxc/init: 不要な else ステートメントを削除しました
  • lxc/remote: hex でなく文字列としてフィンガープリントを表示するようにしました (Issue #3293)
  • lxc/storage: YAML のエラーを無視しなくなりました
  • lxd: testify で一部のテストを独立して実行できるようにしました
  • lxd/containers: 一時的なキーである host_name もクリアするようにしました
  • lxd/containers: update 時に一時的なキーをクリアするようにしました (Issue #3231)
  • lxd/containers: macvlan インターフェースを作成する際には親インターフェースで IPv6 を無効化するようにしました
  • lxd/containers: fillNetworkDevice は nic に対してのみ実行するようにしました
  • lxd/containers: 可能な限り networkSysctl を使うようにしました
  • lxd/daemon: /1.0 の際の ETag の扱いを修正しました
  • lxd/daemon: サーバのフィンガープリントを設定するようにしました
  • lxd/db: db のテストに testify のテストを追加しました。既存のテストを作りなおしました
  • lxd/db: lxdSuiteTest が終了するごとにモックデーモンでデータベースの状態をクリアするようにしました
  • lxd/db: db へのパッチで不要である特別なモックモードを実行しないようにしました
  • lxd/db: ストレージプールがない場合に NoSuchObjectError を返すようになりました (Issue #3257)
  • lxd/db: デーモンレベルのロジックから DB レベルの更新ロジックを分離しました
  • lxd/images: アップロード時にイメージが既に存在しているかどうかをチェックするようになりました
  • lxd/images: 複数回アンロックの可能性があったのを修正しました
  • lxd/images: イメージの自動更新ロジックにあったリグレッションを修正しました
  • lxd/images: イメージ取得元の証明書を保存し、ダウンロード時に与えるようにしました
  • lxd/images: autoUpdateImage 関数を分割しました
  • lxd/import: コンテナ名を指定しない場合、エラーになるようにしました
  • lxd/init: --auto を与えた場合のバリデーション機能を別メソッドに分けました
  • lxd/init: 状態を帰るインライン関数を独立したメソッドに移動させました
  • lxd/init: 問題が起こった場合、初期状態にロールバックするようにしました
  • lxd/init: デフォルトポートを適切に設定するようにしました (Issue #3341)
  • lxd/networks: ETag のリグレッションを修正しました
  • lxd/patches: 使われてない変数を削除しました
  • lxd/profiles: Docker プロファイルを削除しました
  • lxd/storage: プールが使用中かどうかを検出するヘルパーを追加しました
  • lxd/storage: lxdResolveMountoptions() を追加しました
  • lxd/storage: MS_LAZYTIME をマウントオプションに追加しました
  • lxd/storage: 各種のファイルパーミッションの定数を定義しました
  • lxd/storage: 無限ループを防ぐように修正しました
  • lxd/storage: 問題のある内部の型を修正しました
  • lxd/storage: マウントヘルパーをストレージユーティリティへ移動させました
  • lxd/storage: カスタムボリュームだけを消去するようにしました
  • lxd/storage: コンテナ構造体を ContainerMount() に与えるようにしました
  • lxd/storage: ストレージプールチェックの順序を変更しました
  • lxd/storage/btrfs: getBtrfsPoolMountOptions() を追加しました
  • lxd/storage/btrfs: 異なるバージョンの LXD 間のマイグレーションが扱えるようになりました (Issue #3323)
  • lxd/storage/btrfs: 使われていない変数を削除しました
  • lxd/storage/btrfs: lxdResolveMountoptions() を使うようにしました
  • lxd/storage/lvm: 既存の Thin pool を再利用できるようにしました (Issue #3351)
  • lxd/storage/lvm: ボリュームグループが使用中かどうかチェックするようにしました
  • lxd/storage/lvm: 空でないボリュームグループは使えないようにしました (Issue #3351)
  • lxd/storage/lvm: 空のときだけ VG を削除するようにしました (Issue #3351)
  • lxd/storage/lvm: 適切にマウントオプションを解決するようになりました (Issue #3284)
  • lxd/storage/lvm: プールの作成を簡素化し、改良しました
  • lxd/storage/zfs: mountpoint=none を与えてイメージデータセットを作成するようにしました (Issue #3359)
  • lxd/storage/zfs: データセット作成後にフォルダのパーミッションを設定するようにしました (Issue #3090)
  • lxd/storage/zfs: zfs の EBUSY バグを回避しようとするようにしました (Issue #3228)
  • Makefile: i18n ターゲットに update-po を追加しました
  • Makefile: static-analysis ターゲットを修正しました
  • shared: "lxc edit" の実行で、テンプレートがエディタの yaml-mode で起動するようにしました
  • shared/cmd: 初期コマンドの I/O ロジックを持つ新しい shared/cmd パッケージを追加しました
  • shared/cmd: 色々な AskXXX メソッドに対して cmd.Context を完全にサポートしました
  • shared/cmd: testify に依存しなくなりました
  • shared/cmd: cmdInit をユニットテスト可能なようにログを生成するようにしました
  • shared/logger: golint がクリーンに実行できるようにしました
  • shared/logger: PrintStack を GetStack に置き換えました
  • shared/logging: LogfmtFormat を export しました
  • shared/logging: golint がクリーンに実行できるようにしました
  • shared/termios: golint がクリーンに実行できるようにしました
  • tests: btrfs.mount_options のテストを追加しました (Issue #3264)
  • tests: LV リサイズのテストを追加しました
  • tests: LVM のマウントオプションのテストを追加しました (Issue #3284)
  • tests: quota のテストを追加しました
  • tests: ランダムにストレージバックエンドを選択できるようにしました
  • tests: busybox がうまくシャットダウンするのに依存しなくなりました
  • tests: 再度 jenkins 特有のチェックを削除しました (訳注: 一度削除した処理がどこかのコミットで戻ってた?)
  • tests: 明確にシェルのタイプを shellcheck に与えるようにしました
  • tests: ストレージのテストでは LXD_BACKEND 環境変数を使うようにしました
  • tests: 確実にストレージボリュームがマウントされるようにしました
  • tests: Jenkins の無効なテストを削除しました
  • tests: テストスイートではインデントにスペースを使うようにしました
  • tests/deps: golint がクリーンに実行できるようにしました

試用環境

この新しい LXD のリリースが、すでに私たちの デモサービス で利用できます。

ダウンロード

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

LXD 2.0.10 リリースのお知らせ 11th of May 2017

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

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

細かな改良点 :

  • client: 新しいクライアントライブラリをバックポートし、内部コマンドの一部を移植しました
  • lxc: manpage コマンドを追加しました
  • lxc: すべてのコマンドで --version オプションを使えるようになりました
  • lxc: help2man との互換性のために、クライアント内のヘルプをすべて再作成しました
  • lxd: AppArmor 名前空間が特権コンテナでも有効になりました

バグ修正 :

  • build: デバッグログを追加しました
  • client: profile list コマンドを修正しました (訳注: スペースを含む名前の場合に正常に表示されるよう)
  • client: 不要な条件を削除しました
  • doc: loop デバイスの ZFS を拡張するための方法を追記しました
  • doc: btrfs の qgroups のエスケープについての注意書きを追加しました
  • doc: カーネルのリングバッファに対するアクセス制限を行う方法に関する sysctl パラメータの注釈を追加しました
  • doc: ドキュメントを分割し、コンテナの文書は containers.md に移しました
  • doc: ドキュメントを分割し、プロファイルの文書は profiles.md に移しました
  • doc: ドキュメントを分割し、サーバの文書は server.md に移しました
  • doc: デバイスの例で不適切な名前を修正しました
  • doc: 表が崩れていたのを修正しました
  • doc: LXD が ZFS データセットを完全に制御下に置くことに対する注意を追加しました
  • doc: configuration.md に他のドキュメントへのリンクを置きました
  • doc: 新しいクライアント API 文書へのリンクに書き換えました
  • extra/lxc-to-lxd: ディスクまたはネットワーク情報がない場合にクラッシュしないようにしました
  • extra/lxc-to-lxd: --move-rootfs の説明の Typo を修正しました
  • extra/vagrant: 末尾の空白を削除しました
  • global: すべての filepath.Walk 呼び出しでのエラーハンドリングを修正しました
  • global: 多数の Typo を修正しました
  • global: リダイレクトの際には User-Agent と他のヘッダをフォワードするようにしました
  • global: file の Chmod() を os.Chmod() に置き換えました
  • global: containerGetParentAndSnapshotName() 関数を使うようにしました
  • global: すべての場所で RunCommand を使うようになりました
  • lxc: 翻訳用の文字列からスペースを削除しました
  • lxc: バッチモードを改良しました
  • lxc: ヘルプやエラー時のメッセージの出力をより一貫性のあるものにしました
  • lxc: 共通で利用する関数や型を utils.go に移動しました
  • lxc: エラー時に転送状態を適切にクリアするようにしました
  • lxc: より良い man を出力するための改良を行いました
  • lxc/config: 新たに設定を扱うコードを追加しました
  • lxc/config: 常にリモートの images: に対しては "simplestream" を使うようにしました
  • lxc/config: パスの扱いを修正しました
  • lxc/config: SaveConfig 中での DeepCopy 関数の呼び出しのバグを修正しました
  • lxc/copy: エラーの扱いを改良しました
  • lxc/copy: ソース側 (コピー元) のエラーも返すようにしました
  • lxc/copy: 簡素化しました
  • lxc/copy: 非同期に操作を待つようにしました
  • lxc/image: エイリアスの説明 (description) を表示するようにしました
  • lxc/image: 末尾の空白を削除しました
  • lxc/init: 不要な else ステートメントを削除しました
  • lxc/list: リストのフォーマットオプションのヘルプを追加しました
  • lxc/list: json 出力のリグレッションを修正しました
  • lxc/list: データの展開を行う共通の処理をヘルパー関数に移動しました
  • lxc/profile: "profile unset" を適切に実装しました
  • lxc/publish: コンテナが実行状態になるのを待つようになりました
  • lxc/remote: フィンガープリントを hex でなく文字列として表示するようにしました
  • lxc/utils: 操作の進捗トラッキングの処理を実装しました
  • lxd: 不要な場合の logger.Log の使用を止めました
  • lxd/apparmor: ネストでの AppArmor のスタックの扱いを修正しました
  • lxd/containers: containerGetParentAndSnapshotName() 関数を追加しました
  • lxd/containers: initLXD() にソフトリミットを追加しました
  • lxd/containers: メモリの hard limit が設定される際にも soft limit を (hard limit の 90% に) 設定するようにしました
  • lxd/containers: unix-block/unix-char に対する追加のバリデーションを追加しました
  • lxd/containers: root ディスクデバイスを検出する関数を追加しました
  • lxd/containers: (訳注: veth ペアの) ホスト側のインターフェース名を変わらないように指定できるようになりました
  • lxd/containers: uid/gid のエラー出力をわかりやすくしました
  • lxd/containers: デバイスのバリデーションコードをクリーンアップしました
  • lxd/containers: ブリッジに接続される veth のホスト側で IPv6 を無効化しました
  • lxd/containers: スナップショットの削除の失敗を無視しなくなりました
  • lxd/containers: id の範囲を int32 としてパースしなくなりました
  • lxd/containers: 失敗時にマイグレーションの成功を報告しなくなりました
  • lxd/containers: FindProcess を使わずに、exec.Cmd を与えるようにしました
  • lxd/containers: 使用中のスナップショットの最大値をきちんと返すようになりました
  • lxd/containers: 不適切な root デバイスの検出コードを修正しました
  • lxd/containers: ベースイメージのトラッキングの不具合を修正しました
  • lxd/containers: exec で s.conn (訳注: WebSocket接続) への並列の読み書きを修正しました
  • lxd/containers: FileRemove でのエラーハンドリングを修正しました
  • lxd/containers: minor 番号が 255 より大きなデバイスの扱いを修正しました
  • lxd/containers: コピー中のデバイスの上書きに関する問題を修正しました
  • lxd/containers: ソフトリミットのロジックに float64 を使うように修正しました
  • lxd/containers: 要求に応じて idmap を初期化するようにしました
  • lxd/containers: 正常でない websocket のクローズ時に forkexec を kill するようにしました
  • lxd/containers: パスを 1 つのディスクでのみ使用するようにしました
  • lxd/containers: 適切に idmap のキャッシュを無効化するようにしました
  • lxd/containers: 失敗時にメモリ制限を適切に元に戻すようにしました
  • lxd/containers: アーキテクチャを適切に確認するようになりました
  • lxd/containers: USER, HOME, LANG のデフォルト値を設定しました
  • lxd/containers: 既に処理されている条件分岐を削除しました
  • lxd/containers: uid と gid にはすべて int64 を使うようになりました
  • lxd/containers: コンテナの idmap をできるだけ早く確認するようにしました
  • lxd/containers: root のセットアップ後に拡張設定を確認するようにしました
  • lxd/containers: コンテナの作成時に拡張設定を確認するようにしました
  • lxd/daemon: 起動時に idmap の妥当性をチェックするようになりました
  • lxd/daemon: 競合をいくつか修正しました
  • lxd/daemon: devlxd を tmpfs でマウントするようにしました
  • lxd/daemon: s/Default map/Available map/ (訳注: ログ出力の文字列修正)
  • lxd/daemon: サーバの証明書のフィンガープリントを設定するようにしました
  • lxd/daemon: shmounts に tmpfs を使うようにしました
  • lxd/db: 接続ごとに外部キーを有効化するようにしました
  • lxd/db: 更新がない場合を扱えるようにしました
  • lxd/db: 新しい DB からのダウングレードを検出して失敗にするようになりました
  • lxd/db: DB ロックのタイムアウトを 30 秒に上げ、30ms ごとにリトライするようにしました
  • lxd/db: CASCADE に頼るようにしました
  • lxd/db: 余分なクリーンアップコードを削除しました
  • lxd/devlxd: Go 開発版での UnixConn からの fd の展開を修正しました
  • lxd/events: events API 中のログ出力を改良しました
  • lxd/images: イメージが既に存在するかどうかをチェックするようにしました
  • lxd/images: 残っていた不要なデバッグ用の処理を削除しました
  • lxd/images: 部分的なイメージのフィンガープリントのマッチを修正しました
  • lxd/images: imagesDownloading 変数をデーモン構造体の外に出しました
  • lxd/images: エイリアスの説明 (description) を適切に返すようにしました
  • lxd/images: キャッシュにサーバ証明書を記録するようにしました
  • lxd/images: 少しコードをリファクタリングしました
  • lxd/images: イメージの取得元の証明書を保存し、ダウンロード時にそれを使うようにしました
  • lxd/images: autoUpdateImage 関数を分割しました
  • lxd/init: uid/gid が不足している場合にはユーザ名前空間に関する警告メッセージを表示するだけにしました
  • lxd/init: 既にチェックされている条件を再度チェックしている部分の処理を削除しました
  • lxd/main: activateifneeded 内のコメントを修正しました
  • lxd/main_forkexec: os.FindProcess の使用を止めました
  • lxd/main_netcat: ロギングを実装しました
  • lxd/main_netcat: 新しいヘルパーに切り替えました
  • lxd/main_nsexec: cgo: 割り当てたメモリを開放するようにしました
  • lxd/main: デーモンと activeifneeded の実行を root に制限しました
  • lxd/migration: rsync のエラーの扱いを改良しました
  • lxd/migration: CRIUに関連したエラー出力をわかりやすくしました
  • lxd/migration: EAGAIN を適切に扱うようにしました
  • lxd/migration: netcat が EAGAIN を扱うようにしました
  • lxd/migration: rsync のログ出力を少し調整しました
  • lxd/operations: 使われないループを削除しました
  • lxd/profiles: root ディスクデバイスを確認するようにしました
  • lxd/storage/btrfs: 常に再帰的にサブボリュームを扱う関数を使うようにしました
  • lxd/storage/btrfs: マイグレーション後の空のディレクトリを掃除するようにしました
  • lxd/storage/btrfs: 再帰的なサブボリュームの削除を修正しました
  • lxd/storage/btrfs: ネストしたサブボリュームを正しく扱うようにしました
  • lxd/storage: コンテナ用のディレクトリが確実に正しいパーミッションとなるようにしました
  • lxd/storage: マウント用のヘルパをストレージのユーティリティ用のソースファイルに移動させました
  • lxd/storage: containerGetRootDiskDevice 関数を少し最適化しました
  • Makefile: gorilla/context を常に include するようにしました
  • Makefile: "go get" を繰り返し呼ぶのを止めました
  • Makefile: システムの libsqlite3 が利用可能な場合は使うようにしました
  • shared: コーディングスタイルの調整を行いました
  • shared/api: ContainerPut 構造体に stateful フィールドを追加しました
  • shared/api: イメージ作成のソースを適切に定義するようにしました
  • shared/api: 一貫性のある json と yaml のフィールド名を使うようにしました
  • shared/cmd: 初期コマンドの I/O ロジックを持つ新しい shared/cmd パッケージを追加しました
  • shared/cmd: 色々な AskXXX メソッドに対して cmd.Context を完全にサポートしました
  • shared/gnuflag: golint 向けの修正を行いました
  • shared/i18n: 簡素化とgolint がクリーンに実行できるようにしました
  • shared/idmap: DefaultIdmapSet 関数は常に root に対して実行するようになりました
  • shared/idmap: GetOwner 関数を削除しました
  • shared/idmap: いくつか問題を修正しました
  • shared/idmap: カーネルの ID マップをパースする処理を実装しました
  • shared/idmap: Usable() 関数を実装しました (訳注: コンテナに必要な id の範囲の有効性のチェックなど)
  • shared/idmap: shadow の ID ファイルのパースを改良しました
  • shared/idmap: デフォルトを見つけようとするようになりました
  • shared/idmap: idmap の変更中のデバッグコードを削除しました
  • shared/ioprogress: 簡素化とgolint がクリーンに実行できるようにしました
  • shared/logger: フォーマットをきれいに行えるようにしました
  • shared/logger: ログ出力のための新しいパッケージを作成しました
  • shared/logger: golint がクリーンに実行できるようにしました
  • shared/logger: PrintStack を GetStack に置き換えました
  • shared/logging: LogfmtFormat を export しました
  • shared/logging: golint がクリーンに実行できるようにしました
  • shared/simplestreams: 利用可能な場合は常に squashfs を選択するようにしました
  • shared/simplestreams: イメージファイルリストを export するようにしました
  • shared/simplestreams: エラーハンドリングを改良しました
  • shared/simplestreams: イメージのリビルドを適切に扱うようになりました
  • shared/termios: golint がクリーンに実行できるようにしました
  • shared/util: errno を検出する関数を追加しました
  • shared/util: "lxc edit" の実行でテンプレートがエディタの yaml-mode で起動するようにしました
  • shared/util: Windows では chown を実行しなくなりました
  • shared/util: FileCopy が常にオーナーを保持するようにしました
  • shared/util: FileCopy が常にファイルのモードを維持するようになりました
  • shared/version: golint がクリーンに実行できるようにしました
  • tests: db のテストでは testify test suite を使うようにし、既存のテストを書き直しました
  • tests: golint を追加しました
  • tests: lxd init --auto のテストを追加しました
  • tests: ストレージバックエンドをランダムで選択できるようにしました
  • tests: devlxd もアンマウントするようにしました
  • tests: loop デバイスを常にクリーンアップするようにしました
  • tests: zfs の競合を避けました
  • tests: "lxd init" テストで zpool をリークしなくなりました
  • tests: 明確にシェルのタイプを shellcheck に与えるようにしました
  • tests: lxd の auto init のテストを修正しました
  • tests: Typo を修正しました
  • tests: リブートにかかる時間をもう少し長く取るようにしました
  • tests: ストレージのテストでは LXD_BACKEND 環境変数を使うようにしました
  • tests: デッドコードのテストパフォーマンスを改良しました
  • tests: 確実にクライアント証明書が生成されるようにしました
  • tests: 確実にストレージボリュームがマウントされるようにしました
  • tests: テンプレートのテストスイートで適切にクリーンアップされるようにしました
  • tests: テストにかかった時間を記録するようにしました
  • tests: Jenkins の無効なテストを削除しました
  • tests: client/ と lxc/config/ で golint を実行するようにしました
  • tests: "go fmt" の代わりに gofmt を使うように変更しました
  • tests: テストスイートのファイルパーミッションから実行権を削除しました
  • tests: モニタ自身で exit するので kill の失敗を無視するようにしました
  • tests: 行末のスペースを削除しました
  • tests: 新しいクライアントに対する更新を行いました
  • tests: stable ブランチ用に init のテストを更新しました
  • tests: pyflakes と pep8 を別々に呼ぶ代わりに flake8 を使うようにしました
  • tests/deps: golint がクリーンに実行できるようにしました
  • tests/lxd-benchmark: --help と --version の扱いを修正しました

ダウンロード

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

LXD 2.13 リリースのお知らせ 25th of April 2017

このリリースに含まれる変更点

新機能 :

  • lxc/copy: スナップショットを含まない形でコンテナのコピーができるようになりました (--container-only)
  • lxd/storage/zfs: 新たに "zfs.clone_copy" プロパティが追加されました (クローンでなく完全なコピーを作ります)
  • client: 新たに、より良いデザインの クライアントライブラリ がテスト向けに利用可能になりました
  • lxd/containers: UNIXキャラクタ/ブロックデバイスを、コンテナ内の異なった名前にマップできるようになりました ("source" と "path" キーを設定してください)
  • lxd/containers: 特権コンテナでも AppArmor 名前空間が有効になりました
  • lxd/storage/lvm: Thinpool でない LVM ストレージプールを実装しました ("lvm.use_thinpool" を "false" に設定してください)
  • lxc/list: 出力フォーマットに CSV が選べるようになりました
  • lxd/init: 既存の btrfs 環境内でのサブボリュームの作成をサポートしました
  • lxd/storage: rsync の帯域幅を制限するために "rsync.bwlimit" を追加しました
  • lxd/network: VXLAN のマルチキャストインターフェースを上書きできるようになりました ("tunnel.NAME.interface" を設定してください)

バグ修正 :

  • client: 基本的なログ出力を追加しました
  • client: file push のパスの扱いを修正しました (Issue #3153)
  • doc/api-extensions: 適切にマークダウンをエスケープしました
  • doc/configuration: 廃止になった設定オプションを削除しました
  • doc/configuration: ドキュメントを分割し、コンテナの文書は containers.md に移しました
  • doc/configuration: ドキュメントを分割し、ネットワークの文書は networks.md に移しました
  • doc/configuration: ドキュメントを分割し、プロファイルの文書は profiles.md に移しました
  • doc/configuration: ドキュメントを分割し、サーバの文書は server.md に移しました
  • doc/configuration: ドキュメントを分割し、ストレージの文書は storage.md に移しました
  • doc/configuration: ストレージボリュームの設定の説明を修正しました (Issue #3140)
  • doc/configuration: configuration.md に他の分割した文書へのリンクを置きました
  • doc/lxd-ssl-authentication: PKI の CRL に関する注意書きを削除しました (実装されてないので)
  • doc/production-setup: 表が崩れていたのを修正しました
  • doc/README: 新しいクライアント API 文書へのリンクに書き換えました
  • doc/storage: btrfs の qgroups のエスケープについての注意書きを追加しました (Issue #3135)
  • doc/storage: 少しフォーマットを調整しました
  • i18n: weblate から翻訳を更新しました
  • lxc/copy: ソース側 (コピー元) のエラーも返すようにしました (Issue #3086)
  • lxc/copy: 非同期に操作を待つようにしました
  • lxc/list: リストのフォーマットオプションのヘルプを追加しました
  • lxc/manpage: すべてのコマンドが "man lxc" で表示されるようになりました (Issue #3214)
  • lxd/containers: containerGetParentAndSnapshotName() 関数を追加しました (訳注: 親コンテナ名、スナップショット名を取得するヘルパー関数)
  • lxd/containers: メモリの hard limit が設定される際にも soft limit を (hard limit の 90% に) 設定するようにしました
  • lxd/containers: (訳注: veth ペアの) ホスト側のインターフェース名を変わらないように指定できるようになりました (Issue #3143)
  • lxd/containers: minor 番号が 255 より大きなデバイスの扱いを修正しました
  • lxd/containers: securtiy.syscalls.blacklist の typo を修正しました
  • lxd/containers: unix デバイスの削除の問題を修正しました (不正な cgroup.deny 指定)(Issue #3107)
  • lxd/containers: 作成時のストレージのエラーメッセージを改良しました (issue #3110)
  • lxd/containers: 適切に idmap のキャッシュを無効化するようにしました
  • lxd/daemon: PKI 証明書の扱いを改良しました (Issue #3162)
  • lxd/db: 更新がない場合を扱えるようにしました
  • lxd/images: 残っていた不要なデバッグ用の処理を削除しました
  • lxd/init: --storage-backend の説明にすべてのストレージオプションを追加しました
  • lxd/main_activateifneeded: 新しいクライアントコードへのポーティングを行いました
  • lxd/main_callhook: 新しいクライアントコードへのポーティングを行いました
  • lxd/main_daemon: 新しいクライアントコードへのポーティングを行いました
  • lxd/main_forkexec: os.FindProcess の使用を止めました (Issue #3037)
  • lxd/main_import: 存在しないスナップショットパスを扱うようにしました (Issue #3198)
  • lxd/main_import: 新しいクライアントコードへのポーティングを行いました
  • lxd/main_init: 新しいクライアントコードへのポーティングを行いました
  • lxd/main_migratedumpsuccess: 新しいクライアントコードへのポーティングを行いました
  • lxd/main_netcat: ログ出力を実装しました (Issue #2494)
  • lxd/main_netcat: 新しいヘルパーに移行しました
  • lxd/main_ready: 新しいクライアントコードへのポーティングを行いました
  • lxd/main_shutdown: 新しいクライアントコードへのポーティングを行いました
  • lxd/main_waitready: 新しいクライアントコードへのポーティングを行いました
  • lxd/migration: ステートフルなりストアの問題を修正しました
  • lxd/operations: 使われないループを削除しました
  • lxd/profiles: ETag の扱いを修正しました
  • lxd/rsync: netcat が EAGAIN を扱うようにしました (Issue #3168)
  • lxd/storage: プロファイル変更の際、プールの存在をチェックするようにしました (Issue #3137)
  • lxd/storage: 設定のバリデーションを修正し、改良しました
  • lxd/storage/lvm: スナップショットの扱いを改良しました
  • lxd/storage/lvm: {Try}RunCommand() の呼び出しを調整しました (訳注: LVM関係で外部コマンドを実行する部分の調整)
  • shared/api: ContainerPut 構造体に stateful フィールドを追加しました
  • shared/api: イメージ作成のソースを適切に定義するようにしました
  • shared/gnuflag: golint 向けの修正を行いました
  • shared/i18n: 簡素化と golint がクリーンに実行できるようにしました
  • shared/ioprogress: 簡素化と golint がクリーンに実行できるようにしました
  • shared/logger: ログ出力に行番号を追加しました
  • shared/logger: フォーマットをきれいに行えるようにしました
  • shared/logger: ログ出力のための新しいパッケージを作成しました
  • shared/util_linux: errno を検出するための関数を追加しました (Issue #2494)
  • shared/version: golint がクリーンに実行できるようにしました
  • tests/lxd-benchmark: 新しいクライアントコードへのポーティングを行いました
  • tests: 追加の "file push -p" テストを追加しました
  • tests: 追加のインポートテストを追加しました (Issue #3198)
  • tests: 追加のストレージプールテストを追加しました
  • tests: copy と move の際のマイグレーションテストを追加しました (Issue #3006)
  • tests: テストスイートの実行権を落としました (source で読まれるため)
  • tests: 確実にクライアント証明書が生成されるようにしました
  • tests: インポートテストで依存するレコードも確実に削除するようにしました
  • tests: テストにかかった時間を記録するようにしました
  • tests: client/ と lxc/config/ に対して golint を実行するようにしました
  • tests: DB を変更する前にコンテナを停止させるようにしました
  • tests: pyflakes と pep8 を別々に呼ぶ代わりに flake8 を使うようにしました
  • tests: インポートテストを簡略化するために shutdown/respawn ヘルパーを使うようにしました

試用環境

この新しい LXD のリリースが、すでに私たちの デモサービス で利用できます。

ダウンロード

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

LXD 2.12 リリースのお知らせ 20th of March 2017

このリリースに含まれる変更点

新機能 :

  • lxc/exec: ssh スタイルの -t/-T/-n オプションを実装しました
  • lxd/init: すべてのストレージドライバをサポートしました

バグ修正 :

  • doc: カーネルのリングバッファに対するアクセス制限を行う方法に関する sysctl パラメータの注釈を追加しました
  • doc: バックアップ戦略に関する文書を追加しました
  • doc: POST で X-LXD-type が有効であることを追加しました
  • lxc: エラー時に転送状態を適切にクリアするようにしました
  • lxc/copy: copy 時にライブマイグレーションを試みなくなりました (訳注: copy の際にライブマイグレーションかどうかを指定できるようになった)
  • lxc/list: list コマンドのシンプルなフォーマットの例を追加しました
  • lxd/backup: バックアップのハンドリングを改良しました
  • lxd/backup: コンテナのストレージボリュームを記録するようにしました
  • lxd/backup: ストレージプールの構造を記録するようにしました
  • lxd/containers: 使用中のスナップショットの最大値をきちんと返すようになりました
  • lxd/daemon: デフォルトで廃止されたキーを削除できるようになりました
  • lxd/daemon: 壊れたパッチが当たった状態では StoragePoolCheck() を実行しないようにしました
  • lxd/images: キャッシュにサーバ証明書を記録するようにしました
  • lxd/init: 利用可能なストレージバックエンドをわかりやすく出力するようになりました
  • lxd/internal: コンテナのストレージボリュームをチェックするようにしました
  • lxd/patches: update の前に設定が空かどうかチェックするようにしました
  • lxd/patches: 既存のプールの設定が存在していることを確認するようにしました
  • lxd/storage: SetupStorageDriver() を適合させました (訳注: Storage API のアップグレードに伴い強制チェックができるように SetupStorageDriver を変更した)
  • lxd/storage: container_lxc を shared/api にマッチさせるように修正しました
  • lxd/storage: Storage{Start,Stop}() が bool とエラーを返すようになりました
  • lxd/storage/btrfs: isBtrfsFilesystem() を追加しました (訳注: パスが Btrfs かどうかチェックする)
  • lxd/storage/lvm: 強制的に lvmetad のキャッシュを更新するようにしました
  • lxd/storage/zfs: 再利用のイメージのためにボリュームエントリーを作成するようにしました
  • lxd/storage/zfs: カーネルモジュールがロードされていない場合にロードするようにしました
  • lxd/storage/zfs: スナップショットのマウントポイントを削除しないようにしました
  • lxd/storage/zfs: zfs の umount が失敗した場合、lazy umount を試すようにしました
  • scripts/lxc-to-lxd: --move-rootfs の説明の Typo を修正しました
  • shared/api: POST もカバーするように storage.go を更新しました
  • shared/simplestreams: イメージファイルリストを export するようにしました
  • tests: lxd import のテストを追加しました
  • tests: btrfs の検出コードを修正しました
  • tests/lxd-benchmark: --help と --version の扱いを修正しました

試用環境

この新しい LXD のリリースが、すでに私たちの デモサービス で利用できます。

ダウンロード

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

LXD 2.11 リリースのお知らせ 8th of March 2017

このリリースに含まれる変更点

新機能 :

  • 初期の 1 つ以上のエイリアスを設定するためのフィールド "aliases" が POST /1.0/images 内に追加されました
  • ヘルプメッセージとクライアントで manpage を生成するための "lxc manpage" コマンドを改良しました
  • "macvlan" デバイス向けの "vlan" NIC プロパティを追加しました。ホストデバイスの特定の VLAN に接続できます

バグ修正 :

  • doc: loop デバイスの ZFS を拡張するための方法を追記しました
  • doc: ストレージのドキュメントを改良しました (Issue #3013)
  • global: すべての場所で RunCommand を使うようになりました
  • i18n: テンプレートをリフレッシュしました
  • i18n: weblate から翻訳を更新しました
  • i18n: 翻訳テンプレートを更新しました
  • lxc: すべてのコマンドで --version オプションを使えるようになりました
  • lxc: ヘルプやエラー時のメッセージの出力をより一貫性のあるものにしました
  • lxc: より良い man を出力するための改良を行いました
  • lxc/image: エイリアスの説明 (description) を表示するようにしました
  • lxc/profile: "profile unset" を適切に実装しました
  • lxd/containers: FindProcess を使わずに、exec.Cmd を与えるようにしました (Issue #3037)
  • lxd/containers: 失敗時にメモリ制限を適切に元に戻すようにしました (Issue #3017)
  • lxd/images: エイリアスの説明 (description) を適切に返すようにしました
  • lxd/images: 少しコードをリファクタリングしました
  • lxd/migration: ストレージプールが使用できない場合は設定から削除するようにしました (Issue #3036)
  • lxd/migration: rsync のエラーの扱いを改良しました
  • lxd/migration: btrfs の正しいプールプロパティを設定するようにしました (Issue #3036)
  • lxd/migration: zfs の正しいプールプロパティを設定するようにしました (Issue #3036)
  • lxd/migration: rsync のログ出力を少し調整しました
  • lxd/patches: まだマウントされてない場合は tryMount() を呼ぶようにしました (Issue #3026)
  • lxd/patches: lvrename コマンドを lvm のデバイスパスの存在を確認してから実行するようにしました (Issue #3026)
  • lxd/patches: LV が存在しない場合は image データベースのエントリを削除するようにしました (Issue #3026)
  • lxd/patches: 論理ボリュームサイズを検出するようにしました
  • lxd/patches: 誤った btrfs のソースプロパティを修正しました (Issue #3020)
  • lxd/patches: lvm と dir が混じったストレージの upgrade を扱えるようにしました (Issue #3026)
  • lxd/patches: lvm で MNT_DETACH を使うようにしました (Issue #3026)
  • lxd/patches: lvm スナップショットディレクトリには RemoveAll() を使うようにしました (Issue #3026)
  • lxd/storage/btrfs: loop バックエンドのプールを正しく扱うようにしました (Issue #3020)
  • lxd/storage/btrfs: 特別なサブボリュームパスを扱うようにしました (Issue #3020)
  • lxd/storage/dir: 有効なプールのソースパスを制限しました (Issue #3023)
  • lxd/storage/lvm: {pv,vg}scan を呼ぶようにしました
  • lxd/storage/lvm: メソッドから関数へ関数を書き換えました (Issue #3026)
  • lxd/storage: btrfs でない更新元を扱うようにしました (Issue #3024)
  • lxd/storage: スナップショットが確実に正しいプールを持つようにしました (Issue #3036)
  • lxd/storage: btrfs のマイグレーションコードを堅牢にしました (Issue #3024)
  • lxd/storage: prepareLoopDev() がエラーを直接レポートしているのでエラーメッセージを削除しました
  • shared/idmap: 色々問題を修正しました
  • tests: dir と btrfs のテストをさらに追加しました (Issue #3023)
  • tests: ストレージテストの LVM 部分を改良しました

試用環境

この新しい LXD のリリースが、すでに私たちの デモサービス で利用できます。

ダウンロード

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

LXD 2.10.1 リリースのお知らせ 2nd of March 2017

このリリースに含まれる変更点

このリリースは LXD 2.10 に対するバグフィックスのためのリリースです。2.10 リリース後に報告された問題をいくつか修正しています。

バグ修正 :

  • global: すべての filepath.Walk 呼び出しでのエラーハンドリングを修正しました
  • lxd/images: ベースイメージのトラッキングの不具合を修正しました (Issue #2999)
  • lxd/init: root 以外での実行ができるようになりました
  • lxd/storage: set_autoclear_loop_device() を追加しました (訳注: loop デバイスに LO_FLAGS_AUTOCLEAR フラグを設定する関数)
  • lxd/storage/lvm: loop デバイスを使った lvm ストレージプールが使えるようになりました
  • lxd/storage/lvm: defer 呼び出しを修正しました
  • lxd/storage/lvm: ボリューム delete 時に loop device が確実に存在しているようにしました
  • lxd/storage/lvm: ファイルを削除する前に LO_FLAGS_AUTOCLEAR を設定するようにしました
  • lxd/storage/lvm: LV に対してはコンテナ名を元に LVM で使用可能な名前を使うようにしました
  • lxd/storage/zfs: 成功時に元の状態に戻さないようにしました
  • lxd/storage/zfs: 起動時に loop デバイスを使ったストレージプールをインポートするようにしました
  • shared/simplestreams: エラーハンドリングを改良しました
  • shared/util: UUID と BlockDev の探索中にエラーをチェックするようにしました
  • tests: さらに別の LVM プールのボリュームサイズを修正しました
  • tests: リブートにもう少し時間を与えるようにしました
  • tests: LVM の作成は "lxc storage" にのみ依存するようになりました

試用環境

この新しい LXD のリリースが、すでに私たちの デモサービス で利用できます。

ダウンロード

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

LXD 2.10 リリースのお知らせ 28th of February 2017

このリリースに含まれる変更点

新機能 :

  • LVM バックエンドを使う場合、lvm.vg_name と lvm.thinpool_name が変更できるようになりました
  • "lxd init" をコンテナやイメージが存在する場合でも実行できるようになりました

バグ修正 :

  • doc: markdown 内で正しくエスケープするようにしました
  • doc: デバイスの例で不適切な名前を修正しました
  • global: uid と gid にはすべて int64 を使うようになりました
  • i18n: 翻訳とテンプレートを更新しました
  • i18n: Weblate から翻訳を更新しました
  • lxc: 共通で利用する関数や型を utils.go に移動しました
  • lxc/action: バッチモードを改良しました (Issue #2966)
  • lxc/file: シンボリックリンクの転送を検出して失敗とするようにしました (Issue #2970)
  • lxc/publish: コンテナが実行状態になるのを待つようになりました
  • lxd/containers: uid/gid のエラー出力をわかりやすくしました
  • lxd/containers: id の範囲を int32 としてパースしなくなりました
  • lxd/containers: コピー中のデバイスの上書きに関する問題を修正しました (Issue #2872)
  • lxd/containers: uint32 のチェックがきちんと行われるよう修正しました
  • lxd/containers: 要求に応じて idmap を初期化するようにしました
  • lxd/containers: 正常でない websocket のクローズ時に forkexec を kill するようにしました
  • lxd/containers: アーキテクチャを適切に確認するようになりました (Issue #2971)
  • lxd/containers: idmap の変更時のデバッグ出力を削除しました
  • lxd/containers: コンテナのストレージの初期化を簡素化しました
  • lxd/containers: コンテナの idmap をできるだけ早く確認するようにしました
  • lxd/containers: コンテナの作成時に拡張設定を確認するようにしました
  • lxd/daemon: 起動時に idmap の妥当性をチェックするようになりました (Issue #2885)
  • lxd/daemon: 新しい DB からのダウングレードを検出して失敗にするようになりました
  • lxd/daemon: 競合をいくつか修正しました
  • lxd/events: events API 中のログ出力を改良しました
  • lxd/images: 最適化されていないストアを適切に扱うようになりました
  • lxd/init: uid/gid が不足している場合にはユーザ名前空間に関する警告メッセージを表示するだけにしました
  • lxd/patches: ボリュームグループと論理ボリュームを有効化するようにしました
  • lxd/patches: lvm の volume.size をパースしないようにしました
  • lxd/patches: 既存のデータセットからの zfs upgrade の問題を修正しました
  • lxd/storage: 適切なログ出力を追加しました
  • lxd/storage: プロファイルでボリュームが使われているかどうかをチェックするようにしました
  • lxd/storage: loop デバイス用のファイルが使われているかどうかを検出するようにしました
  • lxd/storage: ストレージボリュームのアタッチを改良しました
  • lxd/storage: フラグ引数を設定できるようにしました (訳注: ループバックデバイスを準備する時にioctlに渡すフラグを引数として与えられるようにした)
  • lxd/storage: ストレージドライバのキャッシュ処理を storage.go に移動させました
  • lxd/storage: 使っていない関数の引数を削除しました
  • lxd/storage: 正しいエラーメッセージを返すようにしました
  • lxd/storage: StoragePoolInit() の処理を簡素化しました
  • lxd/storage/btrfs: 非特権の場合、quota が有効にできないことをログに出力するようにしました
  • lxd/storage/lvm: ボリュームグループと論理ボリュームを有効化するようにしました
  • lxd/storage/lvm: ボリュームサイズを設定しないようにしました
  • shared/idmap: GetOwner 関数を削除しました
  • shared/idmap: Usable() 関数を実装しました (訳注: コンテナに必要な id の範囲の有効性のチェックなど)
  • shared/idmap: デフォルトの id マッピングを見つけようとする処理を追加しました
  • tests: ストレージボリュームの attach, detach のテストを追加しました
  • tests: "lxd init" テストで zpool をリークしなくなりました

試用環境

この新しい LXD のリリースが、すでに私たちの デモサービス で利用できます。

ダウンロード

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

LXD 2.9.3 リリースのお知らせ 24th of February 2017

このリリースに含まれる変更点

このリリースは LXD 2.9 に含まれる、ユーザから報告されたマイグレーションの問題を修正するためのリリースです。

バグ修正 :

  • client: 常にリモートの images: に対しては "simplestream" を使うようにしました
  • doc: storage.md にクライアントコマンドの例を追加しました
  • doc: pool のプロパティである lvm.{thinpool,vg}_name の説明を追加しました
  • lxd: root デバイスのバリデーションコードをクリーンアップしました
  • lxd/containers: unix-block/unix-char に対する追加のバリデーションを追加しました
  • lxd/containers: quota を適用する前にストレージの準備が完了しているかどうかをチェックするようにしました
  • lxd/containers: スナップショットの削除の失敗を無視しなくなりました
  • lxd/daemon: s/Default map/Available map/ (訳注: ログ出力の文字列修正)
  • lxd/init: "lxd init" を一般ユーザで実行できるようになりました
  • lxd/main: activateifneeded 内のコメントを修正しました
  • lxd/main: デーモンと activeifneeded の実行を root に制限しました
  • lxd/patches: upgrade 時のプールとボリュームの設定についての問題を修正しました
  • lxd/patches: (訳注: volume.lvm.thinpool_name を) lvm.thinpool_name にリネームしました
  • lxd/storage: (訳注: コンテナのストレージボリュームに対する操作ができるかどうかをチェックする) ContainerStorageReady() 関数を追加しました
  • lxd/storage: (訳注: ストレージボリュームのデフォルト値を設定値に入れる) storageVolumeFillDefault() を (訳注: コンテナの作成時とカスタムストレージボリュームを足した際に) 呼ぶようにしました
  • lxd/storage: 設定のチェックの際には設定を変更しないようにしました
  • lxd/storage: エラー時に DB からイメージの情報を確実に削除するようにしました
  • lxd/storage: イメージにデフォルト値を設定するようにしました
  • lxd/storage: プールとボリュームが正しく設定を継承するように実装しました
  • lxd/storage: 作成時のみデフォルト値を設定するようにしました (訳注: 5 つ上の設定で一部変更されています)
  • lxd/storage: lvm で正しいサイズプロパティのみ設定するようにしました
  • lxd/storage: UsedBy を適切に報告するようにしました
  • lxd/storage: プールとボリュームの設定をチェックが OK かどうかをチェックしてからストレージサイズを受け取ります
  • lxd/storage/btrfs: 常に mount オプションを与えるようにしました
  • lxd/storage/btrfs: 常に再帰的にサブボリュームを扱う関数を使うようにしました
  • lxd/storage/btrfs: 使われていないコードを削除しました
  • lxd/storage/btrfs: upgrade を改良しました
  • lxd/storage/btrfs: loop デバイスの場合のみ size を使うようにしました
  • lxd/storage/btrfs: ネストしたサブボリュームを正しく扱うようにしました
  • lxd/storage/btrfs: "source" が空の場合は loop ファイルを設定するようにしました
  • lxd/storage/dir: デバイスをまたがった upgrade を扱うようにしました
  • lxd/storage/lvm: lvm.thinpool_name と lvm.vg_name を追加しました
  • lxd/storage/lvm: 存在する volume group を再利用できるようになりました
  • lxd/storage/lvm: 常に lvm.thinpool_name を設定するようにしました
  • lxd/storage/lvm: delete 時に 2 度コンテナをアンマウントしなくなりました
  • lxd/storage/lvm: サイズで "i" という文字を扱えるようになりました (訳注: 例えば GB でなく GiB という単位を扱えるようになった)
  • lxd/storage/lvm: "size" でなく正しく "volume.size" をパースするようになりました (訳注: 設定で "volume.size" の値を使うべきところで "size" を使おうとしていたので修正)
  • lxd/storage/lvm: 設定項目から volume.lvm.thinpool_name を削除しました
  • lxd/storage/lvm: StoragePoolVolume{M,Um}ount の間ロックするようにしました
  • lxd/storage/zfs: StoragePoolVolume{M,Um}ount の間ロックするようにしました
  • lxd/storage/zfs: 設定キーを正しく扱うようにしました
  • lxd/storage/zfs: loop デバイスの場合のみ size を使うようにしました
  • lxd/storage/zfs: 何度も出力されるログメッセージを削除しました
  • lxd/storage/zfs: 古い (訳注: LXD で作成した) イメージでは mountpoint=none を設定するようにしました
  • shared/idmap: DefaultIdmapSet 関数は常に root に対して実行するようになりました
  • shared/idmap: カーネルの ID マップをパースする処理を実装しました
  • shared/idmap: shadow の ID ファイルのパースを改良しました
  • shared/simplestreams: イメージのリビルドを適切に扱うようになりました
  • tests: 統一したコマンドを実行するように他のコマンド実行に合わせました
  • tests: LVM 特有のストレージプールテストを追加しました
  • tests: devlxd もアンマウントするようにしました
  • tests: loop デバイスを常にクリーンアップするようにしました
  • tests: LVM では常に 25MB のボリュームを使うようにしました
  • tests: lxd の auto init のテストを修正しました
  • tests: デッドコードのテストパフォーマンスを改良しました
  • tests: カスタムボリュームの作成をテストするようにしました

試用環境

この新しい LXD のリリースが、すでに私たちの デモサービス で利用できます。

ダウンロード

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

LXD 2.9.2 リリースのお知らせ 20th of February 2017

このリリースに含まれる変更点

このリリースは LXD 2.9 に含まれる、ユーザから報告されたマイグレーションの問題を修正するためのリリースです。

バグ修正 :

  • lxd/containers: root ディスクデバイスを検出する関数を追加しました
  • lxd/containers: 適切な root ディスクデバイスを保証するようにしました
  • lxd/containers: デバイスからプールを取得する処理を追加しました
  • lxd/containers: パスを 1 つのディスクでのみ使用するようにしました
  • lxd/init: ストレージ関連の処理で発生したリグレッションを修正しました
  • lxd/init: 細かな修正を行いました
  • lxd/migration:有効なストレージプールを検出するヘルパを呼ぶようにしました
  • lxd/migration: ストレージ API を使ったコンテナの移動を修正しました
  • lxd/patches: 部分的なアップグレードを扱い、プールを修正するようにしました
  • lxd/patches: btrfs のアップグレードを改良しました
  • lxd/patches: dir のアップグレードを改良しました
  • lxd/patches: (訳注: 2 度目のアップグレードの実行では) プールの更新のみを再実行するようにしました
  • lxd/profiles: root ディスクデバイスを確認するようにしました
  • lxd/storage/btrfs: 作成したプール上で quota を有効にしました
  • lxd/storage/dir: データベースからイメージを削除するようにしました
  • Makefile: 常に gorilla/context を include するようにしました
  • Makefile: "go get" を 1 度だけ呼ぶようにしました
  • tests: lxd init --auto のテストを追加しました
  • tests: プロファイル中の root ディスクデバイスに対するテストを追加しました
  • tests: 使用可能なツールに基づいたテストを実行するようにしました
  • tests: タブとスペースの混在を再度修正しました

試用環境

この新しい LXD のリリースが、すでに私たちの デモサービス で利用できます。

ダウンロード

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

LXD 2.9.1 リリースのお知らせ 16th of February 2017

このリリースに含まれる変更点

LXD 2.9 で混入したいくつかのリグレッションを修正するために、このバグフィックスリリースを行いました。

バグ修正 :

  • doc: ディスクデバイスの "pool" プロパティをドキュメントに追加しました
  • lxc/storage: create のヘルプを修正しました
  • lxc/storage: 処理を簡素化しました
  • lxd/daemon: 廃止されたストレージのキーを削除できるようになりました
  • lxd/patches: ストレージをアップグレードするコードにコメントを追加しました
  • lxd/storage: ロギングの改良を行いました
  • lxd/storage: 操作コードのリネームと追加を行いました
  • lxd/storage: ZFS {pool, dataset} が存在すれば使い、そうでなければ作成するようにしました
  • lxd/storage: ロックの際に単一の操作 ID を使うようにしました
  • tests: ZFSで、プールとしてデータセットを使うか、そうでなければ存在するプールを使うようにしました

試用環境

この新しい LXD のリリースが、すでに私たちの デモサービス で利用できます。

ダウンロード

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

LXD 2.9 リリースのお知らせ 15th of February 2017

このリリースに含まれる変更点

新機能 :

  • LXD ストレージ管理 API を導入しました
    • LXD で複数のストレージプールが使えます
    • プールはコンテナやカスタムボリュームを保存するのに使えます
    • 新たな /1.0/storage-pools API を追加しました (rest-api.md をご覧ください)
    • 新たな "lxc storage" コマンドセットを追加しました
    • "lxd init" コマンドは新たにストレージプールの作成をサポートしました
  • "lxc network attach" でネットワークインターフェースの設定ができるようになりました
  • 新たに "lxc file delete" コマンドと API を追加しました
  • API を使ってファイルを上書きするのでなく、追加する機能を追加しました
  • DHCPのリース時間を設定するオプションとして新たに "ipv4.dhcp.expiry" と "ipv6.dhcp.expiry" を追加しました

バグ修正 :

  • doc: PUT と PATCH の違いについて説明を追加しました (Issue 2873)
  • doc: LXD が ZFS データセットを完全に制御下に置くことに対する注意を追加しました
  • doc: 最新の DB スキーマに合致するように database.md を更新しました
  • lxc: 翻訳用の文字列からスペースを削除しました
  • lxc/list: json 出力のリグレッションを修正しました (Issue 2887)
  • lxd/containers: ブリッジに接続される veth のホスト側で IPv6 を無効化しました (issue 2845)
  • lxd/containers: 存在しないパスの解決をブロックしなくなりました
  • lxd/containers: イメージのフィンガープリントを 2 度チェックしないようにしました
  • lxd/containers: exec で s.conn (訳注: WebSocket接続) への並列の読み書きを修正しました (Issue 2862)
  • lxd/containers: FileRemove でのエラーハンドリングを修正しました
  • lxd/containers: USER, HOME, LANG のデフォルト値を設定しました (Issue 2830)
  • lxd/daemon: devlxd を tmpfs でマウントするようにしました (Issue 2877)
  • lxd/daemon: shmounts に tmpfs を使うようにしました
  • lxd/db: 接続ごとに外部キーを有効化するようにしました
  • lxd/db: DB ロックのタイムアウトを 30 秒に上げ、30ms ごとにリトライするようにしました (Issue 2826)
  • lxd/db: CASCADE に頼るようにしました (Issue 2844)
  • lxd/db: 余分なクリーンアップコードを削除しました
  • lxd/devlxd: Go 開発版での UnixConn からの fd の展開を修正しました
  • lxd/images: 部分的なイメージのフィンガープリントのマッチを修正しました
  • lxd/images: imagesDownloading 変数をデーモン構造体の外に出しました
  • lxd/init: ストレージバックエンドのチェックを 2 度行わないようにしました
  • lxd/migration: CRIUに関連したエラー出力をわかりやすくしました
  • lxd/migration: 失敗時にマイグレーションの成功を報告しなくなりました
  • lxd/nsexec: fdopendir() が返す *DIR ストリームをクローズするようにしました
  • lxd/nsexec: 割り当てたメモリを開放するようにしました
  • lxd/storage/btrfs: 再帰的なサブボリュームの削除を修正しました
  • lxd/storage/zfs: デバイスをトラッキングするロジックを簡素化しました
  • Makefile: 使用可能な場合はシステムの libsqlite3 を使うようにしました
  • network: IPv6 を使っていないホストでは ip6tables のクリアをスキップするようにしました (Issue 2842)
  • shared: リダイレクトの際には User-Agent と他のヘッダをフォワードするようにしました (Issue 2805)
  • shared/api: 一貫性のある json と yaml のフィールド名を使うようにしました
  • shared/simplestreams: 利用可能な場合は常に squashfs を選択するようにしました
  • shared/utils: Windows では chown を実行しなくなりました
  • shared/utils: FileCopy が常にオーナーを保持するようにしました
  • shared/utils: FileCopy が常にファイルのモードを維持するようになりました
  • tests: shared/api に対して golint を追加しました
  • tests: zfs の競合を避けました
  • tests: ネットワーク関連のテーブルを空にして確認するテストを追加しました
  • tests: typo を修正しました
  • tests: テンプレートのテストスイートで適切にクリーンアップするようにしました
  • tests: "go fmt" の代わりに gofmt を使うように変更しました
  • tests: モニタは自身で exit するので kill の失敗を無視するようにしました

試用環境

この新しい LXD のリリースが、すでに私たちの デモサービス で利用できます。

ダウンロード

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

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 は ダウンロードページ から取得できます。

LXD 2.8 リリースのお知らせ 24th of January 2017

このリリースに含まれる変更点

新しい機能 :

  • シグナルによって kill された exec セッションの exit コードからシグナル番号がわかるようになりました (訳注: 128+シグナル番号が返る)
  • 我々の Go クライアント API の改訂の第一段階が終了しました。REST API 定義がすべて含まれる新しい api モジュール となりました
  • LXD が管理するブリッジで使用する dnsmasq が非特権ユーザで動作するようになりました
  • VLAN デバイスのタイプが API とクライアントで正しくレポートされるようになりました
  • クライアントがイメージの最終利用日を表示するようになりました (in lxc image info).
  • LXD の翻訳は Weblate を使うようになりました

バグ修正 :

  • client: Monitor API に終了したシグナルを追加しました
  • client: http のエラーの扱いを改良しました
  • doc: cloud-init 経由のネットワーク設定の説明を追加しました
  • doc: README.md の CI の記述を更新し、Weblate と godoc を追加しました
  • global: Typo を修正しました
  • global: "gofmt -s" を実行しました
  • i18n: フランス語翻訳を改良し、すべて翻訳しました
  • i18n: 日本語翻訳を更新しました
  • i18n: Weblate からの翻訳の更新を行いました
  • lxc: タイムスタンプの扱いを改良しました
  • lxc/file: 再帰的な push でのディレクトリのパーミッションを修正しました (Issue #2759)
  • lxc/init: 引数のリストを正しく置き換えるようになりました
  • lxc/list: 未使用の変数を修正しました
  • lxc/list: 出力の IP アドレスをソートするようになりました
  • lxc/network: ネットワークの変更操作の改良を行いました (Issue #2785)
  • lxc/network: show の UsedBy リストをソートするようになりました
  • lxc: yaml のエラーを正確にチェックするようになりました
  • lxc/remote: ヘルプを更新しました
  • lxd/containers: FileResponse に in-memory のバッファを与えることが可能になりました
  • lxd/containers: シンボリックリンクから xattr を読もうとしなくなりました (Issue #2801)
  • lxd/containers: export 中のエラーハンドリングとレポートを改良しました
  • lxd/containers: シグナルで kill された場合、終了コードでシグナル番号を返すようになりました
  • lxd/db: db.go から使っていないコードを削除しました
  • lxd/devices: 正規表現の失敗を無視しなくなりました
  • lxd/images: イメージダウンロードでの競合が起こらないようにしました (Issue #2739)
  • lxd/init: 入力時の問い合わせの文言の修正を行いました。「CIDRサブネット」→「CIDRアドレス」
  • lxd/migrate: 生成したスナップショットのリストを使うようにしました
  • lxd/network: 静的なアドレス割当を行う場合に leases ファイルをクリーンアップするようにしました (Issue #2781)
  • lxd/networks: 空の dnsmasq の pid ファイルを扱えるようにしました (Issue #2767)
  • lxd/network: ネットワークディレクトリのパーミッションを変更しました (Issue #2804)
  • lxd/patches: すべてのパッチを create 時に適用済みとマークするようにしました
  • lxd/profiles: 未使用の変数を修正しました
  • lxd/storage: パスを subvolume と仮定しなくなりました (Issue #2748)
  • shared: Int64InSlice() を追加しました
  • shared: GetByteSizeString() 関数が精度を引数として持つようになりました
  • shared: GetByteSizeString() と ParseByteSizeString() の byte のパースを改良しました
  • shared: Device/Devices type を lxd パッケージに移動しました
  • shared: ParseByteSizeString() が byte を扱うようになりました
  • shared: GroupName 関数を削除し、UserId 関数を追加しました
  • tests: db テストのエラーを無視しなくなりました
  • tests: 新しい開発版で動作するように deadcode を修正しました
  • tests: shellcheck が cd で混乱する問題を修正しました
  • tests: 可能であれば lxc restart を使うようになりました

試用環境

この新しい LXD のリリースが、すでに私たちの デモサービス で利用できます。

ダウンロード

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

LXD 2.7 リリースのお知らせ 20th of December 2016

このリリースに含まれる変更点

新しい機能 :

  • iptables の FORWARD ルールの生成をコントロールするネットワーク属性 "ipv4.firewall"、"ipv6.firewall" を新たに追加しました
  • 追加の静的ルートをネットワークに設定できるネットワーク属性 "ipv4.routes"、"ipv6.routes" を新たに追加しました
  • 新たに追加した "lxd import" コマンドにより、"containers" ディレクトリだけ存在する(訳注:正確には"containers" ディレクトリにバックアップ情報のファイルだけ存在する)ところからコンテナのインポートができます

バグ修正 :

  • client: 更新のためのメソッドを共通化し、PATCH の追加を行いました
  • extra/lxc-to-lxd: サポートされない (LXCの) 設定項目をさらに追加しました
  • extra/lxc-to-lxd: プロパティはすべて文字列でなければならなくなりました (Issue #2663)
  • extra/lxc-to-lxd: デフォルトでは rootfs は移動でなく、コピーするようになりました
  • extra/lxc-to-lxd: python3-lxc がインストールされていない場合のエラー表示をわかりやすくしました
  • extra/lxc-to-lxd: (訳注: LXCの設定のうちLXDで使える設定項目のチェックを) ホワイトリストを使うように変更しました
  • i18n: フランス語翻訳を更新しました
  • lxc/file: push における off by one エラーを修正しました
  • lxc: ヘルプメッセージを改良しました (Issue #2719)
  • lxc/init: 例を修正しました
  • lxc/launch: オプションの解析を行うコードを init.go のメソッドを呼び出すだけにしました (重複しているコードの削除)
  • lxd: http クライアントのためのコードパスを共通化しました
  • lxd: デーモンの TLS の設定で InsecureSkipVerify を設定しないようにしました
  • lxd: デーモンのバージョンをロギングするようにしました
  • lxd: LXD_DIR のパーミッションをデフォルトで 711 にしました (非特権コンテナに必要です)
  • lxd: コンテナが起動した時点でのみデーモンが準備できたとマークするようになりました
  • lxd: 値が削除された場合、デーモンの設定項目を適切に確認するようになりました (Issue #2698)
  • lxd: サブコマンドのコードをリファクタリングしました
  • lxd: HTTPS アドレスの更新時にもカスタムの http サーバを使用するようになりました
  • lxd/containers: コンテナ生成時の基本的なログ出力を追加しました
  • lxd/containers: ネットワークの設定項目を設定する関数の競合状態を避けるようにしました
  • lxd/containers: lxc.syslog と lxc.ephemeral をブラックリストに追加しました (lxc の設定項目で lxd で使用しない項目に追加)
  • lxd/containers: 残ったテンポラリファイルを消去するようにしました
  • lxd/containers: exec 実行時にクリーンに exit できるように、バックグラウンドタスクを検出するようになりました
  • lxd/containers: 正しい順序でマウントを行うようになりました (Issue #2717)
  • lxd/containers: last_state.power を 2 度記録しないようになりました
  • lxd/containers: コンテナ状態 (訳注: last_state.power) の記録を修正しました (Issue #2686)
  • lxd/containers: major/minor デバイス番号を設定するデバイスのホットプラグを修正しました
  • lxd/containers: ファイルの push のエラーハンドリングを修正しました
  • lxd/containers: file_manip コマンドのロギングを修正しました
  • lxd/containers: FromLXCState 関数 (訳注: LXC コンテナの状態を返す関数) を shared の外 (訳注: LXC コンテナの処理部分) へ移動させました
  • lxd/containers: ディレクトリの置換時に明確にエラーを返すようになりました (Issue #2668)
  • lxd/containers: create 時の EEXISTS の検出を書き直しました
  • lxd/networks: ネットワークごとのリースの更新ができるようになりました
  • lxd/networks: DHCP over TCP は実装されていないのでブロックするようにしました
  • lxd/nsexec: (訳注: setuid に加えて) setgroups も実行するようにしました (Issue #2724)
  • lxd/seccomp: seccomp プロファイルの修正を行いました (訳注: LXC がプロファイルの空行からシステムコール番号を読もうとしていたので修正)
  • lxd/storage: ContainerStart 関数の引数としてコンテナ名とパスを取るように変更しました (訳注: 以前はコンテナ構造体を取得して内部でコンテナ名とパスを取り出していた)
  • Makefile: "make dist" を作りなおしました
  • shared: アーキテクチャを扱う部分をパッケージ化しました
  • shared: IO プログレストラッカー部分をパッケージ化しました
  • shared: simplestreams クライアントをパッケージ化しました
  • shared: バージョンを扱う部分をパッケージ化しました
  • shared: 独自のログフォーマッターを導入しました
  • shared: 証明書のフィンガープリントを計算するヘルパー関数を作成しました
  • shared: PrintStack の出力をエラーレベルに変更しました (訳注: runtime.Stack の出力部分を debug から error レベルに変更した)
  • shared: WebSocketUpgrader 変数を network.go へ移動させました (訳注: operation.go から)
  • shared: idmapset_test_linux.go を idmapset_linux_test.go にリネームしました
  • shared/idmap: デバッグコードを削除しました
  • shared/idmap: intersection テストを修正しました
  • shared/simplestreams: 独自の http ハンドラに依存しなくなりました
  • shared/simplestreams: 引数として UserAgent を与えるようにしました
  • tests: PKI テストを追加しました
  • tests: ホスト上に存在する場合のみ lxdbr0 をアタッチするようにしました
  • tests: テストスイートを起動するコードを簡略化しました
  • tests: lxd のシャットダウンをテストするようにしました

試用環境

この新しい LXD のリリースが、すでに私たちの デモサービス で利用できます。

ダウンロード

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

LXD 2.0.7 リリースのお知らせ 24th of November 2016

このリリースは LXD 2.0.6 における深刻なリグレッションを修正するための緊急のバグフィックスリリースです。

このリグレッションによって、既存の非特権コンテナが、再起動時に特権コンテナとして起動してしまう可能性がありました。

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

バグ修正:

  • extra/bash: コンテナリストのパースを改善しました
  • lxc/copy: コンテナのコピーがより安定するようになりました (Issue #2640)
  • lxd/containers: 特権コンテナに idmap を割り当てないようにしました
  • lxd/containers: 古いコンテナをパースする際に壊さなくなりました
  • lxd/containers: テンプレートを重複して適用しなくなりました
  • lxd/containers: 並列でのマップのイテレーションと変更を修正しました
  • lxd/containers: 事前に id のマッピングがされていたコンテナの id マッピングの扱いを修正しました (Issue #2644)
  • tests: ファイルテンプレートに対するテストを追加しました (Issue #2642)

ダウンロード

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

LXD 2.6.2 リリースのお知らせ 24th of November 2016

このリリースは、急いでリリースした 2.6.1 で発生したリグレッションを修正するためのバグフィックスリリースです。

このリリースに含まれる変更点

バグ修正 :

  • パブリックなリモートホストのアドレスをつかまなくなりました

試用環境

この新しい LXD のリリースが、すでに私たちの デモサービス で利用できます。

ダウンロード

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

LXD 2.0.8 リリースのお知らせ 24th of November 2016

このリリースは、急いでリリースした 2.0.7 で発生したリグレッションを修正するためのバグフィックスリリースです。

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

バグ修正 :

  • パブリックなリモートホストのアドレスをつかまなくなりました

ダウンロード

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

LXD 2.6.2 リリースのお知らせ 2016 年 11 月 24 日

このリリースは、急いでリリースした 2.6.1 で発生したリグレッションを修正するためのバグフィックスリリースです。

このリリースに含まれる変更点

バグ修正 :

  • パブリックなリモートホストのアドレスをつかまなくなりました

試用環境

この新しい LXD のリリースが、すでに私たちの デモサービス で利用できます。

ダウンロード

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

LXD 2.6.1 リリースのお知らせ 24th of November 2016

このリリースは LXD 2.6 における深刻なリグレッションを修正するための緊急のバグフィックスリリースです。

このリグレッションによって、既存の非特権コンテナが、再起動時に特権コンテナとして起動してしまう可能性がありました。

このリリースに含まれる変更点

バグ修正 :

  • extra/bash: コンテナリストのパースを改善しました
  • lxc/copy: コンテナのコピーがより安定するようになりました (Issue #2640)
  • lxc/init: lxc の警告から unicode の文字を削除しました
  • lxd/containers: 特権コンテナに idmap を割り当てないようにしました
  • lxd/containers: 古いコンテナをパースする際に壊さなくなりました
  • lxd/containers: テンプレートを重複して適用しなくなりました
  • lxd/containers: 並列でのマップのイテレーションと変更を修正しました
  • lxd/containers: 事前に id のマッピングがされていたコンテナの id マッピングの扱いを修正しました (Issue #2644)
  • tests: ファイルテンプレートに対するテストを追加しました (Issue #2642)

試用環境

この新しい LXD のリリースが、すでに私たちの デモサービス で利用できます。

ダウンロード

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

LXD 2.0.6 リリースのお知らせ 23rd of November 2016

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

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

細かな改良点:

  • コンテナごとに特定の uid/gid マップが使える機能のサポートを追加しました (userns-idmap.md を参照してください)

バグ修正:

  • appveyor: appveyor の設定を追加しました (Issue #2537)
  • appveyor: 修正前にファイルのクリーンアップを行いました
  • appveyor: 名前にプラットフォームを示すものを含むアーカイブを作成するようになりました
  • appveyor: テスト名と時間を詳細に表示するようにしました
  • appveyor: ダウンロード用にコンパイル済みのバイナリを出力するようになりました
  • client: 進捗処理を実装し直しました
  • doc: ハッキングガイドを追加しました (debugging.md)
  • doc: README に公式に Windows のサポートについて追加しました
  • doc: README 記載の、必要とされる liblxc のバージョンを上げました
  • doc: rest-api 文書内の API エンドポイントの記載をソートしました
  • doc: README に docker のインストールの詳細を追加しました
  • doc: 動作環境を更新し、LXC 2.0.0 以上が必要であると記載しました
  • doc: rest-api 文書内でメソッドの並びを統一しました
  • extra/bash: クライアントコマンドの bash-completion でパラメータに dash が使えるようになりました
  • extra/bash: クライアントコマンドの _lxd_profiles を修正しました
  • extra/lxc-to-lxd: コンテナが存在しない場合のエラー表示を行うようにしました
  • extra/lxc-to-lxd: 変換元のパスが存在するかどうかチェックするようになりました (disk) (Issue #2572)
  • extra/lxc-to-lxd: 一貫性のあるログ出力をおこなうようにしました
  • extra/lxc-to-lxd: 実行中のコンテナに対する dry-run で失敗しないようになりました
  • extra/lxc-to-lxd: pylxd への依存をなくしました
  • extra/lxc-to-lxd: lxdpath の扱いを修正しました
  • extra/lxc-to-lxd: 出力を整えました
  • extra/lxc-to-lxd: lxc.aa_profile が設定されている場合は設定を移行するようになりました
  • extra/lxc-to-lxd: 結果を表示し、正しい終了コードを返すようになりました
  • lxc/copy: 成功したマーカーとして operation を使わないようにしました
  • lxc/copy: コピーソース側の操作の完了を待つようにしました
  • lxc/delete: help を更新しました
  • lxc/exec: Windows では term を "dumb" に設定するようにしました (Issue #2288)
  • lxc/finger: help を更新しました
  • lxc: Windows と Mac でのテストを修正しました
  • lxc/list: ヘルプメッセージの typo を修正しました
  • lxc/remote: Go 開発版での remote add を修正しました
  • lxc/restore: help を更新しました
  • lxc: yaml の拡張子として .yaml を使うようにしました
  • lxd/certificates: ドキュメント記載の証明書フィールドをすべて export しました
  • lxd/containers: コンテナに /snap のみが存在する場合でも、/snap/bin を PATH に含めるようになりました
  • lxd/containers: OnStart で何らかのエラーが発生したとき、AppArmor 関連のクリーンアップをするようにしました
  • lxd/containers: file の操作時に userns にアタッチするようになりました
  • lxd/containers: mkdir の失敗をよりわかりやすく表示するようにしました
  • lxd/containers: 並列の stop/shutdown を改良しました
  • lxd/containers: OnStop 内でエラーをキャッチして返すようにしました
  • lxd/containers: コンテナの消去を失敗した際のエラー表示をわかりやすくしました
  • lxd/containers: 再起動時に一時的な (ephemeral) コンテナを破棄しないようにしました (Issue #2555)
  • lxd/containers: 一時的なコンテナを二重に消去しなくなりました
  • lxd/containers: 正しくないログを表示しなくなりました
  • lxd/containers: 4.8 以上のカーネルで forkmount が動作するように修正しました
  • lxd/containers: export 時の不適切なメタデータファイル名を修正しました (Issue #2467)
  • lxd/containers: update 時の設定のバリデーションを改良しました
  • lxd/containers: コンテナのエラーハンドリングを改良しました
  • lxd/containers: コンテナのロックメカニズムを改良しました (Issue #2612)
  • lxd/containers: OnStart/OnStop hook のエラーをログに出力するようにしました
  • lxd/containers: コンテナの自動起動の信頼性を向上させました (Issue #2469)
  • lxd/containers: カーネルモジュールがロードされていない場合のみロードするようにしました
  • lxd/containers: CPU 割当 (allowance) を適切にバリデートするようになりました
  • lxd/containers: メモリ制限を適切にバリデートするようになりました (Issue #2483)
  • lxd/containers: go-lxc のエラーを記録するようになりました
  • lxd/containers: OnStop のレガシーなコードを削除しました
  • lxd/containers: (訳注: exec で) 使っていないコードの削除を行いました
  • lxd/containers: publish の際にプロパティを保存するようになりました
  • lxd/containers: LXC (liblxc) のログレベルをデーモンに合わせるようにしました (Issue #2528)
  • lxd/containers: raw.lxc の先頭の空白をスキップするようにしました
  • lxd/containers: ステートフルスタートの際、必要に応じてストレージを起動するようになりました
  • lxd/containers: stop 時のコンテナの freeze にタイムアウトを設定しました
  • lxd/images: ディスクスペース超過による unpack のエラーを検出するようになりました (Issue #2201)
  • lxd/images: 不必要なイメージのコピーを行わないようにしました (Issue #2508)
  • lxd/images: interval (訳注: images.auto_update_interval) が 0 の場合はイメージを更新しないようになりました
  • lxd/images: simplestream キャッシュをディスクに保存するようになりました (リモートイメージをオフラインで使用できるようになりました) (Issue #2487)
  • lxd/init: zfs のカーネルサポートを検出するようになりました
  • lxd/init: コンテナ内では ZFS を無視するようにしました
  • lxd/main: activateifneeded 関数内で DB が存在しない場合は即座に exit するようになりました
  • lxd/migration: ログ収集の競合を修正しました
  • lxd/migration: ファイル作成によるデバッグを削除しました
  • lxd/migration: 適切なタイミングでストレージのマイグレーションを開始するようにしました (Issue #2505)
  • lxd/storage: ZFS の使用イメージを削除する場合の 10 秒のディレイを修正しました (Issue #2617)
  • lxd/storage: directory バックエンドでコピーの間はコンテナをフリーズするようにしました
  • lxd/storage: rsync のコードを簡素化しました
  • shared/certificates: IP アドレスをパースする際はより詳細に行うようにしました
  • shared: http.Transports の KeepAlive を無効にしました
  • shared: Linux 特有なテストを移動させました (Issue #2449)
  • shared/simplestreams: 使っていないプロパティを削除しました
  • tests: LXD_DEBUG の修正を改良しました
  • tests: 残っているコンテナを削除するようになりました
  • tests: filemanip のテストが main.sh に依存しなくなりました
  • tests: LXD_VERBOSE を実装しました
  • tests: LXD_DEBUG を設定した状態で冗長な出力を減らしました
  • travis: クライアントのテストを実行するようにしました
  • travis: Jenkins Go のバージョンにマッチするように更新しました

ダウンロード

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

LXD 2.6 リリースのお知らせ 2016 年 11 月 22 日

このリリースに含まれる変更点

新機能 :

  • コンテナごとに特定の uid/gid マップが使える機能のサポートを追加しました (userns-idmap.md を参照してください)
  • コンテナのマイグレーション中の進捗を送るようになりました (API のみ)
  • コピー元のイメージプロパティをコンテナのプロパティにコピーするようになりました (image. ネームスペースのプロパティ)

バグ修正 :

  • doc: ハッキングガイドを追加しました (debugging.md)
  • doc: configuration.md に gpu 向けで抜けていた pci オプションを追加しました
  • doc: README 記載の、必要とされる liblxc のバージョンを上げました
  • doc: user.network-config を文書化しました
  • doc: 実行の記録には API 拡張が必要である旨追記しました
  • doc: README に docker のインストールの詳細を追加しました
  • lxc/delete: help を更新しました
  • lxc/file: Windows での再帰的なファイルの pull/push を修正しました
  • lxc/finger: help を更新しました
  • lxc/restore: help を更新しました
  • lxc: 進捗処理を実装し直しました
  • lxd/containers: 実際に最後に使われた更新エラーを表示するようになりました
  • lxd/containers: コンテナに /snap のみが存在する場合でも、/snap/bin を PATH に含めるようになりました
  • lxd/containers: file の操作時に userns にアタッチするようになりました
  • lxd/containers: 並列の stop/shutdown を改良しました
  • lxd/containers: コンテナの消去を失敗した際のエラー表示をわかりやすくしました
  • lxd/containers: --debug モードを指定した場合は liblxc のログレベルを正しく debug に設定するようになりました
  • lxd/containers: 一時的なコンテナを二重に消去しなくなりました
  • lxd/containers: コンテナのエラーハンドリングを改良しました
  • lxd/containers: コンテナのロックメカニズムを改良しました (Issue #2612)
  • lxd/containers: publish の際にプロパティを保存するようになりました
  • lxd/containers: raw.lxc の先頭の空白をスキップするようにしました
  • lxd/containers: ステートフルスタートの際、必要に応じてストレージを起動するようになりました
  • lxd/containers: stop 時のコンテナの freeze にタイムアウトを設定しました
  • lxd/containers: ネットワーク経由の転送時にスピードをトラッキングするようになりました
  • lxd/images: interval (訳注: images.auto_update_interval) が 0 の場合はイメージを更新しないようになりました
  • lxd/main: activateifneeded 関数内で DB が存在しない場合は即座に exit するようになりました
  • lxd/networks: checkNetwork 内でのマイナーな typo を修正しました
  • lxd/networks: FAN ブリッジ上で dnsmasq を起動するようになりました
  • lxd/storage: ZFS の使用イメージを削除する場合の 10 秒のディレイを修正しました (Issue #2617)
  • lxd/storage: directory バックエンドでコピーの間はコンテナをフリーズするようにしました
  • scripts/lxc-to-lxd: コンテナが存在しない場合のエラー表示を行うようにしました
  • scripts/lxc-to-lxd: 変換元のパスが存在するかどうかチェックするようになりました (disk) (Issue #2572)
  • scripts/lxc-to-lxd: 一貫性のあるログ出力をおこなうようにしました
  • scripts/lxc-to-lxd: 実行中のコンテナに対する dry-run で失敗しないようになりました
  • scripts/lxc-to-lxd: pylxd への依存をなくしました
  • scripts/lxc-to-lxd: lxdpath の扱いを修正しました
  • scripts/lxc-to-lxd: 出力を整えました
  • scripts/lxc-to-lxd: lxc.aa_profile が設定されている場合は設定を移行するようになりました
  • scripts/lxc-to-lxd: 結果を表示し、正しい終了コードを返すようになりました
  • shared/idmapset: Intersects 関数内の typo を修正しました
  • shared/simplestreams: 使っていないプロパティを削除しました
  • tests: 残っているコンテナを削除するようになりました
  • tests: filemanip のテストが main.sh に依存しなくなりました
  • tests: 冗長な出力を減らす LXD_VERBOSE を実装しました
  • tests: LXD_DEBUG を設定した状態で冗長な出力を減らしました

試用環境

この新しい LXD のリリースが、すでに私たちの デモサービス で利用できます。

ダウンロード

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

LXD 2.6 リリースのお知らせ 22nd of November 2016

このリリースに含まれる変更点

新機能 :

  • コンテナごとに特定の uid/gid マップが使える機能のサポートを追加しました (userns-idmap.md を参照してください)
  • コンテナのマイグレーション中の進捗を送るようになりました (API のみ)
  • コピー元のイメージプロパティをコンテナのプロパティにコピーするようになりました (image. ネームスペースのプロパティ)

バグ修正 :

  • doc: ハッキングガイドを追加しました (debugging.md)
  • doc: configuration.md に gpu 向けで抜けていた pci オプションを追加しました
  • doc: README 記載の、必要とされる liblxc のバージョンを上げました
  • doc: user.network-config を文書化しました
  • doc: 実行の記録には API 拡張が必要である旨追記しました
  • doc: README に docker のインストールの詳細を追加しました
  • lxc/delete: help を更新しました
  • lxc/file: Windows での再帰的なファイルの pull/push を修正しました
  • lxc/finger: help を更新しました
  • lxc/restore: help を更新しました
  • lxc: 進捗処理を実装し直しました
  • lxd/containers: 実際に最後に使われた更新エラーを表示するようになりました
  • lxd/containers: コンテナに /snap のみが存在する場合でも、/snap/bin を PATH に含めるようになりました
  • lxd/containers: file の操作時に userns にアタッチするようになりました
  • lxd/containers: 並列の stop/shutdown を改良しました
  • lxd/containers: コンテナの消去を失敗した際のエラー表示をわかりやすくしました
  • lxd/containers: --debug モードを指定した場合は liblxc のログレベルを正しく debug に設定するようになりました
  • lxd/containers: 一時的なコンテナを二重に消去しなくなりました
  • lxd/containers: コンテナのエラーハンドリングを改良しました
  • lxd/containers: コンテナのロックメカニズムを改良しました (Issue #2612)
  • lxd/containers: publish の際にプロパティを保存するようになりました
  • lxd/containers: raw.lxc の先頭の空白をスキップするようにしました
  • lxd/containers: ステートフルスタートの際、必要に応じてストレージを起動するようになりました
  • lxd/containers: stop 時のコンテナの freeze にタイムアウトを設定しました
  • lxd/containers: ネットワーク経由の転送時にスピードをトラッキングするようになりました
  • lxd/images: interval (訳注: images.auto_update_interval) が 0 の場合はイメージを更新しないようになりました
  • lxd/main: activateifneeded 関数内で DB が存在しない場合は即座に exit するようになりました
  • lxd/networks: checkNetwork 内でのマイナーな typo を修正しました
  • lxd/networks: FAN ブリッジ上で dnsmasq を起動するようになりました
  • lxd/storage: ZFS の使用イメージを削除する場合の 10 秒のディレイを修正しました (Issue #2617)
  • lxd/storage: directory バックエンドでコピーの間はコンテナをフリーズするようにしました
  • scripts/lxc-to-lxd: コンテナが存在しない場合のエラー表示を行うようにしました
  • scripts/lxc-to-lxd: 変換元のパスが存在するかどうかチェックするようになりました (disk) (Issue #2572)
  • scripts/lxc-to-lxd: 一貫性のあるログ出力をおこなうようにしました
  • scripts/lxc-to-lxd: 実行中のコンテナに対する dry-run で失敗しないようになりました
  • scripts/lxc-to-lxd: pylxd への依存をなくしました
  • scripts/lxc-to-lxd: lxdpath の扱いを修正しました
  • scripts/lxc-to-lxd: 出力を整えました
  • scripts/lxc-to-lxd: lxc.aa_profile が設定されている場合は設定を移行するようになりました
  • scripts/lxc-to-lxd: 結果を表示し、正しい終了コードを返すようになりました
  • shared/idmapset: Intersects 関数内の typo を修正しました
  • shared/simplestreams: 使っていないプロパティを削除しました
  • tests: 残っているコンテナを削除するようになりました
  • tests: filemanip のテストが main.sh に依存しなくなりました
  • tests: 冗長な出力を減らす LXD_VERBOSE を実装しました
  • tests: LXD_DEBUG を設定した状態で冗長な出力を減らしました

試用環境

この新しい LXD のリリースが、すでに私たちの デモサービス で利用できます。

ダウンロード

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

LXD 2.5 リリースのお知らせ 25th of October 2016

このリリースに含まれる変更点

新機能 :

  • lxc/remote: 新しいリモートホストを FQDN/IP で追加できるようになりました (name なしで)
  • lxd/containers: API に exec の出力を記録する機能を実装しました
  • lxd/images: simplestream キャッシュをディスクに保存するようになりました (リモートイメージをオフラインで使用できるようになりました)
  • lxd/certificates: 証明書の PUT/PATCH のサポートを追加しました
  • lxd/containers: exec セッション中のシグナルのフォワーディングをサポートしました
  • lxd/containers: GPU のホットプラグのサポートを追加しました (デバイスタイプ "gpu")

バグ修正 :

  • appveyor: appveyor の設定を追加しました (Issue #2537)
  • client: http.Transports の KeepAlive を無効にしました
  • client: Windows と Mac 上でのクライアントテストを修正しました
  • doc: README に公式に Windows のサポートについて追加しました
  • doc: rest-api 文書内の API エンドポイントの記載をソートしました
  • doc: rest-api 文書内でメソッドの並びを統一しました
  • doc: すべてスペースを使うようにしました
  • doc: 動作環境を更新し、LXC 2.0.0 以上が必要であると記載しました
  • doc: github の markdown レンダラ向けに調整を行いました
  • examples: yaml の拡張子として .yaml を使うようにしました
  • extra: クライアントコマンドの bash-completion に network コマンドを追加しました
  • extra: クライアントコマンドの bash-completion でパラメータに dash が使えるようになりました
  • extra: クライアントコマンドの _lxd_profiles を修正しました
  • lxc/copy: 成功したマーカーとして operation を使わないようにしました
  • lxc/copy: コピーソース側の操作の完了を待つようにしました
  • lxc/exec: Windows では term を "dumb" に設定するようにしました (Issue #2288)
  • lxc/file: ヘルプのtypoを修正しました
  • lxc/file: mkdir -p / を修正しました
  • lxc/file: ファイルをサーバに送る前にパスを正規化するようにしました (Issue #2557)
  • lxc/init: -n に対する nictype の値の typo を修正しました
  • lxc/list: lxc list のヘルプ内の typo を修正しました
  • lxc/push: typo を修正しました (Issue #2501)
  • lxc/remote: Go 開発版での remote add を修正しました
  • lxd/certificates: ドキュメント記載の証明書フィールドをすべて export しました
  • lxd/containers: mkdir の失敗をよりわかりやすく表示するようにしました
  • lxd/containers: OnStop 内でエラーをキャッチして返すようにしました
  • lxd/containers: OnStart で何らかのエラーが発生したとき、AppArmor 関連のクリーンアップをするようにしました
  • lxd/containers: 再起動時に一時的な (ephemeral) コンテナを破棄しないようにしました (Issue #2555)
  • lxd/containers: 正しくないログを表示しなくなりました
  • lxd/containers: exec: 使っていないコードの削除を行いました
  • lxd/containers: 4.8 以上のカーネルで forkmount が動作するように修正しました
  • lxd/containers: seccomp のエラーメッセージを修正しました
  • lxd/containers: update 時の設定のバリデーションを改良しました
  • lxd/containers: OnStart/OnStop hook のエラーをログに出力するようにしました
  • lxd/containers: コンテナの自動起動の信頼性を向上させました (Issue #2469)
  • lxd/containers: カーネルモジュールがロードされていない場合のみロードするようにしました
  • lxd/containers: CPU 割当 (allowance) を適切にバリデートするようになりました
  • lxd/containers: メモリ制限を適切にバリデートするようになりました (Issue #2483)
  • lxd/containers: go-lxc のエラーを記録するようになりました
  • lxd/containers: OnStop のレガシーなコードを削除しました
  • lxd/containers: 正しいデバイスのタイプをログに記録するようになりました
  • lxd/containers: LXC (liblxc) のログレベルをデーモンに合わせるようにしました (Issue #2528)
  • lxd/containers: USB のベンダー ID が必須で、プロダクト ID は必須でなくなるように修正しました
  • lxd/devices: netlink 情報をもう少し厳しく扱うようにしました
  • lxd/devices: usb に対してnetlink の DEVNAME エントリを使うようにしました
  • lxd/images: ディスクスペース超過による unpack のエラーを検出するようになりました (Issue #2201)
  • lxd/images: 不必要なイメージのコピーを行わないようにしました (Issue #2508)
  • lxd/images: export 時の不適切なメタデータファイル名を修正しました (Issue #2467)
  • lxd/init: zfs のカーネルサポートを検出するようになりました
  • lxd/init: コンテナ内では ZFS を無視するようにしました
  • lxd/migration: ログ収集の競合を修正しました
  • lxd/migration: ファイル作成によるデバッグを削除しました
  • lxd/migration: 適切なタイミングでストレージのマイグレーションを開始するようにしました (Issue #2505)
  • lxd/networks: 常に dnsmasq との通信を許可するようにしました (Issue #2506)
  • lxd/networks: IPv6 で --enable-ra を常に与えられるようになりました (Issue #2481)
  • lxd/networks: DHCP チェックサムを埋めるようにしました
  • lxd/networks: IPv6 の DHCP ロジックを修正しました
  • shared/cert: IP アドレスのパースを詳細に行うようにしました
  • shared: Linux 特有なテストを移動させました (Issue #2449)
  • travis: クライアントのテストを実行するようにしました
  • travis: Jenkins Go のバージョンにマッチするように更新しました

試用環境

この新しい LXD のリリースが、すでに私たちの デモサービス で利用できます。

ダウンロード

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

LXD 2.4.1 リリースのお知らせ 5th of October 2016

このリリースの主な目的は、リリースのミスによりバージョン表示が LXD "2.3" となっていたのを、実際に "2.4.1" と表示させるためのリリースを行うことです。

リリースにはいくつかのバグフィックスも含んでいます。

このリリースに含まれる変更点

バグ修正 :

  • shared: logging のインポートを削除しました
  • tests: 偶然新しい依存関係が生じないようにチェックするテストを追加しました
  • extras: lxc クライアントの bash-completion に shell コマンドを追加しました

ダウンロード

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

LXD 2.0.5 リリースのお知らせ 5th of October 2016

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

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

このリリースに含まれるマイグレーションに関する修正のいくつかは、新しい go-lxc に依存していることに注意してください。 マニュアルでビルドする場合、go-lxc のコピーも更新する必要があるでしょう。 ディストリビューション用のビルドの場合、go-lxc のパッケージバージョンを新しい物に更新する必要があるでしょう。

細かな改良点 :

  • AppArmor の名前空間とスタッキングをサポートしました
  • LXD デーモンのロギングをよりわかりやすく、より一般的に役立つように作りなおしました (Issue #1928)
  • "lxc info CONTAINER" はコンテナが存在するリモートホスト名を表示するようになりました
  • クライアントのエラーメッセージにコンテナが存在するリモートホスト名を表示するようになりました
  • コンテナに /snap/bin が存在する場合は PATH に含めるようになりました

バグ修正 :

  • doc: txqueuelen の調整について追加しました
  • doc: btrfs のネストの際は user_subvol_rm_allowed オプション付きでマウントする必要があることを追記しました (Issue #2338)
  • doc: environment.md の表のスタイルを修正しました (Issue: #2410)
  • doc: production-setup.md の typo の修正
  • doc: production-setup.md 内の行末のスペースを削除しました
  • doc: スペースのみの行を削除しました
  • extras: (訳注: bash completion で) start、stop、exec コマンドに対してコンテナ状態のチェックを行うようになりました
  • extras: LXC から LXD へのコンテナ変換の修正を行いました
  • fuidshift: パスのシンボリックリンクを展開するようになりました
  • lxc: 使っていない httpAddr プロパティを削除しました
  • lxc/exec: lxc exec のヘルプに -- args を追加しました
  • lxc/exec: 環境変数を取得する際、go 1.5 で導入された os.LookupEnv を使用するようになりました
  • lxc: config.go のヘルプ内の例の出力位置を調整しました
  • lxc/help: エラーを stdout に出力するようにしました (Issue #2301)
  • lxd/apparmor: 非特権の場合は制限を緩くしました
  • lxd-bridge: dnsmasq の実行が失敗したときにエラーになるようになりました
  • lxd-bridge: lxd-bridge-proxy でクラッシュする問題を修正しました
  • lxd: 名前の衝突を一貫性を持って処理するようになりました
  • lxd/container: あらゆる設定キーを削除できるようになりました
  • lxd/container_lxc: xattrs を扱うようになりました
  • lxd/container: コンフリクトの際、petname の生成をリトライするようになりました
  • lxd/container: pause されたコンテナに対して force オプションを指定せずに "restart" を実行するとエラーを返すようになりました (Issue #2311)
  • lxd/container: コンテナ操作のロック処理を見直しました (Issue #2297)
  • lxd/daemon: ソケットのアクティベーションを自身で行うようにしました (Issue #2333)
  • lxd/db: int64 の扱いを修正しました
  • lxd/db: スキーマのアップデート時にデータベースのバックアップを取得するようになりました (Issue #2299)
  • lxd/db: DB スキーマの更新処理を作りなおしました
  • lxd/image: lzma alone ファイルフォーマットのサポートに関する修正を行いました (Issue #2360)
  • lxd/image: メモリの少ないシステムでの squashfs の調整を行いました (Issue #2382)
  • lxd/init: LXD がバインドするアドレスのデフォルトを all (::) に変更しました
  • lxd/init: バリデーション関数を一貫性があるように変更しました
  • lxd/init: "zfs" が使用できない場合のデフォルトを "dir" にしました (Issue #2340)
  • lxd/init: IP アドレスとして "all" を与えてもエラーにならないようにしました
  • lxd/init: 新しい zfs pool で圧縮を有効にしました
  • lxd/init: ZFS プールのデフォルト値として表示していた値を修正しました (Issue #2339)
  • lxd/init: パーティションのサイズ決めをよりインテリジェントなロジックを使うようにしました
  • lxd/migration: 異なる CoW ベースのバックエンドタイプをまたいだコピーを実質的にサポートしました (Issue #2359)
  • lxd/migration: c/r エラーに警告も表示するようになりました
  • lxd/migration: ghost limit を増やしました
  • lxd/migration: 利用できない場合は ActionScript を使わないようにしました
  • lxd/migration: スナップショットの設定を保存するようになりました
  • lxd/migration: リストアが失敗した場合にダンプしたコンテナを再開させるようになりました
  • lxd/migration: liblxc の新しい preserves_inodes 機能を使うようになりました
  • lxd/network: ボンディングの検出を行うようになりました
  • lxd/network: openvswitch の検出を行うようになりました
  • lxd/network: networkIsInUse を修正しました
  • lxd/network: isOnBridge の移動とリネームを行いました
  • lxd/profile: プロファイル名が存在する場合のエラーをわかりやすくしました
  • lxd/profile: プロファイルの消去の際、適切にクリーンアップするようにしました (Issue #2347)
  • lxd/storage: コンテナのコピーの際、すべてをコピーするようになりました (Issue #2371)
  • lxd/storage: ZFS プールに関する追加のチェックと設定をするようになりました
  • Makefile: テストの依存関係を再帰的に include しないようにしました
  • README: AppVeyor のバッジを追加しました (Windows のテスト)
  • shared: Windows 用に GetOwner スタブを追加しました (fixes #2438)
  • shared: 適切な拡張鍵用途 (Extended Key Usage) を持つクライアント証明書を生成するようになりました
  • shared: TestReaderToChannel の転送を小さくしました
  • shared: 新しいラッパー関数 RunCommand を追加しました
  • tests: 偶然新しい依存関係が生じないようにチェックするテストを追加しました
  • tests: GetAllXattr() のテストを追加しました
  • tests: apparmor のバージョンチェックを修正しました
  • tests: より新しい shellcheck 対応の修正を行いました
  • tests: UTC タイムゾーンを強制するようにしました
  • tests: 現在の LXD の残り物だけをチェックするようにしました
  • tests: xattr がサポートされていない場合はテストをスキップするようにしました

試用環境

この新しい LXD のリリースが、すでに私たちの デモサービス で利用できます。

ダウンロード

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

LXD 2.4 リリースのお知らせ 4th of October 2016

このリリースに含まれる変更点

新機能 :

  • (クライアントでリレーを行う) push ベースのマイグレーション用の API サポートを追加しました
  • プロファイルに新たに used_by プロパティを追加しました (networks と同様)
  • "lxc profile list" を表を表示するように更新しました
  • "lxd init" での NAT の設定をサポートしました

バグ修正 :

  • lxd/init: プロファイルに実際に新しいネットワークを追加するようになりました
  • lxd/init: Typo を修正しました
  • lxd/migration: 利用できない場合は ActionScript を使わないようにしました
  • lxd/network: ネットワークがない設定ができるようになりました
  • lxd/network: より適切に部分的に IPv6 を無効化するようになりました
  • lxd/network: 自動 NAT 設定を修正しました
  • lxd/network: IPv6 フォワーディングロジックを修正しました
  • lxd/network: sysctl に関するレアな競合状態を修正しました
  • lxd/network: lintian が発見した Typo を修正しました
  • lxd/zfs: ZFS プールに関する追加のチェックと設定をするようになりました
  • doc: AppVeyor のバッジを追加しました (Windows のテスト)
  • Makefile: テストの依存関係を再帰的に include しないようにしました
  • shared: Windows 用に GetOwner スタブを追加しました
  • shared: 適切な拡張鍵用途 (Extended Key Usage) を持つクライアント証明書を生成するようになりました
  • test: apparmor バージョンチェックを修正しました
  • test: shellcheck の警告を修正しました
  • test: UTC タイムゾーンを強制するようにしました
  • test: コンテナのクリーンアップをより信頼性高くしました

### 試用環境 この新しい LXD のリリースが、すでに私たちの デモサービス で利用できます。

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

LXD 2.3 リリースのお知らせ 27th of September 2016

LXD 2.3 には私たちがここ数ヶ月取り組んでいたいくつかの主要な機能が含まれています。

その主要なものとは、API エンドポイント、設定オプション、コマンドの完全な新しいセットです。 これにより、IPv4 と IPv6 の接続性、Ubuntu FAN のサポート、GRE または VXLAN を使ったクロスホストのトンネル、様々な DNS モード、DHCP 設定、MAC フィルタリングを含む LXD 経由のブリッジの作成や設定ができるようになりました。

私たちがとてもわくわくしている他の機能は、AppArmor の名前空間とスタッキングのサポートです。 これにより、コンテナが AppArmor のプロファイルをロードし、さらに負荷を制限することができます。

このリリースに含まれる変更点

新機能 :

  • 新しいネットワーク管理 API を導入しました
    • /1.0/networks への POST (rest-api.md 参照)
    • /1.0/networks への PUT (rest-api.md 参照)
    • /1.0/networks への PATCH (rest-api.md 参照)
    • /1.0/networks への DELETE (rest-api.md 参照)
    • "lxc network" コマンド
    • "lxd init" でのネットワーク設定
    • デフォルトのプラファイルはネットワーク設定を含まなくなりました
    • 古い lxd-bridge のコードが削除されました
    • configuration.md に設定の詳細が追加されました
  • AppArmor 名前空間とプロファイルのスタッキングのサポート
    • サポートされているカーネルでは、コンテナは AppArmor を使います
  • デーモンの設定オプションとして新たに storage.lvm_mount_options を導入しました
  • ログメッセージのプライオリティの見直しと、ログメッセージのためのコンテキストを追加しました
  • "lxc info" の出力にリモートホスト名を出力するようになりました
  • クライアントのエラーメッセージにリモートホスト名を出力するようになりました

バグ修正 :

  • apparmor: 非特権の場合は制限を緩くしました
  • apparmor: コンテナごとに AppArmor 名前空間を作るようにしました
  • doc: PATCH の追加に伴い rest-api を修正しました
  • doc: environment.md の表のスタイルを修正しました
  • extras: bash completion で start、stop、exec コマンドに対してコンテナ状態のチェックを行うようになりました
  • extras: LXC から LXD へのコンテナ変換の修正を行いました
  • extras: bash completion を現在のオプションに更新しました
  • lxc: 使っていない httpAddr プロパティを削除しました
  • lxc/exec: lxc exec のヘルプに -- args を追加しました
  • lxc/file: ターゲットディレクトリへの再帰的な pull を行うようになりました
  • lxd/db: テストの実行時にデータベースのバックアップを取らないようにしました
  • lxd/db: int64 の扱いを修正しました
  • lxd/images: メモリの少ないシステムでの squashfs の調整を行いました
  • lxd/init: バリデーション関数を一貫性があるように変更しました
  • lxd/init: 新しい zfs pool で圧縮を有効にしました
  • lxd/log: ログ関数用のフォーマットのラッパーを追加しました
  • lxd/log: ログ関数用のラッパーを追加しました
  • lxd/log: 新しいラッパーに移行しました
  • lxd/migration: 異なる CoW ベースのバックエンドタイプをまたいだコピーを実質的にサポートしました
  • lxd/migration: c/r エラーに警告も表示するようになりました
  • lxd/migration: コピーの間、スナップショットの設定を保存するようになりました
  • lxd/network: ボンディングの検出を行うようになりました
  • lxd/network: openvswitch を検出するようになりました
  • lxd/network: networkIsInUse を修正しました
  • lxd/network: isOnBridge の移動とリネームを行いました
  • shared: 型チェック関数をエクスポートするようになりました
  • shared: fuidshift: パスのシンボリックリンクを展開するようになりました
  • shared: 新しいラッパー関数 RunCommand を追加しました
  • snappy: /snap/bin が存在する場合は PATH に追加するようにしました

試用環境

この新しい LXD のリリースが、すでに私たちの デモサービス で利用できます。

ダウンロード

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

LXD 2.2 リリースのお知らせ 14th of September 2016

このリリースに含まれる変更点

新機能:

  • client: "manpage" コマンドを追加しました (Issue #2280)
  • client: エイリアスとして "rename" を追加しました (Issue #2320)
  • client/file: 再帰的なファイルの push/pull ができるようになりました (-r) (Issue #1218)
  • client/file: 再帰的なディレクトリ作成をサポートしました (-p) (Issue #2290)
  • client/info: CPU 使用率が表示されるようになりました (Issue #1867)
  • client/publish: 圧縮アルゴリズムをオーバーライドできるようになりました (Issue #2296)
  • daemon: スキーマのアップデート時にデータベースのバックアップを取得するようになりました (Issue #2299)
  • daemon/container: CPU の使用率情報が提供できるようになりました (Issue #1867)
  • daemon/container: 再帰的なファイルの push/pull ができるようになりました (Issue #1218)
  • daemon/image: 圧縮アルゴリズムをオーバーライドできるようになりました (Issue #2296)
  • daemon/init: キャッシュされた古いイメージを自動的に更新するかどうかを尋ねるようになりました (Issue #2167)
  • daemon/storage: 新たに storage.zfs_use_refquota オプションを追加しました (Issue #2354)

バグ修正:

  • client/exec: 環境変数を取得する際、go 1.5 で導入された os.LookupEnv を使用するようになりました
  • client/help: lxc help を標準出力に出力するように変更しました (Issue #2301)
  • daemon: 名前の衝突を一貫性を持って処理するようになりました
  • daemon/container: あらゆる設定キーを削除できるようになりました
  • daemon/container: USB デバイス番号の major/minor が入れ替わっていたので修正しました
  • daemon/container: publish の際、xattrs を扱うようになりました
  • daemon/container: コンフリクトの際、petname の生成をリトライするようになりました
  • daemon/container: pause されたコンテナに対して force オプションを指定せずに "restart" を実行するとエラーを返すようになりました (Issue #2311)
  • daemon/container: コンテナ操作のロック処理を見直しました (Issue #2297)
  • daemon/container: デバイスの接続が切断されたあと、USB バスディレクトリの削除を試みるようになりました (Issue #2306)
  • daemon/container: USB ホットプラグに関する様々なバグ修正を行いました (Issue #2312)
  • daemon/dir: コンテナのコピーの際、すべてをコピーするようになりました (Issue #2371)
  • daemon: ソケットのアクティベーションを自身で行うようにしました (Issue #2333)
  • daemon/image: lzma alone ファイルフォーマットのサポートに関する修正を行いました (Issue #2360)
  • daemon/init: LXD がバインドするアドレスのデフォルトを all (::) に変更しました
  • daemon/init: "zfs" が使用できない場合のデフォルトを "dir" にしました (Issue #2340)
  • daemon/init: ZFS プールのデフォルト値として表示していた値を修正しました (Issue #2339)
  • daemon/init: パーティションのサイズ決めをよりインテリジェントなロジックを使うようにしました
  • daemon/profile: プロファイル名が存在する場合のエラーをわかりやすくしました
  • daemon/profile: プロファイルの消去の際、適切にクリーンアップするようにしました (Issue #2347)
  • doc: txqueuelen の調整について追加しました
  • doc: btrfs のネストの際は user_subvol_rm_allowed オプション付きでマウントする必要があることを追記しました (Issue #2338)
  • doc: production-setup.md の typo の修正
  • doc: api_extensions を api-extensions にリネームしました
  • i18n: 各国語の翻訳リソースファイルを更新し、日本語の翻訳を更新しました
  • lxd-bridge: lxd-bridge-proxy でクラッシュする問題を修正しました
  • tests: エイリアスのテスト内の競合を修正しました
  • tests: TestReaderToChannel の転送を小さくしました
  • tests: 現在の LXD の残り物だけをチェックするようにしました

試用環境

この新しい LXD のリリースが、すでに私たちの デモサービス で利用できます。

ダウンロード

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

LXD 2.1 リリースのおしらせ 16th of August 2016

LXD 2.1 は、LXD 2.0 LTS リリース以降初めての、機能の変更と強化が図られたリリースです。

このリリースは LTS ではありませんので、複数年にわたるサポートやバグフィックスといった恩恵を受けないことに注意してください。

本番用途では、LXD 2.0 LTS を使い続けることをおすすめします。

このリリースに含まれる変更点

新機能:

  • client: デフォルトで lxc shell というエイリアスを追加しました
  • client: lxc に Unix 風のエイリアスを追加しました (lxc {cp,ls,mv,rm}, lxc image {cp,ls,rm}, lxc image alias {ls,rm}, lxc remote {ls,mv,rm}, lxc config device {ls,rm})
  • client: 要求に応じてクライアント証明書を生成するようになりました
  • client/copy: 追加のプロファイルと設定を指定できるようになりました
  • client/copy: 同一ホスト上で指定しない場合、ランダムな名前をつけるようになりました
  • client/image: --format オプションを追加し、json 出力が指定できるようになりました
  • client/image: 一度に複数のイメージを消去できるようになりました
  • client/list: カラムのキーを設定できるようになりました (e.g. lxc list -c ns,security.privileged:privileged)
  • client/profile: lxc profile applylxc profile assign になりました
  • client/profile: 新しいサブコマンド lxc profile addlxc profile remove が追加されました
  • client/version: デフォルトでは version コマンドを表示しなくなりました
  • daemon: グローバルな設定項目 core.https_allowed_credentials を追加しました
  • daemon: すべての PUT 呼び出しで ETag をサポートしました
  • daemon: PKI 認証を実装しました (doc/lxd-ssl-authentication.md を参照してください)
  • daemon: PUT をサポートしているエンドポイントすべてに対して PATCH メソッドを実装しました
  • daemon/container: : コンテナを強制シャットダウンするためのタイムアウトを設定する設定値を追加しました (boot.host_shutdown_timeout)
  • daemon/container: seccomp に関する設定項目をいくつか追加しました (security.syscalls.{blacklist,blacklist_default,blacklist_compat,whitelist} and raw.seccomp)
  • daemon/container: デバイスタイプとして "usb" のサポートを追加しました (doc/configuration.md 参照してください)
  • daemon/container: コンテナの最終使用日を記録するようになりました (lxc infolxc list で表示されます)
  • daemon/zfs: 設定中に強制的にスナップショットを削除できるようになりました (storage.zfs_remove_snapshots) (訳注: コンテナのリストア中の強制削除のことだと思います)

Bugfixes:

  • LXD 2.0.1, 2.0.2, 2.0.3, 2.0.4 で行ったバグフィックスすべてが含まれます
  • tests: より新しい shellcheck 対応の修正
  • lxd-bridge: dnsmasq の実行が失敗したときにエラーになるようになりました
  • c/r: 新しい ->migrate API にスイッチしました
  • c/r: liblxc の新しい preserves_inodes 機能を使うようになりました
  • c/r: ghost limit を増やしました

試用環境

この新しい LXD のリリースが、すでに私たちの デモサービス で利用できます。

ダウンロード

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

LXD 2.0.4 リリースのお知らせ 15th of August 2016

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

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

細かな改良点 :

  • /dev/net/tun はデフォルトのデバイスになりました (常に存在します)
  • lxd-bridge: dnsmasq は IPv6 の名前解決をするように設定しました
  • lxd-bridge: iptables ルールにコメントをつけるようにしました (Issue #2125)
  • "lxd init" lxd init は適切なデフォルト値が設定されるようになりました (Issue #1933)
  • 新規インストール時に "images:" のリモートは simplestreamsを使うようになりました
  • "lxc image export" は常にイメージのフィンガープリントをファイル名に使うようにしました
  • "lxc image import" の URL インポートで進捗を表示するようにしました

バグ修正

  • apparmor: 機能の検知の追加と少しの整理
  • apparmor: LXC の apparmor profile に依存しなくなりました (Issue #1942)
  • apparmor: 主な2つのルール名を変更しました (Issue #1942)
  • apparmor: apparmor profile をさらにモジュール化しました (Issue #1942)
  • client: http client を go routines と共有しないようにしました (Issue #2186)
  • client: 存在しないデバイスを削除しようとしたときにエラーになるようにしました (Issue #2277)
  • client: "lxc info" で表示される API 情報を修正しました
  • client: 綴りを修正しました permisson -> permission (Issue #2211)
  • client: client.websocket を public API にしました
  • client: --version オプションを見えるようにしました (Issue #2171)
  • client: WebsocketRecvStream の引数の制約を緩和しました
  • client: actionCmds で名前付き引数を使うようにしました
  • client/finger: fingerコマンドから使用していないフィールドを削除しました (Issue #2170)
  • client/image: URLからのイメージインポートを修正しました (Issue #2272)
  • client/list: 並行な読み書きを修正しました (Issue #2183)
  • client/list: "lxc list" のエラーハンドリングと競合を修正しました (Issue #1753)
  • client/pause: lxc pause にいくつかのヘルプを追加しました
  • client/profile: ヘルプメッセージに "lxc profile unset" を追加しました (Issue #2227)
  • daemon/container: 実際に containers list error を処理するようにしました
  • daemon/container: よくある問題のために整合性チェックをするようにしました (Issue #2190)
  • daemon/container: デバイスの処理をアルファベット順にしました (Issue #2233)
  • daemon/container: デバイスの整合性チェックのエラーを改善しました
  • daemon/container: デバイスタイプが存在しないか間違っている場合の処理を改良しました (Issue #2210)
  • daemon/container: limits.*.priorityの値のドキュメントとバリデーションを追加しました (Issue #2231)
  • daemon/container: イメージのエクスポート対象の挙動のドキュメントとバグ修正をしました (Issue #2205)
  • daemon/container: コンテナが停止している時にコンテナの unfreeze を行わないようにしました (Issue #2164)
  • daemon/container: 初期化エラーのメッセージのフラグ名を修正しました
  • daemon/container: limits.disk.priority が 0 に設定された場合を修正しました (Issue #2230)
  • daemon/container: openvswitch での nic のホットプラグを修正しました (Issue #2106)
  • daemon/container: ネストしたコンテナの unix-char/unix-block を修正しました (Issue #2279)
  • daemon/container: 無効な物理デバイスのチェックを改良しました
  • daemon/container: wait-for-websocket が無効の時に戻り値を記憶するようにしました (Issue #2243)
  • daemon/container: {create,remove}UnixDevice から使われていない"name" 引数を削除しました
  • daemon/container: より多くのエラー情報をユーザに戻すようにしました (Issue #2190)
  • daemon/container: ディスクデバイスの順序を名前の前にパスでソートするようにしました (Issue #2249)
  • daemon/container: シャットダウン時に freeze されているコンテナを unfreeze するようにしました (Issue #2164)
  • daemon/db: dbアップグレード時に$LXD_DIR/containers が存在しなくても失敗しないようにしました (LP: #1602025)
  • daemon/db: docker プロファイルから fuse デバイスを削除しました (Issue #2213)
  • daemon/migration: tempdir の取り扱いを修正しました
  • daemon/profile: 無効なプロファイル名の使用を防止するようにしました (Issue #2274)
  • daemon/zfs: 32bit 環境下での zfs ボリュームのサイズを修正しました (Issue #2158)
  • daemon/zfs: 削除時に copy- のつくスナップショットのみ削除するようにしました (Issue #2127)
  • daemon/zfs: zfs.ImageCreate エラー時にサブボリュームも削除するようにしました (Issue #2194)
  • doc: /dev/net/tun と /dev/fuse をドキュメントに追加しました
  • doc: README.md に squashfs-tools のインストールのコマンドを追加しました
  • doc: pongo テンプレートの config_get のドキュメントを追加しました
  • doc: curl での api examples の間違いを修正しました
  • doc: LXDの本番利用向けのドキュメントを追加しました (Issue #2256)
  • doc: README.md のパッケージを少し並び替えました
  • lxd-bridge-proxy: 使われていないコードを削除しました
  • Makefile: "make dist" でもgo getを複数走らせるようにしました
  • scripts: lxc-to-lxd が virtualenv 下で動くようにしました (Issue #2175)
  • simplestreams: サイズの表示を修正しました (Issue #2223)
  • simplestreams: ラベルなしのイメージを処理するようにしました
  • simplestreams: squashfs と tar.xz でイメージの一覧が使えるようになりました
  • simplestreams: 有効期間の終了を適切に処理するようにしました
  • simplestreams: 適切な user-agent をセットするようにしました
  • simplestreams: 正しい順序でハッシュを使用するようにしました (Issue #2239)

ダウンロード

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

LXD 2.0.3 リリースのお知らせ 28th of June 2016

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

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

重要な変更点 :

  • LXD には "unsquashfs" コマンドが必要になりました。新しい Ubuntu イメージを展開するために必要なためです
  • Sync の応答を返すエンドポイントへの POST リクエストに対して、REST API は Location ヘッダ付きの 201 番コードを返すようになりました。これまでは、Location ヘッダなしの 200 番コードが返っている場合がありました
  • デフォルトで、コンテナには /dev/fuse デバイスが作成されるようになりました

細かな改良点 :

  • extras: bash completion を改良しました
  • client/delete: --force の短縮形として -f が使えるようになりました
  • client/info: サーバ情報が証明書のフィンガープリントを含むようになりました (Issue #2098)
  • client/info: エラー時の --show-log の実行例にリモートホストの名前を表示するようにしました
  • core: 新しい Ubuntu イメージで必要なので squashfs のサポートを追加しました
  • core: ブラウザが LXD とやりとりできるよう、TLS cipher リストを調整しました (Issue #2034)
  • daemon/container: デフォルトで /dev/fuse をセットアップするようになりました

バグ修正 :

  • client: 接続エラーの際の扱いを改良しました
  • client: サブコマンドのエイリアスをサポートするために、すべてのエイリアス引数をチェックするようになりました (Issue #2095)
  • client/file: edit の際にファイルのパーミッションを変更しなくなりました
  • client/image: イメージコピーの際にデーモンが提示したフィンガープリントを使うようにしました (Issue #2162)
  • client: クライアントの URL を正規化するようにしました (Issue #2112)
  • client/remote: 'remote add' 時のパニックを修正しました (Issue #2089)
  • client/remote: <FQDN>:<PORT> のパースを修正しました
  • core: PEM デコードエラーの扱いを改良しました (Issue #2119)
  • core: ReaderToChannel 内でゼロバイト送出をチェックするようになりました (Issue #2072)
  • core: 並列の Websocket 書き込みの際のクラッシュを修正しました
  • core: WebsocketUpgrader のバッファサイズとしてデフォルト値を使うようになりました
  • daemon: lxd コマンドのヘルプの改行が抜けていたので追加しました
  • daemon/api: sync の POST リクエストの際に Location ヘッダをセットするようにしました (Issue #2092)
  • daemon/btrfs: btrfs でのリストアの失敗を修正しました (Issue #2058)
  • daemon/certificate: すでに存在する証明書を追加しようとした場合、失敗するようになりました
  • daemon/config:圧縮アルゴリズムに "none" を設定できるようにしました (再発バグの修正)
  • daemon/container: イメージのエクスポート時の rootfs tarball の出力パスを追加しました (Issue #1980)
  • daemon/container: バインドマウントの扱いを改良しました
  • daemon/container: 存在しないファイルの GET の際は 404 を返すようになりました (Issue #2059)
  • daemon/container: device cgroup の定義を読みやすくしました
  • daemon/containers: ディスクのセットアップが失敗した際のエラーメッセージを改良しました
  • daemon/container: 更新が失敗した際の Undo 処理に defer を使うようにしました
  • daemon/db: db のアップグレードのテスト時は zfs.img の chmod しないようにしました
  • daemon/db: テストモードの際は /var/lib/lxd/containers の更新をしないようにしました
  • daemon/init: ストレージキーを unset するようにしました
  • daemon/lvm: LVM の最近のバージョンでは lvextend を呼ばなくしました
  • daemon/migration: zfs/btrfs の send 時にバッファリングを設定するようにしました
  • daemon/migration: チェックポイント・リストアのコードを全体的にシンプルにしました
  • daemon/migration: LXC の新しいマイグレーション API に切り替えました
  • daemon/zfs: ブロックデバイスの検出を改良しました
  • daemon/zfs: マウントされてない場合はマウントするようにしました (Issue #1888)
  • doc: ZFS スナップショットの欠点について記載しました (Issue #2055)
  • doc: configuration.md から JSON の例を削除しました
  • doc: すべてのフィールドをカバーするように証明書の JSON の例を修正しました
  • doc: "unix-block" の説明内の Typo を修正しました
  • doc: 共有フォルダの説明を改良しました (Issue #2123)
  • lxd/patches: 一度だけ適用するパッチの仕組みのサポートを追加しました (DB スキーマの更新からの分離)
  • Makefile: go get が悪化し、3 回実行する必要が出てきました
  • Makefile: xgettext-go のリポジトリ URL を更新しました
  • migration: エラーの際の処理を統合しました
  • test: エイリアス作成の際のリターンコードとして 201 を有効にしました
  • test: ReaderToChannel のテストを追加しました
  • test: "lxc file edit" 時の対象のファイルのオーナーとパーミッションのテストを追加しました

ダウンロード

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

LXD 2.0.2 リリースのお知らせ 30th of May 2016

このリリースは LXD 2.0 に対する 2 回目のバグフィックスリリースであり、最初の脆弱性対応のアップデートです。

CVE-2016-1581

"lxd init" を使って loop ベースの ZFS プールを設定すると、出来上がったファイル (/var/lib/lxd/zfs.img) が、全ユーザに読み取り権限のあるファイルとなってしまうことについて、Robie Basak から報告を受けました。

これにより、コンテナ内のファイルのパーミッションに関わらず、システム上の全ユーザがすべての LXD コンテナのデータをコピーして読むことができます。そして、攻撃者が同じことを行う可能性があります。

LXD 2.0.2 は "lxd init" のロジックを修正し、常に zfs.img のモードが 0600 に設定されるようにしました。

加えて、アップグレード処理が LXD の最初の実行時に実行され、既存の zfs.img のモードを 0600 に設定します。

もし、影響を受けるシステムを管理しており、許可されていないユーザが zfs.img ファイルにアクセスしたことが疑われる場合は、対象のコンテナ内に格納されている機密情報 (秘密鍵や同等のクレデンシャル) を置き換えることを検討すべきです。

CVE-2016-1582

非特権コンテナ (デフォルトのモードです。security.privileged=false) を特権モードのコンテナ (security.privileged=true に設定されます) に切り替える際、コンテナの rootfs は適切に (ユーザ、グループの) 再マッピングが行われますが、コンテナディレクトリ自身 (/var/lib/lxd/containers/XYZ) はモードが 0755 のままとなることについて、Robie Basak から報告を受けました。

これにより、ホスト上の非特権ユーザすべてが /var/lib/lxd/containers/XYZ 以下の、setuid バイナリを含む全ユーザに読み取り権限のあるパスにアクセスできることになり、問題です。

このような setuid バイナリが、通常ではアクセスできないようなデータにアクセスしたり、自身の権限を昇格させたりする目的でホスト上で使われる可能性があります。

LXD 2.0.2 は、すべての特権コンテナが常に確実に root 所有であるようにし、非特権ユーザによるトラバーサルを防ぐためにモードを 0700 に設定することで、このような動作を修正しました。

加えて、アップグレード処理が LXD の最初の実行時に実行され、既存の特権コンテナの所有権とモードを root:root 0700 に設定します。

ダウンロード

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

対象のコミット

LXD 2.0.1 リリースのお知らせ 2016 年 5 月 16 日 16th of May 2016

このリリースは LXD 2.0 に対する最初のバグフィックスリリースです。

LXD 2.0.0 以降修正されたバグは以下の通りです

  • shmounts がマウントできなくてもコンテナの起動が失敗しなくなりました
  • プロキシが変更されたときに simplestream のキャッシュを無効化するようにしました
  • コンテナの起動時に、設定ファイルをログ保存ディレクトリに直接書くようになりました
  • list で空のレスポンスが原因でクラッシュするバグを修正しました (Issue #1903)
  • 存在しないプロファイルを消去しようとした際に失敗するようになりました (Issue #1886)
  • image import のヘルプに --alias を追加しました (Issue #1900)
  • "lxc start" と "lxc stop" のオプション (stateful/stateless) を修正しました
  • 不正なソースストリームな場合にわかりやすいエラーメッセージを出力するようにしました (simplestreams)
  • 基本的な REST API の使用例を README.md に追加しました
  • lxc stop --help の typo を修正しました
  • lxc-to-lxd を stable な pylxd API を使うように変換しました (Issue #1901)
  • イメージの更新が失敗した場合に適切にログが出力されるようになりました
  • イメージの検証を改良し、不正なイメージの場合はロールバックするようになりました (Issue #1913)
  • send 操作が SmartError 経由で値を返すようになりました
  • lxc list の基本的なフィルタリングを修正しました (Issue #1917)
  • 初めての起動時にユーザにコンテナの起動方法を案内するようになりました (Issue #1931)
  • ローカルイメージの名前と一致しない場合は "remote" を "remote:" と認識するようになりました (Issue #1931)
  • スナップショットに対して LXC の設定をロードしないようにしました (Issue #1935)
  • list: 値が設定されていないキーでフィルタリングできるようになりました (Issue #1917)
  • lxc launch の例を修正しました
  • 日本語メッセージの更新とその他の言語の po ファイルの更新を行いました
  • 古いカーネルでは cpuset.cpus にフォールバックするようにしました (Issue #1929)
  • サーバの設定キーを適切に検証するようになりました (Issue #1939)
  • ストレージの daemonConfig の扱いを修正しました
  • forkmigrate 時に設定ファイルを消去しないようにしました
  • 設定の検証が変わったので、設定の処理を修正しました
  • ドキュメントの Markdown の文法を修正しました
  • ディスクを消去しているとき、すぐに失敗とならないようにしました (Issue #1964)
  • 再帰的にデバイスを消去しなくなりました
  • unix デバイスで消去に失敗したものがあっても失敗しなくなりました
  • unix-char、unix-block デバイスに対する設定チェックとして同じチェックを使うようにしました
  • fs オブジェクトが存在しない場合でも (コンテナパスが) 消去できるようになりました (Issue #1967)
  • ログファイルを適切に expire するようになりました (Issue #1966)
  • ロギングをより一貫性があるようにしました
  • zfs のエラーを無視しなくなりました
  • すでに存在するファイルのモード、uid、gid を適切に更新するようになりました (Issue #1975)
  • 不正な証明書ファイルを検出するようになりました (Issue #1977)
  • 壊れた apparmor のステータスチェックを修正しました
  • boolean 文字列として on/off が使えるようになりました
  • コンテナの設定キーを適切に検証するようになりました (Issue #1940)
  • rsync の転送エラーを表示するようにしました
  • execPath をグローバル変数に移動しました
  • websocket 上の rsync の際、nc -U の代わりにカスタムの netcat を使うようになりました (Issue #1944)
  • マイグレーション中の間違った state ディレクトリパスを修正しました
  • ストレージの削除が失敗したときもイメージの削除が失敗しなくなりました
  • 日本語メッセージの改良を行いました
  • いくつかの処理で criu コマンドの存在チェックを行うようになりました
  • (ライヴ) マイグレーションのテストを作り替えました
  • create 時の devices はオプショナルであることを明確にドキュメントに記載しました
  • すべてのイメージのコピーの取得元を適切に記録するようになりました (Issue #2010)
  • コンテナが作成中の場合に ERROR 状態にならないようにしました (Issue #1988)
  • operations に対して送られるイベントをクリーンアップするようになりました (Issue #1992)
  • ZFS の refcounting に関する問題を修正しました (Issue #1916 and Issue #2013)
  • スナップショットをコピーした際、スナップショットの設定もコピーするようにしました (Issue #2017)
  • スナップショットに対する lxc config show コマンドを実装しました
  • REST API の使い方に Unix ドメインソケット経由のサンプルを追加しました

ダウンロード

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

LXD 2.0.0 リリースのお知らせ 2016 年 4 月 11 日 11th of April 2016

LXD 2.0 を正式にリリースしました!

LXD 2.0 は LXC 2.0、LXCFS 2.0 と同様に、長期サポート対象のリリースです。開発元が 5 年間のサポート、つまり 2021 年の 6 月 1 日までのサポートを約束します。

LXD 2.0 の機能の説明はこちらでご覧いただけます: LXD 2.0: Blog post series

LXD 2.0 のパッケージが Ubuntu や他の Linux ディストリビューションですぐに利用可能になるでしょう。

それまでは、オンラインでデモサービスを使ってお試しください。

LXD 2.0.0 rc9 からの主な変更点

  • client: "lxc list" に json フォーマットによる出力オプションを追加しました
  • client: (LXD の初期化が済んでない) 初回実行時に lxd init を実行するようにメッセージを出力するようにしました
  • lxd: ネストしている場合に security.privileged を設定できるようになりました

LXD 2.0.0 rc9 以降のバグ修正

  • client: ローカルの設定でなく展開された設定をフィルタするようにしました
  • client: file push が与える間違ったファイルモードを修正しました
  • client: パスの代わりにスナップショット名を表示するようにしました
  • client: ヘルプメッセージを調整しました
  • client: 日本語メッセージを更新しました
  • core: ファイルモードを umask させないようにしました
  • core: 取得するファイルの uid、gid、モードを修正しました
  • core: zfs: 残ったスナップショットを削除するようにしました
  • core: zfs: LXD と関係のないパスを無視するようにしました
  • doc: API を stable としました

ダウンロード

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

LXD 2.0.0.rc9 リリースのお知らせ 6th of April 2016

このリリースの主な変更点

  • 1.0 API は stable になりました
  • テストに lxd-benchmark ツールが新たに追加されました
  • クライアントが日本語に翻訳されました (訳注: 一部未翻訳の部分が残っています)

バグ修正

  • core: イメージのエイリアスの更新時に target が設定されているかチェックするようになりました
  • core: /proc/self/status の cpu map を使わないようにしました
  • core: gzip 以外の圧縮アルゴリズムすべての修正を行いました
  • core: ZFS の信頼性とパフォーマンスの改良を行いました
  • core: lxcbr0 はもう使われません。lxdbr0 に置き換えられました
  • core: セットアップモード中はコンテナに関わる操作を行わなくなりました
  • core: lxc.rootfs.bdev を設定するようになりました (パフォーマンスの改良のため)
  • core: コンテナの idmap の再マッピングの後、ストレージを停止させるようにしました
  • core: CPU の利用で無効化されている CPU が扱えるようになりました
  • core: イベントリスナーを調整して絞るようにしました
  • core: 良くない go-lxc の Start() の振る舞いに対する回避策を採りました
  • extra: --fast を使うように bash completion を更新しました (パフォーマンス改良のため)
  • list: ディスクまたはネットワーク情報がない場合にクラッシュしないようにしました
  • lxd-bridge: プロキシがない場合にリンクローカルアドレスを設定しないようにしました
  • lxd-bridge-proxy: ポート番号を 13128 に変更しました
  • lxd-bridge: 存在しない lxd-dnsmasq ユーザの代わりに lxd ユーザで dnsmasq を実行するようにしました
  • main: 実行中のコンテナがある場合、ActiveIfNeeded トリガの対象となりました
  • specs: イメージは 6 時間ごとに自動更新されます (という記載に変更しました)
  • tests: ファイルシステムにあまり依存しなくなりました

試用環境

この新しい LXD のリリースが、すでに私たちの デモサービス で利用できます。

ダウンロード

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

LXD 2.0.0.rc8 リリースのお知らせ 2016 年 3 月 31 日 31st of March 2016

このリリースの主な変更点

  • LVM ボリュームサイズが環境変数でなく、設定項目として設定できるようになりました
  • "lxc image alias list" で他のリストコマンドのようなフィルタリングが使えるようになりました

バグ修正

  • exec の際の初期サイズ (高さ、幅) の修正を行いました
  • パケット送信数の値が間違っていたのを修正しました
  • 長いパス名で RemoveAll が失敗していたことに対する回避策を採りました
  • doc: Markdown の修正
  • コンテナの開始時に全てのテンプレートを適用するようにしました
  • simplestreams: コードをクリーンアップしました
  • コマンドの実行に fork を使うようにしました
  • apparmor プロファイルのアンロードが失敗したことを致命的なエラーではないようにしました
  • コンテナの停止が失敗したときのデッドロックを防ぎました

試用環境

この新しい LXD のリリースが、すでに私たちの デモサービス で利用できます。

ダウンロード

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

LXD 2.0.0.rc7 リリースのお知らせ 28th of March 2016

このリリースの主な変更点

  • "lxc info" がリソース消費量を表示するようになりました
  • bash completion を改良しました
  • イメージプロパティからコンテナを作成する機能を実装しました

バグ修正

  • exec: 使われないコードを除去しました
  • exec: 初期のウィンドウサイズを送るようになりました
  • exec: client: 常にウィンドウサイズを送らなくなりました
  • exec: 対話 (interactive) モードの時だけターミナルサイズにアクセスするようになりました
  • docs: s/initial/Initial
  • Tests: 出力をパースするために翻訳を行わないようにしました
  • URL パーサの問題の回避策を採りました
  • ZFS リストアのエラー出力の明確化を行いました
  • lxd-bridge: IPv6 が無効でも失敗しなくなりました

試用環境

この新しい LXD のリリースが、すでに私たちの デモサービス で利用できます。

ダウンロード

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

LXD 2.0.0.rc6 リリースのお知らせ 2016 年 3 月 23 日 23rd of March 2016

このリリースの主な変更点

  • 新たにデーモンに "setup mode" が追加されました。これは LXD デーモンが起動した後、コンテナが起動し始める前に、LXD デーモンに対して設定を行う間に使う状態です
  • "lxc config device" と "lxc profile device" コマンドに "get"、"set"、"unset" コマンドを追加しました
  • "lxc list" で壊れたコンテナを表示しないのではなく "ERROR" と表示するようになりました

バグ修正

  • lxd init: サーバアドレスの指定にはポートは不要であることを表示するようにしました
  • lxd init: 空のパスワードを受け付けるようになりました
  • lxd init: 8443 番ポートを推奨するように表示するようにしました
  • README: docker と default プロファイルを適用するようにドキュメントに記載しました (訳注: LXD コンテナ内部で docker を動作させる場合)
  • IsMock を MockMode にリネームしました (訳注: プログラム内部の変数の名前の話)
  • デーモン初期化処理をきれいに整理しました
  • startDaemon 関数を消去しました
  • main.go 内の関数名を整えました
  • waitready の改良を行いました (訳注: デーモンが内部的にきちんと処理可能状態になるのを待つようになった)
  • 新しいデバイスノードのパーミッションの問題を修正しました
  • ブリッジが無効化されていても停止できるようになりました
  • いくつか lxd-bridge の修正を行いました
  • lxd-bridge: shellcheck の結果が良くなるように修正しました

試用環境

この新しい LXD のリリースが、すでに私たちの デモサービス で利用できます。

ダウンロード

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

LXD 2.0.0.rc5 リリースのお知らせ 2016 年 3 月 21 日 21st of March 2016

このリリースの主な変更点

  • DELETE /1.0/images/ が実際に Async となるように修正を行いました。 これは仕様に合致させるための小さな API の変更です。 この変更により、古いクライアントに対する後方互換性が失われました (イメージの消去を行う場合のみです)。
  • 非推奨だった lxd-images スクリプトが完全に削除されました

バグ修正

  • イメージの POST 時のエラー出力を改良しました
  • スナップショット周りのエラーハンドリングのロジックを修正しました
  • コンテナのシャットダウンが実際に並列で行われるように修正しました
  • 'POST /1.0/images' に対する 'auto_update' パラメータの説明をドキュメントに追加しました
  • ステートフルな起動の動きを作り替えました
  • ステートフルなスナップショットの動きを作り替えました
  • 非特権の場合、mqueue をバインドマウントにしました
  • コンテナ内で Docker を使う場合のドキュメントを更新しました
  • モニタータイムアウトを 5 秒に増やしました
  • lxd-bridge: 少し調整しました

試用環境

この新しい LXD のリリースが、すでに私たちの デモサービス で利用できます。

ダウンロード

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

LXD 2.0.0.rc4 リリースのお知らせ 16th of March 2016

このリリースの主な変更点

  • 再帰バインドマウント (ディスクエントリ上の再帰的プロパティ) をサポートしました (訳注: mount の rbind オプション)
  • 新たにコンテナのステータスとして "ERROR" を追加しました。LXC とのコミュニケーションに問題があることを示すのに使います
  • 存在しないファイルにのみ適用するテンプレートを指定できるようになりました (create_only プロパティ)
  • すべての仕様を更新し、doc/ ディレクトリに移動させました
  • /dev/lxd へのアクセスはコンテナ内の uid 0 のユーザに制限されるようになりました

バグ修正

  • devices client: 成功時にのみ成功のメッセージを表示するようになりました
  • devlxd がコンテナの検出に失敗する問題を修正しました
  • "device show" コマンドが yaml を表示するようになりました
  • specs: イメージの扱いを明確化しました
  • specs: command-line-user-experience.md を削除しました (訳注: コマンドの help を参照するようにとのことです)
  • specs: dia 形式のデータベース図を削除しました
  • specs: デーモンの仕様を明確化しました
  • specs: /dev/lxd の仕様を現状に合うように更新しました
  • specs: 環境変数のリストを更新しました
  • specs: SSL の仕様を現状に合うように更新しました
  • specs: マイグレーションの文書を再フォーマットしました
  • specs: 要求仕様を更新しました
  • specs: ストレージバックエンドの仕様を更新しました
  • specs: ユーザ名前空間 (userns) について実際に合うように更新しました
  • docker profile: オーバーマウントができるよう apparmor プロファイルを追加しました
  • リモートの URL をより厳格にパースするようになりました
  • exec セッションの外側からの devlxd へのアクセスの問題を修正しました
  • public と simplestream のリモートに関して適切なエラーメッセージを返すようになりました
  • デフォルトで sys_rawio をブロックするようになりました

試用環境

この新しい LXD のリリースが、すでに私たちの デモサービス で利用できます。

ダウンロード

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

LXD 2.0.0.rc3 リリースのお知らせ 11th of March 2016

このリリースの主な変更点

  • GET /1.0/containers/NAME/snapshots/SNAPNAME はスナップショットに含まれる設定とデバイスを返すようになりました
  • デーモンの使う HTTP プロキシに関する 3 つの新たな設定項目が導入されました
    • core.proxy_https (設定されていない場合は HTTPS_PROXY 環境変数を使用します )
    • core.proxy_http (設定されていない場合は HTTP_PROXY 環境変数を使用します )
    • core.proxy_ignore_hosts (設定されていない場合は NO_PROXY 環境変数を使用します )
  • simplestream のデータを 1 時間キャッシュするようになりました。リモートサーバに何度もアクセスを行うことがありません
  • LXD サーバから取得したイメージが自動で更新できるようになりました

バグ修正

  • ConnectInfo が RemoteConfig を使うように変更しました
  • カーネルの多重マウントを防ぐ回避策を講じました
  • migration: ファイルシステムの移動を少しスマートにするようにしました (訳注: ライブマイグレーション時、コンテナの稼働中にコンテナのファイルシステムやスナップショットを移動したあとにチェックポイントと最後の同期を行うようにした)
  • tests: UTC で比較を行うことでエラーを防ぐようにしました
  • zfs: スナップショットだけを send する場合の処理を修正しました
  • LVM LV サイズを減らせるようになりました。そのテストを追加しました
  • profiles: 見つからない場合のエラーメッセージをマスクしないようにしました
  • mounting: ブロックデバイスの時だけファイルシステムをマウントするようにしました
  • イベントロッキングを作りなおしました
  • コンテナロックの同時読み書きによるパニックを修正しました
  • zfs: pool のヘッダ行をスキップするようにしました
  • auto モードの時だけ適用される init 引数を明確にしました
  • 存在する名前でスナップショットを取得しようとした場合のエラーメッセージを修正しました
  • lvm: エラーをエラーとしてログに書くようにしました
  • NewClient が呼ばれた時はクライアント証明書を生成しないようにしました
  • イメージ名の解析を修正しました
  • forkgetfile と forkputfile からのエラーをフォワードするようにしました
  • https_address の変更をより信頼性が高くなるようにしました
  • migration: スナップショット送信のクリーンアップを defer しないようにしました

試用環境

この新しい LXD のリリースが、すでに私たちの デモサービス で利用できます。

ダウンロード

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

LXD 2.0.0.rc2 リリースのお知らせ 7th of March 2016

このリリースの主な変更点

  • REST の CORS ヘッダ用の設定項目を追加しました
  • lxd-images のドロップに一歩近づきました。lxd-images は単なる shim になりました (訳注: 内部的に lxc コマンド or テスト用のスクリプトに変換して実行するだけのスクリプト)
  • Go 1.5 未満はサポートされなくなりました。依存関係のために 1.4 をサポートしなくなったためです

バグ修正

  • エイリアスを使ってリモートの lxd からイメージをインポートする際の問題を修正しました
  • 特別な一時的エントリの作成時の問題を修正しました
  • 標準出力がファイルの時のテストを修正しました
  • イメージを扱う前にストレージドライバを初期化するようにしました
  • lxd init は root でしか実行できなくなりました
  • ソケットが準備出来たあとにだけ、コンテナをロードしようとするようにしました
  • イメージダウンロードのデフォルトプロトコルを修正しました
  • IP アドレスが設定されたときだけ、フォワーディングの設定をするようにしました
  • client: NewClientFromInfo にデフォルトの設定を追加しました
  • dbUpdateFromV26 内の間違ったデバイスタイプを修正しました

試用環境

この新しい LXD のリリースが、すでに私たちの デモサービス で利用できます。

ダウンロード

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

LXD 2.0.0.rc1 リリースのお知らせ 2016 年 3 月 2 日 2nd of March 2016

このリリースは LXD 2.0 の最初のリリース候補です。これは、LXD 2.0 で必要なすべての機能がマージされたと私たちが考えていることを意味します。そして、この後ファイナルリリースまでの間、バグフィックスと小さな使い勝手の改良だけが行われることになるでしょう。

このリリースの主な変更点

  • cgroup 名前空間 (namespace) をサポートしました
  • lxc.network.X.ipv{4,6}[.gateway] を raw.lxc に設定できるようになりました (raw.lxc での設定に関しては注意が必要です)
  • コンテナが非特権の場合は、/proc と /sys は制限なくストレートにマウントされます (訳注: 非特権の場合はrwでマウントされます。特権の場合は書き込めると良くないファイルはroでそれ以外rwでマウントされます)
  • IP アドレスのスコープが提供されるようになりました。これはデフォルトでローカルアドレスをフィルタするのに使われます
  • 標準出力が tty でない場合、lxc exec はデフォルトで non-interactive モードになります
  • クライアントが表示するテーブルはすべて同じような見た目になります
  • Simplestream がクライアントとサーバの両方でネイティブにサポートされるようになりました。lxd-images での必要性が除外されたためです
  • バックグラウンドでのイメージの同期がサーバでサポートされ、すべてのキャッシュされたイメージがデフォルトで同期されるようになりました
  • イメージが使われた最後の時間と、それがキャッシュにストアされているかどうかが API 経由で取得できるようになり、"lxc image info" で見られるようになりました
  • プロファイルが説明フィールドを持つようになりました
  • コンテナを kill するのでなく、ディスクにチェックポイントするステートフルなコンテナの停止が可能になりました。次の起動時にレジュームします
  • "docker" プロファイルがデフォルトで提供されるようになりました。LXD コンテナ内部で Docker を実行できるようにするのに必要な設定がなされています
  • イメージの import がアップロードの進捗表示を行うようになりました

バグ修正

  • GenCert 関数のリファクタリングを行い、再利用できるようになりました
  • tests: コメントアウトしていたコードを除去しました
  • lxc.NewClient を作りなおしました。ディスクキャッシュが不要になりました
  • shared: 制限をパースする関数を export しました
  • アップグレードの手順を README に追加しました
  • websocket: 並列の書き込み時の panic() を修正しました
  • state 関数が fail しないようにしました
  • specs: Etag セクションを削除しました (実装されていません)
  • specs: rest-api のレイアウトの修正を行いました
  • list: PID カラムでクラッシュする問題を修正しました
  • lxc init での名前の表示の問題を修正しました
  • blkio 制限の色々な問題を修正しました
  • apparmor プロファイル内でハードコードされていたアーキテクチャパスを修正しました
  • tests: ネットワークのテスト時の失敗を修正しました
  • tests: 証明書チェックの数を修正しました
  • スナップショット時の設定の問題を修正しました
  • ステートフルかどうかのチェックがファイルシステムに頼らないようにしました
  • チェックポイントの失敗を検出できるようにしました
  • DB テストを修正しました
  • イベントリスナー周りのロックを改良しました
  • コンテナが正しくリブートしない問題を修正しました
  • インストール手順中のビルドに必要なパッケージに "make" を追加しました
  • 不完全な sub?id エントリで停止しないようにしました
  • client: "lxc stop remote:" コマンドのエラー出力の改良
  • クライアントで可能な場合はいつでも shared 構造体を使うようにしました
  • launch 時のダウンロードの進捗表示を修正しました
  • 表での数字の揃えを修正しました

アップグレードの注意

  • このリリースで lxd-images が非推奨となりました。代わりに同じ機能を持ち、デフォルトで設定される ubuntu: か ubuntu-daily: リモートサーバを使用してください。確実にイメージをローカルストアにコピーする必要がある場合、"lxc image copy ubuntu:14.04 local: --alias ubuntu" で実現できます。

試用環境

この新しい LXD のリリースが、すでに私たちの デモサービス で利用できます。

ダウンロード

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

LXD 2.0.0.beta4 リリースのお知らせ 23rd of February 2016

このリリースの主な変更点

  • REST API の変更
    • /1.0 で返る API バージョンに関するデータが変わりました。api_status, api_version and api_extensions が返ります
    • アーキテクチャのフィールドで、意味がわかりづらい整数の代わりに文字列が返るようになりました
    • GET /1.0/containers/NAME/state を作りなおしました。より詳しいネットワーク、ディスク使用量、メモリ消費量の情報を含むようになりました
  • "lxc list" に速く表示できるフィールドだけを表示する --fast モードを追加しました
  • "lxc info" がコンテナのアーキテクチャを表示するようになりました
  • プロセス数制限 (pids cgroup) を追加しました

バグ修正

  • リモートのイメージエイリアスからのコンテナ作成時のバグを修正しました
  • エラーに対する Content-Type の値を修正しました
  • コンテナを停止する前にユーザに問い合わせるようになりました
  • cgo を使ってターミナル機能を再実装しました (ppc64el 上の動作が修正されました)
  • /dev/zero へのアクセスを許可しました
  • tests: pprof を自己完結するようにしました
  • bridge-utils の代わりに iproute2 を使うようになりました
  • lxd-images: sync を修正しました
  • cgroup 名前空間が有効なカーネルで cgroupfs をマウントできるようにしました
  • コンテナのプロセス数取得を pids cgroup を使って最適化しました
  • file push 時のパーミッションの問題を修正しました
  • list: 10 並列でコンテナの問い合わせを行うようにしました
  • ホストのネットワークが変化した時だけリバランスするようにしました
  • list: go routines を少し最適化するようにしました

アップグレードの注意

  • このリリースは古いバージョンの LXD に対する後方互換性がありません。 クライアントとサーバのすべてを同じバージョンで実行するように注意してください。
  • REST API の変更に関する前述の記載をご覧ください

試用環境

この新しい LXD のリリースが、すでに私たちの デモサービス で利用できます。

ダウンロード

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

LXD 2.0.0.beta3 リリースのお知らせ 18th of February 2016

このリリースの主な変更点

  • "lxc publish" で実行中のコンテナに対して実行を強制することができるようになりました (一時的にコンテナは停止します)
  • "lxc image list" が description によってソートされて表示されるようになりました
  • REST API を完全に見直し、すべて仕様にマッチするように更新しました
    • GET /1.0 は "public" フィールドを表示します
    • GET /1.0/certificates はエンドポイントの有効なリストを返します
    • GET /1.0/containers/NAME はパフォーマンスの問題のために、詳細なコンテナの実行ステータス ("status" キー) を返さなくなりました。詳細な実行ステータスを取得するためには /1.0/containers/NAME/state という別のクエリが必要です
    • GET /1.0/containers/NAME/logs はエンドポイントの有効なリストを返します
    • POST /1.0/containers/NAME/snapshots は "stateful" フィールドを設定しなくても良くなりました (デフォルトで false に設定されます) (訳注: 翻訳公開当初「設定する必要がありました」と逆の訳になっていました)
    • POST /1.0/images を使って、すべてのサポートされている入力タイプで "properties" と "filename" を上書きできます
    • GET /1.0/images/aliases/NAME が正しいデータを返すようになりました ("name" と "target" フィールドが入れ替わりました)
    • POST /1.0/images/aliases/NAME を実装しました
    • PUT /1.0/images/aliases/NAME を実装しました
    • GET /1.0/images/FINGERPRINT は空の "target" フィールドを alias に表示しません
    • GET /1.0/networks/NAME を再設計しました
    • GET /1.0/operations/UUID/wait?timeout=X が実際にタイムアウトするようになりました
    • POST /1.0/profiles/NAME を実装しました
    • タイムスタンプがすべて RFC3339 文字列となり、一貫して名付けられるようになりました (created_at, updated_at, expires_at, uploaded_at)
    • 同期操作の応答では、空の "operation" フィールドを含まなくなりました
  • サーバ間の通信に追加のセキュリティが適用されるようになりました:
    • 問い合わせと同時に証明書が渡された場合をのぞいて、以下の操作ではシステムの CA によって有効であるとされたリモートの証明書が必要になりました:
      • マイグレーションによるコンテナ作成 (copy, move, ライブマイグレーション)
      • リモートイメージによるコンテナの作成
      • 他の LXD サーバからのイメージコピー
      • https でのイメージのインポート
    • コマンドラインクライアントは自動的に必要な "certificate" フィールドを上記の要求に対して設定します
  • このバージョンから、LXD は Go 1.3 をサポートしません

バグ修正

  • lxc file で不正なコンテナ名を修正しました
  • tests: スラッシュを含むエイリアスのテストを追加しました
  • ephemeral と architecture フラグの更新の問題を修正しました
  • publish のエラーメッセージを少しわかりやすくしました
  • 最後が / (スラッシュ) で終わるエイリアスの操作の問題を修正しました
  • specs: REST API を実際に合うように更新しました
  • イメージのパースが終わるまで、イメージを所定の場所に移動しなくなりました
  • 確実に正しい Dialer と Proxy を使うようにしました
  • specs: キー名が間違っていたのを修正しました
  • Windows 上の lxc file の問題を修正しました
  • LXD 0.27 以前からのアップグレードで DB のマイグレーションが失敗していたのを修正しました
  • クライアントツールでグローバル変数の使用を止めました
  • 接続の初期の失敗によるエラーの修正を行いました
  • 転送時に常にファイルサイズを出力するようにしました
  • いくつか Typo を修正しました
  • lxd-images: init 時に atexit を register するようにしました
  • specs: btrfs send/receive に関してストレージの仕様を更新しました
  • 開発元の go-systemd を使うようになりました (これは Go 1.3 に対する後方互換性がありません)

アップグレードの注意

  • このリリースは、古い LXD のバージョンに対する後方互換性がありません。 クライアントとサーバを同じバージョンで実行するようにしてください
  • REST API とセキュリティポリシーの変更に関する前述の記載をご覧ください

試用環境

この新しい LXD のリリースが、すでに私たちの デモサービス で利用できます。

ダウンロード

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

LXD 2.0.0.beta2 リリースのお知らせ 10th of February 2016

このリリースの主な変更点

  • 再度 /dev/console を有効にしました
  • btrfs バックエンドが最適化されたコンテナの転送 (send/receive) をサポートしました
  • ソースファイルの所有権、パーミッションが "lxc file push" のときにデフォルトで保存されるようになりました
  • "lxc list" と "lxc image list" がフィルタとして正規表現を受け付けるようになりました
  • lxc info がコンテナの作成日 (わかっている場合のみ)、プロファイルのリスト、詳細なスナップショット情報を表示するようになりました。
  • 再帰的なエイリアスがクライアントでサポートされました (e.g. "delete: delete -f")
  • "lxc delete" を実行中のコンテナに対して実行する場合は "-f/--force" オプションが必要になりました
  • "lxc delete" に、消去時にユーザの確認を要求する -i オプションが追加されました

バグ修正

  • arm64 上の LXD のビルドの問題を修正しました
  • 新しいバージョン番号に対する "make dist" の問題を修正しました
  • specs: 再度、データベースの仕様を実際に合わせました
  • 設定されていないキーの設定を外そうとしたときに失敗するようになりました
  • 後方互換性のためのコードを消去しました
  • 新しいコンテナルートにスナップショットをコピーする際の問題を修正しました
  • マイグレーションの失敗時にスナップショットの停止が失敗する問題を修正しました
  • rsync を使ったスナップショットのマイグレーションの問題を修正しました
  • マイグレーションのフォールバックとして rsync を使うようになりました
  • ShiftIfNecessary を起動時のシフトに変更しました (訳注:マイグレーション時のスナップショットの[u|g]idのマッピングの変更をコンテナ起動時に行うようにした、だと思う)
  • info 中の i18n メッセージカタログの (再) 作成
  • ヘルプ出力をより効率的にするために冗長な言い回しを減らしました
  • blkio 制限をより堅固にしました
  • デフォルトのプロファイルに eth0 の名前 ("name") として "eth0" を追加しました
  • プロファイルを適用したメッセージは成功時のみ表示するようにしました
  • init: zfs モジュールの modprobe を試みるようにしました
  • init: フォーマットされていないディスクでの動作のために zpool create -f を使うようにしました
  • init: 利用可能なバックエンドの検出を改良しました
  • zfs: バックエンドが異なるストレージ間のコピー時の問題を修正しました
  • stresstest.sh の limits.memory の単位を M から MB に修正しました
  • command-line-user-experience の limits.memory の例の単位の末尾に byte を追加しました (訳注:M→MB、G→GB)

試用環境

この新しい LXD のリリースは、すでに私たちの デモサービス で利用できます。

ダウンロード

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

LXD 2.0.0.beta1 リリースのお知らせ 2016 年 1 月 26 日 26th of January 2016

このリリースの主な変更点

  • "lxc config edit" がローカルサーバの設定を編集できるようになりました
  • Block I/O 制限がサポートされました
  • ネットワーク I/O 制限がサポートされました

バグ修正

  • 存在しないエイリアスを削除しようとする際にエラーを出すようにしました
  • LXC 設定の読みこみを修正しました
  • テキストエディタの検出を改良しました
  • "lxc file edit" を修正しました
  • ネットワーク制限を追加しました
  • デーモンの IPv6 の扱いを修正しました
  • file pull/push の仕様と文書を更新しました
  • 壊れた LXC をより良く扱うようにしました (訳注:設定の読みこみに失敗するような壊れたコンテナに対して "BROKEN" というステータスを返して対応できるようにした)
  • zfs に対するマウントポイントを設定するのを防ぐために README を更新しました
  • イメージのコピーに成功した際にメッセージを表示するようにしました
  • TYPO を修正しました (sucessfully → successfully)
  • forkstart のデバッグを改良しました
  • (訳注:move で) マイグレーションでない場合は常に Rename() を呼ぶようにしました
  • イメージのアップロードでテンポラリファイルを使うようにしました
  • restore で start コマンドが失敗した場合にエラーを報告するようにしました
  • (訳注:lxc edit file で) ファイル転送時にターゲットのファイルを切り詰めるようにしました
  • 設定の raw キーは危険であることを注意書きしました
  • 特権コンテナの /dev/tty に書きこみを許可しました
  • ステートフルなスナップショットとリストアを実装しました
  • スナップショットの削除が失敗しても delete が失敗しないようにしました

試用環境

この新しい LXD のリリースが、すでに私たちの デモサービス で利用できます。

LXD 0.27 リリースのお知らせ 19th of January 2016

このリリースの主な変更点

  • コンテナの disk quota に対応しました (zfs と btrfs のみです)
  • イメージのコピーとコンテナの起動の間の進捗表示を行うようになりました
  • LXC コンテナを LXD コンテナに移行するスクリプトの初期バージョンを開発しました (非特権コンテナを除くほとんどすべての設定をサポートします)
  • 新たなコンテナプロパティ linux.kernel_modules を追加しました (コンテナの起動前にロードするモジュールのリストです)
  • 新たなサーバプロパティ core.https_allowed_origin を追加しました (Access-Control-Allow-Origin ヘッダを制御します)
  • プロファイルの変更がすべての対象のコンテナに動的に行われるようになりました
  • "lxc config edit" コマンドがサーバに対しても動作するようになりました
  • security.nesting の変更が動的に行われるようになりました
  • lvm バックエンドでの xfs がサポートされました
  • "lxc image list" コマンドでフィルタリングができるようになりました (名前、ハッシュ、プロパティで)
  • bash completion プロファイルの改良を行いました
  • "lxc remote list" コマンドでデフォルトのリモートサーバが表示されるようになりました
  • "lxc info" コマンドが、コンテナが一時的か永続的かを表示するようになりました
  • ヘルプメッセージを色々改良しました

バグ修正

  • デフォルトの http タイムアウトを 10 秒に設定しました
  • metadata.yaml がない場合でも publish の途中でクラッシュしなくなりました
  • マイグレーション中のエラー報告を改良しました
  • コピーの間のエラー報告を改良しました
  • コンテナがディスクから削除された時点でのみ、コンテナをデータベースから削除するようにしました
  • イメージがディスクから削除された時点でのみ、イメージをデータベースから削除するようにしました
  • LVM > 2.02.99 の場合の LVM バックエンドの修正を行いました
  • 高負荷時の DB パフォーマンスの改良を行いました
  • 非特権の CRIU イメージで正しく uidshift するようになりました
  • forkmigrate 実行時の競合を修正しました
  • イベントインターフェースの競合状態に関する修正を行いました
  • lxd-images コマンドがエラーになった場合に表示が乱れる問題を修正しました
  • 作成時に与えられたデバイスを無視しないようにしました
  • URLの最後に "/" が付いている場合も付いていない場合もサポートするように web サーバを修正しました
  • zfs pool の設定を削除することができるようになりました
  • lxd-setup-lvm-storage: デフォルトサイズとして 10G を追加しました
  • api: {Save|Load}Config は引数としてパスを受け取る必要があるようになりました (訳注: 設定ファイルのパスがハードコードされていたのを引数で与えられるようになりました)
  • 自動的に veth インターフェースをホストのブリッジに追加するように修正しました
  • スナップショットが過去に存在していた場合の zfs pool の設定を削除する際の問題を修正しました

試用環境

この新しい LXD のリリースは、すでに私たちの デモサービス で利用できます。

ダウンロード

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

LXD 0.26 リリースのお知らせ 4th of January 2016

このリリースの主な変更点

  • veth デバイスのホスト側の名前を指定するためのネットワークインターフェースのプロパティである "host_name" が新たに追加されました
  • 停止しているコンテナのファイルに対する pull/push/edit が可能になりました
  • "lxc list" コマンドでどのカラムを表示するかを指定できるようになりました (さらに、新たに PID が表示できるようになりました)

バグ修正

  • すべての CPU が使用できると仮定するのでなく、適切にアクティブな CPU マップを継承するようになりました
  • zfs: いくつかの境界条件の問題を修正しました
  • lvm: イメージからのコンテナの作成に関する修正を行いました
  • 毎回 Finger() を呼ぶことをやめ、ネットワークのラウンドトリップタイムを半減させました
  • コンテナの shmounts とデバイスディレクトリの不正なパーミッションを修正しました
  • コンテナの停止時に常にデバイスとマウントがクリーンアップされていなかった問題を修正しました
  • ホストがトリガーとなるコンテナの停止・再起動のパフォーマンスを改善しました (5 秒早くなりました)
  • LXD のコールフックのタイムアウトを 30 秒に設定しました (失敗時に無限にハングアップしたままになる代わりに)
  • テストのクリーンアップとドキュメントの追加を行いました
  • add/rename/remove 時のリモートの証明書の扱いに関する修正を行いました

試用環境

この新しい LXD のリリースは、すでに私たちの デモサービス で利用できます。

ダウンロード

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

LXD 0.25 リリースのお知らせ 21st of December 2015

このリリースの主な変更点

  • "lxc exec" コマンドに新たに --mode オプションが追加されました。これにより対話的でないモードを強制できます
  • s390x アーキテクチャ (IBM z/series 64bit) のフルサポート
  • @ARGS@ キーワードを使用することで、コマンドエイリアス中にコマンド引数を指定できるようになりました
  • CPU 制限のフルサポート (デフォルト値は全ての CPU、最大優先度、時間制限なしです):
    • limits.cpu: CPU の数 (e.g. 2) またはコアの範囲 (e.g. 0,2-3)
    • limits.cpu.allowance: 負荷がかかっている場合の CPU 時間の割合 (e.g. 50%) または絶対時間指定 (e.g. 10ms/50ms)
    • limits.cpu.priority: ホストに負荷がかかっている場合のコンテナの優先度。1 (最低) から 10 (最高) の間の値で指定します (e.g. 5)
  • メモリ制限のフルサポート (デフォルト値はメモリ制限なし、hard 使用、スワップ有効、priority 最大値):
    • limits.memory: バイト指定での制限 (kB, MB, GB, TB, PB, EB を使用可能) (e.g. 256MB) またはホスト搭載メモリに対する割合 (e.g. 20%)
    • limits.memory.enforce: hard (コンテナは割当以上のメモリを使えない)もしくは soft (高負荷時のみ制限が適用)
    • limits.memory.swap: true または false。コンテナがスワップを使えるかどうかを指定します
    • limits.memory.swap.priority: スワップ使用の優先度。1 から 10 の値で指定します。1 を指定するとほとんどのデータがディスクにスワップアウトします
  • CPU とメモリに対する制限は指定した時点で適用されます
  • 最適化された (send/receive) ZFS コンテナとスナップショットのマイグレーションのサポートを追加しました

バグ修正

  • 新しいテストで特定されたストレージの様々な境界条件に関する修正を行いました
  • lxd-images: エラーメッセージをより明確に出力するようになりました
  • イメージの expire ロジックの修正を行いました
  • ロギングのコードのリファクタリングを行いました
  • マイグレーションのコードを仕様に準拠させるように修正しました
  • 使用可能な CGroup コントローラの検出を行うようになりました
  • zfs: 最新ではない古いスナップショットからのリストアを防ぐようになりました
  • デバイスをコンテナに追加した際により明確にエラーを報告するようになりました
  • zfs: コンテナのリネームに関する修正を行いました
  • lvm: コンテナのリネームに関する修正を行いました
  • lvm: 古いバージョンの LVM 上での不具合を回避するようにしました
  • lvm: fdleak のメッセージを隠すようにしました
  • 整合性を保つためにディレクトリをいくつか移動するようになりました
  • exec: 排他的な書き込みのために fds map をロックするようにしました
  • lvm: スナップショットのリネームの処理を修正しました
  • lvm: コンテナのスナップショットのマイグレーションの修正を行いました
  • コンテナ DB の (余分なレコードの) クリーンアップに関する修正を行いました
  • イメージの (余分なレコードの) クリーンアップに関する修正を行いました
  • コンテナの arch == 0 の際にホストのアーキテクチャを使うようにしました
  • 設定とデバイスのバリデーションを (DBへのInsert時でなく) コンテナの作成、設定の更新時に行うようにしました
  • DB の余分なレコードのクリーンアップを行うようにしました
  • イメージが存在する場合により明確なエラーメッセージを返すようにしました
  • 設定されている場合だけ remote_cache_expiry を返すようにしました
  • volatile を適用しない場合に flush するようにしました

テスト

  • テストが全てのストレージバックエンドで実行できるようになりました
  • 境界条件がいくつか除去されました
  • テストでファイルシステム構造がクリーンかどうかをチェックするようになりました
  • テストでデータベースのテーブルがクリーンかどうかチェックするようになりました
  • 失敗が無視されていたテストをいくつか修正しました
  • --force-local を使うことでテストが劇的にスピードアップするようになりました
  • shutdown と waitready コマンドを使うようになりました

アップグレードの注意

  • limits.memory で使用する単位は kB, MB, GB, TB, EB, PB になりました。古い単位は初回の LXD 起動時に一度だけ更新されます。
  • migrate REST API の呼び出しは secret に対する wss URL でなく、ソースオペレーションに対する https URL を使うようになりました。これは仕様に合わせるための変更です。

試用環境

この新しい LXD のリリースは、すでに私たちの デモサービス で利用できます。

ダウンロード

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

LXD 0.24 リリースのお知らせ 8th of December 2015

このリリースの主な変更点

  • macvlan ネットワークインターフェースをサポートしました
  • 物理ネットワークインターフェースをサポートしました
  • s390x 上でのビルドをサポートしました
  • copy/move 時に、スナップショットも元のコンテナと同時に転送されるようになりました
  • limits.cpu のための CPU スケジューラを実装しました
  • "lxc config unset/set" がリモートサーバに対して動作するようになりました

バグ修正

  • "lxc list" の IP アドレスの表示方法を改良しました
  • ネストしたコンテナ内の apparmor の扱いに関する修正を行いました
  • デバイスのホットプラグの間に起こる色々なハングアップと不具合の修正を行いました
  • スナップショットからのイメージの publish で、毎回全く同じ出力を生成するようになりました
  • スナップショットの publish に関する修正を行いました
  • 代替の gettext 実装への切り替えを行い、翻訳レイヤーの修正を行いました。
  • UUID の実装をこれまでとは違う別の実装に切り替えました
  • migratable プロファイルを削除しました (現時点の CRIU は標準的なコンテナをマイグレーションできます)
  • ディスクをコンテナ内にマウントする際、必要なディレクトリがない場合は作成するようにしました
  • イメージの作成を直列化しました (全体的な負荷の減少のため)
  • 色々な ZFS 関係のバグを修正しました (カーネルモジュールがない場合にロードする、削除のリトライ、マウントの扱いの改良)
  • よりシンプルに、かつ信頼性が向上するように、完全に LXC コンテナドライバを作りなおしました
  • volatile なキーがプロファイルに設定されないようにしました
  • 古くなった volatile キーを自動的にクリーンアップするようにしました
  • 名前のない (ランダムに名付けられた) コンテナの起動に関する修正を行いました

アップグレード時の注意

  • 古い lxc クライアントを新しいサーバに対して実行するとハングアップすることがあります。必ずクライアントも更新してください
  • limits.cpus は limits.cpu になりました。最初の LXD の起動時に変換されます

試用環境

この新しい LXD のリリースは、すでに私たちの デモサービス で利用できます。

ダウンロード

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

LXD 0.23 リリースのお知らせ 24th of November 2015

このリリースの主な変更点

  • LXD を新たにインストールするときに、ストレージ、ネットワーク、パスワードのセットアップの助けとなるように、新たに "lxd init" コマンドが使えるようになりました
  • ログメッセージがイベント API 経由で送出されるようになりました
  • 新たにコンテナ API と "lxc info" からプロセス数を取得できるようになりました
  • Windows でカラーでコンソールを表示できるようになりました
  • (API の) operations の処理を書き換えました。変更ごとのイベントと、ダウンロードの状態が含まれるようになりました
  • "lxc image import" コマンドで、HTTP ヘッダ経由で LXD イメージの広告を行う https ウェブサーバへの URL を指定できるようになりました
  • LXD が提供する最小限の HTTP プロキシが更に軽量となるように書きなおされました

バグ修正

  • "lxc config get <server-config-key>" が期待通りに動くようになりました
  • lxd-images: イメージのインポート時のメモリ消費量がさらに少なくなりました
  • events API 経由のログエントリがより読みやすくなりました
  • "lxc monitor" コマンドのイベントフィルタリングが正しく動作するようになりました
  • コンテナのアーキテクチャが正しく追跡されるようになりました
  • publish されたコンテナが常にイメージ中にメタデータを持つことを LXD が保証するようになりました
  • コンテナのコピー時に、デバイスと設定が正しくコピーされるようになりました
  • イメージのインポートが失敗した際に適切なエラーメッセージが表示されるようになりました
  • "lxc launch" の失敗時、"lxc info --show-log" の使用を提案するようになりました

アップグレード時の注意

operations API のユーザは、新しい操作コードに適合するように、コードをアップデートする必要があるでしょう。 新しい実装は仕様に準拠するようになりました。これは、すべての操作クエリは、常に非同期応答にラップされた、操作特有のプロパティをメタデータ内に持つ、完全な操作オブジェクトを返すということです。

"lxc" クライアントは可能な限り後方互換性を保つように更新されました。

試用環境

この新しい LXD のリリースは、すでに私たちの デモサービス で利用できます。

ダウンロード

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

LXD 0.22 リリースのお知らせ 10th of November 2015

このリリースの主な変更点

  • 停止前にコンテナをフリーズするようにしました (fork bombs 対策に役立ちます)
  • イメージを圧縮するアルゴリズムが設定できるようになりました (圧縮しないことも可能です)
  • リモートイメージをダウンロードする際に HTTP プロキシが使えるようになりました
  • イベントインターフェースの初期実装を行い、それを使う最低限のクライアントを実装しました (lxc monitor)

バグ修正

  • 2 つ目の LXD デーモンを起動したときに、すでに起動中の LXD のソケットを消去しないようにしました
  • リモートの追加が失敗したとき、キャッシュした証明書をクリーンアップするようになりました
  • パブリックなエンドポイントと通信を行う場合には、LXD はクライアント証明書が不要になりました
  • Checkpoint/restore とコンテナの起動の際のエラーメッセージとデバッグメッセージをわかりやすくしました
  • コンテナ起動時の競合の問題を修正しました
  • ときおり起こるハングアップを防ぐため、busybox のテストイメージを更新しました
  • lvm-setup: 古い Ubuntu のリリースでも動作するように更新しました
  • bz2 で圧縮されたイメージの展開の問題を修正しました
  • ファイルディスクリプタのリークの問題をいくつか修正しました
  • LXD が開始するたびに余計なマウントが作成されるのを防ぐため、シェアードマウントの扱いを修正しました
  • lxd-images: リリースストリームにイメージが見つからない場合は、デイリーストリームにフォールバックするようにしました
  • コンテナのコピーの際の uid/gid のマッピングの問題を修正しました
  • 無効な LXC 設定キーで LXD がハングアップする問題を修正しました

アップグレードの注意

この LXD のバージョンでは、イメージ API の実装の問題を修正しました。この結果、古いサーバに対する操作や古いクライアントを使った操作の中には失敗するものもあるかもしれません。

試用環境

この新しい LXD のリリースは、すでに私たちの デモサービス で利用できます。

ダウンロード

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

LXD 0.21 リリースのお知らせ 27th of October 2015

このリリースの主な変更点は以下の通りです。

  • Windows 上でクライアントをビルドできるようになりました
  • LVM ボリュームのデフォルトサイズが 10GB に減少しました
  • クライアントでコマンドのエイリアスを設定できるようになりました
  • "lxc info" コマンドがサーバの情報も出力するようになりました
  • Btrfs ストレージ上でネストした LXD が使えるようになりました

加えて、

  • 様々なストレージバックエンドの修正
  • より良いエラーの取り扱いと報告
  • 多数のバグフィックス (リリース時点での既知のバグはなくなりました)

ダウンロード

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

LXD 0.20 リリースのお知らせ 14th of October 2015

このリリースの主な変更点は以下の通りです。

  • コンテナの再起動は stop+start として実装されました (すべての設定がリロードされます)
  • --config/-c を使って起動時に設定 key=value を与えられるようになりました
  • コンテナを一時的に停止させるために新しく "pause" コマンドが使えるようになりました
  • デフォルトではキャッシュしたイメージはプライベートとなります
  • リモートのコンテナをローカルのイメージストアに publish できるようになりました
  • キャラクタデバイス、ブロックデバイスをコンテナに追加できるようになりました
  • イメージのリストでイメージサイズの確認ができるようになりました

加えて、

  • 様々なストレージバックエンドの修正
  • より良いエラーの取り扱いと報告
  • テストの改良
  • 多数のバグフィックス (リリース時点での既知のバグはなくなりました)

ダウンロード

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

LXD 0.19 リリースのお知らせ 25th of September 2015

このリリースの主な変更点は以下の通りです。

  • ZFS をサポートしました
  • コンテナのネストをサポートしました
  • stdin から読み込む際に複数行の設定キーを指定できるようになりました (値として "-" を使います)
  • コンテナの一時的なコピーを作れるようになりました (-e/--ephemeral フラグ)
  • パブリックな読み取り専用のサーバを自動で検出するようになりました (もう --public は不要です)
  • lxd-images が既存のイメージをアップデートできるようになりました (--sync フラグを使います)
  • (edit コマンドを使って) イメージのパブリック指定の設定と解除が行えるようになりました

加えて、

  • テストスイートを完全に再構築しました
  • Windows クライアントの準備のためにリファクタリングをいくつか行いました
  • ドキュメントと仕様を更新しました
  • 多数のバグフィックスを行いました (リリース時点での既知のバグはなくなりました)

過去のリリースの API 実装の問題により、古いコマンドラインクライアントでは、LXD 0.19 のイメージストアの操作が失敗することに注意してください。このような場合は 0.19 へアップグレードする必要があります。

ダウンロード

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

LXD 0.18 リリースのお知らせ 15th of September 2015

このリリースの主な変更点は以下の通りです。

  • lxc: 新たに --force-local オプションを追加しました
  • lxc: ファイルの push/pull の際に stdin/stdout が使えるようになりました
  • lxc: 翻訳テンプレートを変更しました
  • lxd/core: 特権コンテナのイメージ作成の問題を修正しました
  • lxd/core: コンテナごとの apparmor プロファイルを実装しました
  • lxd/core: コンテナごとの seccomp プロファイルを実装しました
  • lxd/core: exit 時のソケットアクティベーションの問題を修正しました
  • lxd/core: ネストした LXD のサポートを追加しました
  • lxd/btrfs: btrfs におけるシェアードマウント検出の問題を修正しました
  • lxd: 新たに "shutdown" サブコマンドを実装しました
  • lxd: 新たに "activateifneeded" サブコマンドを実装しました
  • scripts: LVM ストレージをセットアップおよび削除するスクリプトを追加しました
  • 多数のバグ修正と、テストなどの改良を行いました

ダウンロード

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

LXD 0.17 リリースのお知らせ 1st of September 2015

このリリースの主な変更点は以下の通りです。

  • lxc: 新たに "lxc file edit" コマンドを追加しました
  • lxc: パブリックなリモートホストのサポートを追加しました
  • lxc: リモートホストの IPv6 アドレスが追加できるようになりました
  • lxd/core: Go 1.5 でのビルドの問題を修正しました
  • lxd/core: スナップショットのリネームができるようになりました
  • lxd/core: コンテナに対する REST API に新たに /logs を追加しました
  • lxd/core: ストレージバックエンド名とバージョンをエクスポートするようになりました
  • lxd/btrfs: 再帰的なサブボリュームのスナップショットと消去をサポートしました
  • lxd/lvm: スナップショットのサポートを追加しました
  • lxd/lvm: コンテナのコピーのサポートを追加しました
  • lxd/lvm: コンテナのリネームのサポートを追加しました
  • lxd/lvm: プールが使用中の場合は LVM 設定の変更を許可しなくなりました
  • lxd/lvm: 仕様に LVM の設定キーを追加しました
  • lxd-images: "lxd images import lxc" コマンドは廃止になりました
  • lxd-images: マニフェストの URL を表示するようになりました
  • lxd-images: Ubuntu イメージの "releases" ストリームをデフォルトにしました
  • vagrant: vmware での起動をサポートしました
  • 多数のバグ修正と、テストなどの改良を行いました

このリリース以降、"lxd-images import lxc" コマンドの使用は廃止となりました。代わりにリモートサーバとして images.linuxcontainers.org を使用してください。

例えば、今までは:

lxd-images import lxc centos 7 amd64 --alias centos
lxc launch centos my-container

として実行していた処理は、以下のようになりました:

lxc remote add images images.linuxcontainers.org    # one-time setup
lxc launch images:centos/7/amd64 my-container

ダウンロード

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

LXD 0.16 リリースのお知らせ 18th of August 2015

このリリースの主な変更点は以下の通りです。

  • コンテナの自動起動のサポートを追加しました。自動起動時の起動間隔と起動順のサポートを含みます
  • ローカル (unix socket) からリモートデーモン (https) へのコンテナとイメージのコピーをサポートしました
  • 異なる uid/gid の割り当てを持つホスト間で非特権コンテナの転送を行う際に、id の再マッピングを行うようになりました
  • 既存のコンテナで、id のマッピングが変わった際と特権・非特権の変更の際に、id の再マッピングを行うようになりました
  • EDITOR 環境変数を正しく扱うようになりました
  • リモートイメージからのコンテナの起動時に、キャッシュされたイメージを expire するようになりました
  • lxd-images に新たに --public フラグを追加しました
  • スナップショット時に --stateful 指定ができるようになりました
  • 多数のバグフィックスと、パフォーマンスとテストの改良を行いました

ダウンロード

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

LXD 0.15 リリースのお知らせ 2015 年 8 月 4 日 4th of August 2015

このリリースの主な変更点は以下の通りです。

  • ストレージとネットワークのホットプラグ機能を追加しました
  • ロギングの改良を行いました
  • LVM と btrfs バックエンドの改良を行いました
  • /dev/lxd が gccgo でも動作するようになりました
  • コンテナ内部の環境変数を設定するための新しい environment.* という設定を追加しました
  • init と launch コマンドでコンテナ名を表示するようになりました
  • lxd-images コマンドが扱うイメージのデフォルトが Ubuntu 14.04 LTS になりました
  • --tcp オプションは設定 core.https_address で置き換えられました
  • LVM と btrfs サポートの改良を行いました
  • LXD のスピードテストをいくつか追加しました
  • LXD クライアントのみをビルドする "make client" ターゲットを Makefile に追加しました (MacOS Xで使用します)
  • lxdbr0 ブリッジ用のスクリプトと http プロキシコードを新たに追加しました
  • ストレージの内部構造を変更しました
  • コンテナの内部構造を変更しました
  • データベースの内部構造を変更しました
  • 色々なテストの改良を行いました
  • 多数のバグフィックスと小さな改良を行いました

このリリースでコンテナが /var/lib/lxd/lxc から /var/lib/lxd/containers へ、スナップショットは /var/lib/lxd/lxc/\<name>/snapshots から /var/lib/lxd/snapshots/\<name> へ移動しました。このため、LXD は次回の起動時にすべてのコンテナを停止し、すべてのコンテナを新しい場所に移動させたあとにコンテナを起動します。

--tcp デーモンオプションは、ユーザが LXD がバインドするアドレスとポートを変更するための core.https_address オプションに置き換えられました。この変更はすぐに適用されます。

ダウンロード

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

LXD 0.14 リリースのお知らせ 21st of July 2015

このリリースの主な変更点は以下の通りです。

  • コマンドラインのヘルプを改良しました
  • LVM バックエンドを改良しました (コンテナが実行されている間だけストレージを mount/umount できます)
  • 証明書を扱う部分を作りなおしました (ユーザインターフェース、生成と再帰問い合わせのサポート)
  • 不正なイメージの原因となる publish のバグを修正しました
  • コンテナのコピー、マイグレーションの IPv6 サポートの修正を行いました
  • ロギングのコードが新しくなりました (syslog サポート、ログファイルのサポートとログレベル)
  • "split" (分割された) イメージ (メタデータとrootfsが分離している) のサポートのための実装を行いました
  • lxd-images にダウンロードの進捗をトラッキングする機能を追加しました
  • アーキテクチャの不整合を検出して報告するようになりました
  • サーバ間で直接イメージのコピーを行う機能がサポートされました
  • /dev/lxd が meta-data インターフェースをサポートしました
  • lxd-images を使って Ubuntu Cloud イメージがインポートできるようになりました
  • その他、コードの改良を行いました (golint、リファクタリング、圧縮の扱い、テストなど)

このリリースは公式の Ubuntu Cloud イメージをサポートする最初の LXD のリリースです。現時点では、current の開発リリース (wily) のみ利用できます。しかし、すべてのサポートされた Ubuntu のリリースのイメージがこれから数日間で使えるようになるはずです。

これらのイメージをあなたの LXD イメージストアにインポートするには、以下のように実行します。

lxd-images import ubuntu --alias ubuntu-cloud

ダウンロード

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

LXD 0.13 リリースのお知らせ 7th of July 2015

このリリースの主な変更点は以下の通りです。

  • ストレージバックエンドとして LVM thin pool のサポートを追加しました
  • 基本的な bash 補完を追加しました
  • コンテナをイメージに変換する "publish" コマンドを実装しました
  • ファイルの push/pull の信頼性を改良しました
  • 一度に複数のコンテナを start/stop/restart/delete できるようにしました
  • gccgo を使ったビルドの修正を行いました (現時点ではこの場合には /dev/lxd を無効にします)
  • コンテナのコピー時の btrfs のパフォーマンスを改良しました (訳注: btrfs の場合は rsync でなくスナップショットでコピーを作成します)
  • 他にも多数のバグ修正、細かな改良、クリーンアップを行っています

このリリースは Linux 以外のオペレーティングシステム上でクライアントがビルドできる LXD の最初のリリースです。今のところ、Mac OS X では動作確認がされています。Windows では動かないことが確認されています。他の Unix では動く可能性が高いですが、テストはされていません。

ダウンロード

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

LXD 0.12 リリースのお知らせ 23rd of June 2015

このリリースの主な変更点は以下の通りです。

  • /dev/lxd を実装しました
  • exec 時の初期コンソールサイズの修正を行いました
  • マイグレーションのメモリ消費量を減少させました
  • API でユーザが読める形式の日付フォーマットを使うようになりました
  • サーバの設定キーを設定しなくても良くなりました
  • exec の様々な競合状態を修正しました
  • 純粋な Go 言語による gettext 実装を使用するように変更しました
  • すべての応答で正しい Content-Type をセットするようにしました
  • info でホストの veth デバイスの情報を表示するようになりました
  • より良い Snappy ubuntu サポートのためにいくつか変更を行いました
  • 様々なその他のバグフィックスを行いました
  • ヘルプメッセージの改良を行いました
  • テストの改良を行いました
  • ドイツ語の翻訳を追加しました

ダウンロード

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

LXD 0.11 リリースのお知らせ 9th of June 2015

このリリースの主な変更点は以下の通りです。

  • イメージ内のテンプレートファイルをサポートしました
  • systemd の socket activation をサポートしました
  • スタートアップ時のコンテナのクリーンシャットダウンと再起動をサポートしました
  • "lxc image show" コマンドの実装をしました
  • exec での SIGWINCH シグナル (ターミナルのリサイズイベント) のサポートを実装しました
  • すべての設定キーを仕様に沿ったものにしました
  • "lxc image edit" の修正を行いました
  • 外部との接続性がなくてもすべてのテストが実行できるようになりました
  • テストの出力をより読みやすいように改良しました
  • その他のバグフィックスを行いました

注意: サーバパスワードを設定するためのキーは core.trust_password になりました。 LXD 0.11 の最初の起動時に、古いバージョンでサポートされていた名前はすべて正式なキー名に変換されます。

ダウンロード

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

LXD 0.10 リリースのお知らせ 26th of May 2015

このリリースの主な変更点は以下の通りです。

  • スナップショットとリストアの実装を行いました
  • "lxc remote add" コマンドに新しいオプションである --accept-certificate を追加しました
  • "lxc remote add" コマンドに新しいオプションである --password を追加しました
  • "lxc profile device show" と " lxc config device show" コマンドを追加しました
  • "lxc config show" と "lxc config set" コマンドがサーバの設定に使えるようになりました
  • "lxc profile edit" と "lxc config edit" コマンドが標準入力から設定を受け取れるようになりました
  • /1.0/images/aliases API に recursion のサポートを追加しました
  • /1.0/containers/{name}/snapshots API に recursion のサポートを追加しました
  • コマンドラインクライアントは go-lxc に依存しなくなりました
  • uid/gid の割り当てと変換を実装しなおしました
  • ヘルプと使い方の表示の改良を行いました
  • "lxc list" コマンドの表示の改良を行いました
  • "lxc profile show" と "lxc config show" コマンドの改良を行いました
  • デバッグメッセージの改良を行いました
  • /1.0 へのアクセスで LXD のバージョンがエクスポートされるようになりました
  • README の改良を行いました
  • SSL 証明書の Expire が 10 年後になりました
  • 色々なテストの改良とバグの修正を行いました

Downloads

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

LXC 0.9 リリースのお知らせ 12th of May 2015

このリリースの主な変更点は以下の通りです。

  • メモリとファイルディスクリプタのリークを修正しました (それに対するテストも追加しました)
  • setfacl が失敗したときに chmod にフォールバックするようになりました (ACL サポートのないファイルシステム向け)
  • コンテナのロギングの修正を行い、lxc info コマンド経由でログが見れるようになりました
  • 特権コンテナに対する正しい uid/gid マッピングをセットアップするようになりました
  • "lxc config edit" と "lxc profile edit" コマンドで無効な設定を行った時に報告するようになりました
  • 初めて lxc コマンドを実行した際に分かりやすい出力を行うようになりました。また、プロファイルと設定の例を改良しました
  • "lxc config profile *" コマンドを "lxc profile *" コマンドに変更しました (古いコマンドもまだ有効です)
  • より信頼できるデータベースの扱いを行うようになりました
  • コピーしたコンテナは新しい MAC アドレスを取得するようになりました
  • コンテナ環境内で USER 環境変数が設定されるようになりました (exec 時)
  • コンテナのビルドに使われるイメージを追跡し、それを使ってコピーとマイグレーションの最適化を行うようになりました
  • データベースのテストを改良しました
  • exec 時の pts デバイスの所有権に関する問題を修正しました
  • raw.lxc が早く追加されすぎていたのを修正しました (lxc.network.script などの実行の失敗を引き起こしていました)
  • lxc と lxd の両方で引数のパースを改良しました
  • コンテナとネットワークのリスト表示のパフォーマンスを改良しました
  • 信頼する証明書のデータベース中で証明書の名前が衝突する問題を修正しました

Downloads

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

LXD 0.8.1 リリースのお知らせ 29th of April 2015

0.8 で生じたバグの修正のみを目的とするリリースです。

  • 全てのアーキテクチャでのビルドの問題を修正しました
  • go-protobuf リポジトリの URL を変更しました

ダウンロード

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

LXD 0.8 リリースのお知らせ 28th of April 2015

このリリースの主な変更点は以下の通りです。

  • lxc file push の uid/gid の問題を修正しました
  • PROXY 環境変数を使うようになりました
  • データベースのロック問題を修正しました
  • デバッグオプションを更に追加しました
  • 一時的なコンテナの様々な問題を修正しました
  • スナップショットから新しくコンテナを作成する際の問題を修正しました
  • btrfs のサブボリュームが使用できる場合は、サブボリュームを使ってより速くコンテナを作れるようになりました

ダウンロード

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

LXC 0.7 リリースのお知らせ 14th of April 2015

このリリースの主な変更点は以下の通りです。

  • コンテナがプライベートイメージから起動できるようになりました
  • 一時的 (Ephemeral) なコンテナをサポートしました
  • デバッグの改良を行いました
  • 一部のドキュメントを更新しました
  • いくつか小さい修正を行いました

このリリースはまだ LXD 開発の初期であり、現時点の LXD はまだプロダクション用途向きではないことに注意してください。そしてサポートはありません。(報告されたバグ修正やパッチは次のリリースに含まれる予定です)

ダウンロード

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

LXD 0.6 リリースのお知らせ 7th of April 2015

このリリースの主な変更点は以下の通りです。

  • Vagrant の設定ファイルが追加されました
  • コンテナの MAC アドレスが固定になりました
  • リモートサーバの扱いに関する様々な修正を行いました
  • 再帰的な問い合わせが可能になりました (イメージサーバに対する劇的なスピードの改善)
  • TLS において強固な暗号のみを使うように設定しました
  • イメージのインポート時にエイリアスを設定できるようになりました
  • テストの範囲を改良しました
  • クライアントのエラーメッセージを改良しました
  • 特権コンテナの扱いに関する修正を行いました
  • LXD が powerpc 上でビルドできるようになりました
  • 多数のバグ修正と調整を行いました

このリリースはまだ LXD 開発の初期であり、現時点の LXD はまだプロダクション用途向きではないことに注意してください。そしてサポートはありません。(報告されたバグ修正やパッチは次のリリースに含まれる予定です)

ダウンロード

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

LXD 0.5 リリースのお知らせ 24th of March 2015

このリリースの主な変更点は以下の通りです。

  • IPv6 でリモートサーバを扱えるようになりました
  • リモートサーバがシステムが信頼する証明書を持つようになった場合のチェックを行うようにしました
  • "lxc image copy" コマンドを実装しました
  • リモートの扱いを改良しました (デフォルトの設定、https:// と unix:// のサポート、多数の使いやすいエイリアス)
  • key/value の保存に対する API の一貫性を確保しました (常にディレクトリとしてエクスポートするようになりました)
  • リモートのイメージが長いハッシュでも短いハッシュでも起動できるようになりました
  • リモートのイメージのプロパティがローカルのキャッシュにきちんとミラーされるようになりました
  • 多数のデータベースのロック問題が解決されました

このリリースはまだ LXD 開発の初期であり、現時点の LXD はまだプロダクション用途向きではないことに注意してください。そしてサポートはありません。(報告されたバグ修正やパッチは次のリリースに含まれる予定です)

現時点で、ほとんどの LXD の機能の主要なものが提供されるようになりました。しかし、まだ多数の特定のオプションが実装されていません (仕様と一致していません)。今後の数リリースのうちで、予定しているオプションのすべてがサポートされるように大きく進歩する予定です。

ダウンロード

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

LXD 0.4 リリースのお知らせ 17th of March 2015

このリリースの主な変更点は以下の通りです。

  • リモートにあるイメージからのコンテナの起動がサポートされました
  • ホスト間のコンテナのコピー/移動がサポートされました
  • コマンドラインが改良されました (リスト、エイリアス、プロファイル、短いハッシュ、など)
  • エラーログが改良されました
  • 仕様によりきっちり合うように API が修正されました
  • 多数のバグフィックス

このリリースはまだ LXD 開発の初期であり、現時点の LXD はまだプロダクション用途向きではないことに注意してください。そしてサポートはありません。(報告されたバグ修正やパッチは次のリリースに含まれる予定です)

現時点で、ほとんどの LXD の機能の主要なものが提供されるようになりました。しかし、まだ多数の特定のオプションが実装されていません (仕様と一致していません)。今後の数リリースのうちで、予定しているオプションのすべてがサポートされるように大きく進歩する予定です。

Downloads

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

LXD 0.3 リリースのお知らせ 10th of March 2015

このリリースでの主な変更点は以下の通りです。

  • lxd:

    • exec を作りなおしました。インタラクティブモードとノン・インタラクティブモードを分離し、エスケープシーケンスを適切にサポートするようになりました
    • イメージの取り扱いを改良しました。新たに圧縮アルゴリズムを追加し、イメージのエクスポートをサポートしました
    • ライブマイグレーションの初期サポート (特別な設定をコンテナに行う必要があります)
    • コンテナの設定とプロファイルの初期サポート
      • ディスクとネットワークインターフェースのサポート
      • プロファイルの作成・削除・割り当てのサポート
    • 特に指定されない限り全ての新しいコンテナに適用される "default" プロファイルを導入しました
  • lxc:

    • 色々な "list" コマンドのユーザ体験の改良を行いました
    • info コマンドを改良しました。PID と IP アドレスが表示されるようになりました
    • image info コマンドを実装しました。イメージのプロパティとエイリアスを表示します
    • LXD に対する翻訳例として、初期の部分的なフランス語翻訳を行いました
    • イメージとプロファイルに対する "edit" コマンドをサポートしました
  • lxd-images:
    • 最小の busybox イメージの作成をサポートするようになりました
    • images.linuxcontainers.org からイメージをインポートする際の広範囲に対する改良を行いました。もう再パッケージングは不要です。
    • Python 3.2 でも動作するようになりました
  • テストスイート :
    • コンテナの設定、プロファイル、デバイス、マイグレーション、コマンド実行(exec)、データベースに対するテストを追加しました
    • 最小の busybox イメージを実行して、数秒で実行するようになりました
  • 多数のバグフィックスを行いました

このリリースはまだ LXD 開発の初期であり、現時点の LXD はまだプロダクション用途向きではないことに注意してください。そしてサポートはありません。(報告されたバグ修正やパッチは次のリリースに含まれる予定です)

現時点で、ほとんどの LXD の機能の主要なものが提供されるようになりました。しかし、まだ多数の特定のオプションが実装されていません (仕様と一致していません)。今後の数リリースのうちで、予定しているオプションのすべてがサポートされるように大きく進歩する予定です。

ダウンロード

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

LXD 0.2 リリースのお知らせ 27th of February 2015

このリリースでの主な変更点は以下の通りです。

  • ビルトインイメージストアの最初のバージョン
  • 全てのコンテナはイメージから作らなければならなくなりました
  • イメージは提供の "lxd-images" ツールを使って LXD にインポートできます
  • イメージを見つけやすくするためのイメージのエイリアスを設定できます
  • データベースバックエンド (全ての LXD データは SQLite のデータベースに保存されるようになりました)
  • コンテナ設定の初期段階 (APIの一部のみ)
  • gcc-go 経由の多数のアーキテクチャ向けのビルドのサポート (全ての依存関係に互換性があるとは限りません)
  • exec のメカニズムの再構築
  • 多数のバグフィックス

このリリースはまだ LXD 開発の初期であり、現時点の LXD はまだプロダクション用途向きではないことに注意してください。そしてサポートはありません。(報告されたバグ修正やパッチは次のリリースに含まれる予定です)

我々はまだコンテナのマイグレーション、適切にコンテナを設定できるようにすること、stable な REST API の開発に精力的に取り組んでいます。

ダウンロード

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

LXD 0.1 リリースのお知らせ 13th of February 2015

これは LXD の初めてのリリースです。

この LXD の初めてのリリースでは、以下が可能です。

  • コンテナの一覧
  • Ubuntu 14.04 LTS amd64 コンテナに対する create、destroy、start、stop、execute コマンドの実行
  • コンテナの外と中の間でのファイルの転送
  • lxc コマンドラインツールを使った複数の LXD ホストの管理
  • LXD REST API の試験的な使用

他のコンテナイメージ、コンテナマイグレーション、コンテナの設定とプロファイル、Stable な REST API はこの後のリリースで提供予定です。

このリリースは最初の開発スナップショットであり、プロダクション用途向きではなく、サポートもありません。(報告されたバグ修正やパッチは次のリリースに含まれる予定です)

ダウンロード

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