如何解决即使环境变量和 API 设置正确,ARA 异常
有什么问题?
我正面临这个问题:
~ # ansible-playbook test_playbook.yml -vv
ansible-playbook 2.10.6
config file = None
configured module search path = ['/root/.ansible/plugins/modules','/usr/share/ansible/plugins/modules']
ansible python module location = /root/.local/lib/python3.8/site-packages/ansible
executable location = /root/.local/bin/ansible-playbook
python version = 3.8.7 (default,Mar 2 2021,10:13:07) [GCC 10.2.1 20201203]
No config file found; using defaults
[WARNING]: No inventory was parsed,only implicit localhost is available
[WARNING]: provided hosts list is empty,only localhost is available. Note that the implicit localhost does not match 'all'
Operations to perform:
Apply all migrations: admin,API,auth,contenttypes,db,sessions
Running migrations:
No migrations to apply.
Skipping callback 'default',as we already have a stdout callback.
Skipping callback 'minimal',as we already have a stdout callback.
Skipping callback 'oneline',as we already have a stdout callback.
PLAYBOOK: test_playbook.yml *****************************************************************************************************************************************************************************************************************
2021-03-09 17:47:40,379 ERROR ara.clients.http: Failed to post on /api/v1/playbooks: {'ansible_version': '2.10.6','arguments': {'version': None,'verbosity': 2,'ask_pass': False,'private_key_file': None,'remote_user': None,'connection': 'smart','timeout': 10,'ssh_common_args': '','sftp_extra_args': '','scp_extra_args': '','ssh_extra_args': '','force_handlers': False,'flush_cache': False,'become': False,'become_method': 'sudo','become_user': None,'become_ask_pass': False,'tags': ('all',),'skip_tags': (),'check': False,'syntax': False,'diff': False,'inventory': ('/etc/ansible/hosts','listhosts': False,'subset': None,'extra_vars': "Not saved by ARA as configured by 'ignored_arguments'",'vault_ids': (),'ask_vault_pass': False,'vault_password_files': (),'forks': 5,'module_path': None,'listtasks': False,'listtags': False,'step': False,'start_at_task': None,'args': ('test_playbook.yml',)},'status': 'running','path': '/root/test_playbook.yml','controller': 'ansible-ara.soil.rns.equant.com','started': '2021-03-09T16:47:40.373005+00:00'}
[WARNING]: Failure using method (v2_playbook_on_start) in callback plugin (<ansible.plugins.callback.ara_default.CallbackModule object at 0x7fd2835ad1f0>): Expecting value: line 1 column 1 (char 0)
1 plays in test_playbook.yml
PLAY [hello world playbook] *****************************************************************************************************************************************************************************************************************
[WARNING]: Failure using method (v2_playbook_on_play_start) in callback plugin (<ansible.plugins.callback.ara_default.CallbackModule object at 0x7fd2835ad1f0>): 'NoneType' object is not subscriptable
TASK [Gathering Facts] **********************************************************************************************************************************************************************************************************************
task path: /root/test_playbook.yml:2
[WARNING]: Failure using method (v2_playbook_on_task_start) in callback plugin (<ansible.plugins.callback.ara_default.CallbackModule object at 0x7fd2835ad1f0>): 'NoneType' object is not subscriptable
ok: [localhost]
[WARNING]: Failure using method (v2_runner_on_ok) in callback plugin (<ansible.plugins.callback.ara_default.CallbackModule object at 0x7fd2835ad1f0>): 'NoneType' object is not subscriptable
META: ran handlers
TASK [Create a file called '/tmp/testfile.txt' with the content 'hello world'.] *************************************************************************************************************************************************************
task path: /root/test_playbook.yml:5
changed: [localhost] => {"changed": true,"checksum": "d2a45e30e96f950a9847849614c40f0526aa7336","dest": "/tmp/testfile.txt","gid": 0,"group": "root","md5sum": "bb22645172345eb28c6ea2c7a0464611","mode": "0644","owner": "root","size": 11,"src": "/root/.ansible/tmp/ansible-tmp-1615308462.0821924-6650-197104859992296/source","state": "file","uid": 0}
META: ran handlers
META: ran handlers
PLAY RECAP **********************************************************************************************************************************************************************************************************************************
localhost : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
[WARNING]: Failure using method (v2_playbook_on_stats) in callback plugin (<ansible.plugins.callback.ara_default.CallbackModule object at 0x7fd2835ad1f0>): 'NoneType' object is not subscriptable
ARA 正在运行 我在浏览器上访问 API UI 一切似乎都按预期工作,但每次都显示此错误,并且 ARA 未获取 ansible 记录我做错了什么?
应该发生什么?
我应该在 ARA 上看到我的剧本记录
我使用 :
运行服务器~ # ara-manage runserver
[ara] Using settings file: /root/.ara/server/settings.yaml
[ara] Using settings file: /root/.ara/server/settings.yaml
2021-03-09 19:24:57,020 INFO django.utils.autoreload: Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
March 09,2021 - 19:24:57
Django version 2.2.19,using settings 'ara.server.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
设置文件如下图
~/.ara/server # cat settings.yaml
---
# This is a default settings template generated by ARA.
# To use a settings file such as this one,you need to export the
# ARA_SETTINGS environment variable like so:
# $ export ARA_SETTINGS="/root/.ara/server/settings.yaml"
default:
ALLOWED_HOSTS:
- ::1
- 127.0.0.1
- localhost
BASE_DIR: /root/.ara/server
CORS_ORIGIN_ALLOW_ALL: false
CORS_ORIGIN_REGEX_WHITELIST: []
CORS_ORIGIN_WHITELIST:
- http://127.0.0.1:8000
- http://localhost:3000
DATABASE_CONN_MAX_AGE: 0
DATABASE_ENGINE: django.db.backends.sqlite3
DATABASE_HOST: null
DATABASE_NAME: /root/.ara/server/ansible.sqlite
DATABASE_OPTIONS: {}
DATABASE_PASSWORD: null
DATABASE_PORT: null
DATABASE_USER: null
DEBUG: false
DISTRIBUTED_SQLITE: false
DISTRIBUTED_SQLITE_PREFIX: ara-report
DISTRIBUTED_SQLITE_ROOT: /var/www/logs
EXTERNAL_AUTH: false
LOGGING:
disable_existing_loggers: false
formatters:
normal:
format: '%(asctime)s %(levelname)s %(name)s: %(message)s'
handlers:
console:
class: logging.StreamHandler
formatter: normal
level: INFO
stream: ext://sys.stdout
loggers:
ara:
handlers:
- console
level: INFO
propagate: 0
root:
handlers:
- console
level: INFO
version: 1
LOG_LEVEL: INFO
PAGE_SIZE: 100
READ_LOGIN_REQUIRED: false
SECRET_KEY: [HIDDEN]
TIME_ZONE: Europe/Paris
WRITE_LOGIN_REQUIRED: false
这是我的环境的样子:
~ # env
ARA_API_CLIENT=http
MAIL=/var/mail/root
USER=root
SSH_CLIENT=
SHLVL=1
HOME=/root
SSH_TTY=/dev/pts/0
PAGER=less
https_proxy=http://:8080
LOGNAME=root
http_proxy=http://:8080
TERM=xterm
LC_COLLATE=C
PATH=/root/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ftp_proxy=http://:8080
LANG=C.UTF-8
ARA_API_SERVER=http://127.0.0.1:8000
SHELL=/bin/ash
PWD=/root
SSH_CONNECTION=
CHARSET=UTF-8
ANSIBLE_CALLBACK_PLUGINS=/root/.local/lib/python3.8/site-packages/ara/plugins/callback
当我以完整详细模式执行剧本时,除了上面的错误之外,我还会看到这些回调异常:
[WARNING]: Failure using method (v2_playbook_on_start) in callback plugin (<ansible.plugins.callback.ara_default.CallbackModule object at 0x7f8a33482fd0>): Expecting value: line 1 column 1 (char 0)
Callback Exception:
File "/root/.local/lib/python3.8/site-packages/ansible/executor/task_queue_manager.py",line 389,in send_callback
method(*new_args,**kwargs)
File "/root/.local/lib/python3.8/site-packages/ara/plugins/callback/ara_default.py",line 290,in v2_playbook_on_start
self.playbook = self.client.post(
File "/root/.local/lib/python3.8/site-packages/ara/clients/http.py",line 115,in post
return self._request("post",endpoint,**kwargs)
File "/root/.local/lib/python3.8/site-packages/ara/clients/http.py",line 106,in _request
return response.json()
File "/usr/lib/python3.8/site-packages/requests/models.py",line 900,in json
return complexjson.loads(self.text,**kwargs)
File "/usr/lib/python3.8/json/__init__.py",line 357,in loads
return _default_decoder.decode(s)
File "/usr/lib/python3.8/json/decoder.py",line 337,in decode
obj,end = self.raw_decode(s,idx=_w(s,0).end())
File "/usr/lib/python3.8/json/decoder.py",line 355,in raw_decode
raise JSONDecodeError("Expecting value",s,err.value) from None
1 plays in test_playbook.yml
[WARNING]: Failure using method (v2_playbook_on_play_start) in callback plugin (<ansible.plugins.callback.ara_default.CallbackModule object at 0x7f8a33482fd0>): 'NoneType' object is not subscriptable
Callback Exception:
File "/root/.local/lib/python3.8/site-packages/ansible/executor/task_queue_manager.py",line 327,in v2_playbook_on_play_start
self._submit_thread("global",self._set_playbook_labels,labels)
File "/root/.local/lib/python3.8/site-packages/ara/plugins/callback/ara_default.py",line 247,in _submit_thread
func(*args,line 461,in _set_playbook_labels
current_labels = [label["name"] for label in self.playbook["labels"]]
[WARNING]: Failure using method (v2_runner_on_ok) in callback plugin (<ansible.plugins.callback.ara_default.CallbackModule object at 0x7f8a33482fd0>): 'NoneType' object is not subscriptable
Callback Exception:
File "/root/.local/lib/python3.8/site-packages/ansible/executor/task_queue_manager.py",line 391,in v2_runner_on_ok
self._submit_thread("task",self._load_result,result,"ok",line 505,in _load_result
host = self._get_or_create_host(hostname)
File "/root/.local/lib/python3.8/site-packages/ara/plugins/callback/ara_default.py",line 492,in _get_or_create_host
self.host_cache[host] = self.client.post("/api/v1/hosts",name=host,playbook=self.playbook["id"])
META: ran handlers
[WARNING]: Failure using method (v2_playbook_on_task_start) in callback plugin (<ansible.plugins.callback.ara_default.CallbackModule object at 0x7f8a33482fd0>): 'NoneType' object is not subscriptable
Callback Exception:
File "/root/.local/lib/python3.8/site-packages/ansible/executor/task_queue_manager.py",line 368,in v2_playbook_on_task_start
task_file = self._get_or_create_file(path)
File "/root/.local/lib/python3.8/site-packages/ara/plugins/callback/ara_default.py",line 483,in _get_or_create_file
"/api/v1/files",playbook=self.playbook["id"],path=path,content=content
<127.0.0.1> ESTABLISH LOCAL CONNECTION FOR USER: root
<127.0.0.1> EXEC /bin/sh -c 'echo ~root && sleep 0'
<127.0.0.1> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /root/.ansible/tmp `"&& mkdir "` echo /root/.ansible/tmp/ansible-tmp-1615314391.2775044-7293-103683122105492 `" && echo ansible-tmp-1615314391.2775044-7293-103683122105492="` echo /root/.ansible/tmp/ansible-tmp-1615314391.2775044-7293-103683122105492 `" ) && sleep 0'
Using module file /root/.local/lib/python3.8/site-packages/ansible/modules/setup.py
<127.0.0.1> PUT /root/.ansible/tmp/ansible-local-7288inipmqs9/tmppg_94x5d TO /root/.ansible/tmp/ansible-tmp-1615314391.2775044-7293-103683122105492/AnsiballZ_setup.py
<127.0.0.1> EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-1615314391.2775044-7293-103683122105492/ /root/.ansible/tmp/ansible-tmp-1615314391.2775044-7293-103683122105492/AnsiballZ_setup.py && sleep 0'
<127.0.0.1> EXEC /bin/sh -c '/usr/bin/python3 /root/.ansible/tmp/ansible-tmp-1615314391.2775044-7293-103683122105492/AnsiballZ_setup.py && sleep 0'
<127.0.0.1> EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-tmp-1615314391.2775044-7293-103683122105492/ > /dev/null 2>&1 && sleep 0'
[WARNING]: Failure using method (v2_playbook_on_stats) in callback plugin (<ansible.plugins.callback.ara_default.CallbackModule object at 0x7f8a33482fd0>): 'NoneType' object is not subscriptable
Callback Exception:
File "/root/.local/lib/python3.8/site-packages/ansible/executor/task_queue_manager.py",line 406,in v2_playbook_on_stats
self._load_stats(stats)
File "/root/.local/lib/python3.8/site-packages/ara/plugins/callback/ara_default.py",line 547,in _load_stats
host = self._get_or_create_host(hostname)
File "/root/.local/lib/python3.8/site-packages/ara/plugins/callback/ara_default.py",playbook=self.playbook["id"])
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。