1
0
Fork 0
Commit Graph

82 Commits

Author SHA1 Message Date
Mark cd97787adf Fix Foxx API (#4614) 2018-02-20 10:22:27 +01:00
Alan Plum 232abd4bd0 Fix legacy Foxx HTTP API compat layer (#4265) (#4449) 2018-02-05 12:35:51 +01:00
Mark 599da158b5 Bugfix Foxx API tests (#4446) 2018-02-05 11:31:27 +01:00
Alan Plum 58cfd340cc Don't greedily delete legit app folders (#4437)
See #4395
2018-02-05 11:30:05 +01:00
Simon Grätzer 7c31960cf2 Feature/async failover (#3451) 2017-10-18 23:59:29 +02:00
Wilfried Goesgens c662dfc863 Cleanup after each testrun (#3109)
* Cleanup after each testrun

 - add a success testsuite next to the fail testsuite
 - create temporary directories in the fail & success testsuites
 - add a function to cleanup the last unshifted directory
 - don't say we're crashed when exiting with the help message

* Specify temp path for SUT so its files will be removed after cleanup.

 - cleanup
 - don't use getTempFile(), it will create another subdirectory that we don't clean up afterwards...

* Fix temp path usage

 - creating a 'bundles' directory wherein we would keep our temporary bundle files would collide if we'd clean it up.
 - create 'bundles-tmpxxxx' instead so its individual to us and we can remove it when done without problems.

* properly create & pass in a temporary directory - as we now require this.

* Remove intermediate directory recursive - for some unknown reason there may be temp files created.

* we need to unify tempfilenames here too.

* use individual suite names

* use the standart performTests to run the backup tests - so we have the proper directory and server handling from the infrastructure.

* fix temporary directory handling in the recovery tests.

* script to build debugging debian packages

* Improve test shutdown

 - handle a set of options globally per testsuite, so they don't need to clone them inside.
 - properly cleanup the slave instance of the replication tests after each run.
 - The per testsuite options vector will fix the behaviour that after one failed testsuite
   all other suites won't be cleaned up anymore.

* don't call the overal cleanup if anything failed.

* fix cleaning up of directories.

* cleanup, fix directory creation / deletion / dummy creation.

* cleanup, fix directory creation / deletion / dummy creation.

* fix tempdir handling for the recovery tests
2017-08-30 10:48:24 +02:00
Mark 136faad9b8 Fix issue #3037: Foxx, internal server error when I try to add a new service (#3056) 2017-08-17 21:47:27 +02:00
Mark 3a59ea553b Add catch when propagateSelfHeal (#2839) 2017-07-19 17:03:52 +02:00
Mark 50ad6fbd76 Foxx service CRUD optimizations (#2657)
* Pass config/deps on _install so setup can see them

* Only register service when install succeeded

* Don't throw after point of no return: breaky install is breaky

* Delete service files during install if service validation fail

* Delete service files during install if service execution fails

* Fix commitLocalState with invalide services

* Remove deprecated test
2017-06-26 09:28:59 +02:00
Mark 7743db32b9 Fix #2613 (#2614)
Reduce log level when Foxx manager tries to self heal missing database
2017-06-20 12:41:45 +02:00
Alan Plum 4b4b9f8c55 Fix Foxx API error (#2517)
* Fix Foxx API error
* Manager should distinguish between errors and services
* Foxx API should not require service to exist for uninstall
  if force option is used
* Respect options.force in FM _install
2017-06-01 11:59:04 +02:00
Mark f832dd0388 Implement endpoint "commit coordinator state" (#2513)
Implement endpoint "commit coordinator state" (also see #2479)
2017-05-31 18:21:50 +02:00
Alan Plum 7608cde674 Implement clusterfoxx mounting logic (#2514)
* Serve error when service is out of sync
* Don't check system services for bundles
* Use appropriate errorNum if Foxx blows up
* Only check checksum when file exists
* Don't expose stack traces
2017-05-31 18:21:40 +02:00
Alan Plum 83310c12d7
Move FM.listJson into aardvark 2017-05-30 20:19:58 +02:00
Alan Plum 5fc4a17b24
Make sure the bundle doesn't exist before loading it from db 2017-05-30 20:09:58 +02:00
Alan Plum cceccf59da Simplified Foxx self healing (#2511)
* Implement new self-heal
* Add error codes for 503, service missing/outdated
* Detect changes to service via rev
* Pretty print incoming response object in log
2017-05-30 18:27:32 +02:00
Andreas Streichardt d8dc3c85e7 Call version instead of foxx status to save a v8 context 2017-05-22 19:07:24 +02:00
Alan Plum 819a1194ba
Throw correct errors in Foxx management internals 2017-05-17 12:22:16 +02:00
Alan Plum 5d017d733c Improve Foxx cluster resilience (#2479)
* Improve Foxx cluster resilience

Fixes #2083
Fixes #2384
Fixes #2408
Addresses #1892

* Port old Foxx API

* Implement single-file services

* Add console.errorStack/warnStack/infoStack helpers

* Simplify serviceInfo validation

* Extract github/upload logic into Aardvark and old FM API
* Move generator logic into Aardvark
* Move zip/js buffer logic into FM core

* Add Foxxmanager tests

* Send empty response when no README

* Disambiguate script arg format

Historically we allow passing an array of positional arguments or an arbitrary first argument.
This is surprising behaviour, so we should just always treat the value as a first argument.

* Rebuild bundle in development mode

* Nicer HTTP docs formatting

* Create Foxx HTTP docs

* Simplify service upload handling

* Remove inline swagger docs

* Implement public download route

* Consistency

* Rebuild aardvark

* Move bundle route into /_api/foxx/_local

* Rebuild Swagger API docs

* Add changes to CHANGELOG

* More docs
2017-05-16 17:41:29 +02:00
jsteemann 499491bee9 use exclusive locks for some transactions 2017-05-15 22:47:50 +02:00
Alan Plum 3370ecbadd
Nicer error page and code frames 2017-01-27 01:57:30 +01:00
Alan Plum c268b2db91
Keep stacktraces out of error messages
They are already reported much more consistently via 'cause' so methods logging them should exploit that instead.
2017-01-27 01:57:29 +01:00
Alan Plum d6a063e28d
Allow multi-dependencies in Foxx 2016-11-18 17:22:07 +01:00
Alan Plum 593274b095
Sanitize paths in fm.requireService 2016-11-18 17:22:07 +01:00
Alan Plum e12ba2ad3b
Allow descriptions in Foxx dependencies 2016-11-18 15:13:25 +01:00
Kaveh Vahedipour acb187851f Merge pull request #2153 from de3/devel
fix upgrade/install foxx in cluster environment
2016-11-17 15:34:35 +01:00
Alan Plum c0a3f5a8a1
Better Foxx API error handling 2016-11-12 22:33:07 +01:00
Edi 69ee438be3 fix upgrade/install foxx in cluster environment
When install/upgrade, arangodb response is "No such file or directory".
This is because serviveInfo path already join with temporary Path, and then
in "uploadToPeerCoordinators" it join twice with temporary path.
Another problem, arangodb upgrade url is "update" not "upgrade".
Last problem, when Sync foxx with another cluster, use "coordinatorTransactionID"
but there is no that key response from ArangoClusterComm.
2016-11-08 08:02:53 +07:00
Alan Plum 735f0e5f6c
Resolve 'lib' for 3.x services
Fixes #2139.
2016-11-03 10:35:06 +01:00
Alan Plum 245819ea9c
Add Foxx HTTP API 2016-10-20 15:09:36 +02:00
Alan Plum bcb722f0ac
Add legacy mode to web interface 2016-08-17 14:51:04 +02:00
Andreas Streichardt 87c8c0033a Improve clusterawareness in foxx and foxx queues 2016-08-10 12:26:24 +02:00
Alan Plum 6a0b9f0e4b
Make sure setup changes from devmode take effect 2016-07-06 14:09:09 +02:00
Alan Plum 29515d58e3
Avoid stale modules in dev mode 2016-07-06 14:09:09 +02:00
Alan Plum f1eb2ebeb8
Make installed manifests human readable 2016-07-06 14:09:09 +02:00
Alan Plum 2769a89c94
Move "executeScript" from FM into Service 2016-07-06 14:09:09 +02:00
Andreas Streichardt 6ee1f6d14a Reformat code 2016-06-30 16:57:17 +02:00
Alan Plum 8a640eb1b5
ERROR_APPLICATION_* -> ERROR_SERVICE_* 2016-06-17 20:02:25 +02:00
Alan Plum fd7a7c154b
More readable manifest messages
[skip ci]
2016-06-17 14:11:04 +02:00
Alan Plum 3a4f19e8fb
Less noise in dev mode 2016-06-15 21:07:20 +02:00
Max Neunhoeffer 5f14a4eaa5 Fix JS code using asyncRequest. 2016-06-06 15:21:36 +02:00
Max Neunhoeffer 19747c8b6c Fix crash due to wrong usage of asyncRequest. 2016-06-06 11:30:39 +02:00
Alan Plum d4a9b0e1f3
Indicate legacy state in app store 2016-05-31 14:46:00 +02:00
Alan Plum 76be53e57c
Don't throw generic errors in Foxx manager 2016-05-31 14:45:59 +02:00
Alan Plum 04b3076437
English mf, do you speak it? 2016-05-31 12:55:05 +02:00
Alan Plum eef85f6202
Sort Foxx manifest fields 2016-05-03 14:08:19 +02:00
jsteemann 065d1bfa9a don't fail 2016-05-03 00:44:55 +02:00
Alan Plum 3bb355e3dc
Don't default to index.js 2016-05-02 18:47:37 +02:00
Alan Plum 649c571e54
Prefer path.join over fs.join 2016-05-02 15:50:07 +02:00
Alan Plum 11c7db4375
Quality of life improvements in Foxx 2016-05-02 15:50:07 +02:00