Restart all Jenkins NodesConsiderations for building SysV or Upstart compatible Bash scriptsUse Master/Slave Jenkins Server vs maintaining 3 separate servers?Jenkins CI Master-Slave setup with docker for slave serverHow to use automatic Restart with Jenkins on SystemdJenkins Kubernetes plugin: pending All nodes of label are offlineHow do I set up HAProxy Behind Cloudfront for JenkinsEnsure a Jenkins job runs once on or after the specified cron time - even if Jenkins were not running at the specified cron timeAutomate jenkins slave node cleanupJenkins build happening on master instead of slaveWhy are psql commands in my script suddenly being killed by jenkins / hudson?

Resize before convert or convert before resize?

Filter a data-frame and add a new column according to the given condition

How was this character able to keep fighting effectively in S8E5 of Game of Thrones?

Help understanding this line - usage of くれる

Substring join or additional table, which is faster?

Is there any way to adjust the damage type of the Eldritch Blast cantrip so that it does fire damage?

As programmers say: Strive to be lazy

Why was my Canon Speedlite 600EX triggering other flashes?

Will the volt, ampere, ohm or other electrical units change on May 20th, 2019?

Meaning of "work with shame"

Is this a group? If so, what group is it?

Given 0s on Assignments with suspected and dismissed cheating?

Should generated documentation be stored in a Git repository?

Mark command as obsolete

Do we have C++20 ranges library in GCC 9?

Find the unknown area, x

Adding labels and comments to a matrix

Can I say: "When was your train leaving?" if the train leaves in the future?

Do not cross the line!

Was the dragon prowess intentionally downplayed in S08E04?

Were any toxic metals used in the International Space Station?

Polynomial division: Is this trick obvious?

Why does SSL Labs now consider CBC suites weak?

How to continually let my readers know what time it is in my story, in an organic way?



Restart all Jenkins Nodes


Considerations for building SysV or Upstart compatible Bash scriptsUse Master/Slave Jenkins Server vs maintaining 3 separate servers?Jenkins CI Master-Slave setup with docker for slave serverHow to use automatic Restart with Jenkins on SystemdJenkins Kubernetes plugin: pending All nodes of label are offlineHow do I set up HAProxy Behind Cloudfront for JenkinsEnsure a Jenkins job runs once on or after the specified cron time - even if Jenkins were not running at the specified cron timeAutomate jenkins slave node cleanupJenkins build happening on master instead of slaveWhy are psql commands in my script suddenly being killed by jenkins / hudson?






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








0















I manage a Jenkins server (running 2.89.4) with about 40 nodes or so attached, each running either Centos7, OSX, or Windows (7, 8, 10). Recently, we suffered some power outages and many slaves lost their connection to the master. This required a lot of manual remoting and ssh'ing to reconnect them all. Since, I have made sure each slave process is running a server, however I'd like an additional safety net of being able to automatically restart every vm and/or box these slaves are running on. The problem is, since there are several different types of operating systems, there isn't a simple way to do it (that I know of yet).



I've tried using a Groovy script, but that can mostly just be used for restarting the slave service, not the machine itself. This was my reference:
https://wiki.jenkins.io/display/JENKINS/Monitor+and+Restart+Offline+Slaves



I've also looked into an Ansible approach, but many machines are unreachable, and Ansible requires different types of scripts for Windows vs. Unix.



The best approach I've seen so far is here:
https://stackoverflow.com/questions/29165080/restart-jenkins-slave-from-master



But it doesn't explain how to run this on every single slave, it just looks like it executes on one slave. Has anyone else done anything like this before? I'd love to create a single job, or single script than can be executed and it restarts every single node (using a command like shutdown -r -f) connected to Jenkins regardless of platform.










share|improve this question




























    0















    I manage a Jenkins server (running 2.89.4) with about 40 nodes or so attached, each running either Centos7, OSX, or Windows (7, 8, 10). Recently, we suffered some power outages and many slaves lost their connection to the master. This required a lot of manual remoting and ssh'ing to reconnect them all. Since, I have made sure each slave process is running a server, however I'd like an additional safety net of being able to automatically restart every vm and/or box these slaves are running on. The problem is, since there are several different types of operating systems, there isn't a simple way to do it (that I know of yet).



    I've tried using a Groovy script, but that can mostly just be used for restarting the slave service, not the machine itself. This was my reference:
    https://wiki.jenkins.io/display/JENKINS/Monitor+and+Restart+Offline+Slaves



    I've also looked into an Ansible approach, but many machines are unreachable, and Ansible requires different types of scripts for Windows vs. Unix.



    The best approach I've seen so far is here:
    https://stackoverflow.com/questions/29165080/restart-jenkins-slave-from-master



    But it doesn't explain how to run this on every single slave, it just looks like it executes on one slave. Has anyone else done anything like this before? I'd love to create a single job, or single script than can be executed and it restarts every single node (using a command like shutdown -r -f) connected to Jenkins regardless of platform.










    share|improve this question
























      0












      0








      0








      I manage a Jenkins server (running 2.89.4) with about 40 nodes or so attached, each running either Centos7, OSX, or Windows (7, 8, 10). Recently, we suffered some power outages and many slaves lost their connection to the master. This required a lot of manual remoting and ssh'ing to reconnect them all. Since, I have made sure each slave process is running a server, however I'd like an additional safety net of being able to automatically restart every vm and/or box these slaves are running on. The problem is, since there are several different types of operating systems, there isn't a simple way to do it (that I know of yet).



      I've tried using a Groovy script, but that can mostly just be used for restarting the slave service, not the machine itself. This was my reference:
      https://wiki.jenkins.io/display/JENKINS/Monitor+and+Restart+Offline+Slaves



      I've also looked into an Ansible approach, but many machines are unreachable, and Ansible requires different types of scripts for Windows vs. Unix.



      The best approach I've seen so far is here:
      https://stackoverflow.com/questions/29165080/restart-jenkins-slave-from-master



      But it doesn't explain how to run this on every single slave, it just looks like it executes on one slave. Has anyone else done anything like this before? I'd love to create a single job, or single script than can be executed and it restarts every single node (using a command like shutdown -r -f) connected to Jenkins regardless of platform.










      share|improve this question














      I manage a Jenkins server (running 2.89.4) with about 40 nodes or so attached, each running either Centos7, OSX, or Windows (7, 8, 10). Recently, we suffered some power outages and many slaves lost their connection to the master. This required a lot of manual remoting and ssh'ing to reconnect them all. Since, I have made sure each slave process is running a server, however I'd like an additional safety net of being able to automatically restart every vm and/or box these slaves are running on. The problem is, since there are several different types of operating systems, there isn't a simple way to do it (that I know of yet).



      I've tried using a Groovy script, but that can mostly just be used for restarting the slave service, not the machine itself. This was my reference:
      https://wiki.jenkins.io/display/JENKINS/Monitor+and+Restart+Offline+Slaves



      I've also looked into an Ansible approach, but many machines are unreachable, and Ansible requires different types of scripts for Windows vs. Unix.



      The best approach I've seen so far is here:
      https://stackoverflow.com/questions/29165080/restart-jenkins-slave-from-master



      But it doesn't explain how to run this on every single slave, it just looks like it executes on one slave. Has anyone else done anything like this before? I'd love to create a single job, or single script than can be executed and it restarts every single node (using a command like shutdown -r -f) connected to Jenkins regardless of platform.







      bash ansible jenkins






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Feb 23 '18 at 16:45









      user3270760user3270760

      11327




      11327




















          1 Answer
          1






          active

          oldest

          votes


















          0














          I solved this by creating a Multi-Configuration job and selecting all the slaves by name. Then, I added two Conditional Step based on "Execution Node." I selected only the windows slaves for the first one, and only the Mac/Centos slaves for the second one. For each conditional step, I added a single step: Execute Windows Batch Command for the Windows condition, and Execute Shell for the unix section. Here are the contents of my Batch and Shell boxes respectively:



          Batch:



          echo "Restarting Windows Machine...."
          hostname
          shutdown -r -f


          Shell:



          echo "Restarting Unix Machine...."
          hostname
          sudo shutdown -r now


          I commented out the shutdown steps for now in my job so I wouldn't accidentally restart everything before testing. Be sure to uncomment those before attempting to run this.



          Unix_Conditional_StepWindows_Conditional_Step






          share|improve this answer























          • The only thing I haven't solved yet is how to skip a node if it is offline for some reason.

            – user3270760
            Feb 23 '18 at 17:51











          Your Answer








          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "2"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f898614%2frestart-all-jenkins-nodes%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          0














          I solved this by creating a Multi-Configuration job and selecting all the slaves by name. Then, I added two Conditional Step based on "Execution Node." I selected only the windows slaves for the first one, and only the Mac/Centos slaves for the second one. For each conditional step, I added a single step: Execute Windows Batch Command for the Windows condition, and Execute Shell for the unix section. Here are the contents of my Batch and Shell boxes respectively:



          Batch:



          echo "Restarting Windows Machine...."
          hostname
          shutdown -r -f


          Shell:



          echo "Restarting Unix Machine...."
          hostname
          sudo shutdown -r now


          I commented out the shutdown steps for now in my job so I wouldn't accidentally restart everything before testing. Be sure to uncomment those before attempting to run this.



          Unix_Conditional_StepWindows_Conditional_Step






          share|improve this answer























          • The only thing I haven't solved yet is how to skip a node if it is offline for some reason.

            – user3270760
            Feb 23 '18 at 17:51















          0














          I solved this by creating a Multi-Configuration job and selecting all the slaves by name. Then, I added two Conditional Step based on "Execution Node." I selected only the windows slaves for the first one, and only the Mac/Centos slaves for the second one. For each conditional step, I added a single step: Execute Windows Batch Command for the Windows condition, and Execute Shell for the unix section. Here are the contents of my Batch and Shell boxes respectively:



          Batch:



          echo "Restarting Windows Machine...."
          hostname
          shutdown -r -f


          Shell:



          echo "Restarting Unix Machine...."
          hostname
          sudo shutdown -r now


          I commented out the shutdown steps for now in my job so I wouldn't accidentally restart everything before testing. Be sure to uncomment those before attempting to run this.



          Unix_Conditional_StepWindows_Conditional_Step






          share|improve this answer























          • The only thing I haven't solved yet is how to skip a node if it is offline for some reason.

            – user3270760
            Feb 23 '18 at 17:51













          0












          0








          0







          I solved this by creating a Multi-Configuration job and selecting all the slaves by name. Then, I added two Conditional Step based on "Execution Node." I selected only the windows slaves for the first one, and only the Mac/Centos slaves for the second one. For each conditional step, I added a single step: Execute Windows Batch Command for the Windows condition, and Execute Shell for the unix section. Here are the contents of my Batch and Shell boxes respectively:



          Batch:



          echo "Restarting Windows Machine...."
          hostname
          shutdown -r -f


          Shell:



          echo "Restarting Unix Machine...."
          hostname
          sudo shutdown -r now


          I commented out the shutdown steps for now in my job so I wouldn't accidentally restart everything before testing. Be sure to uncomment those before attempting to run this.



          Unix_Conditional_StepWindows_Conditional_Step






          share|improve this answer













          I solved this by creating a Multi-Configuration job and selecting all the slaves by name. Then, I added two Conditional Step based on "Execution Node." I selected only the windows slaves for the first one, and only the Mac/Centos slaves for the second one. For each conditional step, I added a single step: Execute Windows Batch Command for the Windows condition, and Execute Shell for the unix section. Here are the contents of my Batch and Shell boxes respectively:



          Batch:



          echo "Restarting Windows Machine...."
          hostname
          shutdown -r -f


          Shell:



          echo "Restarting Unix Machine...."
          hostname
          sudo shutdown -r now


          I commented out the shutdown steps for now in my job so I wouldn't accidentally restart everything before testing. Be sure to uncomment those before attempting to run this.



          Unix_Conditional_StepWindows_Conditional_Step







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Feb 23 '18 at 17:50









          user3270760user3270760

          11327




          11327












          • The only thing I haven't solved yet is how to skip a node if it is offline for some reason.

            – user3270760
            Feb 23 '18 at 17:51

















          • The only thing I haven't solved yet is how to skip a node if it is offline for some reason.

            – user3270760
            Feb 23 '18 at 17:51
















          The only thing I haven't solved yet is how to skip a node if it is offline for some reason.

          – user3270760
          Feb 23 '18 at 17:51





          The only thing I haven't solved yet is how to skip a node if it is offline for some reason.

          – user3270760
          Feb 23 '18 at 17:51

















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Server Fault!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f898614%2frestart-all-jenkins-nodes%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Wikipedia:Vital articles Мазмуну Biography - Өмүр баян Philosophy and psychology - Философия жана психология Religion - Дин Social sciences - Коомдук илимдер Language and literature - Тил жана адабият Science - Илим Technology - Технология Arts and recreation - Искусство жана эс алуу History and geography - Тарых жана география Навигация менюсу

          Bruxelas-Capital Índice Historia | Composición | Situación lingüística | Clima | Cidades irmandadas | Notas | Véxase tamén | Menú de navegacióneO uso das linguas en Bruxelas e a situación do neerlandés"Rexión de Bruxelas Capital"o orixinalSitio da rexiónPáxina de Bruselas no sitio da Oficina de Promoción Turística de Valonia e BruxelasMapa Interactivo da Rexión de Bruxelas-CapitaleeWorldCat332144929079854441105155190212ID28008674080552-90000 0001 0666 3698n94104302ID540940339365017018237

          What should I write in an apology letter, since I have decided not to join a company after accepting an offer letterShould I keep looking after accepting a job offer?What should I do when I've been verbally told I would get an offer letter, but still haven't gotten one after 4 weeks?Do I accept an offer from a company that I am not likely to join?New job hasn't confirmed starting date and I want to give current employer as much notice as possibleHow should I address my manager in my resignation letter?HR delayed background verification, now jobless as resignedNo email communication after accepting a formal written offer. How should I phrase the call?What should I do if after receiving a verbal offer letter I am informed that my written job offer is put on hold due to some internal issues?Should I inform the current employer that I am about to resign within 1-2 weeks since I have signed the offer letter and waiting for visa?What company will do, if I send their offer letter to another company