add ccsdk-sli-northbound
[infra/cicd.git] / jjb / onap-offline / build_jobs / scripts / 3_build_download_artifacts.sh
1 #!/bin/bash
2
3 ### Setting up variables used in this script ###
4 build_node_ip=$(openstack server list -c Name -c Networks -f value | egrep ${openstack_build_stack_name} | awk '{print $NF}' | sed 's/.*=//g')
5 ssh_cmd="ssh -o StrictHostKeychecking=no -i ${ssh_key} ${remote_user}@${build_node_ip}"
6 onap_docker_images_dir="/tmp/resources/offline_data/docker_images_for_nexus"
7
8 ${ssh_cmd} "${clone_oom_cmd}"
9
10 ### Changing onap values.yaml to include all the components of onap, as by default all are set to false and then the data_list creator script ###
11 ### would not work as intended ###
12
13 #TODO: Is this the best way to do this? The values.yaml could change when new components are added and static content will not mirror this. [eronkeo: 10-10-2019]
14 ${ssh_cmd} "sudo bash -c  \"cat << EOF > /tmp/oom/kubernetes/onap/values.yaml
15 # Copyright Â© 2019 Amdocs, Bell Canada
16 #
17 # Licensed under the Apache License, Version 2.0 (the "License");
18 # you may not use this file except in compliance with the License.
19 # You may obtain a copy of the License at
20 #
21 #       http://www.apache.org/licenses/LICENSE-2.0
22 #
23 # Unless required by applicable law or agreed to in writing, software
24 # distributed under the License is distributed on an "AS IS" BASIS,
25 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
26 # See the License for the specific language governing permissions and
27 # limitations under the License.
28
29 #################################################################
30 # Global configuration overrides.
31 #
32 # These overrides will affect all helm charts (ie. applications)
33 # that are listed below and are 'enabled'.
34 #################################################################
35 global:
36   # Change to an unused port prefix range to prevent port conflicts
37   # with other instances running within the same k8s cluster
38   nodePortPrefix: 302
39   nodePortPrefixExt: 304
40
41   # ONAP Repository
42   # Uncomment the following to enable the use of a single docker
43   # repository but ONLY if your repository mirrors all ONAP
44   # docker images. This includes all images from dockerhub and
45   # any other repository that hosts images for ONAP components.
46   #repository: nexus3.onap.org:10001
47   repositoryCred:
48     user: docker
49     password: docker
50
51   # readiness check - temporary repo until images migrated to nexus3
52   readinessRepository: oomk8s
53   # logging agent - temporary repo until images migrated to nexus3
54   loggingRepository: docker.elastic.co
55
56   # image pull policy
57   pullPolicy: Always
58
59   # default mount path root directory referenced
60   # by persistent volumes and log files
61   persistence:
62     mountPath: /dockerdata-nfs
63     enableDefaultStorageclass: false
64     parameters: {}
65     storageclassProvisioner: kubernetes.io/no-provisioner
66     volumeReclaimPolicy: Retain
67
68   # override default resource limit flavor for all charts
69   # flag to enable debugging - application support required
70   debugEnabled: false
71
72 #################################################################
73 # Enable/disable and configure helm charts (ie. applications)
74 # to customize the ONAP deployment.
75 #################################################################
76 aaf:
77   enabled: true
78 aai:
79   enabled: true
80 appc:
81   enabled: true
82   config:
83     openStackType: OpenStackProvider
84     openStackName: OpenStack
85     openStackKeyStoneUrl: http://localhost:8181/apidoc/explorer/index.html
86     openStackServiceTenantName: default
87     openStackDomain: default
88     openStackUserName: admin
89     openStackEncryptedPassword: admin
90 cassandra:
91   enabled: true
92 clamp:
93   enabled: true
94 cli:
95   enabled: true
96 consul:
97   enabled: true
98 contrib:
99   enabled: true
100 dcaegen2:
101   enabled: true
102 #Pnda site is down and can't pull any version of pnda at the moment
103 pnda:
104   enabled: false
105 dmaap:
106   enabled: true
107 esr:
108   enabled: true
109 log:
110   enabled: true
111 sniro-emulator:
112   enabled: true
113 oof:
114   enabled: true
115 mariadb-galera:
116   enabled: true
117 msb:
118   enabled: true
119 multicloud:
120   enabled: true
121 nbi:
122   enabled: true
123   config:
124     # openstack configuration
125     openStackRegion: "Yolo"
126     openStackVNFTenantId: "1234"
127 nfs-provisioner:
128   enabled: true
129 policy:
130   enabled: true
131 pomba:
132   enabled: true
133 portal:
134   enabled: true
135 robot:
136   enabled: true
137   config:
138     # openStackEncryptedPasswordHere should match the encrypted string used in SO and APPC and overridden per environment
139     openStackEncryptedPasswordHere: "c124921a3a0efbe579782cde8227681e"
140 sdc:
141   enabled: true
142 sdnc:
143   enabled: true
144
145   replicaCount: 1
146
147   mysql:
148     replicaCount: 1
149 so:
150   enabled: true
151
152   replicaCount: 1
153
154   liveness:
155     # necessary to disable liveness probe when setting breakpoints
156     # in debugger so K8s doesn't restart unresponsive container
157     enabled: true
158
159   # so server configuration
160   config:
161     # message router configuration
162     dmaapTopic: "AUTO"
163     # openstack configuration
164     openStackUserName: "vnf_user"
165     openStackRegion: "RegionOne"
166     openStackKeyStoneUrl: "http://1.2.3.4:5000"
167     openStackServiceTenantName: "service"
168     openStackEncryptedPasswordHere: "c124921a3a0efbe579782cde8227681e"
169
170   # configure embedded mariadb
171   mariadb:
172     config:
173       mariadbRootPassword: password
174 uui:
175   enabled: true
176 vfc:
177   enabled: true
178 vid:
179   enabled: true
180 vnfsdk:
181   enabled: true
182 modeling:
183   enabled: true
184 nginx-ingress:
185   enabled: true
186 EOF
187 \"
188 "
189
190 ###TODO There is a script created in the offline installer to check rpms and create repo, but at the moment it is not usable, thus it is done manually###
191 #${ssh_cmd} "sudo /tmp/onap-offline/build/create_repo.sh -d $(pwd)"
192
193 ### RPM's for CentOS were changed, thus we need to remake the rpm.list file ###
194 ${ssh_cmd} "sudo bash -c  \"cat << EOF > ${build_dir}/data_lists/onap_rpm.list
195 #Renewed list of rpms
196 containerd.io-1.2.5-3.1.el7.x86_64
197 container-selinux-1.12.5-14.el7.x86_64
198 container-selinux-2.107-3.el7.noarch
199 docker-ce-18.09.5-3.el7.x86_64
200 docker-ce-cli-18.09.6-3.el7.x86_64
201 gssproxy-0.7.0-26.el7.x86_64
202 keyutils-1.5.8-3.el7.x86_64
203 libbasicobjects-0.1.1-32.el7.x86_64
204 libcollection-0.7.0-32.el7.x86_64
205 libevent-2.0.21-4.el7.x86_64
206 libini_config-1.3.1-32.el7.x86_64
207 libnfsidmap-0.25-19.el7.x86_64
208 libpath_utils-0.2.1-32.el7.x86_64
209 libref_array-0.1.5-32.el7.x86_64
210 libverto-libevent-0.2.5-4.el7.x86_64
211 nfs-utils-1.3.0-0.65.el7.x86_64
212 python-docker-py-1.10.6-9.el7_6.noarch
213 python-docker-pycreds-0.3.0-9.el7_6.noarch
214 python-ipaddress-1.0.16-2.el7.noarch
215 python-jsonpointer-1.9-2.el7.noarch
216 python-websocket-client-0.56.0-3.git3c25814.el7.noarch
217 EOF\"
218 "
219
220 ###Need to download and install helm in order to populate data_list according to oom helm charts###
221 ###Since we cannot login as root, and scripts presume you are a root user,need to set up correctly to be able to use helm ###
222
223 ${ssh_cmd} "sudo ${build_dir}/download/download.py --http ${data_list_dir}/infra_bin_utils.list ${resources_dir}/downloads"
224 ${ssh_cmd} "sudo tar -xf ${resources_dir}/downloads/storage.googleapis.com/kubernetes-helm/*.tar.gz linux-amd64/helm"
225 ${ssh_cmd} "sudo mv linux-amd64/helm /usr/local/bin/helm"
226 ${ssh_cmd} "sudo sed -i -e '/secure_path/ s[=.*[&:/usr/local/bin[' /etc/sudoers"
227 ${ssh_cmd} "sudo sed -i ${sed_cmd} ${build_dir}/creating_data/docker-images-collector.sh"
228 ${ssh_cmd} "sudo ${build_dir}/creating_data/docker-images-collector.sh /tmp/oom/kubernetes/onap &>/dev/null"
229
230 ###*******Commands to incorporate Online PART 1*******###
231 #${ssh_cmd} "sudo curl https://artifactory.nordix.org/artifactory/list/onap/online-install/master/latest/onap_docker_images.list -o ${onap_offline_dir}/onap_docker_images_online.list"
232 #scp -o StrictHostKeychecking=no -i ${ssh_key} ${WORKSPACE}/build/scripts/docker_sha_downloader.py ${openstack_user}@${build_node_ip}:${onap_offline_dir}/docker_sha_downloader.py
233 #${ssh_cmd} "sudo $(onap_offline_dir}/docker_sha_downloader.py -l onap_docker_images_online.list -d ${onap_docker_images_dir}"
234 #${ssh_cmd} "sudo sed -i '/nexus3.onap.org:10001\/onap/d' ${data_list_dir}/onap_docker_images.list"
235
236 ###Download Scripts run step by step instead of using a wrapper script###
237 ${ssh_cmd} "sudo ${build_dir}/download/download.py \
238 --docker ${data_list_dir}/infra_docker_images.list ${resources_dir}/offline_data/docker_images_infra \
239 --docker ${data_list_dir}/k8s_docker_images.list ${resources_dir}/offline_data/docker_images_for_nexus \
240 --docker ${data_list_dir}/rke_docker_images.list ${resources_dir}/offline_data/docker_images_for_nexus \
241 --docker ${data_list_dir}/onap_docker_images.list ${resources_dir}/offline_data/docker_images_for_nexus"
242
243 if [ $? -ne 0 ]; then
244         echo "Error downloading docker images: Retrying"
245     #There is a problem with the collector making a list with the same image being pulled twice, but once from a bad repo, thus it needs to be removed
246     ${ssh_cmd} "sudo sed -i '/registry.hub.docker.com\/onap\/multicloud\/framework-artifactbroker:1.4.2/d' ${build_dir}/data_lists/onap_docker_images.list"
247         ${ssh_cmd} "sudo ${build_dir}/download/download.py \
248         --docker ${data_list_dir}/infra_docker_images.list ${resources_dir}/offline_data/docker_images_infra \
249         --docker ${data_list_dir}/k8s_docker_images.list ${resources_dir}/offline_data/docker_images_for_nexus \
250         --docker ${data_list_dir}/rke_docker_images.list ${resources_dir}/offline_data/docker_images_for_nexus \
251         --docker ${data_list_dir}/onap_docker_images.list ${resources_dir}/offline_data/docker_images_for_nexus"
252         if [ $? -ne 0 ]; then
253     echo "Error downloading docker images -----RETRY FAILED-----"
254     exit -1
255   fi
256 fi
257
258 ${ssh_cmd} "sudo ${build_dir}/download/download.py --rpm ${data_list_dir}/onap_rpm.list ${resources_dir}/pkg/rhel"
259 if [ $? -ne 0 ]; then
260         echo "Error downloading rpm files"
261   exit -1
262 fi
263
264 ###Need to create repo, as that is used in the deployment stage###
265 ${ssh_cmd} "sudo createrepo /tmp/resources/pkg/rhel"
266 if [ $? -ne 0 ]; then
267     echo "Error creating repo"
268     exit -1
269 fi
270
271 ###*******Commands to incorporate Online PART 2 ( TO BE LEFT COMMENTED OUT FOR NIGHTLY PURPOSES ) *******###
272 #${ssh_cmd} "sudo bash -c \"cat ${onap_offline_dir}/onap_docker_images_online.list | sed 's/#sha256.*//' > ${onap_offline_dir}/onap_docker_images_work.list\""
273 #${ssh_cmd} "sudo sed -i 's/registry.nordix.org\/onap\/online-install\//nexus.onap.org:10001\//' ${onap_offline_dir}/onap_docker_images_work.list"
274 #${ssh_cmd} "sudo bash -c \"cat ${onap_offline_dir}/onap_docker_images_work.list | sort >> ${data_list_dir}/onap_docker_images.list\""
275
276
277 ###SHOULD NOT BE NEEDED ANYMORE IF WE ARE DROPPING THE 4 DIGIT TAG, but will be kept just in case###
278 #${ssh_cmd} "sudo sed -i 's/\.[0-9]*$//' ${onap_offline_dir}/onap_docker_images_work.list"
279 #${ssh_cmd} "sudo sed -i 's/\.[0-9]*[[:blank:]]$//' ${onap_offline_dir}/onap_docker_images_work.list"