stackhpc.os-images

注意:

このリポジトリはもはやメンテナンスされていません - 役割は今やAnsibleコレクションに移動されました ➡️ https://github.com/stackhpc/ansible-collection-openstack

OpenStack イメージ

この役割は、disk-image-builderを使用してゲストインスタンスイメージを生成し、os_imageモジュールを使用してOpenStackにアップロードします。

要件

OpenStack APIはターゲットホストからアクセス可能である必要があります。クライアントの資格情報は、環境に設定されているか、clouds.yaml形式を使用して設定されている必要があります。

この役割は、パッケージマネージャによってインストールされたPythonパッケージに依存しているため、システムサイトパッケージが有効なvirtualenvを使用する必要があります。たとえば:

virtualenv --system-site-packages ~/venvs/dib

役割変数

os_images_package_dependencies_extra: ビルドホストにインストールする追加パッケージのリスト。

os_images_cache: ビルドアーティファクトをキャッシュするディレクトリへのパス。デフォルトは~/disk_images 注意: キャッシュされたイメージがすでに存在する場合、設定に変更があっても新しいイメージは構築されません。新しい設定変更を適用するには、force_rebuildフラグを使用します。

os_images_auth_type: OpenStack認証エンドポイントと資格情報。デフォルトはpassword

os_images_auth: OpenStack認証エンドポイントと資格情報。形式は次のディクショナリの形です:

  • auth_url: Keystone認証エンドポイントのURL。デフォルトはOS_AUTH_URL
  • project: OpenStackテナント/プロジェクト。デフォルトはOS_TENANT_NAME
  • username: OpenStackユーザー名。デフォルトはOS_USERNAME
  • password: OpenStackパスワード。デフォルトはOS_PASSWORD

os_images_region: 画像をアップロードするリージョンを定義します。デフォルトはなし。

os_images_cacert: CA証明書バンドルへのオプションのパス。

os_images_interface: サービスカタログから取得するエンドポイントURLのタイプ。publicadmin、またはinternalのいずれかになります。

os_images_list: YAMLディクショナリのリストで、elementsimage_urlは相互排他的で、各ディクショナリは以下を含みます:

  • name: OpenStackで使用するイメージ名。
  • elements: 画像に組み込むdiskimage-builderの要素のリスト。
  • image_url: インターネット上の画像のURL。
  • checksum: ダウンロードした画像を検証するためのチェックサム。形式: :<checksum|url>。
  • env: (オプション)diskimage-builderのパラメータとして定義する環境変数。形式はKEY: VALUEのディクショナリ。
  • packages: (オプション)画像にインストールするパッケージのリスト。
  • size: (オプション)イメージファイルシステムのサイズ。
  • properties: (オプション)Glanceイメージに設定するプロパティのディクショナリ。一般的なイメージプロパティは こちら にあります。
  • type: (オプション)イメージタイプ。DIBのデフォルトはqcow2です。イメージフォーマットは こちら にあります。
  • force_rebuild: (オプション)イメージを常に構築するかどうかを示すブールフラグ(以前に同名のイメージが構築されていても)。os_images_uploadTrueに設定されている場合、Glanceのイメージは新しく構築されたイメージに置き換えられます。設定しないと、デフォルトはos_images_force_rebuildになります。
  • is_public: (オプション)画像がすべてのプロジェクトに対して可視化されるか、プライベートに保たれるか。
  • owner: (オプション)アップロードされた画像を所有するプロジェクトのID。

os_images_common: すべてのイメージに含める要素のセット。デフォルトはcloud-init enable-serial-console stable-interface-namesです。

os_images_dib_pkg_name: disk-image-builderをインストールするときにansible.builtin.pipモジュールに渡す名前パラメーターをカスタマイズします。これを使用して、バージョン管理からdisk-image-builderをインストールできます。

os_images_dib_version: (オプション)インストールするdisk-image-builderのバージョンを設定します。デフォルトでは制約がありません。

os_images_git_elements: githubから取得してローカルに展開し、画像に組み込む要素のオプションのリスト。次のパラメータを含むディクショナリのリストを供給します:

  • repo: クローン用のgitリポジトリのURL(存在しない場合)
  • local: gitクローンのためのローカルパス
  • version: クローンのためのオプションのgitリファレンス(ブランチ、タグ、ハッシュ)。デフォルトはHEAD
  • elements_path: リポジトリ内の要素へのオプションの相対パス。

os_images_elements: サイト固有のDIB要素のオプションのパスのリスト。

os_images_upload: 構築したイメージをGlanceにアップロードするかどうか。デフォルトはTrue

os_images_force_rebuild: DIBイメージの強制的再構築を行うかどうか。os_images_uploadTrueに設定されている場合、新しく構築されたイメージでGlanceのイメージが置き換えられます。デフォルトはFalse

os_images_public: アップロードされたイメージが公開されるかどうか。デフォルトはTrue - これは管理者権限を必要とします。

os_images_venv: イメージをアップロードするためにPython依存関係をインストールするvirtualenvへのパス。

os_images_dib_venv: イメージを構築するためにDIBをインストールするvirtualenvへのパス。

os_images_promote: 古いイメージを退職させて新しいイメージを昇進させるかどうか。デフォルトはFalse

os_images_build: イメージを構築するかどうか。

os_images_name_suffix: イメージ昇進時に削除されるイメージの接尾辞、例えば -rc、-dev、-test など。昇進機能には必須。デフォルトは空。

os_images_hide: Glanceのリストにイメージを隠すかどうか。イメージを隠すことは、イメージの退職/昇進プロセスのオプションとして利用可能です。デフォルトはFalse

依存関係

例プレイブック

以下のプレイブックはゲストイメージを生成し、OpenStackにアップロードします。

---
- name: ゲストイメージを生成しアップロードする
  hosts: openstack
  roles:
    - role: stackhpc.os-images
      os_images_auth:
        auth_url:     "{{ lookup('env','OS_AUTH_URL') }}"
        username:     "{{ lookup('env','OS_USERNAME') }}"
        password:     "{{ lookup('env','OS_PASSWORD') }}"
        project_name: "{{ lookup('env','OS_TENANT_NAME') }}"
      os_images_list:
      - name: FedoraCore
        elements:
          - fedora
          - selinux-permissive
          - alaska-extras
        env:
          DIB_ALASKA_DELETE_REPO: "y"
          DIB_ALASKA_PKGLIST: "pam-python pam-keystone"
      - name: FedoraAtomic27
        image_url: https://ftp.icm.edu.pl/pub/Linux/dist/fedora-alt/atomic/stable/Fedora-Atomic-27-20180326.1/CloudImages/x86_64/images/Fedora-Atomic-27-20180326.1.x86_64.qcow2
        properties:
          os_distro: fedora-atomic
        type: qcow2

著者情報

プロジェクトについて

Role to generate guest instance images and upload to OpenStack

インストール
ansible-galaxy install stackhpc.os-images
ライセンス
apache-2.0
ダウンロード
201.6k
所有者
StackHPC develops OpenStack capabilities for research computing use cases. Through extensive experience, we understand HPC and cloud.