{"push_id":1030143842,"size":24,"distinct_size":16,"ref":"refs/heads/feature/lrc","head":"ef86a2722e857f4fd05220c343c0d85558b9fad8","before":"e4d621f2bba7ca0637a75ce85e77678bac0efaeb","commits":[{"sha":"04aa0ebb81f8d85440332f11eae3636e2e35be2a","author":{"email":"914ece8cee76a984575a0c0f1176c27272b19be8@yandex-team.ru","name":"Andrey Vasilenkov"},"message":"Merge branch 'develop' into release-2.26","distinct":false,"url":"https://api.github.com/repos/yandex/mastermind/commits/04aa0ebb81f8d85440332f11eae3636e2e35be2a"},{"sha":"8fa3e219fb15a60ac9837b4ba7e5b5e15135543b","author":{"email":"914ece8cee76a984575a0c0f1176c27272b19be8@yandex-team.ru","name":"Andrey Vasilenkov"},"message":"Changelog, version 2.26.5","distinct":false,"url":"https://api.github.com/repos/yandex/mastermind/commits/8fa3e219fb15a60ac9837b4ba7e5b5e15135543b"},{"sha":"309eeb53e5f151088acf4d28b67868b6c9fd8932","author":{"email":"914ece8cee76a984575a0c0f1176c27272b19be8@yandex-team.ru","name":"Andrey Vasilenkov"},"message":"Merge branch 'release-2.26' into develop","distinct":false,"url":"https://api.github.com/repos/yandex/mastermind/commits/309eeb53e5f151088acf4d28b67868b6c9fd8932"},{"sha":"54235a6aa8c069af0835b1f42de0c8899fedfdcd","author":{"email":"914ece8cee76a984575a0c0f1176c27272b19be8@yandex-team.ru","name":"Andrey Vasilenkov"},"message":"Increase defrag timeout to 14 days","distinct":false,"url":"https://api.github.com/repos/yandex/mastermind/commits/54235a6aa8c069af0835b1f42de0c8899fedfdcd"},{"sha":"c8f52b7934d1c18b05cb7dbfe538350bb232e807","author":{"email":"dd74bb3a425c6ff56263ef3880a049108d5cb2c1@gmail.com","name":"Andrey Vasilenkov"},"message":"Merge pull request #149 from yandex/fix/defrag_check_timeout\n\nIncrease defrag timeout to 14 days","distinct":false,"url":"https://api.github.com/repos/yandex/mastermind/commits/c8f52b7934d1c18b05cb7dbfe538350bb232e807"},{"sha":"62b27555809871270143f2e2084912c2f116c4f8","author":{"email":"914ece8cee76a984575a0c0f1176c27272b19be8@yandex-team.ru","name":"Andrey Vasilenkov"},"message":"Merge branch 'develop' into release-2.26","distinct":false,"url":"https://api.github.com/repos/yandex/mastermind/commits/62b27555809871270143f2e2084912c2f116c4f8"},{"sha":"727418b0d343e4bae4aba20fa578cba04968d6b2","author":{"email":"914ece8cee76a984575a0c0f1176c27272b19be8@yandex-team.ru","name":"Andrey Vasilenkov"},"message":"Changelog, version 2.26.6","distinct":false,"url":"https://api.github.com/repos/yandex/mastermind/commits/727418b0d343e4bae4aba20fa578cba04968d6b2"},{"sha":"e69a79ab8e4c3449ce17f96cd4c5776081d58cc7","author":{"email":"914ece8cee76a984575a0c0f1176c27272b19be8@yandex-team.ru","name":"Andrey Vasilenkov"},"message":"Merge branch 'release-2.26' into develop","distinct":false,"url":"https://api.github.com/repos/yandex/mastermind/commits/e69a79ab8e4c3449ce17f96cd4c5776081d58cc7"},{"sha":"25aa9aa52eb823c873d4c730299347c91d6cb0a6","author":{"email":"914ece8cee76a984575a0c0f1176c27272b19be8@yandex-team.ru","name":"Andrey Vasilenkov"},"message":"Divide groupsets by different types\n\nThere are several logical types of groupsets\nthat will be introduced in the following commits:\nreplicas groupsets (what was called 'couples' previously)\nand lrc groupsets.\nThis commit splits 'storage.couples' object into\nseveral objects for easy and exlpicit\niteration. MultiRepository Groupsets object aggregates all\ngroupsets and provides easy access to any groupset by its id.","distinct":true,"url":"https://api.github.com/repos/yandex/mastermind/commits/25aa9aa52eb823c873d4c730299347c91d6cb0a6"},{"sha":"923653839805cc74783a409d613664eee5244e3f","author":{"email":"914ece8cee76a984575a0c0f1176c27272b19be8@yandex-team.ru","name":"Andrey Vasilenkov"},"message":"Refactor group type discovery\n\n- disable elliptics exceptions to make error processing\nmore straightforward;\n- change group types for cache groups to more explicit ones;\n- make group type independent from meta (when failed to read meta,\nwe still know group's type)","distinct":true,"url":"https://api.github.com/repos/yandex/mastermind/commits/923653839805cc74783a409d613664eee5244e3f"},{"sha":"d95acee1f6dea3e488d3897000a87523b6411924","author":{"email":"914ece8cee76a984575a0c0f1176c27272b19be8@yandex-team.ru","name":"Andrey Vasilenkov"},"message":"Refactor bucketing uncoupled groups by total space\n\nAdded docs for corresponding method and removed\nredundant checks (they are already done in get_good_uncoupled_groups\nmethod)\nAlso, groups_by_total_space is moved to infrastructure module,\nbecause it is a common utility that does not logically\nbelong to balancer module.","distinct":true,"url":"https://api.github.com/repos/yandex/mastermind/commits/d95acee1f6dea3e488d3897000a87523b6411924"},{"sha":"54dff43ac4d07cca0fa78c3bcc6e6493f96dc6c4","author":{"email":"914ece8cee76a984575a0c0f1176c27272b19be8@yandex-team.ru","name":"Andrey Vasilenkov"},"message":"Add get_new_group_files function\n\nIf elliptics config is generated automatically by\nusing dedicated file structure on group's base path,\nthis inventory function should be implemented to\nallow mastermind to create new groups in cluster automatically.","distinct":true,"url":"https://api.github.com/repos/yandex/mastermind/commits/54dff43ac4d07cca0fa78c3bcc6e6493f96dc6c4"},{"sha":"f540a391cd5eaee28ec690ac003678b3461413a0","author":{"email":"914ece8cee76a984575a0c0f1176c27272b19be8@yandex-team.ru","name":"Andrey Vasilenkov"},"message":"Add dnet_client backend minion task\n\nRight now minion relies on mastermind to supply\nshell command that should be executed. But there are\ncases when mastermind does not have all information\nto construct the command. Like when new group is\ncreated on a file system, mastermind wants to run it\nbut does not know which backend id is assigned to it\n(backend id is usually fetched from monitor stat data\nof running backend).\n\nBut, fortunatelly, mastermind-minion can fetch the rest\nof required data itself because it can read elliptics config\nlocally on the node and fill in the missing parameters.\nThis is what new minion task type is for. It allows\nmastermind to supply command template and values that\nit can provide and let mastermind-minion fetch the rest.\nAfterward minion runs the command in the usual way.","distinct":true,"url":"https://api.github.com/repos/yandex/mastermind/commits/f540a391cd5eaee28ec690ac003678b3461413a0"},{"sha":"5d619d0dc4c4b6caa4e3b9f1ed33ee925cd11c8c","author":{"email":"914ece8cee76a984575a0c0f1176c27272b19be8@yandex-team.ru","name":"Andrey Vasilenkov"},"message":"Add create group and remove group minion tasks\n\nThese minion tasks will allow to create and remove\ngroups from storage in automatic way.","distinct":true,"url":"https://api.github.com/repos/yandex/mastermind/commits/5d619d0dc4c4b6caa4e3b9f1ed33ee925cd11c8c"},{"sha":"bb82102bcaaf49bd9868e5ef769de32aac054ee9","author":{"email":"914ece8cee76a984575a0c0f1176c27272b19be8@yandex-team.ru","name":"Andrey Vasilenkov"},"message":"Wrap ipv6 host with brackets when constructing minion urls","distinct":true,"url":"https://api.github.com/repos/yandex/mastermind/commits/bb82102bcaaf49bd9868e5ef769de32aac054ee9"},{"sha":"8fca9c831352dcaec9ee7dc686d4b9b262c943d0","author":{"email":"914ece8cee76a984575a0c0f1176c27272b19be8@yandex-team.ru","name":"Andrey Vasilenkov"},"message":"Add jobs' property to list involved uncoupled groups\n\nIt is useful to know which uncoupled groups are\ninvolved in jobs, e.g. to filter them out when\nbuilding new groupsets.\nSince uncoupled groups list varies depending on\nthe job type, job itself should provide this list.","distinct":true,"url":"https://api.github.com/repos/yandex/mastermind/commits/8fca9c831352dcaec9ee7dc686d4b9b262c943d0"},{"sha":"c54bbaacd562405185b2ccd767104a7f5fa44a2f","author":{"email":"914ece8cee76a984575a0c0f1176c27272b19be8@yandex-team.ru","name":"Andrey Vasilenkov"},"message":"Add job types groups\n\nTwo set of job types groups are added:\nAVAILABLE_TYPES: set of types that can be used in mastermind\nSUPPORTED_TYPES: types of job that are supported by job processor.\nIf job type is unsupported by job processor it may skip it.\nEspecially useful when adding new types of jobs during development.","distinct":true,"url":"https://api.github.com/repos/yandex/mastermind/commits/c54bbaacd562405185b2ccd767104a7f5fa44a2f"},{"sha":"3882329f2a84ae95ec37b86a146c35b5985b33ff","author":{"email":"914ece8cee76a984575a0c0f1176c27272b19be8@yandex-team.ru","name":"Andrey Vasilenkov"},"message":"Log and skip broken jobs","distinct":true,"url":"https://api.github.com/repos/yandex/mastermind/commits/3882329f2a84ae95ec37b86a146c35b5985b33ff"},{"sha":"5e5423f9c01a27af6f184f7c794cb4b5fb4c268d","author":{"email":"914ece8cee76a984575a0c0f1176c27272b19be8@yandex-team.ru","name":"Andrey Vasilenkov"},"message":"Pass processor to 'finished' and 'failed' task checks\n\nSince jobs processor is a single gateway for all\njob operations it contains all necessary resources\nthat can be useful during such operations.\nTask checks should also be able to use these resources\nbecause they may need access to some external facilities\nthat are available to processor (e.g. elliptics session).","distinct":true,"url":"https://api.github.com/repos/yandex/mastermind/commits/5e5423f9c01a27af6f184f7c794cb4b5fb4c268d"},{"sha":"190ab7103bd2fa0b63beae853f72a9c662670b1b","author":{"email":"914ece8cee76a984575a0c0f1176c27272b19be8@yandex-team.ru","name":"Andrey Vasilenkov"},"message":"Add write metakey minion task\n\nThis type of task is used when a new group is created\non a filesystem and requires a metakey to be written to it\nto operate a specialized group.","distinct":true,"url":"https://api.github.com/repos/yandex/mastermind/commits/190ab7103bd2fa0b63beae853f72a9c662670b1b"}]}