Nikos Skalkotos [Fri, 8 Feb 2013 16:37:45 +0000 (18:37 +0200)]
Remove hardcoded FLOPPY_DEV in helper
Check the cmdline of the kernel to determine what device to check
for find the rules file
Nikos Skalkotos [Fri, 8 Feb 2013 15:44:51 +0000 (17:44 +0200)]
In xen use the helper image in ro mode
Make sure everything works even when the root filesystem in the helper
VM is mounted read-only.
Nikos Skalkotos [Thu, 7 Feb 2013 11:22:41 +0000 (13:22 +0200)]
Merge branch 'master' into xen
Conflicts:
snf-image-helper/common.sh
snf-image-host/Makefile.am
snf-image-host/common.sh.in
snf-image-host/create
snf-image-host/defaults
Nikos Skalkotos [Thu, 7 Feb 2013 10:11:24 +0000 (12:11 +0200)]
Cleanup Xen code
Make it comply with the rest of the software. Some things are not
ready yet.
Nikos Skalkotos [Mon, 4 Feb 2013 10:56:18 +0000 (12:56 +0200)]
Add new XEN_BRIDGE variable.
This can be used to configure the bridge on which the helper's VM
nic will be attached when using XEN.
Nikos Skalkotos [Sun, 27 Jan 2013 17:53:18 +0000 (19:53 +0200)]
Remove deprecated network_backend_support check
Nikos Skalkotos [Sun, 27 Jan 2013 17:47:49 +0000 (19:47 +0200)]
Change some default values
Change HELPER_SIZE to 600 and HELPER_SOFT_TIMEOUT to 120
Nikos Skalkotos [Mon, 21 Jan 2013 16:47:10 +0000 (18:47 +0200)]
Update ChangeLog and configure.ac for ver. 0.7.6
Nikos Skalkotos [Mon, 21 Jan 2013 16:38:14 +0000 (18:38 +0200)]
Make the size of the helper VM image configurable
Add a new HELPER_SIZE variable for this purpose. Default size is
hardcoded to 400MB
Nikos Skalkotos [Mon, 21 Jan 2013 16:16:09 +0000 (18:16 +0200)]
Fix a bug in DeleteSSHkeys
The code for checking for non-default keys was never called
Nikos Skalkotos [Mon, 21 Jan 2013 15:47:29 +0000 (17:47 +0200)]
Mount /dev & /proc in the helper before chrooting
Nikos Skalkotos [Thu, 17 Jan 2013 12:49:39 +0000 (14:49 +0200)]
Update ChangeLog and configure.ac for ver. 0.7.5
Nikos Skalkotos [Thu, 17 Jan 2013 12:43:09 +0000 (14:43 +0200)]
Make defaults file inherit the ./configure options
Nikos Skalkotos [Thu, 17 Jan 2013 11:11:02 +0000 (13:11 +0200)]
Cleanup variables and ./configure options
Remove:
HELPER_CACHE_DIR
HELPER_IMG
HELPER_KERNEL
HELPER_INITRD
TIMELIMIT
Add:
TIMEOUT
In configure, remove:
--enable-network-backend
--with-helper-img
--with-helper-kernel
--with-helper-initrd
Nikos Skalkotos [Tue, 8 Jan 2013 14:11:18 +0000 (16:11 +0200)]
Update ChangeLog and configure.ac for ver. 0.7.4
Nikos Skalkotos [Mon, 7 Jan 2013 18:09:07 +0000 (20:09 +0200)]
Mount all local filesystems when deploying images
If the image has /home on a different partition than /, then
we'll need to have it mounted to inject files on a user's home
directory.
Nikos Skalkotos [Mon, 7 Jan 2013 14:07:57 +0000 (16:07 +0200)]
Fix a bug in get_partition_to_resize
Fix a typo in a variable name
Nikos Skalkotos [Fri, 4 Jan 2013 16:16:47 +0000 (18:16 +0200)]
Update ChangeLog and configure.ac for ver. 0.7.3
Nikos Skalkotos [Fri, 4 Jan 2013 16:10:27 +0000 (18:10 +0200)]
Fix multstrap.conf to work with apt2
Nikos Skalkotos [Fri, 4 Jan 2013 14:46:26 +0000 (16:46 +0200)]
Update ChangeLog and configure.ac for ver. 0.7.2
Nikos Skalkotos [Fri, 4 Jan 2013 14:42:23 +0000 (16:42 +0200)]
In multistrap.conf change repository to apt2
Nikos Skalkotos [Fri, 4 Jan 2013 13:30:52 +0000 (15:30 +0200)]
Fix AssignHostname task for arch linux
If both /etc/rc.conf and /etc/hostname are missing, create the latter
to host the hostname.
Nikos Skalkotos [Thu, 3 Jan 2013 18:54:12 +0000 (20:54 +0200)]
Treat partitions with id="f" as extended
Partitions with id=0x0F are extended partitions with LBA addressing.
Nikos Skalkotos [Sat, 15 Dec 2012 22:46:12 +0000 (00:46 +0200)]
Check for /etc/hostname in AssignHostname task
By default without investigating the distro of the guest VM, check
for the presence of /etc/hostname file. This is the default place
for static host names in systems that use the systemd startup deamon.
Nikos Skalkotos [Sat, 15 Dec 2012 22:07:18 +0000 (00:07 +0200)]
Fix helper's error monitoring system
Fix a bug where errors that where not created using log_error where
not registered to the monitoring subsystem.
Nikos Skalkotos [Fri, 14 Dec 2012 16:53:14 +0000 (18:53 +0200)]
del c:\windows\panther\unattend.xml after sysprep
Make sure the cached unattend xml file gets deleted after sysprep
Nikos Skalkotos [Fri, 7 Dec 2012 15:34:24 +0000 (17:34 +0200)]
Update ChangeLog and configure.ac for ver. 0.7.1
Nikos Skalkotos [Fri, 7 Dec 2012 14:47:00 +0000 (16:47 +0200)]
In helper put sysrq shutdown cmd in an inf loop
This is needed because in some cases, the init could exit before the
system shut down causing a KERNEL PANIC.
Nikos Skalkotos [Wed, 5 Dec 2012 14:52:43 +0000 (16:52 +0200)]
Add Christos Stavrakakis to the authors list
Christos Stavrakakis [Tue, 4 Dec 2012 12:05:31 +0000 (14:05 +0200)]
Make pithcat work with pithosmap:// URLs
Modify pithcat to be able to parse and work with URLs of the form:
`pithosmap://hash/size' which are neeed for archipelagos.
Nikos Skalkotos [Mon, 3 Dec 2012 15:17:56 +0000 (17:17 +0200)]
Update ChangeLog and configure.ac for ver. 0.7
Nikos Skalkotos [Mon, 3 Dec 2012 15:08:30 +0000 (17:08 +0200)]
Credit psomas@grnet.gr for the helper VM shutdown
Stratos Psomadakis suggested to shutdoen the helper VM using the `o'
Magic SsysRq key
Nikos Skalkotos [Sun, 2 Dec 2012 09:14:07 +0000 (11:14 +0200)]
Code cleanup
Make sure local variables are defined as local before they get assigned.
Having variables get defined and assigned in one line like this:
local var=foo
can sometimes cause problems. For example, this line:
local var=$(false)
will return 0 and the script will not fail if set -x is defined.
Nikos Skalkotos [Sat, 1 Dec 2012 21:38:09 +0000 (23:38 +0200)]
Make snf-image fail if config_url isn't accessible
Nikos Skalkotos [Fri, 30 Nov 2012 17:02:45 +0000 (19:02 +0200)]
Fix a wrong entry in version_pinning.pref
Nikos Skalkotos [Fri, 30 Nov 2012 14:43:39 +0000 (16:43 +0200)]
Fix repo url in multistrap.conf
Nikos Skalkotos [Fri, 30 Nov 2012 13:29:45 +0000 (15:29 +0200)]
Do not install a local helper package by default
snf-image-update-helper will only install a pkg retrieved from the
apt unless -p option is specified.
Nikos Skalkotos [Fri, 30 Nov 2012 12:01:29 +0000 (14:01 +0200)]
Add rule for version pinning for snf-image-helper
Nikos Skalkotos [Thu, 29 Nov 2012 15:53:47 +0000 (17:53 +0200)]
Exit if the version check fails
Nikos Skalkotos [Thu, 29 Nov 2012 12:58:03 +0000 (14:58 +0200)]
Remove old do_debootstrap function from common.sh
Nikos Skalkotos [Wed, 28 Nov 2012 17:09:27 +0000 (19:09 +0200)]
Add new version_consistency_check in configure
This can be used to enable or disable the version check between
snf-image-host and snf-image-helper at the end of the update-helper
script.
Nikos Skalkotos [Wed, 28 Nov 2012 14:22:12 +0000 (16:22 +0200)]
Remove caching
Using package caches to create the helper image is dangerous now that
snf-image-helper is automatically retrieved.
Nikos Skalkotos [Wed, 28 Nov 2012 13:26:56 +0000 (15:26 +0200)]
Hardcode arch and suit in multistrap.conf
Use squeeze instead of stable
Nikos Skalkotos [Wed, 28 Nov 2012 12:27:18 +0000 (14:27 +0200)]
Add apt preferences dir for multistrap
The files hosted in this directory will be added in the
/etc/apt/preferences.d directory of the helper image before multistrap
runs.
Nikos Skalkotos [Tue, 20 Nov 2012 09:43:13 +0000 (11:43 +0200)]
Update ChangeLog and configure.ac for ver. 0.6.5
Nikos Skalkotos [Mon, 19 Nov 2012 16:40:18 +0000 (18:40 +0200)]
Fix a bug introduced in
9fca5245a2eae67af86719bb0f
AssignHostname task did not search for Unattend.xml in a case
insensitive way.
Nikos Skalkotos [Thu, 15 Nov 2012 14:31:32 +0000 (16:31 +0200)]
Update ChangeLog and configure.ac for ver. 0.6.4
Nikos Skalkotos [Thu, 15 Nov 2012 14:17:27 +0000 (16:17 +0200)]
Nikos Skalkotos [Tue, 13 Nov 2012 10:35:04 +0000 (12:35 +0200)]
Update ChangeLog and configure.ac for ver. 0.6.3
Nikos Skalkotos [Mon, 12 Nov 2012 15:21:33 +0000 (17:21 +0200)]
Fix a bug in helper's error monitoring system
Make sure that if log_error is executed like this:
log_error "text" "text"
The 2 arguments get merged before being fed to the monitoring system.
Nikos Skalkotos [Mon, 12 Nov 2012 13:34:45 +0000 (15:34 +0200)]
Check if the img_properties are decoded correct
In image helper, check if decode-properties.py returned 0 and log
the error if this is not the case.
Nikos Skalkotos [Mon, 12 Nov 2012 10:53:24 +0000 (12:53 +0200)]
Fix minor typo in ChangePassword task
Nikos Skalkotos [Fri, 9 Nov 2012 19:20:54 +0000 (21:20 +0200)]
Don't overwrite C:\Unattend.xml in the windows
If unattend.xml is present in the windows image, use this one unless
USE_DEFAULT_UNATTEND is specified as an image property.
Nikos Skalkotos [Fri, 9 Nov 2012 15:51:02 +0000 (17:51 +0200)]
Fix the error messages in helper
Nikos Skalkotos [Wed, 7 Nov 2012 13:53:15 +0000 (15:53 +0200)]
In update-helper remove the tmp image on errors
If an error occurs, the temporary helper image under
/var/lib/snf-image-helper should be removed.
Conflicts:
snf-image-host/snf-image-update-helper.in
Nikos Skalkotos [Wed, 31 Oct 2012 09:59:45 +0000 (11:59 +0200)]
Fix a bug in the helper's monitoring system
Fix a bug where the helper will not send a image-helper-error msg
if an error occures when running snf-image-helper main script and
not one of the configuration tasks.
Conflicts:
snf-image-helper/common.sh
Nikos Skalkotos [Fri, 12 Oct 2012 10:09:50 +0000 (13:09 +0300)]
Update ChangeLog and configure.ac for ver. 0.6.2
Nikos Skalkotos [Fri, 5 Oct 2012 12:57:16 +0000 (15:57 +0300)]
Update ChangeLog and configure.ac for version 0.6.1
Nikos Skalkotos [Mon, 22 Oct 2012 11:51:19 +0000 (14:51 +0300)]
Change default error msg in monitoring
Nikos Skalkotos [Fri, 19 Oct 2012 16:58:42 +0000 (19:58 +0300)]
Fix an obsolete trap line
It should have been changed in commit
696deeec2b28dacc75e93544835497982df2af50
Nikos Skalkotos [Thu, 11 Oct 2012 14:00:02 +0000 (17:00 +0300)]
Fix error and info messages
Nikos Skalkotos [Thu, 11 Oct 2012 12:19:30 +0000 (15:19 +0300)]
Seperate error messages from monitoring messages
Do not send through the monitor pipe the error messages. They may
contain internal sensitive information. Create a new report_error
function for sending errors through the monitoring pipe.
Conflicts:
snf-image-host/create
snf-image-host/snf-image-update-helper.in
Nikos Skalkotos [Thu, 11 Oct 2012 14:29:13 +0000 (17:29 +0300)]
In ChangePassword task check if the users exist
Check if the users stated in the USERS image property do actually
exist.
Nikos Skalkotos [Fri, 5 Oct 2012 12:09:55 +0000 (15:09 +0300)]
Support installing snf-image-helper from apt repos
snf-image-update-helper should check when creating a helper VM if
an snf-image-helper package was installed from an apt repository
through multistrap. If this is the case, snf-image-update-helper
should not complain about not finding the HELPER_PKG.
Nikos Skalkotos [Thu, 4 Oct 2012 15:44:12 +0000 (18:44 +0300)]
Use a seperated dir for update-helper cache files
By default this directory is $(LOCALSTATEDIR)/cache/snf-image/helper
Nikos Skalkotos [Thu, 4 Oct 2012 08:20:09 +0000 (11:20 +0300)]
Use env. variables to pass options to pithcat
This is done for security reasons. The options may contain sensitive
data like the Pithos DB password and while the program (pithcat) is
running the whole command line is exposed to everyone through ps.
Nikos Skalkotos [Wed, 3 Oct 2012 08:52:00 +0000 (11:52 +0300)]
Suppress a reglookup warning
Hundred of warnings like this: `WARN: While quoting value for
'<registry_key>', warning returned: Data could not be interpreted,
quoting raw buffer.' are outputed when reglookup reads the registry
of a Windows 2012 system.
Dimitris Aragiorgis [Tue, 2 Oct 2012 15:47:22 +0000 (18:47 +0300)]
Use socat rather than screen for xm commands
Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
Nikos Skalkotos [Mon, 1 Oct 2012 14:21:32 +0000 (17:21 +0300)]
Don't move the kernel out of the helper VM image
When snf-image-update-helper runned, it moved the kernel and the
initrd file out of the helper VM image. With this patch,
snf-image-update-helper will copy the kernel to the host without
removing it from the image.
Dimitris Aragiorgis [Fri, 28 Sep 2012 19:33:13 +0000 (22:33 +0300)]
Use socat to dump helper messages in case of xen
Helper gets a dummy interface and communication between helper
and host is done via socat STDIO INTERFACE:eth0/vif$helperid.0
Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
Dimitris Aragiorgis [Fri, 28 Sep 2012 18:40:45 +0000 (21:40 +0300)]
Make use of XenStore to export SUCCESS msg
Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
Dimitris Aragiorgis [Thu, 27 Sep 2012 00:34:47 +0000 (03:34 +0300)]
Xen support
Support launching helper domain on top of Xen hypervisor under PV mode.
Helper VM becomes hypervisor aware by passing hypervisor=$HYPERVISOR
in the kernel command line and thus acts accordingly (which logging
devices to use, what disk/floppy devices to expect, etc)
We separate all hypervisor specific functions and vars and source them
according to $HYPERVISOR env var.
Due to the fact that multiconsole for PV domains is supported only after
linux kernel 3.2 (Stefano Stabellini tree - branch 3.2-multiconsole-2
git://xenbits.xen.org/people/sstabellini/linux-pvhvm.git) all
output/error report and logging is done via hvc0.
Helper domain is debootstraped with 2 kernels (linux-image-amd64,
linux-image-xen-amd64) and is booted accordingly.
Floppy is not supported in PV so floppy is passed as another disk.
The images created can run on top of xen-hvm and xen-pvm hypervisor.
Change logging to start with HELPER_MONITOR_ in order to parse it when
having only one console.
Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
Nikos Skalkotos [Fri, 28 Sep 2012 13:46:41 +0000 (16:46 +0300)]
Disable fsyncs in helper's VM resize operation
You can disable this behaviour by defining the DO_SYNC image property.
Nikos Skalkotos [Fri, 28 Sep 2012 10:29:04 +0000 (13:29 +0300)]
Delete helper img if errors occure during creation
If snf-image-update-helper exits with errors, delete the temporary
image file from /var/lib/snf-image/helper.
Nikos Skalkotos [Thu, 27 Sep 2012 16:34:17 +0000 (19:34 +0300)]
Replace debootstrap with multistrap
multistrap is more flexible allows as to define more that one
repository to retrieve packages from.
Nikos Skalkotos [Thu, 27 Sep 2012 15:58:43 +0000 (18:58 +0300)]
Fix a bug in snf-image-update-helper
the kernel and init paths computed by snf-image-update-helper script
were incorrect.
Nikos Skalkotos [Wed, 26 Sep 2012 13:40:07 +0000 (16:40 +0300)]
Add back the snf_image_activate_helper check
Nikos Skalkotos [Wed, 26 Sep 2012 12:05:10 +0000 (15:05 +0300)]
Remove the boot and shutdown process in helper VM
Make snf-image-helper ran as init process when calling the helper
VM. Also make the helper VM shut down quickly by using the shut off
SysRq.
Nikos Skalkotos [Mon, 24 Sep 2012 09:01:42 +0000 (12:01 +0300)]
Use UTC when calling date command
Nikos Skalkotos [Fri, 21 Sep 2012 12:42:07 +0000 (15:42 +0300)]
Add IMAGE_DEBUG variable
if this is set, then snf-image will run in debug mode.
Nikos Skalkotos [Mon, 17 Sep 2012 15:02:29 +0000 (18:02 +0300)]
Drop the `user' password reset rule
Drop the rule that resets the password for user with username `user'
if the USERS image property is missing and the system is detected
to be a Fedora or a Ubuntu Linux system.
Nikos Skalkotos [Fri, 14 Sep 2012 13:43:48 +0000 (16:43 +0300)]
Update ChangeLog and configure for version 0.6
Nikos Skalkotos [Fri, 14 Sep 2012 12:22:29 +0000 (15:22 +0300)]
Remove enable-network-backend flag from configure
The curl dependency is not optional any more.
Nikos Skalkotos [Thu, 13 Sep 2012 08:43:10 +0000 (11:43 +0300)]
Add new config_url os parameter
This url points to a json file that contains the value for other
OS parameters. Using this file we can pass parameters to snf-image
without writting them in Ganeti's config.data. This is
useful, for 2 reasons:
* Privacy: We don't want the password to appear in the Ganeti config
* Speed: Some parameters like IMG_PERSONALITY can be quite large (a few
KB) and since ganeti shares the instance configuration among different
nodes, the overall system will start getting slower if many instances
with IMG_PERSONALITY exist.
Nikos Skalkotos [Wed, 12 Sep 2012 15:39:39 +0000 (18:39 +0300)]
Add working import and export scripts
Nikos Skalkotos [Wed, 12 Sep 2012 10:42:26 +0000 (13:42 +0300)]
Fix an identation error in common.sh.in
Nikos Skalkotos [Thu, 6 Sep 2012 09:55:35 +0000 (12:55 +0300)]
Make sure EnforcePersonality runs last
When a users inject a file in an image that already exists,
we want to make sure that this file is not altered by any other task.
So, the EnforcePersonality task, is the last task that should run
before the image is unmounted.
Nikos Skalkotos [Fri, 31 Aug 2012 08:57:33 +0000 (11:57 +0300)]
Update ChangeLog and configure for version 0.5
Nikos Skalkotos [Fri, 29 Jun 2012 10:41:08 +0000 (13:41 +0300)]
Update ChangeLog and configure.ac for v0.4.2
Nikos Skalkotos [Mon, 28 May 2012 14:56:09 +0000 (17:56 +0300)]
Update ChangeLog and configure.ac for v0.4.1
Nikos Skalkotos [Wed, 29 Aug 2012 15:10:42 +0000 (18:10 +0300)]
Add support for null image backend type
This backend type can be used if we want snf-image to configure the
VM disk without first copying an image to it. This is useful for
cases were the VM disk is already populated before snf-image runs.
Nikos Skalkotos [Sun, 29 Jul 2012 14:07:47 +0000 (17:07 +0300)]
Fix minor typo
Nikos Skalkotos [Sun, 29 Jul 2012 13:50:43 +0000 (16:50 +0300)]
In archlinux make use of /etc/hostname if present
Newer arch linux systems use this file to assign a hostname. If the
file is present and not empty, then use it.
Nikos Skalkotos [Mon, 23 Jul 2012 16:26:53 +0000 (19:26 +0300)]
Add support for archlinux
* Fix distro detection code to detect arch linux systems
* Fix AssighHostname hook to successfully assign the host name on
arch linux systems
Nikos Skalkotos [Mon, 23 Jul 2012 13:36:47 +0000 (16:36 +0300)]
Fix some monitoring messages.
Nikos Skalkotos [Mon, 23 Jul 2012 13:55:48 +0000 (16:55 +0300)]
Don't strip stderr lines in image-error msgs
Nikos Skalkotos [Mon, 23 Jul 2012 13:22:25 +0000 (16:22 +0300)]
Create a dedicated host monitoring program
This program is used to output info and error messages from the host.
Nikos Skalkotos [Mon, 23 Jul 2012 09:19:32 +0000 (12:19 +0300)]
Add stderr-monitor.py for monitoring stderr
This programm will get the stderr file as input and it will create a
json image-error msg
Nikos Skalkotos [Fri, 20 Jul 2012 15:42:45 +0000 (18:42 +0300)]
Add new image-info monitoring msg type
snf-image-host can output info messages using the log_info function.
Nikos Skalkotos [Fri, 20 Jul 2012 12:30:23 +0000 (15:30 +0300)]
Minor changes in monitoring protocol
Change msg field to messages in monitoring messages with type
image-helper and subtype error or warning. The new field is a list
of strings.