Add CBS and broker 19/13919/1
authorTommy Carpenter <tommy@research.att.com>
Wed, 20 Sep 2017 14:52:29 +0000 (10:52 -0400)
committerTommy Carpenter <tommy@research.att.com>
Wed, 20 Sep 2017 14:52:36 +0000 (10:52 -0400)
Issue-ID: DCAEGEN2-117
Change-Id: Ief36e80a17f2c15efc4444d803f0daa2f984abf4
Signed-off-by: Tommy Carpenter <tommy@research.att.com>
blueprints/cdap_broker.yaml [new file with mode: 0644]
blueprints/config_binding_service.yaml [new file with mode: 0644]

diff --git a/blueprints/cdap_broker.yaml b/blueprints/cdap_broker.yaml
new file mode 100644 (file)
index 0000000..8d68f62
--- /dev/null
@@ -0,0 +1,81 @@
+tosca_definitions_version: cloudify_dsl_1_3
+
+description: >
+    This blueprint is for managing the CDAP infrastructure
+
+imports:
+  - http://www.getcloudify.org/spec/cloudify/3.4/types.yaml
+  - {{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/type_files/cdap/14.2.4/cdap_types.yaml
+  - {{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/type_files/docker/2.3.0/node-type.yaml
+  - {{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/type_files/relationship/1.0.0/node-type.yaml
+
+inputs:
+    location_id:
+        default: "rework-central"
+    cdap_cluster_name:
+        type: string
+        default: "cdap"
+    broker_image: 
+        type: string
+        description: full url to cdap broker image
+
+node_templates: 
+    
+    broker_deleter:
+         #does nothing on install, but deletes all registered apps when broker is uninstalled
+         #uninstalling the broker without doing this leaves them in purgatory forever, unless CDAP was also uninstalled, but that may or may not be true or in the same blueprint. 
+         type: dcae.nodes.broker_deleter
+         properties:
+             location_id: { get_input: location_id }
+         interfaces:
+             cloudify.interfaces.lifecycle:
+                 delete:
+                     inputs:
+                         connected_broker_dns_name: { get_property: [cdap_broker, name] }
+         relationships:
+             - type: cloudify.relationships.depends_on
+               target: cdap_broker
+
+    cdap_broker:
+        type: dcae.nodes.DockerContainerForPlatforms
+        properties:
+            name: 'cdap_broker'
+            application_config: 
+                bindingttw: 5
+                hcinterval: 60s
+                autoderegisterafter: 10m
+                pipelinehealthlimit: 2
+            host_port:      7777
+            container_port: 7777
+            docker_config:
+                healthcheck:
+                    type: "http"
+                    #broker has a semi healthcheck endpoint at root right now, TODO would be to add a real /healtcheck endpoint
+                    endpoint: "/"
+                    interval: "120s"
+                    timeout: "60s"
+            image: { get_input : broker_image }
+        interfaces:
+          cloudify.interfaces.lifecycle:
+            start:
+              inputs:
+                envs:
+                  CDAP_CLUSTER_TO_MANAGE: { get_input: cdap_cluster_name }
+                volumes:
+                  - host:
+                      path: '/tmp/log/cdapbroker/'
+                    container:
+                      bind: '/tmp/log/cdapbroker/' #Broker EELF log directory
+                      mode: 'rw'
+        relationships:
+          - type: dcae.relationships.component_contained_in
+            target: docker_host
+                
+    docker_host:
+        type: dcae.nodes.SelectedDockerHost
+        properties:
+            location_id:
+                { get_input: location_id }
+            docker_host_override:
+                'platform_dockerhost'
+                #WARNING: ASSUMES THIS EXISTS AND IS ALREADY REGISTERED
diff --git a/blueprints/config_binding_service.yaml b/blueprints/config_binding_service.yaml
new file mode 100644 (file)
index 0000000..fb2198f
--- /dev/null
@@ -0,0 +1,48 @@
+tosca_definitions_version: cloudify_dsl_1_3
+
+description: >
+  This blueprint installs the config binding service
+
+imports:
+  - http://www.getcloudify.org/spec/cloudify/3.4/types.yaml
+  - {{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/type_files/docker/2.3.0/node-type.yaml
+  - {{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/type_files/relationship/1.0.0/node-type.yaml
+
+inputs:
+
+  location_id:
+    description: Location of where to deploy to
+
+  docker_host_override:
+    description: Target docker host to deploy applications to
+    # This default comes from the DockerBP.yaml
+    default: 'platform_dockerhost'
+  
+  cbs_image: 
+    description: full url of the CBS image
+
+node_templates:
+  # Config binding service
+  service-config-binding:
+    type: dcae.nodes.DockerContainerForPlatforms
+    properties:
+        name: 'config_binding_service'
+        host_port: 10000
+        container_port: 10000
+        image: { get_input : cbs_image }
+        docker_config:
+            healthcheck:
+                type: "http"
+                endpoint: "/healthcheck"
+
+    relationships:
+      - type: dcae.relationships.component_contained_in
+        target: docker_host
+
+  docker_host:
+    type: dcae.nodes.SelectedDockerHost
+    properties:
+        location_id:
+            { get_input: location_id }
+        docker_host_override:
+            { get_input: docker_host_override }