X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=message-router-blueprint.yaml;fp=message-router-blueprint.yaml;h=0000000000000000000000000000000000000000;hb=ec60451d10fdb09eee332b8868ce040dd2f47b0f;hp=98a283020bb1ff54e20750363751735322e001c7;hpb=efcadf51145f47f1acf2466cb4f3f28c723307ce;p=oom.git diff --git a/message-router-blueprint.yaml b/message-router-blueprint.yaml deleted file mode 100644 index 98a283020b..0000000000 --- a/message-router-blueprint.yaml +++ /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 } -