Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
The openstack.py driver in libcloud assumes that all OpenStack installations have only three network labels, "public", "internet" and "private".
However, the label is actually an arbitrary string according to the OpenStack specs, and the cloud I happen to be using has assigned a different string to their network. As further reference, I looked at the python-novaclient code and it assumes the network label to be any arbitrary string as well.
I have fixed the issue for my personal use with a dirty hack that assigns any non-"public" network to the "private" group. However, the false assumption that there are pre-defined public and private networks in OpenStack still lives on.
I hope someone with better familiarity with the OpenStack driver and its relation to the rest of libcloud can fix this by removing the notion of predefined public and private networks, in line with OpenStack specifications.
I will attach a patch for my quick-fix (same as https://github.com/apache/libcloud/pull/95), but I suggest that this be fixed more thoroughly.