Discussion:
[Fab-user] fabric UI tool
Kaushal Shriyan
2015-07-21 15:09:31 UTC
Permalink
Hi,

Are there Pyhton Fabric UI application which will invoke the fabric cli
commands at the backend. This is for people who are not tech savvy and
hands on using cli commands on the linux console.

Any help will be highly appreciable?

Regards,

Kaushal
Douglas Garstang
2015-07-21 15:43:11 UTC
Permalink
I'd like to know if one exists too, for the same reasons . Non technical
users. I've tried a couple of projects on github, but none seemed to work.
I looked at writing my own with flask but stopped when I realised I wasn't
sure if it was possible to feed stdout from fabric into a web browser line
by line.

Doug.
Post by Kaushal Shriyan
Hi,
Are there Pyhton Fabric UI application which will invoke the fabric cli
commands at the backend. This is for people who are not tech savvy and
hands on using cli commands on the linux console.
Any help will be highly appreciable?
Regards,
Kaushal
_______________________________________________
Fab-user mailing list
https://lists.nongnu.org/mailman/listinfo/fab-user
--
Regards,

Douglas Garstang
http://www.linkedin.com/in/garstang
Email: ***@gmail.com
Cell: +1-805-340-5627
Kaushal Shriyan
2015-07-21 15:52:19 UTC
Permalink
Hi Douglas,

I am not sure about if i understand it completely about "writing my own
with *flask*" Are you referring to http://flask.pocoo.org/ in context to
flask?

Regards,

Kaushal
Post by Douglas Garstang
I'd like to know if one exists too, for the same reasons . Non technical
users. I've tried a couple of projects on github, but none seemed to work.
I looked at writing my own with flask but stopped when I realised I wasn't
sure if it was possible to feed stdout from fabric into a web browser line
by line.
Doug.
Post by Kaushal Shriyan
Hi,
Are there Pyhton Fabric UI application which will invoke the fabric cli
commands at the backend. This is for people who are not tech savvy and
hands on using cli commands on the linux console.
Any help will be highly appreciable?
Regards,
Kaushal
_______________________________________________
Fab-user mailing list
https://lists.nongnu.org/mailman/listinfo/fab-user
--
Regards,
Douglas Garstang
http://www.linkedin.com/in/garstang
Cell: +1-805-340-5627
_______________________________________________
Fab-user mailing list
https://lists.nongnu.org/mailman/listinfo/fab-user
Kaushal Shriyan
2015-07-21 15:55:26 UTC
Permalink
Hi,

Are there any other options to provide GUI Dashboard for python fabric cli
tool specifically to cater to non technical users?

Regards,

Kaushal
Post by Kaushal Shriyan
Hi Douglas,
I am not sure about if i understand it completely about "writing my own
with *flask*" Are you referring to http://flask.pocoo.org/ in context to
flask?
Regards,
Kaushal
Post by Douglas Garstang
I'd like to know if one exists too, for the same reasons . Non technical
users. I've tried a couple of projects on github, but none seemed to work.
I looked at writing my own with flask but stopped when I realised I wasn't
sure if it was possible to feed stdout from fabric into a web browser line
by line.
Doug.
On Tue, Jul 21, 2015 at 8:09 AM, Kaushal Shriyan <
Post by Kaushal Shriyan
Hi,
Are there Pyhton Fabric UI application which will invoke the fabric cli
commands at the backend. This is for people who are not tech savvy and
hands on using cli commands on the linux console.
Any help will be highly appreciable?
Regards,
Kaushal
_______________________________________________
Fab-user mailing list
https://lists.nongnu.org/mailman/listinfo/fab-user
--
Regards,
Douglas Garstang
http://www.linkedin.com/in/garstang
Cell: +1-805-340-5627
_______________________________________________
Fab-user mailing list
https://lists.nongnu.org/mailman/listinfo/fab-user
brian mullan
2015-07-21 17:51:23 UTC
Permalink
I could have misunderstood what I think you were asking but two *GUI based
tools* that utilize
fabric to do automated provisioning are:

*rundeck*

www.rundeck.org

*fabric-bolt:*

https://github.com/worthwhile/fabric-bolt
Douglas Garstang
2015-07-21 18:29:50 UTC
Permalink
Brian,

Rundeck doesn't use fabric. It's totally java based.

Fabric-bolt I tried and was not able to get it to work.

Douglas.
Post by brian mullan
I could have misunderstood what I think you were asking but two *GUI
based tools* that utilize
*rundeck*
www.rundeck.org
*fabric-bolt:*
https://github.com/worthwhile/fabric-bolt
_______________________________________________
Fab-user mailing list
https://lists.nongnu.org/mailman/listinfo/fab-user
--
Regards,

Douglas Garstang
http://www.linkedin.com/in/garstang
Email: ***@gmail.com
Cell: +1-805-340-5627
Kaushal Shriyan
2015-08-04 13:39:42 UTC
Permalink
Hi Brian and Douglas,

Following up on the same question about UI to Fabric Tool. Have you come
across anything new in context to UI to Fabric cli tool to server Non
Technical users?

Regards,

Kaushal
Post by Douglas Garstang
Brian,
Rundeck doesn't use fabric. It's totally java based.
Fabric-bolt I tried and was not able to get it to work.
Douglas.
Post by brian mullan
I could have misunderstood what I think you were asking but two *GUI
based tools* that utilize
*rundeck*
www.rundeck.org
*fabric-bolt:*
https://github.com/worthwhile/fabric-bolt
_______________________________________________
Fab-user mailing list
https://lists.nongnu.org/mailman/listinfo/fab-user
--
Regards,
Douglas Garstang
http://www.linkedin.com/in/garstang
Cell: +1-805-340-5627
_______________________________________________
Fab-user mailing list
https://lists.nongnu.org/mailman/listinfo/fab-user
Alexander Fortin
2015-07-21 19:39:36 UTC
Permalink
Hi,
Are there Pyhton Fabric UI application which will invoke the fabric cli commands at the backend. This is for people who are not tech savvy and hands on using cli commands on the linux console.
Any help will be highly appreciable?
Hi Kaushal,

I’m not aware of any tool that does exactly what you ask for, but in our team we have set up a few parametrized jobs in Jenkins that check out Fabric code and execute some of those tasks for us. It’s far from being ideal, but it gives use a few benefits, including
- possibility to add ACLs and decide who can run what
- execution of tasks from a production server close to the affected hosts (instead of from an operator workstation)
- possibility to easily run them from a smartphone + VPN connection
- availability of logs (with colors! :D) for later inspection

The only tricky part is to set up the ‘Jenkins jobs’ parameters and translate them in Fabric host/roles list and tasks/parameters; again, far from ideal, but of the dozens of tasks we have, only a small subset requires any GUI-interface, so we’re ok with that so far.

HTH
--
Alexander Fortin
Jeff Dyke
2015-07-22 20:22:47 UTC
Permalink
+1 for doing this with Jenkins.

On Tue, Jul 21, 2015 at 3:39 PM, Alexander Fortin <
Post by Kaushal Shriyan
Post by Kaushal Shriyan
Hi,
Are there Pyhton Fabric UI application which will invoke the fabric cli
commands at the backend. This is for people who are not tech savvy and
hands on using cli commands on the linux console.
Post by Kaushal Shriyan
Any help will be highly appreciable?
Hi Kaushal,
I’m not aware of any tool that does exactly what you ask for, but in our
team we have set up a few parametrized jobs in Jenkins that check out
Fabric code and execute some of those tasks for us. It’s far from being
ideal, but it gives use a few benefits, including
- possibility to add ACLs and decide who can run what
- execution of tasks from a production server close to the affected hosts
(instead of from an operator workstation)
- possibility to easily run them from a smartphone + VPN connection
- availability of logs (with colors! :D) for later inspection
The only tricky part is to set up the ‘Jenkins jobs’ parameters and
translate them in Fabric host/roles list and tasks/parameters; again, far
from ideal, but of the dozens of tasks we have, only a small subset
requires any GUI-interface, so we’re ok with that so far.
HTH
--
Alexander Fortin
_______________________________________________
Fab-user mailing list
https://lists.nongnu.org/mailman/listinfo/fab-user
Nathan M
2015-07-21 21:13:30 UTC
Permalink
I am building a webui on top of our
​F​
abric scripts with Flask. It was quite easy to set up, because it's not
dynamic (url paths​ are hardcoded, each route call
​the matching Fabric task)​
​. The tasks are in a subfolder in the Flask project. Here is a small Gist
with the main function :
https://gist.github.com/nMustaki/507c336013bf15a9f289

Building a generic webui would be not easy because everyone would want a
different blend of :
- autodiscovery of fabric tasks
- manual exclusion / inclusion of tasks
- access control
- autocreation of the url routes
- whether to capture and display Fabric output (at task end, line by line)
- if displaying fabric output, which method will you use to communicate
with the client, websocket, wamp, ajax, etc
- how to pass parameters to tasks (if you want them to be usable from the
cli, passing a dict to all tasks is not a good idea)
- how to gauge a task success, failure; display error messages
- scale the whole thing, as fabric task always take a few seconds to
complete (at leat mines)
- etc

I wonder how Ansible, Salt and others web ui does it ?

I needed something quick and dirty, so I chose to :
- hardcode url paths and task calling
- ignore Fabric output
- get failure state from exception raising
- ignore performance issues
- communication with the client is done by ajax

I am also investigating a much nicer v2 with Crossbar.io
<http://www.crossbar.io> : WAMP (turbocharged websocket), async tasks and
pub/sub. As of now, it's working but I had to completely intercept Fabric
output, as it would crash the Twisted processes (output is not lost).
Loading...