[PATCH 0/3] lorry-controller: start of rewrite
by Lars Wirzenius
This is not meant to be merged, yet. However, it would be useful to
get some feedback early rather than late, so I present this patch
series FYI, RFC, IANAL, HTH, and HAND. The code lives in the
liw/daemonise branch of the lorry-controller.git repository.
This set of patches, or rather the last one, sets up a skeleton for
the new Lorry Controller's web application (fondly known as WEBAPP to
its friends and enemies), and a skeleton for the yarn test suite. My
intention is that the skeletons are sufficient that most new stuff is
fairly easy to hand onto the existing structure, without requiring
great rewrites, but we'll see how that works.
Note that, quite intentionally, the test suite at this time only tests
WEBAPP on its own. There is not even a glimmer of MINION, nor any
tests that would test all of Lorry Controller. I expect that there
will need to be a separate test suite that gets run against a deployed
and running real Trove system, which will have WEBAPP and MINION
running for real. That separate test suite will be able to test things
such as whether WEBAPP can handle multiple requests at the same time.
Lars Wirzenius (3):
Remove stuff to be obsoleted
Add new Lorry Controller requirements and architecture
Initial skeleton for WEBAPP and yarns for it
ARCH | 393 +++++++++++++++++++++++++++++++++
check | 13 ++
lorry-controller | 285 ------------------------
lorry-controller-webapp | 193 ++++++++++++++++
lorry-controller.conf | 19 --
lorrycontroller/__init__.py | 18 --
lorrycontroller/confparser.py | 294 ------------------------
lorrycontroller/htmlstatus.py | 286 ------------------------
lorrycontroller/workingstate.py | 127 -----------
setup.py | 19 --
test-wait-for-port | 40 ++++
yarns.webapp/010-introduction.yarn | 77 +++++++
yarns.webapp/020-status.yarn | 14 ++
yarns.webapp/030-queue-management.yarn | 35 +++
yarns.webapp/900-implementations.yarn | 119 ++++++++++
yarns.webapp/yarn.sh | 32 +++
16 files changed, 916 insertions(+), 1048 deletions(-)
create mode 100644 ARCH
create mode 100755 check
delete mode 100755 lorry-controller
create mode 100755 lorry-controller-webapp
delete mode 100644 lorry-controller.conf
delete mode 100644 lorrycontroller/__init__.py
delete mode 100644 lorrycontroller/confparser.py
delete mode 100644 lorrycontroller/htmlstatus.py
delete mode 100644 lorrycontroller/workingstate.py
delete mode 100644 setup.py
create mode 100755 test-wait-for-port
create mode 100644 yarns.webapp/010-introduction.yarn
create mode 100644 yarns.webapp/020-status.yarn
create mode 100644 yarns.webapp/030-queue-management.yarn
create mode 100644 yarns.webapp/900-implementations.yarn
create mode 100644 yarns.webapp/yarn.sh
--
1.8.4
9 years, 4 months
[PATCH] Fix bug in whoami
by Richard Ipsum
The gitano/anonymous user doesn't have a user config,
so whoami errors out if run as gitano/anonymous
Richard Ipsum (1):
Fix bug in whoami
lib/gitano/usercommand.lua | 32 +++++++++++++++++++-------------
1 file changed, 19 insertions(+), 13 deletions(-)
--
1.7.10.4
9 years, 4 months
[PATCH] Fix virtualbox deployment with version 3.4
by Richard Maw
Repo: git://git.baserock.org/baserock/baserock/morph.git
Ref: baserock/richardmaw/S10140/vbox-3.4.0-deploy
SHA1: 027bd21376e252b6239e13293cec2234815c39bf
Land: origin/master
I have tested this with VirtualBox 3.1 and Pedro tested it with 3.4,
it finished deployment with both.
Richard Maw (1):
virtualbox-ssh: Work around change in VBox options
morphlib/exts/virtualbox-ssh.write | 20 +++++++++++++++++++-
1 file changed, 19 insertions(+), 1 deletion(-)
--
1.8.5.rc2
9 years, 4 months
[RFC 0/6] Gitano http - passwords
by Richard Ipsum
Gitano currently relies on ssh to perform key based authentication,
meanwhile http authentication is password based. The httpd
will take care of this authentication for us and though we will
leave it to the web server, we don't want to rely solely on the tools
of any particular web server. To avoid this dependence we store passwords
in gitano and generate a htpasswd file when required; we could generate
something else if we wanted but for the moment it's a htpasswd file.
Passwords stored in gitano are hashed using scrypt
and stored in a passwd file in the user's directory.
The user interface for setting user passwords is a new command 'passwd'
which simply reads the password from stdin, hashes the password, writes the
hash to the user's gitano passwd file and updates the htpasswd file
appropriately. If no input is given on stdin then the user's
password is removed (if they have one), so empty passwords are
not possible.
Along the way I had to make some changes to the indentation
because I forgot how to use my editor. I'm sorry about those,
I've put them in separate patches that begin with "Fix some indentation in",
you can safely ignore these since they only replace tabs with spaces.
Richard Ipsum (6):
Fix some indentation in config
Add hash_password and check_password to util
Add passwd command
Fix some indentation in usercommand
Parse passwords from admin repo
Commit passwords to git
lib/gitano/config.lua | 152 ++++++++++++++++++++++++-------------------
lib/gitano/usercommand.lua | 155 +++++++++++++++++++++++++++++++++++++-------
lib/gitano/util.lua | 16 +++++
3 files changed, 231 insertions(+), 92 deletions(-)
--
1.7.10.4
9 years, 4 months
[PATCH] morphs: Fix Python's sqlite3 bindings build
by Lars Wirzenius
repo: git://git.baserock.org/baserock/baserock/morphs
branch: liw/python-sqlite3
commit: 004e369fd0fbcd587027ed4389a47ebdd5e27e01
land: master
card: n/a
Currently we do not have a working set of bindings for sqlite3 in
Python. This is because our Python build (cpython chunk) does not
build-depend on sqlite3. This patch moves the sqlite3 chunk from
foundation to core, and adds it as a build-dependency of cpython.
I've verified that the devel system x86-64 builds with this patch, and
that in a different system branch this patch allows "import sqlite3"
to work, where previously it would fail.
Lars Wirzenius (1):
Move sqlite3 to core and have cpython b-depend on it
core.morph | 5 +++++
foundation.morph | 4 ----
2 files changed, 5 insertions(+), 4 deletions(-)
--
1.8.4
9 years, 4 months
[PATCH 0/3] Yarn for cache-key collision
by Richard Maw
Repo: git://git.baserock.org/baserock/baserock/morph.git
Ref: baserock/richardmaw/S10166/test-key-collision-with-artifact-names
SHA1: 027280276c17d4c6dfc7783fa33c8fb7418eebb7
Land: origin/master
I was mistaken about the original cause for the collision, you need to
do more than just change the artifact the system refers to, since the
two stratum artifacts need the same cache key, which can only happen if
the match rules for the stratum match the same number of artifacts, so
it's as easy to trigger this issue by changing the stratum rules as the
system rules.
This patch series invests a bit of effort into having implementations for
manipulating arbitrary morphologies, so we need fewer scenario specific
implementations, but have longer scenarios.
Richard Maw (3):
yarns: install misc files in /etc, not /usr/etc
yarns: Move system artifact inclusion implementation
yarns: Add regression test for cache-key clash
scripts/edit-morph | 47 +++++++++++++++++++++++++++++++++++++++++++++-
yarns/implementations.yarn | 29 +++++++++++++++++++++++++++-
yarns/regression.yarn | 19 +++++++++++++++++++
yarns/splitting.yarn | 17 ++---------------
4 files changed, 95 insertions(+), 17 deletions(-)
--
1.8.5.rc2
9 years, 4 months
[PATCH] Add support for armv7lhf in GCC
by Pedro Alvarez
Repo: upstream:gcc-tarball
Ref: baserock/pedroalvarez/armhf
Sha1: 0f528b3d73bcdc8efe9dd0ca902e0b089a3cf64e
Card: S10033
Pedro Alvarez (1):
Add support to build GCC for ARMv7 little endian hardfp
morph-arch-config | 5 +++++
1 file changed, 5 insertions(+)
--
1.7.10.4
9 years, 4 months
New Lorry Controller design work
by Lars Wirzenius
I am going to be rewriting the Lorry Controller component of Trove.
Attached is a write up of the requirements and preliminary design. I'm
working in the liw/daemonise branch of lorry-controller.git, and won't
be presenting things for merging until I'm ready for it to replace the
current software, since I expect to actually rewrite almost all the
code. Thus, this is a FYI and "feedback welcome" and not a merge
request.
--
http://www.codethink.co.uk/ http://wiki.baserock.org/ http://www.baserock.com/
9 years, 4 months
[PATCH 0/4] Misc fixups for splitting patch
by Richard Maw
Repo: git://git.baserock.org/baserock/baserock/morph.git
Ref: baserock/richardmaw/S10135/fixups
SHA1: 4c072835311b7e057d886a8278b8150cfd9366cf
Land: origin/master
This is a bunch of misc issues that I didn't feel were important enough
to block merging at the time.
The last patch, will unfortunately change cache-keys for everything again.
Richard Maw (4):
yarns: Add commentary for splitting scenarios
yarns: Add test for not building unnecessary chunks
cache-key: Don't reduntantly hash products field
cache-key: Fix obscure cache key collision
morphlib/cachekeycomputer.py | 5 +-
...run-in-artifact-with-different-artifacts.stderr | 2 +-
tests.build/bootstrap-mode.stdout | 4 +-
yarns/splitting.yarn | 91 ++++++++++++++++++++++
4 files changed, 97 insertions(+), 5 deletions(-)
--
1.8.5.rc2
9 years, 4 months