Uploaded image for project: 'Marathon'
  1. Marathon
  2. MARATHON-7433

Deploying group is broken in Version 1.4.3

    Details

    • Sprint:
      Marathon Sprint 1.10-6
    • Story Points:
      2

      Description

      Hi everyone, I have an issue with group deployements since I upgraded marathon to v1.4.3.

      This is an example of group I was successfully deploying before v1.4.3 : 

      {
        "id": "/domain/developers",
        "groups": [
          {
            "id": "/domain/developers/gitlab",
            "apps": [
              {
                "id": "/domain/developers/gitlab/git",
                "cpus": 1,
                "mem": 2048.0,
                "env": {
                  "SERVICE_22_NAME": "git-ssh",
                  "SERVICE_22_TAGS": "git-ssh,haproxy,haproxy_tcp=20022,urlprefix-:20022 proto=tcp",
                  "SERVICE_22_CHECK_TIMEOUT": "3s",
                  "SERVICE_22_CHECK_TCP": "true",
                  "SERVICE_22_CHECK_INTERVAL": "15s",
                  "SERVICE_80_NAME": "git",
                  "SERVICE_80_TAGS": "git",
                  "SERVICE_80_CHECK_TIMEOUT": "3s",
                  "SERVICE_80_CHECK_TCP": "true",
                  "SERVICE_80_CHECK_INTERVAL": "15s",
                  "GIT_NAME": "git",
                  "APP_APP_COMPANY": "domain",
                  "APP_APP_NAME": "gitlab-git",
                  "APP_BACKUP_BEFORE_CMD": "gitlab-rake gitlab:backup:create",
                  "APP_BACKUP_DIR": "domain/gitlab/git",
                  "APP_BACKUP_KEEP_DAYS": "14",
                  "APP_BACKUP_STEP_DAYS": "1"
                },
                "constraints": [
                  [
                    "hostname",
                    "CLUSTER",
                    "master-bhs-01"
                  ]
                ],
                "container": {
                  "type": "DOCKER",
                  "volumes": [
                    {
                      "containerPath": "/etc/gitlab",
                      "hostPath": "/srv/domain/gitlab/git/etc/gitlab",
                      "mode": "RW"
                    },
                    {
                      "containerPath": "/var/opt/gitlab",
                      "hostPath": "/srv/domain/gitlab/git/var/opt/gitlab",
                      "mode": "RW"
                    },
                    {
                      "containerPath": "/var/log/gitlab",
                      "hostPath": "/srv/domain/gitlab/git/var/log/gitlab",
                      "mode": "RW"
                    }
                  ],
                  "docker": {
                    "image": "registry.domain.com/domain/git:latest",
                    "parameters": [
                      {
                        "key": "hostname",
                        "value": "git.domain.com"
                      },
                      {
                        "key": "ipc",
                        "value": "host"
                      }
                    ],
                    "network": "BRIDGE",
                    "portMappings": [
                      {
                        "containerPort": 22,
                        "hostPort": 0,
                        "protocol": "tcp"
                      },
                      {
                        "containerPort": 80,
                        "hostPort": 31581,
                        "protocol": "tcp"
                      }
                    ]
                  }
                },
                "uris": [
                  "file:///etc/docker.tar.gz"
                ],
                "healthChecks": [
                  {
                    "portIndex": 0,
                    "protocol": "TCP",
                    "gracePeriodSeconds": 360,
                    "intervalSeconds": 10,
                    "timeoutSeconds": 30,
                    "maxConsecutiveFailures": 3
                  }
                ],
                "upgradeStrategy": {
                  "minimumHealthCapacity": 0,
                  "maximumOverCapacity": 0
                }
              },
              {
                "id": "/domain/developers/gitlab/school",
                "cpus": 1,
                "mem": 2048.0,
                "env": {
                  "SERVICE_22_NAME": "school-ssh",
                  "SERVICE_22_TAGS": "school-ssh,haproxy,haproxy_tcp=20023,urlprefix-:20023 proto=tcp",
                  "SERVICE_22_CHECK_TIMEOUT": "3s",
                  "SERVICE_22_CHECK_TCP": "true",
                  "SERVICE_22_CHECK_INTERVAL": "15s",
                  "SERVICE_80_NAME": "school",
                  "SERVICE_80_TAGS": "school",
                  "SERVICE_80_CHECK_TIMEOUT": "3s",
                  "SERVICE_80_CHECK_TCP": "true",
                  "SERVICE_80_CHECK_INTERVAL": "15s",
                  "GIT_NAME": "school",
                  "APP_APP_COMPANY": "domain",
                  "APP_APP_NAME": "gitlab-school",
                  "APP_BACKUP_BEFORE_CMD": "gitlab-rake gitlab:backup:create",
                  "APP_BACKUP_DIR": "domain/gitlab/school",
                  "APP_BACKUP_KEEP_DAYS": "14",
                  "APP_BACKUP_STEP_DAYS": "1"
                },
                "constraints": [
                  [
                    "hostname",
                    "CLUSTER",
                    "master-bhs-01"
                  ]
                ],
                "container": {
                  "type": "DOCKER",
                  "volumes": [
                    {
                      "containerPath": "/etc/gitlab",
                      "hostPath": "/srv/domain/gitlab/school/etc/gitlab",
                      "mode": "RW"
                    },
                    {
                      "containerPath": "/var/opt/gitlab",
                      "hostPath": "/srv/domain/gitlab/school/var/opt/gitlab",
                      "mode": "RW"
                    },
                    {
                      "containerPath": "/var/log/gitlab",
                      "hostPath": "/srv/domain/gitlab/school/var/log/gitlab",
                      "mode": "RW"
                    }
                  ],
                  "docker": {
                    "image": "registry.domain.com/domain/git:latest",
                    "parameters": [
                      {
                        "key": "hostname",
                        "value": "school.domain.com"
                      }
                    ],
                    "network": "BRIDGE",
                    "portMappings": [
                      {
                        "containerPort": 22,
                        "hostPort": 0,
                        "protocol": "tcp"
                      },
                      {
                        "containerPort": 80,
                        "hostPort": 31582,
                        "protocol": "tcp"
                      }
                    ]
                  }
                },
                "uris": [
                  "file:///etc/docker.tar.gz"
                ],
                "healthChecks": [
                  {
                    "portIndex": 0,
                    "protocol": "TCP",
                    "gracePeriodSeconds": 360,
                    "intervalSeconds": 10,
                    "timeoutSeconds": 30,
                    "maxConsecutiveFailures": 3
                  }
                ],
                "upgradeStrategy": {
                  "minimumHealthCapacity": 0,
                  "maximumOverCapacity": 0
                }
              },
              {
                "id": "/domain/developers/gitlab/module",
                "cpus": 1,
                "mem": 2048.0,
                "env": {
                  "SERVICE_22_NAME": "module-ssh",
                  "SERVICE_22_TAGS": "module-ssh,haproxy,haproxy_tcp=20024,urlprefix-:20024 proto=tcp",
                  "SERVICE_22_CHECK_TIMEOUT": "3s",
                  "SERVICE_22_CHECK_TCP": "true",
                  "SERVICE_22_CHECK_INTERVAL": "15s",
                  "SERVICE_80_NAME": "module",
                  "SERVICE_80_TAGS": "module",
                  "SERVICE_80_CHECK_TIMEOUT": "3s",
                  "SERVICE_80_CHECK_TCP": "true",
                  "SERVICE_80_CHECK_INTERVAL": "15s",            
                  "GIT_NAME": "module",
                  "APP_APP_COMPANY": "domain",
                  "APP_APP_NAME": "gitlab-module",
                  "APP_BACKUP_BEFORE_CMD": "gitlab-rake gitlab:backup:create",
                  "APP_BACKUP_DIR": "domain/gitlab/module",
                  "APP_BACKUP_KEEP_DAYS": "14",
                  "APP_BACKUP_STEP_DAYS": "1"
                },
                "constraints": [
                  [
                    "hostname",
                    "CLUSTER",
                    "master-bhs-01"
                  ]
                ],
                "container": {
                  "type": "DOCKER",
                  "volumes": [
                    {
                      "containerPath": "/etc/gitlab",
                      "hostPath": "/srv/domain/gitlab/module/etc/gitlab",
                      "mode": "RW"
                    },
                    {
                      "containerPath": "/var/opt/gitlab",
                      "hostPath": "/srv/domain/gitlab/module/var/opt/gitlab",
                      "mode": "RW"
                    },
                    {
                      "containerPath": "/var/log/gitlab",
                      "hostPath": "/srv/domain/gitlab/module/var/log/gitlab",
                      "mode": "RW"
                    }
                  ],
                  "docker": {
                    "image": "registry.domain.com/domain/git:latest",
                    "parameters": [
                      {
                        "key": "hostname",
                        "value": "module.domain.com"
                      }
                    ],
                    "network": "BRIDGE",
                    "portMappings": [
                      {
                        "containerPort": 22,
                        "hostPort": 0,
                        "protocol": "tcp"
                      },
                      {
                        "containerPort": 80,
                        "hostPort": 31583,
                        "protocol": "tcp"
                      }
                    ]
                  }
                },
                "uris": [
                  "file:///etc/docker.tar.gz"
                ],
                "healthChecks": [
                  {
                    "portIndex": 0,
                    "protocol": "TCP",
                    "gracePeriodSeconds": 360,
                    "intervalSeconds": 10,
                    "timeoutSeconds": 30,
                    "maxConsecutiveFailures": 3
                  }
                ],
                "upgradeStrategy": {
                  "minimumHealthCapacity": 0,
                  "maximumOverCapacity": 0
                }
              },
              {
                "id": "/domain/developers/gitlab/private",
                "cpus": 1,
                "mem": 2048.0,
                "env": {
                  "SERVICE_22_NAME": "private-ssh",
                  "SERVICE_22_TAGS": "private-ssh,haproxy,haproxy_tcp=20025,urlprefix-:20025 proto=tcp",
                  "SERVICE_22_CHECK_TIMEOUT": "3s",
                  "SERVICE_22_CHECK_TCP": "true",
                  "SERVICE_22_CHECK_INTERVAL": "15s",
                  "SERVICE_80_NAME": "private",
                  "SERVICE_80_TAGS": "private",
                  "SERVICE_80_CHECK_TIMEOUT": "3s",
                  "SERVICE_80_CHECK_TCP": "true",
                  "SERVICE_80_CHECK_INTERVAL": "15s",            
                  "GIT_NAME": "private",
                  "APP_APP_COMPANY": "domain",
                  "APP_APP_NAME": "gitlab-private",
                  "APP_BACKUP_BEFORE_CMD": "gitlab-rake gitlab:backup:create",
                  "APP_BACKUP_DIR": "domain/gitlab/private",
                  "APP_BACKUP_KEEP_DAYS": "14",
                  "APP_BACKUP_STEP_DAYS": "1"
                },
                "constraints": [
                  [
                    "hostname",
                    "CLUSTER",
                    "master-bhs-01"
                  ]
                ],
                "container": {
                  "type": "DOCKER",
                  "volumes": [
                    {
                      "containerPath": "/etc/gitlab",
                      "hostPath": "/srv/domain/gitlab/private/etc/gitlab",
                      "mode": "RW"
                    },
                    {
                      "containerPath": "/var/opt/gitlab",
                      "hostPath": "/srv/domain/gitlab/private/var/opt/gitlab",
                      "mode": "RW"
                    },
                    {
                      "containerPath": "/var/log/gitlab",
                      "hostPath": "/srv/domain/gitlab/private/var/log/gitlab",
                      "mode": "RW"
                    }
                  ],
                  "docker": {
                    "image": "registry.domain.com/domain/git:latest",
                    "parameters": [
                      {
                        "key": "hostname",
                        "value": "private.domain.com"
                      }
                    ],
                    "network": "BRIDGE",
                    "portMappings": [
                      {
                        "containerPort": 22,
                        "hostPort": 0,
                        "protocol": "tcp"
                      },
                      {
                        "containerPort": 80,
                        "hostPort": 31584,
                        "protocol": "tcp"
                      }
                    ]
                  }
                },
                "uris": [
                  "file:///etc/docker.tar.gz"
                ],
                "healthChecks": [
                  {
                    "protocol": "TCP",
                    "portIndex": 0,
                    "gracePeriodSeconds": 300,
                    "intervalSeconds": 60,
                    "timeoutSeconds": 20,
                    "maxConsecutiveFailures": 3,
                    "ignoreHttp1xx": false
                  }
                ],
                "upgradeStrategy": {
                  "minimumHealthCapacity": 0,
                  "maximumOverCapacity": 0
                }
              }
            ]
          }
        ]
      }
      

      When I run a deployement to update an existing group, the deployement pass but nothing happen in marathon.

      If I re-deploy one of the group member individually, all the previously ignored groups then start the deloyement of the whole group.

      It is a bit annoying so we decided to only use single file deployement.

      I would like to know if I am the only one impacted by this issue.

        Attachments

          Activity

            People

            • Assignee:
              ken Ken Sipe
              Reporter:
              kopax kopax
              Team:
              Orchestration Team
              Watchers:
              Aleksey Dukhovniy, janisz, Ken Sipe, kopax, Kopax Anderson, Matthias Eichstedt, Tobias Mueller
            • Watchers:
              7 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: