ingenieux/beanstalker

Option to retry the CNAME swap in the ReplaceEnvironmentMojo

Closed this issue · 26 comments

Feature request to have a configuration setting to retry the swapEnvironment call during a deployment. Would require two values: max number of retries, and time to wait between retries.

My use case is that after switching from the Tomcat 7 (Legacy) container to the new Tomcat 7 container, I've found that sometimes my environment will do the following sequence:

  • Successfully launched environment: XXXXX
  • Environment health has been set to RED
  • Environment health has transitioned from RED to GREEN

this will happen quite rapidly, all over the course of a minute. It's due to the way beanstalk calls a 'reload' inside tomcat while deploying, causing the healthcheck to fail briefly.

the problem is when the swapEnvrionment call happens at that precise moment that the environment is RED. This causes the whole automated deployment to register as a failure. Problem is fixed by manually running the cname swap.

I hacked together a retry mechanism by altering the ReplaceEnvironmentMojo.executeInternal() method to have an exception handler on the swapEnvironment call that sleeps and then retries. I didn't make a pull request because my code was a hack and it could be implemented much more cleanly. I see that you have execution patterns related to waiting for environments to be in a state which I assume would be the better way to implement.

I will change in order to sample until it gets Green, wdyt?

Sounds promising, will that handle the case where the environment is briefly green, then red, then green?

Seems so. My only concern is about regression

do you mean regression case where the app is truly failing to deploy correctly? you could require that the green status be held for several concurrent checks before swapping.

I couldn't reproduce. Can you place a log with mvn -X please along with a Sample POM?

(Update: Oh, dismiss. Was able to get it)

See if its working in 1.0-SNAPSHOT

hi, to try out 1.0-SNAPSHOT is it best for me to compile myself or is there a maven repository I could pull from to use your builds?

1.0-SNAPSHOT looks good with standard deployment. Will test through the week and watch for the retry case to happen.

Hi,

I had a case happen where the CNAME swap failed because the original environment was in a red status and the RETRY kicked in. :)

Here's the sequence I saw in the logs:

[WARNING](btw, we're launching with solutionStack/ set to). If this is not the case, then we kindly ask you to file a bug report on the mailing list :)
[INFO] And it'll be named postofficedev
[INFO] Waiting for environmentId e-ppaszkads8 to get into Ready state
[INFO] Will wait until Mon Mar 04 21:32:39 UTC 2013 for environment e-ppaszkads8 to get into Ready
[INFO] Swapping environment cnames e-ppaszkads8 and e-9kcvn7knbi
[WARNING] Attempt #1/10 failed. Sleeping and retrying. Reason: Environment 'e-9kcvn7knbi' does not have a GREEN health status. Fix the environment and try again.
[INFO] Swapping environment cnames e-ppaszkads8 and e-9kcvn7knbi
[WARNING] Attempt #2/10 failed. Sleeping and retrying. Reason: Environment 'e-9kcvn7knbi' does not have a GREEN health status. Fix the environment and try again.
[INFO] Swapping environment cnames e-ppaszkads8 and e-9kcvn7knbi
[WARNING] Attempt #3/10 failed. Sleeping and retrying. Reason: Environment 'e-9kcvn7knbi' does not have a GREEN health status. Fix the environment and try again.
[INFO] Swapping environment cnames e-ppaszkads8 and e-9kcvn7knbi
[WARNING] Attempt #4/10 failed. Sleeping and retrying. Reason: Environment 'e-9kcvn7knbi' does not have a GREEN health status. Fix the environment and try again.
[INFO] Swapping environment cnames e-ppaszkads8 and e-9kcvn7knbi
[WARNING] Attempt #5/10 failed. Sleeping and retrying. Reason: Environment 'e-9kcvn7knbi' does not have a GREEN health status. Fix the environment and try again.
[INFO] Swapping environment cnames e-ppaszkads8 and e-9kcvn7knbi
[WARNING] Attempt #6/10 failed. Sleeping and retrying. Reason: Environment 'e-9kcvn7knbi' does not have a GREEN health status. Fix the environment and try again.
[INFO] Swapping environment cnames e-ppaszkads8 and e-9kcvn7knbi
[WARNING] Attempt #7/10 failed. Sleeping and retrying. Reason: Environment 'e-9kcvn7knbi' does not have a GREEN health status. Fix the environment and try again.
[INFO] Swapping environment cnames e-ppaszkads8 and e-9kcvn7knbi
[WARNING] Attempt #8/10 failed. Sleeping and retrying. Reason: Environment 'e-9kcvn7knbi' does not have a GREEN health status. Fix the environment and try again.
[INFO] Swapping environment cnames e-ppaszkads8 and e-9kcvn7knbi
[WARNING] Attempt #9/10 failed. Sleeping and retrying. Reason: Environment 'e-9kcvn7knbi' does not have a GREEN health status. Fix the environment and try again.
[INFO] Swapping environment cnames e-ppaszkads8 and e-9kcvn7knbi
[WARNING] Attempt #10/10 failed. Sleeping and retrying. Reason: Environment 'e-9kcvn7knbi' does not have a GREEN health status. Fix the environment and try again.
[INFO] Failed to properly Replace Environment. Finishing the new one. And throwing you a failure
[INFO] Terminating environmentId=e-ppaszkads8 (attempt 1/10)
[WARNING] Unable to swap cnames. btw, see #25 and help us improve beanstalker
[WARNING] FAILURE

requests:

  • display some information in the logger about how long the retry pause will be. "Will wait until Mon Mar 04 21:32:39 UTC 2013 to retry CNAME swap"
  • don't automatically terminate the new environment when deployment fails, or at least make that behavior controllable through a configuration setting. Automatically terminating makes it more difficult to track down why it failed.

Ok, both ideas make sense. Let me play with it and I'll get back to you shortly

(btw, have you seen my email? I've sent a while ago)

Cool, and thank you.

I saw the email on how to use the snapshot repository and put that to work for testing.

Was there another email I missed?

Jon Marston
EnglishCentral

On Mar 4, 2013, at 5:39 PM, Aldrin Leal notifications@github.com wrote:

Ok, both ideas make sense. Let me play with it and I'll get back to you shortly

(btw, have you seen my email? I've sent a while ago)


Reply to this email directly or view it on GitHub.

I've sent on Jan 3. Subject: "That Auto-Scale Thingie"

Meanwhile:

Ok, I've pushed to Mercurial. Once a new commit appears in github, notice there will be three new friends (github push is done AFTER built and deployed to sonatype-oss)

beanstalk.maxAttempts - Max # of Attempts to Try - Defaults to 15
beanstalk.mockTerminateEnvironment - set to True to Fake Terminate-Environment (defaults to false)
beanstalk.attemptRetryInterval - Set to Override the Sleep Period (defaults to 60s)

ah right, the autoscale bit,

I left a message in the ticket that I had initially opened. summary: not worth the effort.
#23

marstonstudio commented12 days ago
I think it's best to close this feature request as wontfix

In the time since I posted, Amazon have added features to beanstalk that allow you to customize software on an instance and resources associated with an application. This option is a nice standard way to do it, no need to build a custom maven impelementation. See http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environment-resources.html

They have also released an alternative to beanstalk called AWS OpsWorks: http://aws.typepad.com/aws/2013/02/aws-opsworks-flexible-application-management-in-the-cloud.html

On Mar 4, 2013, at 5:58 PM, Aldrin Leal notifications@github.com wrote:

I've sent on Jan 3. Subject: "That Auto-Scale Thingie"

Meanwhile:

Ok, I've pushed to Mercurial. Once a new commit appears in github, notice there will be three new friends (github push is done AFTER built and deployed to sonatype-oss)

beanstalk.maxAttempts - Max # of Attempts to Try - Defaults to 15
beanstalk.mockTerminateEnvironment - set to True to Fake Terminate-Environment (defaults to false)
beanstalk.attemptRetryInterval - Set to Override the Sleep Period (defaults to 60s)


Reply to this email directly or view it on GitHub.

Is it working?

yes, ship it!

thanks for the great plugin,

jon marston

On Mar 8, 2013, at 2:53 AM, Aldrin Leal notifications@github.com wrote:

Is it working?


Reply to this email directly or view it on GitHub.

we are accepting donations, you know :)

Sent from my android device.

-----Original Message-----
From: marstonstudio notifications@github.com
To: ingenieux/beanstalker beanstalker@noreply.github.com
Cc: Aldrin Leal aldrin+gh@leal.eng.br
Sent: Fri, 08 Mar 2013 14:35
Subject: Re: [beanstalker] Option to retry the CNAME swap in the ReplaceEnvironmentMojo (#25)

yes, ship it!

thanks for the great plugin,

jon marston

On Mar 8, 2013, at 2:53 AM, Aldrin Leal notifications@github.com wrote:

Is it working?


Reply to this email directly or view it on GitHub.


Reply to this email directly or view it on GitHub:
#25 (comment)

i'll chip in, what's the paypal info?

On Mar 8, 2013, at 12:42 PM, Aldrin Leal notifications@github.com wrote:

we are accepting donations, you know :)

Sent from my android device.

-----Original Message-----
From: marstonstudio notifications@github.com
To: ingenieux/beanstalker beanstalker@noreply.github.com
Cc: Aldrin Leal aldrin+gh@leal.eng.br
Sent: Fri, 08 Mar 2013 14:35
Subject: Re: [beanstalker] Option to retry the CNAME swap in the ReplaceEnvironmentMojo (#25)

yes, ship it!

thanks for the great plugin,

jon marston

On Mar 8, 2013, at 2:53 AM, Aldrin Leal notifications@github.com wrote:

Is it working?


Reply to this email directly or view it on GitHub.


Reply to this email directly or view it on GitHub:
#25 (comment)

Reply to this email directly or view it on GitHub.

http://beanstalker.ingenieux.com.br/donate.html

Sent from my android device.

-----Original Message-----
From: marstonstudio notifications@github.com
To: ingenieux/beanstalker beanstalker@noreply.github.com
Cc: Aldrin Leal aldrin+gh@leal.eng.br
Sent: Fri, 08 Mar 2013 14:45
Subject: Re: [beanstalker] Option to retry the CNAME swap in the ReplaceEnvironmentMojo (#25)

i'll chip in, what's the paypal info?

On Mar 8, 2013, at 12:42 PM, Aldrin Leal notifications@github.com wrote:

we are accepting donations, you know :)

Sent from my android device.

-----Original Message-----
From: marstonstudio notifications@github.com
To: ingenieux/beanstalker beanstalker@noreply.github.com
Cc: Aldrin Leal aldrin+gh@leal.eng.br
Sent: Fri, 08 Mar 2013 14:35
Subject: Re: [beanstalker] Option to retry the CNAME swap in the ReplaceEnvironmentMojo (#25)

yes, ship it!

thanks for the great plugin,

jon marston

On Mar 8, 2013, at 2:53 AM, Aldrin Leal notifications@github.com wrote:

Is it working?


Reply to this email directly or view it on GitHub.


Reply to this email directly or view it on GitHub:
#25 (comment)

Reply to this email directly or view it on GitHub.


Reply to this email directly or view it on GitHub:
#25 (comment)

actually, just saw it trigger but something went wrong

  • new environment came up in red environment
  • beanstalker tried to swap cname, failed, went to sleep. second try also failed and beanstalker did the right thing by going to sleep
  • on third try, both environments were in green and the cname swap started
  • beanstalker then tried to terminate the environments without waiting for the cname swap to finish. the termination attempts all happened in rapid succession without any sleeping. the attempts failed because the cname swap hadn't finished and the old environment was never shut down.

note, I'm using the default settings for beanstalk.mockTerminateEnvironment

here's the log

[WARNING](btw, we're launching with solutionStack/ set to). If this is not the case, then we kindly ask you to file a bug report on the mailing list :)
[INFO] And it'll be named reportcarddev-0
[INFO] Waiting for environmentId e-ijectg68pi to get into Ready state
[INFO] Will wait until Mon Mar 11 03:52:26 UTC 2013 for environment e-ijectg68pi to get into Ready
[INFO] Sleeping for 90 seconds
[INFO] Sleeping for 90 seconds
[INFO] Sleeping for 90 seconds
[INFO] Sleeping for 90 seconds
[INFO] Sleeping for 90 seconds
[INFO] Sleeping for 90 seconds
[INFO] Sleeping for 90 seconds
[INFO] Sleeping for 90 seconds
[INFO] Sleeping for 90 seconds
[INFO] Sleeping for 90 seconds
[INFO] Sleeping for 90 seconds
[INFO] Swapping environment cnames e-ijectg68pi and e-icudbdfbvn
[WARNING] Attempt #1/15 failed. Sleeping and retrying. Reason: Environment 'e-ijectg68pi' does not have a GREEN health status. Fix the environment and try again.
[INFO] Sleeping for 60 seconds (and until Mon Mar 11 03:10:03 UTC 2013)
[INFO] Swapping environment cnames e-ijectg68pi and e-icudbdfbvn
[WARNING] Attempt #2/15 failed. Sleeping and retrying. Reason: Environment 'e-ijectg68pi' does not have a GREEN health status. Fix the environment and try again.
[INFO] Sleeping for 60 seconds (and until Mon Mar 11 03:11:04 UTC 2013)
[INFO] Swapping environment cnames e-ijectg68pi and e-icudbdfbvn
[INFO] Terminating environmentId=e-icudbdfbvn (attempt 1/15)
[INFO] Terminating environmentId=e-icudbdfbvn (attempt 2/15)
[INFO] Terminating environmentId=e-icudbdfbvn (attempt 3/15)
[INFO] Terminating environmentId=e-icudbdfbvn (attempt 4/15)
[INFO] Terminating environmentId=e-icudbdfbvn (attempt 5/15)
[INFO] Terminating environmentId=e-icudbdfbvn (attempt 6/15)
[INFO] Terminating environmentId=e-icudbdfbvn (attempt 7/15)
[INFO] Terminating environmentId=e-icudbdfbvn (attempt 8/15)
[INFO] Terminating environmentId=e-icudbdfbvn (attempt 9/15)
[INFO] Terminating environmentId=e-icudbdfbvn (attempt 10/15)
[INFO] Terminating environmentId=e-icudbdfbvn (attempt 11/15)
[INFO] Terminating environmentId=e-icudbdfbvn (attempt 12/15)
[INFO] Terminating environmentId=e-icudbdfbvn (attempt 13/15)
[INFO] Terminating environmentId=e-icudbdfbvn (attempt 14/15)
[INFO] Terminating environmentId=e-icudbdfbvn (attempt 15/15)
[WARNING] FAILURE
org.apache.maven.plugin.MojoFailureException: Unable to terminate environment e-icudbdfbvn
at br.com.ingenieux.mojo.beanstalk.env.ReplaceEnvironmentMojo.terminateEnvironment(ReplaceEnvironmentMojo.java:343)
at br.com.ingenieux.mojo.beanstalk.env.ReplaceEnvironmentMojo.executeInternal(ReplaceEnvironmentMojo.java:220)
at br.com.ingenieux.mojo.aws.AbstractAWSMojo.execute(AbstractAWSMojo.java:356)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:319)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
Caused by: org.apache.maven.plugin.MojoFailureException: Failed
at br.com.ingenieux.mojo.aws.AbstractAWSMojo.handleException(AbstractAWSMojo.java:395)
at br.com.ingenieux.mojo.beanstalk.cmd.BaseCommand.handleException(BaseCommand.java:84)
at br.com.ingenieux.mojo.beanstalk.cmd.BaseCommand.execute(BaseCommand.java:76)
at br.com.ingenieux.mojo.beanstalk.env.ReplaceEnvironmentMojo.terminateEnvironment(ReplaceEnvironmentMojo.java:335)
... 23 more
Caused by: Status Code: 400, AWS Service: AWSElasticBeanstalk, AWS Request ID: 5568ce69-89f9-11e2-98b5-2b5f8d990f56, AWS Error Code: InvalidParameterValue, AWS Error Message: Cannot terminate environment named reportcarddev. It is currently pending deployment.
at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:614)
at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:312)
at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:165)
at com.amazonaws.services.elasticbeanstalk.AWSElasticBeanstalkClient.invoke(AWSElasticBeanstalkClient.java:1336)
at com.amazonaws.services.elasticbeanstalk.AWSElasticBeanstalkClient.terminateEnvironment(AWSElasticBeanstalkClient.java:839)
at br.com.ingenieux.mojo.beanstalk.cmd.env.terminate.TerminateEnvironmentCommand.executeInternal(TerminateEnvironmentCommand.java:45)
at br.com.ingenieux.mojo.beanstalk.cmd.env.terminate.TerminateEnvironmentCommand.executeInternal(TerminateEnvironmentCommand.java:24)
at br.com.ingenieux.mojo.beanstalk.cmd.BaseCommand.execute(BaseCommand.java:74)
... 24 more

Oh, I know what it could be. Check tomorrow's snapshot
On Mar 11, 2013 12:33 AM, "marstonstudio" notifications@github.com wrote:

actually, just saw it trigger but something went wrong

  • new environment came up in red environment
  • beanstalker tried to swap cname, failed, went to sleep. second try
    also failed and beanstalker did the right thing by going to sleep
  • on third try, both environments were in green and the cname swap
    started
  • beanstalker then tried to terminate the environments without waiting
    for the cname swap to finish. the termination attempts all happened in
    rapid succession without any sleeping. the attempts failed because the
    cname swap hadn't finished and the old environment was never shut down.

note, I'm using the default settings for beanstalk.mockTerminateEnvironment

here's the log

WARNINGhttp://btw,%20we're%20launching%20with%20solutionStack/%20set%20to.
If this is not the case, then we kindly ask you to file a bug report on the
mailing list :)
[INFO] And it'll be named reportcarddev-0
[INFO] Waiting for environmentId e-ijectg68pi to get into Ready state
[INFO] Will wait until Mon Mar 11 03:52:26 UTC 2013 for environment
e-ijectg68pi to get into Ready
[INFO] Sleeping for 90 seconds
[INFO] Sleeping for 90 seconds
[INFO] Sleeping for 90 seconds
[INFO] Sleeping for 90 seconds
[INFO] Sleeping for 90 seconds
[INFO] Sleeping for 90 seconds
[INFO] Sleeping for 90 seconds
[INFO] Sleeping for 90 seconds
[INFO] Sleeping for 90 seconds
[INFO] Sleeping for 90 seconds
[INFO] Sleeping for 90 seconds
[INFO] Swapping environment cnames e-ijectg68pi and e-icudbdfbvn
[WARNING] Attempt #1 #1
failed. Sleeping and retrying. Reason: Environment 'e-ijectg68pi' does not
have a GREEN health status. Fix the environment and try again.
[INFO] Sleeping for 60 seconds (and until Mon Mar 11 03:10:03 UTC 2013)
[INFO] Swapping environment cnames e-ijectg68pi and e-icudbdfbvn
[WARNING] Attempt #2 #2
failed. Sleeping and retrying. Reason: Environment 'e-ijectg68pi' does not
have a GREEN health status. Fix the environment and try again.
[INFO] Sleeping for 60 seconds (and until Mon Mar 11 03:11:04 UTC 2013)
[INFO] Swapping environment cnames e-ijectg68pi and e-icudbdfbvn
[INFO] Terminating environmentId=e-icudbdfbvn (attempt 1/15)
[INFO] Terminating environmentId=e-icudbdfbvn (attempt 2/15)
[INFO] Terminating environmentId=e-icudbdfbvn (attempt 3/15)
[INFO] Terminating environmentId=e-icudbdfbvn (attempt 4/15)
[INFO] Terminating environmentId=e-icudbdfbvn (attempt 5/15)
[INFO] Terminating environmentId=e-icudbdfbvn (attempt 6/15)
[INFO] Terminating environmentId=e-icudbdfbvn (attempt 7/15)
[INFO] Terminating environmentId=e-icudbdfbvn (attempt 8/15)
[INFO] Terminating environmentId=e-icudbdfbvn (attempt 9/15)
[INFO] Terminating environmentId=e-icudbdfbvn (attempt 10/15)
[INFO] Terminating environmentId=e-icudbdfbvn (attempt 11/15)
[INFO] Terminating environmentId=e-icudbdfbvn (attempt 12/15)
[INFO] Terminating environmentId=e-icudbdfbvn (attempt 13/15)
[INFO] Terminating environmentId=e-icudbdfbvn (attempt 14/15)
[INFO] Terminating environmentId=e-icudbdfbvn (attempt 15/15)
[WARNING] FAILURE
org.apache.maven.plugin.MojoFailureException: Unable to terminate
environment e-icudbdfbvn
at
br.com.ingenieux.mojo.beanstalk.env.ReplaceEnvironmentMojo.terminateEnvironment(ReplaceEnvironmentMojo.java:343)
at
br.com.ingenieux.mojo.beanstalk.env.ReplaceEnvironmentMojo.executeInternal(ReplaceEnvironmentMojo.java:220)
at
br.com.ingenieux.mojo.aws.AbstractAWSMojo.execute(AbstractAWSMojo.java:356)
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
at
org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
at
org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:319)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
at
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
at
org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
Caused by: org.apache.maven.plugin.MojoFailureException: Failed
at
br.com.ingenieux.mojo.aws.AbstractAWSMojo.handleException(AbstractAWSMojo.java:395)
at
br.com.ingenieux.mojo.beanstalk.cmd.BaseCommand.handleException(BaseCommand.java:84)
at
br.com.ingenieux.mojo.beanstalk.cmd.BaseCommand.execute(BaseCommand.java:76)
at
br.com.ingenieux.mojo.beanstalk.env.ReplaceEnvironmentMojo.terminateEnvironment(ReplaceEnvironmentMojo.java:335)
... 23 more
Caused by: Status Code: 400, AWS Service: AWSElasticBeanstalk, AWS Request
ID: 5568ce69-89f9-11e2-98b5-2b5f8d990f56, AWS Error Code:
InvalidParameterValue, AWS Error Message: Cannot terminate environment
named reportcarddev. It is currently pending deployment.
at
com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:614)
at
com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:312)
at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:165)
at
com.amazonaws.services.elasticbeanstalk.AWSElasticBeanstalkClient.invoke(AWSElasticBeanstalkClient.java:1336)
at
com.amazonaws.services.elasticbeanstalk.AWSElasticBeanstalkClient.terminateEnvironment(AWSElasticBeanstalkClient.java:839)
at
br.com.ingenieux.mojo.beanstalk.cmd.env.terminate.TerminateEnvironmentCommand.executeInternal(TerminateEnvironmentCommand.java:45)
at
br.com.ingenieux.mojo.beanstalk.cmd.env.terminate.TerminateEnvironmentCommand.executeInternal(TerminateEnvironmentCommand.java:24)
at
br.com.ingenieux.mojo.beanstalk.cmd.BaseCommand.execute(BaseCommand.java:74)
... 24 more


Reply to this email directly or view it on GitHubhttps://github.com//issues/25#issuecomment-14696303
.

Ok, the 'missing code' was back. Can you resume testing?

will do, I'll let you know how it goes

jon

On Mar 13, 2013, at 5:04 PM, Aldrin Leal notifications@github.com wrote:

Ok, the 'missing code' was back. Can you resume testing?


Reply to this email directly or view it on GitHub.

Tested and it's working correctly now with the retries

ship it!

jon

On Mar 14, 2013, at 2:49 PM, Jonathan Marston marstonstudio@gmail.com wrote:

will do, I'll let you know how it goes

jon

On Mar 13, 2013, at 5:04 PM, Aldrin Leal notifications@github.com wrote:

Ok, the 'missing code' was back. Can you resume testing?


Reply to this email directly or view it on GitHub.

hello,

any timetable on a beanstalker 0.2.10 release?

no huge rush, but once that's out then I can clean up my various build scripts

jon marston

On Mar 13, 2013, at 5:04 PM, Aldrin Leal notifications@github.com wrote:

Ok, the 'missing code' was back. Can you resume testing?


Reply to this email directly or view it on GitHub.

1.0 was released.