如何修复 "Infoblox IPAM is misconfigured?"
How to fix "Infoblox IPAM is misconfigured?"
我正在使用以下剧本从 ansible 调用 infoblox:
- hosts: localhost
gather_facts: false
tasks:
- name: Include infoblox_vault
include_vars:
file: 'infoblox_vault.yml'
- name: Install infoblox-client for DDI
pip:
name: infoblox-client
environment:
HTTP_PROXY: http://our_internal_proxy.net:8080
HTTPS_PROXY: http://our_internal_proxy.net:8080
delegate_to: localhost
- debug:
msg: can I decrypt username?--> "{{ vault_infoblox_username }}"
- name: Check if DNS Record exists
set_fact:
miqCreateVM_ddiRecord: "{{ lookup('nios', 'record:a', filter={'name': 'infoblox-devtest.net' }, provider={'host': 'ddi-qa.net', 'username': vault_infoblox_username, 'password': vault_infoblox_password }) }}"
- debug:
msg: check var miqCreateVM_ddiRecord "{{ miqCreateVM_ddiRecord }}"
- debug:
msg: test to see amazing vm_name! "{{ vm_name }}"
... code snipped
作业运行时,我得到:
Vault password:
PLAY [localhost] ***************************************************************
TASK [Include infoblox_vault] **************************************************
ok: [127.0.0.1]
TASK [Install infoblox-client for DDI] *****************************************
ok: [127.0.0.1 -> localhost]
TASK [debug] *******************************************************************
ok: [127.0.0.1] => {
"msg": "can I decrypt username?--> \"manageiq-ddi\""
}
TASK [Check if DNS Record exists] **********************************************
fatal: [127.0.0.1]: FAILED! => {"msg": "An unhandled exception occurred while running the lookup plugin 'nios'. Error was a <type 'exceptions.Exception'>, original message: Infoblox IPAM is misconfigured: infoblox_username and infoblox_password are incorrect."}
PLAY RECAP *********************************************************************
127.0.0.1 : ok=3 changed=0 unreachable=0 failed=1 skipped=0 rescued=0 ignored=0
这是主要部分:"An unhandled exception occurred while running the lookup plugin 'nios'. Error was a <type 'exceptions.Exception'>, original message: Infoblox IPAM is misconfigured: infoblox_username and infoblox_password are incorrect."
这个剧本过去有用。我已经几个月没研究过了。不知道为什么它坏了。
我确认我可以使用凭据手动登录 infoblox 客户端。我还尝试手动记录用户名以确保它从 ansible-vault 文件中解密信用。效果很好。所以这不是凭据,也不是保险库解密。这是另外一回事。
我在网上找到了以下三个相关主题,但其中 none 似乎可以解决问题:
This one(其中提到向请求添加证书。有人知道该怎么做吗?我找不到说明)
This one(提到了升级带来的问题。我向我们的网络人员展示了 post 中提到的版本,他们说版本号与我们环境中的版本完全不相关,所以它是很难评估这是否相关。)
Last one(这要求使用 属性 'http_request_timeout' : None
,我觉得这不是问题,因为我根本无法让它工作。)
有什么理论吗?谢谢!
这可能无法为其他人解决问题,但这为我解决了问题:
- 获得 Ansible 的新密码,用于登录 Infoblox。
- 创建一个包含新 infoblox 密码的新 ansible 保险库文件。我也为保险库文件加密设置了一个新密码。
- 我在 ansible 中创建了一个新的凭证对象,以使 ansible 能够读取新的保管库文件。
- 我更新了剧本以使用新的保管库。
现在可以了。加密出了点问题。
我正在使用以下剧本从 ansible 调用 infoblox:
- hosts: localhost
gather_facts: false
tasks:
- name: Include infoblox_vault
include_vars:
file: 'infoblox_vault.yml'
- name: Install infoblox-client for DDI
pip:
name: infoblox-client
environment:
HTTP_PROXY: http://our_internal_proxy.net:8080
HTTPS_PROXY: http://our_internal_proxy.net:8080
delegate_to: localhost
- debug:
msg: can I decrypt username?--> "{{ vault_infoblox_username }}"
- name: Check if DNS Record exists
set_fact:
miqCreateVM_ddiRecord: "{{ lookup('nios', 'record:a', filter={'name': 'infoblox-devtest.net' }, provider={'host': 'ddi-qa.net', 'username': vault_infoblox_username, 'password': vault_infoblox_password }) }}"
- debug:
msg: check var miqCreateVM_ddiRecord "{{ miqCreateVM_ddiRecord }}"
- debug:
msg: test to see amazing vm_name! "{{ vm_name }}"
... code snipped
作业运行时,我得到:
Vault password:
PLAY [localhost] ***************************************************************
TASK [Include infoblox_vault] **************************************************
ok: [127.0.0.1]
TASK [Install infoblox-client for DDI] *****************************************
ok: [127.0.0.1 -> localhost]
TASK [debug] *******************************************************************
ok: [127.0.0.1] => {
"msg": "can I decrypt username?--> \"manageiq-ddi\""
}
TASK [Check if DNS Record exists] **********************************************
fatal: [127.0.0.1]: FAILED! => {"msg": "An unhandled exception occurred while running the lookup plugin 'nios'. Error was a <type 'exceptions.Exception'>, original message: Infoblox IPAM is misconfigured: infoblox_username and infoblox_password are incorrect."}
PLAY RECAP *********************************************************************
127.0.0.1 : ok=3 changed=0 unreachable=0 failed=1 skipped=0 rescued=0 ignored=0
这是主要部分:"An unhandled exception occurred while running the lookup plugin 'nios'. Error was a <type 'exceptions.Exception'>, original message: Infoblox IPAM is misconfigured: infoblox_username and infoblox_password are incorrect."
这个剧本过去有用。我已经几个月没研究过了。不知道为什么它坏了。
我确认我可以使用凭据手动登录 infoblox 客户端。我还尝试手动记录用户名以确保它从 ansible-vault 文件中解密信用。效果很好。所以这不是凭据,也不是保险库解密。这是另外一回事。
我在网上找到了以下三个相关主题,但其中 none 似乎可以解决问题:
This one(其中提到向请求添加证书。有人知道该怎么做吗?我找不到说明)
This one(提到了升级带来的问题。我向我们的网络人员展示了 post 中提到的版本,他们说版本号与我们环境中的版本完全不相关,所以它是很难评估这是否相关。)
Last one(这要求使用 属性 'http_request_timeout' : None
,我觉得这不是问题,因为我根本无法让它工作。)
有什么理论吗?谢谢!
这可能无法为其他人解决问题,但这为我解决了问题:
- 获得 Ansible 的新密码,用于登录 Infoblox。
- 创建一个包含新 infoblox 密码的新 ansible 保险库文件。我也为保险库文件加密设置了一个新密码。
- 我在 ansible 中创建了一个新的凭证对象,以使 ansible 能够读取新的保管库文件。
- 我更新了剧本以使用新的保管库。
现在可以了。加密出了点问题。