[lxc-devel] [PATCH 4/4] lxc-create menuconfig: create default config file

Sheng Yong shyodx at gmail.com
Fri Apr 18 15:30:19 UTC 2014


	* create `create.conf' for `mconf' to read
	* install `create.conf' to $datadir/lxc/scripts

Signed-off-by: Sheng Yong <shyodx at gmail.com>
---
 config/Makefile.am           |   2 +-
 config/create/Makefile.am    |   3 +
 config/create/create.conf.in | 228 +++++++++++++++++++++++++++++++++++++++++++
 configure.ac                 |   2 +
 4 files changed, 234 insertions(+), 1 deletion(-)
 create mode 100644 config/create/Makefile.am
 create mode 100644 config/create/create.conf.in

diff --git a/config/Makefile.am b/config/Makefile.am
index e40f842..85aa7d1 100644
--- a/config/Makefile.am
+++ b/config/Makefile.am
@@ -1 +1 @@
-SUBDIRS = apparmor bash etc init templates yum
+SUBDIRS = apparmor bash etc init templates yum create
diff --git a/config/create/Makefile.am b/config/create/Makefile.am
new file mode 100644
index 0000000..1e80d76
--- /dev/null
+++ b/config/create/Makefile.am
@@ -0,0 +1,3 @@
+scriptdir=@LXCSCRIPTDIR@
+
+script_DATA = create.conf 
diff --git a/config/create/create.conf.in b/config/create/create.conf.in
new file mode 100644
index 0000000..2cf7cc5
--- /dev/null
+++ b/config/create/create.conf.in
@@ -0,0 +1,228 @@
+config CONFIG_FILE
+	string "Config file"
+	default ""
+	---help---
+	  Specify the configuration file to configure the virtualization
+	  and isolation functionalities for the container.
+
+choice
+	prompt "Templates"
+	default TEMP_NONE
+	---help---
+	  'template' is the short name of an existing 'lxc-template'
+	  script that is called by lxc-create, eg. busybox, debian,
+	  fedroa, ubuntu or sshd.  Refer to the examples in
+	  /usr/local/share/lxc/templates for details of the expected
+	  executable template script can also be passed as a parameter.
+	  "none" can be used to force lxc-create to skip rootfs
+	  creation.
+
+config TEMP_none
+	bool "None"
+
+config TEMP_alpine
+	bool "Alpine"
+
+config TEMP_altlinux
+	bool "Altlinux"
+
+config TEMP_archlinux
+	bool "Archlinux"
+
+config TEMP_busybox
+	bool "Busybox"
+
+config TEMP_centos
+	bool "Centos"
+
+config TEMP_cirros
+	bool "Cirros"
+
+config TEMP_debian
+	bool "Debian"
+
+config TEMP_download
+	bool "Download"
+
+config TEMP_fedora
+	bool "Fedora"
+
+config TEMP_gentoo
+	bool "Gentoo"
+
+config TEMP_openmandriva
+	bool "Open Mandriva"
+
+config TEMP_opensuse
+	bool "Open Suse"
+
+config TEMP_oracle
+	bool "Oracle"
+
+config TEMP_plamo
+	bool "Plamo"
+
+config TEMP_sshd
+	bool "sshd"
+
+config TEMP_ubuntu
+	bool "Ubuntu"
+
+config TEMP_ubuntu_cloud
+	bool "Ubuntu Cloud"
+endchoice
+
+choice
+	prompt "Backing store type"
+	default BS_NONE
+	---help---
+	  'backingstore' is one of 'none', 'dir', 'lvm', 'loop',
+	  'btrfs', 'zfs' or 'best'.
+
+config BS_NONE
+	bool "None"
+	---help---
+	  'none' means that the container root filesystem will be a
+	  directory under /usr/local/var/lib/lxc/container/rootfs.
+
+config BS_dir
+	bool "dir"
+	---help---
+	  'dir' has the same meaning as 'none', but also allows the
+	  optional --dir ROOTFS to be specified, meaning that the
+	  container rootfs should be palced under the specific path,
+	  rather than the default.
+
+config BS_lvm
+	bool "lvm"
+	---help---
+	  An lvm block device will be used and the following further
+	  options are available: --lvname lvname1 will create an LV
+	  named lvnam1 rather than the default, which is the container
+	  name. --vgname vgname1 will create the LV in volume group
+	  vgname1 rather than the default, lxc. --thinpool thinpool1
+	  will create the LV as a thin-provisioned volume in the pool
+	  named thinpool1 rather the default, lxc. --fstype FSTYPE
+	  will create an FSTYPE filesystem on the LV, rather than the
+	  default, which is ext4.  --fssize SIZE will create a LV
+	  (and filesystem) of size SIZE rather than the default,
+	  which is 1G.
+
+config BS_loop
+	bool "loop"
+
+config BS_btrfs
+	bool "btrfs"
+	---help---
+	  The target filesystem must be btrfs, and the container
+	  rootfs will be created as a new subvolume. This allows
+	  snapshotted clones to be created, but also causes rsync
+	  --one-filesystem to treat it as a separate filesystem.
+
+config BS_zfs
+	bool "zfs"
+
+config BS_best
+	bool "best"
+	---help---
+	  LXC will try, in order, btrfs, zfs, lvm, and finally a
+	  directory backing store.
+endchoice
+
+config BS_DIR_DIR
+	string "Place rootfs directory under DIR"
+	depends on BS_dir
+	default ""
+	---help---
+	  Place rootfs directory under DIR.
+
+config BS_LVM_LVNAME
+	string "Setting LVM lv name"
+	depends on BS_lvm
+	default ""
+	---help---
+	  Specify the name of LV which will be created. Default value
+	  is container name.
+
+config BS_LVM_VGNAME
+	string "Setting LVM vg"
+	depends on BS_lvm
+	default "lxc"
+	---help---
+	  Specify the name of LV volume group. Default value is lxc.
+
+config BS_LVM_THINPOOL
+	string "Setting LVM thin pool"
+	depends on BS_lvm
+	default "lxc"
+	---help---
+	  Specify the pool name in which the LV will be created as a
+	  thin-provisioned volume. Defaults value is lxc.
+
+config BS_LVM_FSTYPE
+	string "Setting LVM filesystem type"
+	depends on BS_lvm || BS_loop
+	default "ext4"
+	---help---
+	  Specify the filesystem type on LV or loop. Default value is
+	  ext4.
+
+config BS_LVM_FSSIZE
+	string "Setting LVM filesystem size"
+	depends on BS_lvm || BS_loop
+	default "1G"
+	---help---
+	  Specify the size of LV and loop. Default value is 1G. Units
+	  are (bBkKmMgGtT).
+
+config BS_ZFS_PATH
+	string "Setting zfs root"
+	depends on BS_zfs
+	default "tank/lxc"
+	---help---
+	 Default is tank/lxc.
+
+config LXC_PATH
+	string "Container path"
+	default "/usr/local/var/lib/lxc"
+	---help---
+	  Use and alternate container path. The default is
+	  /usr/local/var/lib/lxc.
+
+config LOG_FILE
+	string "Log file path"
+	default ""
+	---help---
+	  Output to an alternate log file. The default is no log.
+
+choice
+	prompt "Log priority"
+	default LOG_PRIO_ERROR
+
+config LOG_PRIO_FATAL
+	bool "Fatal"
+
+config LOG_PRIO_CRIT
+	bool "Critical"
+
+config LOG_PRIO_WARN
+	bool "Warning"
+
+config LOG_PRIO_ERROR
+	bool "Error"
+
+config LOG_PRIO_NOTICE
+	bool "Notice"
+
+config LOG_PRIO_INFO
+	bool "Info"
+
+config LOG_PRIO_DEBUG
+	bool "Debug"	
+endchoice
+
+config QUIET
+	bool "Mute on"
+	default y
+	---help---
+	  Mute on.
diff --git a/configure.ac b/configure.ac
index c19f2f1..6a0a948 100644
--- a/configure.ac
+++ b/configure.ac
@@ -594,6 +594,8 @@ AC_CONFIG_FILES([
 	config/templates/ubuntu.lucid.conf
 	config/templates/ubuntu.userns.conf
 	config/yum/Makefile
+	config/create/Makefile
+	config/create/create.conf
 
 	doc/Makefile
 	doc/api/Makefile
-- 
1.9.1



More information about the lxc-devel mailing list