I was more asking if you needed to add an else: clause, and/or whether the behavior of not assigning a value to self.ssh_keys_etag if the metadata server acts up will have the desired effect.

Only trying to raise the issue here; no change needed if you're sure the current code will act as you intend when the "if" condition returns false.