[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH OSSTEST] Add some sanity checks for presence of Repos configuration



Without this then anything which uses cr-daily-branch produces the
rather cryptic:

    + test -f daily.xsettings
    ++ ./ap-print-url xen-unstable
    with-lock-ex ./ap-print-url: /lock: Permission denied
    + treeurl=
    FAILED rc=255

Which has caught out one or two people using standalone mode.

Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
Cc: Dario.Faggioli@xxxxxxxxxx
---
 README         |  6 ++++++
 cri-lock-repos |  8 ++++++++
 standalone     | 15 +++++++++++++++
 3 files changed, 29 insertions(+)

diff --git a/README b/README
index 44e2989..a53fdc4 100644
--- a/README
+++ b/README
@@ -422,6 +422,12 @@ Stash
 Images
 Logs
 
+Repos              Full path to a temporary directory where repositories can
+                  be cloned. This is needed for anything which uses 
cr-daily-branch,
+                  including "./standalone make-flight" and
+                  "standalone-generate-dump-flight-runvars".
+
+
 DebianSuite
 GuestDebianSuite   defaults to DebianSuite
 
diff --git a/cri-lock-repos b/cri-lock-repos
index 7d10c87..ee0d9ba 100644
--- a/cri-lock-repos
+++ b/cri-lock-repos
@@ -20,6 +20,14 @@
 . cri-common
 
 repos=`getconfig Repos`
+if [ -z "$repos" ] ; then
+       echo "Repos must be configured in $config" >&2
+       exit 1
+fi
+if [ ! -d "$repos" ] ; then
+       echo "Repos $repos does not exist" >&2
+       exit 1
+fi
 repos_lock="$repos/lock"
 
 if [ "x$OSSTEST_REPOS_LOCK_LOCKED" != "x$repos_lock" ]; then
diff --git a/standalone b/standalone
index 91d18b5..a81a648 100755
--- a/standalone
+++ b/standalone
@@ -142,6 +142,20 @@ need_host() {
     fi
 }
 
+check_repos() {
+    local repos=`OSSTEST_CONFIG=$config getconfig Repos`
+    if [ -z "$repos" ] ; then
+       echo "Repos must be configured in $config" >&2
+       exit 1
+    fi
+    if [ ! -d "$repos" ] ; then
+       # Is likely an absolute path, so don't create automatically,
+       # just in case...
+       echo "Repos $repos does not exist" >&2
+       exit 1
+    fi
+}
+
 ensure_logs() {
     if [ ! -d "logs" ] ; then
        mkdir "logs"
@@ -171,6 +185,7 @@ case $op in
        ;;
 
     make-flight)
+        check_repos
         need_flight
 
         if [ $# -lt 1 ] ; then
-- 
2.1.4


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.