subordinate service not appearing in watch output
| Affects | Status | Importance | Assigned to | Milestone | |
|---|---|---|---|---|---|
| | juju-core |
Medium
|
Unassigned | ||
| | juju-deployer |
Undecided
|
Adam Israel | ||
Bug Description
When running a deployment we sometimes see the following:
Traceback (most recent call last):
File "/usr/lib/
debug=True, verbose=True)
File "/usr/lib/
importer.
File "/usr/lib/
self.
File "/usr/lib/
cur_units = len(env_
KeyError: 'ceilometer-agent'
Will paste deployment yaml and all output in a comment.
| affects: | juju-core → juju-deployer |
| Changed in juju-deployer: | |
| status: | New → Triaged |
| importance: | Undecided → High |
| assignee: | nobody → Kapil Thangavelu (hazmat) |
| importance: | High → Undecided |
| Kapil Thangavelu (hazmat) wrote : | #2 |
investigating
| Kapil Thangavelu (hazmat) wrote : | #3 |
the root issue is that subordinate service is not appearing in the watch output, which is a bug in core. deployer tries to do some workarounds on watches to ensure its consistent by waiting for 5.1 seconds (implementation details on core which may have changed). status is implemented via api by core for a while now, so the other work around is to try and use that api instead of the watch.
| summary: |
- juju-deployer KeyError in add_units during a deploy + subordinate service not appearing in watch output |
| Changed in juju-core: | |
| status: | New → Triaged |
| importance: | Undecided → Medium |
| Richard Harding (rharding) wrote : | #4 |
Tools like the Juju Gui rely on the allwatcher to know when services are added/etc a subordinate with no units should still go across the watcher so we can show it and allow a GUI user to relate it to an existing service in the environment. If the subordinate is not in the AllWatcher output then the GUI will never know that the service already exists and is not able to represent that to users in a sane way.
| Jay R. Wren (evarlast) wrote : | #5 |
I checked allwatcher and juju-gui with juju tools versions 1.21.3 and 1.22-beta3 and I could not reproduce this bug.
| Jay R. Wren (evarlast) wrote : | #6 |
Update: Confirmed that 1.22-beta4 tools to now exhibit this behavior.
| Changed in juju-core: | |
| milestone: | none → 1.23 |
| importance: | Medium → High |
| tags: | added: api regression |
| tags: | added: juju-gui |
| Dimiter Naydenov (dimitern) wrote : | #7 |
I'm not quite sure what was expected - can somebody paste a juju status output with 1.22-beta3 (where it works) and the same scenario with 1.22-beta4 (where it doesn't) ? Looking just at the bundle yaml does not help much.
| Jay R. Wren (evarlast) wrote : | #8 |
Comment #6 is a typo and should read:
Confirmed that 1.22-beta4 tools do not exhibit this behavior.
| Dimiter Naydenov (dimitern) wrote : | #9 |
As 1.22-beta4 does not seem to be affected, I'm marking it as Incomplete - we have a few fixes to land.
| Richard Harding (rharding) wrote : | #10 |
Greg, can you provide additional details to the bug report please? What version of juju, the deployer, and python-jujuclient were you using?
You mention "When running a deployment we sometimes see the following" which I'm wondering if this is some sort of race condition. Can you specify how often you see it and firm up 'sometimes'?
If this is a timing related issue, can you repeat the deployer call and it succeeds?
Thanks for the additional information.
| Greg Lutostanski (lutostag) wrote : | #11 |
juju-core 1.21.1-
juju-deployer 0.4.3-0ubuntu1~
python-jujuclient 0.18.4-5
Over the data I have from February it happened 43/3092 times.
Since the latest update to:
juju-core 1.22-beta4-
juju-deployer 0.4.3-0ubuntu1~
python-jujuclient 0.18.4-5
I am running our data collector against the runs since the update and will respond when its done (but given the rarity of hitting it and that we have only had 568 runs so far after updating to beta4, even if we havent hit it yet I cannot say if it is entirely fixed or not).
Currently we can't repro it effectively; so one-off tests like trying the deployer call again isn't possible ATM, will discuss if we can get this in the future for these hard to repro bugs.
| Greg Lutostanski (lutostag) wrote : | #12 |
Just looked at the data from the runs, it looks like we haven't hit it since the update to 1.22-beta4-
| Changed in juju-deployer: | |
| assignee: | Kapil Thangavelu (hazmat) → nobody |
| Adam Israel (aisrael) wrote : | #13 |
I'm running into this error while running unit tests for Postgresql (see https:/
I'm running 1.22.0-
If I run individual tests, I haven't seen it error. If I run the full test suite via bundletester, I see it regularly.
| Antonio Rosales (arosales) wrote : | #14 |
@Adam,
If you have the all-machine log hand you could you pastebin that?
juju-core devs,
Any other debug information that would be helpful?
-thanks,
Antonio
| Antonio Rosales (arosales) wrote : | #15 |
Per comment 13 updating the status to "new."
-thanks,
Antonio
| Changed in juju-core: | |
| milestone: | 1.23 → 1.24-alpha1 |
| status: | Triaged → Incomplete |
| no longer affects: | juju-core/1.22 |
| Changed in juju-deployer: | |
| status: | Triaged → New |
| Changed in juju-core: | |
| status: | Incomplete → New |
| Ian Booth (wallyworld) wrote : | #16 |
Setting to incomplete because we don't have the requested all-machine log file attached.
| Changed in juju-core: | |
| status: | New → Incomplete |
| Changed in juju-core: | |
| milestone: | 1.24-alpha1 → none |
| Changed in juju-core: | |
| importance: | High → Medium |
| Changed in juju-deployer: | |
| status: | New → In Progress |
| assignee: | nobody → Adam Israel (aisrael) |
| Changed in juju-core: | |
| status: | Incomplete → Fix Released |

following yaml + output... I will try to repro it outside so we can actively poke it -- but we don't hit this error very often so I am not hopeful that I will be successful every time.
oil_deployment: origin: cloud:trusty-juno updates/ juno controller controller controller controller controller identity- service identity- service controller server: amqp controller controller agent: 1397-11e2- 82e5-53567c8d32 dc
monitor- count: 3
monitor- secret: AQCXrnZQwI7KGBA AiPofmKEXKxu5bU zoYLVkbQ= =
osd-devices: /dev/sdc /dev/sdd /srv/ceph
osd-reformat: 'yes'
block- device: None
glance- api-version: 2
remove- missing: true
admin- password: openstack
admin- token: ubuntutesting gateway= 0 cloud-controlle r=0
neutron- security- groups: true gateway:
overrides:
openstack-
source: cloud:trusty-
relations:
- - keystone
- mysql
- - nova-cloud-
- glance
- - nova-cloud-
- keystone
- - nova-cloud-
- mysql
- - nova-cloud-
- rabbitmq-server
- - glance
- keystone
- - glance
- mysql
- - cinder
- glance
- - cinder
- keystone
- - cinder
- nova-cloud-
- - cinder
- mysql
- - cinder
- rabbitmq-server
- - openstack-dashboard
- keystone
- - heat
- mysql
- - heat
- rabbitmq-server
- - heat
- keystone
- - ceilometer:
- keystone:
- - ceilometer
- rabbitmq-server
- - ceilometer
- mongodb
- - ceilometer-agent
- ceilometer
- - neutron-gateway
- mysql
- - neutron-gateway
- nova-cloud-
- - nova-compute:amqp
- rabbitmq-
- - nova-compute
- nova-cloud-
- - nova-compute
- glance
- - neutron-api
- mysql
- - neutron-api
- rabbitmq-server
- - neutron-api
- nova-cloud-
- - neutron-api
- neutron-openvswitch
- - neutron-api
- keystone
- - neutron-openvswitch
- nova-compute
- - neutron-openvswitch
- rabbitmq-server
- - swift-proxy
- keystone
- - swift-proxy
- swift-storage
- - ceilometer-agent
- nova-compute
- - swift-proxy
- glance
- - ceph
- cinder
- - ceph
- nova-compute
series: trusty
services:
ceilometer:
branch: lp:charms/ceilometer
to:
- lxc:nova-compute=0
ceilometer-
branch: lp:charms/ceilometer-agent
ceph:
branch: lp:~lutostag/charms/trusty/ceph/fix-six-bug
num_units: 3
options:
fsid: 6547bd3e-
cinder:
branch: lp:~openstack-charmers/charms/trusty/cinder/next
options:
glance:
branch: lp:~openstack-charmers/charms/trusty/glance/next
to:
- lxc:nova-compute=1
heat:
branch: lp:~openstack-charmers/charms/trusty/heat/next
to:
- lxc:nova-compute=2
keystone:
branch: lp:~gnuoy/charms/trusty/keystone/next-1385105
options:
to:
- lxc:cinder=0
mongodb:
branch: lp:charms/mongodb
to:
- lxc:neutron-
mysql:
branch: lp:~lutostag/charms/trusty/mysql/fix-six-bug
to:
- lxc:nova-
neutron-api:
branch: lp:charms/neutron-api
options:
to:
- lxc:ceph=0
neutron-
branch: lp:charms/quantum-gateway
...