amazon web services - Deployment using CodeDeploy failing at "install" step due to error "File already exists" -


this error getting @ "install" step -

file exists @ location /var/cake_1.2.0.6311-beta/app/webroot/../../somefile.php 

i unable conclude course of events brought scenario. remember -

  • i initiated deployment via jenkins (code deployment plugin integrated). deployment failed @ "install" step, error pasted above.

    note - first file in files section of appspec.yml file.

  • as far remember, did deployment on same deployment group, directly via code deploy (most using same s3 file jenkins created in above step) , had succeeded.

    • i had several failed deployments (deliberately failed @ various steps, e.g. beforeinstall exiting non 0 number).

thereafter, not able successful deployment directly via code deploy.

background

i checked this question appears related , tried deleting inside /opt/codedeploy-agent/deployment-root/​, in mentioned in one of answers, however, resulted in corrupted code deploy in instances , deploying via jenkins started throwing error saying appspec file archive (it trying last successful deployment, seems, got deleted) not found -

jenkins triggered code deploy failing @ applicationstop step though same deployment group via code deploy directly running successfully

i reinstalled code deploy on instances , steps mentioned above did after that.

update - opening bounty

as answered rodrigo m, deleting such files deployment path on instances has worked me far, same not working 1 particular file -

 file exists @ location /var/cake_1.2.0.6311-beta/deployment/serverload.json 

i verified following -

  • after deleting file above mentioned location on instances, did new deployment. observed file reappeared still same error mentioned above thrown , deployment failed.

  • without deleting, chmod'ed file 777. same result.

interestingly, got error multiple files yesterday, , proceeded deleting them 1 one found them , took new build. problem got fixed other files except 1 file, deleting not working. have no clue!

note - deployments doing triggered jenkins (no direct deployments triggered aws code deploy).

here log trail /var/log/aws/codedeploy-agent/codedeploy-agent.log containing relevant error stack strace -

2016-11-10 07:38:12 info  [codedeploy-agent(16889)]: version file found in /opt/codedeploy-agent/.version. 2016-11-10 07:38:12 info  [codedeploy-agent(16889)]: [aws::codedeploycommand::client 200 0.025545 0 retries] put_host_command_complete(command_status:"failed",diagnostics:{format:"json",payload:"{\"error_code\":5,\"script_name\":\"\",\"message\":\"file exists @ location /var/cake_1.2.0.6311-beta/deployment/serverload.json\",\"log\":\"\"}"},host_command_identifier:"wyjjb20uyw1hem9ulmfwb2xsby5kzxbsb3ljb250cm9slmrvbwfpbi5ib3n0q29tbwfuzelkzw50awzpzxiilhsizgvwbg95bwvudelkijoiq29kzurlcgxves91cy1lyxn0ltevuhjvzc9hcm46yxdzonnkczp1cy1lyxn0lte6mzc3nzazotyxotk4omrlcgxvew1lbnqvzc1vovfpr0rbwukilcjob3n0swqioijhcm46yxdzomvjmjp1cy1lyxn0lte6mzc3nzazotyxotk4omluc3rhbmnll2ktzwnmyzu1ytkilcjjb21tyw5ktmftzsi6ikluc3rhbgwilcjjb21tyw5kug9zaxrpb24iojqsimnvbw1hbmrbdhrlbxb0ijoxfv0=")  2016-11-10 07:38:12 error [codedeploy-agent(16889)]: instanceagent::plugins::codedeployplugin::commandpoller: error during perform: runtimeerror - file exists @ location /var/cake_1.2.0.6311-beta/deployment/serverload.json - /opt/codedeploy-agent/lib/instance_agent/plugins/codedeploy/installer.rb:115:in `generate_normal_copy' /opt/codedeploy-agent/lib/instance_agent/plugins/codedeploy/installer.rb:67:in `block (2 levels) in generate_instructions' /opt/codedeploy-agent/lib/instance_agent/plugins/codedeploy/installer.rb:55:in `each' /opt/codedeploy-agent/lib/instance_agent/plugins/codedeploy/installer.rb:55:in `block in generate_instructions' /opt/codedeploy-agent/lib/instance_agent/plugins/codedeploy/install_instruction.rb:68:in `generate_instructions' /opt/codedeploy-agent/lib/instance_agent/plugins/codedeploy/installer.rb:54:in `generate_instructions' /opt/codedeploy-agent/lib/instance_agent/plugins/codedeploy/installer.rb:34:in `install' /opt/codedeploy-agent/lib/instance_agent/plugins/codedeploy/command_executor.rb:114:in `block in <class:commandexecutor>' /opt/codedeploy-agent/lib/instance_agent/plugins/codedeploy/command_executor.rb:62:in `execute_command' /opt/codedeploy-agent/lib/instance_agent/plugins/codedeploy/command_poller.rb:132:in `process_command' /opt/codedeploy-agent/lib/instance_agent/plugins/codedeploy/command_poller.rb:65:in `perform' /opt/codedeploy-agent/lib/instance_agent/agent/base.rb:28:in `run' /opt/codedeploy-agent/lib/instance_agent/runner/child.rb:38:in `block in run' /opt/codedeploy-agent/lib/instance_agent/runner/child.rb:55:in `with_error_handling' /opt/codedeploy-agent/lib/instance_agent/runner/child.rb:37:in `run' /opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/child.rb:70:in `block in run_with_error_handling' /opt/codedeploy-agent/lib/instance_agent/runner/child.rb:55:in `with_error_handling' /opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/child.rb:69:in `run_with_error_handling' /opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/child.rb:33:in `block in start' /opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/child.rb:22:in `loop' /opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/child.rb:22:in `start' /opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:206:in `block in spawn_child' /opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:204:in `fork' /opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:204:in `spawn_child' /opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:196:in `block in spawn_children' /opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:195:in `times' /opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:195:in `spawn_children' /opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:134:in `start' /opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:37:in `block in start' /opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:36:in `fork' /opt/codedeploy-agent/vendor/gems/process_manager-0.0.13/lib/process_manager/master.rb:36:in `start' /opt/codedeploy-agent/bin/../lib/codedeploy-agent.rb:41:in `block (2 levels) in <main>' /opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli/command_support.rb:130:in `call' /opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli/command_support.rb:130:in `execute' /opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli/app_support.rb:262:in `block in call_command' /opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli/app_support.rb:275:in `call' /opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli/app_support.rb:275:in `call_command' /opt/codedeploy-agent/vendor/gems/gli-2.5.6/lib/gli/app_support.rb:69:in `run' /opt/codedeploy-agent/bin/../lib/codedeploy-agent.rb:88:in `<main>' 

update 2

i able apply dirty fix, renaming json file , removing old file reference in appspec.yml. however, on new deployment group (with new ec2 instances) new json file causing same file exits issue. painful change file name every time. irritated happening.

as part of processes, codedeploy information on deployed files app/deployment group. if uses info delete existing file(s), preparing deployment of new revisions, needed.

http://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-steps.html#deployment-rollback

in case, there inconsistent reference due manual cleanup may have done previously.

a option deployments delete files in deployment folder during beforeinstall hook. fix issue , going forward.


Comments