aboutsummaryrefslogtreecommitdiffstats
path: root/deploy/mac_generator.sh
blob: ed5dacd30a02fbd7d4e626311d5d69377aad6379 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/bin/bash
##############################################################################
# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
function mac_address_part() {
    hex_number=$(printf '%02x' $RANDOM)
    number_length=${#hex_number}
    number_start=$(expr $number_length - 2)
    echo ${hex_number:$number_start:2}
}

function mac_address() {
    echo "'00:00:$(mac_address_part):$(mac_address_part):$(mac_address_part):$(mac_address_part)'"
}

machines=''
for i in `seq $1`; do
  mac=$(mac_address)

  if [[ -z $machines ]]; then
    machines="${mac}"
  else
    machines="${machines} ${mac}"
  fi
done
echo ${machines}
: The name of the storage subnet in Neutron. type: string StorageAllocationPools: default: [{'start': 'fd00:fd00:fd00:3000::10', 'end': 'fd00:fd00:fd00:3000:ffff:ffff:ffff:fffe'}] description: Ip allocation pool range for the storage network. type: json IPv6AddressMode: default: dhcpv6-stateful description: Neutron subnet IPv6 address mode type: string IPv6RAMode: default: dhcpv6-stateful description: Neutron subnet IPv6 router advertisement mode type: string resources: StorageNetwork: type: OS::Neutron::Net properties: admin_state_up: {get_param: StorageNetAdminStateUp} name: {get_param: StorageNetName} shared: {get_param: StorageNetShared} value_specs: {get_param: StorageNetValueSpecs} StorageSubnet: type: OS::Neutron::Subnet properties: ip_version: 6 ipv6_address_mode: {get_param: IPv6AddressMode} ipv6_ra_mode: {get_param: IPv6RAMode} cidr: {get_param: StorageNetCidr} name: {get_param: StorageSubnetName} network: {get_resource: StorageNetwork} allocation_pools: {get_param: StorageAllocationPools} gateway_ip: null outputs: OS::stack_id: description: Neutron storage network value: {get_resource: StorageNetwork}