Skip to content

Commit 2b3ad79

Browse files
author
EarthmanT
committed
add deploy false and delete vm improvements
1 parent 051cc29 commit 2b3ad79

File tree

4 files changed

+90
-31
lines changed

4 files changed

+90
-31
lines changed

cloudify_vcd/legacy/compute/tasks.py

Lines changed: 40 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
from cloudify.exceptions import OperationRetry
1818

19-
from vcd_plugin_sdk.resources.vapp import VCloudVM
19+
from vcd_plugin_sdk.resources.vapp import VCloudVM, VCloudvApp
2020
from cloudify_common_sdk.utils import (
2121
get_ctx_instance,
2222
skip_creative_or_destructive_operation as skip)
@@ -72,6 +72,45 @@ def configure_server(vm_client, ctx, **_):
7272
# legacy=True)
7373

7474

75+
@decorators.with_vcd_client()
76+
@decorators.with_vm_resource()
77+
def power_off_vapp(vm_client, ctx, **_):
78+
return vapp_tasks._power_off_vapp(
79+
vapp_ext=False,
80+
vapp_id=vm_client.name,
81+
vapp_client=vm_client.vapp_object.connection,
82+
vm_vdc=vm_client.vdc_name,
83+
vapp_config=vm_client.kwargs,
84+
vapp_class=VCloudvApp,
85+
__=ctx)
86+
87+
88+
@decorators.with_vcd_client()
89+
@decorators.with_vm_resource()
90+
def stop_vapp(vm_client, ctx, **_):
91+
return vapp_tasks._stop_vapp(
92+
vapp_ext=False,
93+
vapp_id=vm_client.name,
94+
vapp_client=vm_client.vapp_object.connection,
95+
vm_vdc=vm_client.vdc_name,
96+
vapp_config=vm_client.kwargs,
97+
vapp_class=VCloudvApp,
98+
__=ctx)
99+
100+
101+
@decorators.with_vcd_client()
102+
@decorators.with_vm_resource()
103+
def delete_vapp(vm_client, ctx, **_):
104+
return vapp_tasks._delete_vapp(
105+
vapp_ext=False,
106+
vapp_id=vm_client.name,
107+
vapp_client=vm_client.vapp_object.connection,
108+
vm_vdc=vm_client.vdc_name,
109+
vapp_config=vm_client.kwargs,
110+
vapp_class=VCloudvApp,
111+
__=ctx)
112+
113+
75114
@decorators.with_vcd_client()
76115
@decorators.with_vm_resource()
77116
def start_server(vm_client, ctx, **_):

cloudify_vcd/legacy/utils.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -400,6 +400,8 @@ def convert_vm_config(config):
400400
del config['name']
401401
if 'power_on' not in config:
402402
config['power_on'] = False
403+
if 'deploy' not in config:
404+
config['deploy'] = False
403405
if 'hardware' in config:
404406
if 'memory' in config['hardware']:
405407
config['memory'] = config['hardware']['memory']

cloudify_vcd/vapp_tasks.py

Lines changed: 36 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -77,14 +77,18 @@ def _create_vapp(_=None,
7777

7878

7979
@resource_operation
80-
def stop_vapp(vapp_ext=None,
81-
vapp_id=None,
82-
vapp_client=None,
83-
vapp_vdc=None,
84-
vapp_config=None,
85-
vapp_class=None,
86-
__=None,
87-
**___):
80+
def stop_vapp(*args, **kwargs):
81+
return _stop_vapp(*args, *kwargs)
82+
83+
84+
def _stop_vapp(vapp_ext=None,
85+
vapp_id=None,
86+
vapp_client=None,
87+
vapp_vdc=None,
88+
vapp_config=None,
89+
vapp_class=None,
90+
__=None,
91+
**___):
8892
"""
8993
Perform undeploy operation on a vApp.
9094
@@ -111,14 +115,18 @@ def stop_vapp(vapp_ext=None,
111115

112116

113117
@resource_operation
114-
def power_off_vapp(vapp_ext=None,
115-
vapp_id=None,
116-
vapp_client=None,
117-
vapp_vdc=None,
118-
vapp_config=None,
119-
vapp_class=None,
120-
__=None,
121-
**___):
118+
def power_off_vapp(*args, **kwargs):
119+
return _power_off_vapp(*args, **kwargs)
120+
121+
122+
def _power_off_vapp(vapp_ext=None,
123+
vapp_id=None,
124+
vapp_client=None,
125+
vapp_vdc=None,
126+
vapp_config=None,
127+
vapp_class=None,
128+
__=None,
129+
**___):
122130
"""
123131
Execute power off on the vApp before deletion.
124132
:param vapp_ext:
@@ -151,14 +159,18 @@ def power_off_vapp(vapp_ext=None,
151159

152160

153161
@resource_operation
154-
def delete_vapp(vapp_ext=None,
155-
vapp_id=None,
156-
vapp_client=None,
157-
vapp_vdc=None,
158-
vapp_config=None,
159-
vapp_class=None,
160-
__=None,
161-
**___):
162+
def delete_vapp(*args, **kwargs):
163+
return _delete_vapp(*args, **kwargs)
164+
165+
166+
def _delete_vapp(vapp_ext=None,
167+
vapp_id=None,
168+
vapp_client=None,
169+
vapp_vdc=None,
170+
vapp_config=None,
171+
vapp_class=None,
172+
__=None,
173+
**___):
162174
"""
163175
Delete a vApp.
164176

vcloud_server_plugin/server.py

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,17 @@
1414

1515
from cloudify.decorators import operation
1616
from cloudify_vcd.legacy.compute.tasks import (
17-
create_server,
1817
# configure_server,
18+
postconfigure_nic,
19+
preconfigure_nic,
20+
power_off_vapp,
21+
delete_server,
22+
create_server,
1923
start_server,
2024
stop_server,
21-
delete_server,
22-
preconfigure_nic,
23-
postconfigure_nic,
24-
unlink_nic
25+
delete_vapp,
26+
unlink_nic,
27+
stop_vapp,
2528
)
2629

2730

@@ -64,12 +67,15 @@ def start(*args, **kwargs):
6467
@operation(resumable=True)
6568
def stop(*args, **kwargs):
6669
stop_server(*args, **kwargs)
70+
unlink_nic(*args, **kwargs)
71+
stop_vapp(*args, **kwargs)
72+
power_off_vapp(*args, **kwargs)
6773

6874

6975
@operation(resumable=True)
7076
def delete(*args, **kwargs):
71-
unlink_nic(*args, **kwargs)
7277
delete_server(*args, **kwargs)
78+
delete_vapp(*args, **kwargs)
7379

7480

7581
@operation(resumable=True)

0 commit comments

Comments
 (0)