1、熟悉Python语法,熟练使用Python进行编程,有良好的PEP8编码规范
2、熟悉C++语法,熟悉powershell脚本语言
3、熟悉各种固件update/config等服务器管理,了解服务器架构及相关硬件
4、熟悉软件的开发流程,熟悉服务器上各种软件工具的开发
5、熟悉HTTP/HTTPS传输协议,熟悉正则表达式、xPath,熟悉selenium,能编写自动化脚本
6、熟悉Django, 了解Flask框架,熟悉Linux基本命令
7、熟悉HTML、CSS、JavaScript前端技术
8、熟练掌握MySql、Mongodb和Redis等数据库
9、熟悉GIT、SVN等版本控制器
服务器自动化管理工具
软件描述:该项目包括一组示例Python脚本,这些脚本利用Redfish API来管理Lenovo ThinkSystem服务器。脚本使用DMTF python-redfish-library库,分别运用python和powershell语言进行实现,为开源的代码,目的使用户可以更方便的通过命令行的方式对lenovo的服务器进行批量的管理。
使用技术:主要使用了python和powershell 语言,遵守开源的DMTF的规范,符合restful的规定实现一套自动化管理工具。
主要职责:参考DMTF给定的Schema文件,通过BMC提供的Redfish API 实现了服务器电源,BIOS 属性,PSU,RAID等信息的获取和服务器健康状况的监视,以及对服务器系统的配置和固件、驱动的更新。对提交到Github上的代码进行跟踪和维护,对用户提出的问题尽快找出解决方案,同步更新代码。
开源地址: https://github.com/lenovo/python-redfish-lenovo
https://github.com/lenovo/powershell-redfish-lenovo
Snapper 后端开发
开发环境:Python + Flask + Gunicon + Nginx + C++
软件描述:snapper是基于C++语言开发的,根据DMTF规定的redfish的Schema文件,开发一系列API用来获取服务器对应的底层数据,通过json的方式呈现给用户。
使用技术:
1、所有API均使用C++语言开发,获取数据,解析数据,呈现数据
2、使用Flask restfulAPI 提供HTTP接口,使用C++语言完成数据的提取,转换成bson数据展示在界面,底层不常用的数据存储在mysql数据库中。
3、使用Nginx和Gunicons实现项目的部署
主要职责:
1、根据需求文档和项目规范进行代码开发,测试和维护。
2、完成BMC 上redfish API member, firmware update等功能的开发。
3、协助测试工程师指定测试计划,并对开发中产生的问题进行及时快速的解决。