Unauthorized name in RAKP2



Question: Unauthorized name in RAKP2

嘗試執行 Playbook 透過 ipmi_power 模組 Power On 主機時,出現「Unauthorized name in RAKP2」錯誤訊息?





Answer:

簡單來說,這個「Unauthorized name in RAKP2」錯誤訊息,是執行的 Playbook 中「IPMI 帳號或密碼錯誤」所導致。

雖然,參考 How Do I Use Ansible Tower's Credential Parameters (Machine, Network, Cloud) in my Playbook? - Red Hat Customer Portal 這篇文章,採用下列方式呼叫「username and password parameters from Ansible facts」,但是因為 Playbook 中有「connection: local」,所以無法順利使用
vars:
  machine:
    username: '{{ ansible_user }}'
    password: '{{ ansible_password }}'


最後,參考 Ansible Tower Blog - Feature Spotlight: Custom Credentials 這篇文章內容,建立「新的 Credential Types」而不要使用內建的「Machine」Credential Types。如下列所示,建立新的 Credential Types,在 INPUT Configuration 部份採用:
fields:
  - id: username
    type: string
    label: Supermicro IPMI username
  - id: password
    type: string
    label: Supermicro IPMI password
    secret: true
required:
  - username
  - password


INJECTOR Configuration 部份採用:
extra_vars:
  Supermicro_password: '{{ password }}'
  Supermicro_username: '{{ username }}'



接著,建立 Credential Types 時,便採用剛才新增的「IPMI - Supermicro」Credential Types。


在 Playbook 中便可以使用「"{{ Supermicro_username }}"」和「"{{ Supermicro_password }}"」來呼叫 Credential Types 的使用者帳號和密碼了。