{
    "name"  : "线卡冲突或cannot startup诊断",
    "problems" : {
        "problem1" : {
            "desc"      : "【问题】机箱与线卡系列号冲突",
            "advice"    : "【建议】请把机箱与线卡setmac成同一系列号"
        },
        "problem2" : {
            "desc"      : "【问题】环境中存在被禁用的板卡",
            "advice"    : "【建议】此板卡在当前机箱内被禁用，请更换板卡或机箱"
        },
        "problem3" : {
            "desc"      : "【问题】芯片族冲突，即CB卡与ED/DB卡在一个机箱内混用，必须保证在一个机箱内仅有一种芯片族的线卡，（CB卡属于芯片族1，ED/DB卡同属于芯片族2）",
            "advice"    : "【建议】把芯片族不同的线卡拔出（芯片族不同的线卡可能仅仅是预配置，则无需拔出），在config模式下，通过remove configuration module命令删除板卡配置，write后重启"
        },
        "problem4" : {
            "desc"      : "【问题】板卡检测超时或同步超时",
            "advice"    : "【建议】1、   检查环境中各板卡中是否存在版本不一致的情况。
2、  通过show power命令查看此板卡是否被下电
3、  收集超时的线卡端的一键收集
"
        },
        "problem5" : {
            "desc"      : "【问题】CB系列的线卡仅能与FE-C共用在同一机箱中，ED/DB系列的线卡仅能与FE-D共用在同一机箱中",
            "advice"    : "【建议】调整FE卡，以符合以上标准"
        },
        "problem6" : {
            "desc"      : "【问题】找不到板卡的属性文件",
            "advice"    : "【建议】
检查烧的版本是否支持此线卡
"
        },
        "problem7" : {
            "desc"      : "【问题】setmac信息中的e2type与板卡真实的e2type不符",
            "advice"    : "【建议】重新setmac线卡"
        },
        "problem8" : {
            "desc"      : "【问题】板卡无法启动",
            "advice"    : "【建议】请使用工具一键收集信息"
        }
    }
}
---------------------------code-------------------------------
#step1
response = cli('show alarm cannot-startup')
reg = /Serial numbers conflict/
if reg.test(response) :
    add_problem('problem1')
    return 'warn'
end

#step2  
reg = /Card model is denied/
if reg.test(response) :
    add_problem('problem2')
	return 'warn'
end

#step3
reg = /Chip families conflict/
if reg.test(response) :
	add_problem('problem3')
	return 'warn'
end

#step4
reg = /(Probe is timeout|Information Synchronization is timeout)/
if reg.test(response) :
	add_problem('problem4')
	return 'warn'
end

#step5
reg = /FE cards conflict/
if reg.test(response) :
	add_problem('problem5')
	return 'warn'
end

#step6
reg = /No supporting card-attribute file found/
if reg.test(response) :
	add_problem('problem6')
	return 'warn'
end

#step7
reg = /EE and setmac conflict/
if reg.test(response) :
	add_problem('problem7')
	return 'warn'
end

#step8
response = cli('show ver slot')
reg = /cannot startup/
if reg.test(response) :
	add_problem('problem8')
	return 'warn'
end

return 'success'