Cleanup of install, update and general documentation

Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
This commit is contained in:
Nico Schottelius 2012-11-15 12:00:25 +01:00
parent 7272a7b13c
commit 8ab91009e1
3 changed files with 91 additions and 99 deletions

View file

@ -10,24 +10,10 @@ cdist is an alternative to other configuration management systems like
[chef](http://wiki.opscode.com/display/chef/) [chef](http://wiki.opscode.com/display/chef/)
and [puppet](http://www.puppetlabs.com/). and [puppet](http://www.puppetlabs.com/).
* Browse the **documentation** for the [latest version](man/latest) or [all versions (>= 2.0.4)](man) * **Documentation** for the [latest version](man/latest) or [all versions (>= 2.0.4)](man)
* Read how to [[install or update cdist|install-update]] * [[Installation|install]]
* [[Update|update]]
* [[Supported Operating Systems|os]]
* [[Support|support]] * [[Support|support]]
### OS support
cdist was tested or is know to run on at least
* [Archlinux](http://www.archlinux.org/)
* [Debian](http://www.debian.org/)
* [CentOS](http://www.centos.org/)
* [Fedora](http://fedoraproject.org/)
* [FreeBSD](http://www.freebsd.org)
* [Gentoo](http://www.gentoo.org/)
* [Mac OS X](http://www.apple.com/macosx/)
* [OpenBSD](http://www.openbsd.org)
* [Redhat](http://www.redhat.com/)
* [Ubuntu](http://www.ubuntu.com/)
* [XenServer](http://www.citrix.com/xenserver/)
[[!tag cdist unix]] [[!tag cdist unix]]

View file

@ -1,42 +1,44 @@
[[!toc levels=3]]
## Requirements ## Requirements
### Server ### Source Host
* A posix like shell This is the machine you use to configure the target hosts.
* /bin/sh: A posix like shell (for instance bash, dash, zsh)
* Python (>= 3.2 required) * Python (>= 3.2 required)
* SSH client * SSH client
* Asciidoc (for building the manpages) * Asciidoc (for building the manpages)
### Client ("target host") ### Target Hosts
* A posix like shell * /bin/sh: A posix like shell (for instance bash, dash, zsh)
* SSH server * SSH server
## Python Installation
## Installation
### Preparation
Ensure you have Python 3.2 installed on the machine you use to **deploy to the targets** Ensure you have Python 3.2 installed on the machine you use to **deploy to the targets**
(the ***source host***). (the ***source host***).
#### Archlinux ### Archlinux
Archlinux already has python >= 3.2, so you only need to do: Archlinux includes a recent python in the extra repository.
You can install it using
pacman -S python pacman -S python
#### CentOS ### CentOS
See the "From source" section See the "From source" section
#### Debian #### Debian
For Debian >= wheezy: For Debian **wheezy** or newer:
aptitude install python3 aptitude install python3
On squeeze you can add following line in **/etc/apt/sources.list** On **squeeze** you can add following line in **/etc/apt/sources.list**
deb http://ftp.debian.org/debian wheezy main deb http://ftp.debian.org/debian wheezy main
@ -51,16 +53,16 @@ removed on **python3.2** installation. You surely want to reinstall them:
apt-get install -t wheezy openssh-server openssh-client apt-get install -t wheezy openssh-server openssh-client
For older Debian versions, installing python 3.2 manually is required. For older Debian versions, installing python 3.2 from source is required.
### Fedora
#### Fedora Fedora 15 and newer includes a recent python.
You can install it using
For Fedora >= 15:
yum install python3 yum install python3
#### FreeBSD ### FreeBSD
For the port: For the port:
@ -70,7 +72,9 @@ For the package:
pkg_add -r python32 pkg_add -r python32
#### Gentoo You can also use any newer version, but at least python 3.2 is required.
### Gentoo
Gentoo only provides python 3.2 in testing packages (http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=3&chap=3). Gentoo only provides python 3.2 in testing packages (http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=3&chap=3).
If you want to ensure nothing breaks you must set back the python version to what was default before. If you want to ensure nothing breaks you must set back the python version to what was default before.
@ -80,7 +84,7 @@ If you want to ensure nothing breaks you must set back the python version to wha
eselect python list eselect python list
eselect python list set python3.2 eselect python list set python3.2
#### Max OS X ### Max OS X
You can choose between Homebrew and Macports, either way works: You can choose between Homebrew and Macports, either way works:
@ -93,7 +97,7 @@ You can choose between Homebrew and Macports, either way works:
port install python32 port install python32
ln -s /opt/local/bin/python3.2 /opt/local/bin/python3 ln -s /opt/local/bin/python3.2 /opt/local/bin/python3
#### From Source ### From Source
For those operating systems not yet support Python 3.2: For those operating systems not yet support Python 3.2:
@ -109,7 +113,7 @@ This installs python 3.2 to /usr/local/bin. Ensure this directory is in
your PATH environment variable. your PATH environment variable.
### Get cdist ## Install cdist
You can clone cdist from git, which gives you the advantage of having You can clone cdist from git, which gives you the advantage of having
a version control in place for development of your own stuff as well. a version control in place for development of your own stuff as well.
@ -129,7 +133,8 @@ To install cdist, execute the following commands:
There are at least the following branches available: There are at least the following branches available:
* Development: master * Development: master
* 2.0: Python rewrite of cdist core [stable branch] * 2.0: Current stable branch
* 2.1: Currently experimental - the next stable branch
Old versions: Old versions:
@ -157,62 +162,4 @@ may vanish at any point. To select a specific branch use
* git://github.com/telmich/cdist.git ([github](https://github.com/telmich/cdist)) * git://github.com/telmich/cdist.git ([github](https://github.com/telmich/cdist))
* git://git.code.sf.net/p/cdist/code ([sourceforge](https://sourceforge.net/p/cdist/code)) * git://git.code.sf.net/p/cdist/code ([sourceforge](https://sourceforge.net/p/cdist/code))
## Update
To upgrade cdist in the current branch use
git pull
# Also update the manpages
./build man
export MANPATH=$MANPATH:$(pwd -P)/doc/man
If you stay on a version branche (i.e. 1.0, 1.1., ...), nothing should break.
The master branch on the other hand is the development branch and may not be
working, break your setup or eat the tree in your garden.
### Upgrading from 1.7 to 2.0
* Ensure python (>= 3.2) is installed on the server
* Use "cdist config host" instead of "cdist-deploy-to host"
* Use "cdist config -p host1 host2" instead of "cdist-mass-deploy"
* Use "cdist banner" for fun
* Use **\_\_object_fq** instead of **\_\_self** in manifests
### Upgrading from 1.6 to 1.7
* If you used the global explorer **hardware_type**, you need to change
your code to use **machine** instead.
### Upgrading from 1.5 to 1.6
* If you used **\_\_package_apt --preseed**, you need to use the new
type **\_\_debconf_set_selections** instead.
* The **\_\_package** types accepted either --state deinstalled or
--state uninstaaled. Starting with 1.6, it was made consistently
to --state removed.
### Upgrading from 1.3 to 1.5
No incompatiblities.
### Upgrading from 1.2 to 1.3
Rename **gencode** of every type to **gencode-remote**.
### Upgrading from 1.1 to 1.2
No incompatiblities.
### Upgrading from 1.0 to 1.1
In 1.1 the type **\_\_file** was split into **\_\_directory**, **\_\_file** and
**\_\_link**. The parameter **--type** was removed from **\_\_file**. Thus you
need to replace **\_\_file** calls in your manifests:
* Remove --type from all \_\_file calls
* If type was symlink, use \_\_link and --type symbolic
* If type was directory, use \_\_directory
[[!tag cdist unix]] [[!tag cdist unix]]

View file

@ -0,0 +1,59 @@
## Update
To upgrade cdist in the current branch use
git pull
# Also update the manpages
./build man
export MANPATH=$MANPATH:$(pwd -P)/doc/man
If you stay on a version branche (i.e. 1.0, 1.1., ...), nothing should break.
The master branch on the other hand is the development branch and may not be
working, break your setup or eat the tree in your garden.
### Upgrading from 1.7 to 2.0
* Ensure python (>= 3.2) is installed on the server
* Use "cdist config host" instead of "cdist-deploy-to host"
* Use "cdist config -p host1 host2" instead of "cdist-mass-deploy"
* Use "cdist banner" for fun
* Use **\_\_object_fq** instead of **\_\_self** in manifests
### Upgrading from 1.6 to 1.7
* If you used the global explorer **hardware_type**, you need to change
your code to use **machine** instead.
### Upgrading from 1.5 to 1.6
* If you used **\_\_package_apt --preseed**, you need to use the new
type **\_\_debconf_set_selections** instead.
* The **\_\_package** types accepted either --state deinstalled or
--state uninstaaled. Starting with 1.6, it was made consistently
to --state removed.
### Upgrading from 1.3 to 1.5
No incompatiblities.
### Upgrading from 1.2 to 1.3
Rename **gencode** of every type to **gencode-remote**.
### Upgrading from 1.1 to 1.2
No incompatiblities.
### Upgrading from 1.0 to 1.1
In 1.1 the type **\_\_file** was split into **\_\_directory**, **\_\_file** and
**\_\_link**. The parameter **--type** was removed from **\_\_file**. Thus you
need to replace **\_\_file** calls in your manifests:
* Remove --type from all \_\_file calls
* If type was symlink, use \_\_link and --type symbolic
* If type was directory, use \_\_directory
[[!tag cdist unix]]