模型规范定义v1.0
更新时间:2025/10/15
在Gitcode上查看源码

编号模型分类名称规则描述级别错误提示错误影响修复建议备注说明VPD门禁生效存量问题已清理
rule_resource_001资源树资源树接口名称正确性检查
资源树接口为长度不超过128的非空字符串,由若干段非空字符串通过.拼接而成,首段字符串必须为bmc。"提示资源树接口(1%)存在如下问题:1、接口长度不能超过128,当前长度为(2%)。2、文件(1%)中定义的接口名称为空。3、接口定义格式不满足规范,应由若干段非空字符串通过.拼接而成,且首段字符串必须为bmc。标准化规范定义。规范资源树接口文件(1%)中资源树接口(2%)的定义。
rule_resource_002资源树资源树接口唯一性检查资源树接口全局唯一。严重(1%)和(2%)文件中定义了相同的资源树接口(3%)。定义冲突,可能引发对应功能异常。修改(1%)或(2%)文件中的(3%)接口名称,注意要匹配修改:1、资源树对象对接口的实现。2、MDS对接口的管理。3、接口映射配置对接口的引用。
rule_resource_003资源树资源树接口有效性检查资源树接口中,属性、方法、信号至少配置一个。提示资源树接口(1%)至少须配置一个属性、方法或信号。无效的资源树接口定义。资源树接口(1%)增加属性、方法或信号配置。
rule_resource_004资源树资源树属性名称正确性检查资源树属性的名称为长度不大于64的非空字符串,大驼峰格式。提示资源树接口(1%)的属性(2%)名称存在如下问题:1、长度不应大于64,当前长度(3%)。2、须配置为大驼峰格式。标准化规范定义。对资源树接口(1%)的属性(2%)名称做如下修改:1、将属性名改为长度不大于64的字符串。2、将属性名改为大驼峰格式,样例:AaBbCc。
rule_resource_005资源树资源树属性唯一性检查资源树属性在接口内命名唯一。严重资源树接口(1%)中存在名称相同的属性(2%)定义。定义冲突,可能引起对应功能异常。修改或删除资源树接口(1%)中重名的(2%)属性。
rule_resource_006资源树资源树属性baseType字段正确性检查资源树属性baseType字段为必填,可取类型包括基础类型、自定义类型及上述两种类型的数组类型,基础类型包括:U8、U16、U32、U64、S8、S16、S32、S64、Boolean、Double、String;自定义类型在对应接口文件中定义,包括Dictionary、Struct、Enum;基础类型的数组类型在对应类型后加[],例如U8[],自定义类型的数组类型用Array表示,在items关键字中引用本接口中存在的自定义类型。严重1、资源树接口(1%)的属性(2%,3%)缺少baseType字段的定义。2、资源树接口(1%)的属性(2%,3%)的baseType字段取值(4%,5%)配置错误。属性无法正常管理,影响对应的业务功能。1、补充资源树接口(1%)的属性(2%,3%)的baseType字段的定义。2、修改资源树接口(1%)的属性(2%,3%)的baseType字段定义,使其满足规范要求,有效类型包括:U8、U16、U32、U64、S8、S16、S32、S64、Boolean、Double、String、自定义类型,上述类型的数组类型。
rule_resource_007资源树资源树属性readOnly字段正确性检查资源树属性的readOnly字段为必填,取值只能为true或false。严重1、资源树接口(1%)的属性(2%)缺少readOnly字段的定义。2、资源树接口(1%)的属性(2%)的readOnly字段取值(3%)配置错误。影响属性的正常读写控制。1、补充资源树接口(1%)的属性(2%)的readOnly字段的定义。2、修改资源树接口(1%)的属性(2%)的readOnly字段定义,取值只能为true或false。
rule_resource_008资源树资源树属性emitsChangedSignal字段正确性检查资源树属性emitsChangedSignal字段为必填,取值范围:“true”、“false”,“const”,“invalidates”。严重1、资源树接口(1%)的属性(2%)缺少emitsChangedSignal字段的定义。2、资源树接口(1%)的属性(2%)的emitsChangedSignal字段取值(3%)配置错误。影响资源树属性值变更的事件通知处理。1、补充资源树接口(1%)的属性(2%)的emitsChangedSignal字段的定义。2、修改资源树接口(1%)的属性(2%)的emitsChangedSignal字段定义,取值只能为“true”、“false”,“const”,“invalidates”。
rule_resource_009资源树资源树属性emitsChangedSignal字段一致性检查资源树属性若存在volatile字段且值配置为true,则通常情况下该属性的emitsChangedSignal字段要被配置为“false”。提示资源树接口(1%)的属性(2%)的volatile字段配置为true,请确定该属性的emitsChangedSignal字段配置为(3%)是否正确。资源树属性的volatile配置为true说明属性异变,通常情况下此类属性值变更不应该发送信号,不然对系统的性能会有一定的影响。参照问题影响描述,核查配置逻辑的正确性。
rule_resource_010资源树资源树属性description字段正确性检查资源树属性的description字段为必填,取值为长度不超过1024的非空字符串。提示1、资源树接口(1%)的属性(2%)缺少description字段的定义。2、资源树接口(1%)的属性(2%)的description字段取值为长度不超过1024的非空字符串,当前配置长度为(3%)。资源树属性的描述信息直接影响业务侧对该属性的理解,同时影响资源树接口文档的自动生成。按规范要求补充资源树属性的description字段定义。
rule_resource_011资源树资源树属性volatile字段正确性检查资源树属性volatile字段取值只能为true或false。严重资源树接口(1%)的属性(2%)的volatile字段取值(3%)配置错误。若将资源树属性的volatile字段配置为true,则该属性变更后不会上报redfish的ResourceUpdated事件;若易变属性的该字段未被设置为true,则会造成redfish事情频繁上报,造成上游网管的事件风暴。参照问题影响描述,核查配置逻辑的正确性。
rule_resource_012资源树资源树属性default字段正确性检查资源树属性的默认值类型与属性的定义类型一致,取值范围符合业界常规预期,比如U8类型取值范围为0-255,字符串类型长度不大于64(可为空串),若资源树属性配置了校验规则,默认值取值满足该校验规则的配置。一般1、资源树接口(1%)的属性(2%)的default字段取值类型与属性的定义类型不一致。2、资源树接口(1%)的属性(2%)的default字段取值不在预期范围内。资源树属性的默认值不能生效,影响对应业务的默认状态。1、将资源树接口(1%)的属性(2%)的默认值设置为(3%)类型。2、将资源树接口(1%)的属性(2%)的默认值设置在[3%,4%]范围内。
rule_resource_013资源树资源树属性minimum校验规则正确性检查资源树属性类型为数字才可配置此校验规则,可配数据满足对应类型的有效取值范围(比如U8取值范围0-255),当存在maximum字段,该字段取值不大于maximum的配置值。一般资源树接口(1%)的属性(2%)的minimum字段存在如下问题:1、数字类型才可配置minimum校验,当前(3%)类型不可配置此字段。2、配置值(4%)不在(5%)类型的有效范围内。3、配置值(6%)不可大于同属性下maximum的配置值(7%)。资源树属性配置的校验规则不能正常生效。对资源树接口(1%)的属性(2%)的minimum字段做如下修改:1、删除minimum的配置,或将属性类型改为数字类型,包括:U8、U16、U32、U64、S8、S16、S32、S64。2、调整minimum的配置值,使其在[3%,4%]范围内。3、调整minimum使其小于maximum的配置值(调整maximum亦可)。
rule_resource_014资源树资源树属性maximum校验规则正确性检查资源树属性类型为数字才可配置此校验规则,可配数据满足对应类型的有效取值范围(比如U8取值范围0-255),当存在minimum字段,该字段取值不小于minimum的配置值。一般资源树接口(1%)的属性(2%)的maximum字段存在如下问题:1、数字类型才可配置maximum校验,当前(3%)类型不可配置此字段。2、配置值(4%)不在(5%)类型的有效范围内。3、配置值(6%)不可小于同属性下minimum的配置值(7%)。资源树属性配置的校验规则不能正常生效。对资源树接口(1%)的属性(2%)的maximum字段做如下修改:1、删除maximum的配置,或将属性类型改为数字类型,包括:U8、U16、U32、U64、S8、S16、S32、S64。2、调整maximum的配置值,使其在[3%,4%]范围内。3、调整maximum使其大于minimum的配置值(调整minimum亦可)。
rule_resource_015资源树资源树属性minLength校验规则正确性检查资源树属性类型为字符串才可配置此校验规则,取值为不小于0的整数,若存在maxLength字段,该字段取值不大于maxLength的配置值。一般资源树接口(1%)的属性(2%)的minLength字段存在如下问题:1、字符串类型才可配置minLength校验,当前(3%)类型不可配置此字段。2、配置值(4%)不满足要求,应配置为大于0的整数。3、配置值(5%)不可大于同属性下maxLength的配置值(6%)。资源树属性配置的校验规则不能正常生效。对资源树接口(1%)的属性(2%)的minLength字段做如下修改:1、删除minLength的配置,或将属性类型改为字符串类型。2、调整minLength的配置值,使其大于0。3、调整minLength使其小于maxLength的配置值(调整maxLength亦可)。
rule_resource_016资源树资源树属性maxLength校验规则正确性检查资源树属性类型为字符串才可配置此校验规则,取值为不小于0的整数,若存在minLength字段,该字段取值不小于minLength的配置值。一般资源树接口(1%)的属性(2%)的maxLength字段存在如下问题:1、字符串类型才可配置maxLength校验,当前(3%)类型不可配置此字段。2、配置值(4%)不满足要求,应配置为大于0的整数。3、配置值(5%)不可小于同属性下minLength的配置值(6%)。资源树属性配置的校验规则不能正常生效。对资源树接口(1%)的属性(2%)的maxLength字段做如下修改:1、删除maxLength的配置,或将属性类型改为字符串类型。2、调整maxLength的配置值,使其大于0。3、调整maxLength使其大于minLength的配置值(调整minLength亦可)。
rule_resource_017资源树资源树属性pattern校验规则正确性检查资源树属性类型为字符串才可配置此校验规则,取值为非空字符串。一般资源树接口(1%)的属性(2%)的pattern字段存在如下问题:1、字符串类型才可配置pattern校验,当前(3%)类型不可配置此字段。2、配置值不可为空字符串。资源树属性配置的校验规则不能正常生效。对资源树接口(1%)的属性(2%)的pattern字段做如下修改:1、删除pattern的配置,或将属性类型改为字符串类型。2、调整pattern的配置值,不能为空串。
rule_resource_018资源树资源树属性enum校验规则正确性检查资源树属性类型为字符串、数字、浮点数时才可配置此校验规则,规则配置为数组,数组中的每个元素取值类型与对应属性类型一致,取值范围满足对应属性类型的约束(比如U8类型范围0-255)。一般资源树接口(1%)的属性(2%)的enum字段存在如下问题:1、(3%)类型不可配置enum校验规则。2、enum的配置应为数组类型,当前为(4%)类型。3、enum的配置第(5%,6%)个元素取值(7%,8%)不在预期范围内。资源树属性配置的校验规则不能正常生效。对资源树接口(1%)的属性(2%)的enum字段做如下修改:1、删除enum的配置,或将属性类型改为字符串、数字或double类型。2、将enum的配置修改为(3%)类型的数组配置。3、修改enum配置的第(4%,5%)个元素,使其取值在[6%,7%]范围内。
rule_resource_019资源树资源树属性校验规则一致性检查资源树属性校验规则包含范围校验、长度校验、正则校验、枚举校验,除了长度校验和正则校验可以同时配置,其它相互之间不能同时存在。提示资源树接口(1%)的属性(2%)的(3%,4%)校验规则不能同时存在。资源树属性配置的校验规则不能正常生效。删除资源树接口(1%)的属性(2%)的部分校验规则配置。
rule_resource_020资源树资源树方法名称正确性检查资源树方法名称为长度不大于64的非空字符串,大驼峰格式。一般资源树接口(1%)的方法(2%)命名不符合规则。标准化规范定义。资源树接口的方法命名应为长度不大于64大驼峰格式的非空字符串。
rule_resource_021资源树资源树方法名称唯一性检查资源树方法在接口内命名唯一。严重资源树接口(1%)的方法(2%)在本接口中命名冲突。框架加载重名方法顺序随机,后加载的会覆盖先加载的方法。删除或修改资源树接口(1%)的方法名称(2%),使其在接口内保证唯一性。
rule_resource_022资源树资源树方法description字段正确性检查资源树方法的description字段为必填,取值为长度不超过1024的非空字符串。提示1、资源树接口(1%)的方法(2%)缺少description字段的配置。2、资源树接口(1%)的方法(2%)的description字段长度应为小于(3%)的非空字符串,当前长度为(4%)。资源树方法的描述信息直接影响业务侧对该方法的理解,同时影响资源树接口文档的自动生成。按规范要求补充资源树方法的description字段定义。
rule_resource_023资源树资源树方法请求体参数名称正确性检查资源树方法请求体的参数名称为长度不大于64的非空字符串,大驼峰格式。提示资源树接口(1%)的方法(2%)的请求体参数(3%)名称存在如下问题:1、长度不应大于64,当前长度(4%)。2、须配置为大驼峰格式。标准化规范定义。对资源树接口(1%)的方法(2%)的请求体参数(3%)名称做如下修改:1、将参数名改为长度不大于64的字符串。2、将参数名改为大驼峰格式,样例:AaBbCc。
rule_resource_024资源树资源树方法请求体参数唯一性检查资源树方法请求体的参数在该请求体中命名唯一。严重资源树接口(1%)的方法(2%)的请求体参数(3%)在本接口方法的请求体中命名冲突。框架加载重名参数顺序随机,后加载的会覆盖先加载的参数。删除或修改资源树接口(1%)的方法(2%)的请求体参数(3%),使其在接口方法的请求体内保证唯一性。
rule_resource_025资源树资源树方法请求体参数baseType字段正确性检查资源树方法请求体参数的baseType为必填,可取类型包括基础类型、自定义类型及上述两种类型的数组类型,基础类型包括:U8、U16、U32、U64、S8、S16、S32、S64、Boolean、Double、String;自定义类型在对应接口文件中定义,包括Dictionary、Struct、Enum;基础类型的数组类型在对应类型后加[],例如U8[],自定义类型的数组类型用Array表示,在items关键字中引用本接口中存在的自定义类型。严重1、资源树接口(1%)的方法(2%)的请求体参数(3%,4%)缺少baseType字段的定义。2、资源树接口(1%)的方法(2%)的请求体参数(3%,4%)的baseType字段取值(5%,6%)配置错误。方法的请求体参数无法正常管理,影响对应的业务功能。1、补充资源树接口(1%)的方法(2%)的请求体参数(3%,4%)的baseType字段的定义。2、修改资源树接口(1%)的方法(2%)的请求体参数(3%,4%)的baseType字段定义,使其满足规范要求,有效类型包括:U8、U16、U32、U64、S8、S16、S32、S64、Boolean、Double、String、自定义类型,上述类型的数组类型。
rule_resource_026资源树资源树方法请求体参数minimum校验规则正确性检查请求体参数类型为数字才可配置此校验规则,可配数据满足对应类型的有效取值范围(比如U8取值范围0-255),当存在maximum字段,该字段取值不大于maximum的配置值。一般资源树接口(1%)的方法(2%)的请求体参数(3%)的minimum字段存在如下问题:1、数字类型才可配置minimum校验,当前(4%)类型不可配置此字段。2、配置值(5%)不在(6%)类型的有效范围内。3、配置值(7%)不可大于同参数下maximum的配置值(8%)。方法请求体参数配置的校验规则不能正常生效。对资源树接口(1%)的方法(2%)的请求体参数(3%)的minimum字段做如下修改:1、删除minimum的配置,或将参数类型改为数字类型,包括:U8、U16、U32、U64、S8、S16、S32、S64。2、调整minimum的配置值,使其在[4%,5%]范围内。3、调整minimum使其小于maximum的配置值(调整maximum亦可)。
rule_resource_027资源树资源树方法请求体参数maximum校验规则正确性检查请求体参数类型为数字才可配置此校验规则,可配数据满足对应类型的有效取值范围(比如U8取值范围0-255),当存在minimum字段,该字段取值不小于minimum的配置值。一般资源树接口(1%)的方法(2%)的请求体参数(3%)的maximum字段存在如下问题:1、数字类型才可配置maximum校验,当前(4%)类型不可配置此字段。2、配置值(5%)不在(6%)类型的有效范围内。3、配置值(7%)不可小于同参数下minimum的配置值(8%)。方法请求体参数配置的校验规则不能正常生效。对资源树接口(1%)的方法(2%)的请求体参数(3%)的maximum字段做如下修改:1、删除maximum的配置,或将参数类型改为数字类型,包括:U8、U16、U32、U64、S8、S16、S32、S64。2、调整maximum的配置值,使其在[4%,5%]范围内。3、调整maximum使其大于minimum的配置值(调整minimum亦可)。
rule_resource_028资源树资源树方法请求体参数minLength校验规则正确性检查请求体参数类型为字符串才可配置此校验规则,取值为不小于0的整数,若存在maxLength字段,该字段取值不大于maxLength的配置值。一般资源树接口(1%)的方法(2%)的请求体参数(3%)的minLength字段存在如下问题:1、字符串类型才可配置minLength校验,当前(4%)类型不可配置此字段。2、配置值(5%)不满足要求,应配置为大于0的整数。3、配置值(6%)不可大于同属性下maxLength的配置值(6%)。方法请求体参数配置的校验规则不能正常生效。对资源树接口(1%)的方法(2%)的请求体参数(3%)的minLength字段做如下修改:1、删除minLength的配置,或将参数类型改为字符串类型。2、调整minLength的配置值,使其大于0。3、调整minLength使其小于maxLength的配置值(调整maxLength亦可)。
rule_resource_029资源树资源树方法请求体参数maxLength校验规则正确性检查请求体参数类型为字符串才可配置此校验规则,取值为不小于0的整数,若存在minLength字段,该字段取值不小于minLength的配置值。一般资源树接口(1%)的方法(2%)的请求体参数(3%)的maxLength字段存在如下问题:1、字符串类型才可配置maxLength校验,当前(4%)类型不可配置此字段。2、配置值(5%)不满足要求,应配置为大于0的整数。3、配置值(6%)不可小于同参数下minLength的配置值(7%)。方法请求体参数配置的校验规则不能正常生效。对资源树接口(1%)的方法(2%)的请求体参数(3%)的maxLength字段做如下修改:1、删除maxLength的配置,或将参数类型改为字符串类型。2、调整maxLength的配置值,使其大于0。3、调整maxLength使其大于minLength的配置值(调整minLength亦可)。
rule_resource_030资源树资源树方法请求体参数pattern校验规则正确性检查请求体参数类型为字符串才可配置此校验规则,取值为非空字符串。一般资源树接口(1%)的方法(2%)的请求体参数(3%)的pattern字段存在如下问题:1、字符串类型才可配置pattern校验,当前(4%)类型不可配置此字段。2、配置值不可为空字符串。方法请求体参数配置的校验规则不能正常生效。对资源树接口(1%)的方法(2%)的请求体参数(3%)的pattern字段做如下修改:1、删除pattern的配置,或将参数类型改为字符串类型。2、调整pattern的配置值,不能为空串。
rule_resource_031资源树资源树方法请求体参数enum校验规则正确性检查请求体参数类型为字符串、数字、浮点数时才可配置此校验规则,规则配置为数组,数组中的每个元素取值类型与对应属性类型一致,取值范围满足对应属性类型的约束(比如U8类型范围0-255)。一般资源树接口(1%)的方法(2%)的请求体参数(3%)的enum字段存在如下问题:1、(4%)类型不可配置enum校验规则。2、enum的配置应为数组类型,当前为(5%)类型。3、enum的配置第(6%,7%)个元素取值(8%,9%)不在预期范围内。方法请求体参数配置的校验规则不能正常生效。对资源树接口(1%)的方法(2%)的请求体参数(3%)的enum字段做如下修改:1、删除enum的配置,或将参数类型改为字符串、数字或double类型。2、将enum的配置修改为(4%)类型的数组配置。3、修改enum配置的第(5%,6%)个元素,使其取值在[7%,8%]范围内。
rule_resource_032资源树资源树方法响应体参数名称正确性检查资源树方法响应体的参数名称为长度不大于64的非空字符串,大驼峰格式。提示资源树接口(1%)的方法(2%)的响应体参数(3%)名称存在如下问题:1、长度不应大于64,当前长度(4%)。2、须配置为大驼峰格式。标准化规范定义。对资源树接口(1%)的方法(2%)的响应体参数(3%)名称做如下修改:1、将参数名改为长度不大于64的字符串。2、将参数名改为大驼峰格式,样例:AaBbCc。
rule_resource_033资源树资源树方法响应体参数唯一性检查资源树方法响应体的参数在该响应体中命名唯一。严重资源树接口(1%)的方法(2%)的响应体参数(3%)在本接口方法的请求体中命名不唯一。框架加载重名参数顺序随机,后加载的会覆盖先加载的参数。删除或修改资源树接口(1%)的方法(2%)的响应体参数(3%),使其在接口方法的请求体内保证唯一性。
rule_resource_034资源树资源树方法响应体参数baseType字段正确性检查资源树方法响应体参数的baseType为必填,可取类型包括基础类型、自定义类型及上述两种类型的数组类型,基础类型包括:U8、U16、U32、U64、S8、S16、S32、S64、Boolean、Double、String;自定义类型在对应接口文件中定义,包括Dictionary、Struct、Enum;基础类型的数组类型在对应类型后加[],例如U8[],自定义类型的数组类型用Array表示,在items关键字中引用本接口中存在的自定义类型。严重1、资源树接口(1%)的方法(2%)的响应体参数(3%,4%)缺少baseType字段的定义。2、资源树接口(1%)的方法(2%)的响应体参数(3%,4%)的baseType字段取值(5%,6%)配置错误。方法的响应体参数无法正常管理,影响对应的业务功能。1、补充资源树接口(1%)的方法(2%)的响应体参数(3%,4%)的baseType字段的定义。2、修改资源树接口(1%)的方法(2%)的响应体体参数(3%,4%)的baseType字段定义,使其满足规范要求,有效类型包括:U8、U16、U32、U64、S8、S16、S32、S64、Boolean、Double、String、自定义类型,上述类型的数组类型。
rule_resource_035资源树资源树信号名称正确性检查资源树信号名称为长度不大于64的非空字符串,大驼峰格式。一般资源树接口(1%)的信号(2%)命名不符合规则。标准化规范定义。资源树接口的信号命名应为长度不大于64大驼峰格式的非空字符串。
rule_resource_036资源树资源树信号名称唯一性检查资源树信号在接口内命名唯一。严重资源树接口(1%)的信号(2%)在本接口中命名冲突。框架加载重名信号顺序随机,后加载的会覆盖先加载的信号。删除或修改资源树接口(1%)的信号名称(2%),使其在接口内保证唯一性。
rule_resource_037资源树资源树信号description字段正确性检查资源树信号的description为必填,字段取值为长度不超过1024的非空字符串。提示1、资源树接口(1%)的信号(2%)缺少description字段的配置。2、资源树接口(1%)的信号(2%)的description字段长度应为小于(3%)的非空字符串,当前长度为(4%)。资源树信号的描述信息直接影响业务侧对该信号的理解,同时影响资源树接口文档的自动生成。按规范要求补充资源树信号的description字段定义。
rule_resource_038资源树资源树信号参数名称正确性检查资源树信号参数名称为长度不大于64的非空字符串,大驼峰格式。提示资源树接口(1%)的信号(2%)的参数(3%)名称存在如下问题:1、长度不应大于64,当前长度(4%)。2、须配置为大驼峰格式。标准化规范定义。对资源树接口(1%)的信号(2%)的参数(3%)名称做如下修改:1、将参数名改为长度不大于64的字符串。2、将参数名改为大驼峰格式,样例:AaBbCc。
rule_resource_039资源树资源树信号参数唯一性检查资源树信号参数在该请求体中命名唯一。严重资源树接口(1%)的信号(2%)的参数(3%)在本接口信号的参数中命名冲突。框架加载重名参数顺序随机,后加载的会覆盖先加载的参数。删除或修改资源树接口(1%)的信号(2%)的参数(3%),使其在接口信号的参数内保证唯一性。
rule_resource_040资源树资源树信号参数baseType字段正确性检查资源树信号参数baseType字段为必填,可取类型包括基础类型、自定义类型及上述两种类型的数组类型,基础类型包括:U8、U16、U32、U64、S8、S16、S32、S64、Boolean、Double、String;自定义类型在对应接口文件中定义,包括Dictionary、Struct、Enum;基础类型的数组类型在对应类型后加[],例如U8[],自定义类型的数组类型用Array表示,在items关键字中引用本接口中存在的自定义类型。严重1、资源树接口(1%)的信号(2%)的参数(3%,4%)缺少baseType字段的定义。2、资源树接口(1%)的信号(2%)的参数(3%,4%)的baseType字段取值(5%,6%)配置错误。信号的参数无法正常管理,影响对应的业务功能。1、补充资源树接口(1%)的信号(2%)的参数(3%,4%)的baseType字段的定义。2、修改资源树接口(1%)的信号(2%)的参数(3%,4%)的baseType字段定义,使其满足规范要求,有效类型包括:U8、U16、U32、U64、S8、S16、S32、S64、Boolean、Double、String、自定义类型,上述类型的数组类型。
rule_resource_041资源树资源树对象名称正确性检查资源树对象名称与其定义的文件名称一致,为长度不大于64的非空字符串,大驼峰格式。提示文件(1%)中定义的资源树对象(2%)存在如下问题:1、对象名称与文件名需保持一致。2、对象名长度不应大于64,当前长度(3%)。3、对象名应为大驼峰格式。标准化规范定义。对(1%)文件中定义的资源树对象(2%)做如下修改:1、保证文件名和对象名相同。2、对象名长度不应大于64。3、对象名应为大驼峰格式,样例:AaBbCc。
rule_resource_042资源树资源树对象名称唯一性检查资源树对象名称全局唯一。严重(1%)和(2%)文件中定义了相同名称的资源树对象(3%)。定义冲突,可能引发对应功能异常。修改(1%)或(2%)文件中的(3%)对象名称。
rule_resource_043资源树资源树对象路径正确性检查资源树对象路径为长度不超过128的非空字符串,必填,由若干段非空字符串通过/拼接而成,首段字符串必须为bmc,路径中可包含若干动态参数(通过:x或${x}表示,x为参数名)。严重文件(1%)中定义的资源树对象(2%)存在如下问题:1、缺少对象路径字段(path)的定义。2、对象路径(3%)的长度(4%)须小于128。3、对象路径(5%)的格式不满足规范要求。未定义path的资源树对象无意义,若path的定义格式不满足规范要求会增加管理和维护上的成本。对(1%)文件中定义的资源树对象(2%)做如下修改:1、补充资源树对象path字段的定义。2、修改path的定义,使其长度小于128。3、参照rule_resource_042规范描述,校正资源树对象path的定义。
rule_resource_044资源树资源树对象路径唯一性检查资源树对象路径全局唯一,动态参数须参与路径比较的计算,动态参数名不同不影响路径名称的定义。严重(1%)和(2%)文件中定义了相同路径(3%)的资源树对象。后加载的资源树对象覆盖先加载的,实际加载的资源树对象和预期可能不一致。删除或修改(1%,2%)中资源树对象的路径,确保路径唯一性。
rule_resource_045资源树资源树对象实现接口有效性检查资源树对象须至少实现一个接口,所实现接口均须在资源树接口中定义。严重1、文件(1%)中定义的资源树对象未实现资源树接口。2、文件(1%)中定义的资源树对象实现的(2%,3%)接口不存在定义。资源树对象若未实现接口则该对象未承载任何功能,资源树对象实现的接口若未定义,则该对象不能提供预期的功能。1、补充(1%)文件中资源树对象的定义,使其至少实现一个接口。2、补充资源树接口(1%,2%)的定义,或删除(3%)文件中资源树对象对此两接口的实现。
rule_resource_046资源树资源树自定义类型循环依赖检查自定义类型之间不能存在循环依赖,包含结构体与结构体、结构体与字典、字典与字典之间的循环依赖。严重文件(1%)中(2%,3%,4%)自定义类型间存在循环依赖关系:1、结构体(5%)的成员(6%)类型依赖结构体(7%)。2、结构体(8%)的成员(9%)类型依赖字典(10%)。3、字典(11%)的值类型依赖结构体(12%)。自定义类型之间循环依赖,会造成资源树接口管理异常。对文件(1%)中的自定义类型进行合理设计,消除(2%,3%,4%)间的循环依赖。
rule_resource_047资源树未被引用的资源树自定义类型检查资源树接口中定义的自定义类型原则上都会被本接口或APP的私有属性引用。提示文件(1%)中的自定义类型(2%,3%)未被本文件中的接口或任意APP的私有属性引用。资源树接口文件中存在冗余的自定义类型定义。删除(1%)文件中冗余的自定义类型(2%,3%)。
rule_resource_048资源树未被实现的资源树接口检查资源树接口至少要被一个资源树对象实现。一般资源树接口(1%)未被任意资源树对象实现。存在冗余的资源树接口定义。补充资源树对象对接口(1%)的实现,若确定该接口为冗余数据则删除。
rule_resource_049资源树未被管理的资源树对象检查资源树对象在App的MDS中管理才能生效该资源树定义的功能。提示资源树对象(1%)未在MDS中管理。通常版本发布的是资源树全集对象,需确认对应产品未实现此资源树对象是否为正常情况。若资源树对象未在MDS中管理,则BMC缺失该资源树提供的软件管理功能。补充MDS对资源树的管理定义,若确认产品不涉及该资源树功能则忽略。
rule_resource_050资源树资源树对象被多个MDS管理检查资源树对象最多只能被一个MDS管理。严重资源树对象(路径:1%)同时在(2%,3%)App的MDS中被管理。同一个软件功能被多个模块实现和管理,会造成软件功能混乱。删除(1%,2%)App对资源树对象(路径:3%)的管理,确保最多只有一个App管理了该资源树。
rule_resource_051资源树资源树定义文件格式正确性检查资源树接口和资源树对象定义文件均须为正确的json格式文件。严重资源树对象或资源树接口文件(1%)不是正确的json格式文件。资源树对象或接口文件无法加载,对应的业务功能异常。将资源树对象或资源树接口文件(1%)改成正确的json格式文件。
rule_custom_type_001自定义类型自定义类型名称正确性检查自定义类型名称为长度不大于64的非空字符串,大驼峰格式。一般文件(1%)中自定义类型(2%,3%)的名称不满足规范要求。标准化规范定义。修改文件(1%)中的自定义类型(2%,3%)的名称,使其满足:长度不大于64的非空字符串,大驼峰格式。
rule_custom_type_002自定义类型自定义类型名称唯一性检查自定义类型在对应文件中命名唯一。一般文件(1%)中的自定义类型(2%)命名冲突。后加载的自定义类型覆盖先加载的,对应功能会有异常。删除或修改(1%)中的自定义类型(2%),确保其在本文件中定义唯一。
rule_custom_type_003自定义类型自定义类型有效性检查自定义类型包括枚举、字典和结构体三类,特征分别满足如下描述:1、枚举,至少存在一个键值对,键为字符串类型,值为整数类型。2、结构体,至少存在一个键值对,键为字符串类型, 值为对象类型,对象中存在baseType字段。3、字典,有且仅有两个键值对,其中一个键名为“key”,另一个键名为“value”,这两个键对应的值均为对象类型,对象中存在baseType字段。一般文件(1%)中的自定义类型(2%,3%)为无效定义。引用该类型的属性或方法的参数无法生效,引起功能异常。修改文件(1%)中的自定义类型(2%,3%)的定义,使其满足rule_custom_type_003的规范要求。
rule_custom_type_004自定义类型自定义枚举类型正确性检查自定义枚举类型的结构定义,至少存在一个键值对,键为长度不大于64的非空字符串,大驼峰格式,在本枚举定义中命名唯一,值为非负整数,不能重复。一般文件(1%)中的自定义枚举类型(2%,3%)定义错误。引用该类型的属性或方法的参数无法生效,引起功能异常。修改文件(1%)中的自定义枚举类型(2%,3%)的定义,使其满足rule_custom_type_004的规范要求。
rule_custom_type_005自定义类型自定义结构体类型正确性检查自定义结构体类型的结构定义,至少存在一个键值对,键为长度不大于64的非空字符串,大驼峰格式,在本结构体定义中命名唯一, 值为对象结构, 对象中存在baseType字段,该字段的定义满足资源树属性类型定义的规则。一般文件(1%)中的自定义结构体类型(2%,3%)定义错误。引用该类型的属性或方法的参数无法生效,引起功能异常。修改文件(1%)中的自定义结构体类型(2%,3%)的定义,使其满足rule_custom_type_005的规范要求。
rule_custom_type_006自定义类型自定义字典类型正确性检查自定义字典类型的结构定义,有且仅有两个键值对,其中一个键名为“key”,另一个键名为“value”,这两个键对应的值均为对象结构,对象中存在baseType字段,该字段的定义满足资源树属性类型定义的规则。一般文件(1%)中的自定义字典类型(2%,3%)定义错误。引用该类型的属性或方法的参数无法生效,引起功能异常。修改文件(1%)中的自定义字典类型(2%,3%)的定义,使其满足rule_custom_type_006的规范要求。
rule_csr_001CSRCSR格式版本正确性检查CSR的格式版本(FormatVersion)为A.BC样式的非空字符串,必填字段。A为大版本,取值范围为1-255,BC为小版本,范围:01-99,小版本固定两位,不足两位需要补0。严重CSR文件(1%)格式版本存在如下问题:1、缺少FormatVersion字段的配置。2、FormatVersion字段当前配置为(2%),不符合格式要求。影响框架对CSR文件的版本兼容管理对CSR文件(1%)格式版本做如下修改:1、补充FormatVersion字段的定义。2、规范FormatVersion字段的定义。生效
rule_csr_002CSRCSR数据版本正确性检查CSR的数据版本(DataVersion)为A.BC样式的非空字符串,必填字段。A为大版本,取值范围为1-255,BC为小版本,范围:01-99,小版本固定两位,不足两位需要补0。一般CSR文件(1%)数据版本存在如下问题:1、缺少DataVersion字段的配置。2、DataVersion字段当前配置为(2%),不符合格式要求。CSR标准化管理对CSR文件(1%)数据版本做如下修改:1、补充DataVersion字段的定义。2、规范DataVersion字段的定义。生效
rule_csr_003CSRCSR拓扑整体配置正确性检查CSR文件(platform.sr和xxx_soft.sr例外)必定存在ManagementTopology拓扑定义,该字段为对象类型,其下一定包含Anchor定义,可包含总线、Chip和Connector的拓扑定义,不能存在其它对象。Anchor为对象类型,一定包含Buses属性,Buses为字符串数组类型,包含0到多个元素;总线类型包含Jtag、 JtagOverGpio、 JtagOverLocalBus、 Gpio、 Hisport、 I2c、Adc、Can、LocalBus、I3cOverLocalBus、I2cOverHisport、SPIOverHisport、JtagOverHisport、JtagMux、I2cMux;Chip类型包含Chip、 Eeprom、 Lm75、 Pca9544、Pca9545、Pca9548、 Smc、 Pca9555、 Cpld、 JtagSwitch、CanbusChip、 Vrd、 Ads78、 CpldRegister。严重CSR文件(1%)整体拓扑配置存在如下问题:1、ManagementTopology配置中未定义Anchor字段。2、ManagementTopology配置中,Anchor下应至少包含一个Bus对象的定义。3、ManagementTopology配置中,存在非法的对象(2%、3%、4%)。影响板卡的链路拓扑配置,影响部分相关业务的硬件访问。对CSR文件(1%)整体拓扑配置做如下修改:1、补充ManagementTopology配置中的Anchor字段定义。2、补充ManagementTopology配置中Anchor字段下的总线定义。3、删除ManagementTopology配置中的非法对象(2%、3%、4%)。生效
rule_csr_004CSR传入到Anchor的总线正确性检查传入到Anchor的总线对象,其命名规范为""Type_Name"",其中Type为有效的总线类型,Name为对象名称,不可为空。严重CSR文件(1%)中Anchor字段下的(2%、3%、4%)为非法的Bus对象。定义在Anchor下预期的链路不能生效,影响该链路对应业务的硬件访问。删除或校正CSR文件(1%)中Anchor字段下的总线(2%、3%、4%)配置,正确的总线类型包含:Jtag、JtagOverGpio、JtagOverLocalBus、Gpio、Hisport、I2c、Adc、Can、LocalBus、I3cOverLocalBus、I2cOverHisport、SPIOverHisport、JtagOverHisport、JtagMux、I2cMux生效
rule_csr_005CSR传入到Anchor的总线有效性检查传入到Anchor的总线,其下须至少配置一个器件(连接器或Chip)或被传入到下一级连接器。一般CSR文件(1%)中Anchor字段下的(2%、3%、4%)Bus对象不存在任何器件配置,也未被传入到下一级连接器。若为冗余数据则无影响,否则缺失对应总线的链路拓扑配置,影响该链路对应业务的硬件访问。CSR文件(1%)中Anchor字段下的总线(2%、3%、4%)若为冗余数据,则直接删除,否则完善该总线的链路配置,或将该总线传入到下级连接器。
rule_csr_006CSRCSR拓扑总线配置正确性检查挂在ManagementTopology下的总线一定来源于Anchor或部分Chip(Pca9544、Pca9545、Pca9548、Chip、Smc、JtagSwitch),总线下可配置Chips和Connectors字段,若配置了Chips字段,则该字段中只能配置有效的Chip对象名称或为空,且同一总线下不允许存在地址相同的Chip;若配置了Connectors字段,则该字段中只能配置Connector对象名称或为空。同一个I2cMux或JtagMux总线不能挂在两个Chip下。严重CSR文件(1%)拓扑总线配置存在如下问题:1、ManagementTopology配置中的总线(2%、3%、4%)未挂在Anchor或部分Chip(Pca9544、Pca9545、Pca9548、Smc、JtagSwitch)下。2、ManagementTopology配置中的总线(5%)下存在非法字段(6%)配置。3、ManagementTopology配置中的总线(7%)下的Chips字段中,存在非法对象(8%、9%)配置。4、ManagementTopology配置中的总线(10%)下的Connectors字段中,存在非法对象(11%、12%)配置。5、ManagementTopology配置中的总线(13%)不能同时挂在多个Chip(14%、15%、16%)下。6、ManagementTopology配置中的总线(17%)下的Chips字段中,存在地址相同的Chip(18%、19%)。CSR拓扑中总线配置错误,则该总线或总线上Chip对应的业务访问硬件失败。对CSR文件(1%)拓扑总线配置做如下修改:1、识别ManagementTopology配置中的总线(2%、3%、4%)来源,若从上级传入,则须挂在Anchor下,若总线为I2cMux或JtagMux且在本CSR定义,则需挂在Pca9544、Pca9545、Pca9548、Smc或JtagSwitch下。2、删除ManagementTopology配置中的总线(5%)下的非法字段(6%)。3、删除ManagementTopology配置中的总线(7%)下的Chips字段中,存在的非法对象(8%、9%)。4、删除ManagementTopology配置中的总线(10%)下的Connectors字段中,存在的非法对象(11%、12%)。5、删除ManagementTopology配置中的总线(13%)所挂接的冗余的Chip(14%、15%、16%)关系,只能保留一个。6、修改ManagementTopology配置中的总线(17%)下Chip(18%、19%)的地址,使同一总线下的Chip地址各不相同。生效
rule_csr_007CSRCSR拓扑Chip配置正确性检查出现在拓扑中的Chip均须挂在总线下,且在Objects中存在定义,部分Chip(Pca9544、Pca9545、Pca9548、Chip、Smc、JtagSwitch)可挂在ManagementTopology下继续配置Buses字段,该字段内可配置多个I2cMux(Pca9544、Pca9545、Pca9548、Chip、Smc)或JtagMux(JtagSwitch)类型的总线,配置的总线对象均需在Objects中定义。同一个Chip在某总线的拓扑中最多只能出现一次,且不能同时存在于两个总线的拓扑配置中。严重CSR文件(1%)拓扑Chip配置存在如下问题:1、拓扑中的Chip(2%、3%)未挂在总线下。2、拓扑中的Chip(4%、5%)未在Objects中定义。3、拓扑中,Chip对象(6%,7%)不能直接挂在ManagementTopology下进行配置。4、拓扑中,(8%)Chip对象下不能挂载(9%)类型的总线。5、拓扑中,(10%)Chip对象下的总线(11%、12%)未在Objects中定义。6、拓扑中,(13%)Chip对象在(14%)总线下重复配置。7、拓扑中,(15%)Chip对象不能同时在(16%、17%、18%)总线下配置。CSR拓扑中Chip配置错误,则该Chip对应的业务访问硬件失败。对CSR文件(1%)拓扑Chip配置做如下修改:1、将拓扑中的Chip(2%、3%)挂在正确的总线下。2、在Objects中补充Chip(4%、5%)对象的定义。3、删除ManagementTopology下的Chip对象(6%,7%)的配置。4、删除拓扑中,(8%)Chip对象下的(9%)总线定义,或将(10%)总线挂在正确类型的Chip下(注:Pca9544、Pca9545、Pca9548、Smc下可挂载I2cMux总线,JtagSwitch下可挂载JtagMux总线)。5、在Objects中补充总线(11%)的定义。6、删除拓扑中,(12%)总线对象下重复的(13%)Chip对象,只保留一个。7、删除拓扑中,(14%、15%、16%)总线下重复的(17%)Chip定义,只保留一个。生效
rule_csr_008CSRCSR拓扑Connector配置正确性检查出现在拓扑中的Connector均须挂在总线下,且在Objects中存在定义,Connector不能挂在ManagementTopology下继续进行拓扑配置。Connector不能同时存在于两个总线的拓扑配置中。严重CSR文件(1%)拓扑Connector配置存在如下问题:1、拓扑中的Connector(2%、3%)未在Objects中定义。2、Connector(4%、5%)不能直接挂在ManagementTopology下。3、拓扑中的Connector(6%)同时挂在(7%、8%)总线下。CSR拓扑中的Connector配置错误,影响该连接器下级板卡的硬件访问。对CSR文件(1%)拓扑Connector配置做如下修改:1、在Objects中补充Connector(2%、3%)对象的定义。2、删除ManagementTopology下的Connector(4%、5%)对象配置。3、删除拓扑中,挂在总线(6%、7%)下的重复Connector(8%),只保留一个。生效
rule_csr_009CSRCSR对象重名检查Objects中定义的对象不能重名严重CSR文件(1%)的Objects中包含重复对象(2%、3%)的定义。被加载的对象可能不是业务预期的,影响对应业务的正常访问。删除CSR文件(1%)的Objects中的重复对象(2%、3%),每个对象定义只保留一个。生效
rule_csr_010CSRCSR对象名称有效性检查Objects中定义的对象名称为Type_Name格式,其中Type为类名,需在app组件的MDS中存在定义,Name为非空字符串,不能存在除下划线以外的符号。严重CSR文件(1%)的Objects对象名称存在如下问题:1、对象名称(2%、3%、4%)定义不规范。2、对象(5%、6%)对应的类(7%、8%)没有在组件MDS中定义。1、CSR标准化管理。2、CSR中定义的对象不能生效。将CSR文件(1%)的Objects对象名称做如下修改:1、对象名称(2%、3%、4%)按规范定义。2、在CSR中删除对象(5%、6%), 或者在组件MDS中补充对应的类定义。不生效
rule_csr_011CSRCSR属性有效性检查Objects中定义的对象,其下所配置的属性(@Default和@Parent除外),均需在对象对应类管理的资源树属性或私有属性中定义,且usage字段要被设置为“CSR”。严重CSR文件(1%)的Objects中(2%)对象下的属性(3%、4%),其未在对象对应类管理的资源树属性或私有属性中定义,或usage字段未被设置为“CSR”。CSR对象的属性无法上树或被app读取,若该属性涉及硬件,则无法正常读写硬件信息。若CSR文件(1%)的Objects中(2%)对象下的属性(3%、4%)为冗余信息,则删除,否则须补充对应资源树或类的私有属性定义。不生效
rule_csr_012CSRCSR属性类型正确性检查Objects中定义的对象,其下所配置属性(@Default和@Parent除外)的值类型须和所匹配资源树属性或MDS私有属性类型一致,若属性配置的引用或同步关系,则该属性与被引用/同步属性的类型定义须一致,允许类型提升。严重CSR文件(1%)的对象(2%)属性(3%)类型存在如下问题:1、属性取值为(4%),与其在(5%)app中定义的私有属性类型(6%)不一致。2、属性取值为(4%),与其在(5%)资源树接口中定义的属性类型(6%)不一致。3、属性引用/同步了(7%)对象的(8%)属性,此两属性的类型定义不一致,分别为(9%)和(10%)。CSR对象属性的取值范围不在定义范围内,可能导致该属性上树或被app读取失败或数据被截断。对CSR文件(1%)的对象(2%)属性(3%)类型做如下修改:1、修改属性值配置,或修改(4%)app的私有属性(5%)的类型,使其类型保持一致。2、修改属性值配置,或修改(4%)资源树接口的属性(5%)的类型,使其类型保持一致。3、将该属性和(6%)对象的(7%)属性的类型定义改成一致。不生效
rule_csr_013CSRCSR属性取值范围正确性检查Objects中定义的对象,其下所配置属性(@Default和@Parent除外)的值范围须和所匹配资源树属性或MDS私有属性定义的一致,若属性配置了引用或同步关系,则该属性定义的取值范围须囊括被引用/同步属性的取值范围。严重CSR文件(1%)的对象(2%)属性(3%)取值范围存在如下问题:1、属性取值为(4%),未在(5%)app中定义的私有属性取值范围(6%,7%)之内。2、属性取值为(4%),未在(5%)资源树接口中定义的属性取值范围(6%,7%)之内。3、属性引用/同步了(8%)对象的(9%)属性,前者属性的取值范围为(10%,11%),未囊括后者属性的取值范围(12%,13%)CSR对象属性的取值范围不在定义范围内,可能导致该属性上树或被app读取失败或数据被截断。对CSR文件(1%)的对象(2%)属性(3%)取值范围做如下修改:1、修改属性的值配置,使其在定义范围(4%,5%)内,或者修改(6%)app的私有属性(7%)的取值范围定义。2、修改属性的值配置,使其在定义范围(4%,5%)内,或者修改(6%)资源树接口的属性(7%)的取值范围定义。3、修改(8%)对象的(9%)属性和(10%)对象的(11%)属性的取值范围定义,保证后者的范围是前者的子集。不生效
rule_csr_014CSRCSR中@Default属性配置正确性检查CSR对象中若存在属性配置了同步语法,或配置的表达式中包含同步语法,则该属性可在该CSR对象的@Default字段的同名属性下配置默认值,默认值的类型需和该属性定义类型一致,默认值的取值范围为该属性所约束的取值范围,默认值不可配置为动态引用、静态引用和数据同步语法。一般CSR文件(1%)的(2%)对象@Default配置存在如下问题:1、(3%,4%)属性未在对象中配置为数据同步或包含数据同步的表达式,故其不能配置在@Default下。2、@Default下配置了(5%)属性的默认值(6%),该属性在(7%)app的私有属性中定义为(8%)类型,取值范围定义为(9%,10%),默认值不符合类型或取值范围的定义。3、@Default下配置了(5%)属性的默认值(6%),该属性在(7%)资源树接口的属性中定义为(8%)类型,取值范围定义为(9%,10%),默认值不符合类型或取值范围的定义。4、@Default下配置的(11%,12%)属性的默认值只能为常量。CSR对象属性配置的默认值无法正常生效,影响该属性对应业务的默认状态。对CSR文件(1%)的(2%)对象@Default配置做如下修改:1、删除@Default下配置的(3%,4%)属性,或在对象中将上述属性配置为数据同步或包含数据同步的表达式。2、修改@Default下配置的(5%)属性的默认值,使其满足类型为(6%),取值范围为(7%,8%)的定义。3、修改@Default下配置的(5%)属性的默认值,使其满足类型为(6%),取值范围为(7%,8%)的定义。4、将@Default下配置的(9%,10%)属性的默认值修改为常量。
rule_csr_015CSRCSR中@Parent属性配置正确性检查CSR对象中若存在@Parent属性,则该属性取值一定为定义在Objects中的对象,此两对象对应的类在MDS中的定义也存在Parent关系。严重CSR文件(1%)的(2%)对象的@Parent配置存在如下问题:1、父对象(3%)未在Objects中定义。2、对象(4%)与父对象(5%)对应的类在MDS中未被定义为对应的Parent关系。CSR中配置了@Parent的对象上树失败,影响对应的业务功能。对CSR文件(1%)的(2%)对象的@Parent配置做如下修改:1、补充父对象(3%)对象的定义。2、在(4%)app的MDS中补充(5%,6%)类对应的Parent关系定义,或删除本CSR中(7%,8%)对象的Parent关系。不生效
rule_csr_016CSRCSR静态引用语法正确性检查静态引用存在于CSR对象的属性配置中,写法为ctx,{}为固定语法,前后可拼接字符串,ctx的取值可为FormatVersion、DataVersion和上联连接器的部分属性:Slot、SystemId、ManagerId、Container、GroupId、 ChassisId、 GroupPosition、 SilkText。 对静态引用语法的常见错误写法要做判断,包含如下异常场景:${abc,${{abc},$${abc},${abc}}严重CSR文件(1%)的对象(2%)属性(3%)配置的静态引用存在如下问题:1、静态引用使用的(4%、5%)为非法字段。2、静态引用格式(6%)错误。CSR属性的静态引用无法生效,对应业务功能无法获取预期数据。对CSR文件(1%)的对象(2%)属性(3%)配置的静态引用做如下修改:1、静态引用可使用的字段:FormatVersion、DataVersion、Slot、SystemId、ManagerId、Container、GroupId、 ChassisId、 GroupPosition、 SilkText。2、您可能期望的静态引用配置为(4%)。生效
rule_csr_017CSRCSR动态引用语法正确性检查动态引用存在于CSR对象的属性配置中,写法为#/obj.p, 其中#/为固定语法,obj为定义在Objects中的对象,p为选填,p的语法正确性检查见规则rule_csr_018。对动态引用语法的常见错误写法要做判断:##/abc,#//abc。严重CSR文件(1%)的对象(2%)属性(3%)配置的动态引用存在如下问题:1、动态引用的(4%)对象未在Objects中定义。2、动态引用格式(5%)错误。CSR属性的动态引用无法生效,对应业务功能无法获取预期数据。对CSR文件(1%)的对象(2%)属性(3%)配置的动态引用做如下修改:1、在Objects中增加(4%)对象的定义。2、您可能期望的动态引用配置为(5%)。生效
rule_csr_018CSRCSR动态引用语法有效性检查CSR对象某属性若配置为对对象的动态引用#/obj,则obj不可为该对象本身,若配置为对属性的动态引用#obj.p,则obj可为该对象本身。属性p为obj对象对应的类在MDS中管理的资源树对象所实现接口的任意属性,若obj为该对象本身,则p还可为obj所在类管理的私有属性。严重CSR文件(1%)的对象(2%)属性配置的动态引用有效性存在如下问题:1、属性(3%,4%)不可引用属性所在的对象本身。2、属性(3%)引用了(4%)对象的(5%)属性,被引用属性未在(6%)类管理的资源树属性下定义。3、属性(3%)引用了自身对象的(4%)属性,被引用属性未在(5%)类管理的资源树属性或私有属性下定义。CSR属性的动态引用无法生效,对应业务功能无法获取预期数据。对CSR文件(1%)的对象(2%)属性配置的动态引用做如下修改,确保引用有效性正确:1、修改属性的配置,引用正确的数据。2、(4%)app的(5%)类管理的(6%)资源树对象实现了(7%,8%)资源树接口,需在上述1个资源树接口中补充(9%)属性的定义。3、(4%)app的(5%)类管理的(6%)资源树对象实现了(7%,8%)资源树接口,需在上述1个资源树接口或(9%)类的私有属性中补充(10%)属性的定义。不生效
rule_csr_019CSRCSR动态引用语法一致性检查CSR对象中的某属性,若其被定义为MDS中的私有属性,且配置了refInterface字段,则在CSR中该属性须配置为对其它对象的动态引用(或不配置该属性),被动态引用的对象对应的类需管理实现了refInterface关联接口的资源树对象。反之CSR中的属性若引用了对象,则该属性需被定义为私有属性,且配置了正确的refInterface字段(例外:若属性所在对象和其引用的对象所在的类在同一个组件中管理,则无须配置refInterface字段)。严重CSR文件(1%)的对象(2%)属性(3%)配置一致性存在如下问题:1、属性在CSR中应配置为引用对象的格式,因为其在(4%)类的私有属性定义中引用了(5%)资源树接口。2、属性在CSR中引用了对象,但该属性未被定义为(6%)类的私有属性。3、属性在CSR中引用了(7%)对象,该对象对应的类未管理实现了(8%)接口的资源树对象,(9%)接口为该属性对应(10%)类私有属性定义中引用的资源树接口。对应业务app的私有属性无法按预期访问资源树方法和属性,例如读写硬件数据。对CSR文件(1%)的对象(2%)属性(3%)的配置做如下修改,确保一致性正确:1、将属性配置为引用对象的格式,或删除该属性的配置。2、属性不应配置为引用对象的格式,或将该属性定义为类的私有属性。3、需确认属性引用的对象是否正确,或对象对应类所管理的资源树是否正确,再做对应策略的校正。不生效
rule_csr_020CSRCSR数据同步语法正确性检查数据同步存在于CSR对象的属性配置中,写法为<=/obj.p, 其中<=/为固定语法,obj为定义在Objects中的对象。对数据同步语法的常见错误写法要做判断: <<=/abc,<==/abc,<=//abc,<=abc,=/abc,</abc严重CSR文件(1%)的对象(2%)属性(3%)配置的数据同步存在如下问题:1、属性同步的(4%)对象未在Objects中定义。2、数据同步格式(5%)错误。CSR属性的动态同步无法生效,对应业务功能无法获取预期数据。对CSR文件(1%)的对象(2%)属性(3%)配置的数据同步做如下修改:1、在Objects中增加(4%)对象的定义。2、您可能期望的数据同步配置为(5%)。生效
rule_csr_021CSRCSR数据同步语法有效性检查CSR对象某属性配置数据同步<=/obj.p,obj不可为该对象本身,p为obj对象对应的类在MDS中管理的资源树对象所实现接口的任意属性,不可为obj对象对应类所定义的私有属性。严重CSR文件(1%)的对象(2%)属性(3%)配置的数据同步有效性存在如下问题:1、属性不可同步对象。2、属性不可同步自身对象的属性。3、属性同步了(4%)对象的(5%)属性,该属性未在(6%)类管理的资源树属性下定义。4、属性不可同步对象(7%)所在类(8%)的私有属性(9%)。CSR同步对象本身存在性能问题,同步私有属性无法获取变更后的最新数据。对CSR文件(1%)的对象(2%)属性(3%)配置的数据同步做如下修改,确保同步有效性正确:1、属性不可同步对象,应同步到对象下的属性。2、消除属性同步自身对象属性的写法,可改为代码实现。3、(4%)app的(5%)类管理的(6%)资源树对象实现了(7%,8%)资源树接口,需在上述1个资源树接口中补充(9%)属性的定义。4、修改属性配置的实现逻辑,或和业务侧沟通将私有属性定义为资源树属性。不生效
rule_csr_022CSRCSR自定义语法整体正确性检查自定义语法存在于CSR对象的属性配置中,通过管道运算符和若干独立的运算单元组合而成,管道运算符使用符号>表示,独立的运算单元包括静态引用,动态引用,数据同步,lua的String库函数,expr运算符,各独立运算单元分别满足各自的语法正确性和有效性检查规则。严重CSR文件(1%)中的(2%)对象的(3%)属性配置语法错误,存在未识别的配置(4%,5%)。CSR属性自定义语法无法生效,对应业务功能无法正常读取数据。按照自定义语法的定义规范,修改CSR文件(1%)中的(2%)对象的(3%)属性的配置。生效
rule_csr_023CSRCSR自定义语法管道运算正确性检查CSR自定义语法中管道运算符使用>表示,第一级管道左侧为入参,右侧为管道运算(expr和lua的string库函数),支持多级管道运算符串联,只有第一级管道运算符才支持传入多个入参,参数之间使用分号分隔,参数可包含静态引用、动态引用、数据同步和管道运算结果。管道运算中使用$index来引用管道入参,index为下标从1开始的不大于第一级管道入参个数的整数。严重CSR文件(1%)中的(2%)对象的(3%)属性配置的自定义语法存在如下错误:1、第(4%)级管道前只能传入一个入参。2、第(5%)级管道后的表达式引用无效参数(6%,7%),可引用的参数范围:[1,8%]。3、第一级管道前不可引用入参。CSR属性自定义语法无法生效,对应业务功能无法正常读取数据。对CSR文件(1%)中的(2%)对象的(3%)属性配置的自定义语法做如下修改:1、将自定义语法中要用到的参数均移到第1级管道前。2、自定义语法中可引用的管道参数范围:[1,4%]。3、删除第一级管道前的参数引用。生效
rule_csr_024CSRCSR自定义语法一致性检查CSR自定义语法配置,不允许动态引用和数据同步语法同时存在;管道运算中引用入参的下标应包含全量可支持的下标集合)。严重CSR文件(1%)中的(2%)对象的(3%)属性配置的自定义语法一致性存在如下问题:1、自定义语法中不允许同时存在(4%,5%)的写法。2、自定义语法中,管道入参(6%,7%)未被使用。1、CSR属性自定义语法无法生效,对应业务功能无法正常读取数据。2、多余的管道入参未被使用,可能为业务漏配。对CSR文件(1%)中的(2%)对象的(3%)属性配置的自定义语法做如下修改,以确保一致性正确:1、自定义语法中动态引用、数据同步不能同时存在。2、补齐自定义语法配置逻辑,确保管道入参均被使用,或删除多余的管道入参。生效
rule_csr_025CSRCSR自定义语法expr正确性检查CSR自定义语法中expr的配置写法为expr(...),其中expr()为固定语法,…为计算表达式,计算表达式中左右括号个数须匹配。严重CSR文件(1%)中的(2%)对象的(3%)属性配置的自定义语法expr存在如下问题:1、表达式(4%)的左右括号个数不匹配。2、表达式(5%)中禁止使用中文括号。CSR属性自定义语法无法生效,对应业务功能无法正常读取数据。对CSR文件(1%)中的(2%)对象的(3%)属性配置的自定义语法expr做如下修改:1、确保表达式中左右括号个数匹配。2、改用英文括号,或删除表达式中的中文括号。生效
rule_csr_026CSRCSR自定义语法三元运算符有效性检查CSR自定义语法中包含三元运算符的表达式参数个数需匹配,不能写成? false : true的样式(替代写法: ? 0 : 1)。严重CSR文件(1%)中的(2%)对象的(3%)属性配置的自定义语法中,三元运算符的表达式存在如下问题:1、表达式(4%)中的三元运算符参数不匹配(5%)。2、三元运算符不能写成? false : true的样式。当前v3表达式是基于Lua的and和or方式去实现的,? false : true表达式的结果一直为true。对CSR文件(1%)中的(2%)对象的(3%)属性的自定义语法三元运算符配置做如下修改:1、确保表达式中三元运算符的参数匹配。2、将? false : true的表达式写法改成? 0 : 1的形式。生效
rule_csr_027CSRCSR自定义语法string库函数正确性检查CSR自定义语法中string库函数的配置写法为string.xxx(...),其中xxx为可枚举的函数名,具体包含:upper、lower、gsub、sub、format,cmp,…为计算表达式,需校验计算表达式中左右括号个数是否匹配。严重CSR文件(1%)中的(2%)对象的(3%)属性配置的自定义语法string函数存在如下问题:1、未定义的函数(4%)。2、函数中(5%)的左右括号个数不匹配。3、format函数至少需要两个参数。4、format函数中的第一个参数必须是字符串类型。5、format函数(6%)中的%个数应为(7%)个。6、format函数中的第(8%,9%)个参数格式有误。CSR属性自定义语法无法生效,对应业务功能无法正常读取数据。对CSR文件(1%)中的(2%)对象的(3%)属性配置的自定义语法string函数做如下修改:1、删除对(4%)函数的使用。2、确保函数中左右括号个数匹配。3、修改format函数的参数个数。4、将format函数的第一个参数改为字符串类型。5、第一个参数中%个数应与其后的参数量一致。6、format函数中的第二个及以后的参数必须是$n格式。生效
rule_csr_028CSRCSR禁止同步Accessor对象检查CSR配置中Accessor对象只可被引用,不可被同步。严重CSR文件(1%)中的(2%)对象的(3%)属性不能对(4%)进行同步。若将对Accessor的访问配置为同步,则无法写入数据,同时读取数据时访问缓存,不会触发硬件访问。将CSR文件(1%)中的(2%)对象的(3%)属性对(4%)的同步改为动态引用,若您期望框架定期从硬件读取数据,则可将Accessor的定义改为Scanner。生效
rule_csr_029CSRCSR属性配置Readonly一致性检查CSR对象中的属性若配置为数据同步或自定义语法,则该属性需被定义为只读属性。一般CSR文件(1%)中的(2%)对象的(3%)属性配置Readonly一致性检查:1、属性配置为数据同步,其在(4%)app的(5%)类管理的资源树属性应被定义为只读。2、属性配置为自定义语法,其在(4%)app的(5%)类管理的资源树属性应被定义为只读。可写属性在CSR中若配置为数据同步或表达式,不能写入数据。修改CSR文件(1%)中的(2%)对象的(3%)属性的配置,或审视属性设计的合理性,将其改为只读。
rule_csr_030CSRCSR属性引用Scanner对象检查CSR对象中的属性不能动态引用Scanner对象。一般CSR文件(1%)中的(2%)对象的(3%)属性不能对(4%)进行动态引用。框架定期扫描的Scanner数据无法及时更新到关联属性,通常情况下会影响事件上报或被设计为监听触发的业务。将CSR文件(1%)中的(2%)对象的(3%)属性对(4%)的动态引用改为数据同步,若您不期望框架定期从硬件读取数据,则可将Scanner的定义改为Accessor。
rule_csr_031CSRCSR属性引用和同步循环依赖检查
CSR的多个对象中,单个属性间不能存在动态引用或数据同步的循环依赖,多个属性间不能存在动态引用的循环依赖。"严重CSR文件(1%)中(2%、3%、4%)对象的属性间存在循环依赖关系:1、(5%)对象的(6%)属性引用了(7%)对象(或该对象的属性)。2、(8%)对象的(9%)属性引用了(10%)对象(或该对象的属性)。3、(11%)对象的(12%)属性引用了(13%)对象(或该对象的属性)。4、(5%)对象的(6%)属性同步了(7%)对象的(8%)属性。5、(9%)对象的(10%)属性同步了(11%)对象的(12%)属性。循环依赖存在架构设计问题,同时若循环依赖中包含数据同步,则有产生事件风暴的风险。对CSR文件(1%)进行合理设计,消除(2%、3%、4%)对象间的循环依赖。单个属性间引用定义:A对象x属性引用B对象y属性,B对象y属性引用A对象x属性。多个属性间引用定义:A对象x属性引用B对象m属性,B对象n属性引用A对象y属性。生效
rule_csr_032CSRCSR配置Scanner对象正确性检查CSR中定义的Scanner对象各属性满足如下校验(例外:Gpio总线下的Chip关联的Scanner只须配置Chip属性即可):1、Chip,必填,引用的Chip对象必须在Objects中定义,可引用的Chip对象不包含Pca9544、Pca9545、Pca9548和JtagSwitch。2、Size,必填。3、Type,必填,取值0或1。4、Mask,当Type取值为0时必填。5、Offset,选填,若未配置AggregateOffset,则该字段必填。6、AggregateOffset,选填,取值范围0-1023,若未配置Offset,则该字段必填。7、Debounce,选填,引用的防抖对象必须在Objects中定义,防抖对象分类包含MidAvg、Median、Cont和ContBin,该字段也可配置为常量字符串“None”。严重CSR文件(1%)中的(2%)配置存在如下问题:1、缺少Chip必填属性的配置。2、Chip属性引用的(3%)对象未在Objects中定义。3、Chip属性引用的(4%)对象不为有效的Chip类型。4、缺少Size必填属性的配置。5、缺少Type必填属性的配置。6、Type属性取值(5%)配置错误。7、缺少Mask必填属性(Type为0时必填)的配置。8、缺少Offset或AggregateOffset(至少一个)必填属性的配置。9、AggregateOffset属性取值(6%)配置错误。10、Debounce属性引用的(7%)对象未在Objects中定义。11、Debounce属性引用的(8%)对象不为有效的Debounce类型。Scanner未进行正常的配置,则框架不能按预期策略周期性从硬件读取数据。对CSR文件(1%)中的(2%)进行如下修改:1、补充Chip属性的配置。2、在Objects中补充(3%)对象的定义。3、Chip属性引用有效类型的Chip对象,包括:Chip、 Eeprom、 Lm75、 Smc、 Pca9555、 Cpld、CanbusChip、 Vrd、 Ads78、 CpldRegister。4、补充Size属性的配置。5、补充Type属性的配置。6、修改Type属性的配置,取值0或1。7、补充Mask属性的配置。8、补充Offset或AggregateOffset(至少一个)属性的配置。9、修改AggregateOffset属性的配置,取值范围为0-1023。10、在Objects中补充(4%)对象的定义。11、Debounce属性引用有效类型的防抖对象,包括:MidAvg、Median、Cont和ContBin。
rule_csr_033CSRCSR配置Scanner对象有效性检查CSR中定义的Scanner对象必须被其它至少一个对象使用。一般CSR文件(1%)中的(2%)对象未被其它对象使用。无效的Scanner配置,会让框架周期性读取硬件数据(但不使用),影响系统性能。若确认该Scanner不被业务使用,则删除。
rule_csr_034CSRCSR配置Accessor对象正确性检查CSR中定义的Accessor对象各属性满足如下校验(例外:Gpio总线下的Chip关联的Accessor只须配置Chip属性即可):1、Chip,必填,引用的Chip对象必须在Objects中定义,可引用的Chip对象不包含Pca9544、Pca9545、Pca9548和JtagSwitch。2、Size,必填。3、Type,必填,取值0或1。4、Mask,当Type取值为0时必填。5、Offset,必填。严重CSR文件(1%)中的(2%)配置存在如下问题:1、缺少Chip必填属性的配置。2、Chip属性引用的(3%)对象未在Objects中定义。3、Chip属性引用的(4%)对象不为有效的Chip类型。4、缺少Size必填属性的配置。5、缺少Type必填属性的配置。6、Type属性取值(6%)配置错误。7、缺少Mask必填属性(Type为0时必填)的配置。8、缺少Offset必填属性的配置。Accessor未进行正常的配置,无法从硬件读取数据。对CSR文件(1%)中的(2%)对象进行如下修改:1、补充Chip属性的配置。2、在Objects中补充(3%)对象的定义。3、Chip属性引用有效类型的Chip对象,包括:Chip、 Eeprom、 Lm75、 Smc、 Pca9555、 Cpld、CanbusChip、 Vrd、 Ads78、 CpldRegister。4、补充Size属性的配置。5、补充Type属性的配置。6、修改Type属性的配置,取值0或1。7、补充Mask属性的配置。8、补充Offset属性的配置。
rule_csr_035CSRCSR配置Accessor对象有效性检查CSR中定义的Accessor对象必须被其它至少一个对象使用。一般CSR文件(1%)中的(2%)对象未被其它对象使用。无效的Accessor配置,冗余数据。若确认该Accessor不被业务使用,则删除。
rule_csr_036CSRCSR配置Connector对象正确性检查CSR中定义的Connector对象各属性满足如下校验:1、Slot,必填。2、Position,必填,任意两个连接器的Position不能重复。3、Presence,必填,可配置为静态值0或1,也可配置为动态引用、数据同步、计算结果为0或1的表达式。4、IdentifyMode,必填,取值范围:1、2、3。5、Buses,必填,字符串数组类型,包含0到多个元素,每个元素的取值均来源于传入Anchor或定义在Chip下的总线,Chip种类包含:Pca9544、Pca9545、Pca9548、Chip、Smc、JtagSwitch。严重CSR文件(1%)中的(2%)配置存在如下问题:1、缺少Slot属性的配置。2、缺少Position属性的配置。3、该连接器的Position取值(3%)与(4%)连接器的Position相同,冲突。4、缺少Presence属性的配置。5、Presence属性的配置(5%)不符合预期。6、缺少IdentifyMode属性的配置。7、IdentifyMode属性的取值(6%)配置错误。8、缺少Buses属性的配置。9、Buses属性下配置的(7%,8%)总线未来源于Anchor或指定类型的Chip下。影响下级板卡的正常加载。对CSR文件(1%)中的(2%)对象进行如下修改:1、补充Slot属性的配置。2、补充Position属性的配置。3、修改该连接器的Positio配置,冲突的位置:(3%,4%,5%)。4、补充Presence属性的配置。5、按规范要求配置Presence属性。6、补充IdentifyMode属性的配置。7、IdentifyMode属性可取值:1、2、3。8、补充Buses属性的配置。9、Buses属性下配置的总线需来源于Anchor或Pca9544、Pca9545、Pca9548、Smc、JtagSwitch下。
rule_csr_037CSRCSR配置Connector对象有效性检查CSR中定义的Connector对象,若IdentifyMode取值为3,则其必须挂在拓扑配置的某总线下,且Buses属性中至少配置一个元素。严重CSR文件(1%)中的(2%)连接器存在如下问题:1、未挂在拓扑配置的总线下。2、Buses属性中未配置元素。该连接器无法生效,影响下级板卡的正常加载。对CSR文件(1%)中的(2%)连接器做如下修改:1、将其挂在拓扑配置的总线下。2、在Buses属性中至少配置一个总线对象。生效
rule_csr_038CSRCSR配置Chip对象有效性检查CSR中定义的Chip对象必须挂在拓扑配置的某总线下,所有Chip(Pca9544、Pca9545、Pca9548、JtagSwitch例外)至少须配置一个Accessor或Scanner,或被其它对象使用。严重CSR文件(1%)中的(2%)Chip对象有效性存在如下问题:1、Chip未挂在拓扑配置的总线下。2、Chip未配置Accessor和Scanner,同时也未被其它对象使用。1、Chip无法正常工作,基于该Chip的读写均会失败。2、无效的Chip。对CSR文件(1%)中的(2%)Chip对象做如下修改:1、将Chip挂在拓扑配置的总线下,可挂总线:(3%,4%,5%),若此Chip为冗余数据,则须删除(该Chip关联的Accessor和Scanner同步删除)。2、若确认该Chip不被业务使用,则删除。生效
rule_csr_039CSRCSR配置Bus对象有效性检查CSR中定义的Bus对象必须存在于拓扑配置中,其中I2cMux对象必须挂在Pca9544、Pca9545、Pca9548、Chip或Smc下,JtagMux对象必须挂在JtagSwitch下,若存在其它Bus对象,则挂在Anchor下。一般CSR文件(1%)中的(2%)总线未挂在Anchor或对应的Chip下。总线无法生效,对应总线下的业务均会失败。补充CSR文件(1%)中的(2%)总线的来源配置,总线均可来源于Anchor,若为I2cMux总线,则可来源于Pca9544、Pca9545、Pca9548、Smc,若为JtagMux总线,则可来源于JtagSwitch。
rule_csr_040CSRCSR配置Debounce对象有效性检查CSR中定义的Debounce对象必须被至少一个Scanner引用,Debounce对象包含:MidAvg、Median、Cont、ContBin、None。一般CSR文件(1%)中的(2%)对象未被Scanner引用。无效配置,影响模型的维护与理解。将CSR文件(1%)中的(2%)对象挂在Scanner对象下,若确认该Debounce对象为冗余数据,则删除。
rule_csr_041CSRCSR配置SmcDfxInfo对象正确性检查CSR配置SmcDfxInfo对象必须包含Chip、Offset、Size、Period、SmcVersion、Config、Mapping字段。其中Chip引用的对象须在Objects中存在定义;Config为非空对象,每个对象元素的key为1-255的数字字符串,value为对象类型(取名掩码变量),掩码变量的key为非空字符串,值为0-255之间的数字;Mapping为非空对象,key为定义在Objects中的Scanner对象,value为只包含“Value”属性的对象,该属性对应的值为expr表达式,表达式中引用的变量名须在掩码变量中定义,同时表达式左右括号的数量须匹配。严重CSR文件(1%)中的(2%)对象存在如下问题:1、缺少必填属性(3%,4%,5%)的配置。2、Chip属性引用的(6%)对象未在Objects中定义。3、Config属性不能配置为空对象。4、Config属性为对象类型,包含非法的key值(7%,8%)配置,应配置为1-255之间的数字字符串。5、Config属性为对象类型,key(9%)所对应的value配置不符合规范。6、Mapping属性不能配置为空对象。7、Mapping中配置的(10%,11%)Scanner未在Objects中定义。8、Mapping中(12%)Scanner对应的表达式配置引用的(13%,14%)变量未在Config中定义。9、Mapping中(15%)Scanner对应的表达式配置左右括号不匹配。汇聚扫描中部分Scanner扫描失败,影响对应业务的硬件读取操作。对CSR文件(1%)中的(2%)对象进行如下修改:1、补充属性(3%,4%,5%)的配置。2、在Objects中补充(6%)对象的定义。3、Config属性至少配置一个对象元素。4、Config属性的对象配置中,规范非法key值(7%,8%)的配置,改为1-255之间的数字字符串。5、Config属性的对象配置中,将key(9%)所对应的value进行规范化定义(详见规则描述)。6、Mapping属性至少配置一个对象元素。7、在Objects中补充(10%,11%)Scanner对象的定义。8、在Config中补充(13%,14%)变量的定义。9、修改Mapping中(15%)Scanner对应的表达式配置。生效
rule_csr_042CSRCSR配置SmcDfxInfo对象有效性检查CSR中定义的SmcDfxInfo对象,需满足如下有效性检查:1、Period字段取值与该对象中汇聚的Scanner最小扫描周期一致。2、Chip字段取值与该对象中汇聚的所有Scanner引用的Chip一致。3、Size字段取值不能小于Config对象的任意key值。严重CSR文件(1%)中的(2%)对象存在如下问题:1、Period属性配置(3%)与该汇聚对象中扫描周期最小(4%)的(5%)对象不一致。2、Chip属性配置(6%)与该汇聚对象中的(7%,8%)Scanner所在的Chip不一致。3、Size字段取值(9%)小于Config对象的key值(10%,11%)。Period配置过大,部分汇聚中的Scanner不能达到预期的扫描间隔,Period配置过小,浪费扫描性能;Chip配置不对,扫出的数据存在问题;Size过小,扫出数据后续的掩码计算会有问题。对CSR文件(1%)中的(2%)对象进行如下修改:1、将Period属性值配置为汇聚对象中扫描周期最短的Scanner(3%)的扫描周期(4%)。2、修改Chip属性的配置或删除汇聚对象中不在此Chip下的Scanner(5%,6%)对象。。3、调整Size字段的取值至少到(7%),或删除Config中key值为(8%,9%)的元素。生效
rule_csr_043CSRCSR配置SmcDfxInfo对象的Period字段取值合理性检查CSR中定义的SmcDfxInfo对象的Period字段取值不宜小于200ms。一般CSR文件(1%)中的(2%)对象的Period值(3%)设置的太小,不宜小于200ms。规范性约束。调整CSR文件(1%)中的(2%)对象的Period值,使其不小于200ms,若该汇聚扫描中存在周期较小的Scanner对象,考虑将其拆出单独扫描。
rule_csr_044CSRCSR配置精细化事件有效性检查CSR中定义的精细化事件(Event对象)一定存在Reading和Component属性,Reading属性只能配置为数据同步或包含数据同步的表达式,Component属性只能配置为对Component对象的动态引用。Event对象可配置的DescArg和SuggArg属性不超出事件模型中定义的占位符数量,若不存在对应事件的模型定义,则忽略此校验。DescArg和SuggArg属性从1开始计数。严重CSR文件(1%)中的精细化事件对象(2%)配置有效性存在如下问题:1、Reading属性配置(3%)不符合预期,需配置为数据同步或包含数据同步的表达式。2、Component属性配置(3%)不符合预期,需配置为对Component对象的动态引用。3、DescArg和SuggArg属性不可从0开始计数。4、(4%)属性超出事件模型中定义的占位符数量(5%)。1、Event事件无法触发。2、Event事件注册失败。对CSR文件(1%)中的精细化事件对象(2%)配置做如下修改:1、将Reading属性修改成对其它对象属性的同步或包含同步表达式的写法。2、将Component属性修改成对Component对象的动态引用。3、将DescArg和SuggArg属性从1开始计数。4、删除(3%)属性定义。生效
rule_csr_045CSRCSR配置离散事件有效性检查CSR中定义的离散事件(DiscreteEvent对象)一定存在ListenType属性,属性取值0或1,可能存在Property和EventDir属性,此两属性至少要有一个配置为数据同步或包含数据同步的表达式,另一个可配置为正整数,一定存在SensorObject属性,且该属性须动态引用有效的DiscreteSensor对象。严重CSR文件(1%)中的离散事件对象(2%)配置存在如下问题:1、ListenType属性值(3%)错误,只能配置为0或1。2、Property和EventDir属性至少要有一个配置为数据同步或包含数据同步的表达式。3、SensorObject属性配置(4%)不符合预期,需配置为对DiscreteSensor对象的动态引用。离散事件无法按预期生效。对CSR文件(1%)中的离散事件对象(2%)进行如下修改:1、修改ListenType属性的值为0或1。2、将Property或EventDir属性配置为数据同步或包含数据同步的表达式。3、修改SensorObject属性配置,使其动态引用DiscreteSensor对象。生效
rule_csr_046CSRCSR配置连续传感器有效性检查CSR中定义的连续传感器(ThresholdSensor对象)一定存在Reading属性,该属性只能配置为数据同步或包含数据同步的表达式,一定存在EntityId和EntityInstance属性,此两属性一定要引用Entity对象的Id和Instance属性。严重CSR文件(1%)中的连续传感器对象(2%)配置存在如下问题:1、Reading属性配置(3%)错误,需配置为数据同步或包含数据同步的表达式。2、EntityId属性配置(4%)错误,需配置为对Entity对象Id的动态引用(同步亦可,但不建议)。3、EntityInstance属性配置(5%)错误,需配置为对Entity对象Instance的动态引用(同步亦可,但不建议)。连续传感器无法按预期生效。对CSR文件(1%)中的连续传感器对象(2%)进行如下修改:1、将Reading属性配置为数据同步或包含数据同步的表达式。2、将EntityId属性配置为对Entity对象Id属性的动态引用。3、将EntityInstance属性配置为对Entity对象Instance属性的动态引用。生效
rule_csr_047CSRCSR配置离散传感器有效性检查CSR中定义的离散传感器(DiscreteSensor对象)一定存在EntityId和EntityInstance属性,此两属性一定要引用Entity对象的Id和Instance属性。严重CSR文件(1%)中的离散传感器对象(2%)配置存在如下问题:1、EntityId属性配置(3%)错误,需配置为对Entity对象Id的动态引用(同步亦可,但不建议)。2、EntityInstance属性配置(4%)错误,需配置为对Entity对象Instance的动态引用(同步亦可,但不建议)。离散传感器无法按预期生效。对CSR文件(1%)中的离散传感器对象(2%)进行如下修改:1、将EntityId属性配置为对Entity对象Id属性的动态引用。2、将EntityInstance属性配置为对Entity对象Instance属性的动态引用。生效
rule_csr_048CSRCSR配置Entity对象正确性检查CSR中定义的Entity对象,Id为必填属性,Instance为选填(默认值:0x60),Id和Instance联合属性全局唯一。严重CSR文件(1%)中的Entity对象配置存在如下问题:1、Entity对象(2%,3%)的Id属性为必填。传感器无法与正确的实体关联。对CSR文件(1%)中的Entity对象做如下修改:1、补充Entity对象(2%,3%)的Id属性配置。生效
rule_csr_049CSRCSR定义文件格式正确性检查CSR定义文件均须为正确的json格式文件。严重CSR文件(1%)不是正确的json格式文件。CSR无法加载,对应板卡的业务访问硬件失败。将CSR文件(1%)改成正确的json格式文件。生效
rule_csr_050CSRCSR配置PCIeDevice对象正确性检查CSR中定义的PCIeDevice对象各属性满足如下校验:1、GroupPosition,必填,非空字符串。2、DeviceName,必填,非空字符串。3、FunctionClass,必填。严重CSR文件(1%)中的对象(2%)配置存在如下问题:1、GroupPosition属性为必填,且不能为空串。2、DeviceName属性为必填,且不能为空串。3、FunctionClass属性为必填。GroupPosition未配置影响PCIE设备基本功能;DeviceName未配置影响iBMC对外显示的设备名;FunctionClass未配置影响PCIE设备的基本功能。对CSR文件(1%)中的对象(2%)做如下修改:1、确保配置了GroupPosition属性,且不能为空串。2、确保配置了DeviceName属性,且不能为空串。3、确保配置了FunctionClass属性。
rule_csr_051CSRCSR配置Component对象正确性检查CSR中定义的Component对象各属性满足如下校验:1、FruId,必填,配置为对Fru或FruData对象FruId属性的动态引用(数据同步亦可,不推荐),或为静态值255。2、Type,必填。3、Instance,必填。4、GroupId,取值1或255。5、Presence,必填,可配置为静态值0或1,也可配置为数据同步或包含数据同步的表达式。6、Name,必填,非空字符串(字面常量、引用、同步、表达式),本文件中命名唯一。7、PowerState,必填,可配置为静态值0或1,也可配置为数据同步或包含数据同步的表达式。严重CSR文件(1%)中的对象(2%)配置存在如下问题:1、缺少必填属性(3%,4%)的配置。2、FruId属性的配置(5%)不符合预期。3、GroupId属性的配置(6%)不符合预期。4、Presence属性的配置(7%)不符合预期。5、对象(8%,9%)中的Name与本对象Name(10%)重名。6、PowerState属性的配置(11%)不符合预期。配置错误会对告警和电子标签业务造成影响。对CSR文件(1%)中的对象(2%)配置做如下修改:1、补充属性(3%,4%)的配置。2、FruId属性配置为对Fru或FruData对象FruId属性的动态引用,或为静态值255。3、GroupId属性取值只能为1或255。4、Presence属性配置为静态值0或1,也可配置为数据同步或包含数据同步的表达式。5、修改对象(5%,6%,7%)中的Name的配置,确保命名唯一。6、PowerState属性配置为静态值0或1,也可配置为数据同步或包含数据同步的表达式。错误描述中:1、3%,4%可取值:FruId、Type、Instance、Presence、Name、PowerState
rule_csr_052CSRCSR配置精细化事件一致性检查在事件(Event)关联的组件对象(Component)中,其Type属性取值必须与对应事件的EventCode保持一致。严重CSR文件(1%)中的精细化事件对象(2%)的EventKeyId关联的EventCode属性前两位(十六进制)取值(3%)与关联的Component的Type取值(4%)不一致。Event事件注册失败。修改CSR文件(1%)中的精细化事件对象(2%)关联Component的Type属性取值,或关联Type取值为(3%)的其他Component对象。
rule_mds_001MDSMDS定义中组件name正确性检查MDS配置中,组件name为长度不大于64的非空字符串,必填字段。严重1、组件(1%)缺少name字段的定义,且定义不能为空串。2、组件(1%)的name长度不应大于64,当前长度(2%)。若组件不定义name则会注册失败。1、补充组件(1%)的name定义,不能为空串。2、修改name的定义,使其长度不大于64。
rule_mds_002MDSMDS定义中组件name唯一性检查MDS配置中,组件name全局唯一(允许debug组件的名称和maca组件一致)。严重组件(1%,2%)的name定义冲突,当前均为(3%)。组件注册冲突,后者覆盖前者。修改组件(1%,2%)的name定义,保证全局唯一性。
rule_mds_003MDSMDS定义中组件type正确性检查MDS配置中,组件type为必填字段,取值包含:application、configuration、tool、library、command。严重组件(1%)的type字段(2%)定义错误。不能正确识别组件类别,管理上会造成误解。修改组件(1%)的type字段,有效取值:application、configuration、tool、library、command。
rule_mds_004MDSMDS定义中组件version正确性检查MDS配置中,组件version为A.B.C样式的非空字符串,必填字段,A、B、C为非负整数。一般1、组件(1%)缺少version字段的定义。2、组件(1%)的version字段(2%)配置错误。标准化规范定义。1、补充(1%)组件version字段的定义。2、将version字段的定义改为A.B.C样式。
rule_mds_005MDSMDS定义中组件license正确性检查MDS配置中,组件license为非空字符串,必填字段。一般1、组件(1%)缺少license字段的定义。2、组件(1%)的license字段不能为空字符串。标准化规范定义。1、补充组件(1%)的license字段定义。2、组件(1%)的license字段不能为空字符串。
rule_mds_006MDSMDS定义中组件deployConfig正确性检查MDS配置中,若组件type配置为application,则deployConfig字段为必填,取值为xxx.service样式的非空字符串,配置所描述的文件在hica或本组件中存在定义,xxx为非空字符串。严重1、组件(1%)缺少deployConfig字段的定义。2、组件(1%)定义的deployConfig字段信息(2%)在本组件和hica组件中不存在。组件无法启动。1、补充组件(1%)的deployConfig字段定义。2、在本组件或hica组件中增加(1%)文件的定义。
rule_mds_007MDSMDS定义中测试依赖语法正确性检查MDS配置中,测试依赖关键字为“test”,配置在dependencies字段下,对象数组类型,可包含0到多个对象元素,每个对象元素只包含属性“conan”,该属性对应的属性值为非空字符串,属性值中“/”符号前为该组件测试依赖的其它组件,需检查依赖组件的有效性。严重组件(1%)的测试依赖字段(test)配置错误。影响组件的集成测试。参照rule_mds_007规则,修改组件(1%)的test字段配置。
rule_mds_008MDSMDS定义中编译依赖语法正确性检查MDS配置中,编译依赖关键字为“build”,配置在dependencies字段下,对象数组类型,可包含0到多个对象元素,每个对象元素只包含属性“conan”,该属性对应的属性值为非空字符串,属性值中“/”符号前为该组件编译依赖的其它组件,需检查依赖组件的有效性。严重组件(1%)的编译依赖字段(build)配置错误。影响组件的构建。参照rule_mds_008规则,修改组件(1%)的build字段配置。
rule_mds_009MDSMDS定义中组件依赖语法正确性检查MDS配置中,组件依赖关键字为“required”,对象数组类型,可包含0到多个对象元素,每个对象元素一定包含path和interface字段。严重组件(1%)的组件依赖字段(required)配置错误。影响组件的运行态依赖。参照rule_mds_009规则,修改组件(1%)的required字段配置。
rule_mds_010MDSMDS定义中组件依赖的path字段语法正确性检查MDS的组件依赖配置中,path取值可为*或有效的资源树对象路径。严重1、组件(1%)中组件依赖(required)的第(2%)个配置元素中,缺少path字段的配置。2、组件(1%)中组件依赖(required)的第(2%)个配置元素中,path字段的取值(3%)不是有效的资源树路径。无效的组件依赖,影响组件运行态状态。确保组件(1%)的组件依赖配置中均存在path字段的配置,且path的取值需在资源树对象中定义。
rule_mds_011MDSMDS定义中组件依赖的interface字段语法正确性检查MDS的组件依赖配置中,interface取值为有效的资源树接口。严重1、组件(1%)中组件依赖(required)的第(2%)个配置元素中,缺少interface字段的配置。2、组件(1%)中组件依赖(required)的第(2%)个配置元素中,interface字段的取值(3%)不是有效的资源树接口。无效的组件依赖,影响组件运行态状态。确保组件(1%)的组件依赖配置中均存在interface字段的配置,且interface的取值需在资源树接口中定义。
rule_mds_012MDSMDS定义中组件依赖的path字段有效性检查MDS定义中组件依赖的path须实现其依赖的interface,且须被其它组件的MDS管理。严重组件(1%)中组件依赖(required)的第(2%)个配置元素存在如下问题:1、依赖的资源树路径(3%)未实现依赖的资源树接口(4%)。2、依赖的资源树路径(5%)未被MDS管理。无效的组件依赖,影响组件运行态状态。确保组件(1%)依赖的资源树路径实现了依赖的接口,且路径须被其它组件(MDS)实现。
rule_mds_013MDSMDS定义中组件自依赖检查MDS管理的资源树对象被本组件所依赖。提示组件(1%)管理的资源树对象(2%,3%)被本组件依赖。影响模型架构设计的合理性及依赖治理分析。删除组件(1%)的自依赖关系(2%,3%)。
rule_mds_014MDSMDS循环依赖检查MDS之间不能存在循环依赖的关系。严重组件(1%,2%,3%)之间存在循环依赖,依赖关系:1、(4%)组件依赖(5%,6%)资源树接口,实现该接口的资源树对象(7%,8%)在(9%)组件管理。2、(10%)组件依赖(11%)资源树接口,实现该接口的资源树对象(12%)在(13%)组件管理。3、(14%)组件依赖(15%)资源树接口,实现该接口的资源树对象(16%)在(17%)组件管理。影响组件的裁剪。调整组件(1%,2%,3%)之间的依赖关系,消除循环依赖。
rule_mds_015MDSMDS定义中组件依赖的properties字段语法正确性检查MDS的组件依赖配置中,properties字段为对象类型,其下可存在0或多个属性,每个属性均应在该段配置依赖的接口下定义,属性对应的值为字符串数组类型,数组元素可取值包含:subscribe、read、write,数组元素可为空。严重组件(1%)中组件依赖(required)的第(2%)个配置元素的properties字段存在如下问题:1、属性(3%,4%)未在接口(5%)下定义。2、属性(5%,6%)对应的值应为数组类型,当前为(7%,8%)类型。3、属性(9%)的值配置中,(10%,11%)为非法数据。影响组件对属性的精准订阅及读写操作。对组件(1%)中组件依赖(required)的第(2%)个配置元素的properties字段做如下修改:1、删除该字段下(3%,4%)属性的定义,或补充其在接口(5%)下的定义。2、将该字段下属性(6%,7%)的值配置为字符串数组类型。3、该字段下所有属性的值配置,数组元素取值只能为:subscribe、read、write。
rule_mds_016MDSMDS定义中组件依赖的optional字段语法正确性检查MDS的组件依赖配置中,optional字段为选填,可配置为true或false。一般组件(1%)中组件依赖(required)的第(2%)个配置元素的optional取值(3%)配置错误。影响依赖治理中对强弱依赖正确性的判断。将组件(1%)的required配置中options取值改为true或false。true表示弱依赖,即运行时接口不存在不会影响本组件运行,默认为false。
rule_mds_017MDSMDS定义中组件依赖的stage字段语法正确性检查MDS的组件依赖配置中,stage字段为选填,可配置枚举值:starting、running。一般组件(1%)中组件依赖(required)的第(2%)个配置元素的stage取值(3%)配置错误。影响依赖治理中对依赖生效阶段的判断。将组件(1%)的required配置中stage取值改为starting或running。starting表示初始化阶段依赖,running表示运行阶段依赖。
rule_mds_018MDSMDS定义中codeGenPolicy配置正确性检查MDS配置中,codeGenPolicy为对象类型,其下存在version字段,字段取值为大于0的数字。一般组件(1%)的codeGenPolicy字段配置存在如下问题:1、应配置为对象类型,当前为(2%)类型。2、其下缺少version属性的配置。3、version字段的取值(3%)配置错误。影响组件的自动生成代码策略,代码生成工具将基于生成策略指定的版本生成配套的代码。对组件(1%)的codeGenPolicy字段配置做如下修改:1、将该字段配置为对象类型。2、补充该字段下version属性的配置。3、version字段的取值须为大于0的数字。
rule_mds_019MDSMDS中service.json定义文件格式正确性检查service.json定义文件须为正确的json格式文件严重组件服务模型文件(1%)不是正确的json格式文件。组件无法启动,注册。将组件服务模型文件(1%)改成正确的json格式文件。
rule_mds_020MDSMDS类定义类名名称正确性检查MDS类名为长度不大于64的非空字符串,大驼峰格式。一般1、组件(1%)的类名(2%)应为长度不大于64的非空字符串,当前长度(3%)。2、组件(1%)的类名(2%)应定义为大驼峰格式。规范性约束。1、将组件(1%)的类名(2%)改为长度不大于64的非空字符串。。2、将组件(1%)的类名(2%)定义为大驼峰格式,样例:AaBbCc。
rule_mds_021MDSMDS类定义类名有效性检查MDS类中若管理了资源树对象,则该类的名称与被管理的资源树对象名称一致。严重组件(1%)的类(2%)管理了资源树对象(路径:3%,对象名:4%),类名和资源树对象名不一致。资源树对象不能被组件正常管理。修改组件(1%)的类名(2%),或修改资源树对象名(3%),确保二者名称一致。
rule_mds_022MDSMDS类定义类名唯一性检查MDS的类名定义全局唯一。严重组件(1%,2%,3%)中存在相同的类名(4%)定义。类名相同会导致业务管理混乱,可能会引发数据库表名冲突等问题。修改组件(1%,2%,3%)的类名(4%),确保全局唯一。
rule_mds_023MDSMDS类定义parent字段有效性检查MDS类定义中parent字段为选填,若存在此字段,则取值为定义在本组件MDS中的其它类名。严重组件(1%)的类(2%,3%)定义中parent字段引用的父类(4%,5%)在本组件中未定义。类管理的资源树无法正常解析,资源树管理失败。组件(1%)中若类(2%,3%)不涉及与其它类的父子关系,则删除parent字段的配置,并补充完整的path定义,否则补充父类(4%,5%)的定义。
rule_mds_024MDSMDS类定义path字段正确性检查MDS类定义中path字段为选填,若存在此字段,则取值为有效的资源树路径。若该类中存在parent字段,则path可表示为以“:parent”开头的字符串,且计算出的真实路径须为有效的资源树路径定义。严重组件(1%)的类(2%)中path字段定义存在如下问题:1、管理的(3%)路径未在资源树对象中定义。2、该类存在父类配置关系,path字段的配置(4%)不符合格式要求。3、该类存在父类配置关系,计算出的path(5%)未在资源树对象中定义。资源树无法被正常管理,对应的业务功能无法生效。对组件(1%)的类(2%)中path字段做如下处理:1、在资源树对象中补充(3%)路径的定义,否则删除该类对此路径的管理关系。2、该类存在父类配置关系,path字段应配置为以"":parent""开头的样式。3、在资源树对象中补充(4%)路径的定义。
rule_mds_025MDSMDS权限配置一致性检查MDS类管理的资源树属性或方法,若在接口映射配置中被引用,则须在MDS中配置权限,包括如下两种方式:1、所在Path配置了权限。2、所在Path未配置权限,但对应的属性和方法配置了权限。严重组件(1%)的类(2%)管理的资源树对象(3%),其所实现的接口(4%)下定义的(5%,6%)属性和(7%,8%)方法在MDS中未配置权限,上述属性和方法在接口映射(Uri:%9,Type:10%)中被引用。权限漏配置,引入安全问题。在(1%)组件的类(2%)中补充(3%)接口的属性(4%,5%)和方法(6%,7%)的权限配置。MDS若管理了资源树对象,则该MDS管理了该对象下的所有接口,包括接口下的属性和方法。接口、属性和方法无须显示定义出来。
rule_mds_026MDSMDS类定义privilege字段正确性检查MDS类定义中若存在path字段,则可配置privilege字段,该字段为字符串数组类型,数组元素取值范围:UserMgmt,BasicSetting,KVMMgmt,VMMMgmt,SecurityMgmt,PowerMgmt,DiagnoseMgmt,ReadOnly,ConfigureSelf。严重组件(1%)的类(2%)权限配置存在如下问题:1、类未管理资源树对象,但配置了privilege字段。2、类中配置的privilege字段数据类型(3%)错误。3、类中配置的privilege字段存在非法数据(4%,5%)。组件对资源访问的权限管控无法达到预期效果。对组件(1%)的类(2%)权限配置做如下修改:1、删除类中privilege字段的配置。2、类中privilege字段应为数组类型。2、privilege字段的有效配置数据:UserMgmt,BasicSetting,KVMMgmt,VMMMgmt,SecurityMgmt,PowerMgmt,DiagnoseMgmt,ReadOnly,ConfigureSelf。
rule_mds_027MDSMDS类定义tableName字段正确性检查MDS类定义中tableName字段为选填,若存在此字段,则取值为“t_”开头snake风格的非空字符串,字符串中只能存在下划线和小写字母。一般组件(1%)的类(2%)中tableName字段(3%)配置风格存在问题。标准化规范定义。组件(1%)的类(2%)中tableName字段配置风格应为:“t_”开头snake风格的非空字符串,字符串中只能存在下划线和小写字母。
rule_mds_028MDSMDS类定义tableName字段唯一性检查MDS类定义中tableName的取值要确保全局唯一(例外场景:仅当两个类中tableLocation字段取值不同时,tableName才可重名)严重组件(1%)的类(2%,3%,4%)中存在相同的tableName配置(5%)。持久化的数据错误,引起业务异常。修改组件(1%)的类(2%,3%,4%)中tableName配置,确保取值唯一。
rule_mds_029MDSMDS类定义tableName字段有效性检查MDS类定义中若存在tableName字段,则需同步配置tableType字段或至少存在一个该类管理的资源树属性或私有属性的usage被设置为数据持久化,持久化可设字段包含:PermanentPer, PoweroffPer, ResetPer, TemporaryPer, PoweroffPerRetain, ResetPerRetain, TemporaryPerRetain。一般组件(1%)的类(2%)配置了tableName字段(3%),但未配置tableType字段同时不存在任意资源树属性或私有属性被设置为持久化字段。无效配置,影响模型的维护与理解。若确定组件(1%)的类(2%)的表名(3%)不用于内存数据库(在组件的gen/{组件名}/orm_classes.lua中无引用)则可删除。
rule_mds_030MDSMDS类定义tableType字段正确性检查MDS类定义中tableType字段为选填,当tableName字段存在时才可配置此字段,字段取值包含:PermanentPer, PoweroffPer, ResetPer, TemporaryPer, PoweroffPerRetain, ResetPerRetain, TemporaryPerRetain、Memory,SHM。严重组件(1%)的类(2%)所管理的资源树或私有属性(3%,4%)配置存在如下问题:1、属性配置了tableType字段,但类未配置tableName。2、tableType字段取值(5%,6%)配置错误。属性无法达到数据持久化效果。对组件(1%)的类(2%)所管理的资源树或私有属性(3%)配置做如下修改:1、删除该属性tableType字段的配置或补充类tableName字段的配置。2、tableType字段取值范围:PermanentPer, PoweroffPer, ResetPer, TemporaryPer, PoweroffPerRetain, ResetPerRetain, TemporaryPerRetain、Memory,SHM
rule_mds_031MDSMDS类定义tableLocation字段正确性检查MDS类定义中若存在tableLocation字段,则该字段取值只能为Local。严重组件(1%)的类(2%)的tableLocation字段配置(3%)错误。无法达到本地持久化效果。将组件(1%)的类(2%)的tableLocation字段配置为Local,或删除此字段的配置。
rule_mds_032MDSMDS类定义tableLocation字段有效性检查MDS类定义中若存在tableLocation字段,则该类须配置tableName字段。一般组件(1%)的类(2%)配置了tableLocation字段,但未配置tableName字段。无法达到本地持久化效果。补充组件(1%)的类(2%)的tableName字段配置,或删除tableLocation字段。
rule_mds_033MDSMDS类所管理接口正确性检查MDS类定义中若存在path字段,则可配置interfaces字段,该字段为对象类型,可存在0到多个元素,每个元素的key为有效定义的资源树接口,key值不能重复,该资源树接口被path实现,每个元素的value为对象类型,对象中只能存在properties和methods的定义。严重组件(1%)的类(2%)配置存在如下问题:1、该类配置了interface字段,但未配置path字段。2、interface字段应为对象类型,当前为(3%)类型。3、interface中存在重复的接口(4%,5%)配置。4、interface中的接口(6%,7%)未定义。5、interface中的接口(8%,9%)未被资源树对象(path:10%)实现。6、interface中的接口(11%,12%)存在非法字段(13%,14%,15%)的配置。资源树接口无法达到预期的管理效果,影响对应的业务功能。对组件(1%)的类(2%)配置做如下修改:1、补充path字段的配置,或删除interface字段。2、将interface字段配置为对象类型。3、删除interface中重复的接口(3%,4%)配置。4、补充资源树接口(5%,6%)的定义。5、补充资源树对象(path:7%)对接口(8%,9%)的实现关系。6、interface中的接口(9%,10%)下只能配置properties和methods字段。
rule_mds_034MDSMDS类所管理接口有效性检查在MDS中管理的资源树接口会被MDS(包含本APP的MDS)或接口映射配置引用,或该接口下存在属性在CSR中被其它对象引用。一般组件(1%)的类(2%)中管理的资源树接口(3%,4%)未被引用,需检查此是否为无效配置。无效配置,影响模型的维护与理解。组件(1%)的类(2%)中管理的资源树接口(3%,4%)至少需满足如下一种使用方式:1、存在组件(本组件亦可)的service.json中依赖该接口。2、存在接口映射配置中引用该接口。3、存在CSR文件中引用了该接口的属性。MDS若管理了资源树对象,则该MDS管理了该对象下的所有接口,包括接口下的属性和方法。接口、属性和方法无须显示定义出来。
rule_mds_035MDSMDS类所管理资源树属性配置正确性检查MDS类所管理的接口,其下可有0到多个属性配置,属性名需在接口下定义,不能重复,属性配置只可存在如下字段:privilege、usage、default、alias、primaryKey、uniqueKey、notAllowNull、deprecated。严重1、组件(1%)的类(2%)中管理的资源树接口(3%)下存在重复的属性(4%)配置。2、组件(1%)的类(2%)中管理的资源树接口(3%)下的属性(4%,5%)存在非法字段(6%,7%,8%)配置。资源树接口下的部分属性无法达到预期的管理效果,影响对应业务功能。1、删除组件(1%)的类(2%)中管理的资源树接口(3%)下的重复属性(4%)。2、类管理的资源树属性允许配置的字段:privilege、usage、default、alias、primaryKey、uniqueKey、notAllowNull、deprecated。
rule_mds_036MDSMDS类所管理资源树属性的privilege字段正确性检查MDS类管理的资源树属性中,privilege字段为选填,对象类型,若存在此字段,则须包含read和write的权限配置,可配权限为:UserMgmt,BasicSetting,KVMMgmt,VMMMgmt,SecurityMgmt,PowerMgmt,DiagnoseMgmt,ReadOnly,ConfigureSelf。严重组件(1%)的类(2%)中管理的资源树接口(3%)下的属性(4%)的privilege字段配置存在如下问题:1、该字段应为对象类型,当前为(5%)类型。2、该字段下缺少(6%,7%)的配置。3、该字段下的(8%,9%)中配置了无效的权限(10%,11%,12%)。组件对属性访问的权限管控无法达到预期效果,存在安全风险。对组件(1%)的类(2%)中管理的资源树接口(3%)下的属性(4%)的privilege字段做如下修改:1、将该字段的配置改为对象类型。2、该字段下补充(5%,6%)的配置。3、有效权限:UserMgmt,BasicSetting,KVMMgmt,VMMMgmt,SecurityMgmt,PowerMgmt,DiagnoseMgmt,ReadOnly,ConfigureSelf。1、6%,7%,8%,9%取值为read和write。2、10%,11%,12%取的并集,和8%,9%并非一一对应。
rule_mds_037MDSMDS类所管理资源树属性的usage字段正确性检查MDS类管理的资源树属性中,usage字段为选填,字符串数组类型,数组元素可取值:CSR、PermanentPer, PoweroffPer, ResetPer, TemporaryPer, PoweroffPerRetain, ResetPerRetain, TemporaryPerRetain,SHM。严重组件(1%)的类(2%)中管理的资源树接口(3%)下的属性(4%)的usage字段配置存在如下问题:1、该字段应为数组类型,当前为(5%)类型。2、该字段中存在无效配置(6%,7%)。资源树属性无法进行数据持久化。对组件(1%)的类(2%)中管理的资源树接口(3%)下的属性(4%)的usage字段进行如下修改:1、将该字段配置为数组类型。2、字段中可配数据范围:CSR、PermanentPer, PoweroffPer, ResetPer, TemporaryPer, PoweroffPerRetain, ResetPerRetain, TemporaryPerRetain,SHM。
rule_mds_038MDSMDS类所管理资源树属性的default字段正确性检查MDS类管理的资源树属性中,default字段为选填,默认值取值类型与对应属性类型一致,取值范围符合业界常规预期,比如U8类型取值范围为0-255,字符串类型长度不大于64(可为空串),若资源树属性配置了校验规则,默认值取值满足该校验规则的配置。严重组件(1%)的类(2%)中管理的资源树接口(3%)下的属性(4%)的default字段配置存在如下问题:1、默认值(5%)的数据类型与对应属性的定义类型(6%)不一致。2、默认值(7%)不在该属性允许的取值范围[8%,9%]内。默认值无法生效,影响对应业务的默认行为。对组件(1%)的类(2%)中管理的资源树接口(3%)下的属性(4%)的default字段配置做如下修改:1、修改默认值为(5%)类型。2、修改默认值在[8%,9%]范围内。
rule_mds_039MDSMDS类所管理资源树属性的alias字段正确性检查MDS类管理的资源树属性中,alias字段为选填,取值为长度不大于64的非空字符串,大驼峰风格。一般组件(1%)的类(2%)中管理的资源树接口(3%)下的属性(4%)的alias字段配置(5%)风格存在问题。标准化规范定义。组件(1%)的类(2%)中管理的资源树接口(3%)下的属性(4%)的alias字段配置应为:长度不大于64的非空字符串,大驼峰风格。
rule_mds_040MDSMDS类所管理资源树属性的alias字段唯一性检查MDS类管理的资源树属性中,alias字段的取值在类中唯一,且不能和该类管理的资源树属性/私有属性重名。严重组件(1%)的类(2%)管理的资源树属性的alias配置存在如下问题:1、接口(3%,4%,5%)下存在相同的alias配置(6%)。2、alias配置(7%,8%)与(9%,10%)下的属性重名。属性重命名影响该属性所承载的CSR内容是否能正常上树。对组件(1%)的类(2%)管理的资源树属性的alias配置做如下修改:1、确保接口(3%,4%,5%)下属性的alias配置在类中唯一。2、确保alias的配置不与类所管理接口的属性或私有属性重名。1、9%,10%取值可为资源树接口和“私有属性”,参数位置分别和7%,8%参数对应。2、该条规则所述的资源树接口和属性并非是在MDS中显示声明的,而是类管理的path所实现的在mdb_interface中定义的全量接口和属性。
rule_mds_041MDSMDS类所管理资源树属性的alias字段有效性检查MDS类管理的资源树属性若配置了alias字段,则至少存在一个被该类管理的其它接口的属性名与该属性重名。一般组件(1%)的类(2%)管理的接口(3%)下的属性(4%,5%)配置了alias字段,但不存在该类管理的其它接口的属性与上述属性重名。无效配置,影响模型的维护与理解。删除组件(1%)的类(2%)管理的接口(3%)下的属性(4%,5%)配置的alias字段。属性(4%,5%)要和该类管理的path所实现的在mdb_interface中定义的全量接口和属性比较,而不是显示定义在MDS中的属性比较。
rule_mds_042MDSMDS类所管理不同接口下属性命名冲突检查MDS类所管理不同接口若存在同名属性,且属性在CSR中配置或被其它属性引用,则最多允许一个同名属性不配置alias字段。严重组件(1%)的类(2%)所管理的资源树接口(3%,4%,5%)存在同名属性(6%),该属性在CSR中被使用,所以须配置alias字段。CSR数据和资源树属性的交互错乱。对组件(1%)的类(2%)所管理的资源树接口(3%,4%,5%)存在同名属性(6%)进行alias字段配置。3%,4%,5%不包含存在同名属性但配置了alias字段的接口。
rule_mds_043MDSMDS类数据持久化主键约束检查MDS类若配置了tableName字段,则至少存在一个资源树属性或私有属性的primaryKey字段被设置为true。严重组件(1%)的类(2%)配置了tableName字段,但该类管理的资源树属性或私有属性未配置主键。数据库范式管理。组件(1%)的类(2%)管理的资源树属性/私有属性至少要有一个配置primaryKey字段。
rule_mds_044MDSMDS类管理的属性数据持久化配置有效性检查MDS类管理的资源树属性或私有属性若配置了持久化字段,则该类需存在tableName字段的配置。一般组件(1%)的类(2%)管理的属性配置了持久化字段,但该类未配置tableName字段。配置持久化的属性无法达到持久化的效果。在组件(1%)的类(2%)中增加tableName的配置,或删除属性的持久化配置。
rule_mds_045MDSMDS类所管理属性的primaryKey字段正确性检查MDS类所管理的资源树或私有属性的primaryKey字段取值只能为true。严重组件(1%)的类(2%)管理的属性(3%,4%)配置的primaryKey字段取值(5%,6%)错误。数据库属性的主键约束失效。将组件(1%)的类(2%)管理的属性(3%,4%)配置的primaryKey字段值改成true,若配置值为false则可删除该字段的配置。3%,4%可为资源树属性和私有属性。
rule_mds_046MDSMDS类所管理属性的uniqueKey字段正确性检查MDS类所管理的资源树或私有属性的uniqueKey字段取值只能为true或false。严重组件(1%)的类(2%)管理的属性(3%,4%)配置的uniqueKey字段取值(5%,6%)错误。数据库属性的唯一性约束失效。将组件(1%)的类(2%)管理的属性(3%,4%)配置的uniqueKey字段值改成true,若配置值为false则可删除该字段的配置。3%,4%可为资源树属性和私有属性。
rule_mds_047MDSMDS类所管理属性的uniqueKey字段有效性检查MDS类管理的资源树属性或私有属性若配置了uniqueKey字段,则该属性须被设置为数据持久化。一般组件(1%)的类(2%)管理的属性(3%,4%)配置了uniqueKey字段,但属性未被设置为持久化。无效配置,影响模型的维护与理解。在组件(1%)的类(2%)管理的属性(3%,4%)的usage字段中补充持久化类型的配置,若上述属性不涉及持久化则删除属性中uniqueKey字段的配置。3%,4%可为资源树属性和私有属性。
rule_mds_048MDSMDS类所管理属性的notAllowNull字段正确性检查MDS类所管理的资源树或私有属性的notAllowNull字段取值只能为true或false。严重组件(1%)的类(2%)管理的属性(3%,4%)配置的notAllowNull字段取值(5%,6%)错误。数据库属性的非空约束失效。将组件(1%)的类(2%)管理的属性(3%,4%)配置的notAllowNull字段值改成true或false。3%,4%可为资源树属性和私有属性。
rule_mds_049MDSMDS类所管理属性的notAllowNull字段有效性检查MDS类管理的资源树属性或私有属性若配置了notAllowNull字段,则该属性须被设置为数据持久化。一般组件(1%)的类(2%)管理的属性(3%,4%)配置了notAllowNull字段,但属性未被设置为持久化。无效配置,影响模型的维护与理解。在组件(1%)的类(2%)管理的属性(3%,4%)的usage字段中补充持久化类型的配置,若上述属性不涉及持久化则删除属性中notAllowNull字段的配置。3%,4%可为资源树属性和私有属性。
rule_mds_050MDSMDS类所管理属性的deprecated字段正确性检查MDS类所管理的资源树或私有属性的deprecated字段取值只能为true。严重组件(1%)的类(2%)管理的属性(3%,4%)配置的deprecated字段取值(5%,6%)错误。属性废弃标记失效,影响标准化管理。将组件(1%)的类(2%)管理的属性(3%,4%)配置的deprecated字段值改成true,若配置值为false则可删除该字段的配置。3%,4%可为资源树属性和私有属性。
rule_mds_051MDSMDS类所管理属性的deprecated字段有效性检查MDS类管理的资源树属性或私有属性若配置了deprecated字段,则该属性须被设置为数据持久化,且不能为主键或唯一键,若notAllowNull被设置为true,则该属性必须配置了默认值(若为资源树属性,在属性定义时配置默认值亦可)。严重组件(1%)的类(2%)管理的属性(3%)配置了deprecated字段,存在如下问题:1、该属性不是数据持久化字段。2、该属性不能为数据持久化的主键和唯一键。3、该属性notAllowNull被设置为true,但未配置默认值。不符合要求的持久化属性被废弃,会引起不同版本的数据库兼容问题。组件(1%)的类(2%)管理的属性(3%)若不为持久化属性,废弃时可直接删除无需标记,若为持久化属性,废弃时不可直接删除需通过deprecated字段标记,且只有满足特定条件(详见规则rule_mds_051描述)的字段才允许标记。3%可为资源树属性和私有属性。
rule_mds_052MDSMDS类所管理属性critical字段正确性检查MDS类所管理属性若配置了critical字段,则该字段取值只能为true。严重组件(1%)的类(2%)管理的属性(3%,4%)配置的critical字段取值(5%,6%)错误。属性critical标记失效,影响标准化管理。将组件(1%)的类(2%)管理的属性(3%,4%)配置的critical字段值改成true,若配置值为false则可删除该字段的配置。3%,4%可为资源树属性和私有属性。
rule_mds_053MDSMDS类所管理属性critical字段有效性检查MDS类管理的资源树属性或私有属性若配置了critical字段,则该属性须被设置为数据持久化。一般组件(1%)的类(2%)管理的属性(3%,4%)配置了critical字段,但属性未被设置为持久化。无效配置,影响模型的维护与理解。在组件(1%)的类(2%)管理的属性(3%,4%)的usage字段中补充持久化类型的配置,若上述属性不涉及持久化则删除属性中critical字段的配置。3%,4%可为资源树属性和私有属性。
rule_mds_054MDSMDS类所管理属性sensitive字段正确性检查MDS类所管理属性若配置了sensitive字段,则该字段取值只能为true。严重组件(1%)的类(2%)管理的属性(3%,4%)配置的sensitive字段取值(5%,6%)错误。属性sensitive标记失效,影响标准化管理。将组件(1%)的类(2%)管理的属性(3%,4%)配置的sensitive字段值改成true,若配置值为false则可删除该字段的配置。3%,4%可为资源树属性和私有属性。
rule_mds_055MDSMDS类所管理属性sensitive字段有效性检查MDS类管理的资源树属性或私有属性若配置了sensitive字段,则该属性须被设置为数据持久化。一般组件(1%)的类(2%)管理的属性(3%,4%)配置了sensitive字段,但属性未被设置为持久化。无效配置,影响模型的维护与理解。在组件(1%)的类(2%)管理的属性(3%,4%)的usage字段中补充持久化类型的配置,若上述属性不涉及持久化则删除属性中sensitive字段的配置。3%,4%可为资源树属性和私有属性。
rule_mds_056MDSMDS类所管理方法配置正确性检查MDS类管理的资源树接口下若配置了methods字段,则该字段为对象类型,其下可存在0或多个元素,每个元素的key为方法名,需在对应接口下存在定义,value为对象类型,value对象内只能配置privilege属性。严重组件(1%)的类(2%)管理的资源树接口(3%)配置的methods字段存在如下问题:1、该字段应为对象类型,实为(4%)类型。2、其下配置的(5%,6%)方法未在上述接口中定义。3、其下配置的(7%,8%)方法存在非法字段(9%,10%,11%)的配置。组件对资源树方法的管理无法达到预期效果。对组件(1%)的类(2%)管理的资源树接口(3%)配置的methods字段做如下修改:1、校正字段配置,将其改为对象类型。2、删除该字段下(4%,5%)方法的配置,或在接口(6%)中定义上述方法。3、删除(7%,8%)方法中(9%,10%,11%)的配置。9%,10%,11%取的并集,和7%,8%并非一一对应。
rule_mds_057MDSMDS类所管理方法的权限配置正确性检查MDS类所管理方法的privilege字段为字符串数组类型,数组元素取值范围:UserMgmt,BasicSetting,KVMMgmt,VMMMgmt,SecurityMgmt,PowerMgmt,DiagnoseMgmt,ReadOnly,ConfigureSelf。严重组件(1%)的类(2%)中管理的资源树接口(3%)下的方法(4%)的privilege字段配置存在如下问题:1、该字段应为数组类型,当前为(5%)类型。2、该字段下配置了无效的权限(6%,7%)。组件对方法访问的权限管控无法达到预期效果,存在安全风险。对组件(1%)的类(2%)中管理的资源树接口(3%)下的方法(4%)的privilege字段做如下修改:1、将该字段的配置改为数组类型。2、有效权限:UserMgmt,BasicSetting,KVMMgmt,VMMMgmt,SecurityMgmt,PowerMgmt,DiagnoseMgmt,ReadOnly,ConfigureSelf。
rule_mds_058MDSMDS类所管理私有属性名称正确性检查MDS类所管理私有属性名称为长度不大于64的非空字符串,大驼峰风格,在该类的私有属性中命名唯一。一般组件(1%)的类(2%)中管理的私有属性(3%,4%)命名存在问题。命名若存在风格问题则影响标准化管理,若命名冲突则影响业务功能。组件(1%)的类(2%)中管理的私有属性(3%,4%)满足:长度不大于64的非空字符串,大驼峰风格,在该类的私有属性中命名唯一。
rule_mds_059MDSMDS类所管理私有属性baseType正确性检查私有属性的baseType字段为必填,可取类型包括基础类型、自定义类型及上述两种类型的数组类型,基础类型包括:U8、U16、U32、U64、S8、S16、S32、S64、Boolean、Double、String;自定义类型可从本组件或资源树接口定义中引用,包括Dictionary、Struct、Enum;基础类型的数组类型在对应类型后加[],例如U8[],自定义类型的数组类型用Array表示,在items关键字中引用本组件或资源树接口中存在的自定义类型。严重1、组件(1%)的类(2%)中管理的私有属性(3%,4%)缺少baseType字段的定义。2、组件(1%)的类(2%)中管理的私有属性(3%,4%)的baseType字段取值(5%,6%)配置错误。属性无法正常管理,影响对应的业务功能。1、补充组件(1%)的类(2%)中管理的私有属性(3%,4%)的baseType字段的定义。2、修改组件(1%)的类(2%)中管理的私有属性(3%,4%)的baseType字段定义,使其满足规范要求,有效类型包括:U8、U16、U32、U64、S8、S16、S32、S64、Boolean、Double、String、自定义类型,上述类型的数组类型。
rule_mds_060MDSMDS类所管理私有属性minimum校验规则正确性检查当且仅当对应私有属性类型为数字才可出现,可配数据满足对应类型的有效取值范围(比如U8取值范围0-255),当存在maximum字段,该字段取值不大于maximum的配置值。一般组件(1%)的类(2%)中管理的私有属性(3%)的minimum字段存在如下问题:1、数字类型才可配置minimum校验,当前(4%)类型不可配置此字段。2、配置值(5%)不在(6%)类型的有效范围内。3、配置值(7%)不可大于同属性下maximum的配置值(8%)。私有属性配置的校验规则不能正常生效。组件(1%)的类(2%)中管理的私有属性(3%)的minimum字段做如下修改:1、删除minimum的配置,或将属性类型改为数字类型,包括:U8、U16、U32、U64、S8、S16、S32、S64。2、调整minimum的配置值,使其在[4%,5%]范围内。3、调整minimum使其小于maximum的配置值(调整maximum亦可)。
rule_mds_061MDSMDS类所管理私有属性maximum校验规则正确性检查当且仅当对应私有属性类型为数字才可出现,可配数据满足对应类型的有效取值范围(比如U8取值范围0-255),当存在minimum字段,该字段取值不小于minimum的配置值。一般组件(1%)的类(2%)中管理的私有属性(3%)的maximum字段存在如下问题:1、数字类型才可配置maximum校验,当前(4%)类型不可配置此字段。2、配置值(5%)不在(6%)类型的有效范围内。3、配置值(7%)不可小于同属性下minimum的配置值(8%)。私有属性配置的校验规则不能正常生效。组件(1%)的类(2%)中管理的私有属性(3%)的maximum字段做如下修改:1、删除maximum的配置,或将属性类型改为数字类型,包括:U8、U16、U32、U64、S8、S16、S32、S64。2、调整maximum的配置值,使其在[4%,5%]范围内。3、调整maximum使其大于minimum的配置值(调整minimum亦可)。
rule_mds_062MDSMDS类所管理私有属性minLength校验规则正确性检查当且仅当对应私有属性类型为字符串才可出现,取值为不小于0的整数,当存在maxLength字段,该字段取值不大于maxLength的配置值。一般组件(1%)的类(2%)中管理的私有属性(3%)的minLength字段存在如下问题:1、字符串类型才可配置minLength校验,当前(4%)类型不可配置此字段。2、配置值(5%)不满足要求,应配置为大于0的整数。3、配置值(6%)不可大于同属性下maxLength的配置值(7%)。私有属性配置的校验规则不能正常生效。组件(1%)的类(2%)中管理的私有属性(3%)的minLength字段做如下修改:1、删除minLength的配置,或将属性类型改为字符串类型。2、调整minLength的配置值,使其大于0。3、调整minLength使其小于maxLength的配置值(调整maxLength亦可)。
rule_mds_063MDSMDS类所管理私有属性maxLength校验规则正确性检查当且仅当对应私有属性类型为字符串才可出现,取值为不小于0的整数,当存在minLength字段,该字段取值不小于minLength的配置值。一般组件(1%)的类(2%)中管理的私有属性(3%)的maxLength字段存在如下问题:1、字符串类型才可配置maxLength校验,当前(4%)类型不可配置此字段。2、配置值(5%)不满足要求,应配置为大于0的整数。3、配置值(6%)不可小于同属性下minLength的配置值(7%)。私有属性配置的校验规则不能正常生效。组件(1%)的类(2%)中管理的私有属性(3%)的maxLength字段做如下修改:1、删除maxLength的配置,或将属性类型改为字符串类型。2、调整maxLength的配置值,使其大于0。3、调整maxLength使其大于minLength的配置值(调整minLength亦可)。
rule_mds_064MDSMDS类所管理私有属性pattern校验规则正确性检查当且仅当对应私有属性类型为字符串才可出现,取值为非空字符串。一般组件(1%)的类(2%)中管理的私有属性(3%)的pattern字段存在如下问题:1、字符串类型才可配置pattern校验,当前(4%)类型不可配置此字段。2、配置值不可为空字符串。私有属性配置的校验规则不能正常生效。组件(1%)的类(2%)中管理的私有属性(3%)的pattern字段做如下修改:1、删除pattern的配置,或将属性类型改为字符串类型。2、调整pattern的配置值,不能为空串。
rule_mds_065MDSMDS类所管理私有属性enum校验规则正确性检查当对应私有属性类型为字符串、数字、浮点数时才可出现,enum字段为数组类型,数组中的每个元素取值类型与对应属性类型一致,取值范围满足对应属性类型的约束(比如U8类型范围0-255)。一般组件(1%)的类(2%)中管理的私有属性(3%)的enum字段存在如下问题:1、(4%)类型不可配置enum校验规则。2、enum的配置应为数组类型,当前为(5%)类型。3、enum的配置第(6%,7%)个元素取值(8%,9%)不在预期范围内。私有属性配置的校验规则不能正常生效。组件(1%)的类(2%)中管理的私有属性(3%)的enum字段做如下修改:1、删除enum的配置,或将属性类型改为字符串、数字或double类型。2、将enum的配置修改为(4%)类型的数组配置。3、修改enum配置的第(5%,6%)个元素,使其取值在[7%,8%]范围内。
rule_mds_066MDSMDS类所管理私有属性校验规则一致性检查私有属性校验规则包含范围校验、长度校验、正则校验、枚举校验,除了长度校验和正则校验可以同时配置,其它相互之间不能同时存在。提示组件(1%)的类(2%)中管理的私有属性(3%)的(3%,4%)校验规则不能同时存在。私有属性配置的校验规则不能正常生效。删除组件(1%)的类(2%)中管理的私有属性(3%)的部分校验规则配置。
rule_mds_067MDSMDS类所管理私有属性default字段正确性检查默认值取值类型与对应私有属性类型一致,取值范围符合业界常规预期,比如U8类型取值范围为0-255,字符串类型长度不大于64(可为空串),若私有属性配置了校验规则,默认值取值满足该校验规则的配置。一般1、组件(1%)的类(2%)中管理的私有属性(3%)的default字段取值类型与属性的定义类型不一致。2、组件(1%)的类(2%)中管理的私有属性(3%)的default字段取值不在预期范围内。私有属性的默认值不能生效,影响对应业务的默认状态。1、将组件(1%)的类(2%)中管理的私有属性(3%)的默认值设置为(4%)类型。2、将组件(1%)的类(2%)中管理的私有属性(3%)的默认值设置在[4%,5%]范围内。
rule_mds_068MDSMDS类所管理私有属性description字段正确性检查MDS类所管理私有属性的description字段为必填,取值为长度不超过1024的非空字符串。提示1、组件(1%)的类(2%)中管理的私有属性(3%)缺少description字段的定义。2、组件(1%)的类(2%)中管理的私有属性(3%)的description字段取值为长度不超过1024的非空字符串,当前配置长度为(3%)。私有属性的描述信息直接影响业务侧对该属性的理解。按规范要求补充私有属性的description字段定义。
rule_mds_069MDSMDS类所管理私有属性refInterface字段正确性检查MDS类所管理私有属性若配置了refInterface字段,则该字段的取值为有效的资源树接口定义。严重组件(1%)的类(2%)中管理的私有属性(3%,4%)的refInterface字段配置的(5%,6%)接口未定义。组件无法访问定义在refInterface中的资源树接口。修改组件(1%)的类(2%)中管理的私有属性(3%,4%)的refInterface定义,或补齐资源树接口(5%,6%)的定义。
rule_mds_070MDSMDS类所管理私有属性refInterface字段有效性检查MDS类所管理私有属性配置的refInterface字段取值需在该组件的service.json中被依赖。严重组件(1%)的类(2%)中管理的私有属性(3%,4%)的refInterface字段配置了(5%,6%)接口,本组件须配置对上述接口的依赖。配置的refInterface字段无效。在组件(1%)的service.json中配置对接口(2%,3%)的依赖。
rule_mds_071MDSMDS中未被引用的自定义类型检查MDS中定义的自定义类型原则上都会被本APP的私有属性引用。提示组件(1%)定义的自定义类型(2%,3%)未在本组件管理的私有属性中引用。无效配置,影响模型的维护与理解。若确认组件(1%)定义的自定义类型(2%,3%)为冗余数据则删除。
rule_mds_072MDSMDS自定义类型循环依赖检查自定义类型之间不能存在循环依赖,包含结构体与结构体、结构体与字典、字典与字典之间的循环依赖。严重组件(1%)中(2%,3%,4%)自定义类型间存在循环依赖关系:1、结构体(5%)的成员(6%)类型依赖结构体(7%)。2、结构体(8%)的成员(9%)类型依赖字典(10%)。3、字典(11%)的值类型依赖结构体(12%)。自定义类型之间循环依赖,会造成业务功能异常。对组件(1%)中的自定义类型进行合理设计,消除(2%,3%,4%)间的循环依赖。
rule_mds_073MDSMDS中model.json定义文件格式正确性检查model.json定义文件须为正确的json格式文件严重组件(1%)数据模型定义文件不是正确的json格式文件。组件数据模型加载异常,对资源树的管理失败。将组件(1%)的数据模型定义文件改成正确的json格式文件。
rule_mds_074MDSMDS中types.json定义文件格式正确性检查types.json定义文件须为正确的json格式文件严重组件(1%)自定义类型文件不是正确的json格式文件。组件的自定义类型均无法加载,影响对应业务功能。将组件(1%)的自定义类型文件改成正确的json格式文件。
rule_ipmi_001IPMIipmi命令整体格式正确性检查ipmi命令文件中,package和cmds字段必填,其中package取值为长度不大于64的非空字符串,大驼峰风格,全局唯一。cmds为对象类型,可包含0到多个元素。严重组件(1%)的ipmi文件定义存在如下问题:1、缺少(2%,3%)字段的定义。2、package字段取值为长度不大于64的非空字符串,当前长度为(4%)。3、package字段的配置(5%)不满足大驼峰风格要求。4、package字段的配置(6%)在组件(7%,8%)中重复。5、cmds字段应为对象类型,当前为(9%)类型。对应组件的ipmi命令配置无效,影响ipmi接口的访问。对组件(1%)的ipmi文件做如下修改:1、补充(2%,3%)字段的定义。2、将package字段配置为不大于64的字符串。3、将package字段改为大驼峰格式,样例:AaBbCc。4、修改本组件与(4%,5%)组件的package字段配置,确保全局唯一。5、将cmds字段改为对象类型。2%,3%的取值:package、cmds
rule_ipmi_002IPMIipmi命令名称正确性检查ipmi命令名称为长度不大于64的非空字符串,大驼峰写法,在本组件中命名唯一。严重组件(1%)的ipmi命令(2%)存在如下问题:1、长度应为不大于64的非空字符串,当前长度(3%)。2、命名应为大驼峰风格。3、本组件存在同名命令。命名不规范影响规范管理,命名不唯一会导致命令冲突。对组件(1%)的ipmi命令(2%)做如下修改:1、将命名修改为长度不大于64的字符串。2、将命名修改为大驼峰风格,样例:AaBbCc。3、确保本组件命令的命名唯一性。
rule_ipmi_003IPMIipmi命令netfn字段正确性检查ipmi命令netfn字段为16进制长度为1字节的数字字符串,必填。(样例:0xCD、0x02,不区分大小写)严重1、组件(1%)的ipmi命令(2%)的netfn字段为必填。2、组件(1%)的ipmi命令(2%)的netfn字段(3%)配置错误。ipmi命令不能正常工作。1、补充组件(1%)的ipmi命令(2%)的netfn字段的配置。2、将组件(1%)的ipmi命令(2%)的netfn字段配置为1字节的数字字符串。(样例:0xCD、0x02)
rule_ipmi_004IPMIipmi命令cmd字段正确性检查ipmi命令cmd字段为16进制长度为1字节的数字字符串,必填。(样例:0xCD、0x02,不区分大小写)严重1、组件(1%)的ipmi命令(2%)的cmd字段为必填。2、组件(1%)的ipmi命令(2%)的cmd字段(3%)配置错误。ipmi命令不能正常工作。1、补充组件(1%)的ipmi命令(2%)的cmd字段的配置。2、将组件(1%)的ipmi命令(2%)的cmd字段配置为1字节的数字字符串。(样例:0xCD、0x02)
rule_ipmi_005IPMIipmi命令priority字段正确性检查ipmi命令priority字段为必填字符串,取值范围:Default、 OEM、 ODM、 OBM、 EndUser。严重1、组件(1%)的ipmi命令(2%)的priority字段为必填。2、组件(1%)的ipmi命令(2%)的priority字段(3%)配置错误。ipmi命令缺少优先级控制,影响重写命令的执行优先级控制。1、补充组件(1%)的ipmi命令(2%)的priority字段的配置。2、组件(1%)的ipmi命令(2%)的priority字段取值范围:Default、 OEM、 ODM、 OBM、 EndUser。
rule_ipmi_006IPMIipmi命令privilege字段正确性检查ipmi命令privilege字段为必填字符串数组,数组元素取值范围:UserMgmt,BasicSetting,KVMMgmt,VMMMgmt,SecurityMgmt,PowerMgmt,DiagnoseMgmt,ReadOnly,ConfigureSelf。严重组件(1%)的ipmi命令(2%)的权限配置存在如下问题:1、缺少privilege字段的配置。2、privilege应为数组类型,当前为(3%)类型。3、privilege中存在非法配置(4%,5%)。ipmi命令的权限无法正常生效,存在安全问题。对组件(1%)的ipmi命令(2%)的权限配置做如下修改:1、补充privilege字段的配置。2、将privilege字段配置为数组类型。3、privilege字段取值范围:UserMgmt,BasicSetting,KVMMgmt,VMMMgmt,SecurityMgmt,PowerMgmt,DiagnoseMgmt,ReadOnly,ConfigureSelf。
rule_ipmi_007IPMIipmi命令role字段正确性检查ipmi命令role字段为必填字符串数组,数组元素取值范围:User、 Administrator、 Operator、 Unspecified、 Callback、 OEM。严重组件(1%)的ipmi命令(2%)的角色配置存在如下问题:1、缺少role字段的配置。2、role应为数组类型,当前为(3%)类型。3、role中存在非法配置(4%,5%)。正确配置 role 对系统安全和功能至关重要,需根据用户职责合理分配权限。对组件(1%)的ipmi命令(2%)的角色配置做如下修改:1、补充role字段的配置。2、将role字段配置为数组类型。3、role字段取值范围:User、 Administrator、 Operator、 Unspecified、 Callback、 OEM。
rule_ipmi_008IPMIipmi命令sensitive字段正确性检查ipmi命令sensitive字段为选填字段,只可配置为true。严重组件(1%)的ipmi命令(2%)的sensitive字段(3%)配置错误。影响IPMI Trace场景对数据进行脱敏处理,暴露用户的敏感信息。组件(1%)的ipmi命令(2%)的sensitive字段只能配置为true。
rule_ipmi_009IPMIipmi命令sysLockedPolicy字段正确性检查ipmi命令sysLockedPolicy字段为选填字段,取值范围:Forbidden、Allowed严重组件(1%)的ipmi命令(2%)的sysLockedPolicy字段(3%)配置错误。影响在系统锁定时IPMI命令是否允许执行的正确判断。组件(1%)的ipmi命令(2%)的sysLockedPolicy字段取值范围:Forbidden、Allowed。
rule_ipmi_010IPMIipmi命令请求/响应体整体正确性检查ipmi命令中请求体和响应体分别配置在每个命令的req和rsp字段下,对象数组类型,每个对象元素必定包含data、baseType、len字段,可能存在value字段。严重组件(1%)的ipmi命令(2%)存在如下问题:1、(3%,4%)字段应为对象类型,当前为(5%,6%)类型。2、(7%)字段中缺少(8%,9%)字段的配置。3、(10%,11%)字段中不能配置(12%,13%,14%)字段。ipmi命令不能正常解析请求体或响应体。对组件(1%)的ipmi命令(2%)做如下修改:1、将(3%,4%)字段改为对象类型。2、在(5%)字段中补充(6%,7%)字段的配置。3、删除(8%,9%)字段中(10%,11%,12%)的配置。错误提示中:1、3%,4%,7%,10%,11%可取值:req、rsp2、8%,9%可取值:data、baseType、len
rule_ipmi_011IPMIipmi命令请求/响应体参数data字段正确性检查ipmi命令请求/响应体参数中,data为长度小于64的非空字符串类型,大驼峰风格,在本命令的请求/响应体中唯一。严重组件(1%)的ipmi命令(2%)的(3%)中data字段存在如下问题:1、应为长度小于64的非空字符串,当前长度(4%)。2、应为大驼峰风格。3、在(5%)中存在同名参数。命名不规范影响规范管理,命名不唯一会导致参数冲突。对组件(1%)的ipmi命令(2%)的(3%)中data字段做如下修改:1、改为长度小于64的非空字符串。2、改为大驼峰风格,样例:AaBbCc。3、确保(4%)中参数命名唯一。错误提示中:1、3%、5%可取值:req、rsp
rule_ipmi_012IPMIipmi命令请求/响应体参数baseType字段正确性检查ipmi命令请求/响应体参数中,baseType取值范围:U8、 U16、 U32、 U64、 String、 U8[]、S8、S16、S32、S64。严重组件(1%)的ipmi命令(2%)的(3%)中baseType字段(4%)配置错误。ipmi命令请求体或响应体的参数解析错误。组件(1%)的ipmi命令(2%)的(3%)中baseType字段取值范围:U8、 U16、 U32、 U64、 String、 U8[]、S8、S16、S32、S64。3%可取值:req、rsp
rule_ipmi_013IPMIipmi命令请求/响应体参数len字段正确性检查ipmi命令请求/响应体中,非变长参数(baseType为U8、 U16、 U32、 U64、S8、S16、S32、S64)的len配置为固定长度,规格满足对应类型的最大长度限制,单位为b或B(例如:U8为1个Byte,8个bit,若单位为b,则取值可配置为1-8,若单位为B,则取值只可配置为1)。变长参数(baseType为U8[]、String)的len可配置为固定长度、或变量名称(由变量名对应的值指定长度):若配置为固定长度,则取值为大于0的整数;若配置为变量名称,则取值为该参数之前任意非变长参数的名称;仅当配置参数为最后一个参数,len才可配置为严重组件(1%)的ipmi命令(2%)的(3%)中len字段(4%)配置错误。ipmi命令请求体或响应体的参数解析错误。组件(1%)的ipmi命令(2%)的(3%)中len字段的正确配置方法见rule_ipmi_013规则的描述。3%可取值:req、rsp
rule_ipmi_014IPMIipmi命令请求/响应体参数value字段正确性检查ipmi命令请求/响应体参数中,value字段为16进制长度为x字节的数字字符串,x为对应参数len的取值。严重组件(1%)的ipmi命令(2%)的(3%)中value字段(4%)配置错误。ipmi命令请求体或响应体的参数解析错误。组件(1%)的ipmi命令(2%)的(3%)中value字段不能配置为大于(4%)字节的数字字符串。3%可取值:req、rsp
rule_ipmi_015IPMIipmi定义文件格式正确性检查ipmi定义文件均须为正确的json格式文件。严重组件(1%)的ipmi文件不是正确的json格式文件。ipmi命令无法加载。将组件(1%)的ipmi文件改成正确的json格式文件。
rule_ipmi_016IPMIipmi命令请求/响应体参数customizedRule字段正确性检查ipmi命令请求/响应体参数中,customizedRule字段的取值范围:Manufacturer。严重组件(1%)的ipmi命令(2%)的(3%)中customizedRule字段(4%)配置错误。ipmi命令定制化规则无法正确生效。组件(1%)的ipmi命令(2%)的(3%)中customizedRule字段取值范围:Manufacturer。3%可取值:req、rsp
rule_intf_mapping_001接口映射redfish和web-backend接口映射文件命名风格检查redfish和web-backend接口映射文件命名风格为大驼峰。提示接口映射配置文件(1%)命名风格不为大驼峰。命名不规范影响规范管理。规范接口映射配置文件的命名为大驼峰风格。
rule_intf_mapping_002接口映射接口映射整体配置正确性检查接口映射配置数据均在Resources字段下,该字段为对象数组类型,可存在0到多个元素,每个对象元素一定存在Uri和Interfaces属性,Interfaces为对象数组类型,至少存在一个元素。严重(1%)接口映射配置文件(2%)存在如下问题:1、缺少Resources字段的定义。2、Resources字段应为数组类型,当前为(3%)类型。3、Resources的第(4%)个对象缺少(5%,6%)属性的配置。4、Resources的第(7%,8%)个对象的Interfaces应为数组类型,当前为(9%,10%)类型。5、Resources的第(11%,12%)个对象的Interfaces至少须存在一个元素。对应类型的接口无法正常生效。对(1%)接口映射配置文件(2%)做如下修改:1、补充Resources字段的定义。2、将Resources字段定义为数组类型。3、补充Resources中第(3%)个对象的(4%,5%)属性配置。4、将Resources的第(6%,7%)个对象的Interfaces改为数组类型。5、补充Resources中第(8%,9%)个对象的Interfaces定义,确保其至少存在一个元素。错误提示中:1、1%可取值:redfish、web-backend、cli、snmp2、5%,6%可取值:Uri、Interfaces
rule_intf_mapping_003接口映射接口映射引用语法整体正确性检查接口映射配置中,引用的语法格式为...,,UriReqBodyQueryProcessingFlowStatementsContextUri,{Uri/Id}。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法配置中存在不合法的引用配置(5%,6%)。接口映射中存在错误的引用配置,接口部分属性无法正确获取数据。确保(1%)接口映射配置文件(2%)的引用合规,具体规范参考:rule_intf_mapping_003错误提示中:1、1%可取值:redfish、web-backend、cli、snmp2、4%可取值:GET、PATCH、POST、DELETE3、5%,6%要打印出完整的引用内容。
rule_intf_mapping_004接口映射接口映射Uri引用语法正确性检查接口映射配置中,引用Uri的语法格式为${Uri/Id}, 其中Id为Uri中的动态参数。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法配置中存在对Uri的引用(5%),该引用中使用的动态参数(6%)在该接口的Uri(7%)中未定义。对Uri的引用无法生效,影响对应的接口功能。1、(1%)接口映射配置文件(2%)的第(3%)个对象对Uri的引用,只能使用(4%,5%)动态参数。2、(1%)接口映射配置文件(2%)的第(3%)个对象不能对Uri进行引用(无动态参数)。修复建议中:若Uri存在动态参数,则提示第一条,否则提示第二条。
rule_intf_mapping_005接口映射接口映射ReqBody引用语法正确性检查接口映射配置中,当存在请求体时,引用ReqBody的语法格式为${ReqBody/x/y}, 其中x和y分别为该请求体下对应层级的属性名称。支持属性为数组类型的引用写法,数组元素的下标只支持正整数和#INDEX,其中#INDEX只在ProcessingFlow中使用了Foreach关键字的对象里才能出现。若属性为对象数组类型,则引用了数组下标后可继续引用对象里的属性。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法配置中对ReqBody的引用(5%,6%)配置错误。对ReqBody的引用无法生效,影响对应的接口功能。确保(1%)接口映射配置文件(2%)中对ReqBody的引用合规,具体规范参考:rule_intf_mapping_005
rule_intf_mapping_006接口映射接口映射ProcessingFlow引用语法正确性检查接口映射配置中,引用ProcessingFlow的语法格式为${ProcessingFlow[index]/Destination/x},下标index从1开始,在ProcessingFlow定义的数组范围内,x为对应下标数组元素中定义在Destination下的属性。x后若存在诸如x[y]或x/y的写法无需校验。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法配置中对ProcessingFlow的引用(5%,6%)配置错误。对ProcessingFlow的引用无法生效,影响对应的接口功能。确保(1%)接口映射配置文件(2%)中对ProcessingFlow的引用合规,具体规范参考:rule_intf_mapping_006
rule_intf_mapping_007接口映射接口映射Statements引用语法正确性检查接口映射配置中,引用Statements的语法格式为${Statements/GetX()},GetX为定义在Statements中的计算表达式。GetX()后若存在GetX()[y]或GetX()/y的写法无需校验。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法配置中对Statements的引用(5%,6%)配置错误。对Statements的引用无法生效,影响对应的接口功能。确保(1%)接口映射配置文件(2%)中对Statements的引用合规,具体规范参考:rule_intf_mapping_007
rule_intf_mapping_008接口映射redfish接口映射Context引用语法正确性检查接口映射配置中,引用Context的语法格式为${Context/x},x的取值范围:Interface、 UserName、 ClientIp、Privilege、AccountId、RoleId、AuthType、Token。严重redfish接口映射配置文件(1%)的第(2%)个对象的(3%)方法配置中对Context的引用(4%,5%)存在非法字段(6%,7%,8%)。对Context的引用无法生效,影响对应的接口功能。redfish接口映射配置文件(1%)的第(2%)个对象配置中对Context的引用有效配置字段:Interface、 UserName、 ClientIp、Privilege、AccountId、RoleId、AuthType、Token。
rule_intf_mapping_009接口映射web-backend接口映射Context引用语法正确性检查接口映射配置中,引用Context的语法格式为${Context/x},x的取值范围:Interface、 UserName、 ClientIp、 Privilege、 AccountId、 RoleId、AuthType、 Token。严重web-backend接口映射配置文件(1%)的第(2%)个对象的(3%)方法配置中对Context的引用(4%,5%)存在非法字段(6%,7%,8%)。对Context的引用无法生效,影响对应的接口功能。web-backend接口映射配置文件(1%)的第(2%)个对象配置中对Context的引用有效配置字段:Interface、 UserName、 ClientIp、Privilege、AccountId、RoleId、AuthType、Token。
rule_intf_mapping_010接口映射cli接口映射Context引用语法正确性检查接口映射配置中,引用Context的语法格式为${Context/x},x的取值范围:Interface、 UserName、 ClientIp。严重cli接口映射配置文件(1%)的第(2%)个对象的(3%)方法配置中对Context的引用(4%,5%)存在非法字段(6%,7%,8%)。对Context的引用无法生效,影响对应的接口功能。cli接口映射配置文件(1%)的第(2%)个对象配置中对Context的引用有效配置字段:Interface、 UserName、 ClientIp。
rule_intf_mapping_011接口映射snmp接口映射Context引用语法正确性检查接口映射配置中,引用Context的语法格式为${Context/x},x的取值范围:Interface、 UserName、 ClientIp、 Privilege。严重snmp接口映射配置文件(1%)的第(2%)个对象的(3%)方法配置中对Context的引用(4%,5%)存在非法字段(6%,7%,8%)。对Context的引用无法生效,影响对应的接口功能。snmp接口映射配置文件(1%)的第(2%)个对象配置中对Context的引用有效配置字段:Interface、 UserName、 ClientIp、 Privilege。
rule_intf_mapping_012接口映射Redfish接口映射Uri配置正确性检查redfish接口映射配置中,Uri为长度不超过128的非空字符串,必填,由若干段非空字符串通过/拼接而成,首两段字符串必须为/redfish/v1,路径中可包含若干动态参数(通过:x表示,x为参数名),路径中每段字符串均为大驼峰格式(动态参数例外)。严重redfish接口映射配置文件(1%)的第(2%)个对象的(3%)方法配置的Uri(4%)存在如下问题:1、必填,当前缺少此字段配置。2、长度为不超过128的非空字符串,当前长度(5%)。3、路径中每段字符串须为大驼峰风格。Uri定义不规范影响规范管理,若缺失则整个接口功能无效。对redfish接口映射配置文件(1%)的第(2%)个对象的(3%)方法配置的Uri进行如下修改:1、补充Uri字段的定义。2、将长度改为不超过128的非空字符串。3、将路径的每段字符串改为大驼峰风格。“首两段字符串必须为/redfish/v1”这条规则不做校验。
rule_intf_mapping_013接口映射Web-backend接口映射Uri配置正确性检查web-backend接口映射配置中,Uri为长度不超过128的非空字符串,必填,由若干段非空字符串通过/拼接而成,首两段字符串必须为/UI/Rest,路径中可包含若干动态参数(通过:x表示,x为参数名),路径中每段字符串均为大驼峰格式(动态参数例外)。严重web-backend接口映射配置文件(1%)的第(2%)个对象的(3%)方法配置的Uri(4%)存在如下问题:1、必填,当前缺少此字段配置。2、长度为不超过128的非空字符串,当前长度(5%)。3、路径中每段字符串须为大驼峰风格。Uri定义不规范影响规范管理,若缺失则整个接口功能无效。对web-backend接口映射配置文件(1%)的第(2%)个对象的(3%)方法配置的Uri进行如下修改:1、补充Uri字段的定义。2、将长度改为不超过128的非空字符串。3、将路径的每段字符串改为大驼峰风格。“首两段字符串必须为/UI/Rest”这条规则不做校验。
rule_intf_mapping_014接口映射Cli接口映射Uri配置正确性检查cli接口映射配置中,Uri为长度不超过128的非空字符串,必填,由不超过4段非空字符串通过/拼接而成,首两段字符串必须为/cli/v1。严重cli接口映射配置文件(1%)的第(2%)个对象的(3%)方法配置的Uri(4%)存在如下问题:1、必填,当前缺少此字段配置。2、长度为不超过128的非空字符串,当前长度(5%)。3、应由不超过4段非空字符串通过/拼接而成,当前为(6%)段。Uri定义不规范影响规范管理,若缺失则整个接口功能无效。对cli接口映射配置文件(1%)的第(2%)个对象的(3%)方法配置的Uri进行如下修改:1、补充Uri字段的定义。2、将长度改为不超过128的非空字符串。3、修改定义,使其由不超过4段非空字符串通过/拼接而成。“首两段字符串必须为/cli/v1”这条规则不做校验,若Uri由/cli/v1开头,则需校验“由不超过4段非空字符串通过/拼接而成”这条规则。
rule_intf_mapping_015接口映射Snmp接口映射Uri配置正确性检查snmp接口映射配置中,Uri为长度不超过128的非空字符串,必填,由4段非空字符串通过/拼接而成,第一段固定为snmp,第二段为以1.3.6.1.4.1开头,格式为A.B.C.D.E…的非空字符串,A、B、C、D、E均为非负整数或引用环境变量的写法,第三段为小驼峰风格非空字符串,第四段取值范围:Readonly、Readwrite、Setonly严重snmp接口映射配置文件(1%)的第(2%)个对象配置的Uri(3%)存在如下问题:1、必填,当前缺少此字段配置。2、长度为不超过128的非空字符串,当前长度(4%)。3、应由4段非空字符串通过/拼接而成,当前为(5%)段。4、第二段配置不符合规范要求。5、第三段应为小驼峰风格的非空字符串,当前配置(6%)错误。6、第四段取值(7%)配置错误。Uri定义不规范影响规范管理,若缺失则整个接口功能无效。对snmp接口映射配置文件(1%)的第(2%)个对象配置的Uri(3%)做如下修改:1、补充Uri字段的定义。2、将长度改为不超过128的非空字符串。3、修改定义,使其由4段非空字符串通过/拼接而成。4、第二段配置规范见规则定义:rule_intf_mapping_015:。5、第三段改为大驼峰风格非空字符串。6、第四段取值范围:Readonly、Readwrite、Setonly。“第一段固定为snmp”这条规则不做校验,若Uri由/snmp开头,则需校验错误提示中3、4、5、6条规则。
rule_intf_mapping_016接口映射接口映射Uri配置唯一性检查接口映射Uri配置全局唯一。严重(1%)接口映射配置的文件(2%,3%,4%)中存在相同的Uri(5%)定义。接口定义冲突。修改文件(1%,2%,3%)的Uri定义,确保全局唯一。1、有个前提:满足redfish/web-backend/cli/snmp接口的uri才支持全局唯一性检查。2、1%可取值:redfish、web-backend、cli、snmp
rule_intf_mapping_017接口映射接口映射ResourceExist配置正确性检查接口映射配置中,ResourceExist字段为对象类型,包含1到多个元素,每个元素的键为来自Uri、ProcessingFlow、ReqBody或Statements的引用,值可为字符串、数值、bool类型的数据或#WITH、#WITHOUT常量。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法配置的ResourceExist字段存在如下问题:1、应为对象类型,当前为(5%)类型。2、至少包含1个元素。3、字段的对象配置,(6%,7%)键配置错误。接口请求时判断资源是否存在失败,导致接口请求的返回状态错误。对(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法配置的ResourceExist字段做如下修改:1、将字段配置为对象类型。2、字段中至少配置1个元素。3、字段的对象配置,每个元素的键为来自Uri、ProcessingFlow、ReqBody或Statements的引用。
rule_intf_mapping_018接口映射接口映射ResourceExist配置一致性检查接口映射配置中,若Uri存在动态参数,则该Uri下GET、POST、DELETE方法的映射必须配置ResourceExist字段。一般(1%)接口映射配置文件(2%)的第(3%)个对象的Uri(4%)存在动态参数,该对象的(5%,6%)方法配置中没有配置ResourceExist字段。接口请求时判断资源是否存在失败,导致接口请求的返回状态错误。补充(1%)接口映射配置文件(2%)的第(3%)个对象的(4%,5%)方法配置的ResourceExist字段配置。错误提示中:1、5%,6%可取值:GET、POST、DELETE
rule_intf_mapping_019接口映射redfish接口映射IgnoreEtags配置正确性检查接口映射配置中,IgnoreEtags为字符串数组类型,存在0或多个元素,数组元素由若干段非空字符串通过/拼接而成,每段字符串的取值对应该资源GET方法响应体对应位置的属性名。严重redfish接口映射配置文件(1%)的第(2%)个对象的IgnoreEtags字段存在如下问题:1、应为数组类型,当前为(3%)类型。2、元素(4%,5%)不能与该资源GET接口的响应体对应。属性屏蔽失败,可能会引起iBMC频繁发送事件,引起网管事件风暴。对redfish接口映射配置文件(1%)的第(2%)个对象的IgnoreEtags字段做如下修改:1、将字段配置为数组类型。2、删除元素(3%,4%)的配置。
rule_intf_mapping_020接口映射redfish接口映射IgnoreEtags配置有效性检查接口映射配置中,IgnoreEtags中描述的属性不能为:@odata开头的属性、Description、Id、Name、Actions、Links及子属性、Status及子属性、Schedule及子属性、Location及子属性、IPv6Address及子属性、IPv4Address及子属性。严重redfish接口映射配置文件(1%)的第(2%)个对象的IgnoreEtags字段中不能配置(3%,4%)属性。影响正常的业务事件上报,导致网管不能及时获取到iBMC的变更通知。删除redfish接口映射配置文件(1%)的第(2%)个对象的IgnoreEtags字段中(3%,4%)配置。
rule_intf_mapping_021接口映射接口映射Type配置正确性检查接口映射Type为必填字段,取值范围:GET、PATCH、POST、DELETE,不区分大小写,接口内唯一。严重(1%)接口映射配置文件(2%)的第(3%)个对象的Interfaces配置的第(4%)个元素存在如下问题:1、缺少Type字段的配置。2、Type字段(5%)配置错误。3、本接口内存在多个方法的Type配置为(6%)。Type不配置或配置错误,对应的北向接口无法访问,同一接口存在相同Type的方法则接口定义冲突。对(1%)接口映射配置文件(2%)的第(3%)个对象的Interfaces配置的第(4%)个元素做如下修改:1、补充Type字段的配置。2、Type字段取值范围:GET、PATCH、POST、DELETE。3、Interfaces内的元素对象,Type配置要唯一。
rule_intf_mapping_022接口映射接口映射RspBody配置正确性检查接口映射配置中,当Type取值为GET,则一定存在RspBody字段(Cli除外),该字段取值为对象或字符串类型,若为对象类型,则至少包含一个元素,元素名称不能重复,若为字符串类型,则须配置为Statements的引用写法。严重(1%)接口映射配置文件(2%)的第(3%)个对象的Interfaces配置的第(4%)个元素的RspBody字段存在如下问题:1、缺少此字段的配置。2、应为对象或字符串类型,当前为(5%)类型。3、至少包含1个属性元素。4、存在名称相同的属性(6%)。5、须配置为Statements的引用写法。配置错误,接口不能正常返回响应体。对(1%)接口映射配置文件(2%)对应接口的RspBody字段做如下修改:1、补充RspBody字段的配置。2、将字段配置为对象或字符串类型。3、响应体若为对象类型,则至少配置1个属性元素。4、确保属性在响应体内唯一。5、响应体若为字符串类型,则须配置为Statements的引用写法。
rule_intf_mapping_023接口映射接口映射LockdownAllow字段正确性检查接口映射配置中,LockdownAllow字段取值只能为true或false。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%,5%)方法的LockdownAllow字段(6%,7%)配置错误。影响在系统锁定时北向接口是否允许执行的正确判断。将(1%)接口映射配置文件(2%)的第(3%)个对象的(4%,5%)方法的LockdownAllow字段配置为true或false。错误提示中:1、4%,5%可取值:PATCH、POST、DELETE2、只检查方法层面的LockdownAllow字段,不检查属性层面的。
rule_intf_mapping_024接口映射接口映射ReqBody配置正确性检查接口映射配置中,ReqBody字段为对象类型,包含Type、Required和Properties三个必填属性,其中Type取值为""object"",Required取值为true,Properties为对象类型,对象元素名称不能重复。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的ReqBody字段存在如下问题:1、应为对象类型,当前为(5%)类型。2、缺少(6%,7%,8%)字段的配置。3、Type字段取值只能为“object”,当前取值(9%)。4、Required字段取值只能为true,当前取值(10%)。5、Properties字段应为对象类型,当前为(11%)类型。6、Properties中存在重复属性(12%,13%)。请求体属性不能正常解析,通常只会影响PATCH、POST接口。对(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的ReqBody字段做如下修改:1、将字段配置为对象类型。2、补充(6%,7%,8%)字段的配置。3、将Type字段取值改为“object”。4、将Required字段取值改为true。5、将Properties字段配置为对象类型。6、确保Properties中属性命名唯一。错误提示中:1、6%,7%,8%可取值:GET、PATCH、POST、DELETE
rule_intf_mapping_025接口映射接口映射ReqBody配置一致性检查redfish接口映射中,Get和Delete方法的配置不能存在ReqBody字段,Patch方法的配置一定存在ReqBody字段,Post方法的配置若为创建资源则须存在ReqBody字段,Action可以不存在ReqBody字段;web-backend和snmp接口映射中,Patch和Post接口均须配置ReqBody字段;一般(1%)接口映射配置文件(2%)的第(3%)个对象存在如下问题:1、GET方法不能配置ReqBody字段。2、DELETE方法不能配置ReqBody字段。3、PATCH方法缺少ReqBody字段的配置。4、POST方法缺少ReqBody字段的配置。北向接口缺少或冗余配置ReqBody字段,接口定义错误,影响接口的正确性。对(1%)接口映射配置文件(2%)的第(3%)个对象做如下修改:1、GET方法中删除ReqBody字段的配置。2、DELETE方法中删除ReqBody字段的配置。3、PATCH方法中补充ReqBody字段的配置。4、POST方法中补充ReqBody字段的配置。
rule_intf_mapping_026接口映射接口映射请求体属性LockdownAllow字段正确性检查接口映射配置中,请求体属性LockdownAllow字段为选填,取值只能为true或false。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的请求体属性(5%,6%)的LockdownAllow字段(7%,8%)配置错误。影响在系统锁定时北向接口是否允许执行的正确判断。将(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的请求体属性的LockdownAllow字段配置为true或false。
rule_intf_mapping_027接口映射接口映射请求体属性Type字段正确性检查接口映射配置中,请求体属性Type字段为必填,字符串或字符串数组类型,取值范围:string、integer、number、object、array、boolean、null。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的请求体属性(5%)的Type字段存在如下问题:1、缺少此字段的配置。2、应为字符串或数组类型,当前为(6%)类型。3、类型取值(7%,8%)为非法数据。北向接口请求体的属性类型无法解析,影响该属性的正常设置。对(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的请求体属性(5%)做如下修改:1、补充Type字段的配置。2、将Type字段改为字符串或数组类型。3、Type字段取值范围:string、integer、number、object、array、boolean、null。
rule_intf_mapping_028接口映射接口映射请求体属性Required字段正确性检查接口映射配置中,请求体属性Required字段为选填,取值只能为true或false。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的请求体属性(5%,6%)的Required字段(7%,8%)配置错误。影响框架对北向接口请求体属性必填特征的判断。将(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的请求体属性(5%,6%)的Required字段配置为true或false。
rule_intf_mapping_029接口映射接口映射请求体属性Sensitive字段正确性检查接口映射配置中,请求体属性Sensitive字段为选填,取值只能为true。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的请求体属性(5%,6%)的Sensitive字段(7%,8%)配置错误。影响框架对北向接口请求体属性敏感性特征的判断。将(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的请求体属性(5%,6%)的Sensitive字段配置为true。
rule_intf_mapping_030接口映射接口映射请求体object类型的属性配置正确性检查接口映射配置中,请求体属性的Type取值若为object,则该属性下必定存在Properties字段的配置,Properties字段为非空对象类型。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的请求体属性(5%)存在如下问题:1、缺少Properties字段的配置。2、Properties应为对象类型,当前为(6%)类型。3、Properties至少须包含1个对象元素。北向接口请求体的属性类型无法解析,影响该属性的正常设置。对(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的请求体属性(5%)的Properties字段做如下修改:1、补充Properties字段的配置。2、将Properties字段配置为对象类型。3、补充Properties对象元素的配置,至少须包含1个元素。
rule_intf_mapping_031接口映射接口映射请求体array类型的属性配置正确性检查接口映射配置中,请求体属性的Type取值若为array,则该属性下必定存在Items字段的配置,Items字段为非空对象类型或非空对象数组类型,可能存在uniqueItems、minItems和maxItems字段的配置,uniqueItems取值为true或false,minItems和maxItems取值为正整数,若minItems和maxItems同时存在,则minItems不应该大于maxItems。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的请求体属性(5%)存在如下问题:1、缺少Items字段的配置。2、Items应为对象或数组类型,当前为(6%)类型。3、Items字段中至少须包含1个元素。4、(7%,8%)字段取值(9%,10%)配置错误。5、minItems取值(11%)不应该大于maxItems取值(12%)。北向接口请求体的属性类型无法解析,影响该属性的正常设置。对(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的请求体属性(5%)做如下修改:1、补充Items字段的配置。2、将Items字段配置为对象或数组类型。3、补充Items字段的配置,至少须包含1个元素。4、将(7%,8%)字段取值按规范配置。5、将minItems取值配置为小于等于maxItems。错误提示中:7%,8%可取值:uniqueItems、minItems、maxItems
rule_intf_mapping_032接口映射接口映射请求体Validator配置正确性检查接口映射配置中,请求体属性可配置Validator字段,该字段为对象数组类型,至少存在一个元素,对象元素中Type字段为必填,Formula为选填,不存在其它字段。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的请求体属性(5%)的Validator字段存在如下问题:1、应为数组类型,当前为(6%)类型。2、至少存在1个元素。3、第(7%,8%)个元素缺少Type字段的配置。4、第(9%,10%)个元素存在非法字段(11%,12%)。北向接口请求体属性的校验规则配置错误,可能流入错误数据。对(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的请求体属性(5%)的Validator字段做如下修改:1、将字段改为数组类型。2、补充字段配置,至少存在1个元素。3、补充第(6%,7%)个元素中Type字段的配置。4、删除第(8%,9%)个元素中的非法字段。
rule_intf_mapping_033接口映射接口映射请求体Validator配置有效性检查接口映射的请求体配置,若属性为object、array或boolean类型,则该属性不可配置校验规则;若属性为string类型,则可配置Enum、Length、Regex、IPFormat、Nonempty和Script校验规则;若属性为integer或number类型,则可配置Enum、Range、Script校验规则;若属性为上述类型与null的组合类型,则检查规则与组合类型中非null的类型一致。一般(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的请求体属性(5%)存在如下问题:1、属性为object、array或boolean类型不可配置Validator字段。2、Validator字段中包含错误的校验规则(6%,7%)。北向接口请求体属性的校验规则配置错误,可能流入错误数据。对(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的请求体属性(5%)做如下修改:1、删除Validator字段的配置。2、当前属性为(6%,7%)类型,只可配置(8%,9%,10%)校验规则。
rule_intf_mapping_034接口映射接口映射请求体Enum校验正确性检查接口映射配置中,对于请求体属性Validator字段的任意对象元素,若Type字段取值为Enum,则Formula字段必填,数组类型,每个数组元素的值类型与该请求体属性的类型一致。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的请求体属性(5%)的Enum校验存在如下问题:1、缺少Formula字段的配置。2、Formula应为数组类型,当前为(6%)类型。3、Formula中的(7%,8%)元素类型与属性类型(9%)不一致。北向接口请求体属性的Enum校验规则配置错误,可能流入错误数据。对(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的请求体属性(5%)的Enum校验做如下修改:1、补充Formula字段的配置。2、将Formula配置为数组类型。3、修改或删除Formula中(7%,8%)元素的配置。
rule_intf_mapping_035接口映射接口映射请求体Length校验正确性检查接口映射配置中,对于请求体属性Validator字段的任意对象元素,若Type字段取值为Length,则Formula字段必填,数组类型,包含两个数组元素,元素取值可为null或不小于0的整数,若两个元素取值均为整数,则第二个元素的取值不小于第一个元素的取值。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的请求体属性(5%)的Length校验存在如下问题:1、缺少Formula字段的配置。2、Formula应为数组类型,当前为(6%)类型。3、Formula中应配置2个元素,当前存在(7%)个元素。4、Formula中第(8%,9%)个元素(10%,11%)配置错误。5、Formula中第1个元素取值(12%)不能大于第2个元素取值(13%)。北向接口请求体属性的Length校验规则配置错误,可能流入错误数据。对(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的请求体属性(5%)的Length校验做如下修改:1、补充Formula字段的配置。2、将Formula配置为数组类型。3、确保Formula中只配置2个元素。4、修改Formula中第(8%,9%)个元素的配置,确保其为null或不小于0的整数。5、确保Formula中第1个元素小于或等于第2个元素。
rule_intf_mapping_036接口映射接口映射请求体Range校验正确性检查接口映射配置中,对于请求体属性Validator字段的任意对象元素,若Type字段取值为Range,则Formula字段必填,数组类型,包含两个数组元素,元素取值可为null或整数,若两个元素取值均为整数,则第二个元素的取值不小于第一个元素的取值。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的请求体属性(5%)的Range校验存在如下问题:1、缺少Formula字段的配置。2、Formula应为数组类型,当前为(6%)类型。3、Formula中应配置2个元素,当前存在(7%)个元素。4、Formula中第(8%,9%)个元素(10%,11%)配置错误。5、Formula中第1个元素取值(12%)不能大于第2个元素取值(13%)。北向接口请求体属性的Range校验规则配置错误,可能流入错误数据。对(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的请求体属性(5%)的Range校验做如下修改:1、补充Formula字段的配置。2、将Formula配置为数组类型。3、确保Formula中只配置2个元素。4、修改Formula中第(8%,9%)个元素的配置,确保其为null或整数。5、确保Formula中第1个元素小于或等于第2个元素。
rule_intf_mapping_037接口映射接口映射请求体Regex校验正确性检查接口映射配置中,对于请求体属性Validator字段的任意对象元素,若Type字段取值为Regex,则Formula字段必填,取值为长度不大于128的非空字符串。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的请求体属性(5%)的Regex校验存在如下问题:1、缺少Formula字段的配置。2、Formula应为字符串类型,当前为(6%)类型。3、Formula应为长度不大于128的非空字符串,当前长度为(7%)。北向接口请求体属性的Regex校验规则配置错误,可能流入错误数据。对(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的请求体属性(5%)的Regex校验做如下修改:1、补充Formula字段的配置。2、将Formula配置为字符串类型。3、将Formula配置为长度不大于128的非空字符串。
rule_intf_mapping_038接口映射接口映射请求体IPFormat校验正确性检查接口映射配置中,对于请求体属性Validator字段的任意对象元素,若Type字段取值为IPFormat,则不存在Formula字段的配置。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的请求体属性(5%,6%)的IPFormat校验规则中不应该存在Formula字段的配置。标准化规范定义。删除(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的请求体属性(5%,6%)的IPFormat校验规则中Formula字段的配置。
rule_intf_mapping_039接口映射接口映射请求体Script校验正确性检查接口映射配置中,对于请求体属性Validator字段的任意对象元素,若Type字段取值为Script,则Formula字段必填,取值为lua代码或文件路径,若为文件路径,需校验路径文件是否存在。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的请求体属性(5%)的Script校验存在如下问题:1、缺少Formula字段的配置。2、Formula中配置的文件路径(6%)不存在。北向接口请求体属性的Script校验规则配置错误,可能流入错误数据。对(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的请求体属性(5%)的Script校验做如下修改:1、补充Formula字段的配置。2、补充(6%)文件的定义。
rule_intf_mapping_040接口映射cli接口映射Echoes配置有效性检查cli接口映射中,Echoes字段为字符串数组类型,元素取值所描述的文件需存在定义(空串例外)。严重cli接口映射配置文件(1%)的第(2%)个对象的(3%)方法的Echoes字段存在如下问题:1、应为数组类型,当前为(4%)类型。2、配置的(5%,6%)文件路径不存在。命令行的回显不能正常显示。对cli接口映射配置文件(1%)的第(2%)个对象的(3%)方法的Echoes字段做如下修改:1、将字段改为数组类型。2、补充(4%,5%)文件路径的定义。
rule_intf_mapping_041接口映射snmp接口映射Sequence配置正确性检查snmp接口映射中,Sequence字段为对象数组类型,至少存在一个元素,对象元素一定存在Name、Type、Access字段的配置,可能存在Primary的配置。其中Name字段取值在本Sequence配置中唯一,Type字段取值可为string、integer、IpAddress、ObjectIdentifier,Access取值可为Readonly、Setonly、Readwrite,Primary取值只能为true,且在当前Sequence配置中至少存在一个元素配置了Primary字段。严重snmp接口映射配置文件(1%)的第(2%)个对象的Sequence字段存在如下问题:1、应为数组类型,当前为(3%)类型。2、至少须存在1个元素。3、第(4%,5%)个元素缺少(6%,7%)字段的配置。4、Name字段存在重复配置(8%,9%)。5、第(10%,11%)个元素中的Type字段(12%,13%)配置错误。6、第(14%,15%)个元素中的Access字段(16%,17%)配置错误。7、第(18%,19%)个元素中的Primary字段(20%,21%)配置错误。8、不存在元素配置了Primary字段。对应的snmp北向接口不能正常工作。对snmp接口映射配置文件(1%)的第(2%)个对象的Sequence字段做如下修改:1、将字段改为数组类型。2、补充Sequence字段配置,确保其至少存在1个元素。3、确保每个元素均存在Name、Type、Access字段的配置。4、确保Sequence中Name取值唯一。5、元素中Type字段取值范围:string、integer、IpAddress、ObjectIdentifier。6、元素中Access字段取值范围:Readonly、Setonly、Readwrite。7、元素中Primary字段取值只能为true。8、至少存在一个元素配置了Primary字段。错误提示中6%,7%可取值:Name、Type、Access
rule_intf_mapping_042接口映射redfish接口映射厂商定制正确性检查redfish接口映射中,Uri、ReqBody属性、RspBody属性不能出现厂商字段。严重(1%)接口映射配置文件(2%)的第(3%)个对象存在如下问题:1、Uri中存在(4%)字段。2、(5%)方法的(6%,7%)中存在(8%)字段。接口耦合。使用接口映射配置中的全局变量机制替代厂商字段,通常配置为方式,其中OemIdentifier需在本仓库的(1%)接口目录下的config.json中配置。错误提示中:6%,7%可取值:ReqBody、RspBody
rule_intf_mapping_043接口映射接口映射全局变量有效性检查接口映射配置中,全局变量引用写法为,var为定义在对应接口映射仓库中config.json文件里的环境变量。严重(1%)接口映射配置文件(2%)的第(3%)个对象存在如下问题:1、Uri中存在无效的全局变量配置(4%)。2、(5%)方法的(6%,7%)中存在无效的全局变量配置(8%,9%)。北向接口的Uri、ReqBody或RspBody无法完成有效的变量替换,影响接口的正确性访问。在本仓库的(1%)接口目录下的config.json中配置(2%,3%,4%)环境变量。错误提示中:6%,7%可取值:ReqBody、RspBody
rule_intf_mapping_044接口映射接口映射Statements配置正确性检查接口映射配置中,Statements为对象类型,包含0到多个元素,元素名称不能重复,每个元素的配置必定存在Steps字段,可能存在Input字段。Input字段为字符串或字符串数组类型,Steps为对象数组类型,每个数组元素必定存在Type字段的,可能存在Formula字段,Type字段取值范围:Prefix-Add、 Prefix-Trim、 Suffix-Add、 Suffix-Trim、Count、Convert、DateFormat、 L-Pair、 Switch、 Expand、 Script、 Plugin。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的Statements字段存在如下问题:1、应为对象类型,当前为(5%)类型。2、存在重名元素(6%,7%)。3、元素(8%,9%)中未配置必填属性Steps。4、元素(10%,11%)中的Steps应为数组类型,当前为(12%,13%)类型。5、元素(14%,15%)中的Input应为字符串或数组类型,当前为(16%,17%)类型。6、元素(18%,19%)的Steps中,第(20%,21%)个对象配置不存在Type字段的定义。7、元素(22%,23%)的Steps中存在非法的Type配置(24%,25%,26%)。北向接口中引用的Statements字段无法正确获取数据,北向接口功能异常。对(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的Statements字段做如下修改:1、将字段改为对象类型。2、修改重名元素(5%,6%)的名称,确保唯一。3、元素(7%,8%)中补充Steps字段的配置。4、将元素(9%,10%)中的Steps改为数组类型。5、将元素(11%,12%)中的Input改为字符串或数组类型。6、补充元素(13%,14%)的Steps中第(15%,16%)个对象的Type字段配置。7、修改元素(17%,18%)的Steps中非法Type的配置,取值范围:Prefix-Add、 Prefix-Trim、 Suffix-Add、 Suffix-Trim、Count、Convert、DateFormat、 L-Pair、 Switch、 Expand、 Script、 Plugin。
rule_intf_mapping_045接口映射接口映射Statements配置有效性检查接口映射配置中,在Statements中定义的计算表达式均需在该方法的映射配置中被引用。提示(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的Statements定义(5%,6%)未被引用。若为冗余数据则无影响,若为配置缺失则影响接口功能。删除(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的Statements中定义的(5%,6%),或补充对上述定义的引用。
rule_intf_mapping_046接口映射接口映射Prefix-Add规则正确性检查接口映射配置的Statements中,定义在Steps中的每个对象元素,当Type为Prefix-Add时,Formula必填,取值为长度不大于128的非空字符串。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的Statements定义(5%)的Prefix-Add配置存在如下问题:1、缺少Formula字段的配置。2、Formula取值为长度不大于128的非空字符串,当前长度(6%)。北向接口中引用的Statements字段无法正确获取数据,北向接口功能异常。对(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的Statements定义(5%)的Prefix-Add配置做如下修改:1、补充Formula字段的配置。2、将Formula配置为长度不大于128的非空字符串。
rule_intf_mapping_047接口映射接口映射Prefix-Trim规则正确性检查接口映射配置的Statements中,定义在Steps中的每个对象元素,当Type为Prefix-Trim时,Formula必填,取值为长度不大于128的非空字符串。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的Statements定义(5%)的Prefix-Trim配置存在如下问题:1、缺少Formula字段的配置。2、Formula取值为长度不大于128的非空字符串,当前长度(6%)。北向接口中引用的Statements字段无法正确获取数据,北向接口功能异常。对(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的Statements定义(5%)的Prefix-Trim配置做如下修改:1、补充Formula字段的配置。2、将Formula配置为长度不大于128的非空字符串。
rule_intf_mapping_048接口映射接口映射Suffix-Add规则正确性检查接口映射配置的Statements中,定义在Steps中的每个对象元素,当Type为Suffix-Add时,Formula必填,取值为长度不大于128的非空字符串。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的Statements定义(5%)的Suffix-Add配置存在如下问题:1、缺少Formula字段的配置。2、Formula取值为长度不大于128的非空字符串,当前长度(6%)。北向接口中引用的Statements字段无法正确获取数据,北向接口功能异常。对(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的Statements定义(5%)的Suffix-Add配置做如下修改:1、补充Formula字段的配置。2、将Formula配置为长度不大于128的非空字符串。
rule_intf_mapping_049接口映射接口映射Suffix-Trim规则正确性检查接口映射配置的Statements中,定义在Steps中的每个对象元素,当Type为Suffix-Trim时,Formula必填,取值为长度不大于128的非空字符串。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的Statements定义(5%)的Suffix-Trim配置存在如下问题:1、缺少Formula字段的配置。2、Formula取值为长度不大于128的非空字符串,当前长度(6%)。北向接口中引用的Statements字段无法正确获取数据,北向接口功能异常。对(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的Statements定义(5%)的Suffix-Trim配置做如下修改:1、补充Formula字段的配置。2、将Formula配置为长度不大于128的非空字符串。
rule_intf_mapping_050接口映射接口映射Count规则正确性检查接口映射配置的Statements中,定义在Steps中的每个对象元素,当Type为Count时,Formula不存在。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的Statements定义(5%)的Count配置不应存在Formula字段。标准化规范定义。删除(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的Statements定义(5%)的Count配置中的Formula字段。
rule_intf_mapping_051接口映射接口映射Convert规则正确性检查接口映射配置的Statements中,定义在Steps中的每个对象元素,当Type为Convert时,Formula必填,取值范围:NumberToBool、 BoolToNumber、NumberToString、StringToNumber、 FloatToInteger、 ToHex、 Tohex。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的Statements定义(5%)的Convert配置存在如下问题:1、缺少Formula字段的配置。2、Formula字段(6%)配置错误。北向接口中引用的Statements字段无法正确获取数据,北向接口功能异常。对(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的Statements定义(5%)的Convert配置做如下修改:1、补充Formula字段的配置。2、Formula字段取值范围:NumberToBool、 BoolToNumber、NumberToString、StringToNumber、 FloatToInteger、 ToHex、 Tohex。
rule_intf_mapping_052接口映射接口映射DateFormat规则正确性检查接口映射配置的Statements中,定义在Steps中的每个对象元素,当Type为DateFormat时,Formula必填,数组类型,存在两个元素,第一个元素为长度不大于64的非空字符串,第二个元素取值为true或false。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的Statements定义(5%)的DateFormat配置存在如下问题:1、缺少Formula字段的配置。2、Formula字段应为数组类型,当前为(6%)类型。3、Formula字段应配置2个元素,当前配置(7%)个元素。4、Formula字段第1个元素应为长度不大于64的非空字符串,当前长度(8%)。4、Formula字段第2个元素(9%)配置错误。北向接口中引用的Statements字段无法正确获取数据,北向接口功能异常。对(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的Statements定义(5%)的DateFormat配置做如下修改:1、补充Formula字段的配置。2、将Formula字段配置为数组类型。3、修改Formula字段配置,确保其包含2个元素。4、修改Formula字段第1个元素的配置,确保其为长度不大于64的非空字符串。4、Formula字段第2个元素只能配置为true或false。
rule_intf_mapping_053接口映射接口映射L-Pair规则正确性检查接口映射配置的Statements中,定义在Steps中的每个对象元素,当Type为L-Pair时,Formula必填,取值为长度不大于64的非空字符串。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的Statements定义(5%)的L-Pair配置存在如下问题:1、缺少Formula字段的配置。2、Formula取值为长度不大于64的非空字符串,当前长度(6%)。北向接口中引用的Statements字段无法正确获取数据,北向接口功能异常。对(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的Statements定义(5%)的L-Pair配置做如下修改:1、补充Formula字段的配置。2、将Formula配置为长度不大于64的非空字符串。
rule_intf_mapping_054接口映射接口映射Switch规则正确性检查接口映射配置的Statements中,定义在Steps中的每个对象元素,当Type为Switch时,Formula必填,对象数组类型, 对象元素包含Case和To两个字段, 最多允许一个对象不存在Case。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的Statements定义(5%)的Switch配置存在如下问题:1、缺少Formula字段的配置。2、Formula应为数组类型,当前配置为(6%)类型。3、Formula字段配置错误。北向接口中引用的Statements字段无法正确获取数据,北向接口功能异常。对(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的Statements定义(5%)的Switch配置做如下修改:1、补充Formula字段的配置。2、修改Formula为数组类型。3、Formula字段配置规则:对象元素包含Case和To两个字段, 最多允许一个对象不存在Case。
rule_intf_mapping_055接口映射接口映射Expand规则正确性检查接口映射配置的Statements中,定义在Steps中的每个对象元素,当Type为Expand时,Formula选填,取值为数字1或字符串""1""。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的Statements定义(5%)的Expand配置中的Formula字段(6%)取值错误。北向接口中引用的Statements字段无法正确获取数据,北向接口功能异常。修改(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的Statements定义(5%)的Expand配置中的Formula字段取值为数字1或字符串""1""。
rule_intf_mapping_056接口映射接口映射Script规则正确性检查接口映射配置的Statements中,定义在Steps中的每个对象元素,当Type为Script时,Formula必填,取值为lua代码或文件路径,若为文件路径,需校验路径文件是否存在。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的Statements定义(5%)的Script配置存在如下问题:1、缺少Formula字段的配置。2、Formula中配置的(6%)文件未定义。北向接口中引用的Statements字段无法正确获取数据,北向接口功能异常。对(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的Statements定义(5%)的Script配置做如下修改:1、补充Formula字段的配置。2、补充(6%)文件的定义。
rule_intf_mapping_057接口映射接口映射Script文件正确性检查接口映射的Script文件中,若出现Uri、ReqBody、ProcessingFlow的引用,需检查引用数据的有效性,分别满足:1、Uri引用,格式Uri.Id,其中Id为Uri中的动态参数。2、ReqBody引用,格式ReqBody.x.y,其中x和y分别为该请求体下对应层级的属性名称,支持数组类型属性的下标引用写法。3、ProcessingFlow引用,格式ProcessingFlowProcessingFlow[index].Destination.x,下标index从1开始,在ProcessingFlow定义的数组范围内,x为对应下标数组元素中定义在Destination下的属性。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法引用的(5%)文件存在如下问题:1、引用的动态参数(6%,7%)在Uri(8%)中未定义。2、引用的属性(9%,10%)在ReqBody中未定义。3、引用的字段(11%,12%)在ProcessingFlow中未定义。北向接口中引用的Statements字段无法正确获取数据,北向接口功能异常。对(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法引用的(5%)文件做如下修改:1、删除对Uri动态参数(6%,7%)的引用,或在Uri中补充上述动态参数。2、删除对ReqBody属性(9%,10%)的引用,或在ReqBody中补充上述属性定义。3、删除对ProcessingFlow中字段(11%,12%)的引用,或在ProcessingFlow中补充上述字段的定义。
rule_intf_mapping_058接口映射接口映射Script文件有效性检查接口映射中定义的Script文件均须在映射配置中被引用。提示(1%)接口映射配置中存在未被引用的Sript文件(2%,3%)。无效配置,影响模型的维护与理解。删除(1%,2%)冗余文件,或补充接口映射配置对上述文件的引用。
rule_intf_mapping_059接口映射接口映射Plugin规则正确性检查接口映射配置的Statements中,定义在Steps中的每个对象元素,当Type为Plugin时,Formula必填,取值为文件路径.函数(参数1, 参数2, ...)的调用格式,需校验路径文件是否存在,需校验函数是否在路径文件中定义,需校验入参个数是否和函数定义的参数个数匹配。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的Statements定义(5%)的Plugin配置存在如下问题:1、缺少Formula字段的配置。2、Formula配置(6%)格式错误。3、Formula中引用的路径文件(7%)未定义。4、Formula中引用的函数(8%)在文件(9%)中未定义。5、Formula中引用的函数(10%)参数和函数定义不匹配。北向接口中引用的Statements字段无法正确获取数据,北向接口功能异常。对(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的Statements定义(5%)的Plugin配置做如下修改:1、补充Formula字段的配置。2、修改Formula为正确格式:文件路径.函数(参数1, 参数2, ...)。3、补充文件(6%)的定义。4、补充函数(7%)在文件(8%)中的定义。5、Formula中引用函数(9%)的参数须和定义一致。
rule_intf_mapping_060接口映射接口映射Plugin文件有效性检查接口映射中定义的Plugin文件均须在映射配置中被引用。提示(1%)接口映射配置中存在未被引用的Plugin文件(2%,3%)。无效配置,影响模型的维护与理解。删除(1%,2%)冗余文件,或补充接口映射配置对上述文件的引用。
rule_intf_mapping_061接口映射接口映射Plugin函数有效性检查接口映射中定义在Plugin文件中的函数均须在映射配置中被引用。提示(1%)接口映射的Plugin文件(2%)的(3%,4%)函数未被引用。无效配置,影响模型的维护与理解。删除(1%)接口映射的Plugin文件(2%)的(3%,4%)函数。
rule_intf_mapping_062接口映射接口映射ProcessingFlow配置正确性检查接口映射配置中,ProcessingFlow为对象数组类型,包含0到多个元素,每个对象元素必定存在Type字段,字段取值范围:Property、Method、List、Task、Paging。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的ProcessingFlow字段定义存在如下问题:1、应为数组类型,当前为(5%)类型。2、第(6%,7%)个元素缺少Type字段的配置。3、第(8%,9%)个元素的Type字段(10%,11%)配置错误。北向接口无法从资源树获取或写入数据,影响正常的接口功能。对(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的ProcessingFlow字段做如下修改:1、将字段配置为数组类型。2、补充第(6%,7%)个元素中Type字段的配置。3、第(8%,9%)个元素中Type取值范围:Property、Method、List、Task、Paging。
rule_intf_mapping_063接口映射接口映射ProcessingFlow配置有效性性检查接口映射配置中,定义在ProcessingFlow中的配置均需被引用(引用下标从1开始),引用位置包括:RspBody、Statements、ProcessingFlow、Script脚本、Plugin函数入参。提示(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的ProcessingFlow中的第(5%,6%)个元素未被引用。无效配置,影响模型的维护与理解。删除(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的ProcessingFlow中的第(5%,6%)个元素,注意对后置元素的引用下标要同步修改。
rule_intf_mapping_064接口映射接口映射ProcessingFlow中Property映射配置正确性检查接口映射配置中,定义在ProcessingFlow中的对象元素,当Type取值为Property,则该元素中必定存在Path、Interface字段的配置,Destination和Source字段有且只能存在一个。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的ProcessingFlow中的第(5%)个元素配置存在如下问题:1、缺少(6%,7%)字段的配置。2、缺少Destination或Source字段的配置。3、Destination和Source不能同时配置。北向接口对资源树的属性访问失败,影响北向接口正常功能。对(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的ProcessingFlow中的第(5%)个元素配置做如下修改:1、补充(6%,7%)字段的配置。2、按实际诉求补充Destination或Source字段的配置,从资源树读取数据配置Destination,向资源树写入数据配置Source。3、Destination和Source字段保留一个。错误提示中:6%,7%可取值:Path、Interface
rule_intf_mapping_065接口映射接口映射ProcessingFlow中Method映射配置正确性检查接口映射配置中,定义在ProcessingFlow中的对象元素,当Type取值为Method,则该元素中必定存在Path、Interface、Name字段的配置,可能存在Params和Destination字段的配置,不能存在Source字段。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的ProcessingFlow中的第(5%)个元素配置存在如下问题:1、缺少(6%,7%)字段的配置。2、不能存在Source字段的配置。北向接口对资源树的方法访问失败,影响北向接口正常功能。对(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的ProcessingFlow中的第(5%)个元素配置做如下修改:1、补充(6%,7%)字段的配置。2、删除Source字段的配置。错误提示中:6%,7%可取值:Path、Interface、Name
rule_intf_mapping_066接口映射接口映射ProcessingFlow中List映射配置正确性检查接口映射配置中,定义在ProcessingFlow中的对象元素,当Type取值为List,则该元素中必定存在Path和Destination字段的配置,可能存在Interface和Params字段的配置。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的ProcessingFlow中的第(5%)个元素缺少(6%,7%)字段的配置。北向接口对资源树的方法访问失败,影响北向接口正常功能。补充(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的ProcessingFlow中的第(5%)个元素的(6%,7%)字段配置。错误提示中:6%,7%可取值:Path、Destination
rule_intf_mapping_067接口映射接口映射ProcessingFlow中Task映射配置正确性检查接口映射配置中,定义在ProcessingFlow中的对象元素,当Type取值为Task,则该元素中必定存在Path、Interface、Name、Destination字段的配置,可能存在Params字段的配置,不能存在Source字段。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的ProcessingFlow中的第(5%)个元素配置存在如下问题:1、缺少(6%,7%)字段的配置。2、不能存在Source字段的配置。北向接口对资源树的方法访问失败,影响北向接口正常功能。对(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的ProcessingFlow中的第(5%)个元素配置做如下修改:1、补充(6%,7%)字段的配置。2、删除Source字段的配置。错误提示中:6%,7%可取值:Path、Interface、Name、Destination
rule_intf_mapping_068接口映射接口映射ProcessingFlow中Path字段配置正确性检查接口映射配置中,定义在ProcessingFlow对象元素中的Path字段,取值可为Statements或ProcessingFlow的来源引用,也可为/bmc开头的资源树路径(包含引用拼接写法)。若为资源树路径,则需校验路径是否存在定义;若为Statements引用,则需校验引用的计算表达式是否存在定义;若为ProcessingFlow引用,则需校验引用来源的合法性,具体包含:1、满足ProcessingFlow引用语法,且下标合法,仅支持向前引用。2、被引用的ProcessingFlow元素只能为List或Method映射,若为Method映射,则该映射必须满足Path取值为/bmc/kepler/MdbService,Interface取值为bmc.kepler.Mdb,Name取值为GetPath 。严重1、(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的ProcessingFlow中的第(5%)个元素的Path字段(6%)未在资源树对象中定义。2、(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的ProcessingFlow中的第(5%)个元素的Path字段(6%)未在Statements中定义。3、(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的ProcessingFlow中的第(5%)个元素的Path字段(6%)对ProcessingFlow的引用不合法。北向接口对资源树的访问失败,影响北向接口正常功能。1、补充资源树对象(6%)的定义。2、在(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的Statements中补充(5%)的定义。3、按照规范rule_intf_mapping_068的描述修复问题。错误提示中1、2、3不会同时存在。
rule_intf_mapping_069接口映射接口映射ProcessingFlow中Interface字段配置正确性检查接口映射配置中,定义在ProcessingFlow对象元素中的Interface字段,取值为有效的资源树接口,且同级配置下的Path(配置为资源树路径格式)实现了此接口。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的ProcessingFlow中的第(5%)个元素的Interface字段(6%)存在如下问题:1、未在资源树接口中定义。2、同级配置下的Path(7%)未实现此接口。北向接口对资源树的访问失败,影响北向接口正常功能。对(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的ProcessingFlow中的第(5%)个元素的Interface字段做如下修改:1、在资源树接口中补充此字段的定义。2、补充资源树对象(6%)对此接口的实现。
rule_intf_mapping_070接口映射接口映射ProcessingFlow中Interface字段配置有效性检查接口映射配置中,定义在ProcessingFlow对象元素中的Interface一定在组件的MDS中被管理。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的ProcessingFlow中的第(5%,6%)个元素中的Interface(7%,8%)未在组件的MDS中被管理。北向接口对资源树的访问失败,影响北向接口正常功能。在组件的MDS中补充对(1%,2%)资源树对象的管理。特别注意:1、若同级配置下的Path为资源树路径,则校验该路径被MDS管理即可(不是校验Interface被MDS管理)。2、若同级配置下的Path为Statements或ProcessingFlow的来源引用,则校验实现该Interface的Path,至少1个被MDS管理即可。
rule_intf_mapping_071接口映射接口映射ProcessingFlow中Destination字段配置正确性检查接口映射配置中,定义在ProcessingFlow对象元素中的Destination字段为对象类型,存在0或多个元素,满足如下校验:1、当映射类型为Property,则Destination中的key均在同级配置下的Interface属性里定义。2、当映射类型为Method,则Destination中的key均在同级配置下的Interface方法的响应体中定义。3、当映射类型为List,则Destination只有一个key为Members的元素。4、当映射类型为Task,则Destination只有一个key为TaskId的元素。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的ProcessingFlow中的第(5%)个元素的Destination字段存在如下问题:1、应为对象类型,当前为(6%)类型。2、(7%,8%)未在同级配置下的Interface(9%)的属性里定义。2、(10%,11%)未在同级配置下的Interface(12%)的(13%)方法的响应体中定义。3、缺少Members字段的配置,存在冗余字段(14%,15%)的配置。4、缺少TaskId字段的配置,存在冗余字段(16%,17%)的配置。北向接口对资源树的访问失败,影响北向接口正常功能。对(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的ProcessingFlow中的第(5%)个元素的Destination字段做如下修改:1、将字段配置为对象类型。2、删除(6%,7%)字段的配置,或在(8%)资源树接口中补充上述属性的定义。2、删除(9%,10%)字段的配置,或在(11%)资源树接口的(12%)方法的响应体中补充上述字段的定义。3、补充Members字段的配置,删除字段(13%,14%)的配置。4、补充TaskId字段的配置,删除字段(15%,16%)的配置。
rule_intf_mapping_072接口映射接口映射ProcessingFlow中Destination字段配置有效性检查接口映射配置中,定义在ProcessingFlow对象元素中的Destination字段,其下定义的元素均需被引用。提示(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的ProcessingFlow中的第(5%)个元素的Destination中(6%,7%)字段未被引用。无效配置,影响模型的维护与理解。删除(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的ProcessingFlow中的第(5%)个元素的Destination中的(6%,7%)字段。错误提示中6%,7%字段为Destination中元素的值,不是key
rule_intf_mapping_073接口映射接口映射ProcessingFlow中Source字段配置正确性检查接口映射配置中,定义在ProcessingFlow对象元素中的Source字段只能存在于属性映射中,字段为对象类型,每个对象元素的key均在同级配置下的Interface属性里存在定义,value可为常量或来源引用,满足如下约束:1、若为常量,则常量类型与对应的资源树属性类型一致。2、若为ReqBody引用,则引用的ReqBody属性与对应的资源树类型一致。(允许类型提升)严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的ProcessingFlow中的第(5%)个元素的Source字段存在如下问题:1、应为对象类型,当前为(6%)类型。2、(7%,8%)未在同级配置下的Interface(9%)的属性里定义。3、(10%,11%)属性配置的常量(12%,13%)与属性的定义类型(14%,15%)不一致。4、(16%,17%)属性类型(18%,19%)与其引用的ReqBody属性(20%,21%)类型不一致。北向接口对资源树的写入失败,影响北向接口正常功能。对(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的ProcessingFlow中的第(5%)个元素的Source字段做如下修改:1、将字段定义为对象类型。2、删除(6%,7%)字段的配置,或在(8%)资源树接口中补充上述属性的定义。3、(9%,10%)属性配置的常量应为(11%,12%)类型。4、核查(13%,14%)属性的引用配置是否正确,若有必要可配置Statements进行类型转换。
rule_intf_mapping_074接口映射接口映射ProcessingFlow中Name字段配置正确性检查接口映射配置中,当映射类型为Method或Task时,Name字段为必填,需校验该字段的取值在同级配置下的Interface方法里定义。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的ProcessingFlow中的第(5%)个元素的Name(6%)未在同级配置下的Interface(7%)中定义。北向接口对资源树的方法访问失败,影响北向接口正常功能。在资源树接口(1%)下补充方法(2%)的定义。
rule_intf_mapping_075接口映射接口映射ProcessingFlow中Params字段配置正确性检查接口映射配置中,当映射类型为Method、Task、List或Paging时, Params字段才允许存在,该字段为数组类型,校验规则:1、当映射类型为List时,则Params中最多存在一个参数,参数取值为1到10范围内的整数。2、当映射类型为Method、Task或Paging,则Params的数组元素的个数和数据类型(引用除外)须和同级配置下Interface的方法请求入参一致。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的ProcessingFlow中的第(5%)个元素的Params字段存在如下问题:1、应为数组类型,当前为(6%)类型。2、最多只能存在1个参数,当前配置了(7%)个参数。3、参数取值只能为1到10范围的整数,当前取值(8%)。4、参数个数(9%)和资源树接口(10%)的方法(11%)定义的参数个数(12%)不一致。5、第(13%,14%)个参数(15%,16%)的类型与资源树接口(10%)的方法(11%)定义的参数类型(17%,18%)不一致。北向接口对资源树的方法访问失败,影响北向接口正常功能。对(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的ProcessingFlow中的第(5%)个元素的Params字段做如下修改:1、将字段定义为数组类型。2、修改该字段,确保最多只配置1个参数。3、修改该字段,确保参数取值为1到10范围内。4、修改该字段,配置(6%)个参数。5、修改该字段,确保参数取值类型依次为(7%,8%)。特别注意:资源树定义的参数列表为对象类型,原则上是无序的,得使用有序的json库加载,按照文件定义的顺序加载,不然会有误报。
rule_intf_mapping_076接口映射接口映射ProcessingFlow中CallIf字段配置正确性检查接口映射配置中,CallIf为选填字段,对象或字符串类型,若配置为字符串类型,则取值固定为CheckUri,若配置为对象类型,则对象元素的key为来源引用,value可为常量(数值、字符串、bool)、#WITH、#WITHOUT、来源引用。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的ProcessingFlow中的第(5%)个元素的CallIf字段存在如下问题:1、应为对象或字符串类型,当前为(6%)类型。2、字段取值(7%)配置错误。3、对象的key均为来源引用,(8%,9%)不满足要求。北向接口的执行条件判断错误,影响接口执行的正确性。对(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的ProcessingFlow中的第(5%)个元素的CallIf字段做如下修改:1、将字段定义为对象或字符串类型。2、该字段配置为字符串类型,则取值只能为CheckUri。3、将对象的key均配置为来源引用。
rule_intf_mapping_077接口映射接口映射ProcessingFlow中Foreach字段配置正确性检查接口映射配置中,Foreach为选填字段,取值为ReqBody、Statements、ProcessingFlow的来源引用、数组常量或正整数,该字段不可作用于Task映射。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的ProcessingFlow中的第(5%)个元素的Foreach字段存在如下问题:1、取值(6%)不符合规范要求。2、映射类型为Task,不能配置该字段。北向接口部分逻辑的执行迭代次数判断错误,影响接口执行的正确性。对(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的ProcessingFlow中的第(5%)个元素的Foreach字段做如下修改:1、字段取值范围:ReqBody、Statements、ProcessingFlow的来源引用、数组常量或正整数。2、删除该字段的配置。
rule_intf_mapping_078接口映射redfish接口映射ProcessingFlow中RelatedProperties字段配置正确性检查redfish的Patch或Post方法的接口中,RelatedProperties为选填字段,字符串数组类型,存在0或多个元素,数组元素取值为请求体(ReqBody)的属性路径(通过/拼接各层级属性),支持数组类型属性的拼接写法,包括LdapGroups[#INDEX]/GroupLoginRule和PowerControl/0/Oem两种格式写法,其中0为固定下标。一般redfish接口映射配置文件(1%)的第(2%)个对象的(3%)方法的ProcessingFlow中的第(4%)个元素的RelatedProperties字段存在如下问题:1、只有Patch和Post方法的接口才涉及此字段的配置。2、应为数组类型,当前为(5%)类型。3、元素(6%,7%)配置错误。影响redfish接口返回的响应体。对redfish接口映射配置文件(1%)的第(2%)个对象的(3%)方法的ProcessingFlow中的第(4%)个元素的RelatedProperties字段做如下修改:1、删除此字段的配置。2、将字段定义为数组类型。3、元素配置规则见rule_intf_mapping_078的描述。
rule_intf_mapping_079接口映射接口映射ProcessingFlow中PostTaskProcess字段配置正确性检查接口映射配置中,当映射类型为Task时PostTaskProcess才允许存在,该字段为对象数组类型,数组元素包含Type和Params两个字段,Type取值固定为ChangeOwner,Params为字符串数组类型。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的ProcessingFlow中的第(5%)个元素的PostTaskProcess字段存在如下问题:1、只有Task映射才涉及此字段的配置。2、应为数组类型,当前为(6%)类型。3、第(7%,8%)个元素缺少Type字段的配置。4、第(9%,10%)个元素缺少Params字段的配置。5、第(11%,12%)个元素Type字段(13%,14%)配置错误。6、第(15%,16%)个元素Params类型(17%,18%)配置错误,应为数组类型。影响北向接口的任务场景下文件属主的修改。对(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的ProcessingFlow中的第(5%)个元素的PostTaskProcess字段做如下修改:1、删除此字段的配置。2、将字段定义为数组类型。3、补充第(6%,7%)个元素的Type字段配置。4、补充第(8%,9%)个元素的Params字段配置。5、第(10%,11%)个元素Type字段只能配置为ChangeOwner。6、将第(12%,13%)个元素Params字段定义为数组类型。
rule_intf_mapping_080接口映射接口映射ProcessingFlow中#INDEX配置有效性检查接口映射配置中,定义在ProcessingFlow中的对象元素若存在Foreach字段,才允许在该对象元素中引用#INDEX。严重(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的ProcessingFlow中的第(5%)个元素中引用了#INDEX,但该元素未配置Foreach字段。引用的#INDEX无法生效,影响北向接口的功能。删除(1%)接口映射配置文件(2%)的第(3%)个对象的(4%)方法的ProcessingFlow中的第(5%)个元素中对#INDEX的引用,或补充该元素中Foreach字段的配置。
rule_intf_mapping_081接口映射接口映射属性变更事件上报配置完整性检查Redfish接口映射中未被忽略Etag的属性,其所引用的资源树属性若不具备易变特征,则属性在非常量情况下,要被设置为发送变更通知。一般redfish接口映射配置文件(1%)的第(2%)个对象的GET方法的响应体属性(3%,4%)引用的资源树接口(5%)的(6%,7%)属性的变更通知不应设置为false。对应的资源树属性值发生变更,iBMC软件不能通过Redfish接口发送通知到上游网管。将资源树接口(1%)的(2%,3%)属性的变更通知设置为true或invalidates。
rule_intf_mapping_082接口映射接口映射定义文件格式正确性检查接口映射定义文件均须为正确的json格式文件。严重接口映射配置文件(1%)不是正确的json格式文件。接口映射配置文件无法加载,对应的北向接口无法访问。将接口映射配置文件(1%)改成正确的json格式文件。