{"push_id":2316666524,"size":10,"distinct_size":10,"ref":"refs/heads/cloud-init-improvements","head":"b801c809edbad5db91963db29855b9fe3eec7936","before":"fdee8626d1f2f322061d425231967fd5c5d8de5f","commits":[{"sha":"a82e6b0d066c412cdf8948b799ba9ee5d15a687e","author":{"name":"Wander Lairson Costa","email":"6ac01398215ba6b8084fd3917b8243b2500d7321@mozilla.com"},"message":"Dump docker-worker debug tests on CI tests\n\nThere are still tests that fail once in a while and it is hard to make\nthey fail again in development environment. Let's add thr docker-worker\ndebug message to CI, so when a test fails for no reason, we can debug\nwhy.","distinct":true,"url":"https://api.github.com/repos/indygreg/docker-worker/commits/a82e6b0d066c412cdf8948b799ba9ee5d15a687e"},{"sha":"72245c649bd2599d28804763924c6a98e905285e","author":{"name":"Gregory Szorc","email":"fca61058835f222e1cd0942809ffec8ecac86cf5@mozilla.com"},"message":"Update to docker-ce 17.12\n\nDocker changed their distribution model. So we port from \"docker engine\"\nto \"docker ce\" (community edition). The new version is ~1 year newer.","distinct":true,"url":"https://api.github.com/repos/indygreg/docker-worker/commits/72245c649bd2599d28804763924c6a98e905285e"},{"sha":"8693b25f67bbd42209f2a43898aae8ef98a15de6","author":{"name":"Gregory Szorc","email":"fca61058835f222e1cd0942809ffec8ecac86cf5@mozilla.com"},"message":"Remove support for btrfs\n\nI don't believe anyone is using btrfs. Let's remove support for it.\n\nThe impetus behind this change is to pave the way for refactoring\nsystem provisioning so there is less complexity and code duplication.","distinct":true,"url":"https://api.github.com/repos/indygreg/docker-worker/commits/8693b25f67bbd42209f2a43898aae8ef98a15de6"},{"sha":"3775997e43bee2d9c2634e93da0cd9ad261991be","author":{"name":"Gregory Szorc","email":"fca61058835f222e1cd0942809ffec8ecac86cf5@mozilla.com"},"message":"Remove support for configurable filesystem\n\nWith the removal of btrfs, we only use overlay2. So, we don't need\ncomfigurable filesystem support. This feature is not used, so it\ndoesn't need to exist.\n\nConfigurable filesystem support is nice. However, it is easy enough\nto add the feature back if we want it.","distinct":true,"url":"https://api.github.com/repos/indygreg/docker-worker/commits/3775997e43bee2d9c2634e93da0cd9ad261991be"},{"sha":"264fd96bafa659e206d162e18363b557e206b702","author":{"name":"Gregory Szorc","email":"fca61058835f222e1cd0942809ffec8ecac86cf5@mozilla.com"},"message":"Rename docker-overlay2 to docker\n\nWe no longer have a need to paramaterize the init scripts because\nof varying filesystems. Plus, using a separate init script for\neach filesystem type led to divergence in the init scripts, making\nthem harder to change.\n\nIf we want to paramaterize init scripts in the future, we can write\nthe filesystem name to a variable in the script and have the script\ntake variable action depending on the filesystem being used. Or\nsomething like that.","distinct":true,"url":"https://api.github.com/repos/indygreg/docker-worker/commits/264fd96bafa659e206d162e18363b557e206b702"},{"sha":"195ec69d20807fc08ec9f447b07fbaf55aa3769a","author":{"name":"Gregory Szorc","email":"fca61058835f222e1cd0942809ffec8ecac86cf5@mozilla.com"},"message":"Remove diamond\n\nLooking at cloud-init logs on a server, diamond was failing to\nstart.\n\nDiamond is related to data capture for influxdb. According to\ndustin, influxdb is dead.\n\nThis commit removes references to diamond. cloud-init should now\nstart fully working again. FWIW, the diamond failure was the last\nline in cloud-init's per-boot init.sh. So I /think/ this failure\ndidn't impact other parts of cloud-init. But there is that\npossibility. We should compare the cloud-init logs after this\nchange and make sure everything is happy.","distinct":true,"url":"https://api.github.com/repos/indygreg/docker-worker/commits/195ec69d20807fc08ec9f447b07fbaf55aa3769a"},{"sha":"bcf026d0310a676f3811b98feca9784d356ad588","author":{"name":"Gregory Szorc","email":"fca61058835f222e1cd0942809ffec8ecac86cf5@mozilla.com"},"message":"Remove install of influxdb Python package\n\nAccording to Dustin, we don't use influxdb any more. So nuke\nreferences.","distinct":true,"url":"https://api.github.com/repos/indygreg/docker-worker/commits/bcf026d0310a676f3811b98feca9784d356ad588"},{"sha":"8096dc01b8aba6912bc7de4335b0d902ef835089","author":{"name":"Gregory Szorc","email":"fca61058835f222e1cd0942809ffec8ecac86cf5@mozilla.com"},"message":"Blow away local docker state when building app AMI\n\nThe local docker state is never used. It takes up space and only\nserves to confuse people.","distinct":true,"url":"https://api.github.com/repos/indygreg/docker-worker/commits/8096dc01b8aba6912bc7de4335b0d902ef835089"},{"sha":"ba566cd28323a87d62d0f71b67607d2f543437c2","author":{"name":"Gregory Szorc","email":"fca61058835f222e1cd0942809ffec8ecac86cf5@mozilla.com"},"message":"Wait for cloud-init before starting docker\n\ncloud-init does low-level things like configure networking\nand storage. We should wait for cloud-init to finish before we\nattempt to start docker.\n\ncloud-init touches a boot-finished file when it has finished.\nThe file will be touched in case of error. That's OK... for now.\nWe simply wait on that file to come into existence before proceeding\nwith startup.\n\nIdeally, we'd record this dependency in /etc/init/docker. However,\nthat file is provided by the docker package. We don't want to\noverwrite it. I don't think Upstart lets us define override files.\nWe already have an /etc/default/docker file/script. So we abuse\nit to inject hacky dependency management.","distinct":true,"url":"https://api.github.com/repos/indygreg/docker-worker/commits/ba566cd28323a87d62d0f71b67607d2f543437c2"},{"sha":"b801c809edbad5db91963db29855b9fe3eec7936","author":{"name":"Gregory Szorc","email":"fca61058835f222e1cd0942809ffec8ecac86cf5@mozilla.com"},"message":"Initialize instance storage in cloud-init\n\nBefore, instance storage was initialized as part of the\n/etc/default/docker script, which is sourced as part of\n/etc/init/docker, which is run as part of starting the docker\nservice. This was a really wonky place to put storage\ninitialization!\n\nWe create a new per-boot cloud-init script containing the logic\nfor initializing instance storage. The old docker init\nscript simply does a sanity check for the presence of an expected\ndirectory and aborts if cloud-init didn't do its job.\n\nThere is a potential regression here.\n\nBecause the old instance storage code ran as part of the docker\ninit routine and the docker service would retry if it failed,\nwe could run the instance storage code multiple times. Before,\nan initially failing run could recover in a subsequent run.\nNow, we will never recover because instance storage code only\nruns once. This could lead to \"zombie workers.\"\n\nOn one hand, I understand the concern. On the other, it looks like\nthe previous code was more paranoid than necessary with regards\nto error handling. I could only see there being an issue if there\nis a race condition preventing the sequence of vgcreate + lvcreate\n+ mkfs.ext4 from working. I looked through Ansible's code for\nlvm and filesystem management and I don't see any extra checks\nafter running these commands to ensure they actually worked.\nI think the exit code should be all that we need to care about.\nWe execute the script with `set -e`, so we should be covered. One\nthing we could consider doing is shutting down the instance\non failure so it doesn't become a zombie. Let's see if this\nactually fails first before adding more code.","distinct":true,"url":"https://api.github.com/repos/indygreg/docker-worker/commits/b801c809edbad5db91963db29855b9fe3eec7936"}]}
{"actor":{"display_login":"indygreg"}}