[ERROR] ocp-server-ce-py_script_start_check-4.2.1 RuntimeError: ‘tenant_name‘

Oceanbase 安装成功后关闭OCP,在重新启动时报错

使用OBD 启动OCP报如下错误

[admin@obd 4.2.1]$ obd cluster start ocp 
Get local repositories ok
Search plugins ok
Open ssh connection ok
Load cluster param plugin ok
Check before start ocp-server ok
[WARN] OBD-4302: (192.168.7.20) not enough memory. (Free: 3.9G, Need: 4.0G)

Start ocp-server x
[ERROR] Keyboard Interrupt
Trace ID: 57f92516-98e5-11ee-a89f-000c291a63cd
If you want to view detailed obd logs, please run: obd display-trace 57f92516-98e5-11ee-a89f-000c291a63cd

产看报错日志:

[2023-12-12 19:23:23.870] [dbde7188-98e0-11ee-9459-000c291a63cd] [ERROR] ocp-server-ce-py_script_start_check-4.2.1 RuntimeError: 'tenant_name'
[2023-12-12 19:23:23.871] [dbde7188-98e0-11ee-9459-000c291a63cd] [ERROR] Traceback (most recent call last):
[2023-12-12 19:23:23.871] [dbde7188-98e0-11ee-9459-000c291a63cd] [ERROR]   File "core.py", line 1673, in start_cluster
[2023-12-12 19:23:23.871] [dbde7188-98e0-11ee-9459-000c291a63cd] [ERROR]   File "core.py", line 1743, in _start_cluster
[2023-12-12 19:23:23.871] [dbde7188-98e0-11ee-9459-000c291a63cd] [ERROR]   File "core.py", line 184, in call_plugin
[2023-12-12 19:23:23.871] [dbde7188-98e0-11ee-9459-000c291a63cd] [ERROR]   File "_plugin.py", line 324, in __call__
[2023-12-12 19:23:23.871] [dbde7188-98e0-11ee-9459-000c291a63cd] [ERROR]   File "_plugin.py", line 286, in _new_func
[2023-12-12 19:23:23.871] [dbde7188-98e0-11ee-9459-000c291a63cd] [ERROR]   File "/home/admin/.obd/plugins/ocp-server-ce/4.2.1/start_check.py", line 318, in start_check
[2023-12-12 19:23:23.871] [dbde7188-98e0-11ee-9459-000c291a63cd] [ERROR]     error('tenant', err.EC_OCP_SERVER_TENANT_ALREADY_EXISTS.format({"tenant_name":monitor_tenant}))
[2023-12-12 19:23:23.871] [dbde7188-98e0-11ee-9459-000c291a63cd] [ERROR]   File "_errno.py", line 50, in format
[2023-12-12 19:23:23.871] [dbde7188-98e0-11ee-9459-000c291a63cd] [ERROR] KeyError: 'tenant_name'
[2023-12-12 19:23:23.872] [dbde7188-98e0-11ee-9459-000c291a63cd] [ERROR] 

处理方法:

编辑 /home/admin/.obd/plugins/ocp-server-ce/4.2.1/start_check.py  Python文件 318 上方的skip_create_tenant强制赋值为True,并注释掉如下两行,保存文件。

304                 #skip_create_tenant = 'False'
305                 #skip_create_tenant = getattr(options, "skip_create_tenant", "False")

vi /home/admin/.obd/plugins/ocp-server-ce/4.2.1/start_check.py

303                 # tenant check
304                 #skip_create_tenant = 'False'
305                 #skip_create_tenant = getattr(options, "skip_create_tenant", "False")
306                 skip_create_tenant = 'True'
307                 if skip_create_tenant == 'False':
308                     sql = "select * from oceanbase.DBA_OB_TENANTS where TENANT_NAME = %s"
309                     meta_tenant = server_config.get('ocp_meta_tenant')['tenant_name']
310                     meta_max_cpu = server_config['ocp_meta_tenant'].get('max_cpu', 2)
311                     meta_memory_size = server_config['ocp_meta_tenant'].get('memory_size', '2G')
312                     if server_config.get('ocp_monitor_tenant'):
313                         monitor_user = server_config.get('ocp_monitor_username', 'monitor_user')
314                         monitor_tenant = server_config['ocp_monitor_tenant']['tenant_name']
315                         monitor_max_cpu = server_config['ocp_monitor_tenant'].get('max_cpu', 2)
316                         monitor_memory_size = server_config['ocp_monitor_tenant'].get('memory_size',     '4G')
317                         res = cursor.fetchone(sql, [monitor_tenant])
318                         if res:
319                             error('tenant', err.EC_OCP_SERVER_TENANT_ALREADY_EXISTS.format({"tenant_    name":monitor_tenant}))
320                     res = cursor.fetchone(sql, [meta_tenant])
321                     if res:
322                         error('tenant', err.EC_OCP_SERVER_TENANT_ALREADY_EXISTS.format({"tenant_name    ":meta_tenant}))
323                     break

然后 输入如下命令可以正常启动了

 obd cluster start ocp

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-13 06:56:05       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-13 06:56:05       106 阅读
  3. 在Django里面运行非项目文件

    2023-12-13 06:56:05       87 阅读
  4. Python语言-面向对象

    2023-12-13 06:56:05       96 阅读

热门阅读

  1. 【LinkedList】常用方法大全

    2023-12-13 06:56:05       36 阅读
  2. CMakeLists.txt与package.xml依赖项比较

    2023-12-13 06:56:05       46 阅读
  3. Edge问题解决教程

    2023-12-13 06:56:05       59 阅读
  4. 20231212 cmake 编译中间库

    2023-12-13 06:56:05       66 阅读
  5. pdf读取内容缺失(漏字/文字丢失)问题

    2023-12-13 06:56:05       140 阅读
  6. OpenCV中vector<Mat>数据存储问题

    2023-12-13 06:56:05       51 阅读
  7. 小程序面试总结

    2023-12-13 06:56:05       42 阅读
  8. 【洛谷】【模板】排序

    2023-12-13 06:56:05       66 阅读
  9. Vue3:ref函数和reactive函数和setup函数

    2023-12-13 06:56:05       63 阅读
  10. 元编程(Metaprogramming)

    2023-12-13 06:56:05       70 阅读