# This shouldn't be hardcoded
DEVSTACK_ROOT:=~/devstack
SETUPDIR:=../setup

all: prereqs admin-openrc flat_name nodes_yaml public_key private_key ceilometer_url other_keys net_fix

prereqs:
	make -f Makefile.prereqs
	sudo pip install httpie --upgrade
	mkdir -p $(SETUPDIR)

admin-openrc:
	bash ./devstack-creds.sh $(DEVSTACK_ROOT) > $(SETUPDIR)/admin-openrc.sh
	touch $(SETUPDIR)/controller_settings

flat_name:
	echo private|tr -d '\n' > $(SETUPDIR)/flat_net_name
	bash -c "source $(SETUPDIR)/admin-openrc.sh; neutron net-update private --shared"

nodes_yaml:
	export SETUPDIR=$(SETUPDIR); bash ./make-nodes-yaml.sh

ceilometer_url:
	echo http://`hostname -i`/xosmetering/ > $(SETUPDIR)/ceilometer_url

public_key: ~/.ssh/id_rsa.pub
	cp ~/.ssh/id_rsa.pub $(SETUPDIR)

private_key: ~/.ssh/id_rsa
	cp ~/.ssh/id_rsa $(SETUPDIR)

~/.ssh/id_rsa.pub:
	cat /dev/zero | ssh-keygen -q -N ""

other_keys: public_key private_key
	cp $(SETUPDIR)/id_rsa $(SETUPDIR)/node_key
	cp $(SETUPDIR)/id_rsa.pub $(SETUPDIR)/node_key.pub
	cp $(SETUPDIR)/id_rsa.pub $(SETUPDIR)/padmin_public_key

net_fix:
	sudo devstack/net-fix.sh
	bash -c "source $(SETUPDIR)/admin-openrc.sh; neutron subnet-update private-subnet --dns-nameservers list=true 8.8.8.8 8.8.4.4"
