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 }}"