Advertisement
Savelyev_Vyacheslav

fixture

Apr 3rd, 2023 (edited)
575
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //------------
  2. let rnd = Math.random()*1000;
  3. rnd = Math.round(rnd)
  4. function CMDB(params) {
  5. const service = new SimpleRecord('sys_cmdb_class');
  6. service.name = params;
  7. return service.insert();
  8. }
  9. const CMDB2 = CMDB('STR0002207-2'+ rnd);
  10. const CMDB1 = CMDB('STR0002207-1' + rnd);
  11. // make CMDB Class-----
  12.  
  13.  
  14. //------------
  15. function RelatedCIs(CMDB) {
  16. const service = new SimpleRecord('sys_cmdb_ci');
  17. service.cmdb_class_id = CMDB;
  18. return service.insert();
  19. }
  20. const id1 = RelatedCIs(CMDB1);
  21. const id2 = RelatedCIs(CMDB2);
  22. // make Related CIs-----
  23.  
  24.  
  25. //------------
  26. function createRecordGroup(di) {
  27. const group = new SimpleRecord('sys_group');
  28. group.name = di;
  29. return group.insert();
  30. }
  31. const groupID = createRecordGroup('STR0002207')
  32.  
  33. // group-----
  34.  
  35.  
  36. //------------
  37. let userIDs = [];
  38. function createRecordUserITSM(di, userIDs, name) {
  39. const user = new SimpleRecord('user');
  40. user.username = name + '_' + di + rnd;
  41. user.first_name = name;
  42. user.last_name = di;
  43. user.email = name + di + '@list.ru' + rnd;
  44. const ID = user.insert();
  45. userIDs.push(ID);
  46. }
  47. const users = [1,2];
  48. users.filter(user => createRecordUserITSM(user, userIDs, 'ITSMagent_'));
  49. [1].filter(user => createRecordUserITSM(user, userIDs, 'ChangeManager_'));
  50. // user-----
  51.  
  52. //------------
  53. function rolsITSMagent(userID, role) {
  54. const rol = new SimpleRecord('sys_user_has_role');
  55. rol.user_id = userID;
  56. rol.role_id = role;
  57. const ID = rol.insert();
  58. }
  59. userIDs.slice(0,2).filter(user => rolsITSMagent(user, '156951063014647724'));
  60.  
  61. userIDs.slice(2,3).filter(user => rolsITSMagent(user, '155964310500000011'));
  62. // role-----
  63.  
  64. //------------
  65. function inGroup(userID, group) {
  66. const user = new SimpleRecord('sys_user_group');
  67. user.user_id = userID;
  68. user.group_id = group;
  69. const ID = user.insert();
  70. }
  71. userIDs.filter(user => inGroup(user, groupID));
  72. // in group-----
  73.  
  74. //------------
  75. const service = new SimpleRecord('sys_cmdb_ci_service');
  76. service.name = 'service';
  77. service.service_type = 'Business';
  78. service.business_criticality = '1';
  79. const serviceID = service.insert();
  80. // make service-----
  81.  
  82. //-1
  83. const subjectsStakeholder = ["Implemented","Partially implemented","Not implemented (Backout)","Not implemented (Canceled)"];
  84.  
  85. function createRecordStakeholder(subj, serviceID) {
  86. const closureNotes ='Экземпляр обновлен, плейбук закончился без ошибок. После деплоя FQDN отдавал 503. Выполнен рекомпоз докера на нодах backend. На текущий момент FQDN доступен без ошибок, контейнеры получили новую версию.';
  87. const reason = 'для устранении ошибки запсиси на жёсткий диск необходимо обновить nxos на nexus04.';
  88. const registrationDateTime = new SimpleDateTime();
  89.  
  90. const changRequest = new SimpleRecord('itsm_change_request');
  91. changRequest.planned_start_datetime = '2022-08-24 23:00:00';
  92. registrationDateTime.addSeconds(3600*24);
  93. ss.info((registrationDateTime.getValue()).toString())
  94. changRequest.planned_end_datetime = (registrationDateTime.getValue()).toString();
  95. changRequest.planned_downtime_duration = 3600000/2;
  96. changRequest.actual_start_datetime = '2022-08-24 23:00:00';
  97. changRequest.actual_end_datetime = '2022-08-24 23:00:00';
  98. changRequest.actual_downtime_duration = 3600000/2
  99. changRequest.downtime_notes = `Для клиентов которые подключены одним линком и для тех у кого не работает переключение сервис будет недоступен на время перезагрузки nxos:
  100. Для C93180-04-DS1
  101. Одиночные порты, клиенты за ними отвалятся:
  102. Eth1/16 [EXTERNAL] [Eth1/16] TTK ... (2008)                                      #TTK --- CROSS (MIVC)
  103. Eth1/38 [EXTERNAL] [Eth1/38] OBIT (848)                                          #OBIT (стык)
  104. Eth1/39 [EXTERNAL] [Eth1/39] TFM-RETN MMR.B2-MMR.F8-304.I0-304.C6 (1207)         #TFM --- CROSS (RETN)
  105.  
  106. Для C93180-03-DS1
  107. Одиночные порты, клиенты за ними отвалятся:
  108. Eth1/16 [EXTERNAL] [Eth1/16] TTK ... (1968)                                      #TTK --- CROSS (GVC)
  109. Eth1/33 [EXTERNAL] [Eth1/33] VRT_Continent-1_vl1512                              #VRT_Continent-1
  110. Eth1/34 [EXTERNAL] [Eth1/34] VRT_Continent-1_vl1513                              #VRT_Continent-1
  111. Eth1/39 [EXTERNAL] [Eth1/39] TFM-MASTERTEL MMR.4.1-MMR.F8-304.I0-304.C5 (1533)   #TFM --- CROSS (MASTERTEL)
  112.  
  113. Для остальных клиентов потеряется один линк из двух на время перезагрузки.`;
  114. changRequest.assigned_user = '155931135900000001';
  115. changRequest.subject = subj;
  116. changRequest.reason = subj;
  117. changRequest.closure_notes = closureNotes;
  118. changRequest.related_cis = `${id1+ ',' + id2}`;
  119. changRequest.change_type = '1';
  120. changRequest.service = serviceID;
  121. changRequest.assignment_group = groupID;
  122. changRequest.impact = '1';
  123. changRequest.urgency = '1';
  124. changRequest.probability = '1';
  125.   changRequest.preparation = 'text';
  126.   changRequest.core_activities = 'text';
  127.   changRequest.validation = 'text';
  128.   changRequest.backout = 'text';
  129. const ID = changRequest.insert();
  130. }
  131. subjectsStakeholder.filter(subj => createRecordStakeholder(subj, serviceID));
  132.  
  133. //-2
  134. // const subjectsChangeManagers = ["ChangeManagers---Implemented","ChangeManagers---Partially implemented","ChangeManagers---Not implemented (Backout)","ChangeManagers---Not implemented (Canceled)"]
  135. // function createRecordChangeManagers(subj, serviceID, groupID) {
  136. // const closureNotes ='Экземпляр обновлен, плейбук закончился без ошибок. После деплоя FQDN отдавал 503. Выполнен рекомпоз докера на нодах backend. На текущий момент FQDN доступен без ошибок, контейнеры получили новую версию.';
  137. // const changRequest = new SimpleRecord('itsm_change_request');
  138. // changRequest.closure_notes = closureNotes;
  139. // changRequest.subject = subj;
  140. // changRequest.reason = subj;
  141. // changRequest.change_type = '1';
  142. // changRequest.service = serviceID;
  143. // changRequest.assigned_user = '155931135900000001';
  144. // changRequest.impact = '1';
  145. // changRequest.urgency = '1';
  146. // changRequest.probability = '1';
  147. // const ID = changRequest.insert();
  148. // }
  149. // subjectsChangeManagers.filter(subj => createRecordChangeManagers(subj, serviceID, groupID));
  150.  
  151.  
  152. // http://localhost:3000/record/sys_property/166548075412320816
  153. const current = new SimpleRecord('sys_property');
  154. current.get('166548075412320816');
  155. current.value = groupID; // Open
  156. current.update();
  157.  
  158.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement