vultr: fix py3 compat (#37171)

* vr_server: fix base64 encoding with py3

* vultr: fix AttributeError with py3
This commit is contained in:
René Moser 2018-03-08 16:46:06 +01:00 committed by GitHub
parent 155adb1631
commit 4b6b2d4206
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 3 deletions

View file

@ -139,10 +139,16 @@ class Vultr:
for k, v in data.items():
if isinstance(v, list):
for s in v:
data_list += '&%s[]=%s' % (k, urllib.quote(s))
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
data = urllib.urlencode(data_encoded) + data_list
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(

View file

@ -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):