コード例 #1
0
def create_config_links(stack_id, stack_version):
    """
  Creates config links
  stack_id:  stack id, ie HDP-2.3
  stack_version:  version to set, ie 2.3.0.0-1234
  """

    if stack_id is None:
        Logger.info("Cannot create config links when stack_id is not defined")
        return

    args = stack_id.upper().split('-')
    if len(args) != 2:
        Logger.info("Unrecognized stack id {0}".format(stack_id))
        return

    if args[0] != "HDP":
        Logger.info("Unrecognized stack name {0}".format(args[0]))

    if version.compare_versions(version.format_hdp_stack_version(args[1]),
                                "2.3.0.0") < 0:
        Logger.info("Cannot link configs unless HDP-2.3 or higher")
        return

    for k, v in PACKAGE_DIRS.iteritems():
        if os.path.exists(v['conf_dir']):
            new_conf_dir = create(args[0], k, stack_version, dry_run=True)

            if not os.path.exists(new_conf_dir):
                Logger.info("Creating conf {0} for {1}".format(
                    new_conf_dir, k))
                select(args[0], k, stack_version)
コード例 #2
0
def create_config_links(stack_id, stack_version):
  """
  Creates config links
  stack_id:  stack id, ie HDP-2.3
  stack_version:  version to set, ie 2.3.0.0-1234
  """
  if stack_id is None:
    Logger.info("Cannot create config links when stack_id is not defined")
    return
  args = stack_id.upper().split('-')
  if len(args) != 2:
    Logger.info("Unrecognized stack id {0}".format(stack_id))
    return
  if args[0] != "HDP":
    Logger.info("Unrecognized stack name {0}".format(args[0]))
  if version.compare_versions(version.format_hdp_stack_version(args[1]), "2.3.0.0") < 0:
    Logger.info("Cannot link configs unless HDP-2.3 or higher")
    return
  for k, v in PACKAGE_DIRS.iteritems():
    dirs = create(args[0], k, stack_version, dry_run = True)
    if 0 == len(dirs):
      Logger.debug("Package {0} is not installed".format(k))
    else:
      need = False
      for new_conf_dir in dirs:
        if not os.path.exists(new_conf_dir):
          need = True

      if need:
        Logger.info("Creating conf dirs {0} for {1}".format(",".join(dirs), k))
        try:
          select(args[0], k, stack_version)
        except Exception, err:
          # don't ruin someone's day
          Logger.logger.exception("'conf-select set' failed to link '{0}'. Error: {1}".format(k, str(err)))
コード例 #3
0
ファイル: conf_select.py プロジェクト: prelongs/ambari
def _valid(stack_name, package, ver):
  if stack_name != "HDP":
    return False

  if version.compare_versions(version.format_hdp_stack_version(ver), "2.3.0.0") < 0:
    return False

  return True
コード例 #4
0
def _valid(stack_name, package, ver):
  if stack_name != "HDP":
    return False

  if version.compare_versions(version.format_hdp_stack_version(ver), "2.3.0.0") < 0:
    return False

  return True
コード例 #5
0
 def test_two_version_strings(self):
     version_a = "1.1"
     version_b = "1.2"
     self.assertTrue(compare_versions(version_a, version_b))
コード例 #6
0
 def test_integer(self):
     version_a = "2"
     version_b = "25"
     self.assertTrue(compare_versions(version_a, version_b))
コード例 #7
0
 def test_fraction(self):
     version_a = "1/2"
     version_b = "3/4"
     self.assertTrue(compare_versions(version_a, version_b))
コード例 #8
0
 def test_string(self):
     version_a = "some_string"
     version_b = "25"
     self.assertFalse(compare_versions(version_a, version_b))
コード例 #9
0
 def test_boolean(self):
     version_a = False
     version_b = "1.1"
     self.assertFalse(compare_versions(version_a, version_b))
コード例 #10
0
 def test_equal_versions(self):
     va = '11.12-a'
     vb = '11.12-a'
     self.assertEqual(version.compare_versions(va, vb), 0)
コード例 #11
0
 def test_none_versions(self):
     self.assertEqual(version.compare_versions(None, '1'), 1)
     self.assertEqual(version.compare_versions('1', None), -1)
     self.assertEqual(version.compare_versions(None, None), 0)
コード例 #12
0
 def test_same_root_different_length(self):
     va = '5.3.7-arch1'
     vb = '5.3.7-arch1-1-ARCH'
     self.assertEqual(version.compare_versions(va, vb), 1)
     self.assertEqual(version.compare_versions(vb, va), -1)
コード例 #13
0
 def test_alfanumeric_versions(self):
     va = '11.11a'
     vb = '11.11b'
     self.assertEqual(version.compare_versions(va, vb), 1)
     self.assertEqual(version.compare_versions(vb, va), -1)