diff --git a/playbook/install-datanode.yml b/playbook/install-datanode.yml
new file mode 100644
index 0000000000000000000000000000000000000000..d8412f1f2367bf792404b3a679d8da9294ef4713
--- /dev/null
+++ b/playbook/install-datanode.yml
@@ -0,0 +1,6 @@
+---
+- name: deploy HDFS on single node
+  hosts: 'all'
+  
+  roles:
+    - common
\ No newline at end of file
diff --git a/playbook/install-namenode.yml b/playbook/install-namenode.yml
new file mode 100644
index 0000000000000000000000000000000000000000..4db0190e51ec7f36a41d081f197566d09ed01592
--- /dev/null
+++ b/playbook/install-namenode.yml
@@ -0,0 +1,6 @@
+---
+- name: deploy HDFS on single node
+  hosts: 'namenode'
+  
+  roles:
+    - common
\ No newline at end of file
diff --git a/vagrant/cluster/Vagrantfile b/vagrant/cluster/Vagrantfile
new file mode 100644
index 0000000000000000000000000000000000000000..646809ab47c87bfb6cc5ee9c382f07db4f2b1ce1
--- /dev/null
+++ b/vagrant/cluster/Vagrantfile
@@ -0,0 +1,29 @@
+Vagrant.configure("2") do |config|
+	config.vm.box = "generic/debian10"
+	config.vm.network "public_network", bridge:"enp1s0", use_dhcp_assigned_default_route: true
+	config.vm.provision "shell", inline: <<-SHELL
+		systemctl stop resolvconf
+		echo "nameserver 10.34.192.61" > /etc/resolv.conf
+		echo "nameserver 10.34.192.62" >> /etc/resolv.conf
+	SHELL
+
+	config.vm.define "namenode" do |namenode|
+		config.vm.hostname = "namenode"
+		config.vm.provision "ansible" do |ansible|
+			ansible.playbook = "/home/rdecoupe/Documents/TETIS/projet/aidmoit/ansible-deployment/playbook/install-namenode.yml"
+		end
+	end
+
+	# Number of datanode
+	N = 2
+	(1..2).each do |machine_id|
+		config.vm.define "datanode#{machine_id}" do |machine|
+			config.vm.hostname = "datanode#{machine_id}"
+			if machine_id == N
+				config.vm.provision "ansible" do |ansible|
+					ansible.playbook = "/home/rdecoupe/Documents/TETIS/projet/aidmoit/ansible-deployment/playbook/install-datanode.yml"
+				end
+			end
+		end
+	end
+end
\ No newline at end of file