Adds user_data support for MaaS metadata service
Changes also the metadata version in use from "latest" to "2012-03-01"
This commit is contained in:
parent
a9bc0cd7f0
commit
bab5f7dbee
@ -43,12 +43,12 @@ LOG = logging.getLogger(__name__)
|
|||||||
|
|
||||||
|
|
||||||
class MaaSHttpService(base.BaseMetadataService):
|
class MaaSHttpService(base.BaseMetadataService):
|
||||||
_METADATA_LATEST = 'latest'
|
_METADATA_2012_03_01 = '2012-03-01'
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
super(MaaSHttpService, self).__init__()
|
super(MaaSHttpService, self).__init__()
|
||||||
self._enable_retry = True
|
self._enable_retry = True
|
||||||
self._metadata_version = self._METADATA_LATEST
|
self._metadata_version = self._METADATA_2012_03_01
|
||||||
|
|
||||||
def load(self):
|
def load(self):
|
||||||
super(MaaSHttpService, self).load()
|
super(MaaSHttpService, self).load()
|
||||||
@ -57,7 +57,7 @@ class MaaSHttpService(base.BaseMetadataService):
|
|||||||
LOG.debug('MaaS metadata url not set')
|
LOG.debug('MaaS metadata url not set')
|
||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
self._get_data('latest/meta-data/')
|
self._get_data('%s/meta-data/' % self._metadata_version)
|
||||||
return True
|
return True
|
||||||
except Exception, ex:
|
except Exception, ex:
|
||||||
LOG.exception(ex)
|
LOG.exception(ex)
|
||||||
@ -122,3 +122,6 @@ class MaaSHttpService(base.BaseMetadataService):
|
|||||||
return self._get_list_from_text(
|
return self._get_list_from_text(
|
||||||
self._get_cache_data('%s/meta-data/x509' % self._metadata_version),
|
self._get_cache_data('%s/meta-data/x509' % self._metadata_version),
|
||||||
"%s\n" % x509constants.PEM_FOOTER)
|
"%s\n" % x509constants.PEM_FOOTER)
|
||||||
|
|
||||||
|
def get_user_data(self):
|
||||||
|
return self._get_cache_data('%s/user-data' % self._metadata_version)
|
||||||
|
@ -40,7 +40,8 @@ class MaaSHttpServiceTest(unittest.TestCase):
|
|||||||
CONF.set_override('maas_metadata_url', ip)
|
CONF.set_override('maas_metadata_url', ip)
|
||||||
response = self._maasservice.load()
|
response = self._maasservice.load()
|
||||||
if ip is not None:
|
if ip is not None:
|
||||||
mock_get_data.assert_called_once_with('latest/meta-data/')
|
mock_get_data.assert_called_once_with(
|
||||||
|
'%s/meta-data/' % self._maasservice._metadata_version)
|
||||||
self.assertTrue(response)
|
self.assertTrue(response)
|
||||||
else:
|
else:
|
||||||
self.assertFalse(response)
|
self.assertFalse(response)
|
||||||
@ -170,3 +171,12 @@ class MaaSHttpServiceTest(unittest.TestCase):
|
|||||||
mock_get_list_from_text.assert_called_once_with(
|
mock_get_list_from_text.assert_called_once_with(
|
||||||
mock_get_cache_data(), "%s\n" % x509constants.PEM_FOOTER)
|
mock_get_cache_data(), "%s\n" % x509constants.PEM_FOOTER)
|
||||||
self.assertEqual(response, mock_get_list_from_text())
|
self.assertEqual(response, mock_get_list_from_text())
|
||||||
|
|
||||||
|
@mock.patch("cloudbaseinit.metadata.services.maasservice.MaaSHttpService"
|
||||||
|
"._get_cache_data")
|
||||||
|
def test_get_user_data(self, mock_get_cache_data):
|
||||||
|
response = self._maasservice.get_user_data()
|
||||||
|
mock_get_cache_data.assert_called_once_with(
|
||||||
|
'%s/user-data' %
|
||||||
|
self._maasservice._metadata_version)
|
||||||
|
self.assertEqual(response, mock_get_cache_data())
|
||||||
|
Loading…
x
Reference in New Issue
Block a user