# Chefdash: realtime DevOps dashboard

**URL:** <https://discourse.chef.io/t/chefdash-realtime-devops-dashboard/4773>\
**Category:** Chef Infra (archive)\
**Created:** [November 1, 2013, 1:06pm UTC](https://discourse.chef.io/t/chefdash-realtime-devops-dashboard/4773 "2013-11-01T13:06:20Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![Evan\_Todd](https://avatars.discourse-cdn.com/v4/letter/e/439d5e/32.png) [@Evan\_Todd](https://discourse.chef.io/u/Evan_Todd)\
**Post date:** [November 1, 2013, 1:06pm UTC](https://discourse.chef.io/t/chefdash-realtime-devops-dashboard/4773/1 "2013-11-01T13:06:20Z")

</div>

chefdash is a simple dashboard for tracking Chef runs across a cluster.

With chefdash you can:

- Run chef-client on all nodes in a Chef environment simultaneously, or on a single node
- View output in realtime and quickly see if any nodes failed
- Automatically bootstrap new nodes

More features are planned:

- Provide an alternative to the Chef Web UI JSON editor
- Expose knife ssh functionality for arbitrary commands

Give it a try and let me know what you think!

---

<div class="post-metadata">

**Author:** ![David\_Montgomery](https://avatars.discourse-cdn.com/v4/letter/d/51bf81/32.png) [@David\_Montgomery](https://discourse.chef.io/u/David_Montgomery)\
**Post date:** [November 1, 2013, 1:31pm UTC](https://discourse.chef.io/t/chefdash-realtime-devops-dashboard/4773/2 "2013-11-01T13:31:05Z")

</div>

OMG!!!!!!! Soooooo Nice!!!!!!! Great Job! I needed this........

Thanks

On Fri, Nov 1, 2013 at 9:06 PM, Evan Todd [evan@sidebolt.com](mailto:evan@sidebolt.com) wrote:

> chefdash [http://sidebolt.github.io/chefdash/](http://sidebolt.github.io/chefdash/) is a simple dashboard for  
> tracking Chef runs across a cluster.
> 
> With chefdash you can:
> 
> - Run chef-client on all nodes in a Chef environment simultaneously, or on  
> a single node
> - View output in realtime and quickly see if any nodes failed
> - Automatically bootstrap new nodes
> 
> More features are planned:
> 
> - Provide an alternative to the Chef Web UI JSON editor
> - Expose knife ssh functionality for arbitrary commands
> 
> Give it a try and let me know what you think!

---

<div class="post-metadata">

**Author:** ![DV1](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/dv1/32/186_2.png) [@DV1](https://discourse.chef.io/u/DV1)\
**Post date:** [November 7, 2013, 5:52pm UTC](https://discourse.chef.io/t/chefdash-realtime-devops-dashboard/4773/3 "2013-11-07T17:52:29Z")

</div>

I tried it, but couldn't find default initial login/pass for the web UI,  
and also, no matter what login/pass I typed I got "Internal Server Error"  
in response.

2013-11-07 09:36:47,139 chefdash INFO Listening on 0.0.0.0:5000  
2013-11-07 09:45:14,237 chefdash INFO Listening on 0.0.0.0:5000  
2013-11-07 09:45:39,776 chefdash ERROR Exception on /login [POST]  
Traceback (most recent call last):  
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1817, in  
wsgi\_app  
response = self.full\_dispatch\_request()  
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1477, in  
full\_dispatch\_request  
rv = self.handle\_user\_exception(e)  
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1381, in  
handle\_user\_exception  
reraise(exc\_type, exc\_value, tb)  
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1475, in  
full\_dispatch\_request  
rv = self.dispatch\_request()  
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1461, in  
dispatch\_request  
return self.view\_functionsrule.endpoint  
File  
"/usr/local/lib/python2.7/dist-packages/chefdash-0.1.0-py2.7.egg/chefdash/ **init**.py",  
line 341, in login  
auth\_result = ujson.decode(api.request('POST', '/authenticate\_user',  
data = ujson.encode({ 'name': username, 'password': password })))  
File "/usr/local/lib/python2.7/dist-packages/chef/api.py", line 209, in  
request  
raise e  
HTTPError: HTTP Error 404: Not Found

On Fri, Nov 1, 2013 at 6:06 AM, Evan Todd [evan@sidebolt.com](mailto:evan@sidebolt.com) wrote:

> chefdash [http://sidebolt.github.io/chefdash/](http://sidebolt.github.io/chefdash/) is a simple dashboard for  
> tracking Chef runs across a cluster.
> 
> With chefdash you can:
> 
> - Run chef-client on all nodes in a Chef environment simultaneously, or on  
> a single node
> - View output in realtime and quickly see if any nodes failed
> - Automatically bootstrap new nodes
> 
> More features are planned:
> 
> - Provide an alternative to the Chef Web UI JSON editor
> - Expose knife ssh functionality for arbitrary commands
> 
> Give it a try and let me know what you think!

--  
Best regards, Dmitriy V.

---

<div class="post-metadata">

**Author:** ![William\_Soula](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/william_soula/32/955_2.png) [@William\_Soula](https://discourse.chef.io/u/William_Soula)\
**Post date:** [November 14, 2013, 8:19pm UTC](https://discourse.chef.io/t/chefdash-realtime-devops-dashboard/4773/4 "2013-11-14T20:19:04Z")

</div>

I am having the same issue. Did anyone ever figure out what the default login user and password was?

Will

* * *

From: DV [vindimy@gmail.com]  
Sent: Thursday, November 07, 2013 11:52 AM  
To: [chef@lists.opscode.com](mailto:chef@lists.opscode.com)  
Subject: [chef] Re: chefdash: realtime DevOps dashboard

I tried it, but couldn’t find default initial login/pass for the web UI, and also, no matter what login/pass I typed I got “Internal Server Error” in response.

2013-11-07 09:36:47,139 chefdash INFO Listening on 0.0.0.0:5000[http://0.0.0.0:5000](http://0.0.0.0:5000)  
2013-11-07 09:45:14,237 chefdash INFO Listening on 0.0.0.0:5000[http://0.0.0.0:5000](http://0.0.0.0:5000)  
2013-11-07 09:45:39,776 chefdash ERROR Exception on /login [POST]  
Traceback (most recent call last):  
File “/usr/local/lib/python2.7/dist-packages/flask/app.py”, line 1817, in wsgi\_app  
response = self.full\_dispatch\_request()  
File “/usr/local/lib/python2.7/dist-packages/flask/app.py”, line 1477, in full\_dispatch\_request  
rv = self.handle\_user\_exception(e)  
File “/usr/local/lib/python2.7/dist-packages/flask/app.py”, line 1381, in handle\_user\_exception  
reraise(exc\_type, exc\_value, tb)  
File “/usr/local/lib/python2.7/dist-packages/flask/app.py”, line 1475, in full\_dispatch\_request  
rv = self.dispatch\_request()  
File “/usr/local/lib/python2.7/dist-packages/flask/app.py”, line 1461, in dispatch\_request  
return self.view\_functionsrule.endpoint  
File “/usr/local/lib/python2.7/dist-packages/chefdash-0.1.0-py2.7.egg/chefdash/ **init**.py”, line 341, in login  
auth\_result = ujson.decode(api.request(‘POST’, ‘/authenticate\_user’, data = ujson.encode({ ‘name’: username, ‘password’: password })))  
File “/usr/local/lib/python2.7/dist-packages/chef/api.py”, line 209, in request  
raise e  
HTTPError: HTTP Error 404: Not Found

On Fri, Nov 1, 2013 at 6:06 AM, Evan Todd \<[evan@sidebolt.com](mailto:evan@sidebolt.com)[mailto:evan@sidebolt.com](mailto:evan@sidebolt.com)\> wrote:  
chefdash[http://sidebolt.github.io/chefdash/](http://sidebolt.github.io/chefdash/) is a simple dashboard for tracking Chef runs across a cluster.

With chefdash you can:

- Run chef-client on all nodes in a Chef environment simultaneously, or on a single node
- View output in realtime and quickly see if any nodes failed
- Automatically bootstrap new nodes

More features are planned:

- Provide an alternative to the Chef Web UI JSON editor
- Expose knife ssh functionality for arbitrary commands

Give it a try and let me know what you think!

–  
Best regards, Dmitriy V.

---

<div class="post-metadata">

**Author:** ![Morgan\_Blackthorne](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/morgan_blackthorne/32/100_2.png) [@Morgan\_Blackthorne](https://discourse.chef.io/u/Morgan_Blackthorne)\
**Post date:** [November 14, 2013, 8:24pm UTC](https://discourse.chef.io/t/chefdash-realtime-devops-dashboard/4773/5 "2013-11-14T20:24:22Z")

</div>

It auths against the Chef server, so you use the same credentials you use  
for the WebUI.

--  
~_~ StormeRider ~_~

"Every world needs its heroes [...] They inspire us to be better than we  
are. And they protect from the darkness that's just around the corner."

(from Smallville Season 6x1: "Zod")

On why I hate the phrase "that's so lame"... [http://bit.ly/Ps3uSS](http://bit.ly/Ps3uSS)

On Thu, Nov 14, 2013 at 12:19 PM, William Soula \<  
[william.soula@drillinginfo.com](mailto:william.soula@drillinginfo.com)\> wrote:

> I am having the same issue. Did anyone ever figure out what the default  
> login user and password was?
> 
> Will
> 
> * * *
> 
> _From:_ DV [vindimy@gmail.com]  
> _Sent:_ Thursday, November 07, 2013 11:52 AM  
> _To:_ [chef@lists.opscode.com](mailto:chef@lists.opscode.com)  
> _Subject:_ [chef] Re: chefdash: realtime DevOps dashboard
> 
> I tried it, but couldn't find default initial login/pass for the web  
> UI, and also, no matter what login/pass I typed I got "Internal Server  
> Error" in response.
> 
> 2013-11-07 09:36:47,139 chefdash INFO Listening on 0.0.0.0:5000  
> 2013-11-07 09:45:14,237 chefdash INFO Listening on 0.0.0.0:5000  
> 2013-11-07 09:45:39,776 chefdash ERROR Exception on /login [POST]  
> Traceback (most recent call last):  
> File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1817,  
> in wsgi\_app  
> response = self.full\_dispatch\_request()  
> File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1477,  
> in full\_dispatch\_request  
> rv = self.handle\_user\_exception(e)  
> File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1381,  
> in handle\_user\_exception  
> reraise(exc\_type, exc\_value, tb)  
> File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1475,  
> in full\_dispatch\_request  
> rv = self.dispatch\_request()  
> File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1461,  
> in dispatch\_request  
> return self.view\_functionsrule.endpoint  
> File  
> "/usr/local/lib/python2.7/dist-packages/chefdash-0.1.0-py2.7.egg/chefdash/ **init**.py",  
> line 341, in login  
> auth\_result = ujson.decode(api.request('POST', '/authenticate\_user',  
> data = ujson.encode({ 'name': username, 'password': password })))  
> File "/usr/local/lib/python2.7/dist-packages/chef/api.py", line 209, in  
> request  
> raise e  
> HTTPError: HTTP Error 404: Not Found
> 
> On Fri, Nov 1, 2013 at 6:06 AM, Evan Todd [evan@sidebolt.com](mailto:evan@sidebolt.com) wrote:
> 
> > chefdash [http://sidebolt.github.io/chefdash/](http://sidebolt.github.io/chefdash/) is a simple dashboard for  
> > tracking Chef runs across a cluster.
> > 
> > With chefdash you can:
> > 
> > - Run chef-client on all nodes in a Chef environment simultaneously, or  
> > on a single node
> > - View output in realtime and quickly see if any nodes failed
> > - Automatically bootstrap new nodes
> > 
> > More features are planned:
> > 
> > - Provide an alternative to the Chef Web UI JSON editor
> > - Expose knife ssh functionality for arbitrary commands
> > 
> > Give it a try and let me know what you think!
> 
> --  
> Best regards, Dmitriy V.

---

<div class="post-metadata">

**Author:** ![William\_Soula](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/william_soula/32/955_2.png) [@William\_Soula](https://discourse.chef.io/u/William_Soula)\
**Post date:** [November 14, 2013, 8:59pm UTC](https://discourse.chef.io/t/chefdash-realtime-devops-dashboard/4773/6 "2013-11-14T20:59:29Z")

</div>

I just tried that and it still didn’t work. My stacktrace is actually a little different

2013-11-14 20:55:47,749 chefdash ERROR Exception on /login [POST]  
Traceback (most recent call last):  
File “/usr/local/lib/python2.7/dist-packages/flask/app.py”, line 1817, in wsgi\_app  
response = self.full\_dispatch\_request()  
File “/usr/local/lib/python2.7/dist-packages/flask/app.py”, line 1477, in full\_dispatch\_request  
rv = self.handle\_user\_exception(e)  
File “/usr/local/lib/python2.7/dist-packages/flask/app.py”, line 1381, in handle\_user\_exception  
reraise(exc\_type, exc\_value, tb)  
File “/usr/local/lib/python2.7/dist-packages/flask/app.py”, line 1475, in full\_dispatch\_request  
rv = self.dispatch\_request()  
File “/usr/local/lib/python2.7/dist-packages/flask/app.py”, line 1461, in dispatch\_request  
return self.view\_functionsrule.endpoint  
File “/usr/local/lib/python2.7/dist-packages/chefdash-0.1.0-py2.7.egg/chefdash/ **init**.py”, line 341, in login  
auth\_result = ujson.decode(api.request(‘POST’, ‘/authenticate\_user’, data = ujson.encode({ ‘name’: username, ‘password’: password })))  
AttributeError: ‘NoneType’ object has no attribute ‘request’

Will

* * *

From: Morgan Blackthorne [stormerider@gmail.com]  
Sent: Thursday, November 14, 2013 2:24 PM  
To: [chef@lists.opscode.com](mailto:chef@lists.opscode.com)  
Subject: [chef] Re: RE: Re: chefdash: realtime DevOps dashboard

It auths against the Chef server, so you use the same credentials you use for the WebUI.

–  
~_~ StormeRider ~_~

“Every world needs its heroes […] They inspire us to be better than we are. And they protect from the darkness that’s just around the corner.”

(from Smallville Season 6x1: “Zod”)

On why I hate the phrase “that’s so lame”… [http://bit.ly/Ps3uSS](http://bit.ly/Ps3uSS)

On Thu, Nov 14, 2013 at 12:19 PM, William Soula \<[william.soula@drillinginfo.com](mailto:william.soula@drillinginfo.com)[mailto:william.soula@drillinginfo.com](mailto:william.soula@drillinginfo.com)\> wrote:  
I am having the same issue. Did anyone ever figure out what the default login user and password was?

Will

* * *

From: DV [vindimy@gmail.com[mailto:vindimy@gmail.com](mailto:vindimy@gmail.com)]  
Sent: Thursday, November 07, 2013 11:52 AM  
To: [chef@lists.opscode.com](mailto:chef@lists.opscode.com)[mailto:chef@lists.opscode.com](mailto:chef@lists.opscode.com)  
Subject: [chef] Re: chefdash: realtime DevOps dashboard

I tried it, but couldn’t find default initial login/pass for the web UI, and also, no matter what login/pass I typed I got “Internal Server Error” in response.

2013-11-07 09:36:47,139 chefdash INFO Listening on 0.0.0.0:5000[http://0.0.0.0:5000](http://0.0.0.0:5000)  
2013-11-07 09:45:14,237 chefdash INFO Listening on 0.0.0.0:5000[http://0.0.0.0:5000](http://0.0.0.0:5000)  
2013-11-07 09:45:39,776 chefdash ERROR Exception on /login [POST]  
Traceback (most recent call last):  
File “/usr/local/lib/python2.7/dist-packages/flask/app.py”, line 1817, in wsgi\_app  
response = self.full\_dispatch\_request()  
File “/usr/local/lib/python2.7/dist-packages/flask/app.py”, line 1477, in full\_dispatch\_request  
rv = self.handle\_user\_exception(e)  
File “/usr/local/lib/python2.7/dist-packages/flask/app.py”, line 1381, in handle\_user\_exception  
reraise(exc\_type, exc\_value, tb)  
File “/usr/local/lib/python2.7/dist-packages/flask/app.py”, line 1475, in full\_dispatch\_request  
rv = self.dispatch\_request()  
File “/usr/local/lib/python2.7/dist-packages/flask/app.py”, line 1461, in dispatch\_request  
return self.view\_functionsrule.endpoint  
File “/usr/local/lib/python2.7/dist-packages/chefdash-0.1.0-py2.7.egg/chefdash/ **init**.py”, line 341, in login  
auth\_result = ujson.decode(api.request(‘POST’, ‘/authenticate\_user’, data = ujson.encode({ ‘name’: username, ‘password’: password })))  
File “/usr/local/lib/python2.7/dist-packages/chef/api.py”, line 209, in request  
raise e  
HTTPError: HTTP Error 404: Not Found

On Fri, Nov 1, 2013 at 6:06 AM, Evan Todd \<[evan@sidebolt.com](mailto:evan@sidebolt.com)[mailto:evan@sidebolt.com](mailto:evan@sidebolt.com)\> wrote:  
chefdash[http://sidebolt.github.io/chefdash/](http://sidebolt.github.io/chefdash/) is a simple dashboard for tracking Chef runs across a cluster.

With chefdash you can:

- Run chef-client on all nodes in a Chef environment simultaneously, or on a single node
- View output in realtime and quickly see if any nodes failed
- Automatically bootstrap new nodes

More features are planned:

- Provide an alternative to the Chef Web UI JSON editor
- Expose knife ssh functionality for arbitrary commands

Give it a try and let me know what you think!

–  
Best regards, Dmitriy V.

---

<div class="post-metadata">

**Author:** ![William\_Soula](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/william_soula/32/955_2.png) [@William\_Soula](https://discourse.chef.io/u/William_Soula)\
**Post date:** [November 14, 2013, 9:16pm UTC](https://discourse.chef.io/t/chefdash-realtime-devops-dashboard/4773/7 "2013-11-14T21:16:01Z")

</div>

What port does it talk to opscode on?

Will

* * *

From: William Soula [william.soula@drillinginfo.com]  
Sent: Thursday, November 14, 2013 2:59 PM  
To: [chef@lists.opscode.com](mailto:chef@lists.opscode.com)  
Subject: [chef] RE: Re: RE: Re: chefdash: realtime DevOps dashboard

I just tried that and it still didn’t work. My stacktrace is actually a little different

2013-11-14 20:55:47,749 chefdash ERROR Exception on /login [POST]  
Traceback (most recent call last):  
File “/usr/local/lib/python2.7/dist-packages/flask/app.py”, line 1817, in wsgi\_app  
response = self.full\_dispatch\_request()  
File “/usr/local/lib/python2.7/dist-packages/flask/app.py”, line 1477, in full\_dispatch\_request  
rv = self.handle\_user\_exception(e)  
File “/usr/local/lib/python2.7/dist-packages/flask/app.py”, line 1381, in handle\_user\_exception  
reraise(exc\_type, exc\_value, tb)  
File “/usr/local/lib/python2.7/dist-packages/flask/app.py”, line 1475, in full\_dispatch\_request  
rv = self.dispatch\_request()  
File “/usr/local/lib/python2.7/dist-packages/flask/app.py”, line 1461, in dispatch\_request  
return self.view\_functionsrule.endpoint  
File “/usr/local/lib/python2.7/dist-packages/chefdash-0.1.0-py2.7.egg/chefdash/ **init**.py”, line 341, in login  
auth\_result = ujson.decode(api.request(‘POST’, ‘/authenticate\_user’, data = ujson.encode({ ‘name’: username, ‘password’: password })))  
AttributeError: ‘NoneType’ object has no attribute ‘request’

Will

* * *

From: Morgan Blackthorne [stormerider@gmail.com]  
Sent: Thursday, November 14, 2013 2:24 PM  
To: [chef@lists.opscode.com](mailto:chef@lists.opscode.com)  
Subject: [chef] Re: RE: Re: chefdash: realtime DevOps dashboard

It auths against the Chef server, so you use the same credentials you use for the WebUI.

–  
~_~ StormeRider ~_~

“Every world needs its heroes […] They inspire us to be better than we are. And they protect from the darkness that’s just around the corner.”

(from Smallville Season 6x1: “Zod”)

On why I hate the phrase “that’s so lame”… [http://bit.ly/Ps3uSS](http://bit.ly/Ps3uSS)

On Thu, Nov 14, 2013 at 12:19 PM, William Soula \<[william.soula@drillinginfo.com](mailto:william.soula@drillinginfo.com)[mailto:william.soula@drillinginfo.com](mailto:william.soula@drillinginfo.com)\> wrote:  
I am having the same issue. Did anyone ever figure out what the default login user and password was?

Will

* * *

From: DV [vindimy@gmail.com[mailto:vindimy@gmail.com](mailto:vindimy@gmail.com)]  
Sent: Thursday, November 07, 2013 11:52 AM  
To: [chef@lists.opscode.com](mailto:chef@lists.opscode.com)[mailto:chef@lists.opscode.com](mailto:chef@lists.opscode.com)  
Subject: [chef] Re: chefdash: realtime DevOps dashboard

I tried it, but couldn’t find default initial login/pass for the web UI, and also, no matter what login/pass I typed I got “Internal Server Error” in response.

2013-11-07 09:36:47,139 chefdash INFO Listening on 0.0.0.0:5000[http://0.0.0.0:5000](http://0.0.0.0:5000)  
2013-11-07 09:45:14,237 chefdash INFO Listening on 0.0.0.0:5000[http://0.0.0.0:5000](http://0.0.0.0:5000)  
2013-11-07 09:45:39,776 chefdash ERROR Exception on /login [POST]  
Traceback (most recent call last):  
File “/usr/local/lib/python2.7/dist-packages/flask/app.py”, line 1817, in wsgi\_app  
response = self.full\_dispatch\_request()  
File “/usr/local/lib/python2.7/dist-packages/flask/app.py”, line 1477, in full\_dispatch\_request  
rv = self.handle\_user\_exception(e)  
File “/usr/local/lib/python2.7/dist-packages/flask/app.py”, line 1381, in handle\_user\_exception  
reraise(exc\_type, exc\_value, tb)  
File “/usr/local/lib/python2.7/dist-packages/flask/app.py”, line 1475, in full\_dispatch\_request  
rv = self.dispatch\_request()  
File “/usr/local/lib/python2.7/dist-packages/flask/app.py”, line 1461, in dispatch\_request  
return self.view\_functionsrule.endpoint  
File “/usr/local/lib/python2.7/dist-packages/chefdash-0.1.0-py2.7.egg/chefdash/ **init**.py”, line 341, in login  
auth\_result = ujson.decode(api.request(‘POST’, ‘/authenticate\_user’, data = ujson.encode({ ‘name’: username, ‘password’: password })))  
File “/usr/local/lib/python2.7/dist-packages/chef/api.py”, line 209, in request  
raise e  
HTTPError: HTTP Error 404: Not Found

On Fri, Nov 1, 2013 at 6:06 AM, Evan Todd \<[evan@sidebolt.com](mailto:evan@sidebolt.com)[mailto:evan@sidebolt.com](mailto:evan@sidebolt.com)\> wrote:  
chefdash[http://sidebolt.github.io/chefdash/](http://sidebolt.github.io/chefdash/) is a simple dashboard for tracking Chef runs across a cluster.

With chefdash you can:

- Run chef-client on all nodes in a Chef environment simultaneously, or on a single node
- View output in realtime and quickly see if any nodes failed
- Automatically bootstrap new nodes

More features are planned:

- Provide an alternative to the Chef Web UI JSON editor
- Expose knife ssh functionality for arbitrary commands

Give it a try and let me know what you think!

–  
Best regards, Dmitriy V.

---

<div class="post-metadata">

**Author:** ![Morgan\_Blackthorne](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/morgan_blackthorne/32/100_2.png) [@Morgan\_Blackthorne](https://discourse.chef.io/u/Morgan_Blackthorne)\
**Post date:** [November 14, 2013, 10:04pm UTC](https://discourse.chef.io/t/chefdash-realtime-devops-dashboard/4773/8 "2013-11-14T22:04:27Z")

</div>

Should use whatever you configured inside knife. I'd verify that you can  
run knife commands as the chefdash user to ensure that config is correct.

--  
~_~ StormeRider ~_~

"Every world needs its heroes [...] They inspire us to be better than we  
are. And they protect from the darkness that's just around the corner."

(from Smallville Season 6x1: "Zod")

On why I hate the phrase "that's so lame"... [http://bit.ly/Ps3uSS](http://bit.ly/Ps3uSS)

On Thu, Nov 14, 2013 at 1:16 PM, William Soula \<  
[william.soula@drillinginfo.com](mailto:william.soula@drillinginfo.com)\> wrote:

> What port does it talk to opscode on?
> 
> Will
> 
> * * *
> 
> _From:_ William Soula [william.soula@drillinginfo.com]  
> _Sent:_ Thursday, November 14, 2013 2:59 PM  
> _To:_ [chef@lists.opscode.com](mailto:chef@lists.opscode.com)  
> _Subject:_ [chef] RE: Re: RE: Re: chefdash: realtime DevOps dashboard
> 
> I just tried that and it still didn't work. My stacktrace is actually  
> a little different
> 
> 2013-11-14 20:55:47,749 chefdash ERROR Exception on /login [POST]  
> Traceback (most recent call last):  
> File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1817,  
> in wsgi\_app  
> response = self.full\_dispatch\_request()  
> File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1477,  
> in full\_dispatch\_request  
> rv = self.handle\_user\_exception(e)  
> File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1381,  
> in handle\_user\_exception  
> reraise(exc\_type, exc\_value, tb)  
> File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1475,  
> in full\_dispatch\_request  
> rv = self.dispatch\_request()  
> File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1461,  
> in dispatch\_request  
> return self.view\_functionsrule.endpoint  
> File  
> "/usr/local/lib/python2.7/dist-packages/chefdash-0.1.0-py2.7.egg/chefdash/ **init**.py",  
> line 341, in login  
> auth\_result = ujson.decode(api.request('POST', '/authenticate\_user',  
> data = ujson.encode({ 'name': username, 'password': password })))  
> AttributeError: 'NoneType' object has no attribute 'request'
> 
> Will
> 
> * * *
> 
> _From:_ Morgan Blackthorne [stormerider@gmail.com]  
> _Sent:_ Thursday, November 14, 2013 2:24 PM  
> _To:_ [chef@lists.opscode.com](mailto:chef@lists.opscode.com)  
> _Subject:_ [chef] Re: RE: Re: chefdash: realtime DevOps dashboard
> 
> It auths against the Chef server, so you use the same credentials you  
> use for the WebUI.
> 
> --  
> ~_~ StormeRider ~_~
> 
> "Every world needs its heroes [...] They inspire us to be better than we  
> are. And they protect from the darkness that's just around the corner."
> 
> (from Smallville Season 6x1: "Zod")
> 
> On why I hate the phrase "that's so lame"... [http://bit.ly/Ps3uSS](http://bit.ly/Ps3uSS)
> 
> On Thu, Nov 14, 2013 at 12:19 PM, William Soula \<  
> [william.soula@drillinginfo.com](mailto:william.soula@drillinginfo.com)\> wrote:
> 
> > I am having the same issue. Did anyone ever figure out what the  
> > default login user and password was?
> > 
> > Will
> > 
> > * * *
> > 
> > _From:_ DV [vindimy@gmail.com]  
> > _Sent:_ Thursday, November 07, 2013 11:52 AM  
> > _To:_ [chef@lists.opscode.com](mailto:chef@lists.opscode.com)  
> > _Subject:_ [chef] Re: chefdash: realtime DevOps dashboard
> > 
> > I tried it, but couldn't find default initial login/pass for the web  
> > UI, and also, no matter what login/pass I typed I got "Internal Server  
> > Error" in response.
> > 
> > 2013-11-07 09:36:47,139 chefdash INFO Listening on  
> > 0.0.0.0:5000  
> > 2013-11-07 09:45:14,237 chefdash INFO Listening on 0.0.0.0:5000  
> > 2013-11-07 09:45:39,776 chefdash ERROR Exception on /login [POST]  
> > Traceback (most recent call last):  
> > File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1817,  
> > in wsgi\_app  
> > response = self.full\_dispatch\_request()  
> > File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1477,  
> > in full\_dispatch\_request  
> > rv = self.handle\_user\_exception(e)  
> > File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1381,  
> > in handle\_user\_exception  
> > reraise(exc\_type, exc\_value, tb)  
> > File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1475,  
> > in full\_dispatch\_request  
> > rv = self.dispatch\_request()  
> > File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1461,  
> > in dispatch\_request  
> > return self.view\_functionsrule.endpoint  
> > File  
> > "/usr/local/lib/python2.7/dist-packages/chefdash-0.1.0-py2.7.egg/chefdash/ **init**.py",  
> > line 341, in login  
> > auth\_result = ujson.decode(api.request('POST', '/authenticate\_user',  
> > data = ujson.encode({ 'name': username, 'password': password })))  
> > File "/usr/local/lib/python2.7/dist-packages/chef/api.py", line 209, in  
> > request  
> > raise e  
> > HTTPError: HTTP Error 404: Not Found
> > 
> > On Fri, Nov 1, 2013 at 6:06 AM, Evan Todd [evan@sidebolt.com](mailto:evan@sidebolt.com) wrote:
> > 
> > > chefdash [http://sidebolt.github.io/chefdash/](http://sidebolt.github.io/chefdash/) is a simple dashboard  
> > > for tracking Chef runs across a cluster.
> > > 
> > > With chefdash you can:
> > > 
> > > - Run chef-client on all nodes in a Chef environment simultaneously, or  
> > > on a single node
> > > - View output in realtime and quickly see if any nodes failed
> > > - Automatically bootstrap new nodes
> > > 
> > > More features are planned:
> > > 
> > > - Provide an alternative to the Chef Web UI JSON editor
> > > - Expose knife ssh functionality for arbitrary commands
> > > 
> > > Give it a try and let me know what you think!
> > 
> > --  
> > Best regards, Dmitriy V.

---

<div class="post-metadata">

**Author:** ![William\_Soula](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/william_soula/32/955_2.png) [@William\_Soula](https://discourse.chef.io/u/William_Soula)\
**Post date:** [November 15, 2013, 2:04pm UTC](https://discourse.chef.io/t/chefdash-realtime-devops-dashboard/4773/9 "2013-11-15T14:04:00Z")

</div>

That helped me some, to know what I needed to get working but now I get a 404 ChefServerError. I was able to log out `self.url+path and it is [https://api.opscode.com/organizations/](https://api.opscode.com/organizations/)[our org]/authenticate\_user, which I checked with curl that the chefdash user could hit. Does anyone have any other ideas for debugging my problem? I would really like for chefdash to work for me.

2013-11-15 13:40:11,263 chefdash ERROR Exception on /login [POST]  
Traceback (most recent call last):  
File “/usr/local/lib/python2.7/dist-packages/flask/app.py”, line 1817, in wsgi\_app  
response = self.full\_dispatch\_request()  
File “/usr/local/lib/python2.7/dist-packages/flask/app.py”, line 1477, in full\_dispatch\_request  
rv = self.handle\_user\_exception(e)  
File “/usr/local/lib/python2.7/dist-packages/flask/app.py”, line 1381, in handle\_user\_exception  
reraise(exc\_type, exc\_value, tb)  
File “/usr/local/lib/python2.7/dist-packages/flask/app.py”, line 1475, in full\_dispatch\_request  
rv = self.dispatch\_request()  
File “/usr/local/lib/python2.7/dist-packages/flask/app.py”, line 1461, in dispatch\_request  
return self.view\_functionsrule.endpoint  
File “/usr/local/lib/python2.7/dist-packages/chefdash-0.1.0-py2.7.egg/chefdash/ **init**.py”, line 343, in login  
auth\_result = ujson.decode(api.request(‘POST’, ‘/authenticate\_user’, data = ujson.encode({ ‘name’: username, ‘password’: password })))  
File “/usr/local/lib/python2.7/dist-packages/chef/api.py”, line 209, in request  
raise ChefServerError.from\_error(e.content[‘error’]+“y”, code=e.code+1000)  
ChefServerError: 404 - Not Found: Sorry, I can’t find what you are looking for.

Will

* * *

From: Morgan Blackthorne [stormerider@gmail.com]  
Sent: Thursday, November 14, 2013 4:04 PM  
To: [chef@lists.opscode.com](mailto:chef@lists.opscode.com)  
Subject: [chef] Re: RE: RE: Re: RE: Re: chefdash: realtime DevOps dashboard

Should use whatever you configured inside knife. I’d verify that you can run knife commands as the chefdash user to ensure that config is correct.

–  
~_~ StormeRider ~_~

“Every world needs its heroes […] They inspire us to be better than we are. And they protect from the darkness that’s just around the corner.”

(from Smallville Season 6x1: “Zod”)

On why I hate the phrase “that’s so lame”… [http://bit.ly/Ps3uSS](http://bit.ly/Ps3uSS)

On Thu, Nov 14, 2013 at 1:16 PM, William Soula \<[william.soula@drillinginfo.com](mailto:william.soula@drillinginfo.com)[mailto:william.soula@drillinginfo.com](mailto:william.soula@drillinginfo.com)\> wrote:  
What port does it talk to opscode on?

Will

* * *

From: William Soula [william.soula@drillinginfo.com[mailto:william.soula@drillinginfo.com](mailto:william.soula@drillinginfo.com)]  
Sent: Thursday, November 14, 2013 2:59 PM  
To: [chef@lists.opscode.com](mailto:chef@lists.opscode.com)[mailto:chef@lists.opscode.com](mailto:chef@lists.opscode.com)  
Subject: [chef] RE: Re: RE: Re: chefdash: realtime DevOps dashboard

I just tried that and it still didn’t work. My stacktrace is actually a little different

2013-11-14 20:55:47,749 chefdash ERROR Exception on /login [POST]  
Traceback (most recent call last):  
File “/usr/local/lib/python2.7/dist-packages/flask/app.py”, line 1817, in wsgi\_app  
response = self.full\_dispatch\_request()  
File “/usr/local/lib/python2.7/dist-packages/flask/app.py”, line 1477, in full\_dispatch\_request  
rv = self.handle\_user\_exception(e)  
File “/usr/local/lib/python2.7/dist-packages/flask/app.py”, line 1381, in handle\_user\_exception  
reraise(exc\_type, exc\_value, tb)  
File “/usr/local/lib/python2.7/dist-packages/flask/app.py”, line 1475, in full\_dispatch\_request  
rv = self.dispatch\_request()  
File “/usr/local/lib/python2.7/dist-packages/flask/app.py”, line 1461, in dispatch\_request  
return self.view\_functionsrule.endpoint  
File “/usr/local/lib/python2.7/dist-packages/chefdash-0.1.0-py2.7.egg/chefdash/ **init**.py”, line 341, in login  
auth\_result = ujson.decode(api.request(‘POST’, ‘/authenticate\_user’, data = ujson.encode({ ‘name’: username, ‘password’: password })))  
AttributeError: ‘NoneType’ object has no attribute ‘request’

Will

* * *

From: Morgan Blackthorne [stormerider@gmail.com[mailto:stormerider@gmail.com](mailto:stormerider@gmail.com)]  
Sent: Thursday, November 14, 2013 2:24 PM  
To: [chef@lists.opscode.com](mailto:chef@lists.opscode.com)[mailto:chef@lists.opscode.com](mailto:chef@lists.opscode.com)  
Subject: [chef] Re: RE: Re: chefdash: realtime DevOps dashboard

It auths against the Chef server, so you use the same credentials you use for the WebUI.

–  
~_~ StormeRider ~_~

“Every world needs its heroes […] They inspire us to be better than we are. And they protect from the darkness that’s just around the corner.”

(from Smallville Season 6x1: “Zod”)

On why I hate the phrase “that’s so lame”… [http://bit.ly/Ps3uSS](http://bit.ly/Ps3uSS)

On Thu, Nov 14, 2013 at 12:19 PM, William Soula \<[william.soula@drillinginfo.com](mailto:william.soula@drillinginfo.com)[mailto:william.soula@drillinginfo.com](mailto:william.soula@drillinginfo.com)\> wrote:  
I am having the same issue. Did anyone ever figure out what the default login user and password was?

Will

* * *

From: DV [vindimy@gmail.com[mailto:vindimy@gmail.com](mailto:vindimy@gmail.com)]  
Sent: Thursday, November 07, 2013 11:52 AM  
To: [chef@lists.opscode.com](mailto:chef@lists.opscode.com)[mailto:chef@lists.opscode.com](mailto:chef@lists.opscode.com)  
Subject: [chef] Re: chefdash: realtime DevOps dashboard

I tried it, but couldn’t find default initial login/pass for the web UI, and also, no matter what login/pass I typed I got “Internal Server Error” in response.

2013-11-07 09:36:47,139 chefdash INFO Listening on 0.0.0.0:5000[http://0.0.0.0:5000](http://0.0.0.0:5000)  
2013-11-07 09:45:14,237 chefdash INFO Listening on 0.0.0.0:5000[http://0.0.0.0:5000](http://0.0.0.0:5000)  
2013-11-07 09:45:39,776 chefdash ERROR Exception on /login [POST]  
Traceback (most recent call last):  
File “/usr/local/lib/python2.7/dist-packages/flask/app.py”, line 1817, in wsgi\_app  
response = self.full\_dispatch\_request()  
File “/usr/local/lib/python2.7/dist-packages/flask/app.py”, line 1477, in full\_dispatch\_request  
rv = self.handle\_user\_exception(e)  
File “/usr/local/lib/python2.7/dist-packages/flask/app.py”, line 1381, in handle\_user\_exception  
reraise(exc\_type, exc\_value, tb)  
File “/usr/local/lib/python2.7/dist-packages/flask/app.py”, line 1475, in full\_dispatch\_request  
rv = self.dispatch\_request()  
File “/usr/local/lib/python2.7/dist-packages/flask/app.py”, line 1461, in dispatch\_request  
return self.view\_functionsrule.endpoint  
File “/usr/local/lib/python2.7/dist-packages/chefdash-0.1.0-py2.7.egg/chefdash/ **init**.py”, line 341, in login  
auth\_result = ujson.decode(api.request(‘POST’, ‘/authenticate\_user’, data = ujson.encode({ ‘name’: username, ‘password’: password })))  
File “/usr/local/lib/python2.7/dist-packages/chef/api.py”, line 209, in request  
raise e  
HTTPError: HTTP Error 404: Not Found

On Fri, Nov 1, 2013 at 6:06 AM, Evan Todd \<[evan@sidebolt.com](mailto:evan@sidebolt.com)[mailto:evan@sidebolt.com](mailto:evan@sidebolt.com)\> wrote:  
chefdash[http://sidebolt.github.io/chefdash/](http://sidebolt.github.io/chefdash/) is a simple dashboard for tracking Chef runs across a cluster.

With chefdash you can:

- Run chef-client on all nodes in a Chef environment simultaneously, or on a single node
- View output in realtime and quickly see if any nodes failed
- Automatically bootstrap new nodes

More features are planned:

- Provide an alternative to the Chef Web UI JSON editor
- Expose knife ssh functionality for arbitrary commands

Give it a try and let me know what you think!

–  
Best regards, Dmitriy V.

---

<div class="post-metadata">

**Author:** ![Kenny\_Keppler](https://avatars.discourse-cdn.com/v4/letter/k/dec6dc/32.png) [@Kenny\_Keppler](https://discourse.chef.io/u/Kenny_Keppler)\
**Post date:** [November 2, 2013, 3:05am UTC](https://discourse.chef.io/t/chefdash-realtime-devops-dashboard/4773/10 "2013-11-02T03:05:16Z")

</div>

Great job!

On Fri, Nov 1, 2013 at 6:31 AM, David Montgomery  
[davidmontgomery@gmail.com](mailto:davidmontgomery@gmail.com)wrote:

> OMG!!!!!!! Soooooo Nice!!!!!!! Great Job! I needed this........
> 
> Thanks
> 
> On Fri, Nov 1, 2013 at 9:06 PM, Evan Todd [evan@sidebolt.com](mailto:evan@sidebolt.com) wrote:
> 
> > chefdash [http://sidebolt.github.io/chefdash/](http://sidebolt.github.io/chefdash/) is a simple dashboard for  
> > tracking Chef runs across a cluster.
> > 
> > With chefdash you can:
> > 
> > - Run chef-client on all nodes in a Chef environment simultaneously, or  
> > on a single node
> > - View output in realtime and quickly see if any nodes failed
> > - Automatically bootstrap new nodes
> > 
> > More features are planned:
> > 
> > - Provide an alternative to the Chef Web UI JSON editor
> > - Expose knife ssh functionality for arbitrary commands
> > 
> > Give it a try and let me know what you think!

---

<div class="post-metadata">

**Author:** ![Seth\_Falcon\_01](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/seth_falcon_01/32/429_2.png) [@Seth\_Falcon\_01](https://discourse.chef.io/u/Seth_Falcon_01)\
**Post date:** [November 15, 2013, 5:22pm UTC](https://discourse.chef.io/t/chefdash-realtime-devops-dashboard/4773/11 "2013-11-15T17:22:11Z")

</div>

Hi Will,

[william.soula@drillinginfo.com](mailto:william.soula@drillinginfo.com) writes:

> That helped me some, to know what I needed to get working but now I  
> get a 404 ChefServerError. I was able to log out `self.url+path and  
> it is [Sign In - Chef Manage](https://api.opscode.com/organizations/)[our  
> org]/authenticate\_user, which I checked with curl that the chefdash  
> user could hit. Does anyone have any other ideas for debugging my  
> problem? I would really like for chefdash to work for me.

The good news is, I don't think you're doing anything wrong.

The bad news is: It is not possible for external services to use Hosted  
Enterprise Chef Server password authentication.

The endpoint is locked down to only allow the webui user to run  
authentication. It _is_ possible to get this to work in EC and OSC.

Also, FWIW, the shape of the call being made doesn't look right for HEC  
(assuming it were possible in the first place). Here's the right request  
to send, but if you try it, you will receive a 403 even if the user and  
pass are correct:

```
api.post("https://api.opscode.com/authenticate_user",
         {:username => "fred", :password => "123"})

```

- seth

--  
Seth Falcon | Development Lead | Opscode | @sfalcon

---

<div class="post-metadata">

**Author:** ![William\_Soula](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/william_soula/32/955_2.png) [@William\_Soula](https://discourse.chef.io/u/William_Soula)\
**Post date:** [November 15, 2013, 7:02pm UTC](https://discourse.chef.io/t/chefdash-realtime-devops-dashboard/4773/12 "2013-11-15T19:02:05Z")

</div>

Dang!! I was really wanting to use this, but thanks for the pointer. I opened an issue into the chefdash repo for support for Hosted Enterprise Chef. Is there any other good dashboards that work with Hosted Enterprise Chef?

Will

* * *

From: Seth Falcon [seth@opscode.com]  
Sent: Friday, November 15, 2013 11:22 AM  
To: [chef@lists.opscode.com](mailto:chef@lists.opscode.com)  
Subject: [chef] Re: RE: Re: RE: RE: Re: RE: Re: chefdash: realtime DevOps dashboard

Hi Will,

[william.soula@drillinginfo.com](mailto:william.soula@drillinginfo.com) writes:

> That helped me some, to know what I needed to get working but now I  
> get a 404 ChefServerError. I was able to log out `self.url+path and  
> it is [Sign In - Chef Manage](https://api.opscode.com/organizations/)[our  
> org]/authenticate\_user, which I checked with curl that the chefdash  
> user could hit. Does anyone have any other ideas for debugging my  
> problem? I would really like for chefdash to work for me.

The good news is, I don't think you're doing anything wrong.

The bad news is: It is not possible for external services to use Hosted  
Enterprise Chef Server password authentication.

The endpoint is locked down to only allow the webui user to run  
authentication. It _is_ possible to get this to work in EC and OSC.

Also, FWIW, the shape of the call being made doesn't look right for HEC  
(assuming it were possible in the first place). Here's the right request  
to send, but if you try it, you will receive a 403 even if the user and  
pass are correct:

```
api.post("https://api.opscode.com/authenticate_user",
         {:username => "fred", :password => "123"})

```

- seth

--  
Seth Falcon | Development Lead | Opscode | @sfalcon
