Simple zookeeper client. Now implemented only 2 options: read zNode data and write data to zNode.
mvn install
On Jenkins master node copy plugin to the plugins folder
cp target/zookeeper.hpi /var/lib/jenkins/plugins/zookeeper.hpi
Simple jobe shows how to use plugin
def ZOOKEEPER_HOSTS = "192.168.1.223"
def date
def newZnodeData = "SomeNewData "
def preCreatedZnode = "/MyFirstZnode"
def newZnode
def dataFromZookeeper
def stageName
node() {
stageName = "Prepere variables"
stage(stageName) {
date = sh(script: "date", returnStdout: true)
newZnodeData = newZnodeData + date
newZnodeData = newZnodeData.trim()
newZnode = "/newZnode " + date
newZnode = newZnode.trim()
}
stageName = "Read data from existing node"
stage(stageName) {
println(stageName)
dataFromzookeeper = zookeeperRead "zookeeperNodes": ZOOKEEPER_HOSTS, "znode": preCreatedZnode
println("Got Data: " + dataFromzookeeper)
println("Write data to the zNode")
zookeeperWrite "zookeeperNodes": ZOOKEEPER_HOSTS, "znode": preCreatedZnode, "znodeData": newZnodeData
}
stageName = "Read data written to the zNode"
stage(stageName) {
println(stageName)
dataFromzookeeper = zookeeperRead "zookeeperNodes": ZOOKEEPER_HOSTS, "znode": preCreatedZnode
dataFromzookeeper = dataFromzookeeper.toString().trim()
println("Got data: " + dataFromzookeeper + " Expected data is: " + newZnodeData)
if (newZnodeData.toString().trim() != dataFromzookeeper.trim()) {
println("ERROR " + newZnodeData + " != " + dataFromzookeeper)
} else {
println("Got Expected Data: " + newZnodeData + " == " + dataFromzookeeper)
}
}
stageName = "Create new znode " + newZnode
stage(stageName) {
println(stageName)
zookepeerWrite "zookeeperNodes": ZOOKEEPER_HOSTS, "znode": newZnode, "znodeData": newZnodeData
}
stageName = "Read from new znode " + newZnode
stage(stageName) {
println(stageName)
println(newZnode)
dataFromzookeeper = zookeeperRead "zookeeperNodes": ZOOKEEPER_HOSTS, "znode": newZnode
dataFromzookeeper = dataFromzookeeper.toString().trim()
if (newZnodeData.toString().trim() != dataFromzookeeper.trim()) {
println("ERROR " + newZnodeData + " != " + dataFromzookeeper)
} else {
println("Got Expected Data" + newZnodeData + " == " + dataFromzookeeper)
}
}
}
(this section is autogenerated) Licensed under MIT, see LICENSE