Skip to content

Commit 9553cbc

Browse files
committed
Update examples for volume and arm
1 parent 0e18ab1 commit 9553cbc

File tree

6 files changed

+208
-24
lines changed

6 files changed

+208
-24
lines changed

examples/scripts/copy_disk_arm.sh

Lines changed: 0 additions & 6 deletions
This file was deleted.

examples/scripts/remove_disk_arm.sh

Lines changed: 0 additions & 3 deletions
This file was deleted.

examples/templates/domain-arm.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,5 +77,5 @@
7777
<model fallback='allow'>cortex-a57</model>
7878
</cpu>
7979
<clock offset="utc"/>
80-
<name>{{ resource_id }}</name>
80+
<name>{{ name }}</name>
8181
</domain>

examples/vm_ssh.arm64.yaml

Lines changed: 68 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,17 @@ tosca_definitions_version: cloudify_dsl_1_3
22

33
imports:
44
- http://www.getcloudify.org/spec/cloudify/4.5/types.yaml
5-
- https://raw.githubusercontent.com/cloudify-incubator/cloudify-utilities-plugin/1.9.5/plugin.yaml
6-
- https://raw.githubusercontent.com/cloudify-incubator/cloudify-libvirt-plugin/0.7.0/plugin.yaml
5+
- https://raw.githubusercontent.com/cloudify-incubator/cloudify-utilities-plugin/1.12.3/plugin.yaml
6+
- https://raw.githubusercontent.com/cloudify-incubator/cloudify-libvirt-plugin/0.8.0/plugin.yaml
77

88
inputs:
99

1010
agent_password:
1111
default: passw0rd
1212

13+
agent_user:
14+
default: ubuntu
15+
1316
node_templates:
1417

1518
common_network:
@@ -49,6 +52,62 @@ node_templates:
4952
expire: False
5053
ssh_pwauth: True
5154

55+
common_pool:
56+
type: cloudify.libvirt.pool
57+
interfaces:
58+
cloudify.interfaces.lifecycle:
59+
create:
60+
inputs:
61+
params:
62+
capacity: 80
63+
64+
cloudinit_volume:
65+
type: cloudify.libvirt.volume
66+
interfaces:
67+
cloudify.interfaces.lifecycle:
68+
create:
69+
inputs:
70+
params:
71+
pool: { get_attribute: [common_pool, resource_id]}
72+
capacity: 1
73+
allocation: 1
74+
relationships:
75+
- target: common_pool
76+
type: cloudify.relationships.depends_on
77+
78+
flash_volume:
79+
type: cloudify.libvirt.volume
80+
interfaces:
81+
cloudify.interfaces.lifecycle:
82+
create:
83+
inputs:
84+
params:
85+
pool: { get_attribute: [common_pool, resource_id]}
86+
capacity: 64
87+
allocation: 64
88+
relationships:
89+
- target: common_pool
90+
type: cloudify.relationships.depends_on
91+
92+
cloud_init_image:
93+
type: cloudify.libvirt.ISO9660
94+
interfaces:
95+
cloudify.interfaces.lifecycle:
96+
create:
97+
inputs:
98+
params:
99+
pool: { get_attribute: [common_pool, resource_id]}
100+
volume: { get_attribute: [cloudinit_volume, resource_id]}
101+
files:
102+
meta-data: >
103+
instance-id: localhost
104+
user-data: { get_attribute: [cloud_init, cloud_config ] }
105+
relationships:
106+
- target: cloud_init
107+
type: cloudify.relationships.depends_on
108+
- target: cloudinit_volume
109+
type: cloudify.relationships.depends_on
110+
52111
disk_clone:
53112
type: cloudify.nodes.ApplicationServer
54113
interfaces:
@@ -62,12 +121,6 @@ node_templates:
62121
configure:
63122
implementation: scripts/copy_disk.py
64123
executor: central_deployment_agent
65-
start:
66-
implementation: scripts/copy_disk_arm.sh
67-
executor: central_deployment_agent
68-
stop:
69-
implementation: scripts/remove_disk_arm.sh
70-
executor: central_deployment_agent
71124
delete:
72125
implementation: scripts/remove_disk.sh
73126
executor: central_deployment_agent
@@ -88,16 +141,16 @@ node_templates:
88141
inputs:
89142
params:
90143
memory_size: 524288
91-
nvram: { get_attribute: [disk_clone, bios_flash] }
144+
nvram: { get_attribute: [flash_volume, params, path] }
92145
disks:
93146
- bus: scsi
94147
dev: sda
95148
file: { get_attribute: [disk_clone, vm_image] }
96149
type: qcow2
97150
- bus: scsi
98151
dev: sdb
99-
file: { get_attribute: [disk_clone, vm_cloudinit] }
100-
type: qcow2
152+
file: { get_attribute: [cloudinit_volume, params, path] }
153+
type: raw
101154
networks:
102155
- network: { get_attribute: [common_network, resource_id] }
103156
dev: macvtap0
@@ -110,6 +163,10 @@ node_templates:
110163
type: cloudify.libvirt.relationships.connected_to
111164
- target: disk_clone
112165
type: cloudify.relationships.contained_in
166+
- target: cloud_init_image
167+
type: cloudify.relationships.depends_on
168+
- target: flash_volume
169+
type: cloudify.relationships.depends_on
113170

114171
example_node:
115172
type: cloudify.nodes.WebServer

plugin.yaml

Lines changed: 136 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ plugins:
22
libvirt:
33
executor: central_deployment_agent
44
package_name: cloudify-libvirt-plugin
5-
package_version: '0.7.0'
6-
source: https://github.com/cloudify-incubator/cloudify-libvirt-plugin/archive/0.7.0.zip
5+
package_version: '0.8.0'
6+
source: https://github.com/cloudify-incubator/cloudify-libvirt-plugin/archive/0.8.0.zip
77

88
data_types:
99

@@ -25,6 +25,58 @@ data_types:
2525
description: >
2626
Storage size in GiB
2727
28+
volume_params:
29+
properties:
30+
name:
31+
required: false
32+
default: ""
33+
description: >
34+
Volume name
35+
path:
36+
required: false
37+
default: ""
38+
description: >
39+
Volume path
40+
pool:
41+
required: false
42+
type: string
43+
description: >
44+
Parent pool
45+
capacity:
46+
required: false
47+
type: integer
48+
description: >
49+
Volume size in GiB
50+
allocation:
51+
required: false
52+
default: 0
53+
type: integer
54+
description: >
55+
Volume allocation size in MiB
56+
zero_wipe:
57+
required: false
58+
default: false
59+
type: boolean
60+
description: >
61+
Volume allocation zero wipe
62+
63+
iso9660_params:
64+
properties:
65+
volume:
66+
required: false
67+
default: ""
68+
description: >
69+
Volume name
70+
pool:
71+
required: false
72+
type: string
73+
description: >
74+
Parent pool
75+
files:
76+
required: false
77+
description: >
78+
File list with content. (Key:value)
79+
2880
network_params:
2981
properties:
3082
name:
@@ -275,6 +327,88 @@ node_types:
275327
implementation: libvirt.cloudify_libvirt.pool_tasks.snapshot_delete
276328
inputs: {}
277329

330+
cloudify.libvirt.volume:
331+
derived_from: cloudify.nodes.Tier
332+
properties:
333+
use_external_resource:
334+
required: false
335+
default: false
336+
description: >
337+
Use external object. The default is `false`.
338+
resource_id:
339+
required: false
340+
default: ""
341+
description: >
342+
Used to identify the object when `use_external_resource` is true.
343+
backup_dir:
344+
default: './'
345+
libvirt_auth:
346+
default: 'qemu:///system'
347+
params:
348+
type: volume_params
349+
interfaces:
350+
cloudify.interfaces.lifecycle:
351+
create:
352+
implementation: libvirt.cloudify_libvirt.volume_tasks.create
353+
inputs:
354+
params:
355+
default: {}
356+
template_resource:
357+
default: ''
358+
template_content:
359+
default: ''
360+
start:
361+
implementation: libvirt.cloudify_libvirt.volume_tasks.start
362+
inputs: {}
363+
stop:
364+
implementation: libvirt.cloudify_libvirt.volume_tasks.stop
365+
inputs: {}
366+
delete:
367+
implementation: libvirt.cloudify_libvirt.volume_tasks.delete
368+
inputs: {}
369+
# backups related section
370+
cloudify.interfaces.snapshot:
371+
create:
372+
implementation: libvirt.cloudify_libvirt.volume_tasks.snapshot_create
373+
inputs: {}
374+
apply:
375+
implementation: libvirt.cloudify_libvirt.volume_tasks.snapshot_apply
376+
inputs: {}
377+
delete:
378+
implementation: libvirt.cloudify_libvirt.volume_tasks.snapshot_delete
379+
inputs: {}
380+
381+
cloudify.libvirt.ISO9660:
382+
derived_from: cloudify.nodes.Tier
383+
properties:
384+
use_external_resource:
385+
required: false
386+
default: false
387+
description: >
388+
Use external object. The default is `false`.
389+
resource_id:
390+
required: false
391+
default: ""
392+
description: >
393+
Used to identify the object when `use_external_resource` is true.
394+
backup_dir:
395+
default: './'
396+
libvirt_auth:
397+
default: 'qemu:///system'
398+
params:
399+
type: iso9660_params
400+
interfaces:
401+
cloudify.interfaces.lifecycle:
402+
create:
403+
implementation: libvirt.cloudify_libvirt.iso9660_tasks.create
404+
inputs:
405+
params:
406+
default: {}
407+
template_resource:
408+
default: ''
409+
template_content:
410+
default: ''
411+
278412
relationships:
279413

280414
cloudify.libvirt.relationships.connected_to:

setup.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
setup(
1717
name='cloudify-libvirt-plugin',
18-
version='0.7.0',
18+
version='0.8.0',
1919
description='support libvirt',
2020
author='Cloudify',
2121
author_email='[email protected]',
@@ -27,11 +27,13 @@
2727
'templates/network.xml',
2828
'templates/snapshot.xml',
2929
'templates/pool.xml',
30+
'templates/volume.xml',
3031
]
3132
},
3233
install_requires=[
3334
'cloudify-plugins-common>=3.3',
3435
'libvirt-python',
36+
'pycdlib',
3537
"Jinja2>=2.7.2", # for template support
3638
],
3739
)

0 commit comments

Comments
 (0)