Skip to content

Commit 5b57f32

Browse files
author
Matthew Fisher
committed
Merge pull request #713 from opdemand/scheduler
refactor(scheduler): use coreos/fleet for container scheduling
2 parents 50e4216 + f45919c commit 5b57f32

314 files changed

Lines changed: 6018 additions & 10762 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,5 @@ Vagrantfile.local
5656
.bundle
5757
/__init__.py
5858

59-
# Chef setup
60-
.chef
61-
contrib/vagrant/knife-config/admin.pem
62-
contrib/vagrant/knife-config/chef-validator.pem
63-
controller/provider/vagrant-util/nodes/
64-
controller/provider/vagrant-util/.host_nodes_dir
59+
# EC2 CloudFormation Setup
60+
contrib/ec2/cloudformation.json

Berksfile

Lines changed: 0 additions & 4 deletions
This file was deleted.

Gemfile

Lines changed: 0 additions & 12 deletions
This file was deleted.

Gemfile.lock

Lines changed: 0 additions & 214 deletions
This file was deleted.

MIGRATING.md

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
Migrating to Deis 0.8.0
2+
=======================
3+
4+
If you are updating from Deis version 0.7.0 or earlier, there are
5+
several big changes you should know about.
6+
7+
If you need to use Deis with Chef integration, on Ubuntu 12.04 LTS, or
8+
on DigitalOcean, you should use the
9+
[v0.7.0 release](https://github.com/opdemand/deis/tree/v0.7.0) of Deis.
10+
11+
Upgrading
12+
---------
13+
During the last several months of pre-release development of Deis, we
14+
have not been able to provide a smooth upgrade process between every
15+
release. Unfortunately, that is also the case for the upcoming release,
16+
v0.8.0. The reasons why a simple in-place upgrade isn't possible for
17+
this release are made plain below.
18+
19+
However, the Deis core developers believe the current release is stable
20+
architecturally--we don't anticipate major changes to components,
21+
interfaces, or packaging at this point. And we will soon implement a
22+
reliable upgrade process that will enable you to stay with Deis changes
23+
from here on out by simple in-place upgrades.
24+
25+
So thanks for your patience. We could not have gotten here without you,
26+
the Deis community. Now we're here to support you, so install Deis 0.8.0
27+
and come on along with us.
28+
29+
Chef not Required
30+
-----------------
31+
Versions of Deis previous to v0.8.0 relied on Chef for provisioning
32+
a controller and nodes, for tracking users and apps, and for deploying
33+
applications. Chef is now no longer a requirement to use Deis.
34+
35+
Now anywhere you can run CoreOS, you can run Deis. Provisioning a
36+
contoller and nodes can be done through a variety of IT-friendly methods
37+
available for everything from Rackspace Cloud to Vagrant to PXE hardware
38+
boot--see the CoreOS documentation for details.
39+
40+
Users and apps are tracked in Deis' controller and database, and apps
41+
are deployed across a cluster of machines by the `fleet` distributed
42+
init system.
43+
44+
CoreOS replaces Ubuntu
45+
----------------------
46+
Versions of Deis previous to v0.8.0 supported installation on Ubuntu
47+
12.04 LTS. Deis now runs on CoreOS, a lean distribution targeted at
48+
massive server deployments.
49+
50+
No More Formations or Layers
51+
----------------------------
52+
Versions of Deis previous to v0.8.0 organized groups of machines into
53+
"formations" with internal "layers" used to scale nodes. Deis now
54+
simplifies both concepts into that of a "cluster": a set of machines
55+
available for smart process scheduling.
56+
57+
No More Providers
58+
-----------------
59+
Deis now incorporates new machines into a cluster through whatever IT
60+
process is appropriate; there is no more `deis nodes:scale`. Individual
61+
support modules for cloud providers such as Rackspace and Amazon EC2
62+
are no longer part of Deis' core code, and there is no need to import
63+
credentials through the Deis CLI.
64+
65+
Amazon EC2, Rackspace and other cloud providers, as well as bare metal
66+
deployments, continue to be the focus of support and development for
67+
Deis. But Deis no longer needs vendor-specific code in order to grow
68+
a cluster or scale an application.
69+
70+
Support scripts and documentation for Amazon EC2, Rackspace, and other
71+
cloud providers are always available in the
72+
[contrib](contrib/) directory.
73+
74+
DigitalOcean Support
75+
--------------------
76+
DigitalOcean does not yet support deploying CoreOS on droplets. Until
77+
there is a CoreOS solution, Deis cannot support clusters
78+
on DigitalOcean.
79+
80+
If you use DigitalOcean, please
81+
[show your support](http://digitalocean.uservoice.com/forums/136585-digital-ocean/suggestions/4250154-suport-coreos-as-a-deployment-platform)
82+
for CoreOS and help us to support Deis on DO.
83+
84+
deis/deis in GitHub
85+
-------------------
86+
The https://github.com/opdemand/deis will soon move under the banner of
87+
*The Deis Project* at https://github.com/deis, so getting the source
88+
code will be:
89+
90+
```console
91+
$ git clone https://github.com/deis/deis.git
92+
```
93+
94+
Nothing else about the project changes; we just think it will be easier
95+
to find Deis there, next to related projects such as deis/tester,
96+
deis/base, and deis/slugbuilder.

Makefile

Lines changed: 39 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,43 @@
1+
#
2+
# Deis Makefile
3+
#
4+
5+
# ordered list of deis components
6+
COMPONENTS=registry logger database cache controller builder router
7+
8+
all: build run
9+
110
test_client:
211
python -m unittest discover client.tests
312

13+
pull:
14+
vagrant ssh -c 'for c in $(COMPONENTS); do docker pull deis/$$c; done'
15+
416
build:
5-
for image in builder cache controller database discovery logger registry; do \
6-
make -C $$image build; \
7-
done
17+
vagrant ssh -c 'cd share && for c in $(COMPONENTS); do cd $$c && docker build -t deis/$$c . && cd ..; done'
18+
19+
install:
20+
vagrant ssh -c 'cd share && for c in $(COMPONENTS); do cd $$c && sudo systemctl enable $$(pwd)/systemd/* && cd ..; done'
21+
22+
uninstall: stop
23+
vagrant ssh -c 'cd share && for c in $(COMPONENTS); do cd $$c && sudo systemctl disable $$(pwd)/systemd/* && cd ..; done'
24+
25+
start:
26+
vagrant ssh -c 'cd share && for c in $(COMPONENTS); do cd $$c/systemd && sudo systemctl start * && cd ../..; done'
27+
28+
stop:
29+
vagrant ssh -c 'cd share && for c in $(COMPONENTS); do cd $$c/systemd && sudo systemctl stop * && cd ../..; done'
30+
31+
restart:
32+
vagrant ssh -c 'cd share && for c in $(COMPONENTS); do cd $$c/systemd && sudo systemctl restart * && cd ../..; done'
33+
34+
logs:
35+
vagrant ssh -c 'journalctl -f -u deis-*'
36+
37+
run: install restart logs
38+
39+
clean: uninstall
40+
vagrant ssh -c 'cd share && for c in $(COMPONENTS); do docker rm -f deis-$$c; done'
41+
42+
full-clean: clean
43+
vagrant ssh -c 'cd share && for c in $(COMPONENTS); do docker rmi deis-$$c; done'

0 commit comments

Comments
 (0)