danhigham / cf-console Goto Github PK
View Code? Open in Web Editor NEWCF CLI Plugin to connect to container via tmate
CF CLI Plugin to connect to container via tmate
During CF training w/ Dr. Nic, some of my co-workers on Windows were trying to install the cf-console plugin. After installing CF, Go, and configuring GOPATH, the following appears to work: (from cmd)
go get github.com/danhigham/cf-console
cf install-plugin %GOPATH%\bin\cf-console.exe
However, "cf console" thereafter exits silently (returns 1) in console.
I'll post back here when I have a little more debug info for you to go on.
when multiple people try to run console on same app it adds too many commands and causes problems. It looks like its just append command with more commands > Updating app start command to 'curl http://tmate-bootstrap.cfapps.io?cmd=curl+http%3A%2F%2Ftmate-bootstrap.cfapps.io%3Fcmd=rackup+-p+8080+%7C+sh | sh'.
When behind firewall and app does not have access to download script here ti just hangs:
curl -s https://raw.githubusercontent.com/danhigham/cf-console/master/install.sh > /tmp/install.sh && bash /tmp/install.sh && sleep 3600
Another surprise was that even though I uninstalled on app that I tested this with it stayed around in app parameters. So when a deploy was done it started failing, and did not know why. When looking at logs would just repeat below sequence.
2015-03-30T12:48:54.27-0700 [App/0] OUT
2015-03-30T12:48:54.31-0700 [DEA/1] ERR Instance (index 0) failed to start accepting connections
2015-03-30T12:48:54.31-0700 [API/0] OUT App instance exited with guid 55e3e249-3069-4a30-9eeb-5cc05a1639f4 payload: {"cc_partition"=>"default", "droplet"=>"55e3e249-3069-4a30-9eeb-5cc05a1639f4", "version"=>"05990e8d-c026-4f6d-810f-33a0a802c30b", "instance"=>"7f7dc147e38941adabc522ad60c820cd", "index"=>0, "reason"=>"CRASHED", "exit_status"=>7, "exit_description"=>"app instance exited", "crash_timestamp"=>1427744934}
2015-03-30T12:48:56.18-0700 [DEA/1] OUT Removing crash for app with id 55e3e249-3069-4a30-9eeb-5cc05a1639f4
2015-03-30T12:48:56.18-0700 [DEA/1] OUT Stopping app instance (index 1) with guid 55e3e249-3069-4a30-9eeb-5cc05a1639f4
2015-03-30T12:48:56.18-0700 [DEA/1] OUT Stopped app instance (index 1) with guid 55e3e249-3069-4a30-9eeb-5cc05a1639f4
2015-03-30T12:49:28.62-0700 [DEA/1] OUT Starting app instance (index 1) with guid 55e3e249-3069-4a30-9eeb-5cc05a1639f4
2015-03-30T12:49:34.36-0700 [DEA/1] ERR Instance (index 1) failed to start accepting connections
2015-03-30T12:49:34.37-0700 [API/1] OUT App instance exited with guid 55e3e249-3069-4a30-9eeb-5cc05a1639f4 payload: {"cc_partition"=>"default", "droplet"=>"55e3e249-3069-4a30-9eeb-5cc05a1639f4", "version"=>"05990e8d-c026-4f6d-810f-33a0a802c30b", "instance"=>"f6d9f8da898049228faf34f3ddb39822", "index"=>1, "reason"=>"CRASHED", "exit_status"=>7, "exit_description"=>"app instance exited", "crash_timestamp"=>1427744974}
Not till I tried starting app with CF_TRACE=true did I see the above command was embedded in app:
"entity": {
"name": "someapp",
"production": false,
"space_guid": "3efeb19c-5b2a-4ef2-ba81-d74ce492ec1b",
"stack_guid": "50db112d-4eb6-4214-b988-515abc4e6b71",
"buildpack": "java_buildpack_offline-2_5",
"detected_buildpack": null,
"environment_json": {
"APPDYNAMICS_APP_NAME": "someapp",
"APPDYNAMICS_ENV_NAME": "someenv",
"APPLICATION_NAME": "someapp",
"AUTOLOGIN_PASSWORD": "pass",
"AUTOLOGIN_USER": "user",
"DATABASE_JDBC_URL": "jdbc:oracle:thin:@1.1.1.1:1234/db",
"DATABASE_PASSWORD": "dbxxxx",
"DATABASE_USERNAME": "dbuser",
....
....
},
"memory": 1024,
"instances": 2,
"disk_quota": 1024,
"state": "STARTED",
"version": "7af927ae-7117-481b-af3d-9ce6c76f0f4e",
"command": "curl -s https://raw.githubusercontent.com/danhigham/cf-console/master/install.sh > /tmp/install.sh && bash /tmp/install.sh && sleep 3600",
"console": false,
"debug": null,
"staging_task_id": "6c9de18f329041689e0233fa93a59fe3",
"package_state": "PENDING",
"health_check_timeout": null,
"staging_failed_reason": null,
"docker_image": null,
"package_updated_at": "2015-03-30T20:29:21+00:00",
"space_url": "/v2/spaces/3efeb19c-5b2a-4ef2-ba81-d74ce492ec1b",
"space": {
"metadata": {
It looks like when we are parsing lastDate it panic and exit when system time is UTC
https://github.com/danhigham/cf-console/blob/master/console.go#L149
Looks for - but i think we need to look for - and +
Will work on fix when I have time
When I try to install with go get
I receive the following error:
package github.com/cloudfoundry/cli/cf/configuration/config_helpers: cannot find package "github.com/cloudfoundry/cli/cf/configuration/config_helpers" in any of:
/usr/local/opt/go/libexec/src/github.com/cloudfoundry/cli/cf/configuration/config_helpers (from $GOROOT)
/Users/johngrogg/.go/src/github.com/cloudfoundry/cli/cf/configuration/config_helpers (from $GOPATH)
package github.com/cloudfoundry/cli/cf/configuration/core_config: cannot find package "github.com/cloudfoundry/cli/cf/configuration/core_config" in any of:
/usr/local/opt/go/libexec/src/github.com/cloudfoundry/cli/cf/configuration/core_config (from $GOROOT)
/Users/johngrogg/.go/src/github.com/cloudfoundry/cli/cf/configuration/core_config (from $GOPATH)
It appears the cloud foundry cli project has modified the folder structures of the cf/configuration
directory.
Plugin version (unmerged to master) https://github.com/cloudfoundry-community/cf-ssh/tree/cf-plugin
If running cf console
on a machine that (say), has 100% root/tmp disk utilization, it gets partway through starting up - sometimes even to the part where it changes the cf app's start command - and then dies without reverting. If at all possible, it would be lovely to have cf-console clean up after itself on the way down.
Thank you!
@danhigham want to rename/move this to cloudfoundry-community/cf-ssh?
App seems to never start because does not accept connections within given time.
2015-04-14T19:10:19.79-0700 [App/5] OUT lib/pkgconfig/libevent_pthreads.pc
^[[B2015-04-14T19:11:19.38-0700 [DEA/1] ERR Instance (index 5) failed to start accepting connections
2015-04-14T19:11:19.39-0700 [API/0] OUT App instance exited with guid 9ab8ceea-cc1a-4660-8bb4-63890dd94807 payload: {"cc_partition"=>"default", "droplet"=>"9ab8ceea-cc1a-4660-8bb4-63890dd94807", "version"=>"e3207066-665e-4886-9151-6449c7f82cbe", "instance"=>"dd5494ae2033468387e27e4efce3c031", "index"=>5, "reason"=>"CRASHED", "exit_status"=>-1, "exit_description"=>"failed to accept connections within health check timeout", "crash_timestamp"=>1429063879}
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.