Roll back Google App Engine project - google-app-engine

I was trying to deploy my App Engine app, but I got this error:
Error 409: --- begin server output ---
Another transaction by user <email> is already in progress for app: s~my-app, version: 1. That user can undo the transaction with "appcfg rollback".
--- end server output ---
2014-08-16 18:06:15 (Process exited with code 1)
So I tried to solve that by running this:
c:\Python27\python appcfg.py rollback
In the directory that has my app.yaml file.
And this:
c:\Python27\python appcfg.py rollback <path to directory with my app.yaml file>
But in both cases I get this:
Can't open file 'appcfg.py': [Errno 2] No such file or directory
Anyone know how to solve this?
Thanks.

cd C:\path\containing\app.yaml\file
c:\Python27\python appcfg.py rollback .

Here's how I ended up solving it:
cd C:\Program Files (x86)\Google\google_appengine
c:\Python27\python appcfg.py rollback C:\Users\UserName\SkyDrive\Programming\ProjectFolder\app.yaml
Then I put in my email and passwords at the prompts, it rolled the update back, and now I'm able to deploy normally again.

Related

Error message "You do not have permission to modify this app" from a Google App Engine deployment

I am following the instructions on http://beta.appinventor.mit.edu/learn/reference/other/tinywebdb.html , trying to create a custom TinyWebDB for a grade 10 class I teach. After creating a new Project (the instructions say create an Application, but I only see a Create a new project button), I change the project name in the local file app.yaml file, load it in, and click on Deploy. I get the following error message:
Starting update of app: npicswebdb, version: 1
01:35 PM Getting current resource limits.
2016-03-09 13:35:26,727 ERROR appcfg.py:2396 An error occurred processing file '': HTTP Error 403: Forbidden Unexpected HTTP status 403. Aborting.
Error 403: --- begin server output ---
You do not have permission to modify this app (app_id=u's~npicswebdb').
--- end server output ---
2016-03-09 13:35:26 (Process exited with code 1)
Is there some way I need to log in to the App Engine Launcher so it connects with my App Engine in the cloud? There is nothing in the instructions about doing that, and I don't see any way to do that in the launcher.
Thanks for your help.
Try adding "--no_cookies":
appcfg.py -A projectname update app.yaml --no_cookies
Delete cookie file something like this: ~/.appcfg_oauth2_tokens_java.
Re-run your command, it will prompt to login from browser and copy-paste a token back to the terminal.
Similar to the other answers. I run into the same issue and removing those stored credentials helped me, i.e:
rm ~/.appcfg_oauth2_tokens_java
rm ~/.appcfg_cookies
Found more details here: IT Code Hub - AppEngine deployment

Google app engine this application does not exist error

I use java backend on google's appengine with eclipse sdk.
When I tried to update my backend with eclipse, i got error that says
com.google.appengine.tools.admin.HttpIoException: Error posting to URL: >https://appengine.google.com/api/appversion/create?app_id=infra-filament-610&version=2&
409 Conflict
Another transaction by user heodong91 is already in progress for app: s~infra-filament-610, version: 2. >That user can undo the transaction with "appcfg rollback".
So I ran the rollback on terminal with command
appcfg.sh rollback /Users/Donghyeok/PlanItBackend/src/main/webapp
but its giving me this error
Unable to rollback app: Error posting to URL: httpsds://appengine.google.com/api/appversion/rollback?>app_id=infra-filament-610&version=2&
404 Not Found
This application does not exist (app_id=u'infra-filament-610').
So then I looked up possible solutions and ran this on the command line.
appcfg.sh --no_cookies rollback /Users/Donghyeok/PlanItBackend/src/main/webapp
It still gave me the same error
This is try #3
Unable to rollback app: Error posting to URL: https://appengine.google.com/api/appversion/rollback?app_id=infra-filament-610&version=2&
404 Not Found
This application does not exist (app_id=u'infra-filament-610').
I tried again with --oauth2 option and still give me the same error.
I also tried removing .appcfg_oauth2_tokens_java file but same error.
I have tried many things in many combinations but I wasn't able to solve this issue. So the main problem is the first one. But to solve this I had to rollback, but its not letting me rollback.
Could someone please help?
I'm like desperate...
This can be fixed by changing the app name in app.yaml to the name of the project (visible in Google Developer Console, often suffixed with a number). It may also work by simply adding at the end of your rollback command line the following:
--application=<projectname>
Regards

Coderbuddy and publishing on googleapp engine - Error 409: "appcfg rollback"

I was using coderbuddy, and when I try to publish to google app, I receive this error:
Error 409
Another transaction by user ---- is already in progress for app: s~spigeo-app, version: 1. That user can undo the transaction with "appcfg rollback"
tried doing "appcfg rollback" on command prompt and received "Error 403: you do not have permission to modify this app"
I'm the only owner of the codes. Been stuck for a week; please advise, thanks!
coderbuddy has since fixed it, so it's no longer a problem. Just FYI.
Error
Another transaction by user ID is already in progress for app: b~GAE_PROECT_ID, version: 1. That user can undo the transaction with "appcfg rollback".
Fix the error
google_appengine/appcfg.py —oauth2 -A GAE_PROECT_ID rollback app_engine_installer/app_engine_project/app.yaml —noauth_local_webserver

how to rollback an interrupted deploy to GAE

I interrupted a play framework deploy to gae
I deployed it with
play gae:deploy --gae=$GAE_PATH
And press ctrl-c in the middle of it
Now, when I try to redeploy it, I get the following error:
Unable to update app: Error posting to URL: https://appengine.google.com/api/appversion/create?app_id=playdoces&version=20111007&
409 Conflict
Another transaction by user opensas is already in progress for app: s~playdoces, version: 20111007. That user can undo the transaction with "appcfg rollback".
Please see the logs [/tmp/appcfg1441845586056774629.log] for further information.
I tried with
/home/sas/devel/gae/bin/appcfg.sh rollback
but there's no such option
any idea?
In the end, I've just created another version and set it as default
But I'd like to know if there's some way to cancel the previous deploy
it is simple as:
mvn appengine:rollback
Go one directory above your application and try with:
appcfg.sh rollback your_application_directory_name
Go into the <play_install>/modules/<gae_module>/bin directory and edit the commands.py so that it includes the rollback command:
if command == "gae:rollback":
print '~'
print '~ Performing Rollback'
print '~ ---------'
if os.name == 'nt':
os.system('%s/bin/appcfg.cmd rollback %s' % (gae_path, war_path))
else:
os.system('%s/bin/appcfg.sh rollback %s' % (gae_path, war_path))
print "~ "
print "~ Done!"
print "~ "
sys.exit(-1)
Run this like play gae:rollback --gae=$GAE_PATH then run your deploy again. Works for me with the same issue. I'll add a request to get this added to the module.
First download and install the app engine sdk if you don't have it already. In case you are using Android Studio the following command will do it:
/path-to-appengine-java-sdk/appengine-java-sdk-1.9.28/bin/appcfg.sh rollback /path-to-your-project/backend-module-folder/src/main/webapp/
Or put differently, what you need to do is to point it to the directory that has the 'WEB-INF' folder in it.

Google App Engine: appcfg.py rollback

I'm using Windows 7 and for the life of me I cannot figure out how to call the rollback function on appcfg.py. All I want to know is what to type into the command prompt so I can rollback my app.
Try this: appcfg.py rollback <directory>
If your application myapp resides in C:\Users\Nilesh\Documents\ then directory path should be C:\Users\Nilesh\Documents\myapp
If you installed Google App Engine Launcher in your system, then installation path should be something like this C:\Program Files\Google\google_appengine
Now open the command prompt and type the following:
C:\Program Files\Google\google_appengine>appcfg.py rollback C:\Users\Nilesh\Documents\myapp
This will solve your issue. :)
The rollback command can rollback a transaction on the server, but you are unlikely to need to use that unless an update of your app failed for some reason. You should be getting some feedback from appcfg.py that such an action is required. Is that what you want to do? If so, just open a command prompt and type appcfg.py rollback.
Otherwise, please let us know what you are trying to accomplish by performing a 'rollback'.
E:\eclipse-jee-indigo-win32\eclipse\plugins\com.google.appengine.eclipse.sdkbundle_1.6.1.v201201120043r37\appengine-java-sdk-1.6.1\bin>appcfg.cmd rollback E:\AdminApp\Admin\war
For Rollback Java Application
try this :
this was how I did it (all from the command line) which is a slightly simpler
method, which achieved the same effect.....
C:\Documents and Settings\Amit\My Documents\newproject>"C:\Program
Files\eclipse\plugins\com.google.appengine.eclipse.sdkbundle_1.2.5.v200909021031\appengine-java-sdk-1.2.5\bin\appcfg" rollback war
Reading application configuration data...
2009-09-17 20:47:35.859::INFO: Logging to STDERR via org.mortbay.log.StdErrLog
Beginning server interaction for idebanet...
0% Rolling back the update.
Success.
Cleaning up temporary files...
C:\Documents and Settings\Amit\My Documents\newproject>
If you use maven for deploying your app (with goal appengine:update), then you can also run maven with goal appengine:rollback. It solved the issue for me.
I couldn't get mine to work, until I did this:
C:\Program Files (x86)\Google\google_appengine>python appcfg.py rollback "C:\Pro
gram Files (x86)\Google\google_appengine\mirror-quickstart-python"
I had to add in the double quotes and "python" before the appcfg.py
Here is how I did this on my Linux machine (after many trials and errors):
cd ~/.eclipse/org.eclipse.platform_3.5.0_155965261/plugins/com.google.appengine.eclipse.sdkbundle_1.5.1.r35v201106211634/appengine-java-sdk-1.5.1/bin
chmod +x appcfg.sh
./appcfg.sh -s appengine.google.com -e [my-email]#gmail.com rollback /home/erelsgl/workspace/ImitatorGWT/war
Hope this helps.
10, I had this problem little while ago and I have resolved it.
First, I moved to bin directory using:
cd ~/.eclipse/org.eclipse.platform_3.5.0_155965261/plugins/com.google.appengine.eclipse.sdkbundle_1.5.1.r35v201106211634/appengine-java-sdk-1.5.1/bin
Then, I ran the rollback command:
./appcfg.sh rollback /home/workspace/vchat/war
I hope this will help.
Here I have fix it on my ubuntu machine:
cd /home/eclipse/plugins/com.google.appengine.eclipse.sdkbundle_1.6.5/appengine-java-sdk-1.6.5/bin/
sh ./appcfg.sh -A appId -s appengine.google.com -e youdID#google.com rollback /home/workspace/projectName/war
Hope this helps
For all those who deploy using Google App Engine Launcher, you can fix the issue by opening command prompt and python appcfg.py rollback <directory of your application>
In my case, I have not set up Python env variable so:
C:\Python25\python C:\Program Files\Google\Google App Engine\appcfg.py rollback C:\eclipse\applicatoin
In Linux uploading an App through appcfg creates a staging directory in /tmp
0% Created staging directory at: '/tmp/appcfg8593320566371318406.tmp'
To rollback you may also this directory in rollback command
appcfg.sh -A yourAppId -s appengine.google.com rollback /tmp/appcfg8593320566371318406.tmp
After experiencing quite a it of frustration trying to 'appcfg rollback' on my Mac, I read Jaky's answer and resolved the problem in a couple of minutes by changing the version number.
If you're using eclipse, just open the appengine-web.xml under war>WEB-INF in the project & change the version number there.
Very late to the game, but I'd like to add what worked for me in Windows XP. In a command prompt:
C:\Python27>python C:\Progra~1\Google\google_appengine\appcfg.py rollback C:\Docume~1\myname\MyDocu~1\Projects\myproject\
Python 2.7 and the short names in the Windows path were key.
I am using 64 bit Windows7 with GAE-Java Typing all this detail at the command prompt can be frustrating. My solution: create a batch file.
I created a batch file named 'rollback.bat' & saved it in my WORKSPACE directory. The contents look like this:
cd C:\Users\Organize4Joy\My Code\EclipseWORKSPACE\eclipse\plugins\com.google.appengine.eclipse.sdkbundle_1.8.3\appengine-java-sdk-1.8.3\bin\appcfg.cmd rollback C:\Users\Organize4Joy\EclipseWORKSPACE\iTreewareMAIN\war
run the batch file by simply typing "rollback"
this local utility changes directory, runs the appcfg rollback EXE & points it to my war directory.
Even better would be to establish a common utility(bin) directory and add it to my path variable. That way I can run this utility from anywhere.
Traverse to the path where the appcfg.py is placed
Run the Command python appcfg.py rollback (The Directory of your project folder)
Open dos
place yourself in the folder containing appcfg.cmd (bin of the GAE SDK)
If your application myapp resides in C:\Users\Nilesh\Documents\ then directory path should be C:\Users\Nilesh\Documents\myapp\war.
Now open the command prompt and type the following:
appcfg.cmd rollback C:\Users\Nilesh\Documents\myapp\war
Note don't forget to add 'war' at then end of your app folder
then enter your email and password
This has been answered many times, but I had issues getting it to work for me too. If you are running Java and are also having problems or if you have Google's 2 factor authentication setup and that is giving you problems, here are the steps I used to make it succeed:
1) Make sure you have the Google App Engine in your Path in Environment variables.
IE: C:\Users\yourUserName\Desktop\Eclipse\plugins\com.google.appengine.eclipse.sdkbundle_1.9.18\appengine-java-sdk-1.9.18\bin
2) Open up a command window AS AN ADMINISTRATOR! Do not just type cmd and enter, you need to type cmd, right-click on it, and open as admin
3) First, CD to the folder that has the WAR file in it. In my case, that was:
cd "C:\Users\yourUserName\Documents\MyWorkspace\Project1"
This is the same folder that has the src, .settings, and war folders in it.
4) In the cmd window, type: "appcfg rollback war" and press enter.
5) It will ask for your google credentials. If you do not have 2 factor authentication setup, simply type them in and press enter and you will be set.
6) If you DO have 2 factor authentication setup, go to your google accounts page (Just google for 'google account') and it will be the first or second one.
Next, under the "Signing In" category, go to App passwords.
Next, go to the bottom and under the select app dropdown menu, choose other and type in anything (IE: GAE rollback)
It will give you a password (16 digit random numbers).
Finally, type in your email address in the command window and then type/ paste in this new temporary 16 digit password into the password section.
7) Profit!
-Sil
In my case, I had to use the --no_cookies, without it, I had no premissions to do the operation.
C:\Users\user_name.gradle\appengine-sdk\appengine-java-sdk-1.9.30\bin\appcfg --no_cookies --application=app_name --version=1 rollback C:\projects\android\app\backend\build\exploded-app
I don't know much about these coding things everyone is talking about here..but I found a simple way to update the application..
Select your application and click on "EDIT".
A wordpad file should open up with application details.
Below the application there is version:1
Simply change the version to version:2 instead of 1 and click "Save".
So, instead of updating the same version..you are deploying a new version..
Click on "DEPLOY".
Check your application now!

Resources