日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

CMDB服务器管理系统【s5day90】:创建资产更新服务器硬盘信息

發布時間:2023/12/18 windows 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CMDB服务器管理系统【s5day90】:创建资产更新服务器硬盘信息 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、創建硬件資產信息

import json from django.shortcuts import render,HttpResponse from django.views.decorators.csrf import csrf_exempt from django.conf import settings from repository import models from .plugins import PluginManger@csrf_exempt def server(request):# 客戶端提交的最新資產數據server_dict = json.loads(request.body.decode('utf-8'))# 檢查server表中是否有當前資產信息【主機名是唯一標識】if not server_dict['basic']['status']:return HttpResponse('臣妾做不到')hostname = server_dict['basic']['data']['hostname'] server_obj = models.Server.objects.filter(hostname=hostname).first()if not server_obj:#創建服務器信息tmp = {}tmp.update(server_dict['basic']['data'])tmp.update(server_dict['board']['data'])server_dict = models.Server.object.create(**tmp)#網卡、內存、硬盤...#硬盤disk_info_dict = server_dict['disk']['data']for item in disk_info_dict.values():item['server_obj'] = server_obj#item['server_obj'] = server_objmodels.Disk.object.create(**item)#內存 mem_info_dict = server_dict['memory']['data']for item in mem_info_dict.values():item['server_obj']= server_objmodels.Memory.object.create(**item)#網卡 nic_info_dict = server_dict['nic']['data']for k,v in nic_info_dict.values():v['server_obj'] = server_objv['name'] = kmodels.NIC.object.create(**v) else:

2、更新服務器信息

#更新server表 tmp = {} tmp.update(server_dict['basic']['data']) tmp.update(server_dict['board']['data']) #服務器數據更新 tmp.pop('hostname') record_list = [] for k,new_val in tmp.item(): old_val != new_val: if old_val!= new_val: record = "[%s]的[%s]由[%s]變更為[%s]" % (hostname,k,old_val.new_val) record_list.append(record) setattr(server_obj,k,new_val) server_obj.save() if record_list: models.ServerRecord.object.create(server_obj=server_obj,content=';'.join(record_list))

3、更新硬盤信息

class Disk(object):def __init__(self,server_obj,info):self.server_obj = server_objself.disk_dict = infodef process(self):# 硬盤、網卡和內存new_disk_info_dict = self.disk_dict['data']"""{'0': {'slot': '0', 'pd_type': 'SAS', 'capacity': '279.396', 'model': 'SEAGATE ST300MM0006 LS08S0K2B5NV'},'1': {'slot': '1', 'pd_type': 'SAS', 'capacity': '279.396', 'model': 'SEAGATE ST300MM0006 LS08S0K2B5AH'},'2': {'slot': '2', 'pd_type': 'SATA', 'capacity': '476.939', 'model': 'S1SZNSAFA01085L Samsung SSD 850 PRO 512GB EXM01B6Q'},'3': {'slot': '3', 'pd_type': 'SATA', 'capacity': '476.939', 'model': 'S1AXNSAF912433K Samsung SSD 840 PRO Series DXM06B0Q'},'4': {'slot': '4', 'pd_type': 'SATA', 'capacity': '476.939', 'model': 'S1AXNSAF303909M Samsung SSD 840 PRO Series DXM05B0Q'},'5': {'slot': '5', 'pd_type': 'SATA', 'capacity': '476.939', 'model': 'S1AXNSAFB00549A Samsung SSD 840 PRO Series}"""new_disk_info_list = self.server_obj.disk.all()"""[obj,obj,obj,]"""new_disk_slot_set = set(new_disk_info_dict.keys())old_disk_slot_set = {obj.slot for obj in new_disk_info_list}# add_slot_list = new_disk_slot_set - old_disk_slot_setadd_slot_list = new_disk_slot_set.difference(old_disk_slot_set)del_slot_list = old_disk_slot_set.difference(new_disk_slot_set)update_slot_list = old_disk_slot_set.intersection(new_disk_slot_set)add_record_list = []# 增加 [2,5]for slot in add_slot_list:value = new_disk_info_dict[slot]tmp = "添加硬盤..."add_record_list.append(tmp)value['server_obj'] = self.server_objmodels.Disk.objects.create(**value)# 刪除 [4,6]models.Disk.objects.filter(server_obj=self.server_obj, slot__in=del_slot_list).delete()# 更新 [7,8]for slot in update_slot_list:value = new_disk_info_dict[slot] # {'slot': '0', 'pd_type': 'SAS', 'capacity': '279.396', 'model': 'SEAGATE ST300MM0006 LS08S0K2B5NV'}obj = models.Disk.objects.filter(server_obj=self.server_obj, slot=slot).first()for k, new_val in value.items():old_val = getattr(obj, k)if old_val != new_val:setattr(obj, k, new_val)obj.save()def add_disk(self):passdef del_disk(self):passdef update_disk(self):pass

  

轉載于:https://www.cnblogs.com/luoahong/p/9341383.html

總結

以上是生活随笔為你收集整理的CMDB服务器管理系统【s5day90】:创建资产更新服务器硬盘信息的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。