startup-script não roda na primeira inicialização

3

O startup-script adicionado a uma instância no GCP parece não ser executado na primeira inicialização (mas nas inicializações subsequentes)

Estou usando a imagem https://www.googleapis.com/compute/v1/projects/centos-cloud/global/images/centos-7-v20160921 base, mas tive o mesmo problema em uma versão um pouco mais antiga da imagem centos-7 também.

Isso acontece se eu uso a API para criar uma instância ou o console da Web.

De acordo com os documentos ( link ) adicionando um metadado com a chave startup-script e o valor de um script deve fazer com que o script seja executado na inicialização every .

(Há uma seção sobre como adicionar o script a uma instância em execução e menciona que é necessário reinicializar para que o script seja executado, mas isso (aparentemente) não deve se aplicar a novas instâncias.)

É possível forçar o script a ser executado usando sudo google_metadata_script_runner --script-type startup ( link ), o que implica que o script script é carregado, mas não é executado, então não tenho certeza do que está acontecendo.

Estou fazendo algo errado ou encontrei um bug no GCP? :)

    
por funkyhat 03.10.2016 / 16:42

2 respostas

1

Isso realmente funcionou para mim sem problemas usando a imagem do Centos 7. Eu criei a VM a partir do console e adicionei este pequeno script

#! /bin/bash
yum update
yum install -y httpd
cat <<EOF > /var/www/html/index.html
<html><body><h1>Hello World</h1>
<p>This page was created from a simple startup script!</p>
</body></html>
EOF

Após a criação da VM, consegui verificar se o Apache tinha sido instalado no console serial .

…
Feb  3 20:36:17 instance-3 startup-script: INFO startup-script: ---> Package httpd.x86_64 0:2.4.6-45.el7.centos will be installed
Feb  3 20:36:17 instance-3 startup-script: INFO startup-script: --> Processing Dependency: httpd-tools = 2.4.6-45.el7.centos for package: httpd-2.4.6-45.el7.centos.x86_64
Feb  3 20:36:17 instance-3 startup-script: INFO startup-script: --> Processing Dependency: /etc/mime.types for package: httpd-2.4.6-45.el7.centos.x86_64
….
Feb  3 20:36:20 instance-3 startup-script: INFO startup-script: Installed:
Feb  3 20:36:20 instance-3 startup-script: INFO startup-script:   httpd.x86_64 0:2.4.6-45.el7.centos
Feb  3 20:36:20 instance-3 startup-script: INFO startup-script: Dependency Installed:
Feb  3 20:36:20 instance-3 startup-script: INFO startup-script:   apr.x86_64 0:1.4.8-3.el7                     apr-util.x86_64 0:1.5.2-6.el7
Feb  3 20:36:20 instance-3 startup-script: INFO startup-script:   httpd-tools.x86_64 0:2.4.6-45.el7.centos     mailcap.noarch 0:2.1.41-2.el7
Feb  3 20:36:20 instance-3 startup-script: INFO startup-script: Complete!

O script instalou o Apache, mas o serviço na VM não foi iniciado. Eu só tive que SSH na VM para iniciar o serviço.

    
por 03.02.2017 / 22:13
1

Isso não é um bug, ele ainda existe e é complicado.

Os scripts de inicialização são executados após todos os scripts init.d .

Portanto, se você inicializar um arquivo /etc/environment por exemplo e tentar usá-lo em um script init.d , na primeira inicialização, /etc/environment não existirá quando o script for iniciado.

Na segunda inicialização, não há mais problemas, /etc/environment já existe: -)

    
por 26.01.2018 / 20:50