title: Jenkins pipeline job always tries to start on master
body: <p>I've restricted builds that my Jenkins master executes, since all its slaves are more powerful than it, in Node security settings. </p>
  
  <p>I mean: "Manage Jenkins" -> "Manage nodes" -> master -> "Configure" -> check "Restrict jobs that run on this node" -> "Job restriction" -> "Regular expression". Then enter regexp like <code>^exact_allowed_job_name$</code>.</p>
  
  <p>Now a pipeline job is stuck in the pending state ("Waiting for next available executor on master").</p>
  
  <p>I cannot find any means to specify a slave that should execute this job in job settings, like the "Restrict where this project can be run" checkbox in freestyle jobs.</p>
  
  <p>Is it possible?</p>
  
  <p>Specifying labels doesn't help. It was the first that I've tried.</p>
  
  <p>This simple pipeline anyway wants the master, regardless <code>'special'</code> label.</p>
  
  <pre><code>#!/usr/bin/env groovy
  
  node('special') {
     stage('checkout') {
         echo 'checkout'
     }
  }
  </code></pre>
  
  <p>This pipeline is stuck too.</p>
  
  <pre><code>#!/usr/bin/env groovy
  
  pipeline {
      agent none
      stages {
          stage('Checkout'){
              agent {
                  label 'special'
              }
              steps {
                  echo 'Checkout'
              }
          }
      }
  }
  </code></pre>