blob: 80d7ec42cc76a533fd8390ca65d920147644c64f [file] [log] [blame]
garciadeblascb430202017-11-17 15:33:02 +01001#!/bin/bash
2
3function usage() {
4 echo -e "usage: $0 [OPTIONS]"
5 echo -e " OPTIONS"
6 echo -e " -c <COMPONENT>: the component whose lxd image has to be generated. Allowed values: RO, VCA, SOUI, MON"
7 echo -e " -R <RELEASE>: push images to specific RELEASE folder"
8}
9
10GEN_ALL="y"
11GEN_RO=""
12GEN_VCA=""
13GEN_SOUI=""
14GEN_MON=""
15RELEASE="ReleaseTHREE"
16
17while getopts ":h" o; do
18 case "${o}" in
19 h)
20 usage
21 exit 0
22 ;;
23 R)
24 RELEASE="${OPTARG}"
25 ;;
26 c)
27 [ "${OPTARG}" == "RO" ] && GEN_ALL="" && GEN_RO="y" && continue
28 [ "${OPTARG}" == "VCA" ] && GEN_ALL="" && GEN_VCA="y" && continue
29 [ "${OPTARG}" == "SOUI" ] && GEN_ALL="" && GEN_SOUI="y" && continue
30 [ "${OPTARG}" == "MON" ] && GEN_ALL="" && GEN_MON="y" && continue
31 echo -e "Invalid option: '--$OPTARG'\n" >&2
32 usage && exit 1
33 ;;
34 *)
35 usage && exit 1
36 ;;
37 esac
38done
39
40[ "$GEN_ALL" == "y" ] && GEN_RO="y" && GEN_VCA="y" && GEN_SOUI="y" && GEN_MON="y"
41
42echo "Stopping containers"
43lxc stop RO
44lxc stop VCA
45lxc stop SO-ub
46#lxc stop MON
47
48echo "Saving containers as images in local lxd server"
49OSM_RO_IMAGE="osm-ro"
50OSM_VCA_IMAGE="osm-vca"
51OSM_SOUI_IMAGE="osm-soui"
52OSM_MON_IMAGE="osm-mon"
53
54[ -n "$GEN_RO" ] && lxc publish --public RO --alias ${OSM_RO_IMAGE}
55[ -n "$GEN_VCA" ] && lxc publish --public VCA --alias ${OSM_VCA_IMAGE}
56[ -n "$GEN_SOUI" ] && lxc publish --public SO-ub --alias ${OSM_SOUI_IMAGE}
57#[ -n "$GEN_MON" ] && lxc publish --public MON --alias ${OSM_MON_IMAGE}
58#lxc image list
59
60#echo "Copying images to a remote lxd server"
61#[ -n "$GEN_RO" ] && lxc image copy ${OSM_RO_IMAGE} remote:
62#[ -n "$GEN_VCA" ] && lxc image copy ${OSM_VCA_IMAGE} remote:
63#[ -n "$GEN_SOUI" ] && lxc image copy ${OSM_SOUI_IMAGE} remote:
64#[ -n "$GEN_MON" ] && lxc image copy ${OSM_MON_IMAGE} remote:
65
66echo "Exporting images as targz"
garciadeblas04df1712017-12-21 15:32:32 +010067mkdir -p "${RELEASE}"
68#trap 'rm -rf "$RELEASE"' EXIT
garciadeblascb430202017-11-17 15:33:02 +010069
garciadeblas8857f002018-03-19 14:42:49 +010070[ -n "$GEN_RO" ] && lxc image export "${OSM_RO_IMAGE}" "${RELEASE}"/"${OSM_RO_IMAGE}" || echo "Failed to export RO"
71[ -n "$GEN_VCA" ] && lxc image export "${OSM_VCA_IMAGE}" "${RELEASE}"/"${OSM_VCA_IMAGE}" || echo "Failed to export VCA"
72[ -n "$GEN_SOUI" ] && lxc image export "${OSM_SOUI_IMAGE}" "${RELEASE}"/"${OSM_SOUI_IMAGE}" || echo "Failed to export SOUI"
73#[ -n "$GEN_MON" ] && lxc image export "${OSM_MON_IMAGE}" "${RELEASE}"/"${OSM_MON_IMAGE}" || echo "Failed to export MON"
74chmod 664 "${RELEASE}"/*.tar.gz
garciadeblascb430202017-11-17 15:33:02 +010075
76echo "Pushing images to ETSI FTP server"
77RSYNC_USER_HOST=osmusers@osm-download.etsi.org
garciadeblas8857f002018-03-19 14:42:49 +010078RSYNC_OPTIONS="--delete --progress --password-file rsync.pass"
garciadeblas04df1712017-12-21 15:32:32 +010079rsync -avR "$RSYNC_OPTIONS" "$RELEASE" rsync://$RSYNC_USER_HOST/repos/osm/lxd
garciadeblascb430202017-11-17 15:33:02 +010080
81