Code Monkey home page Code Monkey logo

choregraphie's People

Contributors

achamo avatar annih avatar antonofthewoods avatar brugidou avatar dlukman avatar jeremy-clerc avatar jmauro avatar kamaradclimber avatar komuta avatar mat-co avatar pierrecdn avatar pierresouchay avatar thomas-maurice avatar tionebsalocin avatar wdauchy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

choregraphie's Issues

Chef v17 compatibility

Can we get this fixed?

  ArgumentError
  -------------
  tried to create Proc object without a block

  Relevant File Content:
  ----------------------
  /var/cinc/cache/cookbooks/choregraphie/libraries/dsl.rb:

    1:  module Choregraphie
    2:    module DSL
    3:      # DSL helper
    4:      def choregraphie(name)
    5>>       Choregraphie.add(Choregraphie.new(name, &Proc.new))
    6:      end
    7:    end
    8:  end
    9:

  System Info:
  ------------
  chef_version=17.9.26
  platform=centos
  platform_version=7.8.2003
  ruby=ruby 3.0.3p157 (2021-11-24 revision 3fb7d2cadc) [x86_64-linux]
  program_name=/opt/cinc/bin/cinc-client
  executable=/opt/cinc/bin/cinc-client

Implement a rack consul lock.

Here is a proposal implementation:

  • Based on the current consul lock primitive mechanism
  • If choregraphie is of type "rack" add a field rack to the value
    {"version":1,"concurrency":30,"holders":{},"rack":""}
  • Take lock if rack empty or node rack is the same than the one in the rack field and number of holders < concurrency
  • During lock release:
  1. Remove host entry in the holders hash
  2. If holders empty set rack field to an empty string

This will ensure that protected resources are only executed on node in the same rack at a time but it won't ensure that all nodes from a rack are up to date before to update an other rack. It also permitts to have a max number of nodes in the same rack being updated in //.

Thanks to let me know your thoughts

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.