Де не создает сборку при нажатии приложения
Я пытаюсь запустить приложение Node с помощью Deis (которое несколько месяцев работало для меня с этим приложением, но совсем недавно перестало работать) на AWS. Теперь я замечаю, что когда я запускаю приложение, новый выпуск не создается; однако, если я изменяю переменную окружения, используя deis config: set, то создается новая версия; тем не менее, он не имеет связанной сборки (я получаю следующую ошибку: "Нет сборки, связанной с этим выпуском" при попытке масштабирования процесса).
При нажатии на приложение, кажется, все идет хорошо, и я вижу:
Trigger 0, RUN mkdir -p /app
Step 0 : RUN mkdir -p /app
---> Using cache
Trigger 1, WORKDIR /app
Step 0 : WORKDIR /app
---> Using cache
Trigger 2, ADD slug.tgz /app
Step 0 : ADD slug.tgz /app
---> 27a0d5cb7ff0
Removing intermediate container e4345a7b152a
Step 1 : ENV GIT_SHA f959d84d4496c48e39b045d727527d203d4e17a3
---> Running in 32ed021a1456
---> 03e742bd6cf4
Removing intermediate container 32ed021a1456
Successfully built 03e742bd6cf4
-----> Pushing image to private registry
При просмотре журналов реестра (который, кажется, вызывает проблему), я вижу:
Nov 25 05:12:43 ip-10-0-10-252.ec2.internal sh[12257]: Traceback (most recent call last):
Nov 25 05:12:43 ip-10-0-10-252.ec2.internal sh[12257]: File "/app/bin/create_bucket", line 23, in <module>
Nov 25 05:12:43 ip-10-0-10-252.ec2.internal sh[12257]: if name not in (bucket.name for bucket in conn.get_all_buckets()):
Nov 25 05:12:43 ip-10-0-10-252.ec2.internal sh[12257]: File "/usr/lib/python2.7/site-packages/boto/s3/connection.py", line 436, in get_all_buckets
Nov 25 05:12:43 ip-10-0-10-252.ec2.internal sh[12257]: response = self.make_request('GET', headers=headers)
Nov 25 05:12:43 ip-10-0-10-252.ec2.internal sh[12257]: File "/usr/lib/python2.7/site-packages/boto/s3/connection.py", line 664, in make_request
Nov 25 05:12:43 ip-10-0-10-252.ec2.internal sh[12257]: retry_handler=retry_handler
Nov 25 05:12:43 ip-10-0-10-252.ec2.internal sh[12257]: File "/usr/lib/python2.7/site-packages/boto/connection.py", line 1068, in make_request
Nov 25 05:12:43 ip-10-0-10-252.ec2.internal sh[12257]: retry_handler=retry_handler)
Nov 25 05:12:43 ip-10-0-10-252.ec2.internal sh[12257]: File "/usr/lib/python2.7/site-packages/boto/connection.py", line 943, in _mexe
Nov 25 05:12:43 ip-10-0-10-252.ec2.internal sh[12257]: response = connection.getresponse()
Nov 25 05:12:43 ip-10-0-10-252.ec2.internal sh[12257]: File "/usr/lib/python2.7/httplib.py", line 1073, in getresponse
Nov 25 05:12:43 ip-10-0-10-252.ec2.internal sh[12257]: response.begin()
Nov 25 05:12:43 ip-10-0-10-252.ec2.internal sh[12257]: File "/usr/lib/python2.7/httplib.py", line 415, in begin
Nov 25 05:12:43 ip-10-0-10-252.ec2.internal sh[12257]: version, status, reason = self._read_status()
Nov 25 05:12:43 ip-10-0-10-252.ec2.internal sh[12257]: File "/usr/lib/python2.7/httplib.py", line 371, in _read_status
Nov 25 05:12:43 ip-10-0-10-252.ec2.internal sh[12257]: line = self.fp.readline(_MAXLINE + 1)
Nov 25 05:12:43 ip-10-0-10-252.ec2.internal sh[12257]: File "/usr/lib/python2.7/socket.py", line 476, in readline
Nov 25 05:12:43 ip-10-0-10-252.ec2.internal sh[12257]: data = self._sock.recv(self._rbufsize)
Nov 25 05:12:43 ip-10-0-10-252.ec2.internal sh[12257]: socket.timeout: timed out
Nov 25 05:12:44 ip-10-0-10-252.ec2.internal systemd[1]: deis-registry@1.service: Main process exited, code=exited, status=1/FAILURE
Nov 25 05:12:44 ip-10-0-10-252.ec2.internal docker[17529]: Error response from daemon: no such id: deis-registry
Nov 25 05:12:44 ip-10-0-10-252.ec2.internal docker[17529]: Error: failed to stop containers: [deis-registry]
Nov 25 05:12:44 ip-10-0-10-252.ec2.internal systemd[1]: deis-registry@1.service: Unit entered failed state.
Nov 25 05:12:44 ip-10-0-10-252.ec2.internal systemd[1]: deis-registry@1.service: Failed with result 'exit-code'.
Nov 25 05:12:49 ip-10-0-10-252.ec2.internal systemd[1]: deis-registry@1.service: Service hold-off time over, scheduling restart.
Nov 25 05:12:49 ip-10-0-10-252.ec2.internal systemd[1]: Starting deis-registry...
Nov 25 05:12:49 ip-10-0-10-252.ec2.internal etcdctl[17601]: Error: 105: Key already exists (/deis/cache) [18268602]
Nov 25 05:12:49 ip-10-0-10-252.ec2.internal systemd[1]: Started deis-registry.
Nov 25 05:21:55 ip-10-0-10-252.ec2.internal sh[17637]: Traceback (most recent call last):
Nov 25 05:21:55 ip-10-0-10-252.ec2.internal sh[17637]: File "/app/bin/create_bucket", line 23, in <module>
Nov 25 05:21:55 ip-10-0-10-252.ec2.internal sh[17637]: if name not in (bucket.name for bucket in conn.get_all_buckets()):
Nov 25 05:21:55 ip-10-0-10-252.ec2.internal sh[17637]: File "/usr/lib/python2.7/site-packages/boto/s3/connection.py", line 436, in get_all_buckets
Nov 25 05:21:55 ip-10-0-10-252.ec2.internal sh[17637]: response = self.make_request('GET', headers=headers)
Nov 25 05:21:55 ip-10-0-10-252.ec2.internal sh[17637]: File "/usr/lib/python2.7/site-packages/boto/s3/connection.py", line 664, in make_request
Nov 25 05:21:55 ip-10-0-10-252.ec2.internal sh[17637]: retry_handler=retry_handler
Nov 25 05:21:55 ip-10-0-10-252.ec2.internal sh[17637]: File "/usr/lib/python2.7/site-packages/boto/connection.py", line 1068, in make_request
Nov 25 05:21:55 ip-10-0-10-252.ec2.internal sh[17637]: retry_handler=retry_handler)
Nov 25 05:21:55 ip-10-0-10-252.ec2.internal sh[17637]: File "/usr/lib/python2.7/site-packages/boto/connection.py", line 943, in _mexe
Nov 25 05:21:55 ip-10-0-10-252.ec2.internal sh[17637]: response = connection.getresponse()
Nov 25 05:21:55 ip-10-0-10-252.ec2.internal sh[17637]: File "/usr/lib/python2.7/httplib.py", line 1073, in getresponse
Nov 25 05:21:55 ip-10-0-10-252.ec2.internal sh[17637]: response.begin()
Nov 25 05:21:55 ip-10-0-10-252.ec2.internal sh[17637]: File "/usr/lib/python2.7/httplib.py", line 415, in begin
Nov 25 05:21:55 ip-10-0-10-252.ec2.internal sh[17637]: version, status, reason = self._read_status()
Nov 25 05:21:55 ip-10-0-10-252.ec2.internal sh[17637]: File "/usr/lib/python2.7/httplib.py", line 371, in _read_status
Nov 25 05:21:55 ip-10-0-10-252.ec2.internal sh[17637]: line = self.fp.readline(_MAXLINE + 1)
Nov 25 05:21:55 ip-10-0-10-252.ec2.internal sh[17637]: File "/usr/lib/python2.7/socket.py", line 476, in readline
Nov 25 05:21:55 ip-10-0-10-252.ec2.internal sh[17637]: data = self._sock.recv(self._rbufsize)
Nov 25 05:21:55 ip-10-0-10-252.ec2.internal sh[17637]: socket.timeout: timed out
Nov 25 05:21:55 ip-10-0-10-252.ec2.internal systemd[1]: deis-registry@1.service: Main process exited, code=exited, status=1/FAILURE
Nov 25 05:21:55 ip-10-0-10-252.ec2.internal docker[22783]: Error response from daemon: no such id: deis-registry
Nov 25 05:21:55 ip-10-0-10-252.ec2.internal docker[22783]: Error: failed to stop containers: [deis-registry]
Nov 25 05:21:55 ip-10-0-10-252.ec2.internal systemd[1]: deis-registry@1.service: Unit entered failed state.
Nov 25 05:21:55 ip-10-0-10-252.ec2.internal systemd[1]: deis-registry@1.service: Failed with result 'exit-code'.
Nov 25 05:22:00 ip-10-0-10-252.ec2.internal systemd[1]: deis-registry@1.service: Service hold-off time over, scheduling restart.
Nov 25 05:22:00 ip-10-0-10-252.ec2.internal systemd[1]: Starting deis-registry...
Nov 25 05:22:00 ip-10-0-10-252.ec2.internal etcdctl[22865]: Error: 105: Key already exists (/deis/cache) [18274121]
Nov 25 05:22:00 ip-10-0-10-252.ec2.internal systemd[1]: Started deis-registry.
Глядя на компоновщик, он, кажется, также работает, так как говорит, что он развернут:
Nov 25 05:39:27 ip-10-0-10-252.ec2.internal sh[3142]: Waiting for git-receive to run.
Nov 25 05:39:27 ip-10-0-10-252.ec2.internal sh[3142]: Waiting for deploy.
Nov 25 05:40:17 ip-10-0-10-252.ec2.internal sh[3142]: [info] Deploy complete.
(Примечание: временные метки отличаются в приведенном выше примере, так как я добавил это чуть позже при другой попытке протолкнуть)
Наконец, когда я запускаю список deisctl, все отображается как активное и работающее, поэтому не возникает никаких проблем.
Кажется, что многие люди в сети имеют эту проблему, но я не видел четкого ответа на что-то, что работает, чтобы исправить это.
Я попытался перезапустить реестр, а также уничтожить все приложение и перезапустить его.
Если это помогает с точки зрения контекста, эта проблема начала возникать, когда я заметил, что мой /var/lib/docker использовался на 99% - я очистил изображения в соответствии с инструкциями документации Deis, так что теперь я использую на 60%; тем не менее, у меня все та же проблема.
Спасибо!