1
2
3
4
5
6
7
8
9
10
11
12
13 from spacewalk.common.rhnLog import log_debug
14 from spacewalk.server import rhnSQL
15 from spacewalk.server.rhnLib import InvalidAction
16
17
18 __rhnexport__ = ['deploy']
19
20
21
22
23
24
25
26 -def deploy(serverId, actionId, dry_run=0):
27 log_debug(3)
28 statement = """
29 select aid.mem_kb, aid.vcpus, aid.bridge_device,aid.download_url,
30 aid.proxy_server, aid.proxy_user, aid.proxy_pass
31 from rhnActionImageDeploy aid
32 where aid.action_id = :action_id"""
33 h = rhnSQL.prepare(statement)
34 h.execute(action_id=actionId)
35 row = h.fetchone_dict()
36 if not row:
37
38 raise InvalidAction("image.deploy: No image found for action id "
39 "%s and server %s" % (actionId, serverId))
40
41 for key in ['download_url', 'proxy_server', 'proxy_user', 'proxy_pass', 'bridge_device']:
42 if row[key] is None:
43 row[key] = ""
44
45 params = {
46 "downloadURL": row['download_url'],
47 "proxySettings": {"proxyURL": row['proxy_server'], "proxyUser": row['proxy_user'], "proxyPass": row['proxy_pass']},
48 "memKB": row['mem_kb'],
49 "vCPUs": row['vcpus'],
50 "domainName": "",
51 "virtBridge": row['bridge_device']}
52 return (params)
53