components/ruby/puppet-modules/oracle-solaris_providers/files/etc/puppet/modules/solaris_providers/lib/puppet/type/evs_properties.rb
author Shawn Ferry <shawn.ferry@oracle.com>
Wed, 10 Feb 2016 22:10:43 -0500
changeset 5438 c068f8c677e8
parent 4794 components/ruby/puppet/files/solaris/lib/puppet/type/evs_properties.rb@be62c55aa235
permissions -rw-r--r--
PSARC/2016/016 Rename/Refactor Puppet and Puppet Module Packages 21041932 puppet, facter, and hiera need to build Ruby 2.1 packages 21042030 puppet, facter, and hiera need to stop building Ruby 1.9 packages 21613616 oracle-solaris_provider builds should come from the github repo we publish 22047789 puppet package name and dependencies are confusing 22301978 Overzealous use of $(RUBY_VERSION) in puppet packaging 22347610 GIT repos cannot be used as described in docs 22664785 Puppet module files should be owned by puppet 22675056 git clone could use --depth 1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4794
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
     1
#
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
     2
# CDDL HEADER START
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
     3
#
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
     4
# The contents of this file are subject to the terms of the
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
     5
# Common Development and Distribution License (the "License").
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
     6
# You may not use this file except in compliance with the License.
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
     7
#
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
     8
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
     9
# or http://www.opensolaris.org/os/licensing.
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    10
# See the License for the specific language governing permissions
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    11
# and limitations under the License.
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    12
#
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    13
# When distributing Covered Code, include this CDDL HEADER in each
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    14
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    15
# If applicable, add the following below this CDDL HEADER, with the
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    16
# fields enclosed by brackets "[]" replaced with your own identifying
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    17
# information: Portions Copyright [yyyy] [name of copyright owner]
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    18
#
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    19
# CDDL HEADER END
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    20
#
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    21
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    22
#
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    23
# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    24
#
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    25
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    26
Puppet::Type.newtype(:evs_properties) do
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    27
    @doc = "Manage global properties of EVS(Elastic Virtual Switch) for both 
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    28
            client and controller. There are two instances associated with 
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    29
            contoller and client properties respectively"
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    30
    
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    31
    ## This is a property setter, thus not ensurable ##
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    32
    newparam(:name) do
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    33
        desc "Type of properties\n"\
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    34
            "Names are preset to 'controller_property' and 'client_property'"
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    35
        # Validate the name:
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    36
        # Names are preset to "controller_property" and "client_property"
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    37
        validate do |value|
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    38
            if value != "controller_property" && value != "client_property"
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    39
                raise Puppet::Error, "Invalid property type name\n" \
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    40
                    "Name must be either 'controller_property' or " \
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    41
                    "'client_property'"
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    42
            end
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    43
        end
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    44
    end
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    45
    
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    46
    ## Properties associated with "controller_property" ##
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    47
    ## All the properties are read/write
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    48
    newproperty(:l2_type) do
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    49
        desc "Define how an EVS will be implemented across machines "\
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    50
            "(controller_property)"
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    51
        newvalues("vlan", "vxlan", "flat", "")
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    52
    end
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    53
    
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    54
    newproperty(:uplink_port) do
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    55
        desc "Specifies the datalink to be used for VLANs or VXLANs "\
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    56
            "(controller_property)\n"\
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    57
            "uplink_port value must be in the format of either\n"\
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    58
            "uplink_port=<uplink>  or \n"\
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    59
            "uplink_port='<uplink>;[<vlan-range>];[<vxlan-range>];"\
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    60
            "[<host>];[<flat>]'"
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    61
        # Use munge to support single value input
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    62
        munge do |value|
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    63
            uplink_list = value.strip().split(";", -1)
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    64
            if uplink_list.length == 0
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    65
                value = ";;;;"
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    66
            elsif uplink_list.length == 1
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    67
                value = "#{value};;;;"
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    68
            elsif uplink_list.length == 5
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    69
                value
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    70
            else
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    71
                raise Puppet::Error, "Invalid uplink_port format: \n" \
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    72
                    "The format must be uplink_port=<uplink> or " \
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    73
                    "uplink_port='<uplink>;[<vlan-range>];[<vxlan-range>];" \
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    74
                    "[<host>];[<flat>]'"
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    75
            end
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    76
        end
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    77
    end
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    78
    
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    79
    newproperty(:uri_template) do
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    80
        desc "URI for per-EVS Node RAD Connection (controller_property)\n"\
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    81
            "The syntax of the uri_template value will be of the form:\n"\
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    82
            "uri_template='ssh://[username@][;<host>]' or \n"\
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    83
            "uri_template='unix://[username@][;<host>]'"
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    84
        # Use munge to support single value input
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    85
        munge do |value|
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    86
            uri_list = value.strip().split(";", -1)
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    87
            if uri_list.length == 0
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    88
                value = ";"
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    89
            elsif uri_list.length == 1
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    90
                value = "#{value};"
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    91
            elsif uri_list.length == 2
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    92
                value
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    93
            else
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    94
                raise Puppet::Error, "Invalid uri_template format: \n"\
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    95
                    "The format of the uri_template value must be\n"\
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    96
                    "uri_template='ssh://[username@][;<host>]' or \n"\
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    97
                    "uri_template='unix://[username@][;<host>]'"
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    98
            end
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
    99
        end
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   100
    end
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   101
    
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   102
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   103
    newproperty(:vlan_range) do
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   104
        desc "List of VLAN ID ranges that will be used for creating EVS "\
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   105
            "(controller_property)\n"\
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   106
            "The maximum valid range is 1-4094"
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   107
    end
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   108
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   109
    newproperty(:vxlan_addr) do
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   110
        desc "IP address on top of which VXLAN datalink should be created "\
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   111
            "(controller_property)\n"\
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   112
            "The syntax of the vxlan_addr value will be of the form:\n"\
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   113
            "vxlan_addr=<vxlan_IP_addr> or"\
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   114
            "vxlan_addr='<vxlan_IP_addr>;[<vxlan-range>];[<host>]'"
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   115
        # Use munge to support single value input
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   116
        munge do |value|
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   117
            vxlan_list = value.strip().split(";", -1)
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   118
            if vxlan_list.length == 0
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   119
                value = ";;"
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   120
            elsif vxlan_list.length == 1
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   121
                value = "#{value};;"
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   122
            elsif vxlan_list.length == 3
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   123
                value
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   124
            else
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   125
                raise Puppet::Error, "Invalid vxlan_addr format: \n" \
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   126
                    "The format of the vxlan_addr value must be\n"\
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   127
                    "vxlan_addr=<vxlan_IP_addr> or"\
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   128
                    "vxlan_addr='<vxlan_IP_addr>;[<vxlan-range>];[<host>]'"
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   129
            end
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   130
        end
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   131
    end
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   132
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   133
    newproperty(:vxlan_ipvers) do
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   134
        desc "IP version of the address for VXLAN datalinks "\
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   135
            "(controller_property)"
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   136
    end
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   137
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   138
    newproperty(:vxlan_mgroup) do
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   139
        desc "Multicast address that needs to be used while creating VXLAN" \
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   140
            " links (controller_property)"
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   141
    end
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   142
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   143
    newproperty(:vxlan_range) do
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   144
        desc "List of VXLAN ID ranges that will be used for creating EVS "\
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   145
            "(controller_property)\n"\
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   146
            "The maximum valid range is 0-16777215"
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   147
    end
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   148
    
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   149
    
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   150
    ### The read/write property associated with "client_property" ###
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   151
    newproperty(:controller) do
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   152
        desc "SSH address of EVS controller server (client_property)"
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   153
    end
be62c55aa235 PSARC/2015/218 Add EVS support to Puppet
Sungmin Lee <sungmin.lee@oracle.com>
parents:
diff changeset
   154
end