Skip to content
Snippets Groups Projects
Commit ef0e2a57 authored by Stephen C Phillips's avatar Stephen C Phillips
Browse files

Tidies script, improving use of jq

parent 03a0370d
No related branches found
No related tags found
No related merge requests found
......@@ -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
......
#!/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
#!/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
#!/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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment