x86.js 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. var token = (function(){
  2. var rtn = null;
  3. var bodyContent = "loginCode="+encodeURIComponent("uinnova|meta@cfid.cn")+"&password="+encodeURIComponent("ZPqmtkriy+gf9kP6NfdnUg==");
  4. http.do("POST","http://17.194.0.81/vmdb-sso/user/oauth/login?"+bodyContent, null,null, function(res){
  5. // success func
  6. OUTPUT=res.data.data.token;
  7. rtn = res.data.data.token;
  8. }, function(err){
  9. // error func
  10. log.error(err.data);
  11. })
  12. return rtn;
  13. })();
  14. var x86s = (function(){
  15. var rtn = null;
  16. try{
  17. var mql = "select id from x86 limit -1";
  18. rtn = _.map(odb.mql(mql).data,'id');
  19. }catch(err){
  20. log.error(err);
  21. }
  22. return rtn;
  23. })();
  24. http.do("POST", "http://17.194.0.81/cmdb/dataSet/execute", {"Content-Type":"application/json", "tk": token}, '{"pageSize": 1000,"ciClass": "rackServer","type": 2,"pageNum": 1}', function(message){
  25. // success func
  26. OUTPUT = message.data;
  27. _.forEach(message.data.data.data,function(v){
  28. var comp = _.template("insert into /cncc/entity/x86 (id,name,autofindtime,cpu,cpufreq,cpukernel,cpumodel,datasource,disk,hostid,hytype,manageip,memory,smvid,storage) values ('<%=id %>','<%=name %>','<%=autofindtime %>',<%=cpu %>,<%=cpufreq %>,'<%=cpukernel %>','<%=cpumodel %>','<%=datasource %>',<%=disk %>,<%=hostid %>,'<%=hytype %>','<%=manageip %>',<%=memory %>,'<%=smvid %>',<%=storage %>)");
  29. var attrs = v.attrs;
  30. var x86Id = "x86:"+attrs['主机名称'];
  31. var rack = attrs['INSTALLATIONPOSITION_BELONGCABINET'];
  32. var mql = comp({
  33. id: x86Id,
  34. name:attrs['主机名称'],
  35. datasource:attrs['数据来源'],
  36. autofindtime:attrs['自动发现更新时间'],
  37. cpu: attrs['CPU核数']?attrs['CPU核数']:0,
  38. cpufreq: attrs['CPU频率']?attrs['CPU频率']:0,
  39. cpukernel: attrs['CPU核数']?attrs['CPU核数']:0,
  40. cpumodel: attrs['CPU型号'],
  41. datasource:attrs['来源平台'],
  42. disk: attrs['磁盘大小']?attrs['磁盘大小']:0,
  43. hostid: attrs['主机ID']?attrs['主机ID']:0,
  44. hytype:attrs['服务器支持的HY类型'],
  45. manageip:attrs['MANAGEMENTIP'],
  46. memory: attrs['内存大小']?attrs['内存大小']:0,
  47. smvid:attrs['030200002020101200113A'],
  48. storage: attrs['存储容量']?attrs['存储容量']:0
  49. })
  50. // log.debug(mql)
  51. odb.mql(mql);
  52. // 创建x86和机柜关系
  53. var rackId = "rack:"+rack;
  54. if( x86s.indexOf(x86Id) > -1 && !_.isEmpty(rackId)){
  55. var mqlP = "create('"+x86Id+"') - [:connect] -> ('"+rackId+"')";
  56. log.info(mqlP)
  57. odb.mql(mqlP);
  58. }else{
  59. return;
  60. }
  61. });
  62. }, function(message){
  63. // error func
  64. log.error(message.data);
  65. },7200)