Comments (13)
目前只支持一对多的关系来构建这个tree,你这是多对多,环境和区域一般我们可能就直接放属性了。
后面考虑下如何支持这种多对多关系的服务树
from cmdb.
@ssrshz 你提的这个关系视图的多对多将会在下个版本支持,至少能cover你这个场景。
实际上,你这个场景如果不用关系视图,用资源层级视图的方式就可以满足,只不过环境、区域、集群、NameSpace这4个是作为属性存在于Node这个模型里。这样就可以自定义出你需要的tree。
资源层级视图定义文档见: https://veops.cn/docs/cmdb/tree/
from cmdb.
@ssrshz 已基本实现,不过这种关系的定义要在使用cmdb的时候建立好,如果后面再变更,处理当前的关系会比较复杂
from cmdb.
要确认下Azure_HK是不是和Prod和Stage之间都建立了关系 @ssrshz
from cmdb.
要确认下Azure_HK是不是和Prod和Stage之间都建立了关系 @ssrshz
@pycook 问题就在这里,Prod和Stage属于环境,而Azure_HK区域在这2个环境都存在,每个环境在相同的区域存在不同的集群,实际情况则是,cluster_1在Stage的Azure_HK区域存在,在Prod环境不存在。
![image](https://private-user-images.githubusercontent.com/19809226/276581984-8b6318ce-c5de-495b-8f4f-5ee5225968fa.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk3ODEyNjYsIm5iZiI6MTcxOTc4MDk2NiwicGF0aCI6Ii8xOTgwOTIyNi8yNzY1ODE5ODQtOGI2MzE4Y2UtYzVkZS00OTViLThmNGYtNWVlNTIyNTk2OGZhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MzAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjMwVDIwNTYwNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWQ5NzgwMWE0YWE1OGNkMjgwZDQxNWI3Zjc0MTU5MWExYTBjYjVjNTUwMThlZjU0NzE2ODM5MjZiN2U4N2UwNTUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.fRQ86QgHfHSbdM5Vt45JcTpA9PitDUucRH3wMP5oLXQ)
应该如何解决?
from cmdb.
目前只支持一对多的关系来构建这个tree,你这是多对多,环境和区域一般我们可能就直接放属性了。 后面考虑下如何支持这种多对多关系的服务树
期待支持
from cmdb.
@pycook 那目前关系配置中,有多对多选项,那这个用于什么场景?
from cmdb.
@pycook 那目前关系配置中,有多对多选项,那这个用于什么场景?
这个只是加关系的一种限制而已。因为服务树或者关系视图是自定义的,也是通用的,所以多对多支持有一定的复杂度,这个看能否在下个版本支持下。
from cmdb.
@pycook 那目前关系配置中,有多对多选项,那这个用于什么场景?
这个只是加关系的一种限制而已。因为服务树或者关系视图是自定义的,也是通用的,所以多对多支持有一定的复杂度,这个看能否在下个版本支持下。
Get it. 通常来说,如果某一个操作会影响功能(这里即指多对多重复呈现),就应该加以限制,要不然就会很困惑,出现未按照预期的场景,尤其建模的时候。
不过多对多用在叶子节点,就非常适合,只要不出现在中间节点。
总体测试下来,veops/cmdb是不错的产品,足够灵活与包容,以不变应万变。假以时日,会大火的,come on
from cmdb.
@ssrshz 你能描述下整个链路么 环境-> 区域 -> 集群 -> namespace -> node 之间的关系 是多对多还是1对多
from cmdb.
@ssrshz 你能描述下整个链路么 环境-> 区域 -> 集群 -> namespace -> node 之间的关系 是多对多还是1对多
@pycook 是这样的,我们目前的环境可以分布在多个区域,比如测试环境,在上海办公室,北京办公室都存在,命名都是test
所以环境与区域是多对多。
区域里又可以包括个集群,而集群只能位于一个区域,区域与集群之间是一对多
集群可以包括多个namespace,namespace可以存在多个集群,因为一个项目的namespace是一致的,不管是哪个环境,所以也是多对多
from cmdb.
@ssrshz 你能描述下整个链路么 环境-> 区域 -> 集群 -> namespace -> node 之间的关系 是多对多还是1对多
是这样的,我们目前的环境可以分布在多个区域,比如测试环境,在上海办公室,北京办公室都存在,命名都是test
所以环境与区域是多对多。
区域里又可以包括个集群,而集群只能位于一个区域,区域与集群之间是一对多
集群可以包括多个namespace,namespace可以存在多个集群,因为一个项目的namespace是一致的,不管是哪个环境,所以也是多对多
实际上,在建立模型关系的时候,如果支持多个字段组合建立关系,那就不存在多对多关系了。有点类似数据库的联合唯一索引。目前建立模型关系的时候,并不支持字段级别配置
![image](https://private-user-images.githubusercontent.com/19809226/284797595-504793bc-2803-4f02-9cd7-2ff89fd1a3a9.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk3ODEyNjYsIm5iZiI6MTcxOTc4MDk2NiwicGF0aCI6Ii8xOTgwOTIyNi8yODQ3OTc1OTUtNTA0NzkzYmMtMjgwMy00ZjAyLTljZDctMmZmODlmZDFhM2E5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MzAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjMwVDIwNTYwNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTBhNjQwYTRmMmM0M2I0NGU5YjE1NWFiMjFmMjMxYjFlZmNlNTcwZjZiYTg2NjFlYTBhNmJkMThiNThiODVlYjMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.wbJzuSTOTPcIDR83vbQ-ZtHi0gXGTkdtm087WcsVnaA)
from cmdb.
@ssrshz 已基本实现,不过这种关系的定义要在使用cmdb的时候建立好,如果后面再变更,处理当前的关系会比较复杂
太强了!确实如此,配置维护需要谨慎,但数据模型关系更直观,更符合现实世界的建模,另外最大的好处是,每层模型可以独立变化,数据可维护性很好,而cmdb最大的负担有时候恰恰是数据维护代价。
虽然模型属性也可以实现,但是数据都放在一起适合展示,不适合维护。
from cmdb.
Related Issues (20)
- [help wanted]: 在资源数据页面中,是否可以在某个CI列表中展示其关联的CI模型的属性值? HOT 1
- [Bug]: 密码存储初始化报错 HOT 1
- [help wanted]: 请问公网的demo是基于什么release版本部署的 HOT 3
- 能否出一期大概代码解析!~ HOT 1
- [Bug]: CI拓扑展开异常 HOT 1
- [Bug]: 按照“本地开发环境搭建”无法成功运行cmdb-api HOT 1
- [Bug]: 模型配置中新增CI模型错误 HOT 3
- [Feature]: 能否增加一键备份和一键恢复功能 HOT 1
- [Bug]: 正则校验里的IP地址规则对于。等符号无效
- [Bug]: 有预定义值的多值属性,创建数据时默认会有一个空值,导致提交报错 HOT 1
- [Bug]: 有预定义值的多值属性,创建数据时默认会有一个空值,导致提交报错
- [Bug]: 引用的源模型属性值更新后,目标模型属性值不能自动同步更新 HOT 1
- [Feature]: cmdb有做费用摊销的todo计划吗 HOT 3
- [help wanted]: 提供一个cmdb 的备份方法,api和mysqldump HOT 1
- [Feature]: 需要一个ci资源树形接口
- [Feature]: 录入数据支持下拉框选择,支持包含内容检索,支持手动输入,即可编辑下拉框
- [Feature]: API响应内容全局统一
- [Bug]: 在“模型配置”中添加模型错误 HOT 4
- [Feature]: Use cache when building docker image HOT 1
- [help wanted]:服务器网卡做了bond,通过探针无法自动发现私有ip地址
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cmdb.