Pepperfish downtime last night
by Rob Kendrick
Hi,
Summary: We had some downtime, and we're working on a fix.
Services are currently up but may be slower than usual.
Expect moments of downtime throughout the day.
Last night, at approximately 0330 GMT, one of Pepperfish's
virtual machines suffered a kernel issue related to handling
of interrupts, causing it to become unresponsive. Sadly
this happened exactly as a database update was occuring,
causing some corrupted configuration files to be generated
and pushed to other servers. The upshot was that DNS
broke on our main server and on our secondaries. This had
a knock-on effect of also preventing mail being delivered
to us.
A second issue relating to very poor IO performance on one
of our virtual machine hosts has compounded the problem and
slowed a correct fix.
Given the extremely high uptime of the host (Over 1,200 days),
and the lack of anything it any of its logs that might
suggest why IO performance has become disappointing, we plan
on rebooting it (and thus all the virtual machines it hosts)
at some point today. This will mean the following services
will be down:
- ssh access to 'platypus'
- Web server
- IMAP server
- Mailing list delivery server
- One incoming mail server
- One DNS server
Secondary servers hosted elsewhere should receive and store
any email that is delivered while this happens; nothing
should be lost.
Apologies for the disruption.
B.
6 years, 8 months
[MR] Fix cross-bootstrap strata
by Justin Erenkrantz
https://gitlab.com/baserock/definitions/merge_requests/33
When using morph to build the cross-bootstrap, I got a bunch of errors in
the definitions from groff, openssl, and rsync. It appears that these are
now already included in other core strata.
I was able to remove them from this strata and things seemed to build
okay...
Am I missing something? (Ha ha)
I do know that linux-user-chroot has been replaced by bubblewrap which I
believe buildstream is taking a look at. I don't have enough cycles to
figure out how to swap that out in the context of what I'm doing at the
moment. =)
Cheers. -- justin
6 years, 8 months
[PATCH] Morph cross-compile parallel job support
by Justin Erenkrantz
Hi baserock-dev@,
I have a project where I wanted to bootstrap a new architecture. I took a
look at the latest docs and got all confused around the
morph/ybd/buildstream conversations. It appears that some of the
documentation is out of date. =(
That said, it looks like Morph is currently the only tool that can do
cross-compiles to a new architecture. So, I have a series of patches that
I used with morph and the definitions and would like to see if it makes
sense to merge them upstream.
First off, the target architecture has lots of cores...so, for the native
stage2 cross step, it makes sense to allow parallelization to occur rather
than hardcode to -j1.
This patch works for me(tm).
I have other patches for definitions to allow a cross-compile to complete
that I'll post separately. And, then, finally some WIPs around the
architecture enhancements as it needs new versions of
binutils/gcc/etc/etc...which is where things start to go off the rails. =(
Cheers. -- justin
P.S. BTW, any thoughts around moving morph over to gitlab? It'd make this
process a bit easier!
---
Add in cross-max-jobs options to morph.
* CrossBootstrapPlugin.enable: Add new option cross-max-jobs settings.
* CrossBootstrapPlugin._cross_bootstrap: Use new cross-max-jobs setting.
diff --git a/morphlib/plugins/cross-bootstrap_plugin.py
b/morphlib/plugins/cross-bootstrap_plugin.py
index 4a87d79..618d168 100644
--- a/morphlib/plugins/cross-bootstrap_plugin.py
+++ b/morphlib/plugins/cross-bootstrap_plugin.py
@@ -208,6 +208,13 @@ class
BootstrapSystemBuilder(morphlib.builder.BuilderBase):
class CrossBootstrapPlugin(cliapp.Plugin):
def enable(self):
+ group_cross = 'Cross Bootstrap Options'
+ self.app.settings.integer(['cross-max-jobs'],
+ 'specify how many jobs should be run
with '
+ 'native-bootstrap',
+ default=1,
+ group=group_cross)
+
self.app.add_subcommand('cross-bootstrap',
self.cross_bootstrap,
arg_synopsis='TARGET-ARCH SYSTEM-MORPH')
@@ -330,8 +337,8 @@ class CrossBootstrapPlugin(cliapp.Plugin):
system_artifact.source, build_env, use_chroot=False)
builder = BootstrapSystemBuilder(
self.app, staging_area, build_command.lac, build_command.rac,
- system_artifact.source, build_command.repo_cache, 1, False,
- definitions_version)
+ system_artifact.source, build_command.repo_cache,
+ self.app.settings['cross-max-jobs'], False,
definitions_version)
builder.build_and_cache()
self.app.status(
6 years, 8 months