aboutsummaryrefslogtreecommitdiffstats
path: root/lib/mso
diff options
context:
space:
mode:
Diffstat (limited to 'lib/mso')
-rwxr-xr-xlib/mso94
1 files changed, 94 insertions, 0 deletions
diff --git a/lib/mso b/lib/mso
new file mode 100755
index 0000000..6dd0676
--- /dev/null
+++ b/lib/mso
@@ -0,0 +1,94 @@
+#!/bin/bash
+
+source /var/onap/functions
+
+# get_mso_images() - Function that retrieves or create MSO Docker images
+function get_mso_images {
+ if [[ "$build_image" == "True" ]]; then
+ export GIT_NO_PROJECT=/opt/
+ compile_src ${src_folders[mso]}
+ build_docker_image ${src_folders[mso]}/packages/docker docker
+ fi
+}
+
+# install_mso() - Install MSO Docker configuration project
+function install_mso {
+ MSO_ENCRYPTION_KEY=$(cat /opt/mso/docker-config/encryption.key)
+ echo -n "$openstack_api_key" | openssl aes-128-ecb -e -K $MSO_ENCRYPTION_KEY -nosalt | xxd -c 256 -p > /opt/config/api_key.txt
+
+ # Deployments in OpenStack require a keystone file
+ if [ -e /opt/config/keystone.txt ]; then
+ KEYSTONE_URL=$(cat /opt/config/keystone.txt)
+ DCP_CLLI="DEFAULT_KEYSTONE"
+ AUTH_TYPE="USERNAME_PASSWORD"
+ else
+ KEYSTONE_URL="https://identity.api.rackspacecloud.com/v2.0"
+ DCP_CLLI="RAX_KEYSTONE"
+ AUTH_TYPE="RACKSPACE_APIKEY"
+ fi
+
+ # Update the MSO configuration file.
+ read -d '' MSO_CONFIG_UPDATES <<-EOF
+{
+"default_attributes":
+ {
+ "asdc-connections":
+ {
+ "asdc-controller1":
+ {
+ "environmentName": "$dmaap_topic"
+ }
+ },
+ "mso-po-adapter-config":
+ {
+ "identity_services":
+ [
+ {
+ "dcp_clli": "$DCP_CLLI",
+ "identity_url": "$KEYSTONE_URL",
+ "mso_id": "$openstack_username",
+ "mso_pass": "$openstack_password",
+ "admin_tenant": "service",
+ "member_role": "admin",
+ "tenant_metadata": "true",
+ "identity_server_type": "KEYSTONE",
+ "identity_authentication_type": "$AUTH_TYPE"
+ }
+ ]
+ }
+ }
+}
+EOF
+ export MSO_CONFIG_UPDATES
+ export MSO_DOCKER_IMAGE_VERSION=$docker_version
+
+ install_docker
+ install_docker_compose
+ # Deploy the environment
+ pushd ${src_folders[mso]}/docker-config
+ chmod +x deploy.sh
+ if [[ "$build_image" == "True" ]]; then
+ bash deploy.sh
+ else
+ # This script takes in input 2 nexus repos (the first one for the MSO image, the second one for mariadb)
+ bash deploy.sh $nexus_docker_repo $nexus_username $nexus_password $nexus_docker_repo $nexus_username $nexus_password
+ fi
+ popd
+}
+
+# init_mso() - Function that initialize MSO services
+function init_mso {
+ if [[ "$clone_repo" == "True" ]]; then
+ clone_repos "mso"
+ if [[ "$compile_repo" == "True" ]]; then
+ compile_repos "mso"
+ fi
+ fi
+
+ if [[ "$skip_get_images" == "False" ]]; then
+ get_mso_images
+ if [[ "$skip_install" == "False" ]]; then
+ install_mso
+ fi
+ fi
+}