diff --git a/clmctest/conts-create.sh b/clmctest/conts-create.sh index f49e376c0c20bcc2487af78e573597f92ff666d6..bfe4a5ac0912ceaddf9aa17eb65671db56c0ae22 100755 --- a/clmctest/conts-create.sh +++ b/clmctest/conts-create.sh @@ -2,21 +2,19 @@ set -eu -o pipefail rspec_file=rspec.json -service_count=`jq '. | length' ${rspec_file}` -i=0 -while [ $i -lt ${service_count} ]; do - service_name_key=".[${i}].name" - service_name=`jq ${service_name_key} ${rspec_file} | tr -d '"'` +service_names=$(jq -r '.[].name' ${rspec_file}) +for service_name in $service_names; do if ! lxc-info -n ${service_name}; then echo "Creating container: ${service_name}" lxc-create -t download -n ${service_name} -- --dist ubuntu --release xenial --arch amd64 - - ip_key=".[${i}].ip_address" - ip=`jq ${ip_key} ${rspec_file} | tr -d '"'` + + SERVICE=$(jq --arg NAME ${service_name} '.[] | select(.name==$NAME)' ${rspec_file}) + echo $SERVICE + ip=$(echo $SERVICE | jq -r '.ip_address') echo "dhcp-host=${service_name},${ip}" >> /etc/lxc/dnsmasq.conf - echo "Coping files" + echo "Copying files" container_dir="/var/lib/lxc/"${service_name}"/rootfs" container_vagrant_dir=${container_dir}"/vagrant" @@ -39,48 +37,40 @@ while [ $i -lt ${service_count} ]; do cmd=/vagrant/clmctest/services/pytest/install.sh lxc-attach -n ${service_name} -- ${cmd} else - sf_id_key=".[${i}].sf_id" - sf_id=`jq ${sf_id_key} ${rspec_file} | tr -d '"'` + location=$(echo $SERVICE | jq -r '.location') + sf_id=$(echo $SERVICE | jq -r '.sf_id') + sf_id_instance=$(echo $SERVICE | jq -r '.sf_id_instance') + sfc_id=$(echo $SERVICE | jq -r '.sfc_id') + sfc_id_instance=$(echo $SERVICE | jq -r '.sfc_id_instance') + sr_id=$(echo $SERVICE | jq -r '.sr_id') + ipendpoint_id=$(echo $SERVICE | jq -r '.ipendpoint_id') + influxdb_url=$(echo $SERVICE | jq -r '.influxdb_url') + database_name=$(echo $SERVICE | jq -r '.database_name') + + echo "*********************" + echo $location + echo $sf_id + cmd=/vagrant/clmctest/services/${sf_id}/install.sh lxc-attach -n ${service_name} -v REPO_ROOT=/vagrant -- ${cmd} cmd=/vagrant/scripts/clmc-agent/install.sh lxc-attach -n ${service_name} -v REPO_ROOT=/vagrant -- ${cmd} - cp -f /vagrant/scripts/clmc-agent/telegraf.conf ${container_dir}/etc/telegraf/ - cp -f /vagrant/scripts/clmc-agent/telegraf_output.conf ${container_dir}/etc/telegraf/telegraf.d/ - cp /vagrant/clmctest/services/${sf_id}/telegraf_${sf_id}.conf ${container_dir}/etc/telegraf/telegraf.d/ + cp -f /vagrant/scripts/clmc-agent/telegraf.conf ${container_dir}/etc/telegraf/ + cp -f /vagrant/scripts/clmc-agent/telegraf_output.conf ${container_dir}/etc/telegraf/telegraf.d/ + cp /vagrant/clmctest/services/${sf_id}/telegraf_${sf_id}.conf ${container_dir}/etc/telegraf/telegraf.d/ cmd=/vagrant/scripts/clmc-agent/configure_template.sh lxc-attach -n ${service_name} -- ${cmd} - location_key=".[${i}].location" - location=`jq ${location_key} ${rspec_file} | tr -d '"'` - sfc_id_key=".[${i}].sfc_id" - sfc_id=`jq ${sfc_id_key} ${rspec_file} | tr -d '"'` - sfc_id_instance_key=".[${i}].sfc_id_instance" - sfc_id_instance=`jq ${sfc_id_instance_key} ${rspec_file} | tr -d '"'` - sf_id_key=".[${i}].sf_id" - sf_id=`jq ${sf_id_key} ${rspec_file} | tr -d '"'` - sf_id_instance_key=".[${i}].sf_id_instance" - sf_id_instance=`jq ${sf_id_instance_key} ${rspec_file} | tr -d '"'` - ipendpoint_id_key=".[${i}].ipendpoint_id" - ipendpoint_id=`jq ${ipendpoint_id_key} ${rspec_file} | tr -d '"'` - sr_id_key=".[${i}].sr_id" - sr_id=`jq ${sr_id_key} ${rspec_file} | tr -d '"'` - influxdb_url_key=".[${i}].influxdb_url" - influxdb_url=`jq ${influxdb_url_key} ${rspec_file} | tr -d '"'` - database_name_key=".[${i}].database_name" - database_name=`jq ${database_name_key} ${rspec_file} | tr -d '"'` - cmd="/vagrant/scripts/clmc-agent/configure.sh ${location} ${sfc_id} ${sfc_id_instance} ${sf_id} ${sf_id_instance} ${ipendpoint_id} ${sr_id} ${influxdb_url} ${database_name}" lxc-attach -n ${service_name} -- ${cmd} - lxc-attach -n ${service_name} -- service telegraf restart - fi + lxc-attach -n ${service_name} -- service telegraf restart + fi fi - let i=i+1 done ./conts-stop.sh diff --git a/clmctest/conts-destroy.sh b/clmctest/conts-destroy.sh index 779b45831bb7e8a93d6d4741198e3fafc85ebaf9..82cc1431068093371995dd94cd1f69fd3da82981 100755 --- a/clmctest/conts-destroy.sh +++ b/clmctest/conts-destroy.sh @@ -1,19 +1,15 @@ #!/bin/bash rspec_file=rspec.json -service_count=`jq '. | length' ${rspec_file}` -i=0 -while [ $i -lt ${service_count} ]; do - service_name_key=".[${i}].name" - service_name=`jq ${service_name_key} ${rspec_file} | tr -d '"'` +service_names=$(jq -r '.[].name' ${rspec_file}) +for service_name in $service_names; do if lxc-info -n ${service_name}; then echo "Stopping container: ${service_name}" - lxc-stop -n ${service_name} - echo "Destroying container: ${service_name}" - lxc-destroy -n ${service_name} + lxc-stop -n ${service_name} + echo "Destroying container: ${service_name}" + lxc-destroy -n ${service_name} + ip=$(jq -r --arg NAME ${service_name} '.[] | select(.name==$NAME | .ip_address') sed -i '/${ip}/d' /etc/lxc/dnsmasq.conf fi - let i=i+1 done - \ No newline at end of file diff --git a/clmctest/conts-start.sh b/clmctest/conts-start.sh index e9f55060a2adeaf52d803bcd85f0d7b22f20c17e..70c1ef8209c76fd71050071b56ccacf5c43e4918 100755 --- a/clmctest/conts-start.sh +++ b/clmctest/conts-start.sh @@ -1,16 +1,11 @@ #!/bin/bash rspec_file=rspec.json -service_count=`jq '. | length' ${rspec_file}` -i=0 -while [ $i -lt ${service_count} ]; do - service_name_key=".[${i}].name" - service_name=`jq ${service_name_key} ${rspec_file} | tr -d '"'` +service_names=$(jq -r '.[].name' ${rspec_file}) +for service_name in $service_names; do if lxc-info -n ${service_name}; then echo "Starting container: ${service_name}" - lxc-start -n ${service_name} + lxc-start -n ${service_name} fi - let i=i+1 done - \ No newline at end of file diff --git a/clmctest/conts-stop.sh b/clmctest/conts-stop.sh index 13e97d2d2af5f665cb557fae921c07ef4c1d923f..33b65522a99e814af219bc3162ba1e8abc583191 100755 --- a/clmctest/conts-stop.sh +++ b/clmctest/conts-stop.sh @@ -1,16 +1,11 @@ #!/bin/bash rspec_file=rspec.json -service_count=`jq '. | length' ${rspec_file}` -i=0 -while [ $i -lt ${service_count} ]; do - service_name_key=".[${i}].name" - service_name=`jq ${service_name_key} ${rspec_file} | tr -d '"'` +service_names=$(jq -r '.[].name' ${rspec_file}) +for service_name in $service_names; do if lxc-info -n ${service_name}; then echo "Stopping container: ${service_name}" - lxc-stop -n ${service_name} + lxc-stop -n ${service_name} fi - let i=i+1 -done - \ No newline at end of file +done \ No newline at end of file