Hide Forgot
Description of problem: When deploy with a HTTP URL of a tar file, error message show up. Version-Release number of selected component (if applicable): fork_ami_origin_ui_82_902 rhc build from fork_ami_origin_ui_82_902 How reproducible: aways Steps to Reproduce: 1.Create a app 2.configure app with "--no-auto-deploy --deployment-type binary" option rhc configure-app -a $appname --no-auto-deploy --deployment-type binary 3.Get a binary tar.gz file via `rhc snapshot save` 4.put the tar.gz file into a http website, and get the URL of the file 5.deploy the app with the URL of the tar.gz file Actual results: rhc deploy -a php https://raw.github.com/wsun1/binaryex/master/deployment.tar Deployment of git ref 'https://raw.github.com/wsun1/binaryex/master/deployment.tar' in progress for application php ... Stopping PYTHON cart An error occurred executing 'gear deploy' (exit code: 1) Error message: Shell command ' set -xe; shopt -s dotglob; if [ "$(find objects -type f 2>/dev/null | wc -l)" -eq "0" ]; then exit 0; fi git archive --format=tar https://raw.github.com/wsun1/binaryex/master/deployment.tar | (cd /var/lib/openshift/525bb18fbf47e11ee4000174/app-deployments/2013-10-14_06-10-55.299/repo && tar --warning=no-timestamp -xf -); ' returned an error. rc=1 stdout: stderr: + shopt -s dotglob ++ wc -l ++ find objects -type f + '[' 27 -eq 0 ']' + git archive --format=tar https://raw.github.com/wsun1/binaryex/master/deployment.tar + cd /var/lib/openshift/525bb18fbf47e11ee4000174/app-deployments/2013-10-14_06-10-55.299/repo + tar --warning=no-timestamp -xf - fatal: Not a valid object name tar: This does not look like a tar archive tar: Exiting with failure status due to previous errors For more details about the problem, try running the command again with the '--trace' option. Success Expected results: It should work as the same as a file format Additional info:
Fixed in fork_ami_origin_ui_82_905.
Tried on fork_ami_origin_ui_82_905, and it return success but not really deployed. rhc deploy -a app https://raw.github.com/wsun1/binaryex/master/deployment.tar -d DEBUG: Using config file /root/.openshift/express.conf DEBUG: Git config 'git config --get rhc.app-id' returned '525ca837830f5c612a000007' DEBUG: Git config 'git config --get rhc.app-name' returned 'app' DEBUG: Git config 'git config --get rhc.domain-name' returned 'wjiang' DEBUG: Authenticating with RHC::Auth::Token DEBUG: Connecting to https://localhost/broker/rest/api DEBUG: Client supports API versions 1.1, 1.2, 1.3, 1.4, 1.5 DEBUG: Using token authentication DEBUG: Created new httpclient DEBUG: Request GET https://localhost/broker/rest/api DEBUG: SSL Verification failed -- Using self signed cert DEBUG: code 200 68 ms DEBUG: Server supports API versions 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6 DEBUG: Using API version 1.5 DEBUG: Client API version 1.5 is not current. Refetching API DEBUG: Using token authentication DEBUG: Request GET https://localhost/broker/rest/api DEBUG: code 200 44 ms DEBUG: Using token authentication DEBUG: Request GET https://localhost/broker/rest/domains/wjiang/applications/app DEBUG: code 200 69 ms Deployment of file 'https://raw.github.com/wsun1/binaryex/master/deployment.tar' in progress for application app ... DEBUG: Opening Net::SSH connection to app-wjiang.dev.rhcloud.com, 525ca837830f5c612a000007, oo-binary-deploy Beginning binary deployment DEBUG: gzip: stdin: unexpected end of file /bin/tar: Child returned status 1 /bin/tar: Error is not recoverable: exiting now DEBUG: /opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-node-1.16.0/lib/openshift-origin-node/utils/shell_exec.rb:133:in `block (2 levels) in oo_spawn': Shell command '/bin/tar -xz' returned an error. rc=2 (OpenShift::Runtime::Utils::ShellExecutionException) from /opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-node-1.16.0/lib/openshift-origin-node/utils/shell_exec.rb:96:in `pipe' from /opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-node-1.16.0/lib/openshift-origin-node/utils/shell_exec.rb:96:in `block in oo_spawn' from /opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-node-1.16.0/lib/openshift-origin-node/utils/shell_exec.rb:95:in `pipe' from /opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-node-1.16.0/lib/openshift-origin-node/utils/shell_exec.rb:95:in `oo_spawn' from /opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-container-selinux-0.3.0/lib/openshift/runtime/containerization/selinux_container.rb:327:in `run_in_container_context' from /opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-node-1.16.0/lib/openshift-origin-node/model/application_container.rb:686:in `run_in_container_context' from /opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-node-1.16.0/lib/openshift-origin-node/model/application_container_ext/deployments.rb:349:in `extract_deployment_archive' from /opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-node-1.16.0/lib/openshift-origin-node/model/application_container_ext/cartridge_actions.rb:513:in `prepare' from /usr/bin/gear:366:in `block (2 levels) in <main>' from /opt/rh/ruby193/root/usr/share/gems/gems/commander-4.0.3/lib/commander/command.rb:180:in `call' from /opt/rh/ruby193/root/usr/share/gems/gems/commander-4.0.3/lib/commander/command.rb:180:in `call' from /opt/rh/ruby193/root/usr/share/gems/gems/commander-4.0.3/lib/commander/command.rb:155:in `run' from /opt/rh/ruby193/root/usr/share/gems/gems/commander-4.0.3/lib/commander/runner.rb:385:in `run_active_command' from /opt/rh/ruby193/root/usr/share/gems/gems/commander-4.0.3/lib/commander/runner.rb:62:in `run!' from /opt/rh/ruby193/root/usr/share/gems/gems/commander-4.0.3/lib/commander/delegates.rb:11:in `run!' from /opt/rh/ruby193/root/usr/share/gems/gems/commander-4.0.3/lib/commander/import.rb:10:in `block in <top (required)>' DEBUG: Terminating ... Success
And after app deploy with a URL of a file, the configure app operation will fail. # rhc configure-app app1 --keep-deployments 3 Configuring application 'app1' ... Unable to complete the requested operation due to: undefined method `each' for nil:NilClass. Reference ID: 99c1f4d73212ddd3d0043ec958d33271 # rhc configure-app app1 --no-auto-deploy Configuring application 'app1' ... Unable to complete the requested operation due to: undefined method `each' for nil:NilClass. Reference ID: dd203317ae8d044e3a9e754694a58e0e # rhc configure-app app1 --deployment-type git Configuring application 'app1' ... Unable to complete the requested operation due to: undefined method `each' for nil:NilClass. Reference ID: d7990f1403fce58835c1ca2d96006074 # rhc configure-app app1 --deployment-branch fork Configuring application 'app1' ... Unable to complete the requested operation due to: undefined method `each' for nil:NilClass. Reference ID: c719cd351e416bfa217fcc06c6f88e98 And the following is /var/log/openshift/broker/development.log 2013-10-15 01:51:37.640 [INFO ] Started PUT "/broker/rest/domain/wjiang/application/app1" for 127.0.0.1 at 2013-10-15 01:51:37 -0400 (pid:3237) 2013-10-15 01:51:37.643 [INFO ] Processing by ApplicationsController#update as JSON (pid:3237) 2013-10-15 01:51:37.643 [INFO ] Parameters: {"deployment_branch"=>"fork", "domain_id"=>"wjiang", "id"=>"app1", "application"=>{}} (pid:3237) 2013-10-15 01:51:37.643 [DEBUG] API version 1.5 (pid:3237) 2013-10-15 01:51:37.647 [DEBUG] SUCCESS ACTION=AUTHENTICATE USER_ID=525ca757830f5c612a000001 LOGIN=wjiang IP=127.0.0.1 SCOPES=session Authenticated (pid:3237) 2013-10-15 01:51:37.681 [ERROR] Reference ID: c719cd351e416bfa217fcc06c6f88e98 - undefined method `each' for nil:NilClass /opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-controller-1.16.0/app/models/application.rb:381:in `update_configuration' /opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-controller-1.16.0/app/controllers/applications_controller.rb:193:in `update' /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_controller/metal/implicit_render.rb:4:in `send_action' /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/abstract_controller/base.rb:167:in `process_action' /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_controller/metal/rendering.rb:10:in `process_action' /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/abstract_controller/callbacks.rb:18:in `block in process_action' /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:481:in `block in _run__89686656946808615__process_action__270016010434508667__callbacks' /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:215:in `block in _conditional_callback_around_424' /opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-controller-1.16.0/lib/openshift/controller/action_log.rb:80:in `set_logged_request' /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:214:in `_conditional_callback_around_424' /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:403:in `_run__89686656946808615__process_action__270016010434508667__callbacks' /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:405:in `__run_callback' /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:385:in `_run_process_action_callbacks' /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:81:in `run_callbacks' /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/abstract_controller/callbacks.rb:17:in `process_action' /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_controller/metal/rescue.rb:29:in `process_action' /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_controller/metal/instrumentation.rb:30:in `block in process_action' /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/notifications.rb:123:in `block in instrument' /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/notifications/instrumenter.rb:20:in `instrument' /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/notifications.rb:123:in `instrument' /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_controller/metal/instrumentation.rb:29:in `process_action' /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_controller/metal/params_wrapper.rb:207:in `process_action' /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/abstract_controller/base.rb:121:in `process' /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/abstract_controller/rendering.rb:45:in `process' /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_controller/metal.rb:203:in `dispatch' /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_controller/metal/rack_delegation.rb:14:in `dispatch' /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_controller/metal.rb:246:in `block in action' /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/routing/route_set.rb:73:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/routing/route_set.rb:73:in `dispatch' /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/routing/route_set.rb:36:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/journey-1.0.4/lib/journey/router.rb:68:in `block in call' /opt/rh/ruby193/root/usr/share/gems/gems/journey-1.0.4/lib/journey/router.rb:56:in `each' /opt/rh/ruby193/root/usr/share/gems/gems/journey-1.0.4/lib/journey/router.rb:56:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/routing/route_set.rb:600:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/mongo_mapper-0.11.1/lib/mongo_mapper/middleware/identity_map.rb:10:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/mongoid-3.0.21/lib/rack/mongoid/middleware/identity_map.rb:34:in `block in call' /opt/rh/ruby193/root/usr/share/gems/gems/mongoid-3.0.21/lib/mongoid/unit_of_work.rb:39:in `unit_of_work' /opt/rh/ruby193/root/usr/share/gems/gems/mongoid-3.0.21/lib/rack/mongoid/middleware/identity_map.rb:34:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/best_standards_support.rb:17:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/rack-1.4.1/lib/rack/etag.rb:23:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/rack-1.4.1/lib/rack/conditionalget.rb:35:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/head.rb:14:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/params_parser.rb:21:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/flash.rb:242:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/rack-1.4.1/lib/rack/session/abstract/id.rb:205:in `context' /opt/rh/ruby193/root/usr/share/gems/gems/rack-1.4.1/lib/rack/session/abstract/id.rb:200:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/cookies.rb:339:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/callbacks.rb:28:in `block in call' /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:405:in `_run__974298036509505935__call__2695334187366015298__callbacks' /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:405:in `__run_callback' /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:385:in `_run_call_callbacks' /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:81:in `run_callbacks' /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/callbacks.rb:27:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/remote_ip.rb:31:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/debug_exceptions.rb:16:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/show_exceptions.rb:56:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/railties-3.2.8/lib/rails/rack/logger.rb:26:in `call_app' /opt/rh/ruby193/root/usr/share/gems/gems/railties-3.2.8/lib/rails/rack/logger.rb:16:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/request_id.rb:22:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/rack-1.4.1/lib/rack/methodoverride.rb:21:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/rack-1.4.1/lib/rack/runtime.rb:17:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/cache/strategy/local_cache.rb:72:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/rack-1.4.1/lib/rack/lock.rb:15:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/static.rb:62:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/rack-cache-1.2/lib/rack/cache/context.rb:136:in `forward' /opt/rh/ruby193/root/usr/share/gems/gems/rack-cache-1.2/lib/rack/cache/context.rb:143:in `pass' /opt/rh/ruby193/root/usr/share/gems/gems/rack-cache-1.2/lib/rack/cache/context.rb:155:in `invalidate' /opt/rh/ruby193/root/usr/share/gems/gems/rack-cache-1.2/lib/rack/cache/context.rb:71:in `call!' /opt/rh/ruby193/root/usr/share/gems/gems/rack-cache-1.2/lib/rack/cache/context.rb:51:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/railties-3.2.8/lib/rails/engine.rb:479:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/railties-3.2.8/lib/rails/application.rb:223:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/railties-3.2.8/lib/rails/railtie/configurable.rb:30:in `method_missing' /opt/rh/ruby193/root/usr/share/gems/gems/passenger-3.0.21/lib/phusion_passenger/rack/request_handler.rb:97:in `process_request' /opt/rh/ruby193/root/usr/share/gems/gems/passenger-3.0.21/lib/phusion_passenger/abstract_request_handler.rb:521:in `accept_and_process_next_request' /opt/rh/ruby193/root/usr/share/gems/gems/passenger-3.0.21/lib/phusion_passenger/abstract_request_handler.rb:274:in `main_loop' /opt/rh/ruby193/root/usr/share/gems/gems/passenger-3.0.21/lib/phusion_passenger/rack/application_spawner.rb:206:in `start_request_handler' /opt/rh/ruby193/root/usr/share/gems/gems/passenger-3.0.21/lib/phusion_passenger/rack/application_spawner.rb:79:in `block in spawn_application' /opt/rh/ruby193/root/usr/share/gems/gems/passenger-3.0.21/lib/phusion_passenger/utils.rb:470:in `safe_fork' /opt/rh/ruby193/root/usr/share/gems/gems/passenger-3.0.21/lib/phusion_passenger/rack/application_spawner.rb:64:in `spawn_application' /opt/rh/ruby193/root/usr/share/gems/gems/passenger-3.0.21/lib/phusion_passenger/spawn_manager.rb:264:in `spawn_rack_application' /opt/rh/ruby193/root/usr/share/gems/gems/passenger-3.0.21/lib/phusion_passenger/spawn_manager.rb:137:in `spawn_application' /opt/rh/ruby193/root/usr/share/gems/gems/passenger-3.0.21/lib/phusion_passenger/spawn_manager.rb:275:in `handle_spawn_application' /opt/rh/ruby193/root/usr/share/gems/gems/passenger-3.0.21/lib/phusion_passenger/abstract_server.rb:357:in `server_main_loop' /opt/rh/ruby193/root/usr/share/gems/gems/passenger-3.0.21/lib/phusion_passenger/abstract_server.rb:206:in `start_synchronously' /opt/rh/ruby193/root/usr/share/gems/gems/passenger-3.0.21/helper-scripts/passenger-spawn-server:102:in `<main>' (pid:3237) 2013-10-15 01:51:37.682 [DEBUG] FAILURE ACTION=UPDATE_APPLICATION USER_ID=525ca757830f5c612a000001 LOGIN=wjiang APP_UUID=525cd283830f5ce0eb00000d DOMAIN=wjiang Unable to complete the requested operation due to: undefined method `each' for nil:NilClass. (pid:3237) 2013-10-15 01:51:37.683 [INFO ] Completed 500 Internal Server Error in 40ms (Views: 0.7ms) (pid:3237)
I believe this is not a bug on deploy but with the file you are using (probably from a previously bugged rhc save-snapshot). I suggest you to snapshot a valid deploy again, upload to your website and try it again. Notice the snapshot file is a .tar.gz instead of only .tar. I was able to deploy successfully: ffranz@ffranz foo$ rhc deploy http://www.pribi.com.br/wp-content/uploads/2013/10/foo.tar.gz -a foo Deployment of file 'http://www.pribi.com.br/wp-content/uploads/2013/10/foo.tar.gz' in progress for application foo ... Beginning binary deployment Distribution status: success Activation status: success Deployment completed Success
Verified on fork_ami_origin_ui_82_910,rhc built from fork_ami_origin_ui_82_910 Could deploy with a HTTP URL of a tar.gz file successfully,and check app,it really is deployed successfully. Result: [root@ip-10-182-203-142 ~]# rhc deploy http://phpbinary-wsunpro.rhcloud.com/phpt.tar.gz -a phptx -l wsun -p x Deployment of file 'http://phpbinary-wsunpro.rhcloud.com/phpt.tar.gz' in progress for application phptx ... Beginning binary deployment Distribution status: success Activation status: success Deployment completed Success
Commit pushed to master at https://github.com/openshift/rhc https://github.com/openshift/rhc/commit/45722808409885d277716b9a5c9845d59bb53fbd Bug 1018729 - fixed deploy binary from url