aboutsummaryrefslogtreecommitdiffstats
path: root/plans/usecases/pnf-sw-upgrade/so/config/populate-aai-simulator.sh
blob: 6852e3f9176d4ba80ecd7bb75ba0d00777c47664 (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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
#!/bin/bash
#
# ============LICENSE_START=======================================================
#  Copyright (C) 2019 Nordix Foundation.
# ================================================================================
# 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.
#
# SPDX-License-Identifier: Apache-2.0
# ============LICENSE_END=========================================================
#

# @author Gareth Roper (gareth.roper@est.tech)
# @auther Waqas Ikram (waqas.ikram@est.tech)

SCRIPT_NAME=$(basename $0)
SCRIPT_HOME="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
WAIT_FOR_SCRIPT=$SCRIPT_HOME/wait-for.sh

current_timestamp()
{
 date +"%Y-%m-%d %H:%M:%S"
}

populate_aai_simulator()
{
 $WAIT_FOR_SCRIPT -t "$TIMEOUT_IN_SECONDS" -h "$AAI_SIMULATOR_HOST" -p "$AAI_SIMULATOR_PORT"

 if [ $?  -eq 0 ]
 then
     echo "$SCRIPT_NAME $(current_timestamp): AAI Simulator is Running."
 else
     echo "$SCRIPT_NAME $(current_timestamp): AAI Simulator could not be found. Exiting..."
     exit 1
 fi

 BASE_URL="https://$AAI_SIMULATOR_HOST:$AAI_SIMULATOR_PORT/aai/v15"
 BASIC_AUTHORIZATION_HEADER="Authorization: Basic YWFpOmFhaS5vbmFwLm9yZzpkZW1vMTIzNDU2IQ=="
 APPICATION_JSON="application/json"
 ACCEPT_HEADER="Accept: $APPICATION_JSON"
 CONTENT_TYPE_HEADER="Content-Type: $APPICATION_JSON"
 CURL_COMMAND="curl -k -H $BASIC_AUTHORIZATION_HEADER -H $ACCEPT_HEADER -H $CONTENT_TYPE_HEADER"

 AAI_SIMULATOR_DATA_DIR=$SCRIPT_HOME/aai-simulator-populate-data
 CUSTOMER_JSON_FILE=$AAI_SIMULATOR_DATA_DIR/customer.json
 PROJECT_JSON_FILE=$AAI_SIMULATOR_DATA_DIR/project.json
 OWNING_ENTITY_JSON_FILE=$AAI_SIMULATOR_DATA_DIR/owning-entity.json
 LINE_OF_BUSINESS_JSON_FILE=$AAI_SIMULATOR_DATA_DIR/line-of-business.json
 PLATFORM_JSON_FILE=$AAI_SIMULATOR_DATA_DIR/platform.json
 CLOUD_REGION_JSON_FILE=$AAI_SIMULATOR_DATA_DIR/cloud-region.json
 TENANT_JSON_FILE=$AAI_SIMULATOR_DATA_DIR/tenant.json
 ESR_VNFM_JSON_FILE=$AAI_SIMULATOR_DATA_DIR/esr-vnfm.json
 ESR_SYSTEM_INFO_JSON_FILE=$AAI_SIMULATOR_DATA_DIR/esr-system-info.json
 CLOUD_ESR_SYSTEM_INFO_JSON_FILE=$AAI_SIMULATOR_DATA_DIR/cloud-esr-system-info.json
 PNF_JSON_FILE=$AAI_SIMULATOR_DATA_DIR/pnf.json
 STATUS_CODE_ACCEPTED="202"

 echo "$SCRIPT_NAME $(current_timestamp): checking health of AAI Simulator"
 response=$(curl -k $BASE_URL/healthcheck)

 if [[ "$response" -ne "healthy" ]] ; then
       echo "$SCRIPT_NAME $(current_timestamp) ERROR: AAI Simulator health check failed. Response: $response"
       exit 1
 fi

 echo "$SCRIPT_NAME $(current_timestamp): AAI Simulator is healthy"

 echo "$SCRIPT_NAME $(current_timestamp): Populating AAI Simulator"

 echo "$SCRIPT_NAME $(current_timestamp): Adding Cloud-Customer Data"
 status_code=$(curl -k --write-out %{http_code} --silent --output /dev/null -H "$BASIC_AUTHORIZATION_HEADER" -H "$ACCEPT_HEADER" -H "$CONTENT_TYPE_HEADER" $BASE_URL/business/customers/customer/DemoCustomer -X PUT -d @"$CUSTOMER_JSON_FILE")

 if [[ "$status_code" -ne "$STATUS_CODE_ACCEPTED" ]] ; then
     echo "$SCRIPT_NAME $(current_timestamp) ERROR: Unable to put customer data in AAI Simulator. Status code received: $status_code"
     exit 1
 fi

 echo "$SCRIPT_NAME $(current_timestamp): Adding Project"
 status_code=$(curl -k --write-out %{http_code} --silent --output /dev/null -H "$BASIC_AUTHORIZATION_HEADER" -H "$ACCEPT_HEADER" -H "$CONTENT_TYPE_HEADER" $BASE_URL/business/projects/project/PnfSwUCsitProject -X PUT -d @"$PROJECT_JSON_FILE")

 if [[ "$status_code" -ne "$STATUS_CODE_ACCEPTED" ]] ; then
     echo "$SCRIPT_NAME $(current_timestamp) ERROR: Unable to put project data in AAI Simulator. Status code received: $status_code"
     exit 1
 fi

  echo "$SCRIPT_NAME $(current_timestamp): Adding Owning-Entity"
  status_code=$(curl -k --write-out %{http_code} --silent --output /dev/null -H "$BASIC_AUTHORIZATION_HEADER" -H "$ACCEPT_HEADER" -H "$CONTENT_TYPE_HEADER" $BASE_URL/business/owning-entities/owning-entity/f2e1071e-3d47-4a65-94d4-e473ec03326a -X PUT -d @$"$OWNING_ENTITY_JSON_FILE")

  if [[ "$status_code" -ne "$STATUS_CODE_ACCEPTED" ]] ; then
     echo "$SCRIPT_NAME $(current_timestamp) ERROR: Unable to put owning entity data in AAI Simulator. Status code received: $status_code"
     exit 1
 fi

 echo "$SCRIPT_NAME $(current_timestamp): Adding Line Of Business"
 status_code=$(curl -k --write-out %{http_code} --silent --output /dev/null -H "$BASIC_AUTHORIZATION_HEADER" -H "$ACCEPT_HEADER" -H "$CONTENT_TYPE_HEADER" $BASE_URL/business/lines-of-business/line-of-business/PnfSwUCsitLineOfBusiness -X PUT -d @$"$LINE_OF_BUSINESS_JSON_FILE")

 if [[ "$status_code" -ne "$STATUS_CODE_ACCEPTED" ]] ; then
     echo "$SCRIPT_NAME $(current_timestamp) ERROR: Unable to put line of business data in AAI Simulator. Status code received: $status_code"
     exit 1
 fi

 echo "$SCRIPT_NAME $(current_timestamp): Adding Platform"
 status_code=$(curl -k --write-out %{http_code} --silent --output /dev/null -H "$BASIC_AUTHORIZATION_HEADER" -H "$ACCEPT_HEADER" -H "$CONTENT_TYPE_HEADER" $BASE_URL/business/platforms/platform/PnfSwUCsitPlatform -X PUT -d @$"$PLATFORM_JSON_FILE")

 if [[ "$status_code" -ne "$STATUS_CODE_ACCEPTED" ]] ; then
     echo "$SCRIPT_NAME $(current_timestamp) ERROR: Unable to put platform data in AAI Simulator. Status code received: $status_code"
     exit 1
 fi

 echo "$SCRIPT_NAME $(current_timestamp): Adding Cloud Region"
 status_code=$(curl -k --write-out %{http_code} --silent --output /dev/null -H "$BASIC_AUTHORIZATION_HEADER" -H "$ACCEPT_HEADER" -H "$CONTENT_TYPE_HEADER" $BASE_URL/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/PnfSwUCloudRegion -X PUT -d @$"$CLOUD_REGION_JSON_FILE")

  if [[ "$status_code" -ne "$STATUS_CODE_ACCEPTED" ]] ; then
     echo "$SCRIPT_NAME $(current_timestamp) ERROR: Unable to put Cloud Region data in AAI Simulator. Status code received: $status_code"
     exit 1
 fi

 echo "$SCRIPT_NAME $(current_timestamp): Adding Tenant"
  status_code=$(curl -k --write-out %{http_code} --silent --output /dev/null -H "$BASIC_AUTHORIZATION_HEADER" -H "$ACCEPT_HEADER" -H "$CONTENT_TYPE_HEADER" $BASE_URL/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/PnfSwUCloudRegion/tenants/tenant/693c7729b2364a26a3ca602e6f66187d -X PUT -d @$"$TENANT_JSON_FILE")

  if [[ "$status_code" -ne "$STATUS_CODE_ACCEPTED" ]] ; then
     echo "$SCRIPT_NAME $(current_timestamp) ERROR: Unable to put Tenant data in AAI Simulator. Status code received: $status_code"
     exit 1
 fi

 echo "$SCRIPT_NAME $(current_timestamp): Adding esr-vnfm"
 status_code=$(curl -k --write-out %{http_code} --silent --output /dev/null -H "$BASIC_AUTHORIZATION_HEADER" -H "$ACCEPT_HEADER" -H "$CONTENT_TYPE_HEADER" $BASE_URL/external-system/esr-vnfm-list/esr-vnfm/c5e99cee-1996-4606-b697-838d51d4e1a3 -X PUT -d @$"$ESR_VNFM_JSON_FILE")

  if [[ "$status_code" -ne "$STATUS_CODE_ACCEPTED" ]] ; then
     echo "$SCRIPT_NAME $(current_timestamp) ERROR: Unable to put esr-vnfm data in AAI Simulator. Status code received: $status_code"
     exit 1
 fi

  echo "$SCRIPT_NAME $(current_timestamp): Adding esr-system-info"
 status_code=$(curl -k --write-out %{http_code} --silent --output /dev/null -H "$BASIC_AUTHORIZATION_HEADER" -H "$ACCEPT_HEADER" -H "$CONTENT_TYPE_HEADER" $BASE_URL/external-system/esr-vnfm-list/esr-vnfm/c5e99cee-1996-4606-b697-838d51d4e1a3/esr-system-info-list/esr-system-info/5c067098-f2e3-40f7-a7ba-155e7c61e916 -X PUT -d @$"$ESR_SYSTEM_INFO_JSON_FILE")

  if [[ "$status_code" -ne "$STATUS_CODE_ACCEPTED" ]] ; then
     echo "$SCRIPT_NAME $(current_timestamp) ERROR: Unable to put esr-system-info data in AAI Simulator. Status code received: $status_code"
     exit 1
 fi

  echo "$SCRIPT_NAME $(current_timestamp): Adding cloud esr-system-info"
 status_code=$(curl -k --write-out %{http_code} --silent --output /dev/null -H "$BASIC_AUTHORIZATION_HEADER" -H "$ACCEPT_HEADER" -H "$CONTENT_TYPE_HEADER" $BASE_URL/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/PnfSwUCloudRegion/esr-system-info-list/esr-system-info/e6a0b318-9756-4f11-94e8-919312d6c2bd -X PUT -d @$"$CLOUD_ESR_SYSTEM_INFO_JSON_FILE")

  if [[ "$status_code" -ne "$STATUS_CODE_ACCEPTED" ]] ; then
     echo "$SCRIPT_NAME $(current_timestamp) ERROR: Unable to put cloud esr-system-info data in AAI Simulator. Status code received: $status_code"
     exit 1
 fi

  echo "$SCRIPT_NAME $(current_timestamp): Adding PNF"
 status_code=$(curl -k --write-out %{http_code} --silent --output /dev/null -H "$BASIC_AUTHORIZATION_HEADER" -H "$ACCEPT_HEADER" -H "$CONTENT_TYPE_HEADER" $BASE_URL/network/pnfs/pnf/PNFDemo -X PUT -d @$"$PNF_JSON_FILE")

  if [[ "$status_code" -ne "$STATUS_CODE_ACCEPTED" ]] ; then
     echo "$SCRIPT_NAME $(current_timestamp) ERROR: Unable to put PNF data in AAI Simulator. Status code received: $status_code"
     exit 1
 fi

 echo "$SCRIPT_NAME $(current_timestamp): AAI Simulator Populated Successfully"
}

# main body
populate_aai_simulator