juju erro de implementação na máquina provisionada manualmente

2

Estou recebendo o seguinte erro ao tentar implantar um serviço em uma máquina provisionada manualmente usando juju:

juju deploy juju-gui --show-log
2014-05-20 13:42:31 INFO juju.cmd supercommand.go:302 running juju-1.18.3-unknown-amd64 [gc]
2014-05-20 13:42:31 INFO juju api.go:242 connecting to API addresses [j93716.servers.jiffybox.net:17070]
2014-05-20 13:42:31 INFO juju apiclient.go:114 state/api: dialing "wss://xxx.xxx.net:17070/"
2014-05-20 13:42:31 INFO juju apiclient.go:124 state/api: connection established
Added charm "cs:trusty/juju-gui-2" to the environment.
2014-05-20 13:42:46 ERROR juju.cmd supercommand.go:305 cannot assign unit "juju-gui/0" to machine: cannot assign unit "juju-gui/0" to new machine or container: cannot assign unit "juju-gui/0" to new machine: use "juju add-machine ssh:[user@]<host>" to provision machines

status juju produz o seguinte:

environment: manual
machines:
  "0":
    agent-state: started
    agent-version: 1.18.3
    dns-name: xxx.xxx.xxx.xxx
    instance-id: 'manual:'
    series: precise
    hardware: arch=amd64 cpu-cores=1 mem=1996M
  "1":
    agent-state: started
    agent-version: 1.18.3
    dns-name: xxx.xxx.xxx.yyy
    instance-id: manual:xxx.xxx.xxx.net
    series: precise
    hardware: arch=amd64 cpu-cores=1 mem=1996M
services:
  juju-gui:
    charm: cs:trusty/juju-gui-2
    exposed: true
    units:
      juju-gui/0:
        agent-state: pending

Eu senti falta de algo?

    
por chmanie 20.05.2014 / 15:50

1 resposta

4

A julgar pela saída do status juju, você inicializou um ambiente manual (usando juju bootstrap , que é diferente do provisionamento manual, feito usando juju add-machine ssh:[user@]host ).

Ambientes manuais são especiais - eles consistem apenas em uma única máquina e não pode iniciar ou parar máquinas adicionais automaticamente , inclusive em juju deploy . Para adicionar outra máquina, use juju add-machine ssh:[user@]host primeiro e, em seguida, juju deploy juju-gui --to # , onde # é o id da máquina que você acabou de adicionar (execute juju status para vê-lo). Você também pode usar juju deploy juju-gui --to 0 para implantar a GUI Juju na máquina de inicialização.

juju add-machine ssh:[user@]host pode ser usado em qualquer ambiente de bootstrap para provisionar manualmente uma máquina externa e adicioná-la ao ambiente. Mas, com um ambiente manualmente inicializado, essa é a única maneira de adicionar máquinas, e você precisa especificar o posicionamento para serviços e unidades ao implantar, com --to <machine-id> explicitamente.

Espero que isso elimine qualquer confusão. Nós definitivamente precisamos de melhor documentação sobre isso, suponho.

    
por dimitern 20.05.2014 / 16:31