code: def del_os_instance(self, os_instance, sync=True):
          
          LOGGER.debug("Subnet.del_os_instance")
          if not sync:
              self.osi_2_rm.append(os_instance)
          else:
              if os_instance.id is None:
                  os_instance.sync()
              if self.id is not None and os_instance.id is not None:
                  params = {
                      'id': self.id,
                      'osiID': os_instance.id
                  }
                  args = {'http_operation': 'GET', 'operation_path': 'update/osinstances/delete', 'parameters': params}
                  response = SubnetService.requester.call(args)
                  if response.rc != 0:
                      LOGGER.warning(
                          'Subnet.del_os_instance - Problem while updating subnet ' + self.name +
                          '. Reason: ' + str(response.response_content) + '-' + str(response.error_message) +
                          " (" + str(response.rc) + ")"
                      )
                  else:
                      self.osi_ids.remove(os_instance.id)
                      os_instance.subnet_ids.remove(self.id)
              else:
                  LOGGER.warning(
                      'Subnet.del_os_instance - Problem while updating subnet ' + self.name + '. Reason: OS instance ' +
                      os_instance.name + ' id is None or self.id is None'
                  )
docs: delete OS instance from this subnet
          :param os_instance: the OS instance to be deleted from this subnet
          :param sync: If sync=True(default) synchronize with Ariane server. If sync=False,
          add the OS instance object on list to be removed on next save().
          :return: