departing non-swift-storage units cause access to be revoked

Bug #1859109 reported by Paul Collins
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Swift Storage Charm
Expired
Undecided
Unassigned

Bug Description

We recently did some maintenance work that involved relocating prometheus-openstack-exporter. p-o-e uses the swift-storage interface to monitor swift-storage nodes. As a result, when we removed the unit, the swift-storage-relation-departed hook was invoked, and access from the relevant IP was revoked. Unfortunately, the p-o-e unit had been collocated on the same machine as a swift-storage node, whose access was revoked, which broke replication from that node. It would be nice if swift-storage could avoid this situation somehow.

---

2020-01-09 15:50:12 DEBUG juju.worker.uniter.remotestate watcher.go:525 got a relation units change: {188 {map[] [prometheus-openstack-exporter/11]}}
2020-01-09 15:50:12 DEBUG juju.worker.uniter resolver.go:147 no operations in progress; waiting for changes
2020-01-09 15:50:12 DEBUG juju.worker.uniter.operation executor.go:59 running operation run relation-departed (188; prometheus-openstack-exporter/11) hook
2020-01-09 15:50:12 DEBUG juju.machinelock machinelock.go:156 acquire machine lock for uniter (run relation-departed (188; prometheus-openstack-exporter/11) hook)
2020-01-09 15:50:24 DEBUG juju.machinelock machinelock.go:166 machine lock acquired for uniter (run relation-departed (188; prometheus-openstack-exporter/11) hook)
2020-01-09 15:50:24 DEBUG juju.worker.uniter.operation executor.go:90 preparing operation "run relation-departed (188; prometheus-openstack-exporter/11) hook"
2020-01-09 15:50:24 DEBUG juju.worker.uniter.operation executor.go:90 executing operation "run relation-departed (188; prometheus-openstack-exporter/11) hook"
2020-01-09 15:50:24 DEBUG juju.worker.uniter agent.go:20 [AGENT-STATUS] executing: running swift-storage-relation-departed hook
2020-01-09 15:50:25 DEBUG worker.uniter.jujuc server.go:182 running hook tool "config-get"
2020-01-09 15:50:26 DEBUG worker.uniter.jujuc server.go:182 running hook tool "juju-log"
2020-01-09 15:50:26 INFO juju-log swift-storage:188: Registered config file: /etc/swift/swift.conf
2020-01-09 15:50:26 DEBUG worker.uniter.jujuc server.go:182 running hook tool "juju-log"
2020-01-09 15:50:26 INFO juju-log swift-storage:188: Registered config file: /etc/rsync-juju.d/050-swift-storage.conf
2020-01-09 15:50:26 DEBUG worker.uniter.jujuc server.go:182 running hook tool "juju-log"
2020-01-09 15:50:26 INFO juju-log swift-storage:188: Registered config file: /etc/swift/account-server.conf
2020-01-09 15:50:26 DEBUG worker.uniter.jujuc server.go:182 running hook tool "juju-log"
2020-01-09 15:50:26 INFO juju-log swift-storage:188: Registered config file: /etc/swift/object-server.conf
2020-01-09 15:50:26 DEBUG worker.uniter.jujuc server.go:182 running hook tool "juju-log"
2020-01-09 15:50:26 INFO juju-log swift-storage:188: Registered config file: /etc/swift/container-server.conf
2020-01-09 15:50:27 DEBUG worker.uniter.jujuc server.go:182 running hook tool "relation-get"
2020-01-09 15:50:27 DEBUG worker.uniter.jujuc server.go:182 running hook tool "relation-ids"
2020-01-09 15:50:27 DEBUG worker.uniter.jujuc server.go:182 running hook tool "relation-get"
2020-01-09 15:50:27 DEBUG worker.uniter.jujuc server.go:182 running hook tool "relation-list"
2020-01-09 15:50:27 DEBUG worker.uniter.jujuc server.go:182 running hook tool "relation-get"
2020-01-09 15:50:27 DEBUG worker.uniter.jujuc server.go:182 running hook tool "relation-ids"
2020-01-09 15:50:27 DEBUG worker.uniter.jujuc server.go:182 running hook tool "relation-get"
2020-01-09 15:50:27 DEBUG worker.uniter.jujuc server.go:182 running hook tool "relation-list"
2020-01-09 15:50:28 DEBUG worker.uniter.jujuc server.go:182 running hook tool "relation-get"
2020-01-09 15:50:28 DEBUG worker.uniter.jujuc server.go:182 running hook tool "relation-get"
2020-01-09 15:50:28 DEBUG worker.uniter.jujuc server.go:182 running hook tool "relation-list"
2020-01-09 15:50:28 DEBUG worker.uniter.jujuc server.go:182 running hook tool "relation-get"
2020-01-09 15:50:28 DEBUG worker.uniter.jujuc server.go:182 running hook tool "relation-ids"
2020-01-09 15:50:28 DEBUG worker.uniter.jujuc server.go:182 running hook tool "relation-get"
2020-01-09 15:50:28 DEBUG worker.uniter.jujuc server.go:182 running hook tool "juju-log"
2020-01-09 15:50:28 DEBUG juju-log swift-storage:188: revoking access: 10.48.2.160
2020-01-09 15:50:29 DEBUG worker.uniter.jujuc server.go:182 running hook tool "juju-log"
2020-01-09 15:50:29 DEBUG juju-log swift-storage:188: ufw delete: ufw delete allow from 10.48.2.160 to any port 6000 proto tcp
2020-01-09 15:50:29 DEBUG worker.uniter.jujuc server.go:182 running hook tool "juju-log"
2020-01-09 15:50:29 INFO juju-log swift-storage:188: b'Rule deleted\n'
2020-01-09 15:50:29 DEBUG worker.uniter.jujuc server.go:182 running hook tool "juju-log"
2020-01-09 15:50:29 DEBUG juju-log swift-storage:188: revoking access: 10.48.2.160
2020-01-09 15:50:29 DEBUG worker.uniter.jujuc server.go:182 running hook tool "juju-log"
2020-01-09 15:50:29 DEBUG juju-log swift-storage:188: ufw delete: ufw delete allow from 10.48.2.160 to any port 6001 proto tcp
2020-01-09 15:50:30 DEBUG worker.uniter.jujuc server.go:182 running hook tool "juju-log"
2020-01-09 15:50:30 INFO juju-log swift-storage:188: b'Rule deleted\n'
2020-01-09 15:50:30 DEBUG worker.uniter.jujuc server.go:182 running hook tool "juju-log"
2020-01-09 15:50:30 DEBUG juju-log swift-storage:188: revoking access: 10.48.2.160
2020-01-09 15:50:30 DEBUG worker.uniter.jujuc server.go:182 running hook tool "juju-log"
2020-01-09 15:50:30 DEBUG juju-log swift-storage:188: ufw delete: ufw delete allow from 10.48.2.160 to any port 6002 proto tcp
2020-01-09 15:50:31 DEBUG worker.uniter.jujuc server.go:182 running hook tool "juju-log"
2020-01-09 15:50:31 INFO juju-log swift-storage:188: b'Rule deleted\n'
2020-01-09 15:50:31 DEBUG worker.uniter.jujuc server.go:182 running hook tool "relation-get"
2020-01-09 15:50:31 DEBUG worker.uniter.jujuc server.go:182 running hook tool "relation-get"
2020-01-09 15:50:31 DEBUG worker.uniter.jujuc server.go:182 running hook tool "unit-get"
2020-01-09 15:50:31 DEBUG worker.uniter.jujuc server.go:182 running hook tool "juju-log"
2020-01-09 15:50:31 INFO juju-log swift-storage:188: Unit is ready
2020-01-09 15:50:31 DEBUG worker.uniter.jujuc server.go:182 running hook tool "status-set"
2020-01-09 15:50:33 DEBUG worker.uniter.jujuc server.go:182 running hook tool "application-version-set"
2020-01-09 15:50:33 INFO juju.worker.uniter.operation runhook.go:138 ran "swift-storage-relation-departed" hook
2020-01-09 15:50:33 DEBUG juju.worker.uniter.operation executor.go:90 committing operation "run relation-departed (188; prometheus-openstack-exporter/11) hook"
2020-01-09 15:50:33 DEBUG juju.machinelock machinelock.go:180 machine lock released for uniter (run relation-departed (188; prometheus-openstack-exporter/11) hook)
2020-01-09 15:50:33 DEBUG juju.worker.uniter.operation executor.go:79 lock released
2020-01-09 15:50:33 DEBUG juju.worker.uniter resolver.go:147 no operations in progress; waiting for changes
2020-01-09 15:50:33 DEBUG juju.worker.uniter agent.go:20 [AGENT-STATUS] idle:

Revision history for this message
Andrew McLeod (admcleod) wrote :

It seems like a workaround is to not collocate these charms, but how reasonable is that a solution given a typical deployment? I.e. is this definitely a technical requirement or could it be a documentation change?

Changed in charm-swift-storage:
status: New → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for OpenStack swift-storage charm because there has been no activity for 60 days.]

Changed in charm-swift-storage:
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.