* [PATCH 6 of 8] xl: add a global configuration file
@ 2010-08-27 11:19 Stefano Stabellini
2010-08-27 11:34 ` Christoph Egger
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Stefano Stabellini @ 2010-08-27 11:19 UTC (permalink / raw)
To: xen-devel
xl: add a global configuration file
Add a global configuration file: /etc/xen/xl.conf; the only option
currently parsed is autoballoon that is 1 by default.
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
diff -r 88da46b5c142 tools/examples/Makefile
--- a/tools/examples/Makefile Wed Aug 25 19:56:47 2010 +0100
+++ b/tools/examples/Makefile Wed Aug 25 20:05:34 2010 +0100
@@ -21,6 +21,7 @@ XEN_CONFIGS += xmexample.nbd
XEN_CONFIGS += xmexample.vti
XEN_CONFIGS += xend-pci-quirks.sxp
XEN_CONFIGS += xend-pci-permissive.sxp
+XEN_CONFIGS += xl.conf
.PHONY: all
all:
diff -r 88da46b5c142 tools/examples/xl.conf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/examples/xl.conf Wed Aug 25 20:05:34 2010 +0100
@@ -0,0 +1,5 @@
+## Global XL config file ##
+
+# automatically balloon down dom0 when xen doesn't have enough free
+# memory to create a domain
+autoballon=1
diff -r 88da46b5c142 tools/libxl/xl.c
--- a/tools/libxl/xl.c Wed Aug 25 19:56:47 2010 +0100
+++ b/tools/libxl/xl.c Wed Aug 25 20:05:34 2010 +0100
@@ -29,18 +29,49 @@
#include "libxl.h"
#include "libxl_utils.h"
+#include "libxlutil.h"
#include "xl.h"
xentoollog_logger_stdiostream *logger;
+int autoballoon = 1;
static xentoollog_level minmsglevel = XTL_PROGRESS;
+static void parse_global_config(const char *configfile,
+ const char *configfile_data,
+ int configfile_len)
+{
+ long l;
+ XLU_Config *config;
+ int e;
+
+ config = xlu_cfg_init(stderr, configfile);
+ if (!config) {
+ fprintf(stderr, "Failed to allocate for configuration\n");
+ exit(1);
+ }
+
+ e = xlu_cfg_readdata(config, configfile_data, configfile_len);
+ if (e) {
+ fprintf(stderr, "Failed to parse config file: %s\n", strerror(e));
+ exit(1);
+ }
+
+ if (!xlu_cfg_get_long (config, "autoballoon", &l))
+ autoballoon = l;
+
+ xlu_cfg_destroy(config);
+}
+
int main(int argc, char **argv)
{
int opt = 0;
char *cmd = 0;
struct cmd_spec *cspec;
int ret;
+ const char *config_file = "/etc/xen/xl.conf";
+ void *config_data = 0;
+ int config_len = 0;
while ((opt = getopt(argc, argv, "+v")) >= 0) {
switch (opt) {
@@ -69,6 +100,14 @@ int main(int argc, char **argv)
exit(1);
}
+ /* Read global config file options */
+ ret = libxl_read_file_contents(&ctx, config_file,
+ &config_data, &config_len);
+ if (ret)
+ fprintf(stderr, "Failed to read config file: %s: %s\n",
+ config_file, strerror(errno));
+ parse_global_config(config_file, config_data, config_len);
+
/* Reset options for per-command use of getopt. */
argv += optind;
argc -= optind;
diff -r 88da46b5c142 tools/libxl/xl.h
--- a/tools/libxl/xl.h Wed Aug 25 19:56:47 2010 +0100
+++ b/tools/libxl/xl.h Wed Aug 25 20:05:34 2010 +0100
@@ -90,4 +90,7 @@ struct cmd_spec *cmdtable_lookup(const c
extern libxl_ctx ctx;
extern xentoollog_logger_stdiostream *logger;
+/* global options */
+extern int autoballoon;
+
#endif /* XL_H */
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 6 of 8] xl: add a global configuration file
2010-08-27 11:19 [PATCH 6 of 8] xl: add a global configuration file Stefano Stabellini
@ 2010-08-27 11:34 ` Christoph Egger
2010-08-27 11:42 ` Stefano Stabellini
2010-08-27 21:30 ` Zhigang Wang
2010-08-31 17:31 ` Ian Jackson
2 siblings, 1 reply; 8+ messages in thread
From: Christoph Egger @ 2010-08-27 11:34 UTC (permalink / raw)
To: xen-devel; +Cc: Stefano Stabellini
On Friday 27 August 2010 13:19:13 Stefano Stabellini wrote:
> xl: add a global configuration file
>
> Add a global configuration file: /etc/xen/xl.conf; the only option
> currently parsed is autoballoon that is 1 by default.
What's the purpose of xl.conf ? Should it replace the global xend
configuration file?
Why do you hardcode pathes? Is something wrong with our infrastructure?
>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
>
> diff -r 88da46b5c142 tools/examples/Makefile
> --- a/tools/examples/Makefile Wed Aug 25 19:56:47 2010 +0100
> +++ b/tools/examples/Makefile Wed Aug 25 20:05:34 2010 +0100
> @@ -21,6 +21,7 @@ XEN_CONFIGS += xmexample.nbd
> XEN_CONFIGS += xmexample.vti
> XEN_CONFIGS += xend-pci-quirks.sxp
> XEN_CONFIGS += xend-pci-permissive.sxp
> +XEN_CONFIGS += xl.conf
>
> .PHONY: all
> all:
> diff -r 88da46b5c142 tools/examples/xl.conf
> --- /dev/null Thu Jan 01 00:00:00 1970 +0000
> +++ b/tools/examples/xl.conf Wed Aug 25 20:05:34 2010 +0100
> @@ -0,0 +1,5 @@
> +## Global XL config file ##
> +
> +# automatically balloon down dom0 when xen doesn't have enough free
> +# memory to create a domain
> +autoballon=1
> diff -r 88da46b5c142 tools/libxl/xl.c
> --- a/tools/libxl/xl.c Wed Aug 25 19:56:47 2010 +0100
> +++ b/tools/libxl/xl.c Wed Aug 25 20:05:34 2010 +0100
> @@ -29,18 +29,49 @@
>
> #include "libxl.h"
> #include "libxl_utils.h"
> +#include "libxlutil.h"
> #include "xl.h"
>
> xentoollog_logger_stdiostream *logger;
> +int autoballoon = 1;
>
> static xentoollog_level minmsglevel = XTL_PROGRESS;
>
> +static void parse_global_config(const char *configfile,
> + const char *configfile_data,
> + int configfile_len)
> +{
> + long l;
> + XLU_Config *config;
> + int e;
> +
> + config = xlu_cfg_init(stderr, configfile);
> + if (!config) {
> + fprintf(stderr, "Failed to allocate for configuration\n");
> + exit(1);
> + }
> +
> + e = xlu_cfg_readdata(config, configfile_data, configfile_len);
> + if (e) {
> + fprintf(stderr, "Failed to parse config file: %s\n", strerror(e));
> + exit(1);
> + }
> +
> + if (!xlu_cfg_get_long (config, "autoballoon", &l))
> + autoballoon = l;
> +
> + xlu_cfg_destroy(config);
> +}
> +
> int main(int argc, char **argv)
> {
> int opt = 0;
> char *cmd = 0;
> struct cmd_spec *cspec;
> int ret;
> + const char *config_file = "/etc/xen/xl.conf";
Don't hardcode the path. Use libxl_xen_config_dir_path().
> + void *config_data = 0;
> + int config_len = 0;
>
> while ((opt = getopt(argc, argv, "+v")) >= 0) {
> switch (opt) {
> @@ -69,6 +100,14 @@ int main(int argc, char **argv)
> exit(1);
> }
>
> + /* Read global config file options */
> + ret = libxl_read_file_contents(&ctx, config_file,
> + &config_data, &config_len);
> + if (ret)
> + fprintf(stderr, "Failed to read config file: %s: %s\n",
> + config_file, strerror(errno));
> + parse_global_config(config_file, config_data, config_len);
> +
> /* Reset options for per-command use of getopt. */
> argv += optind;
> argc -= optind;
> diff -r 88da46b5c142 tools/libxl/xl.h
> --- a/tools/libxl/xl.h Wed Aug 25 19:56:47 2010 +0100
> +++ b/tools/libxl/xl.h Wed Aug 25 20:05:34 2010 +0100
> @@ -90,4 +90,7 @@ struct cmd_spec *cmdtable_lookup(const c
> extern libxl_ctx ctx;
> extern xentoollog_logger_stdiostream *logger;
>
> +/* global options */
> +extern int autoballoon;
> +
> #endif /* XL_H */
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel
--
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85609 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 6 of 8] xl: add a global configuration file
2010-08-27 11:34 ` Christoph Egger
@ 2010-08-27 11:42 ` Stefano Stabellini
0 siblings, 0 replies; 8+ messages in thread
From: Stefano Stabellini @ 2010-08-27 11:42 UTC (permalink / raw)
To: Christoph Egger; +Cc: xen-devel@lists.xensource.com, Stabellini
On Fri, 27 Aug 2010, Christoph Egger wrote:
> On Friday 27 August 2010 13:19:13 Stefano Stabellini wrote:
> > xl: add a global configuration file
> >
> > Add a global configuration file: /etc/xen/xl.conf; the only option
> > currently parsed is autoballoon that is 1 by default.
>
> What's the purpose of xl.conf ? Should it replace the global xend
> configuration file?
>
> Why do you hardcode pathes? Is something wrong with our infrastructure?
I think you are right, I forgot to use it, I'll send an update for this
patch.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 6 of 8] xl: add a global configuration file
2010-08-27 11:19 [PATCH 6 of 8] xl: add a global configuration file Stefano Stabellini
2010-08-27 11:34 ` Christoph Egger
@ 2010-08-27 21:30 ` Zhigang Wang
2010-08-30 9:48 ` Stefano Stabellini
2010-08-31 17:31 ` Ian Jackson
2 siblings, 1 reply; 8+ messages in thread
From: Zhigang Wang @ 2010-08-27 21:30 UTC (permalink / raw)
To: Stefano Stabellini; +Cc: xen-devel
I think we should not add configure files to xl. Instead, we may add a global
option to xl command line.
I don't want to see xl going heavy.
Thanks,
Zhigang
On 08/27/2010 07:19 AM, Stefano Stabellini wrote:
> xl: add a global configuration file
>
> Add a global configuration file: /etc/xen/xl.conf; the only option
> currently parsed is autoballoon that is 1 by default.
>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
>
> diff -r 88da46b5c142 tools/examples/Makefile
> --- a/tools/examples/Makefile Wed Aug 25 19:56:47 2010 +0100
> +++ b/tools/examples/Makefile Wed Aug 25 20:05:34 2010 +0100
> @@ -21,6 +21,7 @@ XEN_CONFIGS += xmexample.nbd
> XEN_CONFIGS += xmexample.vti
> XEN_CONFIGS += xend-pci-quirks.sxp
> XEN_CONFIGS += xend-pci-permissive.sxp
> +XEN_CONFIGS += xl.conf
>
> .PHONY: all
> all:
> diff -r 88da46b5c142 tools/examples/xl.conf
> --- /dev/null Thu Jan 01 00:00:00 1970 +0000
> +++ b/tools/examples/xl.conf Wed Aug 25 20:05:34 2010 +0100
> @@ -0,0 +1,5 @@
> +## Global XL config file ##
> +
> +# automatically balloon down dom0 when xen doesn't have enough free
> +# memory to create a domain
> +autoballon=1
> diff -r 88da46b5c142 tools/libxl/xl.c
> --- a/tools/libxl/xl.c Wed Aug 25 19:56:47 2010 +0100
> +++ b/tools/libxl/xl.c Wed Aug 25 20:05:34 2010 +0100
> @@ -29,18 +29,49 @@
>
> #include "libxl.h"
> #include "libxl_utils.h"
> +#include "libxlutil.h"
> #include "xl.h"
>
> xentoollog_logger_stdiostream *logger;
> +int autoballoon = 1;
>
> static xentoollog_level minmsglevel = XTL_PROGRESS;
>
> +static void parse_global_config(const char *configfile,
> + const char *configfile_data,
> + int configfile_len)
> +{
> + long l;
> + XLU_Config *config;
> + int e;
> +
> + config = xlu_cfg_init(stderr, configfile);
> + if (!config) {
> + fprintf(stderr, "Failed to allocate for configuration\n");
> + exit(1);
> + }
> +
> + e = xlu_cfg_readdata(config, configfile_data, configfile_len);
> + if (e) {
> + fprintf(stderr, "Failed to parse config file: %s\n", strerror(e));
> + exit(1);
> + }
> +
> + if (!xlu_cfg_get_long (config, "autoballoon", &l))
> + autoballoon = l;
> +
> + xlu_cfg_destroy(config);
> +}
> +
> int main(int argc, char **argv)
> {
> int opt = 0;
> char *cmd = 0;
> struct cmd_spec *cspec;
> int ret;
> + const char *config_file = "/etc/xen/xl.conf";
> + void *config_data = 0;
> + int config_len = 0;
>
> while ((opt = getopt(argc, argv, "+v")) >= 0) {
> switch (opt) {
> @@ -69,6 +100,14 @@ int main(int argc, char **argv)
> exit(1);
> }
>
> + /* Read global config file options */
> + ret = libxl_read_file_contents(&ctx, config_file,
> + &config_data, &config_len);
> + if (ret)
> + fprintf(stderr, "Failed to read config file: %s: %s\n",
> + config_file, strerror(errno));
> + parse_global_config(config_file, config_data, config_len);
> +
> /* Reset options for per-command use of getopt. */
> argv += optind;
> argc -= optind;
> diff -r 88da46b5c142 tools/libxl/xl.h
> --- a/tools/libxl/xl.h Wed Aug 25 19:56:47 2010 +0100
> +++ b/tools/libxl/xl.h Wed Aug 25 20:05:34 2010 +0100
> @@ -90,4 +90,7 @@ struct cmd_spec *cmdtable_lookup(const c
> extern libxl_ctx ctx;
> extern xentoollog_logger_stdiostream *logger;
>
> +/* global options */
> +extern int autoballoon;
> +
> #endif /* XL_H */
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 6 of 8] xl: add a global configuration file
2010-08-27 21:30 ` Zhigang Wang
@ 2010-08-30 9:48 ` Stefano Stabellini
2010-08-31 17:32 ` Ian Jackson
0 siblings, 1 reply; 8+ messages in thread
From: Stefano Stabellini @ 2010-08-30 9:48 UTC (permalink / raw)
To: Zhigang Wang; +Cc: xen-devel@lists.xensource.com, Stefano Stabellini
On Fri, 27 Aug 2010, Zhigang Wang wrote:
> I think we should not add configure files to xl. Instead, we may add a global
> option to xl command line.
>
> I don't want to see xl going heavy.
>
I agree with you on not wanting to see xl becoming heavy, however there
are few global configuration options that would be too burdensome
for the user to specify every single time, in particular I am referring
to the autoballoning operation.
Unfortunately there is no simple way to detect if the user wants xl to
autoballoon dom0 or not (we could parse the xen command line to see if
dom0_mem has been added, but it is just too ugly), so we need a
global config file, but apart from that I don't see many other options
being added to that configuration file.
Even if we take a look at the current xend config file, most of the
configuration options specified there are not relevant to xl because
they involve XML-RPC communication mechanisms. Apart from those there
are few logging related options that might be useful, not much else.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 6 of 8] xl: add a global configuration file
2010-08-27 11:19 [PATCH 6 of 8] xl: add a global configuration file Stefano Stabellini
2010-08-27 11:34 ` Christoph Egger
2010-08-27 21:30 ` Zhigang Wang
@ 2010-08-31 17:31 ` Ian Jackson
2 siblings, 0 replies; 8+ messages in thread
From: Ian Jackson @ 2010-08-31 17:31 UTC (permalink / raw)
To: Stefano Stabellini; +Cc: xen-devel
Stefano Stabellini writes ("[Xen-devel] [PATCH 6 of 8] xl: add a global configuration file"):
> xl: add a global configuration file
>
> Add a global configuration file: /etc/xen/xl.conf; the only option
> currently parsed is autoballoon that is 1 by default.
I like this, although I won't apply it just yet as it introduces an
unused "autoballoon" setting.
Ian.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 6 of 8] xl: add a global configuration file
2010-08-30 9:48 ` Stefano Stabellini
@ 2010-08-31 17:32 ` Ian Jackson
2010-08-31 18:52 ` Zhigang Wang
0 siblings, 1 reply; 8+ messages in thread
From: Ian Jackson @ 2010-08-31 17:32 UTC (permalink / raw)
To: Stefano Stabellini; +Cc: Zhigang Wang, xen-devel@lists.xensource.com
Stefano Stabellini writes ("Re: [Xen-devel] [PATCH 6 of 8] xl: add a global configuration file"):
> I agree with you on not wanting to see xl becoming heavy, however there
> are few global configuration options that would be too burdensome
> for the user to specify every single time, in particular I am referring
> to the autoballoning operation.
That's one example. Another is the default network bridge: it makes
sense to put that in a global config file as it makes domain config
files more portable between different setups.
Ian.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 6 of 8] xl: add a global configuration file
2010-08-31 17:32 ` Ian Jackson
@ 2010-08-31 18:52 ` Zhigang Wang
0 siblings, 0 replies; 8+ messages in thread
From: Zhigang Wang @ 2010-08-31 18:52 UTC (permalink / raw)
To: Ian Jackson; +Cc: xen-devel@lists.xensource.com, Stefano Stabellini
> Stefano Stabellini writes ("Re: [Xen-devel] [PATCH 6 of 8] xl: add a global configuration file"):
>> I agree with you on not wanting to see xl becoming heavy, however there
>> are few global configuration options that would be too burdensome
>> for the user to specify every single time, in particular I am referring
>> to the autoballoning operation.
> That's one example. Another is the default network bridge: it makes
> sense to put that in a global config file as it makes domain config
> files more portable between different setups.
>
> Ian.
>
That's OK. Then we should guarantee: a configure can only specified in the
global configure file
or on the command line. But not both.
Here is a very bad example (not exist) we should avoid:
global.conf: migrate_ssl = true/false
# xl migrate --ssl ....
Thanks,
Zhigang
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2010-08-31 18:52 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-08-27 11:19 [PATCH 6 of 8] xl: add a global configuration file Stefano Stabellini
2010-08-27 11:34 ` Christoph Egger
2010-08-27 11:42 ` Stefano Stabellini
2010-08-27 21:30 ` Zhigang Wang
2010-08-30 9:48 ` Stefano Stabellini
2010-08-31 17:32 ` Ian Jackson
2010-08-31 18:52 ` Zhigang Wang
2010-08-31 17:31 ` Ian Jackson
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.