1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
|
# -*- indent-tabs-mode: nil -*- # vi: set expandtab:
tosca_definitions_version: cloudify_dsl_1_3
description: >
This blueprint is used to install and to uninstall the cinder volumes for
a central postgres as a platform service.
This blueprint depends upon the deployment of Consul and the pgaas_plugin.
This blueprint is part of a suite of three blueprints that allow a PGaaS
cluster to be created that has persistent databases stored in Cinder.
pgaas-disk allocates the cinder volumes. It must be run first.
pgaas-cluster creates the PG service and attaches the cinder volumes. It must be run second.
pgaas-database creates a database. It must be run third, for each persistent database.
If the cluster is uninstalled, the persistent databases are unaffected.
If a database blueprint is uninstalled, the persistent database goes away.
If the disk blueprint is uninstalled, all persistent databases go away, along with the server instance.
imports:
- http://www.getcloudify.org/spec/cloudify/3.4/types.yaml
- http://www.getcloudify.org/spec/openstack-plugin/1.4/plugin.yaml
- http://www.getcloudify.org/spec/fabric-plugin/1.4.1/plugin.yaml
- {{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/type_files/dnsdesig/dns_types.yaml
- {{ ONAPTEMPLATE_RAWREPOURL_org_onap_ccsdk_platform_plugins_releases }}/type_files/sshkeyshare/sshkey_types.yaml
- {{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/type_files/relationship/1.0.0/node-type.yaml
- {{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/type_files/pgaas_plugin/1.0.0/pgaas_types.yaml
inputs:
# environment info
blueprint_version:
type: string
default: 'VERSION-STAMP-GOES-HERE'
flavor_id:
type: string
key_filename:
type: string
keypair:
type: string
location_domain:
type: string
location_prefix:
type: string
openstack: {}
private_net:
type: string
public_net:
type: string
security_group:
type: string
ubuntu1604image_id:
type: string
# pgaas-specific info
pgaas_cluster_name:
type: string
default: pgcl
node_templates:
key_pair:
type: cloudify.openstack.nodes.KeyPair
properties:
private_key_path: { get_input: key_filename }
use_external_resource: True
resource_id: { get_input: keypair }
openstack_config: &open_conf
get_input: openstack
sharedsshkey_pgrs:
type: dcae.nodes.ssh.keypair
private_net:
type: cloudify.openstack.nodes.Network
properties:
use_external_resource: True
resource_id: { get_input: private_net }
openstack_config: *open_conf
security_group:
type: cloudify.openstack.nodes.SecurityGroup
properties:
use_external_resource: True
resource_id: { get_input: security_group }
openstack_config: *open_conf
volume_pgrs00:
type: cloudify.openstack.nodes.Volume
properties:
resource_id: { concat: [ { get_input: location_prefix }, { get_input: pgaas_cluster_name }, '00' ] }
openstack_config: *open_conf
interfaces:
cloudify.interfaces.lifecycle:
create:
inputs:
args:
size: { get_input: cinder_volume_size }
volume_pgrs01:
type: cloudify.openstack.nodes.Volume
properties:
resource_id: { concat: [ { get_input: location_prefix }, { get_input: pgaas_cluster_name }, '01' ] }
openstack_config: *open_conf
interfaces:
cloudify.interfaces.lifecycle:
create:
inputs:
args:
size: { get_input: cinder_volume_size }
pgaas_cluster:
type: dcae.nodes.pgaas.cluster
properties:
writerfqdn: { concat: [ { get_input: location_prefix }, '-', { get_input: pgaas_cluster_name }, '-write.', { get_input: location_domain } ] }
readerfqdn: { concat: [ { get_input: location_prefix }, '-', { get_input: pgaas_cluster_name }, '.', { get_input: location_domain } ] }
relationships:
- type: dcae.relationships.pgaas_cluster_uses_sshkeypair
target: sharedsshkey_pgrs
outputs:
version:
value: { get_input: blueprint_version }
|