Multiple unit agents shown as "executing" on the same machine
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Canonical Juju |
Triaged
|
Low
|
Unassigned |
Bug Description
juju snap built out of commit ID: bff30a662f789f8
Although I have seen this behavior before on stable versions.
In summary, multiple unit agents can be shown as "executing", however, I have not actually seen them doing things in parallel which is expected because they are gated by a machine-level lock.
I wonder if agent status reporting is correct though.
ubuntu@jujuc:~$ juju status
Model Controller Cloud/Region Version SLA Timestamp
k8s canonistack-manual canonistack/
App Version Status Scale Charm Store Rev OS Notes
containerd active 3 containerd jujucharms 20 ubuntu
easyrsa 3.0.1 active 1 easyrsa jujucharms 270 ubuntu
etcd 3.2.10 active 1 etcd jujucharms 449 ubuntu
flannel 0.10.0 active 3 flannel jujucharms 438 ubuntu
kubernetes-master 1.15.3 active 1 kubernetes-master jujucharms 724 ubuntu exposed
kubernetes-worker 1.15.3 waiting 2 kubernetes-worker jujucharms 571 ubuntu exposed
openstack-
Unit Workload Agent Machine Public address Ports Message
easyrsa/1* active executing 0 10.48.132.145 Certificate Authority connected.
etcd/0* active idle 0 10.48.132.145 2379/tcp Healthy with 1 known peer
kubernetes-
containerd/1 active idle 10.48.132.145 Container runtime available.
flannel/1 active idle 10.48.132.145 Flannel subnet 10.1.88.1/24
kubernetes-
containerd/0* active idle 10.48.130.251 Container runtime available.
flannel/0* active idle 10.48.130.251 Flannel subnet 10.1.96.1/24
kubernetes-worker/1 waiting idle 2 10.48.131.75 80/tcp,443/tcp Waiting for cloud integration
containerd/2 active idle 10.48.131.75 Container runtime available.
flannel/2 active idle 10.48.131.75 Flannel subnet 10.1.7.1/24
openstack-
Machine State DNS Inst id Series AZ Message
0 started 10.48.132.145 5c4bb239-
1 started 10.48.130.251 b7dfd58a-
2 started 10.48.131.75 e8d8bd7c-
It may well be that the status is set to executing before it actually acquires the hook execution lock.
You can go onto the machine and look at /var/log/ machine- lock.log to see what actually happened.
Also the command juju_machine_lock will show at any time who is waiting for the lock and what for.