aboutsummaryrefslogtreecommitdiffstats
path: root/kubernetes/platform/.helmignore
blob: 7ddbad7ef4ac6458668c57de23c409a9b33f1e4f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*~
# Various IDEs
.project
.idea/
*.tmproj
components/
ing.Double */ .highlight .se { color: #ae81ff } /* Literal.String.Escape */ .highlight .sh { color: #e6db74 } /* Literal.String.Heredoc */ .highlight .si { color: #e6db74 } /* Literal.String.Interpol */ .highlight .sx { color: #e6db74 } /* Literal.String.Other */ .highlight .sr { color: #e6db74 } /* Literal.String.Regex */ .highlight .s1 { color: #e6db74 } /* Literal.String.Single */ .highlight .ss { color: #e6db74 } /* Literal.String.Symbol */ .highlight .bp { color: #f8f8f2 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #a6e22e } /* Name.Function.Magic */ .highlight .vc { color: #f8f8f2 } /* Name.Variable.Class */ .highlight .vg { color: #f8f8f2 } /* Name.Variable.Global */ .highlight .vi { color: #f8f8f2 } /* Name.Variable.Instance */ .highlight .vm { color: #f8f8f2 } /* Name.Variable.Magic */ .highlight .il { color: #ae81ff } /* Literal.Number.Integer.Long */ } @media (prefers-color-scheme: light) { .highlight .hll { background-color: #ffffcc } .highlight .c { color: #888888 } /* Comment */ .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ .highlight .k { color: #008800; font-weight: bold } /* Keyword */ .highlight .ch { color: #888888 } /* Comment.Hashbang */ .highlight .cm { color: #888888 } /* Comment.Multiline */ .highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */ .highlight .cpf { color: #888888 } /* Comment.PreprocFile */ .highlight .c1 { color: #888888 } /* Comment.Single */ .highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */ .highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .gr { color: #aa0000 } /* Generic.Error */ .highlight .gh { color: #333333 } /* Generic.Heading */ .highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ .highlight .go { color: #888888 } /* Generic.Output */ .highlight .gp { color: #555555 } /* Generic.Prompt */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #666666 } /* Generic.Subheading */ .highlight .gt { color: #aa0000 } /* Generic.Traceback */ .highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #008800 } /* Keyword.Pseudo */ .highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */ }
##########################################################################
#
#==================LICENSE_START==========================================
#
#
# Copyright 2017 AT&T Intellectual Property. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#        http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#==================LICENSE_END============================================
#
# ECOMP is a trademark and service mark of AT&T Intellectual Property.
#
##########################################################################

heat_template_version: 2013-05-23

description: Heat template to build vCPE Infrastructure Metro vGMUX

##############
#            #
# PARAMETERS #
#            #
##############

parameters:
  vcpe_image_name:
    type: string
    label: Image name or ID
    description: Image to be used for compute instance
  vcpe_flavor_name:
    type: string
    label: Flavor
    description: Type of instance (flavor) to be used
  public_net_id:
    type: string
    label: Public network name or ID
    description: Public network that enables remote connection to VNF
  bng_gmux_private_net_id:
    type: string
    label: vBNG vGMUX private network name or ID
    description: Private network that connects vBNG to vGMUX
  bng_gmux_private_subnet_id:
    type: string
    label: vBNG vGMUX private sub-network name or ID
    description: vBNG vGMUX private sub-network name or ID
  bng_gmux_private_net_cidr:
    type: string
    label: vBNG vGMUX private network CIDR
    description: The CIDR of the vBNG-vGMUX private network
  mux_gw_private_net_id:
    type: string
    label: vGMUX vGWs network name or ID
    description: Private network that connects vGMUX to vGWs
  mux_gw_private_subnet_id:
    type: string
    label: vGMUX vGWs sub-network name or ID
    description: vGMUX vGWs sub-network name or ID
  mux_gw_private_net_cidr:
    type: string
    label: vGMUX private network CIDR
    description: The CIDR of the vGMUX private network
  brgemu_bng_private_net_cidr:
    type: string
    label: vBRG vBNG private network CIDR
    description: The CIDR of the vBRG-vBNG private network
  onap_private_net_id:
    type: string
    label: ONAP management network name or ID
    description: Private network that connects ONAP components and the VNF
  onap_private_subnet_id:
    type: string
    label: ONAP management sub-network name or ID
    description: Private sub-network that connects ONAP components and the VNF
  onap_private_net_cidr:
    type: string
    label: ONAP private network CIDR
    description: The CIDR of the protected private network
  vgmux_private_ip_0:
    type: string
    label: vGMUX private IP address towards the vBNG-vGMUX private network
    description: Private IP address that is assigned to the vGMUX to communicate with the vBNG
  vgmux_private_ip_1:
    type: string
    label: vGMUX private IP address towards the ONAP management network
    description: Private IP address that is assigned to the vGMUX to communicate with ONAP components
  vgmux_private_ip_2:
    type: string
    label: vGMUX private IP address towards the vGMUX-vGW private network
    description: Private IP address that is assigned to the vGMUX to communicate with vGWs
  vgmux_name_0:
    type: string
    label: vGMUX name
    description: Name of the vGMUX
  vnf_id:
    type: string
    label: VNF ID
    description: The VNF ID is provided by ONAP
  vf_module_id:
    type: string
    label: vCPE module ID
    description: The vCPE Module ID is provided by ONAP
  bng_gmux_private_ip:
    type: string
    label: vBNG private IP address towards the vBNG-vGMUX private network
    description: Private IP address that is assigned to the vBNG to communicate with the vGMUX
  dcae_collector_ip:
    type: string
    label: DCAE collector IP address
    description: IP address of the DCAE collector
  dcae_collector_port:
    type: string
    label: DCAE collector port
    description: Port of the DCAE collector
  key_name:
    type: string
    label: Key pair name
    description: Public/Private key pair name
  pub_key:
    type: string
    label: Public key
    description: Public key to be installed on the compute instance
  script_version:
    type: string
    label: Installation script version number
    description: Version number of the scripts that install the vGMUX
  nexus_artifact_repo:
    type: string
    description: Root URL for the Nexus repository for Maven artifacts.
    default: "https://nexus.onap.org"
  cloud_env:
    type: string
    label: Cloud environment
    description: Cloud environment (e.g., openstack, rackspace)

#############
#           #
# RESOURCES #
#           #
#############

resources:

  random-str:
    type: OS::Heat::RandomString
    properties:
      length: 4

  my_keypair:
    type: OS::Nova::KeyPair
    properties:
      name:
        str_replace:
          template: base_rand
          params:
            base: { get_param: key_name }
            rand: { get_resource: random-str }
      public_key: { get_param: pub_key }
      save_private_key: false


  # Virtual GMUX Instantiation
  vgmux_private_0_port:
    type: OS::Neutron::Port
    properties:
      network: { get_param: bng_gmux_private_net_id }
      fixed_ips: [{"subnet": { get_param: bng_gmux_private_subnet_id }, "ip_address": { get_param: vgmux_private_ip_0 }}]

  vgmux_private_1_port:
    type: OS::Neutron::Port
    properties:
      network: { get_param: onap_private_net_id }
      fixed_ips: [{"subnet": { get_param: onap_private_subnet_id }, "ip_address": { get_param: vgmux_private_ip_1 }}]

  vgmux_private_2_port:
    type: OS::Neutron::Port
    properties:
      network: { get_param: mux_gw_private_net_id }
      fixed_ips: [{"subnet": {  get_param: mux_gw_private_subnet_id }, "ip_address": { get_param: vgmux_private_ip_2 }}]

  vgmux_0:
    type: OS::Nova::Server
    properties:
      image: { get_param: vcpe_image_name }
      flavor: { get_param: vcpe_flavor_name }
      name: { get_param: vgmux_name_0 }
      key_name: { get_resource: my_keypair }
      networks:
        - network: { get_param: public_net_id }
        - port: { get_resource: vgmux_private_0_port }
        - port: { get_resource: vgmux_private_1_port }
        - port: { get_resource: vgmux_private_2_port }
      metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }}
      user_data_format: RAW
      user_data:
        str_replace:
          params:
            __mux_to_bng_net_ipaddr__ : { get_param: vgmux_private_ip_0 }
            __oam_ipaddr__ : { get_param: vgmux_private_ip_1 }
            __mux_gw_net_ipaddr__ : { get_param: vgmux_private_ip_2 }
            __bng_to_mux_ipaddr__ : { get_param: bng_gmux_private_ip }
            __bng_mux_net_cidr__ : { get_param: bng_gmux_private_net_cidr }
            __oam_cidr__ : { get_param: onap_private_net_cidr }
            __mux_gw_net_cidr__ : { get_param: mux_gw_private_net_cidr }
            __brg_bng_net_cidr__ : { get_param: brgemu_bng_private_net_cidr }
            __script_version__ : { get_param: script_version }
            __cloud_env__ : { get_param: cloud_env }
            __nexus_artifact_repo__: { get_param: nexus_artifact_repo }
          template: |
            #!/bin/bash

            # Create configuration files
            mkdir /opt/config
            echo "__mux_to_bng_net_ipaddr__" > /opt/config/mux_to_bng_net_ipaddr.txt
            echo "__oam_ipaddr__" > /opt/config/oam_ipaddr.txt
            echo "__mux_gw_net_ipaddr__" > /opt/config/mux_gw_net_ipaddr.txt
            echo "__bng_to_mux_ipaddr__ " > /opt/config/bng_to_mux_net_ipaddr.txt
            echo "__bng_mux_net_cidr__" > /opt/config/bng_mux_net_cidr.txt
            echo "__oam_cidr__" > /opt/config/oam_cidr.txt
            echo "__mux_gw_net_cidr__" > /opt/config/mux_gw_net_cidr.txt
            echo "__brg_bng_net_cidr__" > /opt/config/brg_bng_net_cidr.txt
            echo "__script_version__" > /opt/config/script_version.txt
            echo "__cloud_env__" > /opt/config/cloud_env.txt
            echo "__nexus_artifact_repo__" > /opt/config/nexus_artifact_repo.txt

            # Download and run install script
            apt-get update
            apt-get -y install unzip
            if [[ "__script_version__" =~ "SNAPSHOT" ]]; then REPO=snapshots; else REPO=releases; fi
            curl -k -L "__nexus_artifact_repo__/service/local/artifact/maven/redirect?r=${REPO}&g=org.onap.demo.vnf.vcpe&a=vcpe-scripts&e=zip&v=__script_version__" -o /opt/vcpe-scripts-__script_version__.zip
            unzip -j /opt/vcpe-scripts-__script_version__.zip -d /opt v_gmux_install.sh
            cd /opt
            chmod +x v_gmux_install.sh
            ./v_gmux_install.sh