资产归类时,在第一次循环到的机器假如是虚拟机的话存库会有外键不存在的情况

来源:5-8 服务器资产信息扫描归类的逻辑实现

慕移动0419469

2018-01-27

  File "/Users/yanshunjun/.virtualenvs/skops/lib/python3.6/site-packages/django/db/models/fields/related_descriptors.py", line 216, in __set__

    self.field.remote_field.model._meta.object_name,

ValueError: Cannot assign "0": "VirtualServerInfo.physicalserverinfo" must be a "PhysicalServerInfo" instance.

(skops)  ✘ shark@SharkAir  ~/PycharmProjects/Skops 

http://img.mukewang.com/szimg/5a6c86e80001b6af09610795.jpg

http://img.mukewang.com/szimg/5a6c877300016d5a10170551.jpg

写回答

1回答

Jeson

2018-02-12

工程的代码逻辑是这样的: 

1、首先执行IP存活扫描,扫描出存活的主机。 

2、然后执行登陆扫描,获取登陆信息和主机基础信息。 

接着,要做的是主机类型扫描,也就是要来判断所有的资源中,哪些是物理机器,判断的依据是根据:机器上是否有kvm,docker,vmx进程来作判断。如果有,则得出一份物理机列表。 

再,通过物理级,来得到物理机器宿主机关系。 

所以,理论上来说,如果环境中只有虚拟机,那么建议你使用在虚拟机的基础上安装docker容器环境,并且启用一个容器。这样扫描的程序将认定你这台虚拟机是物理机器。然后去执行宿主几虚拟机关系扫描。


0
2
Jeson
回复
十万伏特_皮卡丘
工程的代码逻辑是这样的: 1、首先执行IP存活扫描,扫描出存活的主机。 2、然后执行登陆扫描,获取登陆信息和主机基础信息。 接着,要做的是主机类型扫描,也就是要来判断所有的资源中,哪些是物理机器,判断的依据是根据:机器上是否有kvm,docker,vmx进程来作判断。如果有,则得出一份物理机列表。 再,通过物理级,来得到物理机器宿主机关系。 所以,理论上来说,如果环境中只有虚拟机,那么建议你使用在虚拟机上安装docker容器环境,并且启用一个容器。这样扫描的程序将认定你这台虚拟机是物理机器。
2018-03-23
共2条回复

Python+Django+Ansible Playbook自动化运维项目实战

【课程升级3.6版本】大牛全面践行DevOps,运维与开发间高效协作

861 学习 · 326 问题

查看课程