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

[xen-unstable bisection] 139312: testing test-arm64-arm64-examine



branch xen-unstable
xenbranch xen-unstable
job test-arm64-arm64-examine
testid examine-serial/bootloader

Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: xen git://xenbits.xen.org/xen.git

For bisection revision-tuple graph see:
   
http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-unstable/test-arm64-arm64-examine.examine-serial--bootloader.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step 
--graph-out=/home/logs/results/bisect/xen-unstable/test-arm64-arm64-examine.examine-serial--bootloader
 --summary-out=tmp/139312.bisection-summary --basis-template=139259 
--blessings=real,real-bisect --flight=139312 xen-unstable 
test-arm64-arm64-examine examine-serial/bootloader
Searching for failure / basis pass:
 139292 fail [host=rochester0] / 139259 [host=laxton0] 139239 [host=laxton1] 
139169 [host=laxton0] 139133 [host=laxton1] 139069 [host=laxton0] 138986 
[host=laxton1] 138948 [host=laxton0] 138868 [host=laxton1] 138807 
[host=laxton0] 138745 [host=laxton1] 138692 [host=laxton0] 138645 
[host=laxton1] 138622 [host=laxton0] 138441 [host=laxton1] 138348 
[host=laxton0] 137917 [host=laxton0] 137851 [host=laxton1] 137468 
[host=laxton0] 137178 [host=laxton1] 137033 [host=laxton1] 137003 
[host=laxton0] 13675\
 1 [host=laxton1] 136440 [host=laxton0] 136034 [host=laxton1] 135816 
[host=laxton0] 135481 [host=laxton1] 135003 [host=laxton1] 134923 
[host=laxton0] 134007 [host=laxton1] 133984 [host=laxton0] 133957 
[host=laxton1] 133920 [host=laxton0] 133896 [host=laxton1] 133864 
[host=laxton0] 133838 [host=laxton1] 133786 [host=laxton1] 133742 
[host=laxton0] 133696 [host=laxton0] 133675 [host=laxton1] 133645 
[host=laxton0] 133609 [host=laxton1] 133583 [host=laxton0] 133573 
[host=laxton1] 133561 [host=laxton0]\
  133517 [host=laxton1] 133489 [host=laxton0] 133461 [host=laxton1] 133282 
[host=laxton1] 132971 [host=laxton0] 132932 [host=laxton1] 132820 
[host=laxton1] 132759 [host=laxton0] 132683 [host=laxton1] 132622 
[host=laxton0] 130063 [host=laxton1] 129817 [host=laxton1] 129738 
[host=laxton1] 129581 [host=laxton1] 129468 [host=laxton1] 129426 
[host=laxton1] 129400 [host=laxton1] 129369 [host=laxton1] 129319 
[host=laxton1] 129278 [host=laxton1] 129209 [host=laxton1] 129138 
[host=laxton1] 129104 [host=la\
 xton1] 129074 [host=laxton1] 129010 [host=laxton1] 128972 [host=laxton1] 
128949 [host=laxton1] 128922 [host=laxton1] 128897 [host=laxton1] 128867 
[host=laxton1] 128839 [host=laxton1] 128775 [host=laxton1] 128675 
[host=laxton1] 128614 [host=laxton1] 128523 [host=laxton1] 128498 
[host=laxton1] 128478 [host=laxton1] 128464 [host=laxton1] 128445 
[host=laxton1] 128414 [host=laxton1] 128354 [host=laxton1] 128333 
[host=laxton1] 128314 [host=laxton1] 128281 [host=laxton1] 128267 
[host=laxton1] 128240 [h\
 ost=laxton1] 128175 [host=laxton1] 128118 [host=laxton1] 128084 [host=laxton1] 
128033 [host=laxton1] 127997 [host=laxton1] 127966 [host=laxton1] 127956 
[host=laxton1] 127894 [host=laxton1] 127595 [host=laxton1] 127541 
[host=laxton1] 127520 [host=laxton1] 127504 [host=laxton1] 127489 
[host=laxton1] 127429 [host=laxton1] 127407 [host=laxton1] 127369 
[host=laxton1] 127350 [host=laxton1] 127301 [host=laxton1] 127280 
[host=laxton1] 127266 [host=laxton1] 127232 [host=laxton1] 125691 
[host=laxton1] 125\
 667 [host=laxton1] 125652 [host=laxton1] 125645 [host=laxton1] 125609 
[host=laxton1] 125573 [host=laxton1] 125533 [host=laxton1] 125259 
[host=laxton1] 125178 [host=laxton0] 125152 [host=laxton1] 125052 
[host=laxton0] 125012 [host=laxton1] 124956 [host=laxton0] 124911 
[host=laxton1] 124566 [host=laxton1] 124472 [host=laxton1] 124416 
[host=laxton0] 124372 [host=laxton1] 124299 [host=laxton0] 124225 
[host=laxton0] 124191 [host=laxton1] 124170 [host=laxton0] 124140 
[host=laxton1] 124090 [host=laxton\
 0] 124057 [host=laxton0] 124038 [host=laxton0] 123994 [host=laxton1] 123932 
[host=laxton0] 123874 [host=laxton1] 123670 [host=laxton0] 123569 
[host=laxton1] 123442 [host=laxton0] 123379 [host=laxton1] 123323 
[host=laxton1] 123280 [host=laxton1] 123238 [host=laxton0] 123197 
[host=laxton1] 123135 [host=laxton0] 123058 [host=laxton1] 122968 
[host=laxton0] 122892 [host=laxton0] 122804 [host=laxton0] 122580 
[host=laxton0] 122529 [host=laxton1] 122493 [host=laxton1] 122451 
[host=laxton0] 122399 [host=\
 laxton1] 122363 [host=laxton0] 122343 [host=laxton1] 122332 [host=laxton1] 
122322 [host=laxton1] 122294 [host=laxton1] 122280 [host=laxton1] 122237 
[host=laxton1] 122185 [host=laxton1] 122170 [host=laxton1] 122155 
[host=laxton1] 122129 [host=laxton1] 122104 [host=laxton1] 122043 
[host=laxton1] 121974 [host=laxton1] 121814 [host=laxton1] 121721 
[host=laxton1] 121682 [host=laxton1] 121404 [host=laxton1] 121342 
[host=laxton1] 121322 [host=laxton1] 121307 [host=laxton1] 121272 
[host=laxton1] 121059 \
 [host=laxton1] 120988 [host=laxton1] 120943 [host=laxton1] 120859 
[host=laxton1] 120767 [host=laxton1] 120626 [host=laxton1] 120405 
[host=laxton1] 120287 [host=laxton1] 120253 [host=laxton1] 120189 
[host=laxton1] 120120 [host=laxton1] 120076 [host=laxton1] 120037 
[host=laxton1] 120001 [host=laxton1] 119970 [host=laxton1] 119879 
[host=laxton1] 119785 [host=laxton1] 119713 [host=laxton1] 119651 
[host=laxton1] 119592 [host=laxton1] 119521 [host=laxton1] 119451 
[host=laxton1] 119358 [host=laxton1] 1\
 19217 [host=laxton1] 119072 [host=laxton1] 119023 [host=laxton1] 118916 
[host=laxton1] 118802 [host=laxton1] 118698 [host=laxton1] 118661 
[host=laxton1] 118622 [host=laxton1] 118607 [host=laxton1] 118594 
[host=laxton1] 118582 [host=laxton1] 118562 [host=laxton1] 118551 
[host=laxton1] 118534 [host=laxton1] 118456 [host=laxton1] 118423 
[host=laxton1] 118393 [host=laxton1] 118353 [host=laxton1] 118317 
[host=laxton1] 118296 [host=laxton1] 118281 [host=laxton1] 118272 
[host=laxton1] 118248 [host=laxt\
 on1] 118230 [host=laxton1] 118174 [host=laxton1] 118107 [host=laxton1] 118096 
[host=laxton1] 118003 [host=laxton1] 117951 [host=laxton1] 117920 
[host=laxton1] 117790 [host=laxton1] 117759 [host=laxton1] 117727 
[host=laxton1] 117652 [host=laxton1] 117365 [host=laxton1] 117311 
[host=laxton1] 117258 [host=laxton1] 117222 [host=laxton1] 117167 
[host=laxton1] 117122 [host=laxton1] 112274 [host=laxton1] 112260 
[host=laxton1] 112210 [host=laxton1] 112143 [host=laxton1] 112098 
[host=laxton1] 112065 [hos\
 t=laxton1] 112004 [host=laxton1] 111981 [host=laxton1] 111957 [host=laxton1] 
111912 [host=laxton1] 111875 [host=laxton1] 111808 [host=laxton1] 111777 
[host=laxton1] 111751 [host=laxton1] 111722 [host=laxton1] 111693 
[host=laxton1] 111664 [host=laxton1] 111645 [host=laxton1] 111619 
[host=laxton1] 111589 [host=laxton1] 111534 [host=laxton1] 111506 
[host=laxton1] 111442 [host=laxton1] 111389 [host=laxton1] 111377 
[host=laxton1] 111368 [host=laxton1] 111308 [host=laxton1] 111249 
[host=laxton1] 11120\
 1 [host=laxton1] 111168 [host=laxton1] 111136 [host=laxton1] 111083 
[host=laxton1] 110994 [host=laxton0] 110961 [host=laxton1] 110910 
[host=laxton0] 110556 [host=laxton0] 110544 [host=laxton1] 110533 
[host=laxton0] 110510 [host=laxton1] 110484 [host=laxton0] 110465 
[host=laxton0] 110435 [host=laxton1] 110407 [host=laxton0] 110384 
[host=laxton1] 110362 [host=laxton0] 110311 [host=laxton1] 110262 
[host=laxton0] 110186 [host=laxton0] 110136 [host=laxton1] 110102 
[host=laxton0] 110071 [host=laxton1]\
  110047 [host=laxton1] 110027 [host=laxton1] 110018 [host=laxton0] 110009 
[host=laxton1] 110000 [host=laxton1] 109979 [host=laxton0] 109934 
[host=laxton0] 109866 [host=laxton0] 109841 [host=laxton1] 109828 
[host=laxton1] 109813 [host=laxton0] 109790 [host=laxton1] 109764 
[host=laxton0] 109747 [host=laxton0] 109726 [host=laxton1] 109690 
[host=laxton0] 109679 [host=laxton1] 109662 [host=laxton0] 109644 
[host=laxton1] template as basis? using template as basis.
Failure / basis pass flights: 139292 / 139259
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: xen git://xenbits.xen.org/xen.git
Latest e64ac26749dc2c0f390caccd04274608ab31c8cf 
c530a75c1e6a472b0eb9558310b518f0dfcd8860 
9cca02d8ffc23e9688a971d858e4ffdff5389b11 
0d10a77cc98dda1b8f9a96954149a872f46048c9
Basis pass e64ac26749dc2c0f390caccd04274608ab31c8cf 
c530a75c1e6a472b0eb9558310b518f0dfcd8860 
9cca02d8ffc23e9688a971d858e4ffdff5389b11 
f7f7cd5c585ab2d6f4bbc17b8fbec52dde1a5715
Generating revisions with ./adhoc-revtuple-generator  
git://xenbits.xen.org/linux-pvops.git#e64ac26749dc2c0f390caccd04274608ab31c8cf-e64ac26749dc2c0f390caccd04274608ab31c8cf
 
git://xenbits.xen.org/osstest/linux-firmware.git#c530a75c1e6a472b0eb9558310b518f0dfcd8860-c530a75c1e6a472b0eb9558310b518f0dfcd8860
 
git://xenbits.xen.org/qemu-xen.git#9cca02d8ffc23e9688a971d858e4ffdff5389b11-9cca02d8ffc23e9688a971d858e4ffdff5389b11
 git://xenbits.xen.org/xen.git#f7f7cd5c585ab2d6f4bbc17b8fbec52dde1a5715-0d10a77\
 cc98dda1b8f9a96954149a872f46048c9
Loaded 1001 nodes in revision graph
Searching for test results:
 139259 [host=laxton0]
 139292 fail e64ac26749dc2c0f390caccd04274608ab31c8cf 
c530a75c1e6a472b0eb9558310b518f0dfcd8860 
9cca02d8ffc23e9688a971d858e4ffdff5389b11 
0d10a77cc98dda1b8f9a96954149a872f46048c9
Searching for interesting versions
Need to reproduce basis pass (pass); had 0 already.
Should test e64ac26749dc2c0f390caccd04274608ab31c8cf 
c530a75c1e6a472b0eb9558310b518f0dfcd8860 
9cca02d8ffc23e9688a971d858e4ffdff5389b11 
f7f7cd5c585ab2d6f4bbc17b8fbec52dde1a5715.
Revision graph left in 
/home/logs/results/bisect/xen-unstable/test-arm64-arm64-examine.examine-serial--bootloader.{dot,ps,png,html,svg}.
Populating 139312...
Need 139312.test-arm64-arm64-examine (like 139292)
Creating 139312.test-arm64-arm64-examine (copying from 139292)
Need 139312.build-arm64 (like 139292)
 revision_qemuu=9cca02d8ffc23e9688a971d858e4ffdff5389b11
 revision_xen=f7f7cd5c585ab2d6f4bbc17b8fbec52dde1a5715
Searching for build-arm64 (like 139292) to reuse...
DB confict (err=7 state=40001): DBD::Pg::db selectrow_hashref failed: ERROR:  
could not serialize access due to read/write dependencies among transactions
DETAIL:  Reason code: Canceled on identification as a pivot, during conflict 
out checking.
HINT:  The transaction might succeed if retried. [for Statement "            
SELECT  *
            FROM    flights JOIN jobs j USING (flight)
            WHERE   j.job=?
            AND     j.status='pass'
            AND     (blessing='real' OR  blessing='real-bisect')
            AND     (TRUE)
            AND     0 = ( SELECT count(*)
                          FROM
                              ( SELECT name,val
                                FROM   runvars
                                WHERE  runvars.flight = flights.flight
                                  AND  job=? AND synth='f'
                              ) o
                          FULL OUTER JOIN
                              bisection_runvars want
                          USING (name)
                          WHERE (o.val = want.val) IS NOT TRUE
                        )
            ORDER BY flights.started desc
            LIMIT 1
"]
DB conflict (messages above may refer); retrying...
Populating 139312...
Need 139312.test-arm64-arm64-examine (like 139292)
Creating 139312.test-arm64-arm64-examine (copying from 139292)
Need 139312.build-arm64 (like 139292)
 revision_qemuu=9cca02d8ffc23e9688a971d858e4ffdff5389b11
 revision_xen=f7f7cd5c585ab2d6f4bbc17b8fbec52dde1a5715
Searching for build-arm64 (like 139292) to reuse...
DB confict (err=7 state=40001): DBD::Pg::db selectrow_hashref failed: ERROR:  
could not serialize access due to read/write dependencies among transactions
DETAIL:  Reason code: Canceled on identification as a pivot, during conflict 
out checking.
HINT:  The transaction might succeed if retried. [for Statement "            
SELECT  *
            FROM    flights JOIN jobs j USING (flight)
            WHERE   j.job=?
            AND     j.status='pass'
            AND     (blessing='real' OR  blessing='real-bisect')
            AND     (TRUE)
            AND     0 = ( SELECT count(*)
                          FROM
                              ( SELECT name,val
                                FROM   runvars
                                WHERE  runvars.flight = flights.flight
                                  AND  job=? AND synth='f'
                              ) o
                          FULL OUTER JOIN
                              bisection_runvars want
                          USING (name)
                          WHERE (o.val = want.val) IS NOT TRUE
                        )
            ORDER BY flights.started desc
            LIMIT 1
"]
DB conflict (messages above may refer); retrying...
Populating 139312...
Need 139312.test-arm64-arm64-examine (like 139292)
Creating 139312.test-arm64-arm64-examine (copying from 139292)
Need 139312.build-arm64 (like 139292)
 revision_qemuu=9cca02d8ffc23e9688a971d858e4ffdff5389b11
 revision_xen=f7f7cd5c585ab2d6f4bbc17b8fbec52dde1a5715
Searching for build-arm64 (like 139292) to reuse...
DB confict (err=7 state=40001): DBD::Pg::db selectrow_hashref failed: ERROR:  
could not serialize access due to read/write dependencies among transactions
DETAIL:  Reason code: Canceled on identification as a pivot, during conflict 
out checking.
HINT:  The transaction might succeed if retried. [for Statement "            
SELECT  *
            FROM    flights JOIN jobs j USING (flight)
            WHERE   j.job=?
            AND     j.status='pass'
            AND     (blessing='real' OR  blessing='real-bisect')
            AND     (TRUE)
            AND     0 = ( SELECT count(*)
                          FROM
                              ( SELECT name,val
                                FROM   runvars
                                WHERE  runvars.flight = flights.flight
                                  AND  job=? AND synth='f'
                              ) o
                          FULL OUTER JOIN
                              bisection_runvars want
                          USING (name)
                          WHERE (o.val = want.val) IS NOT TRUE
                        )
            ORDER BY flights.started desc
            LIMIT 1
"]
DB conflict (messages above may refer); retrying...
Populating 139312...
Need 139312.test-arm64-arm64-examine (like 139292)
Creating 139312.test-arm64-arm64-examine (copying from 139292)
Need 139312.build-arm64 (like 139292)
 revision_qemuu=9cca02d8ffc23e9688a971d858e4ffdff5389b11
 revision_xen=f7f7cd5c585ab2d6f4bbc17b8fbec52dde1a5715
Searching for build-arm64 (like 139292) to reuse...
Creating 139312.build-arm64 (copying from 139292)
DB confict (err=7 state=40001): DBD::Pg::db do failed: ERROR:  could not 
serialize access due to read/write dependencies among transactions
DETAIL:  Reason code: Canceled on identification as a pivot, during write.
HINT:  The transaction might succeed if retried. [for Statement "            
INSERT INTO jobs (flight, job, recipe, status)
                      VALUES (?, ?, ?, 'queued')
"]
DB conflict (messages above may refer); retrying...
Populating 139312...
Need 139312.test-arm64-arm64-examine (like 139292)
Creating 139312.test-arm64-arm64-examine (copying from 139292)
Need 139312.build-arm64 (like 139292)
 revision_qemuu=9cca02d8ffc23e9688a971d858e4ffdff5389b11
 revision_xen=f7f7cd5c585ab2d6f4bbc17b8fbec52dde1a5715
Creating 139312.build-arm64 (copying from 139292)
Need 139312.build-arm64-pvops (like 139292)
 revision_linux=e64ac26749dc2c0f390caccd04274608ab31c8cf
 revision_linuxfirmware=c530a75c1e6a472b0eb9558310b518f0dfcd8860
Searching for build-arm64-pvops (like 139292) to reuse...
DB confict (err=7 state=40001): DBD::Pg::db selectrow_hashref failed: ERROR:  
could not serialize access due to read/write dependencies among transactions
DETAIL:  Reason code: Canceled on identification as a pivot, during conflict 
out checking.
HINT:  The transaction might succeed if retried. [for Statement "            
SELECT  *
            FROM    flights JOIN jobs j USING (flight)
            WHERE   j.job=?
            AND     j.status='pass'
            AND     (blessing='real' OR  blessing='real-bisect')
            AND     (TRUE)
            AND     0 = ( SELECT count(*)
                          FROM
                              ( SELECT name,val
                                FROM   runvars
                                WHERE  runvars.flight = flights.flight
                                  AND  job=? AND synth='f'
                              ) o
                          FULL OUTER JOIN
                              bisection_runvars want
                          USING (name)
                          WHERE (o.val = want.val) IS NOT TRUE
                        )
            ORDER BY flights.started desc
            LIMIT 1
"]
DB conflict (messages above may refer); retrying...
Populating 139312...
Need 139312.test-arm64-arm64-examine (like 139292)
Creating 139312.test-arm64-arm64-examine (copying from 139292)
Need 139312.build-arm64 (like 139292)
 revision_qemuu=9cca02d8ffc23e9688a971d858e4ffdff5389b11
 revision_xen=f7f7cd5c585ab2d6f4bbc17b8fbec52dde1a5715
Creating 139312.build-arm64 (copying from 139292)
Need 139312.build-arm64-pvops (like 139292)
 revision_linux=e64ac26749dc2c0f390caccd04274608ab31c8cf
 revision_linuxfirmware=c530a75c1e6a472b0eb9558310b518f0dfcd8860
Searching for build-arm64-pvops (like 139292) to reuse...
DB confict (err=7 state=40001): DBD::Pg::db selectrow_hashref failed: ERROR:  
could not serialize access due to read/write dependencies among transactions
DETAIL:  Reason code: Canceled on identification as a pivot, during conflict 
out checking.
HINT:  The transaction might succeed if retried. [for Statement "            
SELECT  *
            FROM    flights JOIN jobs j USING (flight)
            WHERE   j.job=?
            AND     j.status='pass'
            AND     (blessing='real' OR  blessing='real-bisect')
            AND     (TRUE)
            AND     0 = ( SELECT count(*)
                          FROM
                              ( SELECT name,val
                                FROM   runvars
                                WHERE  runvars.flight = flights.flight
                                  AND  job=? AND synth='f'
                              ) o
                          FULL OUTER JOIN
                              bisection_runvars want
                          USING (name)
                          WHERE (o.val = want.val) IS NOT TRUE
                        )
            ORDER BY flights.started desc
            LIMIT 1
"]
DB conflict (messages above may refer); retrying...
Populating 139312...
Need 139312.test-arm64-arm64-examine (like 139292)
Creating 139312.test-arm64-arm64-examine (copying from 139292)
Need 139312.build-arm64 (like 139292)
 revision_qemuu=9cca02d8ffc23e9688a971d858e4ffdff5389b11
 revision_xen=f7f7cd5c585ab2d6f4bbc17b8fbec52dde1a5715
Creating 139312.build-arm64 (copying from 139292)
Need 139312.build-arm64-pvops (like 139292)
 revision_linux=e64ac26749dc2c0f390caccd04274608ab31c8cf
 revision_linuxfirmware=c530a75c1e6a472b0eb9558310b518f0dfcd8860
Searching for build-arm64-pvops (like 139292) to reuse...
DB confict (err=7 state=40001): DBD::Pg::db selectrow_hashref failed: ERROR:  
could not serialize access due to read/write dependencies among transactions
DETAIL:  Reason code: Canceled on identification as a pivot, during conflict 
out checking.
HINT:  The transaction might succeed if retried. [for Statement "            
SELECT  *
            FROM    flights JOIN jobs j USING (flight)
            WHERE   j.job=?
            AND     j.status='pass'
            AND     (blessing='real' OR  blessing='real-bisect')
            AND     (TRUE)
            AND     0 = ( SELECT count(*)
                          FROM
                              ( SELECT name,val
                                FROM   runvars
                                WHERE  runvars.flight = flights.flight
                                  AND  job=? AND synth='f'
                              ) o
                          FULL OUTER JOIN
                              bisection_runvars want
                          USING (name)
                          WHERE (o.val = want.val) IS NOT TRUE
                        )
            ORDER BY flights.started desc
            LIMIT 1
"]
DB conflict (messages above may refer); retrying...
Populating 139312...
Need 139312.test-arm64-arm64-examine (like 139292)
Creating 139312.test-arm64-arm64-examine (copying from 139292)
Need 139312.build-arm64 (like 139292)
 revision_qemuu=9cca02d8ffc23e9688a971d858e4ffdff5389b11
 revision_xen=f7f7cd5c585ab2d6f4bbc17b8fbec52dde1a5715
Creating 139312.build-arm64 (copying from 139292)
Need 139312.build-arm64-pvops (like 139292)
 revision_linux=e64ac26749dc2c0f390caccd04274608ab31c8cf
 revision_linuxfirmware=c530a75c1e6a472b0eb9558310b518f0dfcd8860
Searching for build-arm64-pvops (like 139292) to reuse...
Can reuse build-kern 139292.build-arm64-pvops.
Already created build-arm64
Checking for flail (since 0)...
Flight 139312 ready to go.

_______________________________________________
osstest-output mailing list
osstest-output@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/osstest-output

 


Rackspace

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