diff --git a/internal-lab-setup-assets/Makefile b/internal-lab-setup-assets/Makefile index 3b308c8..448c5da 100644 --- a/internal-lab-setup-assets/Makefile +++ b/internal-lab-setup-assets/Makefile @@ -1,36 +1,51 @@ -# .phony: gen - -FILES=$(wildcard workshop[0-9]*.clab.yml) - clab-install: - dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo - dnf config-manager --add-repo https://yum.fury.io/netdevops/ - dnf update - dnf install docker-ce docker-ce-cli containerd.io -y - dnf install containerlab -y --nogpgcheck - containerlab version upgrade + dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo + dnf config-manager --add-repo https://yum.fury.io/netdevops/ + dnf update + dnf install docker-ce docker-ce-cli containerd.io -y + dnf install containerlab -y --nogpgcheck + containerlab version upgrade gen: clean - python gen-topo.py + python3 gen-topo.py deploy: gen - for name in workshop[0-9]*.clab.yml; do\ - containerlab deploy --reconfigure -t $${name};\ - done + for name in workshop[0-9]*.clab.yml; do\ + containerlab deploy --reconfigure -t $${name};\ + sleep 10;\ + done + +deploy-lab: + # Use like `make deploy-lab num=1` + containerlab deploy --reconfigure --topo workshop$(num).clab.yml destroy: - for name in workshop[0-9]*.clab.yml; do\ - containerlab destroy --cleanup -t $${name};\ - done - rm -rf $(wildcard clab-automation-workshop-[0-9]*) + for name in workshop[0-9]*.clab.yml; do\ + containerlab destroy --cleanup -t $${name};\ + done + rm -rf $(wildcard clab-automation-workshop-[0-9]*) + +destroy-lab: + containerlab destroy --cleanup --topo workshop$(num).clab.yml inspect: - for name in workshop[0-9]*.clab.yml; do\ - containerlab inspect -t $${name};\ - done + for name in workshop[0-9]*.clab.yml; do\ + containerlab inspect -t $${name};\ + done + +inspect-all: + containerlab inspect --all + +docker-stop-all: + # This allows the destruction of all running docker containers, regardless of if clab topology file exists + docker stop $(docker ps -a -q) + +docker-remove-all: + # This allows the removal of all running docker containers, regardless of if clab topology file exists + docker rm $(docker ps -a -q) container: - docker build -t internet2/getting_started -f Containerfile . + docker build -t internet2/getting_started -f Containerfile . clean: - rm -rf $(FILES) + rm -rf $(FILES) \ No newline at end of file