{"action":"opened","issue":{"url":"https://api.github.com/repos/mesosphere/marathon/issues/1827","labels_url":"https://api.github.com/repos/mesosphere/marathon/issues/1827/labels{/name}","comments_url":"https://api.github.com/repos/mesosphere/marathon/issues/1827/comments","events_url":"https://api.github.com/repos/mesosphere/marathon/issues/1827/events","html_url":"https://github.com/mesosphere/marathon/issues/1827","id":95681637,"number":1827,"title":"Apps with multiple service ports fail to update","user":{"login":"lloesche","id":2124094,"avatar_url":"https://avatars.githubusercontent.com/u/2124094?v=3","gravatar_id":"","url":"https://api.github.com/users/lloesche","html_url":"https://github.com/lloesche","followers_url":"https://api.github.com/users/lloesche/followers","following_url":"https://api.github.com/users/lloesche/following{/other_user}","gists_url":"https://api.github.com/users/lloesche/gists{/gist_id}","starred_url":"https://api.github.com/users/lloesche/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lloesche/subscriptions","organizations_url":"https://api.github.com/users/lloesche/orgs","repos_url":"https://api.github.com/users/lloesche/repos","events_url":"https://api.github.com/users/lloesche/events{/privacy}","received_events_url":"https://api.github.com/users/lloesche/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-07-17T15:37:05Z","updated_at":"2015-07-17T15:37:05Z","closed_at":null,"body":"Trying to update an app with multiple ports fails in Marathon 0.10 with the message:\r\n`Requested service port 4080 conflicts with a service port in app /tools/redirect-server,Requested service port 4443 conflicts with a service port in app /tools/redirect-server`\r\n\r\nComplete log:\r\n```\r\nmicromi:redirect-server lukas$ curl -i -H 'Content-Type: application/json' -d @deploy.json https://marathon.mesosphere.com/v2/apps\r\nHTTP/1.1 201 Created\r\nX-Marathon-Leader: http://srv2.hw.ca1.mesosphere.com:8080\r\nAccess-Control-Allow-Origin: *\r\nAccess-Control-Allow-Headers:\r\nAccess-Control-Allow-Methods: GET, HEAD, OPTIONS\r\nAccess-Control-Max-Age: 86400\r\nCache-Control: no-cache, no-store, must-revalidate\r\nPragma: no-cache\r\nExpires: 0\r\nLocation: http://marathon.mesosphere.com/v2/apps/tools/redirect-server\r\nContent-Type: application/json\r\nTransfer-Encoding: chunked\r\nServer: Jetty(8.y.z-SNAPSHOT)\r\nSet-Cookie: mesosphere_server_id=srv2_hw_ca1_mesosphere_com_8080; path=/\r\n\r\n{\"id\":\"/tools/redirect-server\",\"cmd\":null,\"args\":null,\"user\":null,\"env\":{\"HAPROXY_0_MODE\":\"http\",\"HAPROXY_GROUP\":\"external\",\"HAPROXY_1_PORT\":\"443\",\"HAPROXY_0_BIND_ADDR\":\"198.27.119.105\",\"HAPROXY_1_MODE\":\"tcp\",\"HAPROXY_0_PORT\":\"80\",\"HAPROXY_1_BIND_ADDR\":\"198.27.119.105\"},\"instances\":2,\"cpus\":1.0,\"mem\":1024.0,\"disk\":0.0,\"executor\":\"\",\"constraints\":[[\"hostname\",\"UNIQUE\"]],\"uris\":[],\"storeUrls\":[],\"ports\":[0],\"requirePorts\":false,\"backoffFactor\":1.15,\"container\":{\"type\":\"DOCKER\",\"volumes\":[],\"docker\":{\"image\":\"docker-registry.mesosphere.com:5000/mesosphere/redirect-server:f450ea40cdddf1a59b7380506f6379c245bf8663\",\"network\":\"BRIDGE\",\"portMappings\":[{\"containerPort\":80,\"hostPort\":0,\"servicePort\":4080,\"protocol\":\"tcp\"},{\"containerPort\":443,\"hostPort\":0,\"servicePort\":4443,\"protocol\":\"tcp\"}],\"privileged\":false,\"parameters\":[],\"forcePullImage\":false}},\"healthChecks\":[{\"path\":\"/\",\"protocol\":\"HTTP\",\"portIndex\":0,\"command\":null,\"gracePeriodSeconds\":5,\"intervalSeconds\":20,\"timeoutSeconds\":20,\"maxConsecutiveFailures\":3,\"ignoreHttp1xx\":false}],\"dependencies\":[],\"upgradeStrategy\":{\"minimumHealthCapacity\":1.0,\"maximumOverCapacity\":1.0},\"labels\":{},\"acceptedResourceRoles\":null,\"version\":\"2015-07-17T15:34:23.002Z\",\"tasks\":[],\"deployments\":[{\"id\":\"0cf13380-4cc0-422f-9312-27e7d6f6103f\"}],\"tasksStaged\":0,\"tasksRunning\":0,\"tasksHealthy\":0,\"tasksUnhealthy\":0,\"backoffSeconds\":1,\"maxLaunchDelaySeconds\":3600}\r\n\r\nmicromi:redirect-server lukas$ curl X PUT -H 'Content-Type: application/json' -d @deploy.json https://marathon.mesosphere.com/v2/apps/tools/redirect-server\r\nHTTP/1.1 409 Conflict\r\nAccess-Control-Allow-Headers:\r\nAccess-Control-Allow-Origin: *\r\nExpires: 0\r\nAccess-Control-Max-Age: 86400\r\nAccess-Control-Allow-Methods: GET, HEAD, OPTIONS\r\nContent-Type: application/json\r\nX-Marathon-Leader: http://srv2.hw.ca1.mesosphere.com:8080\r\nServer: Jetty(8.y.z-SNAPSHOT)\r\nPragma: no-cache\r\nCache-Control: no-cache, no-store, must-revalidate\r\nX-Marathon-Via: 1.1 srv4.hw.ca1.mesosphere.com:8080\r\nContent-Length: 189\r\nSet-Cookie: mesosphere_server_id=srv4_hw_ca1_mesosphere_com_8080; path=/\r\n\r\n{\"message\":\"Requested service port 4080 conflicts with a service port in app /tools/redirect-server,Requested service port 4443 conflicts with a service port in app /tools/redirect-server\"}\r\n```"}}