Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //------------
- let rnd = Math.random()*1000;
- rnd = Math.round(rnd)
- function CMDB(params) {
- const service = new SimpleRecord('sys_cmdb_class');
- service.name = params;
- return service.insert();
- }
- const CMDB2 = CMDB('STR0002207-2'+ rnd);
- const CMDB1 = CMDB('STR0002207-1' + rnd);
- // make CMDB Class-----
- //------------
- function RelatedCIs(CMDB) {
- const service = new SimpleRecord('sys_cmdb_ci');
- service.cmdb_class_id = CMDB;
- return service.insert();
- }
- const id1 = RelatedCIs(CMDB1);
- const id2 = RelatedCIs(CMDB2);
- // make Related CIs-----
- //------------
- function createRecordGroup(di) {
- const group = new SimpleRecord('sys_group');
- group.name = di;
- return group.insert();
- }
- const groupID = createRecordGroup('STR0002207')
- // group-----
- //------------
- let userIDs = [];
- function createRecordUserITSM(di, userIDs, name) {
- const user = new SimpleRecord('user');
- user.username = name + '_' + di + rnd;
- user.first_name = name;
- user.last_name = di;
- user.email = name + di + '@list.ru' + rnd;
- const ID = user.insert();
- userIDs.push(ID);
- }
- const users = [1,2];
- users.filter(user => createRecordUserITSM(user, userIDs, 'ITSMagent_'));
- [1].filter(user => createRecordUserITSM(user, userIDs, 'ChangeManager_'));
- // user-----
- //------------
- function rolsITSMagent(userID, role) {
- const rol = new SimpleRecord('sys_user_has_role');
- rol.user_id = userID;
- rol.role_id = role;
- const ID = rol.insert();
- }
- userIDs.slice(0,2).filter(user => rolsITSMagent(user, '156951063014647724'));
- userIDs.slice(2,3).filter(user => rolsITSMagent(user, '155964310500000011'));
- // role-----
- //------------
- function inGroup(userID, group) {
- const user = new SimpleRecord('sys_user_group');
- user.user_id = userID;
- user.group_id = group;
- const ID = user.insert();
- }
- userIDs.filter(user => inGroup(user, groupID));
- // in group-----
- //------------
- const service = new SimpleRecord('sys_cmdb_ci_service');
- service.name = 'service';
- service.service_type = 'Business';
- service.business_criticality = '1';
- const serviceID = service.insert();
- // make service-----
- //-1
- const subjectsStakeholder = ["Implemented","Partially implemented","Not implemented (Backout)","Not implemented (Canceled)"];
- function createRecordStakeholder(subj, serviceID) {
- const closureNotes ='Экземпляр обновлен, плейбук закончился без ошибок. После деплоя FQDN отдавал 503. Выполнен рекомпоз докера на нодах backend. На текущий момент FQDN доступен без ошибок, контейнеры получили новую версию.';
- const reason = 'для устранении ошибки запсиси на жёсткий диск необходимо обновить nxos на nexus04.';
- const registrationDateTime = new SimpleDateTime();
- const changRequest = new SimpleRecord('itsm_change_request');
- changRequest.planned_start_datetime = '2022-08-24 23:00:00';
- registrationDateTime.addSeconds(3600*24);
- ss.info((registrationDateTime.getValue()).toString())
- changRequest.planned_end_datetime = (registrationDateTime.getValue()).toString();
- changRequest.planned_downtime_duration = 3600000/2;
- changRequest.actual_start_datetime = '2022-08-24 23:00:00';
- changRequest.actual_end_datetime = '2022-08-24 23:00:00';
- changRequest.actual_downtime_duration = 3600000/2
- changRequest.downtime_notes = `Для клиентов которые подключены одним линком и для тех у кого не работает переключение сервис будет недоступен на время перезагрузки nxos:
- Для C93180-04-DS1
- Одиночные порты, клиенты за ними отвалятся:
- Eth1/16 [EXTERNAL] [Eth1/16] TTK ... (2008) #TTK --- CROSS (MIVC)
- Eth1/38 [EXTERNAL] [Eth1/38] OBIT (848) #OBIT (стык)
- Eth1/39 [EXTERNAL] [Eth1/39] TFM-RETN MMR.B2-MMR.F8-304.I0-304.C6 (1207) #TFM --- CROSS (RETN)
- Для C93180-03-DS1
- Одиночные порты, клиенты за ними отвалятся:
- Eth1/16 [EXTERNAL] [Eth1/16] TTK ... (1968) #TTK --- CROSS (GVC)
- Eth1/33 [EXTERNAL] [Eth1/33] VRT_Continent-1_vl1512 #VRT_Continent-1
- Eth1/34 [EXTERNAL] [Eth1/34] VRT_Continent-1_vl1513 #VRT_Continent-1
- Eth1/39 [EXTERNAL] [Eth1/39] TFM-MASTERTEL MMR.4.1-MMR.F8-304.I0-304.C5 (1533) #TFM --- CROSS (MASTERTEL)
- Для остальных клиентов потеряется один линк из двух на время перезагрузки.`;
- changRequest.assigned_user = '155931135900000001';
- changRequest.subject = subj;
- changRequest.reason = subj;
- changRequest.closure_notes = closureNotes;
- changRequest.related_cis = `${id1+ ',' + id2}`;
- changRequest.change_type = '1';
- changRequest.service = serviceID;
- changRequest.assignment_group = groupID;
- changRequest.impact = '1';
- changRequest.urgency = '1';
- changRequest.probability = '1';
- changRequest.preparation = 'text';
- changRequest.core_activities = 'text';
- changRequest.validation = 'text';
- changRequest.backout = 'text';
- const ID = changRequest.insert();
- }
- subjectsStakeholder.filter(subj => createRecordStakeholder(subj, serviceID));
- //-2
- // const subjectsChangeManagers = ["ChangeManagers---Implemented","ChangeManagers---Partially implemented","ChangeManagers---Not implemented (Backout)","ChangeManagers---Not implemented (Canceled)"]
- // function createRecordChangeManagers(subj, serviceID, groupID) {
- // const closureNotes ='Экземпляр обновлен, плейбук закончился без ошибок. После деплоя FQDN отдавал 503. Выполнен рекомпоз докера на нодах backend. На текущий момент FQDN доступен без ошибок, контейнеры получили новую версию.';
- // const changRequest = new SimpleRecord('itsm_change_request');
- // changRequest.closure_notes = closureNotes;
- // changRequest.subject = subj;
- // changRequest.reason = subj;
- // changRequest.change_type = '1';
- // changRequest.service = serviceID;
- // changRequest.assigned_user = '155931135900000001';
- // changRequest.impact = '1';
- // changRequest.urgency = '1';
- // changRequest.probability = '1';
- // const ID = changRequest.insert();
- // }
- // subjectsChangeManagers.filter(subj => createRecordChangeManagers(subj, serviceID, groupID));
- // http://localhost:3000/record/sys_property/166548075412320816
- const current = new SimpleRecord('sys_property');
- current.get('166548075412320816');
- current.value = groupID; // Open
- current.update();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement