GithubHelp home page GithubHelp logo

isabella232 / sdc-designation Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tritondatacenter/sdc-designation

0.0 0.0 0.0 984 KB

Compute node designation library

License: Mozilla Public License 2.0

Makefile 3.40% JavaScript 96.33% Shell 0.27%

sdc-designation's Introduction

sdc-designation

This repository is part of the Joyent Triton project. See the contribution guidelines and general documentation at the main Triton project page.

The purpose of this module is to select a compute node for provisioning an instance when an undirected request has been made. The module is consumed by CNAPI; the code in this repository does not provide any externally-visible interfaces.

Development

sdc-designation provides its API through Javascript only; there is no HTTP service. All allocation-related HTTP service is provided via CNAPI. See CNAPI documentation for information on setting up a CNAPI server for testing.

To update the docs, edit "docs/index.md". The makefile is used to rebuild the documentation as well as for pre-integration testing.

Before integrating anything into the gate, run make prepush and get a code review. Do not integrate unless make prepush succeeds!

Testing

$ gmake test

Design Ideas

  • DAPI should support multiple allocation algorithms. Starting with "random" and then adding scope for things like "random within this set of compute nodes".
  • Data that DAPI should take into account when selecting a machine (depending on algorithm):
    • Load (avg?) - ie, dont place new machines onto a "hot" box
    • Is the machine being purged? Compute nodes may be in the process of being shut down? (this may be a state that cnapi will just control)
  • The concept of distance between servers. If I want to be able to define a bunch of costs / weights of being close / far away in terms of physical machine placement. This includes. Same CN, Same Role, Same Rack, Different Rack, Different electrical circuit, different switch. Kind of complicated. For things like determining "distance" between compute nodes, we may want to consider assigning weights to certain CN properties. ex: a different rack is worth 1000, a different compute node, is worth 100. This would be like a route metric - and the concept is familiar

sdc-designation's People

Contributors

trentm avatar joshwilsdon avatar kusor avatar twhiteman avatar cburroughs avatar arekinath avatar bcantrill avatar melloc avatar johananlai avatar orlandov avatar

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.