Firstly, thanks for your excellent project! This is a rare find for restarting Compute Engines automatically.
Unfortunately, I can't run your code properly. When I open /vm/start
using dev_appserver.py $PWD
, I get a HTTP 500 error. This is the traceback
INFO 2017-07-22 10:24:57,971 discovery.py:273] URL being requested: GET https://www.googleapis.com/discovery/v1/apis/compute/v1/rest?userIp=127.0.0.1
INFO 2017-07-22 10:24:57,971 transport.py:157] Attempting refresh to obtain initial access_token
ERROR 2017-07-22 10:24:57,986 api_server.py:402] Exception while handling service_name: "app_identity_service"
method: "GetAccessToken"
request: "\n5https://www.googleapis.com/auth/devstorage.read_write"
request_id: "JUKaAPsqgy"
Traceback (most recent call last):
File "/google/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/api_server.py", line 377, in _handle_POST
api_response = _execute_request(request).Encode()
File "/google/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/api_server.py", line 227, in _execute_request
make_request()
File "/google/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/api_server.py", line 222, in make_request
request_id)
File "/google/google-cloud-sdk/platform/google_appengine/google/appengine/api/apiproxy_stub.py", line 141, in MakeSyncCall
method(request, response)
File "/google/google-cloud-sdk/platform/google_appengine/google/appengine/api/app_identity/app_identity_defaultcredentialsbased_stub.py", line 200, in _Dynamic_GetAccessToken
'expires': now + token.expires_in,
TypeError: unsupported operand type(s) for +: 'int' and 'NoneType'
INFO 2017-07-22 10:24:57,998 module.py:832] default: "GET /vm/start HTTP/1.0" 500 291
STARTVMDIR=~/src/app-engine-start-vm
git clone https://github.com/fivunlm/app-engine-start-vm.git $STARTVMDIR
cd $STARTVMDIR
mkdir lib
pip install -t lib/ -r requirements.txt
vim app.yaml
vim main.py
dev_appserver.py $PWD
(The first few steps, where I use environment variables, are copied from App Engine's "Hello World" Python tutorial.)