Skip to content

Commit 3bbc064

Browse files
Pass template to fetch_template and fetch_and_verify (#143)
* Pass template to fetch_template and fetch_and_verify * Fix indentation --------- Co-authored-by: Jeffrey van Pelt <[email protected]>
1 parent ae66fbf commit 3bbc064

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

plugins/modules/proxmox_template.py

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -225,12 +225,12 @@ def upload_template(self, node, storage, content_type, realpath, timeout):
225225
except Exception as e:
226226
self.module.fail_json(msg="Uploading template %s failed with error: %s" % (realpath, e))
227227

228-
def fetch_template(self, node, storage, content_type, url, timeout):
228+
def fetch_template(self, node, storage, content_type, url, timeout, template):
229229
"""Fetch a template from a web url source using the proxmox download-url endpoint
230230
"""
231231
try:
232232
taskid = self.proxmox_api.nodes(node).storage(storage)("download-url").post(
233-
url=url, content=content_type, filename=os.path.basename(url)
233+
url=url, content=content_type, filename=template
234234
)
235235
return self.task_status(node, taskid, timeout)
236236
except Exception as e:
@@ -256,13 +256,13 @@ def delete_template(self, node, storage, content_type, template, timeout):
256256
time.sleep(1)
257257
return False
258258

259-
def fetch_and_verify(self, node, storage, url, content_type, timeout, checksum, checksum_algorithm):
259+
def fetch_and_verify(self, node, storage, url, content_type, timeout, checksum, checksum_algorithm, template):
260260
""" Fetch a template from a web url, then verify it using a checksum.
261261
"""
262262
data = {
263263
'url': url,
264264
'content': content_type,
265-
'filename': os.path.basename(url),
265+
'filename': template,
266266
'checksum': checksum,
267267
'checksum-algorithm': checksum_algorithm}
268268
try:
@@ -310,11 +310,10 @@ def main():
310310
content_type = module.params['content_type']
311311
src = module.params['src']
312312
url = module.params['url']
313+
template = module.params['template']
313314

314315
# download appliance template
315316
if content_type == 'vztmpl' and not (src or url):
316-
template = module.params['template']
317-
318317
if not template:
319318
module.fail_json(msg='template param for downloading appliance template is mandatory')
320319

@@ -336,17 +335,19 @@ def main():
336335
if proxmox.upload_template(node, storage, content_type, src, timeout):
337336
module.exit_json(changed=True, msg='template with volid=%s:%s/%s uploaded' % (storage, content_type, template))
338337
elif not src:
339-
template = os.path.basename(urlparse(url).path)
338+
if not template:
339+
template = os.path.basename(urlparse(url).path)
340+
340341
if proxmox.has_template(node, storage, content_type, template):
341342
if not module.params['force']:
342343
module.exit_json(changed=False, msg='template with volid=%s:%s/%s already exists' % (storage, content_type, template))
343344
elif not proxmox.delete_template(node, storage, content_type, template, timeout):
344345
module.fail_json(changed=False, msg='failed to delete template with volid=%s:%s/%s' % (storage, content_type, template))
345346

346347
if checksum:
347-
if proxmox.fetch_and_verify(node, storage, url, content_type, timeout, checksum, checksum_algorithm):
348+
if proxmox.fetch_and_verify(node, storage, url, content_type, timeout, checksum, checksum_algorithm, template):
348349
module.exit_json(changed=True, msg="Checksum verified, template with volid=%s:%s/%s uploaded" % (storage, content_type, template))
349-
if proxmox.fetch_template(node, storage, content_type, url, timeout):
350+
if proxmox.fetch_template(node, storage, content_type, url, timeout, template):
350351
module.exit_json(changed=True, msg='template with volid=%s:%s/%s uploaded' % (storage, content_type, template))
351352

352353
elif state == 'absent':

0 commit comments

Comments
 (0)