diff options
Diffstat (limited to 'deployment/heat')
-rw-r--r-- | deployment/heat/onap-oom/env/windriver/onap-oom-light.env | 81 | ||||
-rw-r--r-- | deployment/heat/onap-oom/onap-oom.yaml | 59 | ||||
-rw-r--r-- | deployment/heat/onap-oom/parts/onap-oom-1.yaml | 2 | ||||
-rw-r--r-- | deployment/heat/onap-oom/parts/onap-oom-2.yaml | 3 | ||||
-rwxr-xr-x | deployment/heat/onap-oom/scripts/deploy.sh | 69 | ||||
-rwxr-xr-x | deployment/heat/onap-oom/scripts/gen-onap-oom-yaml.sh | 4 |
6 files changed, 199 insertions, 19 deletions
diff --git a/deployment/heat/onap-oom/env/windriver/onap-oom-light.env b/deployment/heat/onap-oom/env/windriver/onap-oom-light.env new file mode 100644 index 000000000..c37cf757c --- /dev/null +++ b/deployment/heat/onap-oom/env/windriver/onap-oom-light.env @@ -0,0 +1,81 @@ +parameters: + + ubuntu_1604_image: ubuntu-16-04-cloud-amd64 + + apt_proxy: 10.12.5.2:3142 + docker_proxy: 10.12.5.2:5000 + + rancher_vm_flavor: m1.large + # use a smaller image for k8 hosts + k8s_vm_flavor: m1.xlarge + + public_net_id: 971040b2-7059-49dc-b220-4fab50cb2ad4 + + oam_network_cidr: 10.0.0.0/16 + + integration_override_yaml: > + global: + repository: __docker_proxy__ + pullPolicy: IfNotPresent + robot: + openStackKeyStoneUrl: "http://10.12.25.2:5000" + openStackPublicNetId: "__public_net_id__" + openStackPassword: "${OS_PASSWORD}" + openStackTenantId: "${OS_PROJECT_ID}" + openStackUserName: "${OS_USERNAME}" + ubuntu14Image: "ubuntu-14-04-cloud-amd64" + ubuntu16Image: "ubuntu-16-04-cloud-amd64" + openStackPrivateNetId: "__oam_network_id__" + openStackPrivateSubnetId: "__oam_subnet_id__" + openStackPrivateNetCidr: "__oam_network_cidr__" + openStackOamNetworkCidrPrefix: "10.0" + dcaeCollectorIp: "__k8s_1_vm_ip__" + vnfPubKey: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKXDgoo3+WOqcUG8/5uUbk81+yczgwC4Y8ywTmuQqbNxlY1oQ0YxdMUqUnhitSXs5S/yRuAVOYHwGg2mCs20oAINrP+mxBI544AMIb9itPjCtgqtE2EWo6MmnFGbHB4Sx3XioE7F4VPsh7japsIwzOjbrQe+Mua1TGQ5d4nfEOQaaglXLLPFfuc7WbhbJbK6Q7rHqZfRcOwAMXgDoBqlyqKeiKwnumddo2RyNT8ljYmvB6buz7KnMinzo7qB0uktVT05FH9Rg0CTWH5norlG5qXgP2aukL0gk1ph8iAt7uYLf1ktp+LJI2gaF6L0/qli9EmVCSLr1uJ38Q8CBflhkh" + demoArtifactsVersion: "1.2.2" + scriptVersion: "1.2.1" + rancherIpAddress: "__rancher_ip_addr__" + so: + config: + openStackUserName: "${OS_USERNAME}" + openStackKeyStoneUrl: "http://10.12.25.2:5000" + openStackEncryptedPasswordHere: "${OS_PASSWORD_ENCRYPTED}" + appc: + replicaCount: 1 + config: + enableClustering: false + sdnc: + replicaCount: 1 + config: + enableClustering: false + clamp: + enabled: false + pomba: + enabled: false + cli: + enabled: false + consul: + enabled: false + dcaegen2: + enabled: false + esr: + enabled: false + log: + enabled: false + mock: + enabled: false + msb: + enabled: false + multicloud: + enabled: false + nbi: + enabled: false + oof: + enabled: false + policy: + enabled: false + uui: + enabled: false + vfc: + enabled: false + vnfsdk: + enabled: false diff --git a/deployment/heat/onap-oom/onap-oom.yaml b/deployment/heat/onap-oom/onap-oom.yaml index 227e884d7..e8b0ffa7d 100644 --- a/deployment/heat/onap-oom/onap-oom.yaml +++ b/deployment/heat/onap-oom/onap-oom.yaml @@ -138,6 +138,8 @@ resources: router: type: OS::Neutron::Router properties: + name: + list_join: ['-', [{ get_param: 'OS::stack_name' }, 'router']] external_gateway_info: network: { get_param: public_net_id } @@ -164,7 +166,8 @@ resources: rancher_vm: type: OS::Nova::Server properties: - name: rancher + name: + list_join: ['-', [{ get_param: 'OS::stack_name' }, 'rancher']] image: { get_param: ubuntu_1604_image } flavor: { get_param: rancher_vm_flavor } key_name: { get_param: key_name } @@ -201,12 +204,14 @@ resources: get_attr: [k8s_2_floating_ip, floating_ip_address], get_attr: [k8s_3_floating_ip, floating_ip_address], get_attr: [k8s_4_floating_ip, floating_ip_address], + get_attr: [k8s_5_floating_ip, floating_ip_address], ] __k8s_private_ips__: [ get_attr: [k8s_1_floating_ip, fixed_ip_address], get_attr: [k8s_2_floating_ip, fixed_ip_address], get_attr: [k8s_3_floating_ip, fixed_ip_address], get_attr: [k8s_4_floating_ip, fixed_ip_address], + get_attr: [k8s_5_floating_ip, fixed_ip_address], ] k8s_1_private_port: type: OS::Neutron::Port @@ -225,7 +230,8 @@ resources: k8s_1_vm: type: OS::Nova::Server properties: - name: k8s_1 + name: + list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s_1']] image: { get_param: ubuntu_1604_image } flavor: { get_param: k8s_vm_flavor } key_name: { get_param: key_name } @@ -260,7 +266,8 @@ resources: k8s_2_vm: type: OS::Nova::Server properties: - name: k8s_2 + name: + list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s_2']] image: { get_param: ubuntu_1604_image } flavor: { get_param: k8s_vm_flavor } key_name: { get_param: key_name } @@ -295,7 +302,8 @@ resources: k8s_3_vm: type: OS::Nova::Server properties: - name: k8s_3 + name: + list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s_3']] image: { get_param: ubuntu_1604_image } flavor: { get_param: k8s_vm_flavor } key_name: { get_param: key_name } @@ -330,7 +338,8 @@ resources: k8s_4_vm: type: OS::Nova::Server properties: - name: k8s_4 + name: + list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s_4']] image: { get_param: ubuntu_1604_image } flavor: { get_param: k8s_vm_flavor } key_name: { get_param: key_name } @@ -348,6 +357,42 @@ resources: template: get_file: k8s_vm_entrypoint.sh + k8s_5_private_port: + type: OS::Neutron::Port + properties: + network: { get_resource: oam_network } + fixed_ips: [{"subnet": { get_resource: oam_subnet }}] + security_groups: + - { get_resource: onap_sg } + + k8s_5_floating_ip: + type: OS::Neutron::FloatingIP + properties: + floating_network_id: { get_param: public_net_id } + port_id: { get_resource: k8s_5_private_port } + + k8s_5_vm: + type: OS::Nova::Server + properties: + name: + list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s_5']] + image: { get_param: ubuntu_1604_image } + flavor: { get_param: k8s_vm_flavor } + key_name: { get_param: key_name } + networks: + - port: { get_resource: k8s_5_private_port } + user_data_format: RAW + user_data: + str_replace: + params: + __docker_proxy__: { get_param: docker_proxy } + __apt_proxy__: { get_param: apt_proxy } + __docker_version__: { get_param: docker_version } + __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] } + __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] } + template: + get_file: k8s_vm_entrypoint.sh + outputs: rancher_vm_ip: description: The IP address of the rancher instance @@ -369,3 +414,7 @@ outputs: description: The IP address of the k8s_4 instance value: { get_attr: [k8s_4_floating_ip, floating_ip_address] } + k8s_5_vm_ip: + description: The IP address of the k8s_5 instance + value: { get_attr: [k8s_5_floating_ip, floating_ip_address] } + diff --git a/deployment/heat/onap-oom/parts/onap-oom-1.yaml b/deployment/heat/onap-oom/parts/onap-oom-1.yaml index 8031505b7..ab79b1ed5 100644 --- a/deployment/heat/onap-oom/parts/onap-oom-1.yaml +++ b/deployment/heat/onap-oom/parts/onap-oom-1.yaml @@ -135,6 +135,8 @@ resources: router: type: OS::Neutron::Router properties: + name: + list_join: ['-', [{ get_param: 'OS::stack_name' }, 'router']] external_gateway_info: network: { get_param: public_net_id } diff --git a/deployment/heat/onap-oom/parts/onap-oom-2.yaml b/deployment/heat/onap-oom/parts/onap-oom-2.yaml index 463635b8a..e01ba132d 100644 --- a/deployment/heat/onap-oom/parts/onap-oom-2.yaml +++ b/deployment/heat/onap-oom/parts/onap-oom-2.yaml @@ -15,7 +15,8 @@ ${K8S_VM_NAME}_vm: type: OS::Nova::Server properties: - name: ${K8S_VM_NAME} + name: + list_join: ['-', [ { get_param: 'OS::stack_name' }, '${K8S_VM_NAME}']] image: { get_param: ubuntu_1604_image } flavor: { get_param: k8s_vm_flavor } key_name: { get_param: key_name } diff --git a/deployment/heat/onap-oom/scripts/deploy.sh b/deployment/heat/onap-oom/scripts/deploy.sh index c9cd005c7..e97c5a3f5 100755 --- a/deployment/heat/onap-oom/scripts/deploy.sh +++ b/deployment/heat/onap-oom/scripts/deploy.sh @@ -1,4 +1,4 @@ -#!/bin/bash -x +#!/bin/bash # # Copyright 2018 Huawei Technologies Co., Ltd. # @@ -9,18 +9,53 @@ # http://www.apache.org/licenses/LICENSE-2.0 # -install_name="onap-oom" +stack_name="oom" full_deletion=false if [ -z "$WORKSPACE" ]; then export WORKSPACE=`git rev-parse --show-toplevel` fi -usage() { echo "Usage: $0 [ -r ] <env-name>" 1>&2; exit 1; } +usage() { + echo "Usage: $0 [ -n <number of VMs {2-15}> ][ -s <stack name> ][ -m <manifest> ][ -r ][ -q ] <env>" 1>&2; + echo "n: Set the number of VM's that will be installed. This number must be between 2 and 15" 1>&2; + echo "s: Set the name to be used for stack. This name will be used for naming of resources" 1>&2; + echo "m: The docker manifest to apply; must be either \"docker-manifest-staging.csv\" or \"docker-manifest.csv\"." 1>&2; + echo "r: Delete all resources relating to ONAP within enviroment." 1>&2; + echo "q: Quiet Delete of all ONAP resources." 1>&2; -while getopts ":rq" o; do + exit 1; +} + + +while getopts ":n:s:m:rq" o; do case "${o}" in + n) + if [[ ${OPTARG} =~ ^[0-9]+$ ]];then + if [ ${OPTARG} -ge 2 -a ${OPTARG} -le 15 ]; then + vm_num=${OPTARG} + else + usage + fi + else + usage + fi + ;; + s) + if [[ ! ${OPTARG} =~ ^[0-9]+$ ]];then + stack_name=${OPTARG} + else + usage + fi + ;; + m) + if [ -f $WORKSPACE/version-manifest/src/main/resources/${OPTARG} ]; then + docker_manifest=${OPTARG} + else + usage + fi + ;; r) echo "The following command will delete all information relating to onap within your enviroment" read -p "Are you certain this is what you want? (type y to confirm):" answer @@ -56,6 +91,13 @@ fi ENV_FILE=$1 +if [ ! -f $ENV_FILE ];then + echo ENV file does not exist or was not given + exit 1 +fi + +set -x + SSH_KEY=~/.ssh/onap_key source $WORKSPACE/test/ete/scripts/install_openstack_cli.sh @@ -65,23 +107,28 @@ export OS_PASSWORD_ENCRYPTED=$(echo -n "$OS_PASSWORD" | openssl aes-128-ecb -e - for n in $(seq 1 5); do if [ $full_deletion = true ] ; then - $WORKSPACE/test/ete/scripts/teardown-onap.sh -n $install_name -q + $WORKSPACE/test/ete/scripts/teardown-onap.sh -n $stack_name -q else - $WORKSPACE/test/ete/scripts/teardown-onap.sh -n $install_name + $WORKSPACE/test/ete/scripts/teardown-onap.sh -n $stack_name fi cd $WORKSPACE/deployment/heat/onap-oom envsubst < $ENV_FILE > $ENV_FILE~ + if [ -z "$vm_num" ]; then + cp onap-oom.yaml onap-oom.yaml~ + else + ./scripts/gen-onap-oom-yaml.sh $vm_num > onap-oom.yaml~ + fi - if ! openstack stack create -t ./$install_name.yaml -e $ENV_FILE~ $install_name; then + if ! openstack stack create -t ./onap-oom.yaml~ -e $ENV_FILE~ $stack_name --parameter docker_manifest=$docker_manifest; then break fi - while [ "CREATE_IN_PROGRESS" == "$(openstack stack show -c stack_status -f value $install_name)" ]; do + while [ "CREATE_IN_PROGRESS" == "$(openstack stack show -c stack_status -f value $stack_name)" ]; do sleep 20 done - STATUS=$(openstack stack show -c stack_status -f value $install_name) + STATUS=$(openstack stack show -c stack_status -f value $stack_name) echo $STATUS if [ "CREATE_COMPLETE" != "$STATUS" ]; then break @@ -89,8 +136,8 @@ for n in $(seq 1 5); do for i in $(seq 1 30); do sleep 30 - RANCHER_IP=$(openstack stack output show $install_name rancher_vm_ip -c output_value -f value) - K8S_IP=$(openstack stack output show $install_name k8s_1_vm_ip -c output_value -f value) + RANCHER_IP=$(openstack stack output show $stack_name rancher_vm_ip -c output_value -f value) + K8S_IP=$(openstack stack output show $stack_name k8s_1_vm_ip -c output_value -f value) timeout 1 ping -c 1 "$RANCHER_IP" && break done diff --git a/deployment/heat/onap-oom/scripts/gen-onap-oom-yaml.sh b/deployment/heat/onap-oom/scripts/gen-onap-oom-yaml.sh index 092b2a1fc..41c5de16a 100755 --- a/deployment/heat/onap-oom/scripts/gen-onap-oom-yaml.sh +++ b/deployment/heat/onap-oom/scripts/gen-onap-oom-yaml.sh @@ -16,7 +16,6 @@ if [ "$#" -ne 1 ]; then fi NUM_K8S_VMS=$1 - if [ -z "$WORKSPACE" ]; then export WORKSPACE=`git rev-parse --show-toplevel` fi @@ -34,7 +33,8 @@ cat <<EOF rancher_vm: type: OS::Nova::Server properties: - name: rancher + name: + list_join: ['-', [{ get_param: 'OS::stack_name' }, 'rancher']] image: { get_param: ubuntu_1604_image } flavor: { get_param: rancher_vm_flavor } key_name: { get_param: key_name } |