Discovery (and now ACC/SGC) add choice list values for "OS" in the Domain of the MID Server/Import user, breaking the global Out-of-box CMDB OS field choice listDescriptionWhen Discovery comes across an OS name that we don't already have in the out of box (global) choice list for the CMDB field, at the cmdb_ci_computer extended table level, the script includes OSChoice and WindowsOSNameHelper will insert one. This inserts the record in the domain of the user that the transaction is running as. This will usually be a transaction triggered by a mid server sensor, and so runs in the domain of the MID Server (the mid server login user). Agent Client Collector script includes EnhancedDiscoveryHandler/AgentOSHelper use this same Discovery script include, and Service Graph Connector transforms do something similar. It has always been the expected behavior for Domain Separation and field Choice Lists to inherit the global domain choice list, unless there are any choices specific to the domain. In that case, _only_ the domain specific choice list is used, and none of the global choice lists are inherited. See KB0853590 Understanding how sys_choice works on a list view with Domain SeparationThat means everything in the choice list disappears for that domain except for the newly inserted choice. Expected behaviour:If this script include inserts anything it needs to insert in global domain, regardless of which domain the computer CI is in, or domain the transaction is running for. The out-of-box list is in global domain, and these are supposed to add to that.Steps to Reproduce Using a domain separated MID Server, Discovery a "Windows 2019 Datacenter" host. (or install ACC-F/ACC-V on that host)A sys_choice record for table=cmdb_ci_computer, element=os, value="Windows 2019 Datacenter" is inserted in the same domain.Open a computer form, and now only that choice is listed in the OS field dropdown. Expected behaviour:When OS names that are missing from the out-of-box global domain choice list are automatically added, they should also be in the global domain, because that is the existing list that's being added to. Actual behaviour:The choice record is added in same domain as the CI. Given the expected behaviour of domain separation choice lists, from the point of view of users, the existing choice list is effectively deleted, replaced by only the choices that discovery(ACC/SGC) newly adds, because the global list is no longer used if domain specific records exist.WorkaroundThis problem has been fixed. If you are able to upgrade, review the Fixed In section to determine the latest version with a permanent fix your instance can be upgraded to. The workaround is to find the domain specific sys_choice records where (table=cmdb_ci_computer, element=os, domain != global) and either update those values to set domain = global or delete these records and create new records with the same values, but make sure domain = global. When the script include looks to see if a value already exists, it should see those global values already exist and not insert a domain specific value.Related Problem: PRB1601232