Svet-

On 11/01/2017 15:55, Svetoslav Neykov wrote:
PS - as a near-term option if needed we could extend SoftwareProcess LATCH to do 
something special if the config/sensor it is given is a "Semaphore" type
What do you think the behaviour should be here - releasing the semaphore after 
the corresponding step completes or at the end of the wrapping effector? I 
think this is defined by the blueprint authors. And making this configurable 
adds even more complexity. Instead could invest in developing the above 
functionality.

I'd probably release the latch sempahore right after the phase but I agree it's arbitrary and don't like that. Only suggested it if we need something very quick as it's isolated and probably fairly easy in the code.

Note code exists and is run implicitly I think during the Install step (otherwise things like yum complain), along with I think the class is called SemaphoreWithOwner.

I'd LOVE to invest in the task-based functionality. Code-wise it's not that far away with the type registry and YOML, but it needs a couple more people to become familiar with it!

Lastly I meant to say -- someone mentioned flock but the bash *sem* command (aka parallel) is awesome though not as well known as it should be. This is an example used in zookeeper:


sudo yum install parallel

REMOVE_OLD_CMD="sed -i /server.*=/d zoo.cfg"
ADD_NEW_CMD="cat >> zoo.cfg << EOF
server.0=NEW
server.1=NEW
EOF
"

sem --id brooklyn --fg "$REMOVE_OLD_CMD ; $ADD_NEW_CMD"


It runs the commands in the quotes on the last line while acquiring the semaphore with the given name "brooklyn" on the machine. You can configure semaphore counts and timeouts too.

Best
Alex

Reply via email to