mesosphere/universe

Use PGDATA instead of POSTGRES_PGDATA

srajappa opened this issue · 1 comments

I am using Postgres in the DC/OS cluster and after a an unexpected restart for Postgres, I noticed all the "unique" data which I thought was persisted vanished.

I am adding the corresponding marathon file below:

{
    "id": "postgresql",
    "cmd": null,
    "cpus": 1,
    "mem": 1024,
    "disk": 0,
    "instances": 1,
    "acceptedResourceRoles": ["*"],
    "container": {
      "type": "DOCKER",
      "docker": {
        "forcePullImage": false,
        "image": "postgres:9.6",
        "parameters": [],
        "privileged": false
      },
      "volumes": [
        {
          "containerPath": "var",
          "persistent": {
            "type": "root",
            "size": 512,
            "constraints": []
          },
          "mode": "RW"
        }
      ],
      "portMappings": [
        {
          "containerPort": 5432,
          "hostPort": 0,
          "labels": {
            "VIP_0": "/postgresql:5432"
          },
          "name": "postgresql",
          "protocol": "tcp",
          "servicePort": 10024
        }
      ]
    },
    "env": {
      "POSTGRES_USER": "admin",
      "POSTGRES_PGDATA": "pgdata",
      "POSTGRES_DB": "defaultdb",
      "POSTGRES_INITDB_ARGS": "",
      "POSTGRES_PASSWORD": "password"
    },
    "healthChecks": [
      {
        "gracePeriodSeconds": 300,
        "intervalSeconds": 60,
        "maxConsecutiveFailures": 3,
        "portIndex": 0,
        "protocol": "TCP",
        "ipProtocol": "IPv4",
        "timeoutSeconds": 20,
        "delaySeconds": 15
      }
    ],
    "labels": {
      "DCOS_PACKAGE_OPTIONS": "eyJzZXJ2aWNlIjp7Im5hbWUiOiJwb3N0Z3Jlc3FsIn0sInBvc3RncmVzcWwiOnsiY3B1cyI6MSwibWVtIjoxMDI0fSwiZGF0YWJhc2UiOnsidXNlcm5hbWUiOiJhZG1pbiIsInBhc3N3b3JkIjoicGFzc3dvcmQiLCJkYm5hbWUiOiJkZWZhdWx0ZGIifSwic3RvcmFnZSI6eyJob3N0X3ZvbHVtZSI6Ii90bXAiLCJwZ2RhdGEiOiJwZ2RhdGEiLCJwZXJzaXN0ZW5jZSI6eyJlbmFibGUiOnRydWUsInZvbHVtZV9zaXplIjo1MTIsImV4dGVybmFsIjp7ImVuYWJsZSI6ZmFsc2UsInZvbHVtZV9uYW1lIjoicG9zdGdyZXNxbCIsInByb3ZpZGVyIjoiZHZkaSIsImRyaXZlciI6InJleHJheSJ9fX0sIm5ldHdvcmtpbmciOnsicG9ydCI6NTQzMiwiaG9zdF9tb2RlIjpmYWxzZSwiZXh0ZXJuYWxfYWNjZXNzIjp7ImVuYWJsZSI6ZmFsc2UsImV4dGVybmFsX2FjY2Vzc19wb3J0IjoxNTQzMn19fQ==",
      "DCOS_PACKAGE_SOURCE": "https://universe.mesosphere.com/repo",
      "DCOS_SERVICE_NAME": "postgresql",
      "DCOS_PACKAGE_DEFINITION": "eyJtZXRhZGF0YSI6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi92bmQuZGNvcy51bml2ZXJzZS5wYWNrYWdlK2pzb247Y2hhcnNldD11dGYtODt2ZXJzaW9uPXYzIiwiQ29udGVudC1FbmNvZGluZyI6Imd6aXAifSwiZGF0YSI6Ikg0c0lBQUFBQUFBQUFMVmFXWFBpU0JMK0t4Vzg3SFFIemRudVhod3hENERCd0dKc0xuSE1iTFIxRktoTTZSaVZCSlk3K3I5dlpwVUVBdU5yWXZhaDIwaXF5c3I4OHN2TWtySis1bnpkM09ocjVxNDFHZ2ptdWJuTFhMVlF5dVZ6cnU1UXVQQTlFYTRES3Y3aWNHKzdIMU1yZlB0U0tsVGdYa0E1MVFYZFR5L25jNDdPM0JEKzBRQkcybUhvaTh0aTBUSTlVV0JlMGZRY0ozSlpHQmRoc2tXRkdUQS9WRUx2MUZyallaOHdRWFNYZU1ZRE5jTXZzSVNPUTNST0xEM1VEVmlPT0xxcnI2bEQzWkNJV0lUVUliL2RqcTRhTitOUFpNZENHMmRUeDdkMUFaSTgrUDBZVWxjd2czRllHUjVhUklUd3Z4NVk0Z3RvNUhPbXV5WXRnRXFodmhhNXl6LzJoc090SXd4U0RYTC96ZWNFMkc2RzFNcGR1aEhuY0cwNkdZdlhvRWRrRkVCODBmTE1EUTIrY0dZRWVoQVh2ZFdLbVV6blg1Z0RSZ2hFWWtjTndVS2FUSWZadTkydWNGaTQ0QVZySExZS3dDMDdMOWprTHNNZ29xQmJRTHN1Mk1MNXdBdEIyOHZjeEFhVHI1ckYyekVaMDJETFRJcG9tbEVRQUZnOEpzd2xNR25MNks1QUpqWU5FTXVZR0pRWTBWcms0YkhFZzRhVXJLZ2VSckM4dWduenpaQ0FKUkdpTGgyU0oxNUF2QkNFRUl1Qko2a1BLRElxQ24rNmY3cjM5L2QxYTR1d1dpUlJVVTRpbnZTM0lDNHFES053c0FpOUFLQWdSZkxaUnlhQlIySGk1MHNDUW5WUWhYc21lSC8vS0NSYmo0TWVncXhBQTJBYkRaQWRxWlFWNC9BbzlJaUlBSUF0SmJvWmVFSVFzQ1hVZzFDZzJpdWRjVFN1Y0x4OFpuVlVCbm1Eb2crYXBIZk9LSU40SW5FNTkzWnkrUWlJcXJ1SEtla3lDV05GWkFKUkJhazcraFBnMG1xTTgrVFdwKzQ0aEtBa1RlWmFOTWlUMWsyVGRBWGpDRGYrSGdNU3RIdXJMdVpoUUozMFFydXB6eVczcnoxdnpTbHBnaU1qVUxubFFvRFRyTUtKSWdYeWVYQTdhWUZ4RTZYc1h0TVVYaGxMa2t4NUVuc1J1Wm1PSjRTNnVnSGl3ZThPc2FJQWtnZHA5cnNJNnQ3aExPUHdFNFEvMjhEcUgyb0JXSm13MVJIb1RCS0RwS0dWaDJYZ2xrcFRsSmdBcDBRMVlZUVNnNXdHYlFoS2xveElWc3NUemphSHdSWkRDbnRCaktxQ29FRjdUQnd2Y2tNWkNMQUdCaGNBY0t3aU1UMDNERHd1NUJLK0RvQmtsNFBmTzV1QkkrRU9LSFlBam5NTUtzVWFNRU1Oa3ZnWkVqc2lZRFhNVFlBVG1BeXBrSGdyK2NEa0VZQVJTTnpRUDVla3U1TG9XOHh5LzVWaWM0eWEwbWhQTUhpZXhxY2ZlRnRtZ1U5MHN0VTVzL0QvaUVxWWp1MEVWYkp1eS8vcExtNm5JM0pWbjlUSnJOdnZFOUNGTkZwa1hOZGFWNlE3SVBYQmdzenFDNm1uUzBOTVM4Z0ZqR0V2Q0pGVmgxUWtrbFNFRGpRd0lFMHFCQ2kxQ2p3SGZCRW5hVVQzSVJXYktrK0VkdUJGYTRnUU1xamZ3SXBhOXk2MUU1UjM5SkI4dmsvRS9zQnFWWERBZ2FFTmhPTmZ1VkZBM3NpaXMzZjdKYXAxLzdsQW1qYUZBQU5UdzJnUGVrYjY1NEV5NWpPQlZKOCtWMlpjNmNJMlBDZ2I1TGNXWmgwL1lDSjk1cms4L25RR2pEU29maWlqRDZrRVV3TlFTNmJrbTBUM0wvMkdkSTBhaXhLa1h4UDBKRnBlRkFwdzZBbGIzbHozUitJVS9JUEpDYndRQ1JtcTcxdThrRlRDazNLenJ6SHFOclVrQWxkMHBVYzhoTUNEMUhOSjduWExZZTU5OGQ3WGhRQVZyZnRVMnRSbDUrVkY3a0Vpd1llZ0M3Z2NxWklRSC9YRGFneU94R0NqajNCUHlQd25nOCtsWUp5eUV6WUxFVWlLb1FBNDNoWUV3dUpBTTlnUjRKSi8vRXczT3pmZENlbXIrekFpQ25pbW1udVFtSVVYQlFBRTF1SjBlaEhtNUg3QlhnRHN1d0syalU2MlE3bHk0WHNPdDBRSzRkemx6OXkyVXZmOUczQ2FidHAwQXJzVWlEZGNIZXI2dXR2cytjdG05eHY4L1U2ckEyNjZTMzlSbVVhRzB3Nlg4M0t0eTNiLzZUYnJiRkZ0bE0wWXhuWEM3K1oxN2NtNnR1TGxmUEJvTkM4ZXpJNzJ0SnFYUkpQVjExMm56STN4MlhIaGNsYXVyY1pLbmo2N2dHZnRhRkhSbnJvUDN2b211YitjWFZUd1d1a0c4bmpqYmxvZWRhWWJiVEl2YTVPUjFtVzNyTTVvTmR3czVpTjc0YlNmbHVPTHNsblI0aE9kMGJiaHBEeVlqc3E5OXJSY0d3NjF3VVFyMWNhajFON0t5QVlkMkdJKzRIMjNZWnZWUWRXbzlqWmdDK3ZYejYzZjZJeGE3ZWx3dk1lckJPUHRKZUJsWGx0U254Zm5sbUJWc0t2cmh0K1gxKzNTWXRhelRaaTN2TzVGaTFtWnZ6eVAzNDYxVVd2SWE0M3B4cHFrTWs2dzlRMkhsMENXYlRvVytvS2hMMUtzRjVWYUJIYkNHQzArd3RZZFhaalhVNG5ucUZXN0dwZTBjUWE3aWxGNUxCc3o1WjlaVlNUMzYydkFucHJWMGRaMDJpNWd2MXZPZTAvNmZGQUMzejNBTlFjL01PTmFxNjJHeVRvbk9rekJmbDM2b0x1MW5IYmNyeno2QzFiYkdZRG5zdHJqWnJVdCt0STNyZTFCSCtTV3ZZVjFoNEN6dDhmaG9JZUg4K2ZWNWRib2FKSUgvU284QjE1WURrZTludVBjYkh5bk1lSllpeGN6Q3prQS9CLzRJQk5zQUU0NEdzenBDWlFsdVkxemdOZmRJNzlyc1ZuaElBUEdvajluRjhESlIxem4zWGpSem9pYnpvVU5mdndBZHIzS1l0N04yRkpuV1Ywc0hOTTUrRXcrci9Cdnl6UTJYOVluOWZ0S2pqK3lQWW54QklmK2F6ak03UkxJQmZ4MkwyQWlIdjU1VEQ3S0orMHI2SXQ1UXh6RmhlSy81TXNabnIybTZ4Njc1N2tvOFVHbkJ6cnl6WEsrejJPdjhXK3ZIenlMamVyU1g4TDFNWWVscmx1ek0vS055b1dNVlJwREh1MHNOL3E0dGpFZFh2bndXczRvMXVkTGVJNzZOLzVmL3Q5K05JY1lzOXBtcVhMdkdES1prdFVwVzNzc25ORjJVUW01eVU2NDcvQVFiZDc3MHRHZWpLb1dvNTZRKzUrVzg5RlQzeGxzRFhka1ExMkMrUmNib3pJSUFMZm9PTStXay9zOXFHUGRJeXk2bFF0dWRTeXdKd1JPbXBHTzg5cTEwS2lNanV6dU91azRJWDB5YnRVbVd2TllWdjkxV1JtL3kzOUhlUWJpb1dSVmFyRmU0ZEV5VG5KaXBieGRubUtaam9zbG5zM3BocmRHcGVsSlBxbkZWcXRzbTUwRzZHRTlxd01KOXg2QWQxRFBZTDE1YndoOEtPRzR3V1Q0ZEhQTWZSd3I5Wm1pWEl6WHEvckI3bjArSG9DY0VkYmhBSHpoWm5rNXI3UWZjTDlneG1mNWtkUzBkQStqN1hVQlhONGxjeC9IN1pxOXFJQ2M2bUFsTWVoQUxha2ZyNFA4UGNINnpQeWJzOXhQc05pWlRxMEVmTm9hS3ArWEZ0VTZPMTJuaS9KbXFrWWZjN0Y3Z2gzNEZQWXl5OW5qMC9OY3BwNXJHejZjUDlXbHJCZHE0N2RuV0xtTnJlbU9rTy9IK25jTzlxeTAwa2Y0bTRtRkpZd1o4R2xIRTBickVLTkw4QXZzamVRWUpiZFJTK2NjOWpYbnVDTDNCeXVaSjlLNnBmUnZMV2RMdVVmU1o3Vkk3bVBiNGZjRGZtLzZRc1dDNU95MGRQT1V4VDViSnhxNHZvdjV4Wnp0VHZZWmY1dlhiTzhuRFcwWmd2OUEzZ25HaDN6N3VGck1CZy9Ba2FlemE1U3hMdlpLKy8zNkN6NTdRZDd6L1ZDekorQWVOem8zVXE4alR2SmxiOXIrOTA1aXcycG4zeTl1SVIrZnhGR3FIOHZVSGZSM2JaN3Nad0hmUjJ2R1k0WEhTUExkNnZUS3k4eCtGL3dRWTA2eWxGN0dMRmE1UjY0THVSdjAxaVliUHRLbVV6WlArSHNtcHMva3o1NjNuTFdGZFcxZjZkZmFnMTVWOGpQeHBtcjhkUTN5NGs3R210WWFETFA3QU56N3ZEZFB2OGk3RDhUWlIrcUN5dmt3NWxyN0t0L0xta2Q2djQ3UCtMZ2VkUjBMZkFEeERSeUV1TnRNS3hyV2lvMk12NnViWFZZMjFPZ0l1UXI3TjNFOGJySEx4cUYxemVFOXNsYTIyZ09PZmw1Sy85YmpZMWxsbTdhd25zT1lxbGJDdmN6SWdiMWlSNFBjS2NjL3lUeVM1aTNuRVhLMEp0VDdiVnJmZXExaHFZYnZmSTFoS1d5TVN0cEsyMmpqYVluZlRaamNhMTcwSHhiaFRmTnJuSGxuU3VZTTJsUGcvaERtVERidHdXajg1dnMxemgwTXRWNURhOWwzRTE2YmpLY1huVWxMVzhIZmlkWnEzNktzb2RZWXFqd3ppcTNab1ZhZjRkTTdhMUd2Q3pMSGs3SzluSmNzK0tzcCtkbDljYXJmMzg4UjhHNDV1SlB2MzlOQmZ6aTEydkJPQysrMXkvRndXbTdqKy9oWTdVRWNrQVB2OGwwWjY4cTJYaG5lcTRGREl6N0ZlSjZQK0xLNlliZnUza2NoNUZMZm1HdmgrRnF6amM3SUcxYmFPOURGdHpvYjlQT0JPOGdKNEk0MUs5OVo4TTV3T2s3eVllalhtdXZmZjgvOXdpNlQrdmFDMzA5MElXZ284RmNVTUpIMlh2QXJiZEp6K3BsVC9SYjhkV2loZkVsdjd1OWQxZ3JmY3I5K2dYalZoOEh4RE9SOEVZN09zOTkrTEcvbmNrKzNSTUVCUFlTUFhSUFoxMUdxRkNPWFlXdU1Ga3VsVWpHejRrRll3WGZYdWJ5UzdsQ0xSYzQvSlY1Snk4cm5lckNtLzVSNEtTeVJqaDBlNmdyYkN4UFVBVG1UczhOdnoxMnh0VVE5OEh3YWhFeGhtbnhBeEo5aDdLTnFxckgzckFGNDhxbFlpb3NDOVRVNEl6Si9JbDk5dmZ0NUltd2dQNit2VlA5QVpMOVNwcDArcFlzSXNZTWhkWkhmTEkrYm5wSWVtZXMzYldqZVRZbXc5VUExb0xBWFpPSzNYdmhOZGRNK3E4aXhOYVlmaWVmV3ZDRTIwenJGVmtMR1BEZHlER0I5eHJ4U29Tby9WeklIV1FoWFlLRkRuZWRyM2xBSG15WHZOZVBGQlMvS2xVSXBzNlM4L2lXaitxK0lCZGcvL1VPWnJSVDU3NjlNbS9WTndET203N3ZENzZaT0pQQVQrVG42SkdJRmZpUVBpT3d2dk1vWitZVWJVMVg2aWZzVmtlbVFOMWlZQ2tJNGpGZElqcC9zOFVOOU12VUFnL3hpanMxZjFZUWlPNXVxRG9mTWQvaGt4UUtCN1VBOUNPa2I2aVMvTEFQMUFWZkNMOGdOWjZoYUQ5YXlSYXc2c05TVlgrSFRFQ0pxcHVxNHFVNFV0a3lKOEhVVFd3M1loRU5WbFFJWXYvcGVuQzVPeFpDZEYzR0wwRWNmRzJMWWtIeHVnNHpncERIMklUYWx6YlIza3luVFRYdU9TbmNGVEVLVFhNaXFaeHJadjJVYm11SlRQczFib2VvN3l2aVQzZk1WTnZKVTI5UEw5Q0V6SFoyVUQybmpSbUs5WXRqWDNZdEorNU1XRFNEN0ozMDR1YVJ5aXM4anRURHlEdFhBUHRFOVh0eVQzMmhoWFNEM1JjY05peG1iaTlsbTNQMm5wQnVlTnZ4VXB4Vld3cTZyaFl0bTJ6cEpremUwaVJPQk1XYzZwS28yZ0QrQUNRV2kycUlzYVl0NjJCVTFiZDFkMDZOQUtJYU9yK3pKazNmMk1sOE5BWlFuUTN5TklmYmN4LzJNazZRZWFTQ3FBd21RTExGdko1dDI2VzRsVHlKczg1UGlWZytLbkJtWkFseDhJejBvSlZDZFF5UDRiWUszVlBQK3pHR0FaM3hXZmY3blppWWlQSG5xNHhWcGlTS0c1M0dxdTFubFZ6b1hGRFJYeFBraDJOUDVpTkdKUzNmN0pyOUlTTDd2cVV2VzdOdnpERUlGSmNtT1prTzhWWkpnK2JSRCtnN1V6cHo2U1BQREt4bmgvUWllTzFheVA2V0I4WHVmOGZKOWNvWkdCUXRnS1dGSmowd1V5SjNzUWNvRE5pcThrb3dnWkFISEZyRTh6UkVrUVpWMGtOWGhCRnZmVXBCRzNVTkhWNTBDUWRvR2JHMkgrd004bUJGVWNpekV1c1B2QzZRT3F1UWhkMlNYWjNqdVJ0WjV6UE5wZi9va3EyS0FIT29ZWm9jZ1RUTUJmUXowV0szdzZVTzBlcVZrU2xRa0JBbTVralVoZjBxV2NjL2JrTWhYUTA1T3hSVElET3VvZkJUcVlvUEVCS1RXQUJUbUtsY2xxYncwNVZqNlh4RmtXeXBPam1va3JYM3N1NmZqRThEeExBeHVQUEQ4aCtlQ0dJK3Ewekd5MTUwSHhtZXJPOE5qYkNZTGVWd2d0M2lhWXNjRVZXckk4UWo3SVpRQ2lyWGkvZnRnU1cwOFNCS2MyZGdrVDlLODkvSVpLY1hsTkQrclVnTXZGRmpFTWJDVFEyYUloWU5GRFkvNm1NQWw4Y2JXWkdzeHVVdVNNRC9YVHp2eVFuSXdLM05PNlAramxTSXU3ajkreVQzSTRYVEdoN1lobVVNZDc5Nko0Qm1QYy92UElDUXFGNTV1RjB3SUpmaGZuYzFNaWxoNnJJN0xWNERzd2FSWE0rdlhLcVpXdVM5dzRGWGtQY2xQYm1BeWR1Szh0TVlmSjVCc2RjOGNaTkczT3VOS3F0b1NoZmphR2tyQisxTjVrQ1hCVkZNRnVFeHpzTzJFNWZqaE5RWUplL29DOVVxZU9UbGg4KzdpcTRZZm4rYko0THMvK1pRNWwxTklqNEtsTmM5VlI3d3dsQ01YaWtJUSs4a1cvdStXSUpsSEVINWRIb1pDV3V3RE9kSDRjQ1RMand4SU5oSXJFa1N1aS9PeTZ2NGQvSDZjcDIzN3VTSjU1ZnlQY1BrNE1XVlBQT0czRVdMb0hBa1F2RWJ0c3VSMkdzNjRnTzRtWjM5Ly9RLzNpY21rU2kwQUFBPT0ifQ==",
      "DCOS_PACKAGE_VERSION": "9.6-0.2",
      "DCOS_PACKAGE_NAME": "postgresql",
      "MARATHON_SINGLE_INSTANCE_APP": "true",
      "DCOS_PACKAGE_IS_FRAMEWORK": "false"
    },
    "networks": [
      {
        "mode": "container/bridge"
      }
    ],
    "portDefinitions": [],
    "maxLaunchDelaySeconds": 300,
    "upgradeStrategy": {
      "maximumOverCapacity": 0,
      "minimumHealthCapacity": 0
    }
  }

After digging it was found out that one of the env variables i.e. POSTGRES_PGDATA is not recognized by our Postgres Docker container. If we removed and added the key PGDATA and provided a mount path, the persistence works in full swing.

Thanks for creating this issue @srajappa ! If this is still relevant to you, please feel free to create a PR.