summaryrefslogtreecommitdiffstats
path: root/boot/dcae_install.sh
blob: 74336817314c223bbfdbda98b0d8341a6c213695 (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
#!/bin/bash

# Read configuration files
NEXUS_REPO=$(cat /opt/config/nexus_repo.txt)
ARTIFACTS_VERSION=$(cat /opt/config/artifacts_version.txt)
DNS_IP_ADDR=$(cat /opt/config/dns_ip_addr.txt)
CLOUD_ENV=$(cat /opt/config/cloud_env.txt)
GERRIT_BRANCH=$(cat /opt/config/gerrit_branch.txt)

BASE=$(cat /opt/config/dcae_base_environment.txt)
PUBLIC_NET_ID=$(cat /opt/config/public_net_id.txt)
ZONE=$(cat /opt/config/dcae_zone.txt)
STATE=$(cat /opt/config/dcae_state.txt)
HORIZON_URL=$(cat /opt/config/horizon_url.txt)
OPENSTACK_USER=$(cat /opt/config/openstack_user.txt)
OPENSTACK_PASSWORD=$(cat /opt/config/openstack_password.txt)
OPENSTACK_KEYNAME=$(cat /opt/config/key_name.txt)"_"$(cat /opt/config/rand_str.txt)"_dcae"
OPENSTACK_PUBKEY=$(cat /opt/config/pub_key.txt)
OPENSTACK_AUTH_METHOD=$(cat /opt/config/openstack_auth_method.txt)
KEYSTONE_URL=$(cat /opt/config/keystone_url.txt)
OPENSTACK_TENANT_ID=$(cat /opt/config/tenant_id.txt)
OPENSTACK_TENANT_NAME=OPEN-ECOMP
OPENSTACK_REGION=$(cat /opt/config/openstack_region.txt)
OPENSTACK_PRIVATE_NETWORK=$(cat /opt/config/openstack_private_network_name.txt)

NEXUS_URL_ROOT=$(cat /opt/config/nexus_repo_root.txt)
NEXUS_USER=$(cat /opt/config/nexus_username.txt)
NEXUS_PASSWORD=$(cat /opt/config/nexus_password.txt)
NEXUS_URL_SNAPSHOTS=$(cat /opt/config/nexus_url_snapshots.txt)
DOCKER_REGISTRY=$(cat /opt/config/nexus_docker_repo.txt)
DCAE_CODE_VERSION=$(cat /opt/config/dcae_code_version.txt)

DCAE_IP_ADDR=$(cat /opt/config/dcae_ip_addr.txt)
DCAE_COLL_IP_ADDR=$(cat /opt/config/dcae_coll_ip_addr.txt)
DCAE_DB_IP_ADDR=$(cat /opt/config/dcae_db_ip_addr.txt)
DCAE_HDP1_IP_ADDR=$(cat /opt/config/dcae_hdp1_ip_addr.txt)
DCAE_HDP2_IP_ADDR=$(cat /opt/config/dcae_hdp2_ip_addr.txt)
DCAE_HDP3_IP_ADDR=$(cat /opt/config/dcae_hdp3_ip_addr.txt)

if [[ $CLOUD_ENV == "openstack" ]]
then
	# Add host name to /etc/host to avoid warnings in openstack images
	echo 127.0.0.1 $(hostname) >> /etc/hosts

	# Read floating IP mapping
	DCAE_FLOAT_IP_ADDR=$(cat /opt/config/dcae_float_ip.txt)
	DCAE_COLL_FLOAT_IP=$(cat /opt/config/dcae_coll_float_ip.txt)
	DCAE_DB_FLOAT_IP=$(cat /opt/config/dcae_db_float_ip.txt)
	DCAE_HDP1_FLOAT_IP=$(cat /opt/config/dcae_hdp1_float_ip.txt)
	DCAE_HDP2_FLOAT_IP=$(cat /opt/config/dcae_hdp2_float_ip.txt)
	DCAE_HDP3_FLOAT_IP=$(cat /opt/config/dcae_hdp3_float_ip.txt)
fi

# Download dependencies
add-apt-repository -y ppa:openjdk-r/ppa
apt-get update
apt-get install -y apt-transport-https ca-certificates wget make openjdk-8-jdk git ntp ntpdate

# Download scripts from Nexus
curl -k $NEXUS_REPO/org.openecomp.demo/boot/$ARTIFACTS_VERSION/dcae_vm_init.sh -o /opt/dcae_vm_init.sh
curl -k $NEXUS_REPO/org.openecomp.demo/boot/$ARTIFACTS_VERSION/dcae_serv.sh -o /opt/dcae_serv.sh
chmod +x /opt/dcae_vm_init.sh
chmod +x /opt/dcae_serv.sh
mv /opt/dcae_serv.sh /etc/init.d
update-rc.d dcae_serv.sh defaults

# Download and install docker-engine and docker-compose
echo "deb https://apt.dockerproject.org/repo ubuntu-trusty main" | sudo tee /etc/apt/sources.list.d/docker.list
apt-get update
apt-get install -y linux-image-extra-$(uname -r) linux-image-extra-virtual
apt-get install -y --allow-unauthenticated docker-engine

mkdir /opt/docker
curl -L https://github.com/docker/compose/releases/download/1.9.0/docker-compose-`uname -s`-`uname -m` > /opt/docker/docker-compose
chmod +x /opt/docker/docker-compose

# DNS IP address configuration
echo "nameserver "$DNS_IP_ADDR >> /etc/resolvconf/resolv.conf.d/head
resolvconf -u

# Clone Gerrit repository
cd /opt
git clone -b $GERRIT_BRANCH --single-branch http://gerrit.onap.org/r/dcae/demo/startup/controller.git dcae-startup-vm-controller

# Build a configuration file for the DCAE Controller. The floating IP block is used in OpenStack only and is empty for other environments
cd /opt/dcae-startup-vm-controller
mkdir -p /opt/app/dcae-controller
cat > /opt/app/dcae-controller/config.yaml << EOF_CONFIG
BASE: $BASE
ZONE: $ZONE
STATE: $STATE
DCAE-VERSION: $DCAE_CODE_VERSION
HORIZON-URL: $HORIZON_URL/$OPENSTACK_USER
KEYSTONE-URL: $KEYSTONE_URL
OPENSTACK-TENANT-ID: $OPENSTACK_TENANT_ID
OPENSTACK-TENANT-NAME: $OPENSTACK_TENANT_NAME
OPENSTACK-REGION: $OPENSTACK_REGION
OPENSTACK-PRIVATE-NETWORK: $OPENSTACK_PRIVATE_NETWORK
OPENSTACK-USER: $OPENSTACK_USER
OPENSTACK-PASSWORD: $OPENSTACK_PASSWORD
OPENSTACK-AUTH-METHOD: $OPENSTACK_AUTH_METHOD
OPENSTACK-KEYNAME: $OPENSTACK_KEYNAME
OPENSTACK-PUBKEY: $OPENSTACK_PUBKEY

NEXUS-URL-ROOT: $NEXUS_URL_ROOT
NEXUS-USER: $NEXUS_USER
NEXUS-PASSWORD: $NEXUS_PASSWORD
NEXUS-URL-SNAPSHOTS: $NEXUS_URL_SNAPSHOTS
NEXUS-RAWURL: $NEXUS_REPO

DOCKER-REGISTRY: $DOCKER_REGISTRY

GIT-MR-REPO: http://gerrit.onap.org/r/dcae/demo/startup/message-router.git

public_net_id: $PUBLIC_NET_ID
dcae_ip_addr: $DCAE_IP_ADDR
dcae_pstg00_ip_addr: $DCAE_DB_IP_ADDR
dcae_coll00_ip_addr: $DCAE_COLL_IP_ADDR
dcae_cdap00_ip_addr: $DCAE_HDP1_IP_ADDR
dcae_cdap01_ip_addr: $DCAE_HDP2_IP_ADDR
dcae_cdap02_ip_addr: $DCAE_HDP3_IP_ADDR

dcae_float_ip_addr: $DCAE_FLOAT_IP_ADDR
dcae_pstg00_float_ip_addr: $DCAE_DB_FLOAT_IP
dcae_coll00_float_ip_addr: $DCAE_COLL_FLOAT_IP
dcae_cdap00_float_ip_addr: $DCAE_HDP1_FLOAT_IP
dcae_cdap01_float_ip_addr: $DCAE_HDP2_FLOAT_IP
dcae_cdap02_float_ip_addr: $DCAE_HDP3_FLOAT_IP

EOF_CONFIG

# Run docker containers
cd /opt
./dcae_vm_init.sh