运行 juju deploy jenkins-slave 时出错

运行 juju deploy jenkins-slave 时出错

注意:我通过 VMWare Fusion 在 OS X 笔记本电脑上的 3 个 Ubuntu 可信 VM 上运行此程序。

我是 juju 新手,在设置 jenkins-slave 时遇到了一些问题。我有一台 bootstrap 机器和另外两台机器。Jenkins(主)已成功安装在机器 1 上。当我尝试部署 jenkins-salve 时,我收到错误消息:

juju deploy -n 1 jenkins-slave
cannot assign unit "jenkins-slave/0" to new machine: use "juju add-machine ssh:[user@]<host>" to provision machines

我也尝试过:

juju remove-service jenkins-slave
juju deploy jenkins-slave --to 2
Added charm "cs:precise/jenkins-slave-7" to the environment.
ERROR cannot assign unit "jenkins-slave/0" to machine 2: series does not match

这没有意义,因为在尝试部署詹金斯之前,我添加了两台机器:

juju add-machine ssh:machine1
juju add-machine ssh:machine2

均已成功完成。以下是我的状态输出

juju status
environment: manual
machines:
"0":
agent-state: started
agent-version: 1.20.14
dns-name: thebat
instance-id: 'manual:'
series: trusty
hardware: arch=amd64 cpu-cores=1 mem=979M
state-server-member-status: has-vote
"1":
agent-state: started
agent-version: 1.20.14
dns-name: elemental
instance-id: manual:elemental
series: trusty
hardware: arch=amd64 cpu-cores=1 mem=979M
"2":
agent-state: started
agent-version: 1.20.14
dns-name: terrifying
instance-id: manual:terrifying
series: trusty
hardware: arch=amd64 cpu-cores=1 mem=979M
services:
jenkins:
charm: cs:trusty/jenkins-2
exposed: false
units:
  jenkins/0:
    agent-state: started
    agent-version: 1.20.14
    machine: "1"
    open-ports:
    - 8080/tcp
    public-address: elemental
jenkins-slave:
charm: cs:precise/jenkins-slave-7
exposed: false
units:
  jenkins-slave/0:
    agent-state: pending

答案1

答案很简单,但可能性很小。jenkins-slave 的 Charm 是一个精确 Charm,这意味着它可以仅有的安装在精确的 Ubuntu VM 上。

虽然这在使用 juju 一整天后才变得明显,但我认为这是此工具的一个主要问题。Chef/Puppet 等不依赖于风味,那么为什么 juju 依赖于风味版本。在我看来,这是严重缺乏规划。

相关内容