acorn-io/runtime

Resolved offerings not generated for containers when there are containers with same name as a sidecar container or multiple containers with same sidecar name

sangee2004 opened this issue · 0 comments

acorn version - v0.10.1-rc1-18-g523ede04+523ede04
Steps to reproduce the problem:

  1. Deploy app with following Acornfile where 2 containers have the side cars with same name
containers: {
	nginx: {
		sidecars: ubuntu:
		{
			image: "ubuntu:latest"
			cmd: ["bash", "-c", "sleep infinity"]
		}
		image: "nginx:latest"
		ports: "80/http"
	}
	nginx1: {
		sidecars: ubuntu:
		{
			image: "ubuntu:latest"
			cmd: ["bash", "-c", "sleep infinity"]
		}
		image: "nginx:latest"
		ports: "80/http"
	}
}

Once app is deployed, notice that resolvedOfferings is reported only for 1 of the sidecars.

               "resolvedOfferings": {
                    "containers": {
                        "": {
                            "class": "free",
                            "memory": 536870912,
                            "cpuScaler": 0.25
                        },
                        "nginx": {
                            "class": "free",
                            "memory": 536870912,
                            "cpuScaler": 0.25
                        },
                        "nginx1": {
                            "class": "free",
                            "memory": 536870912,
                            "cpuScaler": 0.25
                        },
                        "ubuntu": {
                            "class": "free",
                            "memory": 536870912,
                            "cpuScaler": 0.25
                        }
                    },
  1. Deploy app with following Acornfile where there is a container with same name as a sidecar container
containers: nginx: {
	sidecars: ubuntu:
	{
		image: "ubuntu:latest"
		cmd: ["bash", "-c", "sleep infinity"]
	}
	image: "nginx:latest"
	ports: "80/http"
}

containers: ubuntu:
{
	image: "ubuntu:latest"
	cmd: ["bash", "-c", "sleep infinity"]
}

Once app is deployed, notice that resolvedOfferings is reported only for 2 containers:

              "resolvedOfferings": {
                    "containers": {
                        "": {
                            "class": "free",
                            "memory": 536870912,
                            "cpuScaler": 0.25
                        },
                        "nginx": {
                            "class": "free",
                            "memory": 536870912,
                            "cpuScaler": 0.25
                        },
                        "ubuntu": {
                            "class": "free",
                            "memory": 536870912,
                            "cpuScaler": 0.25
                        }
                    },

Expected Behavior:

  1. In both cases, we expect resolvedOfferings to be reported for all containers.