Roblox / nomad-driver-iis

Nomad task driver for running windows IIS services.
Apache License 2.0
51 stars 22 forks source link

Multiple tasks in one group supported? #62

Open tfrijsewijk opened 2 years ago

tfrijsewijk commented 2 years ago

I'm trying to deploy an application that consists of two IIS applications. I want them on the same host, so I grouped them. It looks like there is a racing condition going on: One site is created with configuration of one task, but the configuration is swiftly replaced by the other configuration of the other task.

So does the IIS driver support multple win_iis tasks in the same group?

Vulfox commented 2 years ago

This definitely appears to be a bug from your statement. Mind giving me an example nomad job spec and I can find some time to add it to the list of tests the driver should do and see if I can reproduce.

tfrijsewijk commented 2 years ago
job "multiple-tasks" {
  datacenters = ["dc1"]
  type = "service"

  group "group" {
    count = 1

    network {
      port "http" {
        static = 80
      }
    }

    restart {
      attempts = 10
      interval = "5m"
      delay = "25s"
      mode = "delay"
    }

    task "one" {
      driver = "win_iis"

      config {
        path = "C:\\inetpub\\wwwroot"

        bindings {
          type = "http"
          hostname = "one.localhost"
          port = "http"
        }
      }
    }

    task "two" {
      driver = "win_iis"

      config {
        path = "C:\\inetpub\\wwwroot2"

        bindings {
          type = "http"
          hostname = "two.localhost"
          port = "http"
        }
      }
    }
  }
}

image

image

The job spec above gives me one Application pool and one Web site. Like I said, I briefly get a binding to one.localhost which in turn becomes a binding to two.localhost.