2

問題

スタンドアロンのミニオンでsalt.states.pkgrepo.managedは、非標準のソフトウェア リポジトリを追加するために使用されています。発生している問題は、次のsudo zypper update実行時にキーがシステムによって (自動) 受け入れられず、パッケージの更新またはインストールが妨げられ、次の状態が失敗することです。

使用された正確な状態で繰り返すにはmysuse.sls

suse-gis-repo:
  pkgrepo.managed:
    - name: Application_Geo
    - humanname: Applications related to the earth (GIS, Mapping, geodesy, GPS, astronomy) (openSUSE_Leap_42.1)
    - baseurl: http://download.opensuse.org/repositories/Application:/Geo/openSUSE_Leap_42.1/
    - gpgcheck: 1
    - gpgkey: http://download.opensuse.org/repositories/Application:/Geo/openSUSE_Leap_42.1//repodata/repomd.xml.key

問題は、状態の次のフェーズが実行されるときです。

packages_uptodate:
  pkg.uptodate:
    - refresh: True

以下に示す手動介入が必要なため、失敗します。

New repository or package signing key received:

Repository:       Application_Geo
Key Name:         Application:Geo OBS Project <Application:Geo@build.opensuse.org>
Key Fingerprint:  195E2111 06BC205D 2A9C2222 CC7F0748 9591C39B
Key Created:      Thu 16 Jul 2015 08:01:27 PM CEST
Key Expires:      Sat 23 Sep 2017 08:01:27 PM CEST
Rpm Name:         gpg-pubkey-9591c39b-55a7f177


Do you want to reject the key, trust temporarily, or trust always? [r/t/a/? shows all options] (r):

解決の試み

  1. の最後の 2 行suse-gis-repoがコメント アウトされている (つまり、 gpgchk& gpgkey) 場合でも、上記の問題は引き続き発生します。
  2. zypper ar -G <URI>gpgkey がチェックされないようにしますが、salt 状態ではこれを行うオプションはありません。
  3. salt.states.pkgrepo.managed対応する実行モジュールを使用する試みを使用する代わりに、この問題を解決するための 1 つの試みが試みられzypper.mod_repoました。

#3 で説明されている例を以下に示します。

package_autoaccept_key:
  module.run:
    - name: zypper.mod_repo
    - kwargs: {
          repo: 'Application_Geo',
          baseurl: 'http://download.opensuse.org/repositories/Application:/Geo/openSUSE_Leap_42.1/',
          enabled: 'True',
          refresh: 'True',
          gpgcheck: 'True',
          gpgautoimport: 'True'
      }

エラーで:

local:
----------
    ID: package_autoaccept_key
    Function: module.run
    Name: zypper.mod_repo
    Result: False
    Comment: Module function zypper.mod_repo is not available
    Started: 02:18:34.108787
    Duration: 543.087 ms
    Changes:

Summary for local
------------
Succeeded: 0
Failed:    1
------------

質問

  1. 状態または実行モジュールを介して、キーを自律的に受け入れる (常に信頼する) 方法はありますか?

  2. module.run実行モジュールは、関数を介してスタンドアロンのミニオンで実行できますか?

  3. スタンドアロンのミニオンで実行できる場合、必要なモジュールが存在することを確認する最善の方法は何ですか?

  4. 状態で使用するアプローチはmodule.run、上記の問題に対する欠陥のあるアプローチですか? もしそうなら、それはなぜですか?

4

0 に答える 0