We are currently getting a QA error:
ERROR: QA Issue: ntp: Files/directories were installed but not shipped in any package:
/usr/libexec
This is a result of the commit f35b2e29d9bf [bitbake: set default
libexecdir to $prefix/libexec] on poky which splits executables and
libraries. Since we configure ntp in such a way that nothing is put in
libexecdir we can avoid the QA error by simply removing the empty
directory.
This fix has been sent to meta-openembedded but we will carry the fix
here until it or another fix is merged to meta-openembedded.
Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Commit f35b2e29d9bfa817e64b83df11ebbbfe0f4e8e5c [bitbake: set default
libexecdir to $prefix/libexec] in poky changes things such that libs
and executables are separated. This results in 'lxc-containers' not
being found where it was previously and as such the attempt to 'sed'
this file fails with:
.../image//usr/lib64/lxc/lxc/lxc-containers: No such file or directory
Swapping in libexecdir in place of libdir and trimming the path some
lets the sed command succeed. For now this fixes the build issue. If
the runtime has issues with this new split we may have to overwrite
the default libexecdir. For now we will run with it.
To not break builds where commit f35b2e29d9 is yet to be applied we
continue to support the old path.
Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
To fix:
| NOTE: make -e MAKEFLAGS= clean
| make: *** No rule to make target 'clean'. Stop.
| ERROR: oe_runmake failed
| ERROR: Function failed: do_configure (log file is located at tmp/work/core2-64-overc-linux/raft/git-r0/temp/log.do_configure.16384)
ERROR: Task 5376 (meta-overc/meta-cube/recipes-devtools/go/raft_git.bb, do_configure) failed with exit code '1'
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Since dom0-contctl didn't have the ability of stop peer container
group, thus its systemd's "restart" function will always failed.
Here just overrides its postins function to remove "systemd restart"
step temporarily.
Signed-off-by: fli <fupan.li@windriver.com>
Add a system upgrade function for overc-system-agent, which allows
overc-system-agent to upgrade the whole system using one command.
This command will first list all of the running containers and then
check is the container's dist "Pulsar" or "overc", if yes, then
upgrade them one by one, and last upgrade essential system.
By now, it only supports rpm upgrading method.
Signed-off-by: fli <fupan.li@windriver.com>
If available diskspace is smaller than the upgrading container's
image size, abandon snapshot it and upgrading directly, otherwise
snapshot it before do upgrading.
Signed-off-by: fli <fupan.li@windriver.com>
Just as essential system upgrading does, put the rpm db
files into tmpfs to speed up the system's upgrading.
Signed-off-by: fli <fupan.li@windriver.com>
See discussion here:
http://comments.gmane.org/gmane.comp.handhelds.openembedded.core/75312
Executive summary is that something changed recently causing site_perl
content to leak into ${D}/${libdir} -- since it isn't immediately clear
what, we just manually remove it for now.
This append should fail on the rmdir once the problem is fixed upstream,
signalling to us automatically when this bbappend can be removed.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
See parallel change/removal to self-hosted.bb in:
commit be4c446870a707021da4fa163a648b67e18ec12b
Author: Khem Raj <raj.khem@gmail.com>
Date: Mon Jan 18 21:23:33 2016 +0000
pth: Delete
replacement in npth is available in OE-core
(From OE-Core rev: 22c0b4c5034f929a1b1145f49b835387856e80b1)
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
These conf files will be configured according to the different requirements.
When the system upgrade these packages, these conf files will be reinstalled,
and these configure will be set into the default value.
Use the "CONFFILES" to skip these conf files during these packages upgrade.
Signed-off-by: Guojian Zhou <guojian.zhou@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
The 'overc-conftools' package can be used to handle system
configuration tasks that are not viable to complete during image or
installer creation. It is intended to run during boot of -essential,
prior to the launching of any containers. This initial version handles
configuration of the network fabric used by OverC. Configurations can
be applied only on the first boot but also on subsequent boots, it is
up the specific configuration to handle its life-cycle. System level
configuration should exist as additions and modifications to this
package but eventually overc-conftools will allow individual recipes
to contribute their own configurations to be executed by the
overc-conftools system.
Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
We can drop the puppet and include overc-conftools since this
is the package which is involved in the usecase for puppet.
Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
When do smart upgrade for the essential system, rpm will take
a very long time to save the metadata into its db files for
every upgraded packages when the db files located in disk/sdcard,
and put these db files into tmpfs will save about 90% time slice.
Thus, when do essential system upgrade, overc will put the rpm db
files into tmpfs first, and then do the upgrading. After the upgrading
done, restore those db files into disk/sdcard.
For Zed boards essential system, this will only take about 20 minutes
to finish the upgrading, otherwise, it will take about 6-7 hours.
Signed-off-by: fli <fupan.li@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
For do host upgrading, some packages's postinstall need /proc
to do someting, and the previous chroot didn't mount it. This patch
add the mounting of it to chroot rootfs. Another, /var/volatile/tmp
has already existed in the rootfs and there is no need to create it,
thus remove the creating steps.
Signed-off-by: fli <fupan.li@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
This reverts commit b273f4faa9.
The rdepend is in the initramfs bb and hence won't take effect
for the packagegroup-builder.bb -- we'd need to add some rdepend
type logic there instead to make it work.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Since socat will not pass an 'EOF' after echoing console file
name to cmd-out and just close the file, and cat command will
wait for the 'EOF' and just recived the close of that file,
which will cause cat output the following error info:
cat: /opt/container/local/cmd-output: Input/output error
This commit use socat which can deal with the close of file when
read it.
Signed-off-by: fli <fupan.li@windriver.com>
Add a chvt system unit to activate tty3
when the system boot up to show domE/cube-server/cube-gw's
login console on the screen.
Signed-off-by: fli <fupan.li@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Many of the cube* commands require a command server. When logged into
essential, there is no monitoring server (since we are the root of the system)
and hence the commands don't work.
Commands should either be directly invoked (ie. lxc*) or better, the
control domain used (dom0).
To make this obvious/explicit, we can detect that we are not in a container
and dump an explanation.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
For situations where binary, or otherwise uknown streams, are being
passed through the console, the exit charaters may be incorrectly be
detected.
This commit adds a --notraps option, so that they can be ignored in
these special cases.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Connections between dom0 -> <containers> were using namespaces, or lxc-console.
Either approach had issues. Namespaces do not have a valid environment.
lxc-console can only be exited with a control sequence, and can only have one
active at a time.
To avoid this, we can detect that the target is a container, and execute agetty
to provide a on-demand login shell.
This is not unlike how consoles are created between containers and dom0, but
this technique uses lxc-attach and must always go through dom0, allowing a level
of security and control.
Once established, they are torn down by logging out of the shell, or issuing
the overall cube-console exit sequence (ctrl-\).
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
We currently only allow containers that are not dom0 to connect to dom0,
so we should limit the target list accordingly.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
lxc doesn't know about essential as a valid container, but it is a valid
target for cube-console. To make sure it is visible to users, we test
if we are in dom0, and add essential if we are.
We also add the escape squence "ctrl-\" to essential consoles with this
commit.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
socat can monitor/trap and exit on special charaters in raw connections.
Anything from the ascii table: http://www.nthelp.com/ascii.htm can be
used to trigger a forced exit.
For cube console, we use "ctrl-\", since it is not a commonly used sequence
for terminal commands.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Rather than making a namespace console the default, we should let login be
the default, since that preserves environment variables and provides a
consistent experience.
The --ns flag is still available for login-less namespace shells
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
We can create multiple consoles, so we no longer need to check to see
if a console is active.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
The size of the ruby gems documentation can end up being > 500MB which
poses a problem for the initial default container size on a system
with an 8GB drive.
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Only essential system need the puppet, so remove installing
puppet from the other container images.
Signed-off-by: fli <fupan.li@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
For the headless container images, we want them
can support X desktop by install the desktop
required packages from rpm repos. This desktop
packagegroup is specified to xfce desktop.
Another, setting the systemd's default.target to
graphical.target is done in image.bbclass once the
IMAGE_FEATURES contains "x11-base". Since for headless
images, IMAGE_FEATURES didn't contain it, so reset the
default.target to graphical.target in this packagegroup's
postins section for headless system.
Signed-off-by: fli <fupan.li@windriver.com>
The puppet will be used in masterless mode to complete configuration
of the images during installation and eventually to ensure persistent
configurations remain after completing system upgrades.
This requires that meta-cloud-services is added to the list of
required layers. Documentation, sample configs etc. have been updated
to reflect this.
Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Add openvswitch to all cube-* images. By default OverC will use
openvswitch for core networking functionality so we want this present
in all the core OverC containers.
Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
systemd 228 changes the way that cgroups/namespaces are named, which
means that the cube-cmd-server can't detect if it is in a container
or not .. and hence, can't properly start on essential.
We add a new conditional to allow for 228 and 225 to co-exist and
we can once again launch peer containers.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
The first implementation of the command server only allowed one
connection between two cubes. While not a serious limitation, it
is uncessary.
With this change, a dynamically numbered console pipe is created
and returned to the calling console command. The console then
hooks up to that pipe versus a hard coded name.
We also fork the console in the background on the command server
side, leaving us available to handle more requests.
The combination of the two means that multiple console are now
possible.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>