Code Monkey home page Code Monkey logo

panamax-ui's Introduction

Panamax is a containerized app creator with an open-source app marketplace hosted in GitHub. Panamax provides a friendly interface for users of Docker, Fleet & CoreOS. With Panamax, you can easily create, share, and deploy any containerized app no matter how complex it might be. Learn more at Panamax.io or browse the Panamax Wiki.

Panamax-ui

Master_Build_Status Coverage Status

This project exposes a friendly user interface to the Panamax API, and is one of the components used by Panamax-Coreos

NOTE

This repo is no longer being maintained. Users are welcome to fork it, but we make no warranty of its functionality.

Getting Started

Pre-requisites

  • Computer
  • Ruby 2.1+
  • Panamax API running somewhere accessible to the panamax-ui application

Install steps

git clone [email protected]:CenturyLinkLabs/panamax-ui.git
cd panamax-ui
bundle

# the below environment variables are set by .env in the root of the project.
# You may need to override them to point to the API installation you are using.
# Do not check your local changes into version control
export PMX_API_PORT_3000_TCP_ADDR=localhost
export PMX_API_PORT_3000_TCP_PORT=8888
rails s

now visit localhost:3000 and see if it works

Running tests, etc.

rspec spec # ruby specs
rake teaspoon # js specs, can also be accessed in UI at /teaspoon/default
rake jslint # catch those missing semicolons!

panamax-ui's People

Contributors

alexwelch avatar argvader avatar bdehamer avatar cakkineni avatar coen-hyde avatar ctl-labs avatar dharmamike avatar dpetersen avatar lyzalou avatar parkerfleming avatar patocox avatar rheinwein avatar rossjimenez avatar rupakg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

panamax-ui's Issues

[security] Install via http(s)

There really should be a better way to install Panamax than curl http://download.panamax.io/installer/ubuntu.sh | bash. Because it is served over HTTP, an attacker can get you to install malicious software by swapping out the Panamax installer script with their own. I'd really like to see Panamax offer https download as installing any software over http is not a great idea.

My centurylink/panamax-ui:latest shutdown unexpectedly

when i try to restart it i get this:

core@panamax-vm ~ $ docker start PMX_UI
Error response from daemon: Cannot start container PMX_UI: Cannot link to a non running container: /PMX_CADVISOR AS /PMX_UI/CADVISOR
2014/08/21 05:30:37 Error: failed to start one or more containers

Is there a way to restart the all thing gracefully?

Infinite loop trying to add official default MySQL to empty application

I started Panamax up for first time. I went to the application area and typed a search of 'MySQL'. It showed a "official" image with 94 stars. I clicked it to add to my application. It started downloading (I think). I noticed you could name categories, so while the download was in progress I renamed the category to "Database Tier". I clicked the tick mark. I then noticed lots of errors in the log. I do not know if it was coincidence it happened at the same time, or renaming the category got it confused and it tried to do something to the container before it finished downloading. I am running in VirtualBox on top of Windows.

Here is the start of the log. It was stuck in a cycle, so I eventually deleted the container. Adding it again continued to repeat the same pattern. I later picked dockerfile/mysql

Aug 13 08:15:03 systemd Starting mysql_latest.service...
Aug 13 08:15:03 docker Pulling repository mysql
Aug 13 08:15:19 systemd Stopping mysql_latest.service...
Aug 13 08:15:19 docker Error response from daemon: No such container: mysql_latest
Aug 13 08:15:19 docker 2014/08/13 15:15:19 Error: failed to remove one or more containers
Aug 13 08:15:19 systemd Stopped mysql_latest.service.
Aug 13 08:15:20 systemd Starting mysql_latest.service...
Aug 13 08:15:21 docker Repository mysql already being pulled by another client. Waiting.
Aug 13 08:16:33 docker Error response from daemon: No such container: mysql_latest
Aug 13 08:16:33 docker 2014/08/13 15:16:33 Error: failed to remove one or more containers
Aug 13 08:16:33 systemd Started mysql_latest.service.
Aug 13 08:16:33 docker error: database is uninitialized and MYSQL_ROOT_PASSWORD not set
Aug 13 08:16:33 docker Did you forget to add -e MYSQL_ROOT_PASSWORD=... ?
Aug 13 08:16:33 systemd mysql_latest.service: main process exited, code=exited, status=1/FAILURE
Aug 13 08:16:33 docker Error response from daemon: No such container: mysql_latest
Aug 13 08:16:33 docker 2014/08/13 15:16:33 Error: failed to kill one or more containers
Aug 13 08:16:33 systemd mysql_latest.service: control process exited, code=exited status=1
Aug 13 08:16:33 docker Error response from daemon: No such container: mysql_latest
Aug 13 08:16:33 docker 2014/08/13 15:16:33 Error: failed to remove one or more containers
Aug 13 08:16:33 systemd Unit mysql_latest.service entered failed state.
Aug 13 08:16:43 systemd mysql_latest.service holdoff time over, scheduling restart.
Aug 13 08:16:43 systemd Stopping mysql_latest.service...
Aug 13 08:16:43 systemd Starting mysql_latest.service...
Aug 13 08:16:43 docker Pulling repository mysql
Aug 13 08:16:46 docker Error response from daemon: No such container: mysql_latest
Aug 13 08:16:46 docker 2014/08/13 15:16:46 Error: failed to remove one or more containers
Aug 13 08:16:46 systemd Started mysql_latest.service.
Aug 13 08:16:46 docker error: database is uninitialized and MYSQL_ROOT_PASSWORD not set
Aug 13 08:16:46 docker Did you forget to add -e MYSQL_ROOT_PASSWORD=... ?
... lots more output as it tried over and over again ...

I then tried dockerfile/mysql instead.

Aug 13 08:26:30 systemd Starting dockerfile_mysql.service...
Aug 13 08:26:30 docker Pulling repository dockerfile/mysql
Aug 13 08:28:45 systemd Started dockerfile_mysql.service.
Aug 13 08:28:45 docker Error response from daemon: No such container: dockerfile_mysql
Aug 13 08:28:45 docker 2014/08/13 15:28:45 Error: failed to remove one or more containers
Aug 13 08:28:46 docker 140813 15:28:46 mysqld_safe Logging to syslog.
Aug 13 08:28:47 docker 140813 15:28:47 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql

The UI indicates "its running", but seeing error messages in log is concerning.

Pulling a specific image causes the panamax to crash

all is well until I try to pull my image from docker hub which is

paimpozhil/data

my generic data container ..

I dont know why but doing this somehow crashes the Panamax then causes no other image to be added,etc until we restart panamax from console.

I get an Internal Server error in the Panamax UI.

Sorry If i am causing a lot of pain here . :(

Panamax unable to start images from private registry

I setup a coreos box in openstack and got Panamax up and running. Things look great! I also have a simple registry server running on a different VM. The easy way I've found to setup a fast registry server and get it working is to tag images as <registry server fqdn>:5000/<imagename>.

I noticed a number of things in Panamax:

  • I thought I would be able to have Panamax query the registry by just copy and pasting this name in the image search (my assumption may be wrong).
  • If I ssh to the coreos box and do a docker pull on the images to get local, then try to get that image running in Panamax, Panamax recognizes the name of the image as the fqdn of the server, then tag as :5000/<imagename>. I would expect it to find the image name as either <imagename> or <fqdn>:5000.

Please let me know if I'm missing something here. If this is a new issue, I'll probably need help debugging and where to determine if issues should be opened under the API or other pieces of Panamax.

Thanks!

Creating template only shows limited number of GitHub repos

I had a really hard time creating a Panamax template. It connects to your GitHub account to save the template and asks you to select a GitHub repository to save it to. It lists them alphabetically showing only a limited number (50-100?) and I have lots and lots of repos, so the one I wanted to save to would never show up and I was unable to save it there. I had to delete tons of my GitHub repos to be able to save my template to the GitHub repo I wanted.

Template name with white space

I created a template with white space "Spring XD" and wasn't able to pull it down from UI. The error I saw in UI was "Job state 'loaded' could not be achieved"

Removing white space fixed the issue. Would be nice to prevent template creation with spaces in the name.

Is it possible to configure the root path?

Currently panamax responds to the root path. e.g. http://<ip>:3000 and all links and assets are relative to this.

Is it possible to configure the root path or the location url for reverse proxy e.g. http://<reverse.proxy.path>/panamax ?
This would allow my Vulcand reverse proxy to route those requests to the panamax-ui container on port 3000.

Securing Panamax

Is it possible to have a username/password for Panamax to protect it against any random person finding it and accessing the applications and configuration on the server? If so can I reuse my existing LDAP server?

Home-Path with whitespace

On my Mac I have a home-path with whitespace like /Volumes/Macintosh HD/Username/ so having the error
/usr/local/bin/panamax: line 2: /Volumes/Macintosh: is a directory
After fixing the path by removing the whitespace I get the error
/usr/local/bin/panamax: line 2: /Volumes/MacintoshHD/Users/Userame/.panamax/desktop: No such file or directory
because there is none. What am I missing?

Add validations to Exposed ports / Port Bindings

I was able to add an Exposed port with '' value by mistake and I didnt realize it at all.

System accepts the value but then the image starts constant restarting.

image

Then it causes the system to go in the loop of restarting that container / the log says something about exposed port but this is all scrolling mad fast.

Took me 2 hours to identify this.

image

Viewing details of a template with empty 'documentation' crashes

When saving an application as a template and leaving the documentation field empty results in an Internal Server Error when clicking on 'More Details' of that template in the template section of the search screen.

docker logs PMX_UI

I, [2014-08-17T09:39:56.183538 #7]  INFO -- : Started GET "/templates/228/details" for 84.195.228.52 at 2014-08-17 09:39:56 +0000
I, [2014-08-17T09:39:56.184789 #7]  INFO -- : Processing by TemplatesController#details as HTML
I, [2014-08-17T09:39:56.184847 #7]  INFO -- :   Parameters: {"id"=>"228"}
I, [2014-08-17T09:39:56.200178 #7]  INFO -- :   Rendered templates/details.html.haml (3.9ms)
E, [2014-08-17T09:39:56.200511 #7] ERROR -- : 
NoMethodError (undefined method `html_safe' for nil:NilClass):
  /usr/src/app/app/views/templates/details.html.haml:18:in `_app_views_templates_details_html_haml__1860674250249450715_69928951913400'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionview-4.1.4/lib/action_view/template.rb:145:in `block in render'
  /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/notifications.rb:161:in `instrument'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionview-4.1.4/lib/action_view/template.rb:339:in `instrument'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionview-4.1.4/lib/action_view/template.rb:143:in `render'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionview-4.1.4/lib/action_view/renderer/template_renderer.rb:55:in `block (2 levels) in render_template'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionview-4.1.4/lib/action_view/renderer/abstract_renderer.rb:38:in `block in instrument'
  /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/notifications.rb:159:in `block in instrument'
  /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
  /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/notifications.rb:159:in `instrument'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionview-4.1.4/lib/action_view/renderer/abstract_renderer.rb:38:in `instrument'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionview-4.1.4/lib/action_view/renderer/template_renderer.rb:54:in `block in render_template'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionview-4.1.4/lib/action_view/renderer/template_renderer.rb:62:in `render_with_layout'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionview-4.1.4/lib/action_view/renderer/template_renderer.rb:53:in `render_template'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionview-4.1.4/lib/action_view/renderer/template_renderer.rb:17:in `render'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionview-4.1.4/lib/action_view/renderer/renderer.rb:42:in `render_template'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionview-4.1.4/lib/action_view/renderer/renderer.rb:23:in `render'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionview-4.1.4/lib/action_view/rendering.rb:99:in `_render_template'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_controller/metal/streaming.rb:217:in `_render_template'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionview-4.1.4/lib/action_view/rendering.rb:82:in `render_to_body'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_controller/metal/rendering.rb:32:in `render_to_body'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_controller/metal/renderers.rb:32:in `render_to_body'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/abstract_controller/rendering.rb:25:in `render'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_controller/metal/rendering.rb:16:in `render'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_controller/metal/instrumentation.rb:41:in `block (2 levels) in render'
  /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/core_ext/benchmark.rb:12:in `block in ms'
  /usr/local/lib/ruby/2.1.0/benchmark.rb:294:in `realtime'
  /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/core_ext/benchmark.rb:12:in `ms'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_controller/metal/instrumentation.rb:41:in `block in render'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_controller/metal/instrumentation.rb:84:in `cleanup_view_runtime'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_controller/metal/instrumentation.rb:40:in `render'
  /usr/src/app/app/controllers/templates_controller.rb:35:in `details'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_controller/metal/implicit_render.rb:4:in `send_action'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/abstract_controller/base.rb:189:in `process_action'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_controller/metal/rendering.rb:10:in `process_action'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/abstract_controller/callbacks.rb:20:in `block in process_action'
  /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/callbacks.rb:113:in `call'
  /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/callbacks.rb:113:in `call'
  /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/callbacks.rb:229:in `block in halting'
  /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/callbacks.rb:166:in `call'
  /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/callbacks.rb:166:in `block in halting'
  /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/callbacks.rb:86:in `call'
  /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/callbacks.rb:86:in `run_callbacks'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/abstract_controller/callbacks.rb:19:in `process_action'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_controller/metal/rescue.rb:29:in `process_action'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_controller/metal/instrumentation.rb:31:in `block in process_action'
  /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/notifications.rb:159:in `block in instrument'
  /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
  /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/notifications.rb:159:in `instrument'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_controller/metal/instrumentation.rb:30:in `process_action'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_controller/metal/params_wrapper.rb:250:in `process_action'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/abstract_controller/base.rb:136:in `process'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionview-4.1.4/lib/action_view/rendering.rb:30:in `process'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_controller/metal.rb:196:in `dispatch'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_controller/metal/rack_delegation.rb:13:in `dispatch'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_controller/metal.rb:232:in `block in action'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/routing/route_set.rb:82:in `call'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/routing/route_set.rb:82:in `dispatch'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/routing/route_set.rb:50:in `call'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/journey/router.rb:71:in `block in call'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/journey/router.rb:59:in `each'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/journey/router.rb:59:in `call'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/routing/route_set.rb:678:in `call'
  /usr/local/lib/ruby/gems/2.1.0/gems/rack-1.5.2/lib/rack/etag.rb:23:in `call'
  /usr/local/lib/ruby/gems/2.1.0/gems/rack-1.5.2/lib/rack/conditionalget.rb:25:in `call'
  /usr/local/lib/ruby/gems/2.1.0/gems/rack-1.5.2/lib/rack/head.rb:11:in `call'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/middleware/params_parser.rb:27:in `call'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/middleware/flash.rb:254:in `call'
  /usr/local/lib/ruby/gems/2.1.0/gems/rack-1.5.2/lib/rack/session/abstract/id.rb:225:in `context'
  /usr/local/lib/ruby/gems/2.1.0/gems/rack-1.5.2/lib/rack/session/abstract/id.rb:220:in `call'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/middleware/cookies.rb:560:in `call'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
  /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/callbacks.rb:82:in `run_callbacks'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/middleware/callbacks.rb:27:in `call'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/middleware/remote_ip.rb:76:in `call'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
  /usr/local/lib/ruby/gems/2.1.0/gems/railties-4.1.4/lib/rails/rack/logger.rb:38:in `call_app'
  /usr/local/lib/ruby/gems/2.1.0/gems/railties-4.1.4/lib/rails/rack/logger.rb:20:in `block in call'
  /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/tagged_logging.rb:68:in `block in tagged'
  /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/tagged_logging.rb:26:in `tagged'
  /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/tagged_logging.rb:68:in `tagged'
  /usr/local/lib/ruby/gems/2.1.0/gems/railties-4.1.4/lib/rails/rack/logger.rb:20:in `call'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/middleware/request_id.rb:21:in `call'
  /usr/local/lib/ruby/gems/2.1.0/gems/rack-1.5.2/lib/rack/methodoverride.rb:21:in `call'
  /usr/local/lib/ruby/gems/2.1.0/gems/rack-1.5.2/lib/rack/runtime.rb:17:in `call'
  /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/cache/strategy/local_cache_middleware.rb:26:in `call'
  /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/middleware/static.rb:64:in `call'
  /usr/local/lib/ruby/gems/2.1.0/gems/rack-1.5.2/lib/rack/sendfile.rb:112:in `call'
  /usr/local/lib/ruby/gems/2.1.0/gems/railties-4.1.4/lib/rails/engine.rb:514:in `call'
  /usr/local/lib/ruby/gems/2.1.0/gems/railties-4.1.4/lib/rails/application.rb:144:in `call'
  /usr/local/lib/ruby/gems/2.1.0/gems/rack-1.5.2/lib/rack/content_length.rb:14:in `call'
  /usr/local/lib/ruby/gems/2.1.0/gems/puma-2.8.2/lib/puma/server.rb:490:in `handle_request'
  /usr/local/lib/ruby/gems/2.1.0/gems/puma-2.8.2/lib/puma/server.rb:361:in `process_client'
  /usr/local/lib/ruby/gems/2.1.0/gems/puma-2.8.2/lib/puma/server.rb:254:in `block in run'
  /usr/local/lib/ruby/gems/2.1.0/gems/puma-2.8.2/lib/puma/thread_pool.rb:92:in `call'
  /usr/local/lib/ruby/gems/2.1.0/gems/puma-2.8.2/lib/puma/thread_pool.rb:92:in `block in spawn_thread'

Expected(200..204) <=> Actual(404 Not Found)

I followed the Cloud Provider Installation (https://github.com/CenturyLinkLabs/panamax-ui/wiki/Installing-Panamax#cloud-provider-installation)

This happens when I select Manage:
screen shot 2014-08-12 at 16 37 22

Install log
Installing Panamax...
Failed to stop update-engine-reboot-manager.service: Unit update-engine-reboot-manager.service not loaded.
ln -s '/dev/null' '/etc/systemd/system/update-engine-reboot-manager.service'
ln -s '/dev/null' '/etc/systemd/system/update-engine.service'
ln -s '/usr/lib64/systemd/system/etcd.service' '/etc/systemd/system/multi-user.target.wants/etcd.service'
ln -s '/usr/lib64/systemd/system/fleet.service' '/etc/systemd/system/multi-user.target.wants/fleet.service'
ln -s '/usr/lib64/systemd/system/systemd-journal-gatewayd.socket' '/etc/systemd/system/sockets.target.wants/systemd-journal-gatewayd.socket'

docker pull centurylink/panamax-api:latest
............................................................
docker pull centurylink/panamax-ui:latest
..............

docker pull google/cadvisor:0.1.0
.......................................................................
ln -s '/etc/systemd/system/panamax-metrics.service' '/etc/systemd/system/multi-user.target.wants/panamax-metrics.service'
ln -s '/etc/systemd/system/panamax-api.service' '/etc/systemd/system/multi-user.target.wants/panamax-api.service'
ln -s '/etc/systemd/system/panamax-ui.service' '/etc/systemd/system/multi-user.target.wants/panamax-ui.service'
Aug 12 16:29:14 ip-172-31-11-182 systemd[1]: Starting Panamax Metrics...
Aug 12 16:29:14 ip-172-31-11-182 docker[9850]: 2014/08/12 16:29:14 DELETE /v1.10/containers/PMX_CADVISOR?force=1
Aug 12 16:29:14 ip-172-31-11-182 docker[9850]: [/var/lib/docker|43092686] +job container_delete(PMX_CADVISOR)
Aug 12 16:29:14 ip-172-31-11-182 docker[9850]: No such container: PMX_CADVISOR
Aug 12 16:29:14 ip-172-31-11-182 docker[9850]: [/var/lib/docker|43092686] -job container_delete(PMX_CADVISOR) = ERR (1)
Aug 12 16:29:14 ip-172-31-11-182 docker[9850]: [error] server.go:962 Error: No such container: PMX_CADVISOR
Aug 12 16:29:14 ip-172-31-11-182 docker[9850]: [error] server.go:89 HTTP Error: statusCode=404 No such container: PMX_CADVISOR
Aug 12 16:29:14 ip-172-31-11-182 docker[12457]: Error: No such container: PMX_CADVISOR
Aug 12 16:29:14 ip-172-31-11-182 systemd[1]: Started Panamax Metrics.
Aug 12 16:29:14 ip-172-31-11-182 systemd[1]: Starting Panamax API...
Aug 12 16:29:14 ip-172-31-11-182 docker[9850]: 2014/08/12 16:29:14 POST /v1.10/containers/create?name=PMX_CADVISOR
Aug 12 16:29:14 ip-172-31-11-182 docker[9850]: [/var/lib/docker|43092686] +job create(PMX_CADVISOR)
Aug 12 16:29:14 ip-172-31-11-182 docker[9850]: 2014/08/12 16:29:14 DELETE /v1.10/containers/PMX_API?force=1
Aug 12 16:29:14 ip-172-31-11-182 docker[9850]: [/var/lib/docker|43092686] +job container_delete(PMX_API)
Aug 12 16:29:14 ip-172-31-11-182 docker[9850]: No such container: PMX_API
Aug 12 16:29:14 ip-172-31-11-182 docker[9850]: [/var/lib/docker|43092686] -job container_delete(PMX_API) = ERR (1)
Aug 12 16:29:14 ip-172-31-11-182 docker[9850]: [error] server.go:962 Error: No such container: PMX_API
Aug 12 16:29:14 ip-172-31-11-182 docker[9850]: [error] server.go:89 HTTP Error: statusCode=404 No such container: PMX_API
Aug 12 16:29:14 ip-172-31-11-182 systemd[1]: Started Panamax API.
Aug 12 16:29:14 ip-172-31-11-182 docker[12475]: Error: No such container: PMX_API
Aug 12 16:29:14 ip-172-31-11-182 systemd[1]: Starting Panamax UI...
Aug 12 16:29:14 ip-172-31-11-182 docker[9850]: 2014/08/12 16:29:14 POST /v1.10/containers/create?name=PMX_API
Aug 12 16:29:14 ip-172-31-11-182 docker[9850]: [/var/lib/docker|43092686] +job create(PMX_API)
Aug 12 16:29:14 ip-172-31-11-182 docker[9850]: 2014/08/12 16:29:14 DELETE /v1.10/containers/PMX_UI?force=1
Aug 12 16:29:14 ip-172-31-11-182 docker[9850]: [/var/lib/docker|43092686] +job container_delete(PMX_UI)
Aug 12 16:29:14 ip-172-31-11-182 docker[9850]: No such container: PMX_UI
Aug 12 16:29:14 ip-172-31-11-182 docker[9850]: [/var/lib/docker|43092686] -job container_delete(PMX_UI) = ERR (1)
Aug 12 16:29:14 ip-172-31-11-182 docker[9850]: [error] server.go:962 Error: No such container: PMX_UI
Aug 12 16:29:14 ip-172-31-11-182 docker[9850]: [error] server.go:89 HTTP Error: statusCode=404 No such container: PMX_UI
Aug 12 16:29:14 ip-172-31-11-182 docker[12505]: Error: No such container: PMX_UI
Aug 12 16:29:14 ip-172-31-11-182 systemd[1]: Started Panamax UI.
Aug 12 16:29:14 ip-172-31-11-182 docker[9850]: 2014/08/12 16:29:14 POST /v1.10/containers/create?name=PMX_UI
Aug 12 16:29:14 ip-172-31-11-182 docker[9850]: [/var/lib/docker|43092686] +job create(PMX_UI)
Aug 12 16:29:14 ip-172-31-11-182 docker[9850]: [/var/lib/docker|43092686] -job create(PMX_CADVISOR) = OK (0)
Panamax install complete

API container error
I, [2014-08-12T16:32:49.433721 #23] INFO -- : Started GET "/apps.json?limit=5" for 172.17.0.4 at 2014-08-12 16:32:49 +0000
I, [2014-08-12T16:32:49.436840 #23] INFO -- : Processing by AppsController#index as JSON
I, [2014-08-12T16:32:49.438156 #23] INFO -- : Parameters: {"limit"=>"5"}
I, [2014-08-12T16:32:49.442338 #23] INFO -- : Completed 200 OK in 3ms (Views: 0.6ms | ActiveRecord: 0.4ms)
I, [2014-08-12T16:32:49.446529 #23] INFO -- : Started GET "/template_repos.json?limit=5" for 172.17.0.4 at 2014-08-12 16:32:49 +0000
I, [2014-08-12T16:32:49.448800 #23] INFO -- : Processing by TemplateReposController#index as JSON
I, [2014-08-12T16:32:49.450051 #23] INFO -- : Parameters: {"limit"=>"5"}
I, [2014-08-12T16:32:49.455470 #23] INFO -- : Completed 200 OK in 4ms (Views: 2.2ms | ActiveRecord: 0.8ms)
I, [2014-08-12T16:32:49.459511 #23] INFO -- : Started GET "/local_images.json?limit=5" for 172.17.0.4 at 2014-08-12 16:32:49 +0000
I, [2014-08-12T16:32:49.461633 #23] INFO -- : Processing by LocalImagesController#index as JSON
I, [2014-08-12T16:32:49.462876 #23] INFO -- : Parameters: {"limit"=>"5"}
E, [2014-08-12T16:32:49.473887 #23] ERROR -- :
Docker::Error::NotFoundError (Expected(200..204) <=> Actual(404 Not Found)):
/usr/local/lib/ruby/gems/2.1.0/gems/docker-api-1.13.0/lib/docker/connection.rb:48:in rescue in request' /usr/local/lib/ruby/gems/2.1.0/gems/docker-api-1.13.0/lib/docker/connection.rb:36:inrequest'
/usr/local/lib/ruby/gems/2.1.0/gems/docker-api-1.13.0/lib/docker/connection.rb:57:in block (2 levels) in <class:Connection>' /usr/local/lib/ruby/gems/2.1.0/gems/docker-api-1.13.0/lib/docker/image.rb:115:inall'
/usr/src/app/app/models/local_image.rb:9:in all' /usr/src/app/app/controllers/local_images_controller.rb:4:inindex'
/usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_controller/metal/implicit_render.rb:4:in send_action' /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/abstract_controller/base.rb:189:inprocess_action'
/usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_controller/metal/rendering.rb:10:in process_action' /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/abstract_controller/callbacks.rb:20:inblock in process_action'
/usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/callbacks.rb:113:in call' /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/callbacks.rb:113:incall'
/usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/callbacks.rb:229:in block in halting' /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/callbacks.rb:166:incall'
/usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/callbacks.rb:166:in block in halting' /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/callbacks.rb:86:incall'
/usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/callbacks.rb:86:in run_callbacks' /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/abstract_controller/callbacks.rb:19:inprocess_action'
/usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_controller/metal/rescue.rb:29:in process_action' /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_controller/metal/instrumentation.rb:31:inblock in process_action'
/usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/notifications.rb:159:in block in instrument' /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/notifications/instrumenter.rb:20:ininstrument'
/usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/notifications.rb:159:in instrument' /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_controller/metal/instrumentation.rb:30:inprocess_action'
/usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_controller/metal/params_wrapper.rb:250:in process_action' /usr/local/lib/ruby/gems/2.1.0/gems/activerecord-4.1.4/lib/active_record/railties/controller_runtime.rb:18:inprocess_action'
/usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/abstract_controller/base.rb:136:in process' /usr/local/lib/ruby/gems/2.1.0/gems/actionview-4.1.4/lib/action_view/rendering.rb:30:inprocess'
/usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_controller/metal.rb:196:in dispatch' /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_controller/metal/rack_delegation.rb:13:indispatch'
/usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_controller/metal.rb:232:in block in action' /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/routing/route_set.rb:82:incall'
/usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/routing/route_set.rb:82:in dispatch' /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/routing/route_set.rb:50:incall'
/usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/journey/router.rb:71:in block in call' /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/journey/router.rb:59:ineach'
/usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/journey/router.rb:59:in call' /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/routing/route_set.rb:678:incall'
/usr/local/lib/ruby/gems/2.1.0/gems/rack-1.5.2/lib/rack/etag.rb:23:in call' /usr/local/lib/ruby/gems/2.1.0/gems/rack-1.5.2/lib/rack/conditionalget.rb:25:incall'
/usr/local/lib/ruby/gems/2.1.0/gems/rack-1.5.2/lib/rack/head.rb:11:in call' /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/middleware/params_parser.rb:27:incall'
/usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/middleware/flash.rb:254:in call' /usr/local/lib/ruby/gems/2.1.0/gems/rack-1.5.2/lib/rack/session/abstract/id.rb:225:incontext'
/usr/local/lib/ruby/gems/2.1.0/gems/rack-1.5.2/lib/rack/session/abstract/id.rb:220:in call' /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/middleware/cookies.rb:560:incall'
/usr/local/lib/ruby/gems/2.1.0/gems/activerecord-4.1.4/lib/active_record/query_cache.rb:36:in call' /usr/local/lib/ruby/gems/2.1.0/gems/activerecord-4.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:621:incall'
/usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/middleware/callbacks.rb:29:in block in call' /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/callbacks.rb:82:inrun_callbacks'
/usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/middleware/callbacks.rb:27:in call' /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/middleware/remote_ip.rb:76:incall'
/usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/middleware/debug_exceptions.rb:17:in call' /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/middleware/show_exceptions.rb:30:incall'
/usr/local/lib/ruby/gems/2.1.0/gems/railties-4.1.4/lib/rails/rack/logger.rb:38:in call_app' /usr/local/lib/ruby/gems/2.1.0/gems/railties-4.1.4/lib/rails/rack/logger.rb:20:inblock in call'
/usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/tagged_logging.rb:68:in block in tagged' /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/tagged_logging.rb:26:intagged'
/usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/tagged_logging.rb:68:in tagged' /usr/local/lib/ruby/gems/2.1.0/gems/railties-4.1.4/lib/rails/rack/logger.rb:20:incall'
/usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/middleware/request_id.rb:21:in call' /usr/local/lib/ruby/gems/2.1.0/gems/rack-1.5.2/lib/rack/methodoverride.rb:21:incall'
/usr/local/lib/ruby/gems/2.1.0/gems/rack-1.5.2/lib/rack/runtime.rb:17:in call' /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/cache/strategy/local_cache_middleware.rb:26:incall'
/usr/local/lib/ruby/gems/2.1.0/gems/rack-1.5.2/lib/rack/sendfile.rb:112:in call' /usr/local/lib/ruby/gems/2.1.0/gems/railties-4.1.4/lib/rails/engine.rb:514:incall'
/usr/local/lib/ruby/gems/2.1.0/gems/railties-4.1.4/lib/rails/application.rb:144:in call' /usr/local/lib/ruby/gems/2.1.0/gems/rack-1.5.2/lib/rack/content_length.rb:14:incall'
/usr/local/lib/ruby/gems/2.1.0/gems/puma-2.8.2/lib/puma/server.rb:490:in handle_request' /usr/local/lib/ruby/gems/2.1.0/gems/puma-2.8.2/lib/puma/server.rb:361:inprocess_client'
/usr/local/lib/ruby/gems/2.1.0/gems/puma-2.8.2/lib/puma/server.rb:254:in block in run' /usr/local/lib/ruby/gems/2.1.0/gems/puma-2.8.2/lib/puma/thread_pool.rb:92:incall'
/usr/local/lib/ruby/gems/2.1.0/gems/puma-2.8.2/lib/puma/thread_pool.rb:92:in `block in spawn_thread'

I, [2014-08-12T16:32:49.574810 #23] INFO -- : Completed 500 Internal Server Error in 111ms (Views: 0.4ms | ActiveRecord: 0.0ms)
I, [2014-08-12T16:32:49.682435 #23] INFO -- : Started GET "/template_repos.json" for 172.17.0.4 at 2014-08-12 16:32:49 +0000
I, [2014-08-12T16:32:49.685179 #23] INFO -- : Processing by TemplateReposController#index as JSON
I, [2014-08-12T16:32:49.691162 #23] INFO -- : Completed 200 OK in 5ms (Views: 2.2ms | ActiveRecord: 0.8ms)

Getting access to .pmx file (without saving to GitHub)

I was trying to save a Panamax template but keep getting the following: "GET https://api.github.com/user/emails: 403 - API rate limit exceeded for 216.113.168.141. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.) // See: https://developer.github.com/v3/#rate-limiting".

I cannot work out any other way to get the .pmx template out. Looking on GitHub they look like simple plain text files. If it fails to save to GitHub, it would be still useful to be able to extract the definition another way (it show on screen as text file, or offer a 'download' link).

(I will work around the problem myself, but I am reporting the issue in case you want to think about it.)

Port forwarding doesn't update VirtualBox setting

On OSX 10.9.4, VirtualBox 4.3.6. I downloaded Panamax just now, installed MongoDB and tried to setup port forwarding on 27017 for both CoreOS and exposed locally. I expected localhost:27017 to show Mongo's warning message. No luck. I went to VirtualBox's Network settings for Port Forwarding. There was no entry mapping the Host to the Guest port. I added it manually here and it worked. So it seems saving my settings for mongo did not change VBox's settings.

Panamax UI reports Job state loaded could not be achieved

I installed panamax onto a simple coreos installation and all seemed to work

I was able to even pull wordpress example and all of sudden I am not able to do anything else.

When i try to pull a new image i seem to get 500 internal server error and this

image

Does Panamax start up and use etcd?

I noticed etcd is running on two CoreOS servers I have Panamax running on (and not on a third host where etcd is not running). Is it safe to reconfigure the three etcd instances to be in the one cluster? Or is that going to cause the two Panamax instances to collide?

Is there a documented/safe way to use Panamax with an etcd cluster without messing up Panamax? Or should I spin up a new set of etcd processes on a different port to be safe? (I was thinking of experimenting with Panamax with etcd for cluster service discovery.)

Thanks!

Job state 'loaded' could not be achieved

I get this message after press button to start new container.
Fresh install on Mac(10.9) and GCE, and get this error.

panamax: 0.1.2
virtualbox: 4.3.14
vagrant: 1.6.3
CoreOS Stable: 367.1.0

fails to run any image

I Search Panamax Templates & Docker Repositories for lgsd/docker-rails, then I click "Run the image" but get the following error looping infinitely:

Sep 02 21:02:17 systemd Started lgsd_docker-rails_latest.service.
Sep 02 21:02:17 docker Error response from daemon: No such container: lgsd_docker-rails_latest
Sep 02 21:02:17 docker 2014/09/02 19:02:17 Error: failed to kill one or more containers
Sep 02 21:02:17 docker Error response from daemon: No such container: lgsd_docker-rails_latest
Sep 02 21:02:17 docker 2014/09/02 19:02:17 Error: failed to remove one or more containers 

Follow panamax version:

███████╗ ██████╗  █████████╗ ██████╗  ██████████╗ ██████╗  ██╗  ██╗
██╔══██║  ╚═══██╗ ███╗  ███║  ╚═══██╗ ██║ ██╔ ██║  ╚═══██╗ ╚██╗██╔╝
██   ██║ ███████║ ███║  ███║ ███████║ ██║╚██║ ██║ ███████║  ╚███╔╝ 
███████╝ ███████║ ███║  ███║ ███████║ ██║╚██║ ██║ ███████║  ██╔██╗ 
██║      ███████║ ███║  ███║ ███████║ ██║╚██║ ██║ ███████║ ██╔╝ ██╗
╚═╝      ╚══════╝ ╚══╝  ╚══╝ ╚══════╝ ╚═╝ ╚═╝ ╚═╝ ╚══════╝ ╚═╝  ╚═╝

CenturyLink Labs - http://www.centurylinklabs.com/

Checking if required software is installed.

Vagrant 1.6 or newer installed.
Virtualbox 4.2 or newer installed.


Local Panamax component versions:
   UI: 0.1.2
  API: 0.1.2
Local Panamax Installer version:

Already tried reintalling like the following:

lsoave@basenode:~$ panamax reinstall --cpu=2 --memory=2048

UI & API containers are running fine:

core@panamax-vm ~ $ docker ps -a
CONTAINER ID        IMAGE                            COMMAND                CREATED             STATUS              PORTS                     NAMES
9ebbbac8b000        centurylink/panamax-ui:latest    /bin/sh -c 'bundle e   4 minutes ago       Up 4 minutes        0.0.0.0:3000->3000/tcp    PMX_UI                         
9af4bcacf94d        centurylink/panamax-api:latest   /bin/sh -c 'bundle e   4 minutes ago       Up 4 minutes        0.0.0.0:3001->3000/tcp    PMX_API,PMX_UI/PMX_API         
826cb78c9ad0        google/cadvisor:0.1.0            /usr/bin/cadvisor      4 minutes ago       Up 4 minutes        0.0.0.0:49153->8080/tcp   PMX_CADVISOR,PMX_UI/CADVISOR   

Update images from the docker hub?

I was testing something on a docker image I made and I found a syntax error in a config file that was hard-coded in there. Is there a way to make Panamax pull and run an updated image from the docker hub?

Mounting volumes

Hey team!

What's the planned pattern for mounting from outside the panamax vm inside, and then accessing a mount from within a panamax container? I see the /var/panamax mount, if we symlink inside there should we then just add a volume as /var/panamax/mount to the guest container? It would be great to see a wiki item addressing that since it's a pretty big issue for db persistence, static assets etc.

BTW: great work so far!

PanamaxAgent::BadRequest (Standby Internal Error)

Hi,

I have a coreos instance on EC2 with panamax installed, which was working great. But after removing my application (image) and rebooting coreos, I get following exception when trying to add the same image again (docker logs PMX_API):

I, [2014-08-13T18:03:49.779048 #28] INFO -- : Parameters: {"image"=>"dfranssen/docker-jenkins-master:latest"}
W, [2014-08-13T18:03:49.793435 #28] WARN -- : Can't verify CSRF token authenticity
E, [2014-08-13T18:03:49.909382 #28] ERROR -- :
PanamaxAgent::BadRequest (Standby Internal Error):
/usr/src/app/lib/panamax_agent/middleware/response/raise_error.rb:20:in on_complete' /usr/local/lib/ruby/gems/2.1.0/gems/faraday-0.8.9/lib/faraday/response.rb:9:inblock in call'
/usr/local/lib/ruby/gems/2.1.0/gems/faraday-0.8.9/lib/faraday/response.rb:63:in on_complete' /usr/local/lib/ruby/gems/2.1.0/gems/faraday-0.8.9/lib/faraday/response.rb:8:incall'
/usr/local/lib/ruby/gems/2.1.0/gems/faraday_middleware-0.9.0/lib/faraday_middleware/response_middleware.rb:30:in call' /usr/local/lib/ruby/gems/2.1.0/gems/faraday-0.8.9/lib/faraday/request/url_encoded.rb:14:incall'
/usr/local/lib/ruby/gems/2.1.0/gems/faraday-0.8.9/lib/faraday/connection.rb:253:in run_request' /usr/local/lib/ruby/gems/2.1.0/gems/faraday-0.8.9/lib/faraday/connection.rb:118:input'
/usr/src/app/lib/panamax_agent/request.rb:15:in request' /usr/src/app/lib/panamax_agent/request.rb:6:inblock (2 levels) in module:Request'
/usr/src/app/lib/panamax_agent/fleet/client/unit.rb:15:in create_unit' /usr/src/app/lib/panamax_agent/fleet/client.rb:29:inload'
/usr/src/app/app/services/service_manager.rb:16:in load' /usr/src/app/app/models/service.rb:49:insubmit'
/usr/local/lib/ruby/gems/2.1.0/gems/activerecord-4.1.4/lib/active_record/relation/delegation.rb:46:in each' /usr/local/lib/ruby/gems/2.1.0/gems/activerecord-4.1.4/lib/active_record/relation/delegation.rb:46:ineach'
/usr/src/app/app/models/app.rb:10:in run' /usr/src/app/app/controllers/apps_controller.rb:26:increate'
/usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_controller/metal/implicit_render.rb:4:in send_action' /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/abstract_controller/base.rb:189:inprocess_action'
/usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_controller/metal/rendering.rb:10:in process_action' /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/abstract_controller/callbacks.rb:20:inblock in process_action'
/usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/callbacks.rb:113:in call' /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/callbacks.rb:113:incall'
/usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/callbacks.rb:229:in block in halting' /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/callbacks.rb:166:incall'
/usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/callbacks.rb:166:in block in halting' /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/callbacks.rb:86:incall'
/usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/callbacks.rb:86:in run_callbacks' /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/abstract_controller/callbacks.rb:19:inprocess_action'
/usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_controller/metal/rescue.rb:29:in process_action' /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_controller/metal/instrumentation.rb:31:inblock in process_action'
/usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/notifications.rb:159:in block in instrument' /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/notifications/instrumenter.rb:20:ininstrument'
/usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/notifications.rb:159:in instrument' /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_controller/metal/instrumentation.rb:30:inprocess_action'
/usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_controller/metal/params_wrapper.rb:250:in process_action' /usr/local/lib/ruby/gems/2.1.0/gems/activerecord-4.1.4/lib/active_record/railties/controller_runtime.rb:18:inprocess_action'
/usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/abstract_controller/base.rb:136:in process' /usr/local/lib/ruby/gems/2.1.0/gems/actionview-4.1.4/lib/action_view/rendering.rb:30:inprocess'
/usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_controller/metal.rb:196:in dispatch' /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_controller/metal/rack_delegation.rb:13:indispatch'
/usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_controller/metal.rb:232:in block in action' /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/routing/route_set.rb:82:incall'
/usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/routing/route_set.rb:82:in dispatch' /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/routing/route_set.rb:50:incall'
/usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/journey/router.rb:71:in block in call' /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/journey/router.rb:59:ineach'
/usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/journey/router.rb:59:in call' /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/routing/route_set.rb:678:incall'
/usr/local/lib/ruby/gems/2.1.0/gems/rack-1.5.2/lib/rack/etag.rb:23:in call' /usr/local/lib/ruby/gems/2.1.0/gems/rack-1.5.2/lib/rack/conditionalget.rb:35:incall'
/usr/local/lib/ruby/gems/2.1.0/gems/rack-1.5.2/lib/rack/head.rb:11:in call' /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/middleware/params_parser.rb:27:incall'
/usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/middleware/flash.rb:254:in call' /usr/local/lib/ruby/gems/2.1.0/gems/rack-1.5.2/lib/rack/session/abstract/id.rb:225:incontext'
/usr/local/lib/ruby/gems/2.1.0/gems/rack-1.5.2/lib/rack/session/abstract/id.rb:220:in call' /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/middleware/cookies.rb:560:incall'
/usr/local/lib/ruby/gems/2.1.0/gems/activerecord-4.1.4/lib/active_record/query_cache.rb:36:in call' /usr/local/lib/ruby/gems/2.1.0/gems/activerecord-4.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:621:incall'
/usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/middleware/callbacks.rb:29:in block in call' /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/callbacks.rb:82:inrun_callbacks'
/usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/middleware/callbacks.rb:27:in call' /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/middleware/remote_ip.rb:76:incall'
/usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/middleware/debug_exceptions.rb:17:in call' /usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/middleware/show_exceptions.rb:30:incall'
/usr/local/lib/ruby/gems/2.1.0/gems/railties-4.1.4/lib/rails/rack/logger.rb:38:in call_app' /usr/local/lib/ruby/gems/2.1.0/gems/railties-4.1.4/lib/rails/rack/logger.rb:20:inblock in call'
/usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/tagged_logging.rb:68:in block in tagged' /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/tagged_logging.rb:26:intagged'
/usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/tagged_logging.rb:68:in tagged' /usr/local/lib/ruby/gems/2.1.0/gems/railties-4.1.4/lib/rails/rack/logger.rb:20:incall'
/usr/local/lib/ruby/gems/2.1.0/gems/actionpack-4.1.4/lib/action_dispatch/middleware/request_id.rb:21:in call' /usr/local/lib/ruby/gems/2.1.0/gems/rack-1.5.2/lib/rack/methodoverride.rb:21:incall'
/usr/local/lib/ruby/gems/2.1.0/gems/rack-1.5.2/lib/rack/runtime.rb:17:in call' /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/cache/strategy/local_cache_middleware.rb:26:incall'
/usr/local/lib/ruby/gems/2.1.0/gems/rack-1.5.2/lib/rack/sendfile.rb:112:in call' /usr/local/lib/ruby/gems/2.1.0/gems/railties-4.1.4/lib/rails/engine.rb:514:incall'
/usr/local/lib/ruby/gems/2.1.0/gems/railties-4.1.4/lib/rails/application.rb:144:in call' /usr/local/lib/ruby/gems/2.1.0/gems/rack-1.5.2/lib/rack/content_length.rb:14:incall'
/usr/local/lib/ruby/gems/2.1.0/gems/puma-2.8.2/lib/puma/server.rb:490:in handle_request' /usr/local/lib/ruby/gems/2.1.0/gems/puma-2.8.2/lib/puma/server.rb:361:inprocess_client'
/usr/local/lib/ruby/gems/2.1.0/gems/puma-2.8.2/lib/puma/server.rb:254:in block in run' /usr/local/lib/ruby/gems/2.1.0/gems/puma-2.8.2/lib/puma/thread_pool.rb:92:incall'
/usr/local/lib/ruby/gems/2.1.0/gems/puma-2.8.2/lib/puma/thread_pool.rb:92:in `block in spawn_thread'

I, [2014-08-13T18:03:49.922574 #28] INFO -- : Completed 500 Internal Server Error in 143ms (Views: 0.3ms | ActiveRecord: 52.5ms)

Cannot start a container

Hi,

I tried to start a container but logs keep on this loop :

Aug 20 09:17:42 systemd jwilder_nginx-proxy_latest.service: control process exited, code=exited status=1
Aug 20 09:17:42 docker Error response from daemon: No such container: jwilder_nginx-proxy_latest

Aug 20 09:17:42 docker 2014/08/20 07:17:42 Error: failed to remove one or more containers

Aug 20 09:17:42 systemd Unit jwilder_nginx-proxy_latest.service entered failed state. 

But the container does exist. I can start it from command line.
Same after editing the "application" and rebooting the system.
Thanks.

Problems saving templates and finding them afterwards

Mainly feedback. I have had quite a bit of problems saving templates. I suspect the default VirtualBox memory allocation is too small if you have decent sized containers, so I increased the default 1G to 8G and had more luck

Finally after several hangs and reboots, I managed to get my template saved. For example https://github.com/alankent/panamax/blob/master/magento_2_demo.pmx was created using this approach. But it does not come up the Panamax search, so I cannot download and test on another machine.

Not sure what can be done - the above information is pretty vague. But reporting the frustrating experience anyway. I am giving up for now - got other things to do.

Unexpected Token Error

Hi All

Im running a coreos cluster on rackspace.

Soon after installation I search for "PHP" then hit search.. nothing found on the templates so i went for Images on the dockerhub.

chose the first one and click Run Image and I see this

757: unexpected token at 'Temporary Redirect. '

image

Error when trying to start a container

When clicking on "Run Image" or "Run Template", I always get the error message: bad URI(is not URI?): 172.17.42.1:4001.

This is on CoreOS 402 running as a VPS on Vultr.com. etcd and fleet are both running on the host (no cluster). I followed the Cloud provider installation docs in order to install the stable version.

Maybe there is some setup needed for etcd to work on a VPS?

linux install without virtualbox

Why does the linux install need virtualbox/vagrant? The linux install should be able to just assume docker is installled. This stopped me from trying out panamax.

757: unexpected token

I have install panamax on My Local CoreOS Cluster. Then, "Run Template". Always get

757: unexpected token at '<a href="http://192.168.2.16:4001/v2/keys/_coreos.com/fleet/state/DB.service?consistent=true&amp;recursive=true&amp;sorted=false">Temporary Redirect</a>. '

757

"Save as Template" - github repos count

On the "Save as Template" page the list of available github repos i truncated to 30 first repos (in alphabetical order). If one has more than 30 repos there is no way to chose a repo that's not in the first 30. At least I didn't find a way to load more. I had to change the name of repo and give it a prefix "a-"

Cannot install container

Hello,

just installed panamax stable, opened panamax-ui and tried to install nginx (but really does not matter). I see error message "execution expired" for any container or template.

Panamax init failed on OSX 10.9

Figured I'd give this a shot, but the installer failed. I ran 'brew install http://download.panamax.io/installer/brew/panamax.rb' and then 'panamax init' which ran for a bit and then produced the following error.

==> panamax-vm: Running provisioner: shell...
    panamax-vm: Running: inline script
==> panamax-vm: Check tree block failed, want=158334976, have=0
==> panamax-vm: Check tree block failed, want=158334976, have=0
==> panamax-vm: Check tree block failed, want=158334976, have=0
==> panamax-vm: Check tree block failed, want=158334976, have=0
==> panamax-vm: Check tree block failed, want=158334976, have=0
==> panamax-vm: read block failed check_tree_block
==> panamax-vm: Couldn't read tree root
==> panamax-vm: ln -s '/etc/systemd/system/var-lib-docker.mount' '/etc/systemd/system/multi-user.target.wants/var-lib-docker.mount'
==> panamax-vm: Job for var-lib-docker.mount failed. See 'systemctl status var-lib-docker.mount' and 'journalctl -xn' for details.

Full 'panamax init' output

One thing to note, I initially ran 'panamax init' and then hit ctrl-c to cancel. I then ran 'panamax init' again to start again. Maybe it left some bad temp files around that it's trying to use?

Thanks
John

Job state 'loaded' could not be achieved when running any image or template

What an impressive work you did!
It could save us a sh**load of time playing around CoreOS, docker and fleet.

I just installed Panamax manually on a fresh CoreOS vmware, using the ./coreos script provided at (http://download.panamax.io/installer/pmx-installer-latest.zip)
I've got myself a nice UI running on coreos host port 3000 as expected (yeah!)

I pulled some docker images locally and these are correctly found.
Unfortunately, I cannot run any of these. I always get the Job state 'loaded' could not be achieved error redirecting to the main page.
I tried running some popular templates like wordpress used by Lucas in the tutorial with the same immediate error.
I have no clue where to search for logs or something so any help would be much appreciated!

Display the Docker commands being run

This is a feature request. The UI should show exactly what Docker commands/calls are being made. Ideally they'd be interleaved in the "CoreOS Journal - Service Activity Log".

This would be a huge help when debugging exactly what Panamax is doing.

It would also help learning Docker itself for when developers are ready to take the next step and start using the API/CLI to automate things.

List of network sockets used by container not cleared on restart, not even panamax restart.

steps to reproduce (using panamax-ui)

  1. create new application.
  2. add docker image that listens on port 8888 by default.
  3. delete port mapping from the applications service page
  4. add new mapping and expose that port.
  5. hit save all changes and wait.
  6. using panamax ssh see the following output from docker ps
  7. discover that this remains even after hitting 'application rebuild' in panamax-ui and remains when the template is called on panamax restart
6a0d30715e3c        ipython/notebook:latest          /bin/sh -c /notebook   About a minute ago   Up About a minute   9969/tcp, 8888/tcp, 0.0.0.0:49155->9999/tcp   ipython_notebook

As you can see, there are multiple port entries in the list where there ought to be only one.

also the application seems to be listening on precisely none of those.

Filing this as a bug against panamax-ui even though it seems to be a bug in the underlying api.

Allow both tcp and udp on the same port

I have a container which requires both tcp and udp to be open on the same port. The panamax ui will not allow me to specify, say, 5555:5555 tcp and 5555:5555 udp. I also tried to do this by entering a specific docker run command:

docker run -p 5555:5555 -p 5555:5555/udp mojotalantikite/testapp

but the logs show -p as being an unrecognized option:

Aug 26 00:42:01 docker Unrecognized option: -p
Aug 26 00:42:01 docker Error: Could not create the Java Virtual Machine.
Aug 26 00:42:01 docker Error: A fatal exception has occurred. Program will exit.

Google Compute Engine directions

I have created a simple tutorial for running Panamax on Google Compute Engine and would like to add my directions to the Github wiki. Unfortunately I was unable to find a way to make a pull request against the wiki, but I do have the directions in a folder in my dotfiles repo. Any suggestions on how these can be cleaned up would be great.

I noticed that your wiki pages don't allow for the inclusion of things like a cloud-config file that in testing has greatly sped up provision time.

Panamax UI not responding

Successfully did a brew install panamax . panamax init stable .
After the UI popped up most of the buttons were not working .
Ex: Or, try one of these popular searches:
none of the templates were responding to clicks .

Add a service or edit service is not responding to clicks

Can't edit application name from Firefox

Heres a screenshot from my browser (Panamax UI 0.1.1, OS: Ubuntu 14.04, browser: Firefox)

panamax_firefox_bug

The edit icon is inaccessible because when I try to hover on it, it disappears. Had to do it from Chrome ;)

panamax-ui loads javascript from remote sources without https and without payload authentication

The Panamax UI page includes a block that loads an async script for the KissInsights service.


  var _kiq = _kiq || [];
  (function(){
    setTimeout(function(){
    var d = document, f = d.getElementsByTagName('script')[0], s = d.createElement('script'); s.type = 'text/javascript';
    s.async = true; s.src = '//s3.amazonaws.com/ki.js/52526/bmn.js'; f.parentNode.insertBefore(s, f);
    }, 1);
  })();

The fact that one must disable adblock before running a local dev environment points to a major security hazard. Given that the above code explicitly accepts whatever protocol http | https the panamax-ui page is being accessed by as the default transport mechanism an attacker who had control of the users DNS could insert javascript into the users browser session that would have the power to start services, inject commands into docker containers, start containers; etc.

This is not a theoretical or obscure attack, it is a well-known, well-understood and commonly observed risk in end-user networks.

Given that the panamax-ui has full admin power over it's VM this should be considered a remote root vulnerability. And potential users should be warned against using panamax-ui in a production environment until it is fixed.

Suggested Fix: remove all 3rd party javascript dependencies from locally installed versions of panamax. This would include both KissInsights and Google Analytics code.

Acceptable resolutions: Have it not block the UI if tracking code cannot be loaded.
If there is a solid reason that tracking of ui-actions needs to happen, then include a tracking library locally and ask user for permission to upload activity history. Don't break the application if you can't track usage.

panamax init - port collision

If port 8888 is already in use, vagrant fails rather than trying to use another port:

Bringing machine 'panamax-vm' up with 'virtualbox' provider...
==> panamax-vm: Box 'panamax-coreos-box-367' could not be found. Attempting to find and install...
    panamax-vm: Box Provider: virtualbox
    panamax-vm: Box Version: >= 0
==> panamax-vm: Adding box 'panamax-coreos-box-367' (v0) for provider: virtualbox
    panamax-vm: Downloading: http://storage.core-os.net/coreos/amd64-usr/367.1.0/coreos_production_vagrant.box
==> panamax-vm: Successfully added box 'panamax-coreos-box-367' (v0) for 'virtualbox'!
==> panamax-vm: Importing base box 'panamax-coreos-box-367'...
==> panamax-vm: Matching MAC address for NAT networking...
==> panamax-vm: Setting the name of the VM: panamax-vm
Vagrant cannot forward the specified ports on this VM, since they
would collide with some other application that is already listening
on these ports. The forwarded port to 8888 is already in use
on the host machine.

don't limit template repos to github

at least it would be fine to host template repos on bitbucket (as we can have free private repos there). It should be possible to use any git host (maybe someone has its own gitlab-powered host).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.