merge from trunk
This commit is contained in:
commit
7c6ddf5821
@ -137,7 +137,7 @@ class DataSourceAzureNet(sources.DataSource):
|
||||
|
||||
if found != ddir:
|
||||
cached_ovfenv = util.load_file(
|
||||
os.path.join(ddir, 'ovf-env.xml'), quiet=True)
|
||||
os.path.join(ddir, 'ovf-env.xml'), quiet=True, decode=False)
|
||||
if cached_ovfenv != files['ovf-env.xml']:
|
||||
# source was not walinux-agent's datadir, so we have to clean
|
||||
# up so 'wait_for_files' doesn't return early due to stale data
|
||||
@ -593,7 +593,7 @@ def load_azure_ds_dir(source_dir):
|
||||
if not os.path.isfile(ovf_file):
|
||||
raise NonAzureDataSource("No ovf-env file found")
|
||||
|
||||
with open(ovf_file, "r") as fp:
|
||||
with open(ovf_file, "rb") as fp:
|
||||
contents = fp.read()
|
||||
|
||||
md, ud, cfg = read_azure_ovf(contents)
|
||||
|
@ -287,10 +287,11 @@ def populate_dir(path, files):
|
||||
if not os.path.exists(path):
|
||||
os.makedirs(path)
|
||||
for (name, content) in files.items():
|
||||
with open(os.path.join(path, name), "w") as fp:
|
||||
fp.write(content)
|
||||
with open(os.path.join(path, name), "wb") as fp:
|
||||
fp.write(content.encode('utf-8'))
|
||||
fp.close()
|
||||
|
||||
|
||||
try:
|
||||
skipIf = unittest.skipIf
|
||||
except AttributeError:
|
||||
|
@ -360,6 +360,12 @@ class TestAzureDataSource(TestCase):
|
||||
self.assertTrue(os.path.exists(ovf_env_path))
|
||||
self.assertEqual(xml, load_file(ovf_env_path))
|
||||
|
||||
def test_ovf_can_include_unicode(self):
|
||||
xml = construct_valid_ovf_env(data={})
|
||||
xml = u'\ufeff{0}'.format(xml)
|
||||
dsrc = self._get_ds({'ovfcontent': xml})
|
||||
dsrc.get_data()
|
||||
|
||||
def test_existing_ovf_same(self):
|
||||
# waagent/SharedConfig left alone if found ovf-env.xml same as cached
|
||||
odata = {'UserData': b64e("SOMEUSERDATA")}
|
||||
|
Loading…
x
Reference in New Issue
Block a user