vultr: fix py3 compat (#37171) (#37195)

* vr_server: fix base64 encoding with py3

* vultr: fix AttributeError with py3

(cherry picked from commit 4b6b2d4206)
pull/37115/head
René Moser 7 years ago committed by GitHub
parent 4477ce809f
commit 51bf373fd1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -139,10 +139,16 @@ class Vultr:
for k, v in data.items():
if isinstance(v, list):
for s in v:
try:
data_list += '&%s[]=%s' % (k, urllib.quote(s))
except AttributeError:
data_list += '&%s[]=%s' % (k, urllib.parse.quote(s))
elif v is not None:
data_encoded[k] = v
try:
data = urllib.urlencode(data_encoded) + data_list
except AttributeError:
data = urllib.parse.urlencode(data_encoded) + data_list
for s in range(0, self.api_config['api_retries']):
response, info = fetch_url(

@ -320,6 +320,7 @@ vultr_server:
import time
import base64
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils._text import to_text, to_bytes
from ansible.module_utils.vultr import (
Vultr,
vultr_argument_spec,
@ -415,7 +416,7 @@ class AnsibleVultrServer(Vultr):
def get_user_data(self):
user_data = self.module.params.get('user_data')
if user_data is not None:
user_data = base64.b64encode(str(user_data))
user_data = to_text(base64.b64encode(to_bytes(user_data)))
return user_data
def get_server_user_data(self, server):

Loading…
Cancel
Save