diff --git a/nodes/main.tf b/nodes/main.tf
index f0cfef12b6fefed5530f68156bafe07d6e3ca73c..dfeeeadd5fa32df3107c5e63258e0833506de556 100644
--- a/nodes/main.tf
+++ b/nodes/main.tf
@@ -10,11 +10,16 @@ variable "key_pair" {type = "string"}
 variable "compute_node_count" { }
 variable "internal_network" {}
 
+data "openstack_images_image_v2" "compute" {
+  name = var.image_compute
+  most_recent = true
+}
+
 # creates compute node
 resource "openstack_compute_instance_v2" "compute" {
   depends_on      = [var.internal_subnet_id]
   name            = "c${count.index}"
-  image_name      = var.image_compute
+  image_id        = data.openstack_images_image_v2.compute.id
   flavor_name     = var.flavor
   key_pair        = var.key_pair
   security_groups = ["default"]
@@ -39,6 +44,10 @@ output "id" {
   value = openstack_compute_instance_v2.compute.*.id
 }
 
+output "image_id" {
+  value = data.openstack_images_image_v2.compute.id
+}
+
 output "network" {
   value = zipmap(openstack_compute_instance_v2.compute.*.name, openstack_compute_instance_v2.compute.*.network)
 }