commit f0a387d8487c2e76014237c750d6cd51090cecdf
Merge: 516a0e9 fc2318f
Author: Michele Tartara <[email protected]>
Date: Thu May 2 14:43:37 2013 +0000
Merge remote-tracking branch 'origin/stable-2.7' into stable-2.8
Conflicts:
INSTALL
NEWS
configure.ac
src/Ganeti/Query/Group.hs
test/hs/Test/Ganeti/Objects.hs
test/hs/Test/Ganeti/Query/Query.hs
diff --cc INSTALL
index 5f72d1b,6c5f678..8325418
--- a/INSTALL
+++ b/INSTALL
@@@ -154,7 -159,7 +164,7 @@@ In Fedora, some of them are available v
If using a distribution which does not provide them, first install
the Haskell platform. You can also install ``cabal`` manually::
-- $ apt-get install cabal-install
++ $ apt-get install cabal-install libcurl4-openssl-dev
Then install the additional libraries via
``cabal``::
@@@ -180,22 -194,19 +190,22 @@@ a few more Haskell libraries enabled: t
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-attoparsec-dev libghc-vector-dev libpcre3-dev \
+ libghc-snap-server-dev
-or ``cabal``::
+or ``cabal``, after installing a required non-Haskell dependency::
- $ apt-get install libpcre3-dev
- $ cabal install hslogger Crypto text hinotify regex-pcre \
- $ 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 libprcre3-dev
++ $ cabal install hslogger Crypto text hinotify==0.3.2 regex-pcre \
+ attoparsec vector snap-server
to install them.
diff --cc Makefile.am
index dcc85c8,7c43ad5..d7cc0b7
--- a/Makefile.am
+++ b/Makefile.am
@@@ -444,11 -426,15 +444,15 @@@ mandocrst = $(addprefix doc/man-,$(notd
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
diff --cc NEWS
index c677348,7cfdec5..6fad866
--- a/NEWS
+++ b/NEWS
@@@ -2,32 -2,10 +2,32 @@@ New
====
+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
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --cc configure.ac
index 2d2439f,e55a212..407391a
--- a/configure.ac
+++ b/configure.ac
@@@ -564,25 -582,42 +564,43 @@@ if test "$enable_monitoring" != no; the
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=
diff --cc doc/admin.rst
index 6a0ad58,4e88b28..634fb17
--- a/doc/admin.rst
+++ b/doc/admin.rst
@@@ -261,9 -277,9 +277,9 @@@ can give include, among others
- 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
diff --cc lib/hypervisor/hv_xen.py
index 8789571,061fd4d..1d0b587
--- a/lib/hypervisor/hv_xen.py
+++ b/lib/hypervisor/hv_xen.py
@@@ -909,9 -767,12 +909,11 @@@ class XenHvmHypervisor(XenHypervisor)
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.
"""
diff --cc man/gnt-instance.rst
index 0a9becd,1960404..2fb2cc8
--- a/man/gnt-instance.rst
+++ b/man/gnt-instance.rst
@@@ -28,10 -28,11 +28,11 @@@ AD
| **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*... ]]