diff --git a/novaclient/base.py b/novaclient/base.py index 120c698fc..a5dad823f 100644 --- a/novaclient/base.py +++ b/novaclient/base.py @@ -360,7 +360,7 @@ def _boot(self, resource_url, response_key, name, image, flavor, data = file_or_string personality.append({ 'path': filepath, - 'contents': data.encode('base64'), + 'contents': base64.b64encode(data.encode('utf-8')), }) if availability_zone: diff --git a/novaclient/tests/v1_1/test_shell.py b/novaclient/tests/v1_1/test_shell.py index 48b08d9b1..93f852ec8 100644 --- a/novaclient/tests/v1_1/test_shell.py +++ b/novaclient/tests/v1_1/test_shell.py @@ -16,6 +16,7 @@ # License for the specific language governing permissions and limitations # under the License. +import base64 import datetime import os import mock @@ -174,7 +175,8 @@ def test_boot_key(self): def test_boot_user_data(self): testfile = os.path.join(os.path.dirname(__file__), 'testfile.txt') - expected_file_data = open(testfile).read().encode('base64').strip() + data = open(testfile).read() + expected_file_data = base64.b64encode(data.encode('utf-8')) self.run_command( 'boot --flavor 1 --image 1 --user_data %s some-server' % testfile) self.assert_called_anytime( @@ -514,7 +516,8 @@ def test_boot_nics_no_netid_or_portid(self): def test_boot_files(self): testfile = os.path.join(os.path.dirname(__file__), 'testfile.txt') - expected_file_data = open(testfile).read().encode('base64') + data = open(testfile).read() + expected_file_data = base64.b64encode(data.encode('utf-8')) cmd = ('boot some-server --flavor 1 --image 1' ' --file /tmp/foo=%s --file /tmp/bar=%s')