-> return func(self, req, *args, **kwargs) /opt/stack/glance/glance/api/v1/images.py(686)update() -> purge_props) /opt/stack/glance/glance/registry/client/v1/api.py(194)update_image_metadata() -> return c.update_image(image_id, image_meta, purge_props) > /opt/stack/glance/glance/registry/client/v1/client.py(158)update_image() -> encrypted_metadata = self.encrypt_metadata(image_metadata['image'])
/opt/stack/glance/glance/api/v1/images.py(690)update() -> image_data) /opt/stack/glance/glance/api/v1/images.py(535)_handle_source() -> image_meta = self._activate(req, image_id, location) /opt/stack/glance/glance/api/v1/images.py(474)_activate() -> image_meta) /opt/stack/glance/glance/registry/client/v1/api.py(194)update_image_metadata() -> return c.update_image(image_id, image_meta, purge_props) > /opt/stack/glance/glance/registry/client/v1/client.py(158)update_image() -> encrypted_metadata = self.encrypt_metadata(image_metadata['image'])
the registry is called twice: one is pure update, and then activate()
-> return func(self, req, *args, **kwargs) stack/glance/ glance/ api/v1/ images. py(686) update( ) stack/glance/ glance/ registry/ client/ v1/api. py(194) update_ image_metadata( ) image(image_ id, image_meta, purge_props) glance/ glance/ registry/ client/ v1/client. py(158) update_ image() metadata( image_metadata[ 'image' ])
/opt/
-> purge_props)
/opt/
-> return c.update_
> /opt/stack/
-> encrypted_metadata = self.encrypt_
/opt/ stack/glance/ glance/ api/v1/ images. py(690) update( ) stack/glance/ glance/ api/v1/ images. py(535) _handle_ source( ) stack/glance/ glance/ api/v1/ images. py(474) _activate( ) stack/glance/ glance/ registry/ client/ v1/api. py(194) update_ image_metadata( ) image(image_ id, image_meta, purge_props) glance/ glance/ registry/ client/ v1/client. py(158) update_ image() metadata( image_metadata[ 'image' ])
-> image_data)
/opt/
-> image_meta = self._activate(req, image_id, location)
/opt/
-> image_meta)
/opt/
-> return c.update_
> /opt/stack/
-> encrypted_metadata = self.encrypt_
the registry is called twice:
one is pure update, and then activate()