Uploaded image for project: 'Ambari'
  1. Ambari
  2. AMBARI-22678

Fix Broken Symlinks on Stack Distribution

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Blocker
    • Resolution: Fixed
    • 2.6.2
    • 2.6.2
    • ambari-server
    • None

    Description

      There are two scenarios to cover here:

      1. Ambari never conf-select'd a component (maybe because of a bug or because the component didn't support it)
      2. The conf pointers of a component are broken

      In either event, when distributing a new stack, the code detects this problem (as it would on a first-time install) and tries to fix it:

      /etc/component/conf (directory)
      /usr/hdp/current/component -> /usr/hdp/v1/component
      /usr/hdp/v1/component -> /etc/component/conf
      

      The stack distribution thinks this is a first-time installed and tries to fix the symlinks. We end up with:

      /etc/component/conf -> /usr/hdp/current/component
      /usr/hdp/current/component -> /usr/hdp/v1/component
      /usr/hdp/v1/component -> /etc/component/conf
      /usr/hdp/v2/component -> /etc/component/v2/0
      

      Because we're only conf-selecting v2, v1 never gets corrected since it's already installed. Thus, we have a circular symlink.

      Most likely the proper fix will be:

      • Iterate over the entire known conf-select structure
      • Check to see the state /etc/component/conf - if it's bad, fix it to defaults

      Chances are we can do this directly in conf_select.convert_conf_directories_to_symlinks:

      stack_name = Script.get_stack_name()
      for directory_struct in dirs:
      if not os.path.exists(directory_struct['conf_dir']):
      Logger.info("Skipping the conf-select tool on {0} since {1} does not exist.".format(
      package, directory_struct['conf_dir']))
      
      return
      

      Attachments

        1. AMBARI-22678.patch
          14 kB
          Dmitry Lysnichenko

        Issue Links

          Activity

            People

              dmitriusan Dmitry Lysnichenko
              dmitriusan Dmitry Lysnichenko
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: