Skip to content

Add clusterd #55

Merged
merged 60 commits into from
Oct 5, 2018
Merged

Add clusterd #55

merged 60 commits into from
Oct 5, 2018

Commits on Oct 5, 2015

  1. clusterd: initial

    donald committed Oct 5, 2015
    Configuration menu
    Copy the full SHA
    9137fb9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5bfbdcd View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    915aed9 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    1fb094e View commit details
    Browse the repository at this point in the history

Commits on Mar 3, 2016

  1. Configuration menu
    Copy the full SHA
    396c2dd View commit details
    Browse the repository at this point in the history
  2. clusterd: use unix socket for syslog

    native seems to be broken and delivers newlines into the logile
    donald committed Mar 3, 2016
    Configuration menu
    Copy the full SHA
    dad756e View commit details
    Browse the repository at this point in the history

Commits on Apr 19, 2016

  1. Configuration menu
    Copy the full SHA
    7bd4ede View commit details
    Browse the repository at this point in the history

Commits on Apr 20, 2016

  1. Configuration menu
    Copy the full SHA
    ddc8cef View commit details
    Browse the repository at this point in the history
  2. clusterd: Merge pull request #1 from mariux64/master

    unter die knute des bee
    donald committed Apr 20, 2016
    Configuration menu
    Copy the full SHA
    84fbb14 View commit details
    Browse the repository at this point in the history

Commits on May 18, 2016

  1. clusterd: remove mkbee.sh

    we now create release tags
    .e.g. bee init https://github.molgen.mpg.de/donald/clusterd/archive/v1.104.tar.gz would work
    donald committed May 18, 2016
    Configuration menu
    Copy the full SHA
    4378728 View commit details
    Browse the repository at this point in the history
  2. clusterd: ping mlx once a day

    donald committed May 18, 2016
    Configuration menu
    Copy the full SHA
    2db26c3 View commit details
    Browse the repository at this point in the history
  3. clusterd: bump up revision

    donald committed May 18, 2016
    Configuration menu
    Copy the full SHA
    b364ed9 View commit details
    Browse the repository at this point in the history

Commits on Jun 21, 2016

  1. Configuration menu
    Copy the full SHA
    30c64ed View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d7e9bc5 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5e0a491 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    7fdd29c View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    7cd2f86 View commit details
    Browse the repository at this point in the history

Commits on Jul 1, 2016

  1. Configuration menu
    Copy the full SHA
    986ab43 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6279419 View commit details
    Browse the repository at this point in the history
  3. clusterd: enable push to send symlink

    for the rolling upgrade we need to request another rpc version, because
    the current receiver trusts the sender to send only plain files
    donald committed Jul 1, 2016
    Configuration menu
    Copy the full SHA
    1f59127 View commit details
    Browse the repository at this point in the history
  4. clusterd: update receiver to handle symlinks

    symlinks need to be send to a new rpc "filedata.2" because the old rpc
    can't handle it. the updated receiver is installed under the old name
    "filedata" too in case older daemons send push
    donald committed Jul 1, 2016
    Configuration menu
    Copy the full SHA
    2e4c2e2 View commit details
    Browse the repository at this point in the history
  5. clusterd: Merge branch 'symlinks'

    * symlinks:
      update receiver to handle symlinks
      enable push to send symlink
      add lchown() , lmitime()
    donald committed Jul 1, 2016
    Configuration menu
    Copy the full SHA
    49436eb View commit details
    Browse the repository at this point in the history

Commits on Jul 2, 2016

  1. clusterd: bump up revision

    donald committed Jul 2, 2016
    Configuration menu
    Copy the full SHA
    a27bacd View commit details
    Browse the repository at this point in the history

Commits on Sep 27, 2016

  1. Configuration menu
    Copy the full SHA
    630d90a View commit details
    Browse the repository at this point in the history

Commits on Dec 29, 2016

  1. clusterd: Implement --exec @node cmd [args...]

    This command might be usefull, e.g. if sshd is not responding.
    
    Examples:
    
      clusterd --exec @theinternet restart sshd.service
      clusterd --exec @theinternet dmesg
      clusterd --exec @theinternet 'grep sshd /var/log/messages|tail -100'
    
    The remote command is executed by bash, so the pipe in the last example
    is on the remote node
    
    stdout and stderr are delivered seperatly and might be redirected to
    different channels on the local side.
    
    If the remote command exits with a non-zero exit status, the local
    command fails with exit status 1.
    
    The slave part already existed, because we once had a remote
    execution command. We removed it, because it was considered to
    be to dangerous. The former remote execution command allowed parallel
    execution on all nodes, which enabled an admin to kill all systems
    by mistake in an instance. Now we only enable remote execution on a
    single node.
    donald committed Dec 29, 2016
    Configuration menu
    Copy the full SHA
    0ff9634 View commit details
    Browse the repository at this point in the history
  2. clusterd: Merge branch 'add-remote-exec'

    * add-remote-exec:
      Implement --exec @node cmd [args...]
    donald committed Dec 29, 2016
    Configuration menu
    Copy the full SHA
    3c35a07 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    fec0a5b View commit details
    Browse the repository at this point in the history
  4. clusterd: bump up version

    donald committed Dec 29, 2016
    Configuration menu
    Copy the full SHA
    724d5be View commit details
    Browse the repository at this point in the history

Commits on Feb 15, 2017

  1. Configuration menu
    Copy the full SHA
    c15e018 View commit details
    Browse the repository at this point in the history

Commits on Dec 7, 2017

  1. Configuration menu
    Copy the full SHA
    4cc68dc View commit details
    Browse the repository at this point in the history
  2. clusterd: Dereference CLP tcp socket after hangup

    We have a small leak here, that clp sockets keep referenced after the
    peer closed. Fix.
    donald committed Dec 7, 2017
    Configuration menu
    Copy the full SHA
    fcbb609 View commit details
    Browse the repository at this point in the history
  3. clusterd: Remove mlx ping

    donald committed Dec 7, 2017
    Configuration menu
    Copy the full SHA
    2f547a7 View commit details
    Browse the repository at this point in the history
  4. clusterd: Import Donald::Select into script

    The design of Donald::Select makes use of Donald::Callback objects,
    which are objects conainting a sub and call arguments. However,
    because of the pattern
    
        sub do_something_later() {
            my ($cb_or_sub,@args)=@_;
                $store_callback_somehere=new Donald::Callback($cb_or_sub,@args);
            }
    
        do_something_later(\&callback,$arg1,$arg2)
    
    the caller doesn't have a reference to the Donald::Callback object,
    which makes its diffucult to identify it, e.g. to cancel the callback.
    
    We want to change the design to accept only references to subs as
    callbacks. Instead of passing arguments, we exepect the caller to make
    use of closures to pass data to the callback if needed.
    
        sub do_something_later() {
            my ($cb)=@_;
            $store_callback_somewhere=$cb;
        }
    
        do_something_later(sub{callback($arg1,$args)});
    
    Instead of changing the API of Donald::Select, we import the code
    directly into clusterd to make the modifications here.
    donald committed Dec 7, 2017
    Configuration menu
    Copy the full SHA
    a651c04 View commit details
    Browse the repository at this point in the history
  5. clusterd: Rename Donald::Select to My::Select

    Use the namespace My:: for packages declared inside the main script.
    donald committed Dec 7, 2017
    Configuration menu
    Copy the full SHA
    6d2fa4e View commit details
    Browse the repository at this point in the history
  6. clusterd: Remove declarations no longer needeid after import

    We imported some lines which do no longer have a function now. Remove
    them.
    donald committed Dec 7, 2017
    Configuration menu
    Copy the full SHA
    01c0d8f View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    8b373b2 View commit details
    Browse the repository at this point in the history
  8. clusterd: Remove/fix some comments

    Non-functional change to bring source into sync with another working
    branch.
    donald committed Dec 7, 2017
    Configuration menu
    Copy the full SHA
    1c4fb1c View commit details
    Browse the repository at this point in the history
  9. clusterd: Remove My::Callback

    Use refenerces to subs as callback arguments. If the caller wants to
    pass additional arguments, he can use closures.
    donald committed Dec 7, 2017
    Configuration menu
    Copy the full SHA
    27c6521 View commit details
    Browse the repository at this point in the history
  10. clusterd: Remove/Move imports

    donald committed Dec 7, 2017
    Configuration menu
    Copy the full SHA
    7f88599 View commit details
    Browse the repository at this point in the history
  11. clusterd: Remove clp_sockets hash

    This hash is not used but it prevents these sockets to be able to
    be closed by running out of scope.
    donald committed Dec 7, 2017
    Configuration menu
    Copy the full SHA
    871a2b2 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    d7b6834 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    082e78a View commit details
    Browse the repository at this point in the history
  14. clusterd: Add command "clusterd push files..."

    The command "clusterd push file..." has a new syntax with a command
    verb. (as opposed to "clusterd --push file")
    
    The push command is distributed via the area routers to the cluster
    daemons on all nodes. It is intended that the cluster daemons call
    back over tcp to the originator to pull the file if needed.
    donald committed Dec 7, 2017
    Configuration menu
    Copy the full SHA
    96806c6 View commit details
    Browse the repository at this point in the history
  15. clusterd: Implement PUSH in daemon

    When a daemon receices a push command, it checks whether it already has
    the offered file or not. If not, it calls back to the daemon where the
    push originated and pulls the file over tcp.
    donald committed Dec 7, 2017
    Configuration menu
    Copy the full SHA
    8f5d59a View commit details
    Browse the repository at this point in the history
  16. clusterd: Implement PULL in daemon

    Implement the server side to pull a file over tcp.
    donald committed Dec 7, 2017
    Configuration menu
    Copy the full SHA
    7312dd4 View commit details
    Browse the repository at this point in the history
  17. clusterd: Increase TCP timeout from 5 to 30

    While 5 seconds seems to be enough for normal behaviour, we might need
    more time if the daemon is slowed down .e.g. by strace.
    donald committed Dec 7, 2017
    Configuration menu
    Copy the full SHA
    fcedb3a View commit details
    Browse the repository at this point in the history
  18. clusterd: Increase listen queue size for clp port

    With 234 hosts pulling a file we failed to service a single on with the
    old setting listen=1.
    donald committed Dec 7, 2017
    Configuration menu
    Copy the full SHA
    cb8964c View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    bdfefc8 View commit details
    Browse the repository at this point in the history
  20. clusterd: Bump up version

    donald committed Dec 7, 2017
    Configuration menu
    Copy the full SHA
    22887ea View commit details
    Browse the repository at this point in the history

Commits on Mar 10, 2018

  1. clusterd: Add timeout for lsof

    If we have dead nfs mounts, lsof might hangover. Limit a timeout and
    return an error message if lsof fails.
    donald committed Mar 10, 2018
    Configuration menu
    Copy the full SHA
    2d12949 View commit details
    Browse the repository at this point in the history
  2. clusterd: Bump up version

    donald committed Mar 10, 2018
    Configuration menu
    Copy the full SHA
    3724deb View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    768d7dc View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    98bb305 View commit details
    Browse the repository at this point in the history

Commits on Jun 13, 2018

  1. clusterd: Refactor lmtime setting

    Refactor the code, so that the mltime specific settings are done from
    inside the machine type switch. This makes it easier to add another
    machine type which can set the time of a symlink.
    donald committed Jun 13, 2018
    Configuration menu
    Copy the full SHA
    5a917d5 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5aa3a28 View commit details
    Browse the repository at this point in the history
  3. clusterd: Remove call to amq

    amd automounted is gone on all systems, so don't try to call amq.
    donald committed Jun 13, 2018
    Configuration menu
    Copy the full SHA
    3adb42f View commit details
    Browse the repository at this point in the history

Commits on Oct 5, 2018

  1. clusterd: Add checks for write errors

    Currently we may move received files in place, even whe the write or
    close were unsuccessfull (eg. disk full). This is a serious bug and we
    may end up with an empty passwd.
    
    Add checks for all write() and close() calls.
    Also log rename errors.
    donald committed Oct 5, 2018
    Configuration menu
    Copy the full SHA
    c93face View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5ce65e5 View commit details
    Browse the repository at this point in the history
  3. Merge rewritten clusterd repository

    The clusterd repository has been prepared by
    
        git filter-branch \
            --msg-filter 'sed -r "1s/^(clusterd: )?/clusterd: /"' \
            --index-filter 'git ls-files -s | sed "s-\t\"*-&clusterd/-" | GIT_INDEX_FILE=$GIT_INDEX_FILE.new git update-index --index-info && mv "$GIT_INDEX_FILE.new" "$GIT_INDEX_FILE"' \
            -- master
    
    to move all files into a subdirectory clusterd/ and make sure,
    the commit messages are prefixed wih "clusterd:".
    
    Not merge its master branch.
    
    * clusterd/master:
      clusterd: Remove redundant blank lines.
      clusterd: Add checks for write errors
      clusterd: Remove call to amq
      clusterd: Add ppc64le architecture
      clusterd: Refactor lmtime setting
      clusterd: Increase lsof timeout
      clusterd: Do not resolve hostname when doing lsof
      clusterd: Bump up version
      clusterd: Add timeout for lsof
      clusterd: Bump up version
      clusterd: Increase listen queue size for clp port
      clusterd: Increase TCP timeout from 5 to 30
      clusterd: Implement PULL in daemon
      clusterd: Implement PUSH in daemon
      clusterd: Add command "clusterd push files..."
      clusterd: Add send_tcp_cp() to send a cluster protocol message over tcp
      clusterd: Add functions for nonblocking tcp to My::Select::INET
      clusterd: Remove clp_sockets hash
      clusterd: Remove/Move imports
      clusterd: Remove My::Callback
      clusterd: Remove/fix some comments
      clusterd: Remove unused sub heartbeat.
      clusterd: Remove declarations no longer needeid after import
      clusterd: Rename Donald::Select to My::Select
      clusterd: Import Donald::Select into script
      clusterd: Remove mlx ping
      clusterd: Dereference CLP tcp socket after hangup
      clusterd: Clean up indentation mix
      clusterd: implement --make-automaps
      clusterd: bump up version
      clusterd: remove some debug relicts
      clusterd: Implement --exec @node cmd [args...]
      clusterd: fix shebang to use /usr/bin/perl
      clusterd: bump up revision
      clusterd: update receiver to handle symlinks
      clusterd: enable push to send symlink
      clusterd: add lchown() , lmitime()
      clusterd: enable push to send empty files
      clusterd: increase push file limit from 5*8*1024 to 8*8*1024
      clusterd: make push_file errors like "to big" fatal
      clusterd: change wait to happen before broadcast if we need to throttle
      clusterd: style: remove some extra whitespace
      clusterd: update comment pointing to github home
      clusterd: bump up revision
      clusterd: ping mlx once a day
      clusterd: remove mkbee.sh
      clusterd: nach /usr/sbin installieren aber in /sbin aufrufen is nix gut
      clusterd: unter die knute des bee
      clusterd: use unix socket for syslog
      clusterd: we live on github now
      clusterd: add clusterd.service
      clusterd: add --flush-gidcache
      clusterd: add primitive Makefile
      clusterd: initial
    donald committed Oct 5, 2018
    Configuration menu
    Copy the full SHA
    773d10f View commit details
    Browse the repository at this point in the history
  4. clusterd: Add to installation script

    Add clusterd files to installation script and remove its obsolete
    stand-alone Makefile.
    donald committed Oct 5, 2018
    Configuration menu
    Copy the full SHA
    8eed159 View commit details
    Browse the repository at this point in the history