OpsManage icon indicating copy to clipboard operation
OpsManage copied to clipboard

修改资产报错接口500

Open chenzhenhua86 opened this issue 3 years ago • 0 comments

修改资产类似 /assets/manage/?id=2&model=edit 提交后显示 [ERROR] runserver.py[line:154] HTTP PUT /api/server/2/ 500

具体报错如下,之前好像手动再数据库删除过opsmanage_assets服务器条目 Ops Failed! TypeError at /api/server/2/ Object type cannot be passed to C code

Request Method: PUT Request URL: http://172.16.3.89/api/server/2/ Django Version: 2.2.15 Python Executable: /usr/bin/python3 Python Version: 3.6.8 Python Path: ['/mnt/OpsManage', '/usr/local/lib/python3.6/site-packages/git/ext/gitdb', '/mnt/OpsManage/apps', '/mnt/OpsManage', '/usr/lib64/python36.zip', '/usr/lib64/python3.6', '/usr/lib64/python3.6/lib-dynload', '/usr/local/lib64/python3.6/site-packages', '/usr/local/lib/python3.6/site-packages', '/usr/lib64/python3.6/site-packages', '/usr/lib/python3.6/site-packages', '/usr/local/lib/python3.6/site-packages/gitdb/ext/smmap'] Server time: Sat, 27 Aug 2022 12:55:56 +0800 Installed Applications: ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'rest_framework', 'mptt', 'channels', 'OpsManage', 'navbar', 'databases', 'asset', 'api', 'deploy', 'orders', 'wiki', 'cicd', 'sched', 'django_celery_beat', 'django_celery_results', 'websocket', 'apply', 'account'] Installed Middleware: ['django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware'] Traceback:

File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py" in inner 34. response = get_response(request)

File "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response 115. response = self.process_exception_by_middleware(e, request)

File "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response 113. response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "/usr/local/lib/python3.6/site-packages/django/views/decorators/csrf.py" in wrapped_view 54. return view_func(*args, **kwargs)

File "/usr/local/lib/python3.6/site-packages/django/views/generic/base.py" in view 71. return self.dispatch(request, *args, **kwargs)

File "/usr/local/lib/python3.6/site-packages/rest_framework/views.py" in dispatch 495. response = self.handle_exception(exc)

File "/usr/local/lib/python3.6/site-packages/rest_framework/views.py" in handle_exception 455. self.raise_uncaught_exception(exc)

File "/usr/local/lib/python3.6/site-packages/rest_framework/views.py" in dispatch 492. response = handler(request, *args, **kwargs)

File "/usr/local/lib/python3.6/site-packages/rest_framework/decorators.py" in handler 54. return func(*args, **kwargs)

File "/mnt/OpsManage/apps/api/views/assets_api.py" in asset_server_detail 373. serializer.save()

File "/usr/local/lib/python3.6/site-packages/rest_framework/serializers.py" in save 209. self.instance = self.update(self.instance, validated_data)

File "/usr/local/lib/python3.6/site-packages/rest_framework/serializers.py" in update 983. instance.save()

File "/usr/local/lib/python3.6/site-packages/django/db/models/base.py" in save 741. force_update=force_update, update_fields=update_fields)

File "/usr/local/lib/python3.6/site-packages/django/db/models/base.py" in save_base 779. force_update, using, update_fields,

File "/usr/local/lib/python3.6/site-packages/django/db/models/base.py" in _save_table 851. forced_update)

File "/usr/local/lib/python3.6/site-packages/django/db/models/base.py" in _do_update 900. return filtered._update(values) > 0

File "/usr/local/lib/python3.6/site-packages/django/db/models/query.py" in _update 760. return query.get_compiler(self.db).execute_sql(CURSOR)

File "/usr/local/lib/python3.6/site-packages/django/db/models/sql/compiler.py" in execute_sql 1469. cursor = super().execute_sql(result_type)

File "/usr/local/lib/python3.6/site-packages/django/db/models/sql/compiler.py" in execute_sql 1127. sql, params = self.as_sql()

File "/usr/local/lib/python3.6/site-packages/django/db/models/sql/compiler.py" in as_sql 1435. val = field.get_db_prep_save(val, connection=self.connection)

File "/usr/local/lib/python3.6/site-packages/django/db/models/fields/init.py" in get_db_prep_save 793. return self.get_db_prep_value(value, connection=connection, prepared=False)

File "/usr/local/lib/python3.6/site-packages/django/db/models/fields/init.py" in get_db_prep_value 788. value = self.get_prep_value(value)

File "/mnt/OpsManage/dao/base.py" in get_prep_value 160. value = self.cipher.encrypt(value)

File "/mnt/OpsManage/libs/secret/aescipher.py" in encrypt 20. return base64.b64encode(iv + cipher.encrypt(raw))

File "/usr/local/lib64/python3.6/site-packages/Crypto/Cipher/_mode_cbc.py" in encrypt 178. c_uint8_ptr(plaintext),

File "/usr/local/lib64/python3.6/site-packages/Crypto/Util/_raw_api.py" in c_uint8_ptr 143. raise TypeError("Object type %s cannot be passed to C code" % type(data))

Exception Type: TypeError at /api/server/2/ Exception Value: Object type cannot be passed to C code Request information: USER: admin

GET: No GET data

POST: No POST data

chenzhenhua86 avatar Aug 27 '22 05:08 chenzhenhua86