Newton バージョンのリリースノート

13.0.0

紹介

  • サポートされるディスク形式の一覧に vhdx を追加しました。

  • Glance API の minor バージョンは 2.4 に引き上げられました。

  • イメージの場所に、適切なロールを定義する policy.json ファイルを使用した、既存の ロールベースアクセス制御 (RBAC) を使用し、show_multiple_locations 設定オプションを廃止予定にしました。

  • Images (Glance) バージョン 1 API は廃止予定となりました。詳細は、廃止予定の機能セクションを参照してください

  • 設定オプションの説明と処理が改善されました。

  • 非アクティブ、あるいはキューに入っていないイメージへの場所の追加は許可されなくなりました。

  • Glance は、4 バイトの unicode 文字列が metadef API に渡された時に、 500 エラーを返さないようになりました。

  • イメージの署名の "sign-the-hash" アプローチを廃止予定にしました。古い run_tests と関連するスクリプトが削除されました。

  • データベースダウングレードは、Glance のソースから削除されました。

  • s3 ストアドライバーは削除しました。

  • Glance のソースコードに同梱されている設定ファイルのサンプルには、将来的な一貫した順番のためにストアードライバの設定オプションが並べ替えられました。

  • 期限切れのタスクは削除されました。

新機能

  • Glance のサポートされているディスクフォーマットのリストに識別子 vhdx が追加されました。それぞれの設定オプションが更新され、デフォルトのリストはサポートされている形式として vhdx を表示します。

アップグレード時の注意

  • CPU スレッドピニングのポリシーに関する追加メタデータを 'compute-cpu-pinning.json' に追加しました。アップグレードには、glance_manage ツールを使用してください。

  • disk_format 設定オプションは、デフォルトでサポートされている vhdx を有効にします。

  • policy.jsondefault ポリシーは、任意のロールではなく管理者ロールを使用します。これは、ポリシーファイルを許可的でなく制限的にし、セキュリティを強化するためです。

  • Glance API の 現在の minor バージョンは 2.4 です。

    • 重要なイメージの場所のバグ 1587985 を部分的に修正するために、API に影響を与える変更が Glance にマージされました。

    • これにより、イメージの場所に``追加``機能を使用しているユーザーには、Newton リリース前後で後方互換性のない経験が得られます。

  • いくつかのバックエンドストアー名は glance と glance_store の間で矛盾していました。これは、VMware データストアー、あるいはファイルシステムストアーのオペレーターが、glance_store で有効な識別子に対応していないストアー名を glance-api.conf に使用する必要があることを意味していました。このような状況が誤った設定とオペレータの不幸を助長したため、Newton リリースではストアー名が一貫するようにしました。これの意味するところは:

    • この変更は、複数のイメージロケーションを使用するオペレータにのみ適用されます。

    • この変更は、VMware データストアーまたはファイルシステムストアーを使用するオペレータにのみ適用されます。

    • この変更は store_type_preference オプションにのみ適用されます。

    • VMware データストアオペレーター: 現在**廃止予定**の古い名前は、vmware_datastore でした。glance と glance_store の両方で使用される**新しい**名前は、 vmware です。

    • ファイルシステムストアオペレーター: 現在**廃止予定**の古い名前は、filesystem でした。glance と glance_store の両方で使用される**新しい**名前は、 file です。

    • この変更は下位互換性のため、つまり、廃止予定期間では古い名前がコードによって認識されます。廃止予定の名前のサポートは Pike リリースで削除されます。

    • 我々は、オペレータが glance-api.conf ファイルを直ちに修正して**新しい**名前を使用することを強く推奨します。

  • show_multiple_locations の設定オプションの廃止予定に関するいくつかの追加ポイント。

    • 機能の有効化と無効化を設定する 2 つの異なる方法を維持することは、開発者やオペレーターにとっては苦痛であるため、Ocata リリースではこの機能を制御するための細かい手段が省かれます。

    • Newton リリースでは、このオプションは引き続き適用されます。しかし、glance-api ノードの policy.json ファイルの更新は重要です。特に、ポリシー delete_image_locationget_image_location および set_image_location を要件に従って更新することを検討してください。これは高度なオプションであり、いくつかのリスクを露呈しやすいため、クラウドのセキュリティとプライバシーを確保するためのポリシーを確認してください。

    • 将来のリリースでは、このオプションは無視され、ポリシールールのみに従います。公開するエンドポイントではこのオプションを無効にし、内部の service-to-service 通信のみに使用することを推奨します。

    • 前述のように、複数のイメージの場所を公開する policy-based 設定にも同じ推奨が適用されます。

  • イメージ署名検証機能は、イメージデータの署名を直接使用する「sign-the-data」アプローチに従うように更新されました。イメージデータの MD5 ハッシュの署名を使用する、以前に廃止予定になった「sign-the-hash」アプローチは削除されました。

  • db_downgrade コマンドが glance-manage ユーティリティから削除され、すべてのデータベースダウングレードスクリプトが削除されました。OpenStack のポリシーによれば、Glance はもうダウングレードできません。オペレーターは、アップグレードをしようとする前に、本番データの完全なデータベースのバックアップを作成することをおすすめします。

  • glance_store ライブラリの最新リリースでは、s3 ドライバーのサポートはありません。これに対するすべてコード参照がライブラリから削除されています。Glance の今回のリリースでは、更新された glance_store ライブラリが使用されているので、s3 ドライバーサポートも Glance から削除されています。例えば、Glance イメージロケーションストラテジーモジュールは、もはや s3 ドライバーサポートを提供しません。

廃止予定の機能

  • Newton リリースでの Images (Glance) バージョン 1 API の廃止予定に伴い、Pike リリース以降での削除対象になりました。Images (Glance) v1 API に固有の設定オプションも廃予定となり、削除対象です。間接的に関連する設定オプション enable_v2_api も、Images (Glance) v1 API が削除されると冗長になるため、廃止予定になりました。廃止予定の設定オプション、および Images (Glance) v1 API が有効(使用中)の場合、適切な警告メッセージが設定されています。オペレーターは、Images (Glance) v2 API を導入することをお勧めします。標準的な OpenStack の廃止予定ポリシーに従って、削除される予定です。

致命的な問題

  • イメージの場所を active または queued ステータスでは*ない*イメージに設定しようとすると、HTTP Conflict (HTTP ステータスコード 409) がユーザに表示されます。

    • これまでは、場所を**追加**するときに、イメージのステータスチェックは行われていませんでした。場合によっては、これによりユーザーエクスペリエンスが低下する可能性があります。また、セキュリティチームが deactivated にあるイメージの状態を評価する際に問題を引き起こす可能性があります。

    • 次の状態のイメージには、場所の**追加**は許可されていません。savingdeactivateddeletedpending_deletekilled

    • activequeuedsaving、または deactivated の状態でイメージに場所を追加することに関連する競合状態があることに注意してください。これらは端末でのイメージの状態ではないため、ユーザーが場所を追加しようとしたときに、**追加**(あるいは、許可されていない追加を許可しているように見えるかもしれません) をブロックする可能性のある状態遷移が発生するかもしれません。

    • 例えば、ユーザは、saving 状態にあるイメージに場所を追加することはできません。とにかくユーザーが場所を追加することを決めたとします。ユーザーのリクエストが処理される前に、保存されているデータの送信が完了し、イメージが active 状態に移行する可能性があり、その場合、ユーザーの場所の追加のリクエストは成功します。しかしながら、ほとんどの場合 saving 状態のイメージに場所を追加しようとする試みは失敗するため、この成功は変則的に見えます。

    • あなた自身のテストでこの状況を知ることができるように、これを示します。

セキュリティー上の問題

  • すべての qemu-img info 呼び出しは、コマンドを実行するプロセスの CPU 時間とアドレス空間使用量を、それぞれ2 秒および 1GB に制限されたリソース制限の下で実行されます。これは、バグ https://bugs.launchpad.net/glance/+bug/1449062 に対応しています。"qemu-img" の現在の使用は、Glance のタスクに限定されおり、(Mitaka リリース以降) デフォルトでは、管理者ユーザーのみが利用できます。タスクは信用できるユーザーのみに公開することを引き続き推奨します。

  • Glance のイメージ署名検証機能の初期の実装は、イメージデータの MD5 ハッシュに依存していたため、安全ではありませんでした。詳細は、バグ 1516031 を参照してください。この「sign-the-hash」アプローチは、Mitaka では廃止予定となり、Newton では削除されました。VE-2015-8234 に関連します。

バグ修正

  • フィックス(あるいは一部フィックス)された、その他の重要なバグの一覧です。

    • bug 1617258: イメージ署名の base64 は、行を折り返す必要があります。

    • bug 1612341: CPU スレッドピニングのフレーバーメタ定義を追加。

    • バグ 1609571: version negotiation api ミドルウェアは v2.3 を含み最新でない

    • バグ 1602081: Glance は oslo.context のポリシー辞書を使う必要がある

    • バグ 1599169: glance-replicator size は、引数が与えられない場合に 'NoneType' タイプのオブジェクトは len() を持たない、という例外を上げる

    • バグ 1599192: glance-replicator 人間が読むことができるサイズを表示する必要がある

    • バグ 1585917: member-id が 255 文字より大きいと member-create で 500 エラーが発生する

    • バグ 1598985: glance-replicator compare output は、消失したイメージにはイメージ ID に加えてイメージ名を表示すべき

    • バグ 1533949: Glance タスクに設定項目 "conversion_format" がありません

    • バグ 1593177: より安全なデフォルトのデプロイシナリオには、デフォルトのポリシーが管理者になる必要がある

    • バグ 1584076: Swift ACLs が v1 Glance images からなくなった

    • バグ 1591004: キャッシュが有効の時、チェックサムなしのイメージがダウンロードできない

    • バグ 1584415: created_at および updated_at フィルターを使ったイメージのリスト作成で演算子が指定されていないと失敗する

    • バグ 1590608: サービスは oslo.middleware から http_proxy_to_wsgi ミドルウェアを使用すべき

    • バグ 1584350: etc/glance-registry.conf サンプルファイルに冗長な store セクションがある

    • バグ 1543937: 非常に大きな数によって、db-purge が失敗する

    • バグ 1580848: インポートタスクがプロパティなしで作成された時に例外がない

    • バグ 1585584: Glare v0.1 で public artifact draft が作成できない

    • バグ 1582304: http proxy が設定された時、テストを実行できるようにする

    • バグ 1570789: 4 バイト unicode 文字列が渡された時、Metadefs API が 500 エラーを返す

    • バグ 1532243: タスクフローをロードできない場合、glance は暗黙的に失敗する

    • バグ 1568894: glance_store オプションが glance-scrubber.conf と glance-cache.conf サンプルファイルにない

    • バグ 1568723: secure_proxy_ssl_header がサンプル設定ファイルに存在しない

    • バグ 1535231: 大文字と小文字を区別しない文字列を含む md-meta は、作成中に問題を起こす

    • バグ 1555275: 削除時にタグが変更される

    • バグ 1558683: Versions エンドポイントが X-Forwarded-Proto をサポートしない

    • バグ 1557495: ステータス変更中の可能な競合状態

その他の注意点

  • Glance 設定オプションは、詳細なヘルプテキスト、サンプル設定ファイルのデフォルト、オペレータが明示的に選択できる値、minmax で定義された厳密な範囲により改善されました。

    • 整数値をとる設定オプションは、必要に応じて、minmax で定義された厳密な範囲を持つようになったことに注意しなければなりません。

    • これにより、設定オプションは、以前は受け入れ可能だが実際は無効だった特定の値を受け入れなくなります。

    • 例えば、負の値が未定義のカウントを指定する設定オプションは、与えられた負の値を受け付けました。このようなオプションは負の値を受け付けなくなります。

    • 以前に負の値が定義されていたオプション(たとえば、無制限を意味する -1)は、この変更の影響を受けません。

    • 新しい制限に準拠していない値は、サービスの開始を妨げます。ログには、問題のある設定オプションと、指定された値が拒否された理由を示すメッセージが含まれます。

  • oslo-config-generator ツールを使用して自動生成されたサンプル設定ファイルでは、ストアードライバーの設定は一貫して順序付けられます。

    • 一部のオペレータは、Glance のリリース tarballs に同梱されているサンプル設定に見られる並べ替えの問題を報告しています。この並べ替えによって、ダウンストリームで使用されていた設定と新しく導入されたアップストリームの設定との間で、誤った「差分」を生じる可能性があります。

    • glance_store ライブラリ(Glance の ** Newton** リリースで使用されています)の最新リリースには、glance_store のバグ 1619487 の修正が含まれています。

    • これまでは、oslo-config-generator を実行する度に、ストアードライバーの設定がランダムに順序付けされていました。Newton リリース後、この順序は一貫しています。

    • サンプルまたは自動生成されたファイルのストアードライバー設定の順序は、cinderfilesystemhttprbdsheepdogswimvmware のようにアルファベット順になります。

    • "ceph" ドライバーのコードネームが rbd であることに注意してください。

    • 登録されているオプションの順序がアルファベット順でないことに注意してください。

  • 期限切れのタスクは Glance で削除されるようになりました。他の Glance リソースと同様、これは "ソフト"削除です。つまり、削除されたタスクはデータベース内で deleted とマークされ、タスクは API レスポンスには表示されませんが、タスクに関連する情報はデータベースに格納されています。

  • Glance と Nova には、ほぼ同じ電子署名モジュールが含まれています。このコードをよりよく維持し発展させ、モジュールが発散する可能性を排除するために、Glance の電子署名モジュールを新しい cursive ライブラリに置き換えました。

    • cursive ライブラリーは、電子署名の OpenStack 固有な検証を実装した OpenStack プロジェクトです。

    • Newtonでは、署名検証コードの大部分が Glance から削除されました。cursive は Glance に依存関係として追加され、デフォルトでインストールされます。

    • Glance は cursive ライブラリーの機能をデジタル署名の検証に使用します。この新しい依存関係に慣れ、依存関係のリストを見るには、 http://git.openstack.org/cgit/openstack/cursive を参照してください。