code: def osd_allclose(
      osd1: ObservationData, osd2: ObservationData
  ) -> bool:
      if osd1.metric_names != osd2.metric_names:
          return False
      if not np.allclose(osd1.means, osd2.means):
          return False
      if not np.allclose(osd1.covariance, osd2.covariance):
          return False
      return True
  
imports: from copy import deepcopy
  from math import sqrt
  from typing import List
  import numpy
  from ax.core.metric import Metric
  from ax.core.objective import Objective
  from ax.core.observation import Observation, ObservationData, ObservationFeatures
  from ax.core.optimization_config import OptimizationConfig
  from ax.core.outcome_constraint import OutcomeConstraint, ScalarizedOutcomeConstraint
  from ax.core.types import ComparisonOp
  from ax.exceptions.core import DataRequiredError
  from ax.modelbridge.transforms.standardize_y import StandardizeY
  from ax.utils.common.testutils import TestCase
label_desc: Use image node_id 1 for calling a global function with example usage: osd_allclose(osd1, osd2) and returns: True, False, False, False