OVMM Rest APIおよびAnsible URIモジュールでセッションCookieをどのように使用する必要がありますか?

OVMM Rest APIおよびAnsible URIモジュールでセッションCookieをどのように使用する必要がありますか?

Ansible URIモジュールを使用してOracle Virtual Machine Manager(OVMM)REST APIを正常に使用できますが、最初の呼び出しでセッションCookieを取得して後で使用する代わりに、各呼び出しにユーザー名とパスワードを渡す必要があります。私が理解したのは、次のことがうまくいくはずですが、2番目の呼び出しでは「401 Unauthorized」というメッセージが表示されます。 2番目の通貨では、いくつかのバリエーションを試しました。プレイブックをデバッグすると、Cookie(JSESSIONIDと_WL_AUTHCOOKIE_JSESSIONID)が期待どおりに配信されることがわかります。明確に言えば、basic_auth、ユーザー名、およびパスワードを使用するように2番目のAPI呼び出しを変更すると機能します。

  - name: Get OVM Manager
    local_action:
        module: uri
        url: "{{ baseuri }}/Manager"
        url_username: "{{ ovmUser }}"
        url_password: "{{ ovmPassword }}"
        validate_certs: false
        force_basic_auth: true
        method: GET
    register: login

  - name: Get info about VMs
    local_action:
      module: uri
      url: "{{ baseuri }}/Vm/id"
      validate_certs: false
      method: GET
      headers:
        Cookie: "{{ login.cookies_string }}"  # Why doesn't this work???

ベストアンサー1

代わりに、次のパラメータを使用してください。

  headers:
    Cookie: "{{ login.set_cookie }}"

おすすめ記事