2015-04-11 8 views
12

Sto tentando di visualizzare l'anteprima di un'app mobile (App Engine ManagedVM) utilizzando il comando gcloud preview app run.Golang: anteprima dell'errore restituito dall'app VM gestita

Ma continuo a ricevere questo errore:

Traceback (most recent call last): 
    File "/Users/jwesonga/google-cloud-sdk/platform/google_appengine/dev_appserver.py", line 83, in <module> 
    _run_file(__file__, globals()) 
    File "/Users/jwesonga/google-cloud-sdk/platform/google_appengine/dev_appserver.py", line 79, in _run_file 
    execfile(_PATHS.script_file(script_name), globals_) 
    File "/Users/jwesonga/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/devappserver2.py", line 985, in <module> 
    main() 
    File "/Users/jwesonga/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/devappserver2.py", line 978, in main 
    dev_server.start(options) 
    File "/Users/jwesonga/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/devappserver2.py", line 774, in start 
    self._dispatcher.start(options.api_host, apis.port, request_data) 
    File "/Users/jwesonga/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/dispatcher.py", line 182, in start 
    _module, port = self._create_module(module_configuration, port) 
    File "/Users/jwesonga/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/dispatcher.py", line 262, in _create_module 
    threadsafe_override=threadsafe_override) 
    File "/Users/jwesonga/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/module.py", line 1463, in __init__ 
    super(ManualScalingModule, self).__init__(**kwargs) 
    File "/Users/jwesonga/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/module.py", line 514, in __init__ 
    self._module_configuration) 
    File "/Users/jwesonga/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/module.py", line 237, in _create_instance_factory 
    module_configuration=module_configuration) 
    File "/Users/jwesonga/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/vm_runtime_factory.py", line 78, in __init__ 
    timeout=self.DOCKER_D_REQUEST_TIMEOUT_SECS) 
    File "/Users/jwesonga/google-cloud-sdk/platform/google_appengine/google/appengine/tools/docker/containers.py", line 740, in NewDockerClient 
    client.ping() 
    File "/Users/jwesonga/google-cloud-sdk/./lib/docker/docker/client.py", line 711, in ping 
    return self._result(self._get(self._url('/_ping'))) 
    File "/Users/jwesonga/google-cloud-sdk/./lib/docker/docker/client.py", line 76, in _get 
    return self.get(url, **self._set_request_timeout(kwargs)) 
    File "/Users/jwesonga/google-cloud-sdk/platform/google_appengine/lib/requests/requests/sessions.py", line 468, in get 
    return self.request('GET', url, **kwargs) 
    File "/Users/jwesonga/google-cloud-sdk/platform/google_appengine/lib/requests/requests/sessions.py", line 456, in request 
    resp = self.send(prep, **send_kwargs) 
    File "/Users/jwesonga/google-cloud-sdk/platform/google_appengine/lib/requests/requests/sessions.py", line 559, in send 
    r = adapter.send(request, **kwargs) 
    File "/Users/jwesonga/google-cloud-sdk/platform/google_appengine/lib/requests/requests/adapters.py", line 384, in send 
    raise Timeout(e, request=request) 
requests.exceptions.Timeout: (<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x10631c7d0>, 'Connection to 192.168.59.104 timed out. (connect timeout=60)') 
ERROR: (gcloud.preview.app.run) DevAppSever failed with error code [1] 

ho confermato che finestra mobile è attivo e funzionante con lo stato boot2docker che restituisce esecuzione Questo è stato a lavorare prima, ma dopo un riavvio della macchina, nulla sembra lavorare. Qualche idea?

risposta

4

Il problema principale è:

File "/Users/jwesonga/google-cloud-sdk/platform/google_appengine 
     /lib/requests/requests/adapters.py", line 384, in send 
    raise Timeout(e, request=request) 
requests.exceptions.Timeout: 
(<requests.packages.urllib3.connection.VerifiedHTTPSConnection object 
at 0x10631c7d0>, 'Connection to 192.168.59.104 timed out. 
(connect timeout=60)') 
ERROR: (gcloud.preview.app.run) DevAppSever failed with error code [1] 

che è spesso il caso in cui si dispone di un proxy, ed è documentato nell'articolo pip issue 1805

Si suppone di essere fissato in pip1.6, ma solo nel caso, si può provare il workaround of alexandrem

/opt/venvs/ironic/lib/python2.6/site-packages/pip/_vendor/requests 
/adapters.patch.py /opt/venvs/ironic/lib/python2.6/site-packages 
/pip/_vendor/requests/adapters.py 
209c209 
if True or not proxy in self.proxy_manager: 
    ^^^^ 

basically I just add a True to the condition on line 209 of the adapter.py to always create a ProxyManager instance, thus skipping the pool manager logic.

+0

provato la soluzione e non funziona .. – jwesonga

+0

@jwesonga si può controllare la versione di pip usato nel tuo contenitore docker? – VonC

+0

Come posso verificarlo all'interno del contenitore docker? Come parte sono su OSX – jwesonga

0

il gcloud co mme abilitare il processo ah_host e anche creare l'immagine docker della tua app e passarla al daemon Docker, nel tuo caso sembra che il tuo daemon docker non risponda alla richiesta. Quindi, per essere sicuri, esegui "sudo docker -d" per controllare se il demone Docker è in esecuzione sul tuo computer o meno. Verificare inoltre che il percorso del certificato impostato correttamente e il valore di TLS_VERIFY sia TRUE.

Vai attraverso la documentazione [1] per l'installazione di Docker su MacOS

[1] https://docs.docker.com/installation/mac/

+0

Ho eseguito "sudo docker -d" e ho ottenuto "Questo è un binario client-only - l'esecuzione del daemon Docker non è supportata" – jwesonga

+0

Scoperto quale sia il "problema", per qualche strano motivo devo eseguire "eval" $ (boot2docker shellinit) "nel terminale prima di eseguire" gcloud preview app run "Se apro un nuovo terminale devo ripetere di nuovo il processo. Non pensavo che fosse così da quando ho aggiunto le variabili di ambiente al mio ~/.bash_profile, è questo il comportamento previsto? – jwesonga

+0

@jwesonga: puoi anche provare echo export DOCKER_HOST = tcp: // ip: port >> ~/.bashrc && source ~/.bashrc, quindi eseguire source .bash_profile e vedere se Funziona. – Shobhit