asgrad服务从0.16.0升级到0.17.2后,点击任务调度和平台服务菜单都是显示404

  • Choerodon平台版本:0.17.2

  • 运行环境(如localhost或k8s):k8s

  • 遇到问题时的前置条件:
    之前使用的整个平台是基于0.16的,现升级为0.17

  • 问题描述:

其他服务都正常了,就是任务调度跟平台服务相关的菜单都点击显示404,找不到页面。

修改了

  • 报错信息(请尽量使用代码块的形式展现):

  • 原因分析:

    看了下changelog,0.17将菜单从前端抽到了后端服务的excel来管理并通过sageTask来初始化数据。也通过kubectl logs -f 查看了 asgrad-service-init-db的日志,显示是有更新iam_permission等记录(iam-permission-task-refresh,刷新菜单表数据,1,result: 78 …),但是去到数据库查看,数据并未更新。

  • 疑问:

    同时又看了下asgrad的changelog,说0.18修复了部分数据不更新的问题,请问菜单这块是不是这部分不能更新的,是不是升级到0.18就可以解决?如果不升级0.18有什么办法解决吗,整个平台升级操作有点太重了。谢谢 :)

应该是菜单数据没有初始化进去,你的升级顺序是什么?重启下asgard服务

升级顺序是按官方文档官方升级文档 来操作的,asgard数据也重启过,没有效果。

反编译了一下asgard的jar包,看到CHOERODON-META\micro-service-init-data.json里有相关的菜单iam_permission和iam_menu_b等数据,但是查询asgard数据库

    SELECT
	t.* 
FROM
	asgard_orch_json_data t,
	asgard_saga_task_instance t2 
WHERE
	t.ID = t2.INPUT_DATA_ID 
	AND t2.SAGA_CODE = 'mgmt-actuator-refresh' 
	AND t2.TASK_CODE = 'iam-init-data-task-refresh'

看到对应的事务执行报文中,data字段里并没有关联的iam_permission和iam_menu_b等相关的内容。
目前仍然很疑惑,不知道从哪里下手了。

重启下manager试试

非常感谢,重启了一下manager果然生效,是什么原理呢?

manager监听服务上线,然后发一个saga消息,iam去执行刷菜单和权限的操作