bindings for the ``pcre`` library
- `attoparsec <http://hackage.haskell.org/package/attoparsec>`_
- `vector <http://hackage.haskell.org/package/vector>`_
+- `snap-server` <http://hackage.haskell.org/package/snap-server>`_, version
+ 0.8.1 and above.
-These libraries are available in Debian Wheezy (but not in Squeeze, with
-the exception of curl), so you can use either apt::
+These libraries are available in Debian Wheezy (but not in Squeeze), so you
+can use either apt::
$ apt-get install libghc-hslogger-dev libghc-crypto-dev libghc-text-dev \
- libghc-hinotify-dev libghc-regex-pcre-dev libghc-curl-dev \
- libghc-attoparsec-dev libghc-vector-dev libpcre3-dev
+ libghc-hinotify-dev libghc-regex-pcre-dev \
+ libghc-attoparsec-dev libghc-vector-dev \
+ libghc-snap-server-dev
-or ``cabal``::
+or ``cabal``, after installing a required non-Haskell dependency::
- $ apt-get install libprcre3-dev libcurl4-openssl-dev
- $ cabal install hslogger Crypto text hinotify==0.3.2 regex-pcre curl \
- attoparsec vector
+ $ apt-get install libpcre3-dev
- $ cabal install hslogger Crypto text hinotify regex-pcre \
++ $ cabal install hslogger Crypto text hinotify==0.3.2 regex-pcre \
+ attoparsec vector snap-server
to install them.
HS_BIN_PROGS=src/htools
# Haskell programs to be installed in the MYEXECLIB dir
-if ENABLE_MONITORING
++if ENABLE_MOND
HS_MYEXECLIB_PROGS=src/mon-collector
+ else
+ HS_MYEXECLIB_PROGS=
+ endif
-# Haskell programs to compiled but not installed automatically
-# Usually they have their own specific installation rules
+# Haskell programs to be compiled by "make really-all"
HS_COMPILE_PROGS= \
+ src/ganeti-mond \
src/hconfd \
src/rpc-test
====
+Version 2.8.0 beta1
+-------------------
+
+*(unreleased)*
+
+- The minimum Python version needed to run Ganeti is now 2.6.
+- The :doc:`Remote API <rapi>` daemon now supports a command line flag
+ to always require authentication, ``--require-authentication``. It can
+ be specified in ``$sysconfdir/default/ganeti``.
+- A new cluster attribute 'enabled_disk_templates' is introduced. It will
+ be used to manage the disk templates to be used by instances in the cluster.
+ Initially, it will be set to a list that includes plain, drbd, if they were
+ enabled by specifying a volume group name, and file and sharedfile, if those
+ were enabled at configure time. Additionally, it will include all disk
+ templates that are currently used by instances. The order of disk templates
+ will be based on Ganeti's history of supporting them. In the future, the
+ first entry of the list will be used as a default disk template on instance
+ creation.
+- ``cfgupgrade`` now supports a ``--downgrade`` option to bring the
+ configuration back to the previous stable version.
+
+
- Version 2.7.0 beta3
- -------------------
+ Version 2.7.0 rc1
+ -----------------
- *(Released Mon, 22 Apr 2013)*
+ *(unreleased)*
Incompatible/important changes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
MONITORING_PKG=
AC_GHC_PKG_CHECK([attoparsec], [],
[MONITORING_PKG="$MONITORING_PKG attoparsec"])
+ AC_GHC_PKG_CHECK([snap-server], [],
+ [MONITORING_PKG="$MONITORING_PKG snap-server"])
+ MONITORING_DEP=
+ if test "$has_confd" = False; then
+ MONITORING_DEP="$MONITORING_DEP confd"
+ fi
+ has_monitoring_pkg=False
if test -z "$MONITORING_PKG"; then
- has_monitoring=True
+ has_monitoring_pkg=True
elif test "$enable_monitoring" = check; then
AC_MSG_WARN(m4_normalize([The required extra libraries for the monitoring
- agent were not found ($MONITORING_PKG),
+ daemon were not found ($MONITORING_PKG),
monitoring disabled]))
else
AC_MSG_FAILURE(m4_normalize([The monitoring functionality was requested, but
required libraries were not found:
$MONITORING_PKG]))
fi
+ has_monitoring_dep=False
+ if test -z "$MONITORING_DEP"; then
+ has_monitoring_dep=True
+ elif test "$enable_monitoring" = check; then
+ AC_MSG_WARN(m4_normalize([The optional Ganeti components required for the
+ monitoring agent were not enabled
+ ($MONITORING_DEP), monitoring disabled]))
+ else
+ AC_MSG_FAILURE(m4_normalize([The monitoring functionality was requested, but
+ required optional Ganeti components were not
+ found: $MONITORING_DEP]))
+ fi
+
fi
- if test "$has_monitoring" = True; then
- AC_MSG_NOTICE([Enabling the monitoring daemon usage])
+ if test "$has_monitoring_pkg" = True -a "$has_monitoring_dep" = True; then
+ has_monitoring=True
+ AC_MSG_NOTICE([Enabling the monitoring agent usage])
fi
-AC_SUBST(ENABLE_MONITORING, $has_monitoring)
-AM_CONDITIONAL([ENABLE_MONITORING], [test "$has_monitoring" = True])
+AC_SUBST(ENABLE_MOND, $has_monitoring)
+AM_CONDITIONAL([ENABLE_MOND], [test "$has_monitoring" = True])
# development modules
HS_NODEV=
- Arguments for the NICs of the instance; by default, a single-NIC
instance is created. The IP and/or bridge of the NIC can be changed
- via ``--nic 0:ip=IP,bridge=BRIDGE``
+ via ``--net 0:ip=IP,link=BRIDGE``
- See the manpage for gnt-instance for the detailed option list.
+ See :manpage:`ganeti-instance(8)` for the detailed option list.
For example if you want to create an highly available instance, with a
single disk of 50GB and the default memory size, having primary node
constants.HV_CPU_CAP: hv_base.NO_CHECK,
constants.HV_CPU_WEIGHT:
(False, lambda x: 0 < x < 65535, "invalid weight", None, None),
+ constants.HV_VIF_TYPE:
+ hv_base.ParamInSet(False, constants.HT_HVM_VALID_VIF_TYPES),
}
- @classmethod
- def _WriteConfigFile(cls, instance, startup_memory, block_devices):
+ def _GetConfig(self, instance, startup_memory, block_devices):
"""Create a Xen 3.1 HVM config file.
"""
| **add**
| {-t|\--disk-template {diskless | file \| plain \| drbd \| rbd}}
-| {\--disk=*N*: {size=*VAL* \| adopt=*LV*}[,vg=*VG*][,metavg=*VG*][,mode=*ro\|rw*]
-| \| {size=*VAL*,provider=*PROVIDER*}[,param=*value*... ][,mode=*ro\|rw*]
+| {\--disk=*N*: {size=*VAL* \| adopt=*LV*}[,options...]
+| \| {size=*VAL*,provider=*PROVIDER*}[,param=*value*... ][,options...]
| \| {-s|\--os-size} *SIZE*}
- | [\--no-ip-check] [\--no-name-check] [\--no-start] [\--no-install]
+ | [\--no-ip-check] [\--no-name-check] [\--no-conflicts-check]
+ | [\--no-start] [\--no-install]
| [\--net=*N* [:options...] \| \--no-nics]
| [{-B|\--backend-parameters} *BEPARAMS*]
| [{-H|\--hypervisor-parameters} *HYPERVISOR* [: option=*value*... ]]