Chefdash: realtime DevOps dashboard


#1

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!


#2

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

Thanks

On Fri, Nov 1, 2013 at 9:06 PM, Evan Todd evan@sidebolt.com wrote:

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!


#3

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 wrote:

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.


#4

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
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:5000http://0.0.0.0:5000
2013-11-07 09:45:14,237 chefdash INFO Listening on 0.0.0.0:5000http://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.commailto:evan@sidebolt.com> wrote:
chefdashhttp://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.


#5

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

On Thu, Nov 14, 2013 at 12:19 PM, William Soula <
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
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 wrote:

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.


#6

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
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

On Thu, Nov 14, 2013 at 12:19 PM, William Soula <william.soula@drillinginfo.commailto: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.commailto:vindimy@gmail.com]
Sent: Thursday, November 07, 2013 11:52 AM
To: chef@lists.opscode.commailto: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:5000http://0.0.0.0:5000
2013-11-07 09:45:14,237 chefdash INFO Listening on 0.0.0.0:5000http://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.commailto:evan@sidebolt.com> wrote:
chefdashhttp://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.


#7

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
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
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

On Thu, Nov 14, 2013 at 12:19 PM, William Soula <william.soula@drillinginfo.commailto: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.commailto:vindimy@gmail.com]
Sent: Thursday, November 07, 2013 11:52 AM
To: chef@lists.opscode.commailto: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:5000http://0.0.0.0:5000
2013-11-07 09:45:14,237 chefdash INFO Listening on 0.0.0.0:5000http://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.commailto:evan@sidebolt.com> wrote:
chefdashhttp://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.


#8

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

On Thu, Nov 14, 2013 at 1:16 PM, William Soula <
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
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
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

On Thu, Nov 14, 2013 at 12:19 PM, William Soula <
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
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 wrote:

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.


#9

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/[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
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

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

Will


From: William Soula [william.soula@drillinginfo.commailto:william.soula@drillinginfo.com]
Sent: Thursday, November 14, 2013 2:59 PM
To: chef@lists.opscode.commailto: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.commailto:stormerider@gmail.com]
Sent: Thursday, November 14, 2013 2:24 PM
To: chef@lists.opscode.commailto: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

On Thu, Nov 14, 2013 at 12:19 PM, William Soula <william.soula@drillinginfo.commailto: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.commailto:vindimy@gmail.com]
Sent: Thursday, November 07, 2013 11:52 AM
To: chef@lists.opscode.commailto: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:5000http://0.0.0.0:5000
2013-11-07 09:45:14,237 chefdash INFO Listening on 0.0.0.0:5000http://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.commailto:evan@sidebolt.com> wrote:
chefdashhttp://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.


#10

Great job!

On Fri, Nov 1, 2013 at 6:31 AM, David Montgomery
davidmontgomery@gmail.comwrote:

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

Thanks

On Fri, Nov 1, 2013 at 9:06 PM, Evan Todd evan@sidebolt.com wrote:

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!


#11

Hi Will,

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 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


#12

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
Subject: [chef] Re: RE: Re: RE: RE: Re: RE: Re: chefdash: realtime DevOps dashboard

Hi Will,

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 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