Commit d3984193 authored by Xavier Thompson's avatar Xavier Thompson

slapproxy: Prefix forwarded requests with id

When slapproxy forwards a request to an external master it is seen as
coming from the slapproxy and the original requester's id is lost.

This means forwarded requests from different requesters can collide.

e.g. two partitions request a frontend and when the second request is
handled the external master updates the first frontend to redirect to
the second partition instead of creating a second frontend.

To avoid collisions, the id of the requester as seen in the slapproxy
is prefixed to the instance name (partition reference) in the request:

- case 1: requester is embedded partition => prefix with partition id
    e.g. 'myinstance' -> 'slappart0_myinstance'

- case 2: requester is user => prefix with 'user'
    e.g. 'myinstance' -> 'user_myinstance'

See merge request nexedi/slapos.core!282
parent c25b0c63
Pipeline #13765 passed with stage
in 0 seconds