Merge "Use ODL Be SR3"
[fuel.git] / prototypes / sfc_tacker / poc.tacker-up.sh
index f7c9e11..e22eeac 100755 (executable)
@@ -23,9 +23,12 @@ MYREPO="tacker-server"
 CLIREPO="tacker-client"
 DEPREPO="jsonrpclib"
 
-CLIENT="python-python-tackerclient_0.0.1~dev48-1_all.deb"
-JSONRPC="python-jsonrpclib_0.1.7-1_all.deb"
-SERVER="python-tacker_2014.2.0~dev177-1_all.deb"
+CLIENT=$(echo python-python-tackerclient_*_all.deb)
+JSONRPC=$(echo python-jsonrpclib_*_all.deb)
+SERVER=$(echo python-tacker_*_all.deb)
+
+#fuel admin user name
+fadm="fadm"
 
 # Function checks whether crudini is available, if not - installs
 function chkCrudini () {
@@ -74,6 +77,7 @@ function deployJsonrpclib () {
     dpkg --purge python-jsonrpclib
     python setup.py --command-packages=stdeb.command bdist_deb
     cd "deb_dist"
+    JSONRPC=$(echo python-jsonrpclib_*_all.deb)
     cp $JSONRPC $MYDIR
     dpkg -i $JSONRPC
 }
@@ -86,7 +90,7 @@ function buildTackerServer () {
     fi
     cd $MYDIR
     rm -rf $MYREPO
-    git clone  -b 'SFC_brahmaputra' https://github.com/trozet/tacker.git $MYREPO
+    git clone  -b 'SFC_colorado' https://github.com/trozet/tacker.git $MYREPO
     cd $MYREPO
     patch -p  1 <<EOFSCP
 diff -ruN a/setup.cfg b/setup.cfg
@@ -117,6 +121,9 @@ EOFSCP
 
 # Function corrects and installs the Tacker-server debian package
 function blessPackage () {
+    pushd "${MYDIR}/${MYREPO}/deb_dist"
+    SERVER=$(echo python-tacker_*_all.deb)
+    popd
     DEBFILE="${MYDIR}/${MYREPO}/deb_dist/${SERVER}"
     TMPDIR=$(mktemp -d /tmp/deb.XXXXXX) || exit 1
     OUTPUT=$(basename "$DEBFILE")
@@ -144,9 +151,9 @@ diff -ruN a/DEBIAN/control b/DEBIAN/control
 EOFDC
     cd "$MYDIR"
     echo "Patching  deb..."
-    dpkg -b "$TMPDIR" "${MYDIR}/${OUTPUT}"
+    dpkg -b "$TMPDIR" "${MYDIR}/${SERVER}"
     rm -r "$TMPDIR"
-    dpkg -i "${MYDIR}/${OUTPUT}"
+    dpkg -i "${MYDIR}/${SERVER}"
 }
 
 # Function deploys Tacker-server (installs missing mandatory files: upstart, default)
@@ -212,8 +219,9 @@ function deployTackerClient() {
     cd $CLIREPO
     python setup.py --command-packages=stdeb.command bdist_deb
     cd "deb_dist"
+    CLIENT=$(echo python-python-tackerclient_*_all.deb)
     cp $CLIENT $MYDIR
-    dpkg -i $CLIENT
+    dpkg -i "${MYDIR}/${CLIENT}"
 }
 
 # Function removes the cloned git repositories
@@ -234,9 +242,10 @@ function populate_client() {
     for anode in $clusternodes ; do
         if [ "$anode" != "$myaddr" ] ; then
             echo "Installing $CLIENT on $anode"
-            scp ${SSH_OPTIONS[@]} $CLIENT $anode:$CLIENT
-            ssh ${SSH_OPTIONS[@]} $anode dpkg -i $CLIENT
-            ssh ${SSH_OPTIONS[@]} $anode rm $CLIENT
+            scp ${SSH_OPTIONS[@]} -i "${MYDIR}/.ssh/id_rsa" ${CLIENT} ${fadm}@${anode}:${CLIENT}
+            ssh ${SSH_OPTIONS[@]} -i "${MYDIR}/.ssh/id_rsa" ${fadm}@${anode} sudo dpkg -i ${CLIENT}
+            ssh ${SSH_OPTIONS[@]} -i "${MYDIR}/.ssh/id_rsa" ${fadm}@${anode} rm ${CLIENT}
+
         fi
     done
 }
@@ -257,12 +266,14 @@ function orchestarte () {
 
     auth_uri=$(crudini --get '/etc/heat/heat.conf' 'keystone_authtoken' 'auth_uri')
     identity_uri=$(crudini --get '/etc/heat/heat.conf' 'keystone_authtoken' 'identity_uri')
+    int_addr=$(ifconfig br-mesh | sed -n '/inet addr/s/.*addr.\([^ ]*\) .*/\1/p')
     mgmt_addr=$(ifconfig br-mgmt | sed -n '/inet addr/s/.*addr.\([^ ]*\) .*/\1/p')
     pub_addr=$(ifconfig br-ex-lnx | sed -n '/inet addr/s/.*addr.\([^ ]*\) .*/\1/p')
     rabbit_host=$(crudini --get '/etc/heat/heat.conf' 'oslo_messaging_rabbit' 'rabbit_hosts'| cut -d ':' -f 1)
     rabbit_password=$(crudini --get '/etc/heat/heat.conf' 'oslo_messaging_rabbit' 'rabbit_password')
     sql_host=$(hiera database_vip)
     database_connection="mysql://tacker:tacker@${sql_host}/tacker"
+    internal_url="http://${int_addr}:${bind_port}"
     admin_url="http://${mgmt_addr}:${bind_port}"
     public_url="http://${pub_addr}:${bind_port}"
     heat_api_vip=$(crudini --get '/etc/heat/heat.conf' 'heat_api' 'bind_host')
@@ -297,11 +308,6 @@ function orchestarte () {
 
    class { 'tacker::db::mysql':
        password      => '${myPassword}',
-       dbname        => 'tacker',
-       user          => 'tacker',
-       host          => '127.0.0.1',
-       charset       => 'utf8',
-       collate       => 'utf8_general_ci',
        allowed_hosts => ${allowed_hosts},
    }
 
@@ -309,12 +315,17 @@ function orchestarte () {
      password            => '${myPassword}',
      tenant              => '${service_tenant}',
      admin_url           => '${admin_url}',
-     internal_url        => '${admin_url}',
+     internal_url        => '${internal_url}',
      public_url          => '${public_url}',
      region              => '${myRegion}',
    }
 EOF
 
+    apt-get install -y mysql-client-5.5
+    cat > /usr/bin/tacker-manage <<EOFAKEMANAGE
+#!/bin/bash
+EOFAKEMANAGE
+    chmod +x /usr/bin/tacker-manage
     puppet apply configure_tacker.pp
     rm -f tackerc
     cat > tackerc <<EOFRC
@@ -324,11 +335,12 @@ export OS_NO_CACHE='true'
 export OS_TENANT_NAME='${service_tenant}'
 export OS_PROJECT_NAME='${service_tenant}'
 export OS_USERNAME='tacker'
-export OS_PASSWORD='tacker'
+export OS_PASSWORD='${myPassword}'
 export OS_AUTH_URL='${auth_uri}'
 export OS_DEFAULT_DOMAIN='default'
 export OS_AUTH_STRATEGY='keystone'
-export OS_REGION_NAME='RegionOne'
+export OS_REGION_NAME='${myRegion}'
+export TACKER_ENDPOINT_TYPE='internalURL'
 EOFRC
     chmod +x tackerc
 }
@@ -343,8 +355,8 @@ function populate_rc() {
     myaddr=$(ifconfig br-fw-admin | sed -n '/inet addr/s/.*addr.\([^ ]*\) .*/\1/p')
     for anode in $clusternodes ; do
         if [ "$anode" != "$myaddr" ] ; then
-            echo "Populating seetings to $anode"
-            scp ${SSH_OPTIONS[@]} tackerc $anode:tackerc
+            echo "Populating settings to $anode"
+            scp ${SSH_OPTIONS[@]} -i "${MYDIR}/.ssh/id_rsa" tackerc ${fadm}@${anode}:tackerc
         fi
     done
 }