Skip to content
This repository has been archived by the owner on Sep 21, 2023. It is now read-only.

Initial Implementation #1

Merged
merged 6 commits into from
Nov 24, 2015
Merged

Initial Implementation #1

merged 6 commits into from
Nov 24, 2015

Conversation

colhom
Copy link
Contributor

@colhom colhom commented Nov 23, 2015

This is a working implementation of the discussed pod scheduler/unscheduler, which has been named rcscheduler

I've concocted a routine/collector design paradigm which I think will work well with our desired design pattern.

routines are blocks of logic which have the a lifecycle:

  • initialize: set up resources
  • poll for state: this block is run in a loop, which has two parameters
    1. poll interval: how many seconds to sleep between each poll
    2. poll count: how many polls to do before cleaning up and re-initializing ( <1 to delimit)
  • cleanup restore state expected by initialize

As routines progress through the lifecycle and observe the api, they emit events which describe the latest known state.

collectors are aggregators which collect events from routines over time and consolidate the current state.

The only assumption made at the architecture level is that collectors
a) Consume events from some number of routines
b) Consolidate that state into a single http handler function

@colhom
Copy link
Contributor Author

colhom commented Nov 23, 2015

@philips ping

…FTER the routine successfully starts.

If routine fails to start, then there should be nothing waiting on it's event channel.
@philips
Copy link

philips commented Nov 23, 2015

lgtm.

…/pause container instead of busybox running a sleep loop
colhom added a commit that referenced this pull request Nov 24, 2015
@colhom colhom merged commit f503780 into master Nov 24, 2015
@colhom colhom deleted the chom_incr branch November 24, 2015 02:13
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants