remove proprietary name
[oom.git] / message-router-blueprint.yaml
diff --git a/message-router-blueprint.yaml b/message-router-blueprint.yaml
deleted file mode 100644 (file)
index 98a2830..0000000
+++ /dev/null
@@ -1,532 +0,0 @@
-tosca_definitions_version: cloudify_dsl_1_3
-
-description: >
-  This example deploys the OOM Message Router application. Each service/deployment pair is associated with a single Kubernetes node.
-  Node template naming convention: PROVISIONINGAPI_RESOURCETYPE_APPLICATIONCOMPONENT
-  The following resources are created:
-  - Security Group
-  - openstack_port_zookeeper - NIC that connects to the Openstack Server
-  - openstack_port_kafka - NIC that connects to the Openstack Server
-  - openstack_port_dmaap - NIC that connects to the Openstack Server
-  - openstack_server_zookeeper - a VM that a Kubernetes Node is installed on.
-  - openstack_server_kafka - a VM that a Kubernetes Node is installed on.
-  - openstack_server_dmaap - a VM that a Kubernetes Node is installed on.
-  - kubernetes_node_zookeeper - a Kubernetes node that will join the Kubernetes cluster.
-  - kubernetes_node_kafka - a Kubernetes node that will join the Kubernetes cluster.
-  - kubernetes_node_dmaap - a Kubernetes node that will join the Kubernetes cluster.
-  - kubernetes_deployment_zookeeper - a Kubernetes deployment.
-  - kubernetes_deployment_kafka - a Kubernetes deployment.
-  - kubernetes_deployment_dmaap - a Kubernetes deployment.
-  - kubernetes_service_zookeeper - a Kubernetes service.
-  - kubernetes_service_kafka - a Kubernetes service.
-  - kubernetes_service_dmaap - a Kubernetes service.
-  The following pre-setup steps are assumed, but not required:
-  - Create Cloudify Example Environment: https://github.com/cloudify-examples/cloudify-environment-setup.
-  - Create Kubernetes Cluster: https://github.com/cloudify-examples/simple-kubernetes-blueprint.
-
-imports:
-  - https://raw.githubusercontent.com/cloudify-cosmo/cloudify-manager/4.1/resources/rest-service/cloudify/types/types.yaml
-  # Plugin required: https://github.com/cloudify-cosmo/cloudify-openstack-plugin/releases/download/2.2.0/cloudify_openstack_plugin-2.2.0-py27-none-linux_x86_64-centos-Core.wgn
-  - https://raw.githubusercontent.com/cloudify-cosmo/cloudify-openstack-plugin/2.2.0/plugin.yaml
-  # Plugin required: https://github.com/cloudify-incubator/cloudify-utilities-plugin/releases/download/1.2.5/cloudify_utilities_plugin-1.2.5-py27-none-linux_x86_64-centos-Core.wgn
-  - https://raw.githubusercontent.com/cloudify-incubator/cloudify-utilities-plugin/1.2.5/plugin.yaml
-  # Plugin required: https://github.com/cloudify-incubator/cloudify-kubernetes-plugin/releases/download/1.2.0/cloudify_kubernetes_plugin-1.2.0-py27-none-linux_x86_64-centos-Core.wgn
-  - https://raw.githubusercontent.com/cloudify-incubator/cloudify-kubernetes-plugin/1.2.0/plugin.yaml
-  # Plugin required: http://repository.cloudifysource.org/cloudify/wagons/cloudify-diamond-plugin/1.3.5/cloudify_diamond_plugin-1.3.5-py27-none-linux_x86_64-centos-Core.wgn
-  - https://raw.githubusercontent.com/cloudify-cosmo/cloudify-diamond-plugin/1.3.5/plugin.yaml
-  # Plugin required: http://repository.cloudifysource.org/cloudify/wagons/cloudify-fabric-plugin/1.5/cloudify_fabric_plugin-1.5-py27-none-linux_x86_64-centos-Core.wgn
-  - https://raw.githubusercontent.com/cloudify-cosmo/cloudify-fabric-plugin/1.5/plugin.yaml
-  - cloudify/types/kubernetes.yaml
-
-inputs:
-
-  configuration_file_content:
-    type: string
-
-  NS:
-    default: oom
-
-  image:
-    description: Image to be used when launching agent VMs
-    default: { get_secret: centos_core_image }
-
-  flavor:
-    description: Flavor of the agent VMs
-    default: { get_secret: large_image_flavor }
-
-  agent_user:
-    description: >
-      User for connecting to agent VMs
-    default: centos
-
-  app_name:
-    default: message-router
-
-  security_group:
-    default: { concat: [ 'secgrp_', { get_input: app_name } ] }
-
-dsl_definitions:
-
-  openstack_config: &openstack_config
-    username: { get_secret: keystone_username }
-    password: { get_secret: keystone_password }
-    tenant_name: { get_secret: keystone_tenant_name }
-    auth_url: { get_secret: keystone_url }
-    region: { get_secret: region }
-
-groups:
-
-  openstack_server_port_group_zookeeper:
-    members:
-      - openstack_server_zookeeper
-      - openstack_port_zookeeper
-
-  openstack_server_port_group_kafka:
-    members:
-      - openstack_server_kafka
-      - openstack_port_kafka
-
-  openstack_server_port_group_dmaap:
-    members:
-      - openstack_server_dmaap
-      - openstack_port_dmaap
-
-policies:
-
-  openstack_server_port_policies_scaling:
-    type: cloudify.policies.scaling
-    properties:
-      default_instances:  1
-    targets:
-    - openstack_server_port_group_zookeeper
-    - openstack_server_port_group_kafka
-    - openstack_server_port_group_dmaap
-
-node_templates:
-
-  kubernetes_service_zookeeper:
-    type: cloudify.kubernetes.resources.Service
-    properties:
-      definition:
-        apiVersion: v1
-        kind: Service
-        metadata:
-          name: zookeeper
-          labels:
-            app: zookeeper
-        spec:
-          ports:
-          - name: zookeeper1
-            port: 2181
-          selector:
-            app: zookeeper
-          clusterIP: None
-    relationships:
-      - type: cloudify.kubernetes.relationships.managed_by_master
-        target: k8s
-      - type: cloudify.relationships.depends_on
-        target: kubernetes_deployment_zookeeper
-
-  kubernetes_deployment_zookeeper:
-    type: cloudify.kubernetes.resources.Deployment
-    properties:
-      definition:
-        file:
-          resource_path: kubernetes/message-router/message-router-zookeeper.yaml
-    relationships:
-      - type: cloudify.kubernetes.relationships.managed_by_master
-        target: k8s
-      - type: cloudify.relationships.depends_on
-        target: kubernetes_node_zookeeper
-
-  kubernetes_node_zookeeper:
-    type: cloudify.nodes.Kubernetes.Node
-    relationships:
-      - type: cloudify.relationships.contained_in
-        target: openstack_server_zookeeper
-    interfaces:
-      cloudify.interfaces.lifecycle:
-        start:
-          implementation: fabric.fabric_plugin.tasks.run_task
-          inputs:
-            task_properties:
-              hostname: { get_attribute: [ SELF, hostname ] }
-              labels:
-                app: zookeeper
-
-  openstack_server_zookeeper:
-    type: cloudify.openstack.nodes.Server
-    properties: &openstack_server_properties
-      openstack_config: *openstack_config
-      agent_config:
-          user: { get_input: agent_user }
-          install_method: remote
-          port: 22
-          key: { get_secret: agent_key_private }
-      server:
-        key_name: ''
-        image: ''
-        flavor: ''
-      management_network_name: { get_property: [ private_network, resource_id ] }
-    relationships:
-      - type: cloudify.relationships.contained_in
-        target: k8s_node_scaling_tier
-      - target: openstack_port_zookeeper
-        type: cloudify.openstack.server_connected_to_port
-      - type: cloudify.relationships.depends_on
-        target: cloud_init_openstack_server
-    interfaces: &openstack_server_interfaces
-      cloudify.interfaces.lifecycle:
-        create:
-          inputs:
-            args:
-              image: { get_input: image }
-              flavor: { get_input: flavor }
-              userdata: { get_attribute: [ cloud_init_openstack_server, cloud_config ] }
-      cloudify.interfaces.monitoring_agent:
-          install:
-            implementation: diamond.diamond_agent.tasks.install
-            inputs:
-              diamond_config:
-                interval: 1
-          start: diamond.diamond_agent.tasks.start
-          stop: diamond.diamond_agent.tasks.stop
-          uninstall: diamond.diamond_agent.tasks.uninstall
-      cloudify.interfaces.monitoring:
-          start:
-            implementation: diamond.diamond_agent.tasks.add_collectors
-            inputs:
-              collectors_config:
-                CPUCollector: {}
-                MemoryCollector: {}
-                LoadAverageCollector: {}
-                DiskUsageCollector:
-                  config:
-                    devices: x?vd[a-z]+[0-9]*$
-                NetworkCollector: {}
-                ProcessResourcesCollector:
-                  config:
-                    enabled: true
-                    unit: B
-                    measure_collector_time: true
-                    cpu_interval: 0.5
-                    process:
-                      hyperkube:
-                        name: hyperkube
-
-  openstack_port_zookeeper:
-    type: cloudify.openstack.nodes.Port
-    properties:
-      openstack_config: *openstack_config
-    relationships: &openstack_port_relationships
-      - type: cloudify.relationships.contained_in
-        target: k8s_node_scaling_tier
-      - type: cloudify.relationships.connected_to
-        target: private_network
-      - type: cloudify.relationships.depends_on
-        target: private_subnet
-      - type: cloudify.openstack.port_connected_to_security_group
-        target: security_group
-
-  kubernetes_service_kafka:
-    type: cloudify.kubernetes.resources.Service
-    properties:
-      definition:
-        apiVersion: v1
-        kind: Service
-        metadata:
-          name: global-kafka
-          labels:
-            app: global-kafka
-        spec:
-          ports:
-          - name: kafka1
-            port: 9092
-          selector:
-            app: global-kafka
-          clusterIP: None
-    relationships:
-      - type: cloudify.kubernetes.relationships.managed_by_master
-        target: k8s
-      - type: cloudify.relationships.depends_on
-        target: kubernetes_deployment_kafka
-
-  kubernetes_deployment_kafka:
-    type: cloudify.kubernetes.resources.Deployment
-    properties:
-      definition:
-        file:
-          resource_path: kubernetes/message-router/message-router-kafka.yaml
-    relationships:
-      - type: cloudify.kubernetes.relationships.managed_by_master
-        target: k8s
-      - type: cloudify.relationships.depends_on
-        target: kubernetes_node_kafka
-      - type: cloudify.relationships.depends_on
-        target: kubernetes_deployment_zookeeper
-
-  kubernetes_node_kafka:
-    type: cloudify.nodes.Kubernetes.Node
-    relationships:
-      - type: cloudify.relationships.contained_in
-        target: openstack_server_kafka
-    interfaces:
-      cloudify.interfaces.lifecycle:
-        start:
-          implementation: fabric.fabric_plugin.tasks.run_task
-          inputs:
-            task_properties:
-              hostname: { get_attribute: [ SELF, hostname ] }
-              labels:
-                app: global-kafka
-
-  openstack_server_kafka:
-    type: cloudify.openstack.nodes.Server
-    properties: *openstack_server_properties
-    relationships:
-      - type: cloudify.relationships.contained_in
-        target: k8s_node_scaling_tier
-      - target: openstack_port_kafka
-        type: cloudify.openstack.server_connected_to_port
-      - type: cloudify.relationships.depends_on
-        target: cloud_init_openstack_server
-    interfaces: *openstack_server_interfaces
-
-  openstack_port_kafka:
-    type: cloudify.openstack.nodes.Port
-    properties:
-      openstack_config: *openstack_config
-    relationships: *openstack_port_relationships
-
-  kubernetes_service_dmaap:
-    type: cloudify.kubernetes.resources.Service
-    properties:
-      definition:
-        apiVersion: v1
-        kind: Service
-        metadata:
-          name: dmaap
-          labels:
-            app: dmaap
-            version: 1.0.0
-        spec:
-          ports:
-          - name: mr1
-            port: 3904
-            nodePort: 30227
-          - name: mr2
-            port: 3905
-            nodePort: 30226
-          selector:
-            app: dmaap
-          type: NodePort
-    relationships:
-      - type: cloudify.kubernetes.relationships.managed_by_master
-        target: k8s
-      - type: cloudify.relationships.depends_on
-        target: kubernetes_deployment_dmaap
-
-  kubernetes_deployment_dmaap:
-    type: cloudify.kubernetes.resources.Deployment
-    properties:
-      definition:
-        file:
-          resource_path: kubernetes/message-router/message-router-dmaap.yaml
-    relationships:
-      - type: cloudify.kubernetes.relationships.managed_by_master
-        target: k8s
-      - type: cloudify.relationships.depends_on
-        target: kubernetes_node_dmaap
-      - type: cloudify.relationships.depends_on
-        target: kubernetes_deployment_zookeeper
-
-  kubernetes_node_dmaap:
-    type: cloudify.nodes.Kubernetes.Node
-    relationships:
-      - type: cloudify.relationships.contained_in
-        target: openstack_server_dmaap
-    interfaces:
-      cloudify.interfaces.lifecycle:
-        start:
-          implementation: fabric.fabric_plugin.tasks.run_task
-          inputs:
-            task_properties:
-              hostname: { get_attribute: [ SELF, hostname ] }
-              labels:
-                app: global-dmaap
-
-  openstack_server_dmaap:
-    type: cloudify.openstack.nodes.Server
-    properties: *openstack_server_properties
-    relationships:
-      - type: cloudify.relationships.contained_in
-        target: k8s_node_scaling_tier
-      - target: openstack_port_dmaap
-        type: cloudify.openstack.server_connected_to_port
-      - type: cloudify.relationships.depends_on
-        target: cloud_init_openstack_server
-    interfaces: *openstack_server_interfaces
-
-  openstack_port_dmaap:
-    type: cloudify.openstack.nodes.Port
-    properties:
-      openstack_config: *openstack_config
-    relationships: *openstack_port_relationships
-
-  security_group:
-    type: cloudify.openstack.nodes.SecurityGroup
-    properties:
-      openstack_config: *openstack_config
-      security_group:
-        name: { get_input: security_group }
-        description: kubernetes master security group
-      rules:
-      rules:
-      - remote_ip_prefix: 0.0.0.0/0
-        port: 22
-      - remote_ip_prefix: 0.0.0.0/0
-        port: 53
-      - remote_ip_prefix: 0.0.0.0/0
-        port: 53
-        protocol: udp
-      - remote_ip_prefix: 0.0.0.0/0
-        port: 80
-      - remote_ip_prefix: 0.0.0.0/0
-        port: 443
-      - remote_ip_prefix: 0.0.0.0/0
-        port: 2379
-      - remote_ip_prefix: 0.0.0.0/0
-        port: 4001
-      - remote_ip_prefix: 0.0.0.0/0
-        port: 4789
-      - remote_ip_prefix: 0.0.0.0/0
-        port: 6443
-      - remote_ip_prefix: 0.0.0.0/0
-        port: 6783
-        protocol: tcp
-      - remote_ip_prefix: 0.0.0.0/0
-        port: 6783
-        protocol: udp
-      - remote_ip_prefix: 0.0.0.0/0
-        port: 6784
-        protocol: tcp
-      - remote_ip_prefix: 0.0.0.0/0
-        port: 6784
-        protocol: udp
-      - remote_ip_prefix: 0.0.0.0/0
-        port: 8000
-      - remote_ip_prefix: 0.0.0.0/0
-        port: 8080
-      - remote_ip_prefix: 0.0.0.0/0
-        port: 9090
-      - remote_ip_prefix: 0.0.0.0/0
-        port: 10250
-      - remote_ip_prefix: 0.0.0.0/0
-        port: 2181
-      - remote_ip_prefix: 0.0.0.0/0
-        port: 9092
-      - remote_ip_prefix: 0.0.0.0/0
-        port: 3904
-      - remote_ip_prefix: 0.0.0.0/0
-        port: 30227
-      - remote_ip_prefix: 0.0.0.0/0
-        port: 3905
-      - remote_ip_prefix: 0.0.0.0/0
-        port: 30226
-
-  private_subnet:
-    type: cloudify.openstack.nodes.Subnet
-    properties:
-      openstack_config: *openstack_config
-      use_external_resource: true
-      resource_id: { get_secret: private_subnet_name }
-    relationships:
-      - target: private_network
-        type: cloudify.relationships.contained_in
-
-  private_network:
-    type: cloudify.openstack.nodes.Network
-    properties:
-      openstack_config: *openstack_config
-      use_external_resource: true
-      resource_id: { get_secret: private_network_name }
-
-  external_network:
-    type: cloudify.openstack.nodes.Network
-    properties:
-      openstack_config: *openstack_config
-      use_external_resource: true
-      resource_id: { get_secret: external_network_name }
-
-  cloud_init_openstack_server:
-    type: cloudify.nodes.CloudInit.CloudConfig
-    properties:
-      resource_config:
-        groups:
-        - docker
-        users:
-        - name: { get_input: agent_user }
-          primary-group: wheel
-          groups: docker
-          shell: /bin/bash
-          sudo: ['ALL=(ALL) NOPASSWD:ALL']
-          ssh-authorized-keys:
-            - { get_secret: agent_key_public }
-        write_files:
-        - path: /etc/yum.repos.d/kubernetes.repo
-          owner: root:root
-          permissions: '0444'
-          content: |
-            # installed by cloud-init
-            [kubernetes]
-            name=Kubernetes
-            baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
-            enabled=1
-            gpgcheck=1
-            repo_gpgcheck=1
-            gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg
-                   https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
-        packages:
-        - [epel-release]
-        - [gcc]
-        - [python-dev]
-        - [python-wheel]
-        - [python-setuptools]
-        - [libffi-devel]
-        - [python-devel]
-        - [openssl-devel]
-        - [docker, 1.12.6-28.git1398f24.el7.centos]
-        - [kubelet, 1.6.4-0]
-        - [kubeadm, 1.6.4-0]
-        - [kubectl, 1.6.4-0]
-        - [kubernetes-cni, 0.5.1-0]
-        - [git]
-        - [wget]
-        runcmd:
-        - systemctl enable docker
-        - systemctl start docker
-        - systemctl enable kubelet
-        - systemctl start kubelet
-        - yum install -y python-pip
-        - pip install --upgrade pip
-        - pip install docker-compose
-        - pip install backports.ssl_match_hostname --upgrade
-        - mkdir -p /tmp/oom/
-        - git clone https://gerrit.onap.org/r/oom.git /tmp/oom
-        - sleep 15
-        - chmod 755 /tmp/oom/kubernetes/config/docker/init/src/config/message-router/dcae-startup-vm-message-router/deploy.sh
-        - sed -i -e "s/\.\/docker_files/\/tmp\/oom\/kubernetes\/config\/docker\/init\/src\/config\/message-router\/dcae-startup-vm-message-router\/docker_files/g" /tmp/oom/kubernetes/config/docker/init/src/config/message-router/dcae-startup-vm-message-router/deploy.sh
-        - sed -i -e "s/\/opt\/docker\/docker-compose/\/bin\/docker-compose/g" /tmp/oom/kubernetes/config/docker/init/src/config/message-router/dcae-startup-vm-message-router/deploy.sh
-        - mv /tmp/oom/kubernetes/config/docker/init/src/config/message-router/dcae-startup-vm-message-router/docker_files/__docker-compose.yml /tmp/oom/kubernetes/config/docker/init/src/config/message-router/dcae-startup-vm-message-router/docker_files/docker-compose.yml
-        - mv /tmp/oom/kubernetes/config/docker/init/src/config/message-router/dcae-startup-vm-message-router/docker_files/__MsgRtrApi.properties /tmp/oom/kubernetes/config/docker/init/src/config/message-router/dcae-startup-vm-message-router/docker_files/MsgRtrApi.properties
-        - sh -c /tmp/oom/kubernetes/config/docker/init/src/config/message-router/dcae-startup-vm-message-router/deploy.sh
-
-  k8s_node_scaling_tier:
-    type: cloudify.nodes.Root
-
-  k8s:
-    type: cloudify.kubernetes.nodes.Master
-    properties:
-      configuration:
-        file_content: { get_input: configuration_file_content }
-