Skip to content

Commit 385dd6a

Browse files
committed
docs(scheduler): add migration doc, update faq and localdev
1 parent 4757378 commit 385dd6a

5 files changed

Lines changed: 186 additions & 17 deletions

File tree

MIGRATING.md

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

docs/client/info.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
:title: Info
2-
:description: Learn how to print info about a Deis application's containers using the Deis client.
2+
:description: Display info about a Deis application using the Deis client.
33

44

5-
containers
6-
==========
5+
info
6+
====
77

8-
.. automethod:: client.deis.DeisClient.containers_list
8+
.. automethod:: client.deis.DeisClient.apps_info
99
:noindex:

docs/contributing/localdev.rst

Lines changed: 79 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,22 +4,22 @@
44

55
Local Development
66
=================
7-
We have tried to make it simple to hack on Deis, but as an open PaaS, there are
8-
necessarily several moving pieces and some setup required. We welcome any suggestions for
9-
automating or simplifying this process.
7+
We try to make it simple to hack on Deis, but as an open PaaS, there are
8+
necessarily several moving pieces and some setup required. We welcome
9+
any suggestions for automating or simplifying this process.
1010

1111
Prerequisites
1212
-------------
13-
We strongly recommend using `Vagrant`_ with `VirtualBox`_ so you can develop inside a set
14-
of isolated virtual machines. You will need:
13+
We strongly recommend using `Vagrant`_ with `VirtualBox`_ so you can
14+
develop inside a set of isolated virtual machines. You will need:
1515

1616
* Vagrant 1.3.5+
1717
* VirtualBox 4.2+
1818

1919
Fork the Repository
2020
-------------------
21-
To get Deis running locally, first `fork the Deis repository`_, then clone your fork of
22-
the repository for local development:
21+
To get Deis running locally, first `fork the Deis repository`_, then
22+
clone your fork of the repository for local development:
2323

2424
.. code-block:: console
2525
@@ -29,11 +29,82 @@ the repository for local development:
2929
3030
Provision the Controller
3131
------------------------
32+
First bring up a virtual machine to host Deis. To share your local
33+
codebase into the CoreOS VM, Deis uses NFS mounts, so you will be
34+
prompted for an administrative password.
35+
3236
.. code-block:: console
3337
3438
$ vagrant up
39+
Bringing machine 'deis' up with 'virtualbox' provider...
40+
==> deis: Importing base box 'coreos-alpha'...
41+
...
42+
==> deis: Exporting NFS shared folders...
43+
==> deis: Preparing to edit /etc/exports. Administrator privileges will be required...
44+
Password:
45+
==> deis: Mounting NFS shared folders...
46+
...
47+
==> deis: Running provisioner: shell...
48+
deis: Running: inline script
49+
$
50+
51+
Set environment variables to have the `docker` and `fleetctl` clients on
52+
your workstation connect to the VM:
53+
54+
.. code-block:: console
55+
56+
export DOCKER_HOST=tcp://172.17.8.100:4243
57+
export FLEETCTL_TUNNEL=172.17.8.100
58+
59+
Next, run ``make pull && make build`` to SSH into the VM, pull Deis'
60+
images from the Docker Index, then update those images with any local
61+
changes.
62+
63+
.. code-block:: console
64+
65+
$ make pull
66+
vagrant ssh -c 'for c in registry logger database cache controller \
67+
builder router; do docker pull deis/$c; done'
68+
Pulling repository deis/registry
69+
d2c347aa26dd: Pulling dependent layers
70+
511136ea3c5a: Download complete
71+
6170bb7b0ad1: Download complete
72+
79fdb1362c84: Downloading [====>
73+
...
74+
e5efa1477310: Download complete
75+
Connection to 127.0.0.1 closed.
76+
$ make build
77+
vagrant ssh -c 'cd share && for c in registry logger database \
78+
cache controller builder router; \
79+
do cd $c && docker build -t deis/$c . && cd ..; done'
80+
Uploading context 22.53 kB
81+
Uploading context
82+
Step 0 : FROM deis/base:latest
83+
Pulling repository deis/base
84+
60024338bc63: Download complete
85+
...
86+
Step 12 : CMD ["/app/bin/boot"]
87+
---> Running in ccdc3d283f4f
88+
---> cf4b7a398500
89+
Removing intermediate container ccdc3d283f4f
90+
Successfully built cf4b7a398500
91+
Connection to 127.0.0.1 closed.
92+
93+
Finally, do ``make run`` to start all Deis containers and displays their
94+
collected log output:
95+
96+
.. code-block:: console
3597
36-
Yes, really. That's it.
98+
$ make run
99+
vagrant ssh -c 'cd share && for c in registry logger database \
100+
cache controller builder router; \
101+
do cd $c && sudo systemctl enable $(pwd)/systemd/* && cd ..; done'
102+
ln -s '/home/core/share/registry/systemd/deis-registry.service' \
103+
'/etc/systemd/system/multi-user.target.wants/deis-registry.service'
104+
...
105+
Apr 15 18:53:23 deis sh[9101]: 2014-04-15 12:53:23 [149] [INFO] Booting worker with pid: 149
106+
Apr 15 18:53:24 deis sh[9101]: [2014-04-15 12:53:24,842: INFO/MainProcess] mingle: all alone
107+
Apr 15 18:53:24 deis sh[9101]: [2014-04-15 12:53:24,852: WARNING/MainProcess] celery@121f56ff9ae5 ready.
37108
38109
Install the Client
39110
------------------

docs/contributing/standards.rst

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,17 @@
66
Coding Standards
77
================
88

9-
Deis is a `Python`_ project. We chose Python over other compelling
10-
languages because it is widespread, well-documented, and friendly to
11-
a large number of developers. Source code benefits from many eyes
12-
upon it.
9+
Deis is a Python_ and Go_ project.
10+
11+
We chose Go_ because it is simple, reliable, and efficient. These are
12+
values Deis shares. Go also excels at programming systems-level tasks,
13+
with powerful and simple networking, concurrency, and testing facilities
14+
included. Our coding standards and recommendations for Go code in the
15+
Deis project are evolving, but will be added to this document soon.
16+
17+
We chose Python_ over other compelling languages because it is
18+
widespread, well-documented, and friendly to a large number of
19+
developers. Source code benefits from many eyes upon it.
1320

1421
`The Zen of Python`_ emphasizes simple over clever, and we agree.
1522
Readability counts. Deis also aims for complete test coverage.
@@ -109,6 +116,7 @@ a simple typo fix or one-line documentation change--requires at least two of
109116
Deis' maintainers to accept the change in this manner before it can be merged.
110117

111118
.. _Python: http://www.python.org/
119+
.. _Go: http://golang.org/
112120
.. _flake8: https://pypi.python.org/pypi/flake8/
113121
.. _pep8_tool: https://pypi.python.org/pypi/pep8/
114122
.. _pyflakes: https://pypi.python.org/pypi/pyflakes/

docs/gettingstarted/concepts.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ services intelligently across its resources.
6464

6565
Once a cluster is created with the Deis command-line client, developers
6666
can create applications and deploy them across the cluster with a simple
67-
`git push deis master` command.
67+
``git push deis master`` command.
6868

6969
.. _concepts_applications:
7070

0 commit comments

Comments
 (0)