Merge lp:~darkmuggle-deactivatedaccount/cloud-init/cloud-sigma-vendordata into lp:~cloud-init-dev/cloud-init/trunk

Proposed by Ben Howard
Status: Merged
Merged at revision: 974
Proposed branch: lp:~darkmuggle-deactivatedaccount/cloud-init/cloud-sigma-vendordata
Merge into: lp:~cloud-init-dev/cloud-init/trunk
Diff against target: 55 lines (+29/-1)
2 files modified
cloudinit/sources/DataSourceCloudSigma.py (+2/-0)
tests/unittests/test_datasource/test_cloudsigma.py (+27/-1)
To merge this branch: bzr merge lp:~darkmuggle-deactivatedaccount/cloud-init/cloud-sigma-vendordata
Reviewer Review Type Date Requested Status
Scott Moser Pending
Review via email: mp+221119@code.launchpad.net

Description of the change

Enable vendordata for Cloud Sigma

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'cloudinit/sources/DataSourceCloudSigma.py'
--- cloudinit/sources/DataSourceCloudSigma.py 2014-03-04 17:11:10 +0000
+++ cloudinit/sources/DataSourceCloudSigma.py 2014-05-27 16:18:45 +0000
@@ -66,6 +66,8 @@
66 self.userdata_raw = server_meta.get('cloudinit-user-data', "")66 self.userdata_raw = server_meta.get('cloudinit-user-data', "")
67 if 'cloudinit-user-data' in base64_fields:67 if 'cloudinit-user-data' in base64_fields:
68 self.userdata_raw = b64decode(self.userdata_raw)68 self.userdata_raw = b64decode(self.userdata_raw)
69 if 'cloudinit' in server_context.get('vendor_data', {}):
70 self.vendordata_raw = server_context["vendor_data"]["cloudinit"]
6971
70 self.metadata = server_context72 self.metadata = server_context
71 self.ssh_public_key = server_meta['ssh_public_key']73 self.ssh_public_key = server_meta['ssh_public_key']
7274
=== modified file 'tests/unittests/test_datasource/test_cloudsigma.py'
--- tests/unittests/test_datasource/test_cloudsigma.py 2014-02-19 08:45:53 +0000
+++ tests/unittests/test_datasource/test_cloudsigma.py 2014-05-27 16:18:45 +0000
@@ -20,7 +20,11 @@
20 "smp": 1,20 "smp": 1,
21 "tags": ["much server", "very performance"],21 "tags": ["much server", "very performance"],
22 "uuid": "65b2fb23-8c03-4187-a3ba-8b7c919e8890",22 "uuid": "65b2fb23-8c03-4187-a3ba-8b7c919e8890",
23 "vnc_password": "9e84d6cb49e46379"23 "vnc_password": "9e84d6cb49e46379",
24 "vendor_data": {
25 "location": "zrh",
26 "cloudinit": "#cloud-config\n\n...",
27 }
24}28}
2529
2630
@@ -68,3 +72,25 @@
68 self.datasource.get_data()72 self.datasource.get_data()
6973
70 self.assertEqual(self.datasource.userdata_raw, b'hi world\n')74 self.assertEqual(self.datasource.userdata_raw, b'hi world\n')
75
76 def test_vendor_data(self):
77 self.assertEqual(self.datasource.vendordata_raw,
78 SERVER_CONTEXT['vendor_data']['cloudinit'])
79
80 def test_lack_of_vendor_data(self):
81 stripped_context = copy.deepcopy(SERVER_CONTEXT)
82 del stripped_context["vendor_data"]
83 self.datasource = DataSourceCloudSigma.DataSourceCloudSigma("", "", "")
84 self.datasource.cepko = CepkoMock(stripped_context)
85 self.datasource.get_data()
86
87 self.assertIsNone(self.datasource.vendordata_raw)
88
89 def test_lack_of_cloudinit_key_in_vendor_data(self):
90 stripped_context = copy.deepcopy(SERVER_CONTEXT)
91 del stripped_context["vendor_data"]["cloudinit"]
92 self.datasource = DataSourceCloudSigma.DataSourceCloudSigma("", "", "")
93 self.datasource.cepko = CepkoMock(stripped_context)
94 self.datasource.get_data()
95
96 self.assertIsNone(self.datasource.vendordata_raw)