Destruir o serviço antes de remover a relação faz com que ambos os serviços parem de morrer

4

Eu implantei o wordpress e o mysql e adicionei a relação entre o wordpress e o mysql. Eu tento destruir o wordpress antes de remover a relação entre o wordpress e o mysql.

Agora, os dois serviços estão agonizando. O que devo fazer? Existe alguma maneira de excluir manualmente o serviço de forma limpa?

Estou executando o Ubuntu 12.04 LTS.

Aqui está a saída do status juju mysql:

controller:~$ juju status mysql
environment: maas
machines:
  "0":
    agent-state: started
    agent-version: 1.16.6.1
    dns-name: node-1.master
    instance-id: /MAAS/api/1.0/nodes/node-345fea0a-9f84-11e3-88be-525400429c50/
    series: precise
services:
  mysql:
    charm: cs:precise/mysql-35
    exposed: false
    life: dying
    relations:
      cluster:
      - mysql
      db:
      - wordpress
    units:
      mysql/0:
        agent-state: started
        agent-version: 1.16.6.1
        life: dying
        machine: "0"
        public-address: node-1.master

Parte da saída do status juju (sim, termina em db: - mysql)

  wordpress:
    charm: cs:precise/wordpress-21
    exposed: false
    life: dying
    relations:
      db:
      - mysql

Relacionado a log (juju debug-log):

node-1:014-03-03 19:32:12 INFO juju runner.go:253 worker: start "uniter"
node-1:014-03-03 19:32:12 INFO juju.worker.uniter uniter.go:83 unit "mysql/0" started
node-1:014-03-03 19:32:12 INFO juju.worker.uniter modes.go:421 ModeInit starting
node-1:014-03-03 19:32:12 INFO juju.worker.uniter modes.go:29 updating unit addresses
node-1:014-03-03 19:32:12 INFO juju.worker.uniter.filter filter.go:454 unit is dying
node-1:014-03-03 19:32:12 DEBUG juju.worker.uniter.filter filter.go:504 charm check         skipped, unit is dying
node-1:014-03-03 19:32:12 INFO juju.worker.uniter modes.go:54 reconciling relation state
node-1:014-03-03 19:32:12 DEBUG juju.worker.uniter.filter filter.go:322 got service change
node-1:014-03-03 19:32:12 INFO juju.worker.uniter uniter.go:517 joining relation "wordpress:db mysql:db"
node-1:014-03-03 19:32:12 DEBUG juju.worker.uniter.filter filter.go:504 charm check     skipped, unit is dying
node-1:014-03-03 19:32:12 DEBUG juju.worker.uniter.filter filter.go:338 got relations change
node-1:014-03-03 19:32:12 DEBUG juju.worker.uniter.filter filter.go:314 got unit change
node-1:014-03-03 19:32:12 INFO juju.worker.uniter uniter.go:543 joined relation "wordpress:db mysql:db"
node-1:014-03-03 19:32:12 DEBUG juju.worker.uniter modes.go:423 ModeInit exiting
node-1:014-03-03 19:32:12 INFO juju.worker.uniter modes.go:421 ModeContinue starting
node-1:014-03-03 19:32:12 INFO juju.worker.uniter modes.go:67 loading uniter state
node-1:014-03-03 19:32:12 INFO juju.worker.uniter modes.go:108 found uncommitted     "config-changed" hook
node-1:014-03-03 19:32:12 INFO juju.worker.uniter uniter.go:363 committing "config-    changed" hook
node-1:014-03-03 19:32:12 DEBUG juju.worker.uniter.filter filter.go:330 got config change
node-1:014-03-03 19:32:12 DEBUG juju.worker.uniter.filter filter.go:334 preparing new config event
node-1:014-03-03 19:32:12 ERROR juju git.go:188 worker/uniter/charm: git command failed: exit status 128
node-1:ath: /var/lib/juju/agents/unit-mysql-0/charm
node-1:rgs: []string{"commit", "--allow-empty", "-m", "Completed \"config-changed\" hook."}
node-1:rror: object file .git/objects/d4/7f136f29e2319929b668b4e7917dca934b462f is     empty
node-1:atal: loose object d47f136f29e2319929b668b4e7917dca934b462f (stored in .git/objects/d4/7f136f29e2319929b668b4e7917dca934b462f) is corrupt
node-1:014-03-03 19:32:12 DEBUG juju.worker.uniter modes.go:423 ModeContinue exiting
node-1:014-03-03 19:32:12 INFO juju.worker.uniter uniter.go:105 unit "mysql/0"     shutting down: ModeContinue: git commit failed: exit status 128
node-1:014-03-03 19:32:12 ERROR juju.worker.uniter.filter filter.go:117 tomb: dying
node-1:014-03-03 19:32:12 ERROR juju runner.go:211 worker: exited "uniter":     ModeContinue: git commit failed: exit status 128
node-1:014-03-03 19:32:12 INFO juju runner.go:245 worker: restarting "uniter" in 3s
node-1:014-03-03 19:32:15 INFO juju runner.go:253 worker: start "uniter"
node-1:014-03-03 19:32:15 INFO juju.worker.uniter uniter.go:83 unit "mysql/0" started
node-1:014-03-03 19:32:15 INFO juju.worker.uniter modes.go:421 ModeInit starting
node-1:014-03-03 19:32:15 INFO juju.worker.uniter modes.go:29 updating unit addresses
node-1:014-03-03 19:32:15 INFO juju.worker.uniter.filter filter.go:454 unit is dying
node-1:014-03-03 19:32:15 DEBUG juju.worker.uniter.filter filter.go:504 charm check     skipped, unit is dying
node-1:014-03-03 19:32:15 INFO juju.worker.uniter modes.go:54 reconciling relation     state
node-1:014-03-03 19:32:15 DEBUG juju.worker.uniter.filter filter.go:322 got service     change
node-1:014-03-03 19:32:15 INFO juju.worker.uniter uniter.go:517 joining relation     "wordpress:db mysql:db"
node-1:014-03-03 19:32:15 DEBUG juju.worker.uniter.filter filter.go:504 charm check     skipped, unit is dying
node-1:014-03-03 19:32:15 DEBUG juju.worker.uniter.filter filter.go:338 got relations     change
node-1:014-03-03 19:32:15 DEBUG juju.worker.uniter.filter filter.go:314 got unit     change
node-1:014-03-03 19:32:15 INFO juju.worker.uniter uniter.go:543 joined relation     "wordpress:db mysql:db"
node-1:014-03-03 19:32:15 DEBUG juju.worker.uniter modes.go:423 ModeInit exiting
node-1:014-03-03 19:32:15 INFO juju.worker.uniter modes.go:421 ModeContinue starting
node-1:014-03-03 19:32:15 INFO juju.worker.uniter modes.go:67 loading uniter state
node-1:014-03-03 19:32:15 INFO juju.worker.uniter modes.go:108 found uncommitted     "config-changed" hook
node-1:014-03-03 19:32:15 INFO juju.worker.uniter uniter.go:363 committing "config-    changed" hook
node-1:014-03-03 19:32:15 DEBUG juju.worker.uniter.filter filter.go:330 got config     change
node-1:014-03-03 19:32:15 DEBUG juju.worker.uniter.filter filter.go:334 preparing new     config event
node-1:014-03-03 19:32:15 ERROR juju git.go:188 worker/uniter/charm: git command     failed: exit status 128
node-1:ath: /var/lib/juju/agents/unit-mysql-0/charm
node-1:rgs: []string{"commit", "--allow-empty", "-m", "Completed \"config-changed\"     hook."}
node-1:rror: object file .git/objects/d4/7f136f29e2319929b668b4e7917dca934b462f is empty
node-1:atal: loose object d47f136f29e2319929b668b4e7917dca934b462f (stored in     .git/objects/d4/7f136f29e2319929b668b4e7917dca934b462f) is corrupt
node-1:014-03-03 19:32:15 DEBUG juju.worker.uniter modes.go:423 ModeContinue exiting
node-1:014-03-03 19:32:15 INFO juju.worker.uniter uniter.go:105 unit "mysql/0"     shutting down: ModeContinue: git commit failed: exit status 128
node-1:014-03-03 19:32:15 ERROR juju.worker.uniter.filter filter.go:117 tomb: dying
node-1:014-03-03 19:32:15 ERROR juju runner.go:211 worker: exited "uniter":     ModeContinue: git commit failed: exit status 128
node-1:014-03-03 19:32:15 INFO juju runner.go:245 worker: restarting "uniter" in 3s

Por favor, deixe-me saber se existe uma solução fácil? Qualquer sugestão será apreciada. Obrigado.

    
por jzc.emacs 03.03.2014 / 20:41

1 resposta

2

Eu não sou 100% positivo, isso funciona com o MAAS - mas eu sei que esse método funciona com outros provedores. Quando eu quero destruir um serviço e seu "preso" em um estado agonizante, usando sua implantação wordpress como um exemplo:

juju resolve wordpress/0

agora, se isso não ajudar a situação, ergo, continua a ir de gancho em gancho em um estado de erro, vou destruir a máquina com extremo preconceito. (note que isso produz uma máquina irrecuperável e deve ser tratado com cuidado, como você faria com qualquer operação rm -rf - isso destruirá a máquina em questão)

Obtenha o ID da máquina a partir do comando juju status - then:

 juju destroy-machine --force <machine_id>

Se isso continuar a deixar o serviço mysql em um estado de dificuldade, você poderá resolvê-lo manualmente seguindo o fluxo de trabalho acima:

juju resolve mysql/0

se tudo mais falhar e você não se importar com os dados

juju destroy-machine --force <machine_id>

Em relação à saída do log - saiba que há um esforço para não permitir que o juju use o git, portanto, problemas de dispersão como esse não surgem para os usuários finais. Eu não tenho um ETA quando esse recurso vai pousar, mas seu WIP no momento.

    
por lazyPower 04.03.2014 / 19:53