Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-69436

Error: cannot perform an interactive login from a non TTY device

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Blocker Blocker
    • docker-commons-plugin
    • Jenkins 2.346.3
      docker-commons-plugin 1.20
      all required plugins are up to date/latest version

       

      since the last update to docker commons plugin (version 1.20), we are unable to use the withRegistry method properly.

      steps to reproduce:

      create a short script with:

       

      docker.image(<some recent version of docker in docker image>).inside
      {
         docker.withRegistry("some private registry url", "valid credentials to the private registry")
         {
             /// we never reach this part...
         }
      }

      the script above yields the error:

       

      Error: cannot perform an interactive login from a non TTY device
      

      downgrading docker commons plugin to version 1.19 solves the issue.

       

      I believe the problem is caused due to the (possibly) wrong implementation of --password-stdin in this line.

      if more information is needed, please let me know and I will happily provide it.

       

          [JENKINS-69436] Error: cannot perform an interactive login from a non TTY device

          Amit Dar created issue -
          Amit Dar made changes -
          Description Original:  

          since the last update to docker commons plugin, we are unable to use the withRegistry method properly.

          steps to reproduce:

          create a short script with:

           
          {code:java}
          docker.image(<some recent version of docker in docker image>).inside
          {
             docker.withRegistry("some registry url", "valid credentials to the registry")
             {
                 /// we never reach this part...
             }
          }{code}
          the script above yields the error:

           
          {code:java}
          Error: cannot perform an interactive login from a non TTY device
          {code}
          downgrading docker commons plugin to version 1.19 solves the issue.

           

          I believe the problem is caused due to the (possibly) wrong implementation of --password-stdin in [this line|[https://github.com/bushelpowered/docker-commons-plugin/blob/ca0881662826433088839e24b2c36099562ee415/src/main/java/org/jenkinsci/plugins/docker/commons/impl/RegistryKeyMaterialFactory.java#L101].] 

          if more information is needed, please let me know and I will happily provide it.

           
          New:  

          since the last update to docker commons plugin, we are unable to use the withRegistry method properly.

          steps to reproduce:

          create a short script with:

           
          {code:java}
          docker.image(<some recent version of docker in docker image>).inside
          {
             docker.withRegistry("some registry url", "valid credentials to the registry")
             {
                 /// we never reach this part...
             }
          }{code}
          the script above yields the error:

           
          {code:java}
          Error: cannot perform an interactive login from a non TTY device
          {code}
          downgrading docker commons plugin to version 1.19 solves the issue.

           

          I believe the problem is caused due to the (possibly) wrong implementation of --password-stdin in [this line|https://github.com/bushelpowered/docker-commons-plugin/blob/ca0881662826433088839e24b2c36099562ee415/src/main/java/org/jenkinsci/plugins/docker/commons/impl/RegistryKeyMaterialFactory.java#L101].

          if more information is needed, please let me know and I will happily provide it.

           
          Amit Dar made changes -
          Description Original:  

          since the last update to docker commons plugin, we are unable to use the withRegistry method properly.

          steps to reproduce:

          create a short script with:

           
          {code:java}
          docker.image(<some recent version of docker in docker image>).inside
          {
             docker.withRegistry("some registry url", "valid credentials to the registry")
             {
                 /// we never reach this part...
             }
          }{code}
          the script above yields the error:

           
          {code:java}
          Error: cannot perform an interactive login from a non TTY device
          {code}
          downgrading docker commons plugin to version 1.19 solves the issue.

           

          I believe the problem is caused due to the (possibly) wrong implementation of --password-stdin in [this line|https://github.com/bushelpowered/docker-commons-plugin/blob/ca0881662826433088839e24b2c36099562ee415/src/main/java/org/jenkinsci/plugins/docker/commons/impl/RegistryKeyMaterialFactory.java#L101].

          if more information is needed, please let me know and I will happily provide it.

           
          New:  

          since the last update to docker commons plugin, we are unable to use the withRegistry method properly.

          steps to reproduce:

          create a short script with:

           
          {code:java}
          docker.image(<some recent version of docker in docker image>).inside
          {
             docker.withRegistry("some private registry url", "valid credentials to the private registry")
             {
                 /// we never reach this part...
             }
          }{code}
          the script above yields the error:

           
          {code:java}
          Error: cannot perform an interactive login from a non TTY device
          {code}
          downgrading docker commons plugin to version 1.19 solves the issue.

           

          I believe the problem is caused due to the (possibly) wrong implementation of --password-stdin in [this line|#L101].] 

          if more information is needed, please let me know and I will happily provide it.

           
          Amit Dar made changes -
          Description Original:  

          since the last update to docker commons plugin, we are unable to use the withRegistry method properly.

          steps to reproduce:

          create a short script with:

           
          {code:java}
          docker.image(<some recent version of docker in docker image>).inside
          {
             docker.withRegistry("some private registry url", "valid credentials to the private registry")
             {
                 /// we never reach this part...
             }
          }{code}
          the script above yields the error:

           
          {code:java}
          Error: cannot perform an interactive login from a non TTY device
          {code}
          downgrading docker commons plugin to version 1.19 solves the issue.

           

          I believe the problem is caused due to the (possibly) wrong implementation of --password-stdin in [this line|#L101].] 

          if more information is needed, please let me know and I will happily provide it.

           
          New:  

          since the last update to docker commons plugin (version 1.20), we are unable to use the withRegistry method properly.

          steps to reproduce:

          create a short script with:

           
          {code:java}
          docker.image(<some recent version of docker in docker image>).inside
          {
             docker.withRegistry("some private registry url", "valid credentials to the private registry")
             {
                 /// we never reach this part...
             }
          }{code}
          the script above yields the error:

           
          {code:java}
          Error: cannot perform an interactive login from a non TTY device
          {code}
          downgrading docker commons plugin to version 1.19 solves the issue.

           

          I believe the problem is caused due to the (possibly) wrong implementation of --password-stdin in [this line|#L101].] 

          if more information is needed, please let me know and I will happily provide it.

           
          Amit Dar made changes -
          Description Original:  

          since the last update to docker commons plugin (version 1.20), we are unable to use the withRegistry method properly.

          steps to reproduce:

          create a short script with:

           
          {code:java}
          docker.image(<some recent version of docker in docker image>).inside
          {
             docker.withRegistry("some private registry url", "valid credentials to the private registry")
             {
                 /// we never reach this part...
             }
          }{code}
          the script above yields the error:

           
          {code:java}
          Error: cannot perform an interactive login from a non TTY device
          {code}
          downgrading docker commons plugin to version 1.19 solves the issue.

           

          I believe the problem is caused due to the (possibly) wrong implementation of --password-stdin in [this line|#L101].] 

          if more information is needed, please let me know and I will happily provide it.

           
          New:  

          since the last update to docker commons plugin (version 1.20), we are unable to use the withRegistry method properly.

          steps to reproduce:

          create a short script with:

           
          {code:java}
          docker.image(<some recent version of docker in docker image>).inside
          {
             docker.withRegistry("some private registry url", "valid credentials to the private registry")
             {
                 /// we never reach this part...
             }
          }{code}
          the script above yields the error:

           
          {code:java}
          Error: cannot perform an interactive login from a non TTY device
          {code}
          downgrading docker commons plugin to version 1.19 solves the issue.

           

          I believe the problem is caused due to the (possibly) wrong implementation of --password-stdin in [this line|#L101].

          if more information is needed, please let me know and I will happily provide it.

           
          Amit Dar made changes -
          Summary Original: cannot perform an interactive login from a non TTY device New: Error: cannot perform an interactive login from a non TTY device
          Amit Dar made changes -
          Environment Original: Jenkins 2.346.3
          docker-commons-plugin 1.20
          New: Jenkins 2.346.3
          docker-commons-plugin 1.20
          all required plugins are up to date/latest version

            Unassigned Unassigned
            amidar Amit Dar
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: