Skip to content
Branch: master
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Fuel-YAQL is a live YAQL master node console for Fuel to easy evaluate yaql conditions user wanted to put into task.

How to use:

on Fuel master node, run yaql -c 'CLUSTER_ID'

where 'CLUSTER_ID' is id of existing cluster which you can get by run

fuel env

command. Cluster id is required there to have an opportunity for use internal Fuel yaql functions such as 'changed' or 'new'. After this fuel-yaql console will be opened:

fuel-yaql >

there you can evaluate all functions and conditions you need just by entering them, for example:

fuel-yaql> changed($)


This console has some internal commands. There they are:

fuel-yaql> :show cluster

Cluster id is: 1, name is: test

shows you the cluster you currently use.

fuel-yaql> :show node

Currently used node id is: master

shows you a node in this cluster for which conditions will be evaluated.

fuel-yaql> :show nodes

Cluster has nodes with ids: {1: 'controller'}

shows you all nodes in this cluster

fuel-yaql> :use cluster 1

will switch contexts to another cluster

fuel-yaql> :use node 1

will switch contexts to another node

fuel-yaql> :show tasks

shows all tasks in 'deployment', 'error', 'ready' and 'pending' states for currently selected cluster. In other words, this commands represents a list of tasks which you can use as a context.

fuel-yaql> :loadprevious task 5

will switch old context to a context of pointed task. It can be worthy if you want to evaluate an expression not for the current cluster state, but for old one.

fuel-yaql> :loadcurrent task 10

will switch new context to context of pointed task. It can be as worthy as :loadprevious command. Maybe you should know that there is no restriction to have old context really older than new context - you can switch them as you want

Fuel itself has several internal yaql functions which are not included to base yaql interpreter. There they are:

changed() - will show you the difference between new and old contexts

new() - returns you new context data

old() - returns you old context data

added() - returns the diff what was added between old and new context

deleted() - returns the diff what was deleted between old and new contexts

changedAll($.first, $.second, $.Nth) - returns True if all expressions in parentheses returns non-False

changedAny($.first, $.second, $.Nth) - returns True if any expression in parentheses returns non-False



[*] Project moved and became a part of Fuel-nailgun


[*] internal fixes, tests added


[+] opportunity to run fuyaql with predefined contexts and expression and return a result


[*] internal fixes


[+] changelog

[+] switched to readline, so input line doesn't looks like telnet one

[+] internal commands autocomplit by Tab

[+] internal commands ':oldcontext task' and ':newcontext task' added

[*] not creating default existing context as a task anymore. It allows to not touch DB for a creating temporary task


[+] first usable version


[+] proof of concept created

You can’t perform that action at this time.