Skip to content
Snippets Groups Projects
Commit d4040acd authored by MJB's avatar MJB
Browse files

added port mapping from vagrant VM host to containers

parent 20bbac2f
No related branches found
No related tags found
No related merge requests found
......@@ -18,7 +18,10 @@ Vagrant.configure("2") do |config|
vb.memory = "8192"
end
#config.vm.network "forwarded_port", guest: 80, host: 8080
# Tick stack on CLMC service
config.vm.network "forwarded_port", guest: 8888, host: 8888
config.vm.network "forwarded_port", guest: 8086, host: 8086
config.vm.network "forwarded_port", guest: 9092, host: 9092
# Install lxc
config.vm.provision :shell, inline: $lxc_script
......
......@@ -84,6 +84,17 @@ create() {
# start telegraf
lxc-attach -n ${service_name} -- service telegraf restart
fi
# set forward ports
ports=$(echo $SERVICE | jq -r '.forward_ports')
for row in $(echo "${ports}" | jq -r '.[] | @base64'); do
_jq() {
echo ${row} | base64 --decode | jq -r ${1}
}
guest_port=$(_jq '.guest')
host_port=$(_jq '.host')
iptables -t nat -A PREROUTING -p tcp -i enp0s3 --dport ${host_port} -j DNAT --to-destination ${ip}:${guest_port}
done
fi
}
......@@ -111,8 +122,22 @@ destroy() {
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' ${config_file})
# remove static ip
SERVICE=$(jq --arg NAME ${service_name} '.[] | select(.name==$NAME)' ${config_file})
ip=$(echo $SERVICE | jq -r '.ip_address')
sed -i "/dhcp-host=${service_name},/d" /etc/lxc/dnsmasq.conf
# remove forward ports
ports=$(echo $SERVICE | jq -r '.forward_ports')
for row in $(echo "${ports}" | jq -r '.[] | @base64'); do
_jq() {
echo ${row} | base64 --decode | jq -r ${1}
}
guest_port=$(_jq '.guest')
host_port=$(_jq '.host')
iptables -t nat -D PREROUTING -p tcp -i enp0s3 --dport ${host_port} -j DNAT --to-destination ${ip}:${guest_port}
done
fi
}
......@@ -173,4 +198,8 @@ for service_name in $service_names; do
;;
esac
fi
echo "------>Create iptables summary"
iptables -t nat -L -n -v
done
......@@ -3,7 +3,12 @@
"ip_address": "172.40.231.51",
"influxdb_url": "http://172.40.231.51:8086",
"database_name": "CLMCMetrics",
"report_period": "25"
"report_period": "25",
"forward_ports": [
{ "guest": 8086, "host": 8086 },
{ "guest": 8888, "host": 8888 },
{ "guest": 9092, "host": 9092 }
]
},
{
"name": "apache",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment