's incremented when calling the provisioning callback and decremented when the provisioning callback exits (whether if the slave gets online, or gets terminated because it didn't connect after 1 minute). In my tests I was able to susscessfully start 15 jobs on 15 nomad slaves in parallel without overprovisioning.

I still see a problem when slaves fail to connect. For some reason it looks like the `slave.terminate() ` call in the provisioning callback doesn't remove the offline slave from Jenkins and it gets stuck there until the idle termination timeout kicks in. @username_1 if you have an idea on how verify slave removal  - it will be a great help.

@username_2 if you can help with testing - it will be a great help. Can you build your own or would you like a link to a jpi?
<issue_comment>username_2: @username_0 sure, I just built a.hpi using your branch + rebase master from @username_1 with executor changes.

It's working!! both of your changes.
Minor bug: if you launch a few jobs at the same time, it will overprovision slaves:

![image](https://cloud.githubusercontent.com/assets/2879742/17845346/86ce1860-6841-11e6-9460-90aa4d7afaae.png)

not a real problem for me, I just needed true parallelism and you already gave me that :P

please let me know if you need some more specific tests.
thank you both for looking into this! I really appreciate it.
<issue_comment>username_0: @username_2 thanks for the testing effort! I think overprovisioning may be now caused by the number of executors. I need to take it in account when couting the pending capacity. Will retest with Ivo's changes.
<issue_comment>username_2: @username_0 I kept running jobs this morning with `executors=1`, everything OK for now, just another minor problem (part of it was my fault):
I built a custom slave docker image with a faulty CMD, so everytime you provision a slave with this img, it fails and slave status becomes "offline", because java -jar slave.jar will never run.
The plugin kept creating slaves, but didn't delete the ones in "offline".

Maybe would be nice to have a different `timeout` param for this problem, so we don't have a huge offline slave list.
what do you think?

thanks!
<issue_comment>username_0: @username_2 yes - that's exactly what I'm seeing. The offline slaves get deleted only once the idle termination timeout expires even though the plugin calls terminate on them... I still need to understand why they don't get deleted immediately.
<issue_comment>username_0: @username_1 do you have any ideas reagrding hwo to force the removal of slaves that fail to come online? BTW - thinking about it  - this is probably something that's not related to ASAP provisioning at all. Should be occuring in the released version the same way. It does become more annoying when provsioning frequency is higher, but not directly related to it.
<issue_comment>username_1: @username_0 not directly, but maybe this will give us some pointers: https://stackoverflow.com/a/34914384. You are right that the cleanup of slaves should happen regardless of the provisioning strategy. I'll try to look into into further when I get some time.
<issue_comment>username_0: @username_1 I actually tried calling doDelete() after terminate at some point but got an NPE... And the node stayed. wIll try to experiment more with this when I have time. 
Now regarding this PR - do you have any objections to merging it? In my tests it works really well. I didn't see any disconnects. And @username_2 also confirmed it works for him. Thanks for merging the label restriction PR BTW :) I'll rebase this branch against it and push ASAP.CASE STUDY: Oddington Farmhouse - Interior painting - Pro Glos - Professional Painting & Decorating.
We were very happy to work on this beautiful farmhouse, bringing old and new together. We plastered whole house including ceilings, walls and uneven walls. New carpentry bar beams were installed using our additional services.
We painted every ceiling, walls (using Little Green Paint Company) and all woodwork to the customers specification. With the soft wood, we put a Sadolin stain on to ensure it was in keeping with the rest of the original beams. We advised that the wood was too soft and so we painted it to look the same as hardwood.
On the doors we used Osmo, an antibacterial oil. It is expensive, but really enhances the natural tones of the wood. The original colour was kept but a little darker due to the oil.
We decorated the stunning bathroom in which included a huge space with a vaulted, beamed ceiling.
All of the bedrooms had fresh white paint in the bedrooms to give a lovely contrast to the traditional wooden doors and beams. We freshly painted the sitting room and dining rooms walls and also full decoration to the kitchen. Finally we repainted the beamed loft space.
A very beautiful and satisfying job to work on.If you answered yes to any of those questions, then you definitely need a Change of Scenery.
Change of Scenery is a 6 song EP by newcomer artist Quinn XCII. Although he was born in Detroit, his music does not involve shooting people or selling drugs. The upbeat and positive vibe of his songs will, without a doubt, make your head nod as you’re listening to it, blazed out on a Friday night. His songs also have a unique sound: a nice mix of indie and hiphop. Quinn shows his diversity as he mixes up his flow and sings the hook in each of his songs. The most notable song on this EP is “Another Day in Paradise”; you can catch the music video on his YouTube channel (Quinn XCII). You can also find Quinn on Facebook, Twitter and Instagram @QuinnXCII. You can also slide into my dms on Twitter (@ayeitsjayr), holla at my boy on IG (@elguapo_chapo) and Snapchat my homie (swagavanttout).
Q: ParseXML how compare one attribute for take the value of the other in the same element I've got this xml code:
<Turn>
    <Entry type="TurnIn" msgId="124312">
        <field tag="35" val="D"/>
        <field tag="34" val="003694"/>
        <field tag="43" val="20140916-01:29:07"/>
    </Entry>
    <Entry type="Van" msgId="234325">
        <field tag="35" val="8"/>
        <field tag="34" val="005046"/>
        <field tag="43" val="20140916-01:31:17"/>
    </Entry>
    <Entry type="fired" msgId="124864">
        <field tag="35" val="8"/>
        <field tag="34" val="005049"/>
        <field tag="43" val="20140916-01:34:49"/>
    </Entry>
    <Entry type="fired" msgId="134864">
        <field tag="35" val="8"/>
        <field tag="34" val="006324"/>
        <field tag="43" val="20140916-01:35:20"/>
    </Entry>
</Turn>    

For C#.
I need obtain val where Entry, type = "fired" and field,tag = 34 and 43 in a list. I have tried many times with the class XmlReader and Linq to XMl. I don't know how to compare one attribute with the value of the other in the same element.

A: Use XPathDocument (see http://support.microsoft.com/kb/308333) and a XPath query like
//Turn/Entry[@type='fired']/field[@tag=34|@tag=43]@val


A: This can be done using Linq to XML as below
XDocument xDoc = XDocument.Parse(yourXMLString);

//XDocument xDoc = XDocument.Load(yourXMLFilePath);

var res = xDoc.Descendants("Entry")
             .Where(x => x.Attribute("type").Value == "fired")
             .Elements("field")
             .Where(y => y.Attribute("tag").Value == "34" || y.Attribute("tag").Value == "43")
             .Select(a => a.Attribute("val").Value);

Port Vale team news: Brisley, Burgess and Gibbons start, Pope on bench
Port Vale manager John Askey has made three changes for the visit to Morecambe on Saturday afternoon
Experienced central defender Shaun Brisley starts alongside Leon Legge with James Gibbons coming in at right-back. Scott Burgess returns to central midfield while Manny Oyeleke and Nathan Smith both miss out. Smith is reportedly self isolating after coming into contact with a Coronavirus suf