Ошибка обновления диспетчера развертывания: у развертывания в предварительном просмотре не должно быть цели с UPDATE - PullRequest
0 голосов
/ 06 сентября 2018

Каждый раз, когда я пытаюсь запустить обновление через диспетчер развертывания для существующего развертывания в режиме предварительного просмотра, я получаю сообщение об ошибке:

$ gcloud deployment-manager deployments update abc --config abc.yaml
ERROR: (gcloud.deployment-manager.deployments.update) ResponseError: code=400, message=Invalid value for field 'resource.target': ''.  Deployment in preview must not have a target with UPDATE

Однако, если я не использую обновление в командной строке gcloud, иду в консоль и нажимаю «развернуть», обновление проходит нормально.

Что может быть причиной этого?

Ответы [ 4 ]

0 голосов
/ 17 июля 2019

Просто столкнулся с этим, я не следовал инструкциям должным образом. После того, как вы создали что-то в режиме предварительного просмотра, вы НЕ передаете конфигурацию снова, вы просто применяете.

создать предварительный просмотр

gcloud deployment-manager deployments update my-deployment --config my-config.yaml --preview

запустить развертывание

gcloud deployment-manager deployments update my-deployment

Документы https://cloud.google.com/deployment-manager/docs/deployments/updating-deployments#make_the_update_request

0 голосов
/ 14 декабря 2018

Отмените предварительный просмотр, а затем снова запустите обновление развертывания.

gcloud deployment-manager deployments cancel-preview DEPLOYMENT
0 голосов
/ 09 апреля 2019

Для меня проблема заключалась в том, что я вызывал API обновления для применения предварительного просмотра с полным параметром body, который я передал при первом создании предварительного просмотра.

Исправление заключалось в передаче только свойств fingerprint и name в параметре body для вызова предварительного просмотра.

project_name = '...'
deployment_name = '...'

existing_deployment = service.deployments().get(
    project=project_name,
    deployment=deployment_name).execute()

service.deployments().update(
    project=project_name,
    deployment=deployment_name,
    body={
        'name': deployment_name,
        'fingerprint': existing_deployment["fingerprint"],
    },
    preview=False).execute()
0 голосов
/ 06 сентября 2018

Это проблема с нашей стороны. В настоящее время мы работаем над исправлением; Я не могу предоставить ETA для исправления в данный момент. Я настоятельно рекомендую продолжать использовать решение, найденное вами при развертывании через консоль.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...