当前位置: 首页 > news >正文

福田的网站建设公司开发小程序流程

福田的网站建设公司,开发小程序流程,网站建设 后端前端,企业营销策划是什么通过redfish协议实现服务器固件升级、从虚拟光驱启动自检盘并等待完成,最后截图保存 版本信息代码新开发的PCIE设备在做服务器适配时,有时需要服务器厂家更新BMC或BIOS固件。同时,我们也希望对PCIE设备做一些检测,最后收集一些信息存档。如果需要处理的服务器很多,通过BMC的界面… 通过redfish协议实现服务器固件升级、从虚拟光驱启动自检盘并等待完成,最后截图保存 版本信息代码 新开发的PCIE设备在做服务器适配时,有时需要服务器厂家更新BMC或BIOS固件。同时,我们也希望对PCIE设备做一些检测,最后收集一些信息存档。如果需要处理的服务器很多,通过BMC的界面进行人工操作就会比较麻烦。以下提供了一个脚本,供参考。 主要思路: 采用haneWIN NFS Server搭建一个NFS服务,目录为nfs,里面存放着boot.iso(设备检测镜像)通过redfish协议登录BMC,获取PCIE设备信息,服务器信息,升级固件,重启服务器,挂iso,设置启动方式截屏获取KVM的内容,通过图片相似度的方法判断ISO里的检测程序是否运行完成.版本信息 属性值NFS服务器haneWIN NFS Server服务器型号NF5270M6代码 # -*- coding: utf-8 -*-from queue import Queue from skimage.metrics import structural_similarity import traceback import cv2 import codecs import csv import argparse import shutil import json import time import redfish import sys import os import uuid import threading import warnings warnings.filterwarnings("ignore") import loggingparser = argparse.ArgumentParser() parser.add_argument('-server_list', type=str,required=True, help="server_list") parser.add_argument('-nfs_server', type=str, required=True, help="nfs server") parser.add_argument('-threads', type=int, required=True, help="nfs server") parser.add_argument('-checkonly', type=int, required=True, help="check only")args = parser.parse_args()class TimeSpan:"""统计代码段的耗时""" def __init__(self,logger,prefix=""):self.prefix = prefixself.logger=loggerdef __enter__(self):self.end = Noneself.start = time.time()def __exit__(self, exc_type, exc_val, exc_tb):self.end = time.time()interval = self.end - self.startunit = "sec"if interval 60:unit = "min"interval = interval/60self.logger.info('%-64s:%.3f(%s)' % (self.prefix, interval, unit))def isSimilarity(filename):"""判断自检程序是否运行完成Args:filename ([string]): [截屏图片路径]Returns:[bool]: [是否完成]""" last_image = cv2.imread('target_image.jpg', cv2.IMREAD_GRAYSCALE)img = cv2.imread(filename, cv2.IMREAD_GRAYSCALE)cell_h, cell_w = last_image.shapehoff = 280h, w = img.shapewhile hoff 320:img2 = img[hoff:hoff+cell_h, 0:cell_w]ssim = structural_similarity(last_image, img2)if ssim 0.5:# cv2.imwrite("{}_{}.jpg".format(hoff,int(ssim)),img2)return Truehoff += 3return Falseclass RedFishProxy:def __init__(self,handle,retry_count=3):self.handle=handleself.retry_count=retry_countdef post(self, path, args=None, body=None, headers=None):count=0while True:response=self.handle.post(path,args,body,headers)if response._status == 500 and countself.retry_count:time.sleep(2)count+=1continueelse:return response def get(self, path, args=None, headers=None):count=0while True:response=self.handle.get(path,args,headers)if response._status == 500 and countself.retry_count:time.sleep(2)count+=1continueelse:return response def delete(self,path, args=None, headers=None):count=0while True:response=self.handle.delete(path,args,headers)if response._status == 500 and countself.retry_count:time.sleep(2)count+=1continueelse:return response def patch(self, path, args=None, body=None, headers=None):count=0while True:response=self.handle.patch(path,args,body,headers)if response._status == 500 and countself.retry_count:time.sleep(2)count+=1continueelse:return response class InspurVA1Query:def __init__(self,logger,index,bmc_host, username, password, nfs_server, try_count):self.logger=loggerself.nfs_server = nfs_serverself.username = usernameself.password = passwordself.try_count = try_countself.bmc_host = bmc_hostself.seq = 0self.token=Noneself.index=indexself.redfish_client=RedFishProxy(redfish.redfish_client(base_url=self.bmc_host, username=self.username, password=self.password))def Login(self):url = '/redfish/v1/SessionService/Sessions'req_body = {"UserName": self.username,"Password": self.password, "SessionTimeOut": 300}req_headers = {"Content-Type": "application/json"}response = self.redfish_client.post(url, headers=req_headers, body=req_body)if response._status == 201:session = json.loads(response._read.decode())self.token = session["Oem"]['Public']['X-Auth-Token']self.Id = session["Id"]return Trueelse:self.logger.error("Thermal:{}".format(response))return Falsedef Logout(self):if self.token:url = '/redfish/v1/SessionService/Sessions/{}'.format(self.Id)req_headers = {"X-Auth-Token": self.token}response = self.redfish_client.delete(url, headers=req_headers)self.token
http://www.dnsts.com.cn/news/147831.html

相关文章:

  • 家具网站建设策划方案网站 可以做无形资产吗
  • 泸县手机网站建设网站设计需求表
  • 网站开发人员趋势网站开发的研究背景
  • 大连网站建设lccmwordpress 4.7.3 id
  • 贵州手机网站建设全球域名查询
  • 如何免费创建自己的网站平台思源黑体 wordpress
  • 如何将数据库导入网站wordpress微信机器人高级版 免费
  • 网页开发和网站开发做网站的创始人
  • 火锅料网站方案怎么做知名自助建站平台
  • 网站建设培训学费网站关键字描述
  • 连云港建网站小网站文案
  • 丹徒网站建设建e室内设计网官网平面图
  • 网站压缩网站程序更换
  • 网站添加flv视频代码北京青鸟培训机构哪家是正规的
  • 优仔电话手表网站经典wordpress网站
  • 苏州网站建设电话苏州市建设厅网站
  • 域名和空间网站雕塑网站模板
  • 建设部网站办事大厅网站备案包括哪些东西
  • 大兴企业官网网站建设报价部队门户网站建设方案
  • 怎样做国外网站推广升级wordpress无法创建目录
  • 怎样做淘宝商品链接导航网站微信小程序商店怎么开
  • 电商网站建设需要哪些技术网络优化与维护是做什么
  • 平凉网站设计网页图片不能保存怎么办
  • 网站建设有几种方式网站建设怎么汇报
  • 企业网站官网赣州网吧
  • 楚雄做网站的公司恒大房地产最新消息
  • 湖南优化网站建设情感营销
  • wordpress站点标题字体建设银行温州分行网站
  • 专题网站建设工作猪八戒logo设计网站
  • 个人做网络推广哪个网站好怎么做网站推广多少钱