<div dir="auto"><div>You are absolutely right, it's all matter of what you pass as an image. I guess you have a problem due to mixing of different sdk layers of objects (use connection.get_image and pass it in connection.image.xxx). This is not designed to work this way and may really show weird behavior.</div><div dir="auto">You are advised to use directly conn.image.xxx methods. The so called cloud layer (conn.get_xxx or self._connection) is designed to be a level above the "proxy" and designed to give a higher level access. Those are generally either to wrap multiple different operations in a single function or normalize cloud differences. And it might return not completely compatible objects (both are interpretation of the image, but not exchangeable). If you want to use it this way you should pass <a href="http://image.id">image.id</a> (image['id']) into other functions.</div><div dir="auto">I know this is a bit weird, but there are reasons for that.</div><div dir="auto"><br></div><div dir="auto">Artem</div><div dir="auto"><br><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">On Wed, 18 Nov 2020, 21:08 Roman Budnyk, <<a href="mailto:r.m.budnik@gmail.com">r.m.budnik@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hello Artem,<div><br></div><div>Thanks for the reply.</div><div>Actually, I am doing nothing special. Calling the method from the client instance and passing there image name (or id):</div><div><div><br></div></div><div>after analyzing sdk code I came to the understanding that the update_image_properties method should work as with string representation of name (id) of the image or with the instance of the image class (not sure of it's name, but it does not matter here, can be received from the get_image() method.</div><div><br></div><div>Please let me know if I can give you any additional information on this.</div><div>Appreciate your help.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">ср, 18 лист. 2020 о 21:06 Artem Goncharov <<a href="mailto:artem.goncharov@gmail.com" target="_blank" rel="noreferrer">artem.goncharov@gmail.com</a>> пише:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div>Hi Roman,<div dir="auto"><br></div><div dir="auto">Can you please include some code you use to invoke the mentioned function?</div><div dir="auto"><br></div><div dir="auto">I assume you might be calling it in the context that we were not expecting.</div><div dir="auto"><br></div><div dir="auto">Thanks,</div><div dir="auto">Artem<br><br><div dir="auto">----<br>typed from mobile, auto-correct typos assumed<br>----</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, 18 Nov 2020, 19:55 Roman Budnyk, <<a href="mailto:r.m.budnik@gmail.com" target="_blank" rel="noreferrer">r.m.budnik@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Hello dear developers,<br></div><div dir="ltr"><div><br></div><div>I was trying to update image data by calling method <b>update_image_properties. </b>Each time I was facing the error: TypeError: existing() argument after ** must be a mapping, not str</div><div><br></div><div>I did small research in the source code and found a strange solution. </div><div>Could you please check this place in the code:</div><div>class BaseImageProxy, method update_image_properties (path /openstack/_base_proxy.py):</div><div><br></div><div><div><br></div></div><div>When I changed it to the below - everything works (with name, id or image instance):</div><div><div><br></div></div><div>could you please check on your end, why the construction <b>if image is None </b>is using and how can we execute the code <b>self._connection.get_image(image) </b>if None is passing as the argument.</div><div><br></div><div>Many thanks!</div><div>Regards,</div><div>Roman</div></div>
</div></div>
</blockquote></div></div></div>
</blockquote></div>
</blockquote></div></div></div>