From 2e28582c1bd8cc3ebeb66a44e32a74275c9875c5 Mon Sep 17 00:00:00 2001 From: "A.Unger" Date: Tue, 29 Jun 2021 15:28:19 +0200 Subject: [PATCH 01/10] cherrypick extensions to start v1 --- accounts/pkg/flagset/flagset.go | 4 +++ glauth/pkg/flagset/flagset.go | 4 +++ graph-explorer/pkg/flagset/flagset.go | 4 +++ graph/pkg/flagset/flagset.go | 4 +++ idp/pkg/flagset/flagset.go | 4 +++ ocis-pkg/config/config.go | 5 +-- ocis/pkg/flagset/flagset.go | 7 ++++ ocis/pkg/runtime/service/service.go | 44 +++++++++++++++++++++-- ocs/pkg/flagset/flagset.go | 4 +++ onlyoffice/pkg/flagset/flagset.go | 4 +++ proxy/pkg/flagset/flagset.go | 4 +++ settings/pkg/flagset/flagset.go | 4 +++ storage/pkg/flagset/authbasic.go | 1 + storage/pkg/flagset/authbearer.go | 1 + storage/pkg/flagset/drivereos.go | 4 +++ storage/pkg/flagset/driverlocal.go | 4 +++ storage/pkg/flagset/driverocis.go | 4 +++ storage/pkg/flagset/driverowncloud.go | 4 +++ storage/pkg/flagset/drivers3ng.go | 4 +++ storage/pkg/flagset/frontend.go | 1 + storage/pkg/flagset/gateway.go | 1 + storage/pkg/flagset/groups.go | 1 + storage/pkg/flagset/ldap.go | 4 +++ storage/pkg/flagset/rest.go | 4 +++ storage/pkg/flagset/root.go | 4 +++ storage/pkg/flagset/runtime_extensions.go | 16 +++++++++ storage/pkg/flagset/sharing.go | 1 + storage/pkg/flagset/sharingsql.go | 4 +++ storage/pkg/flagset/storagehome.go | 1 + storage/pkg/flagset/storagemetadata.go | 2 ++ storage/pkg/flagset/storagepubliclink.go | 1 + storage/pkg/flagset/storageusers.go | 1 + storage/pkg/flagset/users.go | 1 + thumbnails/pkg/flagset/flagset.go | 4 +++ 34 files changed, 156 insertions(+), 4 deletions(-) create mode 100644 storage/pkg/flagset/runtime_extensions.go diff --git a/accounts/pkg/flagset/flagset.go b/accounts/pkg/flagset/flagset.go index 9542d75c32..733ed3d257 100644 --- a/accounts/pkg/flagset/flagset.go +++ b/accounts/pkg/flagset/flagset.go @@ -28,6 +28,10 @@ func RootWithConfig(cfg *config.Config) []cli.Flag { EnvVars: []string{"ACCOUNTS_LOG_COLOR", "OCIS_LOG_COLOR"}, Destination: &cfg.Log.Color, }, + &cli.StringFlag{ + Name: "extensions", + Usage: "Run specific extensions during supervised mode", + }, } } diff --git a/glauth/pkg/flagset/flagset.go b/glauth/pkg/flagset/flagset.go index d3bc91a002..fc3ae3cfb9 100644 --- a/glauth/pkg/flagset/flagset.go +++ b/glauth/pkg/flagset/flagset.go @@ -30,6 +30,10 @@ func RootWithConfig(cfg *config.Config) []cli.Flag { EnvVars: []string{"GLAUTH_LOG_COLOR", "OCIS_LOG_COLOR"}, Destination: &cfg.Log.Color, }, + &cli.StringFlag{ + Name: "extensions", + Usage: "Run specific extensions during supervised mode", + }, } } diff --git a/graph-explorer/pkg/flagset/flagset.go b/graph-explorer/pkg/flagset/flagset.go index baa5723f2e..c17f9049ec 100644 --- a/graph-explorer/pkg/flagset/flagset.go +++ b/graph-explorer/pkg/flagset/flagset.go @@ -27,6 +27,10 @@ func RootWithConfig(cfg *config.Config) []cli.Flag { EnvVars: []string{"GRAPH_EXPLORER_LOG_COLOR", "OCIS_LOG_COLOR"}, Destination: &cfg.Log.Color, }, + &cli.StringFlag{ + Name: "extensions", + Usage: "Run specific extensions during supervised mode", + }, } } diff --git a/graph/pkg/flagset/flagset.go b/graph/pkg/flagset/flagset.go index 8b96cbf372..a2caad8cd5 100644 --- a/graph/pkg/flagset/flagset.go +++ b/graph/pkg/flagset/flagset.go @@ -34,6 +34,10 @@ func RootWithConfig(cfg *config.Config) []cli.Flag { EnvVars: []string{"GRAPH_LOG_COLOR", "OCIS_LOG_COLOR"}, Destination: &cfg.Log.Color, }, + &cli.StringFlag{ + Name: "extensions", + Usage: "Run specific extensions during supervised mode", + }, } } diff --git a/idp/pkg/flagset/flagset.go b/idp/pkg/flagset/flagset.go index 9b4c154377..56a8efe524 100644 --- a/idp/pkg/flagset/flagset.go +++ b/idp/pkg/flagset/flagset.go @@ -30,6 +30,10 @@ func RootWithConfig(cfg *config.Config) []cli.Flag { EnvVars: []string{"IDP_LOG_COLOR", "OCIS_LOG_COLOR"}, Destination: &cfg.Log.Color, }, + &cli.StringFlag{ + Name: "extensions", + Usage: "Run specific extensions during supervised mode", + }, } } diff --git a/ocis-pkg/config/config.go b/ocis-pkg/config/config.go index b6a652e609..5c392471a1 100644 --- a/ocis-pkg/config/config.go +++ b/ocis-pkg/config/config.go @@ -70,8 +70,9 @@ type Mode int // Runtime configures the oCIS runtime when running in supervised mode. type Runtime struct { - Port string - Host string + Port string + Host string + Extensions string } // Config combines all available configuration parts. diff --git a/ocis/pkg/flagset/flagset.go b/ocis/pkg/flagset/flagset.go index 1267d64753..e9dd545349 100644 --- a/ocis/pkg/flagset/flagset.go +++ b/ocis/pkg/flagset/flagset.go @@ -162,5 +162,12 @@ func ServerWithConfig(cfg *config.Config) []cli.Flag { EnvVars: []string{"OCIS_GRPC_ADDR"}, Destination: &cfg.GRPC.Addr, }, + &cli.StringFlag{ + Name: "extensions", + Aliases: []string{"e"}, + Usage: "Run specific extensions during supervised mode", + EnvVars: []string{"OCIS_RUN_EXTENSIONS"}, + Destination: &cfg.Runtime.Extensions, + }, } } diff --git a/ocis/pkg/runtime/service/service.go b/ocis/pkg/runtime/service/service.go index 268d7473fd..f3ab451200 100644 --- a/ocis/pkg/runtime/service/service.go +++ b/ocis/pkg/runtime/service/service.go @@ -22,6 +22,7 @@ import ( graphExplorer "github.com/owncloud/ocis/graph-explorer/pkg/command" graph "github.com/owncloud/ocis/graph/pkg/command" idp "github.com/owncloud/ocis/idp/pkg/command" + "github.com/owncloud/ocis/ocis-pkg/config" ociscfg "github.com/owncloud/ocis/ocis-pkg/config" "github.com/owncloud/ocis/ocis-pkg/log" ocs "github.com/owncloud/ocis/ocs/pkg/command" @@ -37,6 +38,11 @@ import ( "github.com/thejerf/suture/v4" ) +var ( + // runset keeps track of which extensions to start supervised. + runset []string +) + // Service represents a RPC service. type Service struct { Supervisor *suture.Supervisor @@ -180,7 +186,18 @@ func Start(o ...Option) error { } }() - for name := range s.ServicesRegistry { + // prepare runset + s.generateRunSet(s.cfg) + + for _, name := range runset { + + // skip delayed services for now + if _, ok := s.Delayed[name]; ok { + continue + } + + // we do this so each service has its own copy. In a perfect world a config object should NOT be edited by + // the callers because this might trigger behavioral changes up the tree. swap := deepcopy.Copy(s.cfg) s.serviceToken[name] = append(s.serviceToken[name], s.Supervisor.Add(s.ServicesRegistry[name](swap.(*ociscfg.Config)))) } @@ -198,7 +215,12 @@ func Start(o ...Option) error { time.Sleep(1 * time.Second) // add services with delayed execution. - for name := range s.Delayed { + for _, name := range runset { + // this time around only run delayed jobs + if _, ok := s.Delayed[name]; !ok { + continue + } + swap := deepcopy.Copy(s.cfg) s.serviceToken[name] = append(s.serviceToken[name], s.Supervisor.Add(s.Delayed[name](swap.(*ociscfg.Config)))) } @@ -206,6 +228,24 @@ func Start(o ...Option) error { return http.Serve(l, nil) } +func (s *Service) generateRunSet(cfg *config.Config) { + if cfg.Runtime.Extensions != "" { + e := strings.Split(strings.Replace(cfg.Runtime.Extensions, " ", "", -1), ",") + for i := range e { + runset = append(runset, e[i]) + } + return + } + + for name := range s.ServicesRegistry { + runset = append(runset, name) + } + + for name := range s.Delayed { + runset = append(runset, name) + } +} + // Start indicates the Service Controller to start a new supervised service as an OS thread. func (s *Service) Start(name string, reply *int) error { // RPC calls to a Service object will allow for parsing config. Mind that since the runtime is running on a different diff --git a/ocs/pkg/flagset/flagset.go b/ocs/pkg/flagset/flagset.go index a5e69d7fca..e3ee4e4c24 100644 --- a/ocs/pkg/flagset/flagset.go +++ b/ocs/pkg/flagset/flagset.go @@ -179,6 +179,10 @@ func ServerWithConfig(cfg *config.Config) []cli.Flag { EnvVars: []string{"OCS_STORAGE_USERS_DRIVER", "STORAGE_USERS_DRIVER"}, Destination: &cfg.StorageUsersDriver, }, + &cli.StringFlag{ + Name: "extensions", + Usage: "Run specific extensions during supervised mode", + }, } } diff --git a/onlyoffice/pkg/flagset/flagset.go b/onlyoffice/pkg/flagset/flagset.go index d8a59bd5ae..fe630095be 100644 --- a/onlyoffice/pkg/flagset/flagset.go +++ b/onlyoffice/pkg/flagset/flagset.go @@ -34,6 +34,10 @@ func RootWithConfig(cfg *config.Config) []cli.Flag { EnvVars: []string{"ONLYOFFICE_LOG_COLOR", "OCIS_LOG_COLOR"}, Destination: &cfg.Log.Color, }, + &cli.StringFlag{ + Name: "extensions", + Usage: "Run specific extensions during supervised mode", + }, } } diff --git a/proxy/pkg/flagset/flagset.go b/proxy/pkg/flagset/flagset.go index 87ad472d44..b2cbd818e3 100644 --- a/proxy/pkg/flagset/flagset.go +++ b/proxy/pkg/flagset/flagset.go @@ -30,6 +30,10 @@ func RootWithConfig(cfg *config.Config) []cli.Flag { EnvVars: []string{"PROXY_LOG_COLOR", "OCIS_LOG_COLOR"}, Destination: &cfg.Log.Color, }, + &cli.StringFlag{ + Name: "extensions", + Usage: "Run specific extensions during supervised mode", + }, } } diff --git a/settings/pkg/flagset/flagset.go b/settings/pkg/flagset/flagset.go index 8aa7a5aab6..b5d0f64b26 100644 --- a/settings/pkg/flagset/flagset.go +++ b/settings/pkg/flagset/flagset.go @@ -27,6 +27,10 @@ func RootWithConfig(cfg *config.Config) []cli.Flag { EnvVars: []string{"SETTINGS_LOG_COLOR", "OCIS_LOG_COLOR"}, Destination: &cfg.Log.Color, }, + &cli.StringFlag{ + Name: "extensions", + Usage: "Run specific extensions during supervised mode", + }, } } diff --git a/storage/pkg/flagset/authbasic.go b/storage/pkg/flagset/authbasic.go index 4f5ae182b8..dbf19c67d6 100644 --- a/storage/pkg/flagset/authbasic.go +++ b/storage/pkg/flagset/authbasic.go @@ -76,6 +76,7 @@ func AuthBasicWithConfig(cfg *config.Config) []cli.Flag { flags = append(flags, DebugWithConfig(cfg)...) flags = append(flags, SecretWithConfig(cfg)...) flags = append(flags, LDAPWithConfig(cfg)...) + flags = append(flags, RuntimeConfig(cfg)...) return flags } diff --git a/storage/pkg/flagset/authbearer.go b/storage/pkg/flagset/authbearer.go index d35e3bd2ea..863807c8ee 100644 --- a/storage/pkg/flagset/authbearer.go +++ b/storage/pkg/flagset/authbearer.go @@ -102,6 +102,7 @@ func AuthBearerWithConfig(cfg *config.Config) []cli.Flag { flags = append(flags, TracingWithConfig(cfg)...) flags = append(flags, DebugWithConfig(cfg)...) flags = append(flags, SecretWithConfig(cfg)...) + flags = append(flags, RuntimeConfig(cfg)...) return flags } diff --git a/storage/pkg/flagset/drivereos.go b/storage/pkg/flagset/drivereos.go index 416a433ee0..da130a628e 100644 --- a/storage/pkg/flagset/drivereos.go +++ b/storage/pkg/flagset/drivereos.go @@ -131,5 +131,9 @@ func DriverEOSWithConfig(cfg *config.Config) []cli.Flag { EnvVars: []string{"STORAGE_DRIVER_EOS_GATEWAYSVC"}, Destination: &cfg.Reva.Storages.EOS.GatewaySVC, }, + &cli.StringFlag{ + Name: "extensions", + Usage: "Run specific extensions during supervised mode", + }, } } diff --git a/storage/pkg/flagset/driverlocal.go b/storage/pkg/flagset/driverlocal.go index 256d117e9c..86f2e1e789 100644 --- a/storage/pkg/flagset/driverlocal.go +++ b/storage/pkg/flagset/driverlocal.go @@ -16,5 +16,9 @@ func DriverLocalWithConfig(cfg *config.Config) []cli.Flag { EnvVars: []string{"STORAGE_DRIVER_LOCAL_ROOT"}, Destination: &cfg.Reva.Storages.Local.Root, }, + &cli.StringFlag{ + Name: "extensions", + Usage: "Run specific extensions during supervised mode", + }, } } diff --git a/storage/pkg/flagset/driverocis.go b/storage/pkg/flagset/driverocis.go index 75f80caaae..90cee48e05 100644 --- a/storage/pkg/flagset/driverocis.go +++ b/storage/pkg/flagset/driverocis.go @@ -37,5 +37,9 @@ func DriverOCISWithConfig(cfg *config.Config) []cli.Flag { EnvVars: []string{"STORAGE_DRIVER_OCIS_SERVICE_USER_UUID"}, Destination: &cfg.Reva.Storages.OCIS.ServiceUserUUID, }, + &cli.StringFlag{ + Name: "extensions", + Usage: "Run specific extensions during supervised mode", + }, } } diff --git a/storage/pkg/flagset/driverowncloud.go b/storage/pkg/flagset/driverowncloud.go index 65dfd183ec..faf532c7d0 100644 --- a/storage/pkg/flagset/driverowncloud.go +++ b/storage/pkg/flagset/driverowncloud.go @@ -58,5 +58,9 @@ func DriverOwnCloudWithConfig(cfg *config.Config) []cli.Flag { EnvVars: []string{"STORAGE_DRIVER_OWNCLOUD_LAYOUT"}, Destination: &cfg.Reva.Storages.OwnCloud.UserLayout, }, + &cli.StringFlag{ + Name: "extensions", + Usage: "Run specific extensions during supervised mode", + }, } } diff --git a/storage/pkg/flagset/drivers3ng.go b/storage/pkg/flagset/drivers3ng.go index b755ac28ea..6384b2c6be 100644 --- a/storage/pkg/flagset/drivers3ng.go +++ b/storage/pkg/flagset/drivers3ng.go @@ -65,5 +65,9 @@ func DriverS3NGWithConfig(cfg *config.Config) []cli.Flag { EnvVars: []string{"STORAGE_DRIVER_S3NG_BUCKET"}, Destination: &cfg.Reva.Storages.S3NG.Bucket, }, + &cli.StringFlag{ + Name: "extensions", + Usage: "Run specific extensions during supervised mode", + }, } } diff --git a/storage/pkg/flagset/frontend.go b/storage/pkg/flagset/frontend.go index e872cfdf29..cfd6fd620c 100644 --- a/storage/pkg/flagset/frontend.go +++ b/storage/pkg/flagset/frontend.go @@ -183,6 +183,7 @@ func FrontendWithConfig(cfg *config.Config) []cli.Flag { flags = append(flags, TracingWithConfig(cfg)...) flags = append(flags, DebugWithConfig(cfg)...) flags = append(flags, SecretWithConfig(cfg)...) + flags = append(flags, RuntimeConfig(cfg)...) return flags } diff --git a/storage/pkg/flagset/gateway.go b/storage/pkg/flagset/gateway.go index af603478fe..241d31bd79 100644 --- a/storage/pkg/flagset/gateway.go +++ b/storage/pkg/flagset/gateway.go @@ -264,6 +264,7 @@ func GatewayWithConfig(cfg *config.Config) []cli.Flag { flags = append(flags, TracingWithConfig(cfg)...) flags = append(flags, DebugWithConfig(cfg)...) flags = append(flags, SecretWithConfig(cfg)...) + flags = append(flags, RuntimeConfig(cfg)...) return flags } diff --git a/storage/pkg/flagset/groups.go b/storage/pkg/flagset/groups.go index cde2810206..71cc96666f 100644 --- a/storage/pkg/flagset/groups.go +++ b/storage/pkg/flagset/groups.go @@ -79,6 +79,7 @@ func GroupsWithConfig(cfg *config.Config) []cli.Flag { flags = append(flags, SecretWithConfig(cfg)...) flags = append(flags, LDAPWithConfig(cfg)...) flags = append(flags, RestWithConfig(cfg)...) + flags = append(flags, RuntimeConfig(cfg)...) return flags } diff --git a/storage/pkg/flagset/ldap.go b/storage/pkg/flagset/ldap.go index b5f069a45b..2a2cacf281 100644 --- a/storage/pkg/flagset/ldap.go +++ b/storage/pkg/flagset/ldap.go @@ -208,5 +208,9 @@ func LDAPWithConfig(cfg *config.Config) []cli.Flag { EnvVars: []string{"STORAGE_LDAP_GROUP_SCHEMA_GID_NUMBER"}, Destination: &cfg.Reva.LDAP.GroupSchema.GIDNumber, }, + &cli.StringFlag{ + Name: "extensions", + Usage: "Run specific extensions during supervised mode", + }, } } diff --git a/storage/pkg/flagset/rest.go b/storage/pkg/flagset/rest.go index 34980637e2..977eca8b64 100644 --- a/storage/pkg/flagset/rest.go +++ b/storage/pkg/flagset/rest.go @@ -72,5 +72,9 @@ func RestWithConfig(cfg *config.Config) []cli.Flag { EnvVars: []string{"STORAGE_REST_TARGET_API"}, Destination: &cfg.Reva.UserGroupRest.TargetAPI, }, + &cli.StringFlag{ + Name: "extensions", + Usage: "Run specific extensions during supervised mode", + }, } } diff --git a/storage/pkg/flagset/root.go b/storage/pkg/flagset/root.go index c2aaa30239..af2357bd61 100644 --- a/storage/pkg/flagset/root.go +++ b/storage/pkg/flagset/root.go @@ -33,5 +33,9 @@ func RootWithConfig(cfg *config.Config) []cli.Flag { EnvVars: []string{"STORAGE_LOG_COLOR", "OCIS_LOG_COLOR"}, Destination: &cfg.Log.Color, }, + &cli.StringFlag{ + Name: "extensions", + Usage: "Run specific extensions during supervised mode", + }, } } diff --git a/storage/pkg/flagset/runtime_extensions.go b/storage/pkg/flagset/runtime_extensions.go new file mode 100644 index 0000000000..7805d96242 --- /dev/null +++ b/storage/pkg/flagset/runtime_extensions.go @@ -0,0 +1,16 @@ +package flagset + +import ( + "github.com/micro/cli/v2" + "github.com/owncloud/ocis/storage/pkg/config" +) + +// RuntimeConfig applies common debug config cfg to the flagset +func RuntimeConfig(cfg *config.Config) []cli.Flag { + return []cli.Flag{ + &cli.StringFlag{ + Name: "extensions", + Usage: "Run specific extensions during supervised mode", + }, + } +} diff --git a/storage/pkg/flagset/sharing.go b/storage/pkg/flagset/sharing.go index b9a1d989e0..da1754e080 100644 --- a/storage/pkg/flagset/sharing.go +++ b/storage/pkg/flagset/sharing.go @@ -98,6 +98,7 @@ func SharingWithConfig(cfg *config.Config) []cli.Flag { flags = append(flags, DebugWithConfig(cfg)...) flags = append(flags, SecretWithConfig(cfg)...) flags = append(flags, SharingSQLWithConfig(cfg)...) + flags = append(flags, RuntimeConfig(cfg)...) return flags } diff --git a/storage/pkg/flagset/sharingsql.go b/storage/pkg/flagset/sharingsql.go index e4770b4a9a..938d24f4f1 100644 --- a/storage/pkg/flagset/sharingsql.go +++ b/storage/pkg/flagset/sharingsql.go @@ -44,5 +44,9 @@ func SharingSQLWithConfig(cfg *config.Config) []cli.Flag { EnvVars: []string{"STORAGE_SHARING_USER_SQL_NAME"}, Destination: &cfg.Reva.Sharing.UserSQLName, }, + &cli.StringFlag{ + Name: "extensions", + Usage: "Run specific extensions during supervised mode", + }, } } diff --git a/storage/pkg/flagset/storagehome.go b/storage/pkg/flagset/storagehome.go index 1536795865..c090951ab4 100644 --- a/storage/pkg/flagset/storagehome.go +++ b/storage/pkg/flagset/storagehome.go @@ -157,6 +157,7 @@ func StorageHomeWithConfig(cfg *config.Config) []cli.Flag { flags = append(flags, DriverOwnCloudWithConfig(cfg)...) flags = append(flags, DriverOCISWithConfig(cfg)...) flags = append(flags, DriverS3NGWithConfig(cfg)...) + flags = append(flags, RuntimeConfig(cfg)...) return flags } diff --git a/storage/pkg/flagset/storagemetadata.go b/storage/pkg/flagset/storagemetadata.go index fe28e00241..21edf4e2b5 100644 --- a/storage/pkg/flagset/storagemetadata.go +++ b/storage/pkg/flagset/storagemetadata.go @@ -106,6 +106,8 @@ func StorageMetadata(cfg *config.Config) []cli.Flag { f = append(f, DriverOwnCloudWithConfig(cfg)...) f = append(f, DriverOCISWithConfig(cfg)...) f = append(f, DriverS3NGWithConfig(cfg)...) + f = append(f, RuntimeConfig(cfg)...) + return f } diff --git a/storage/pkg/flagset/storagepubliclink.go b/storage/pkg/flagset/storagepubliclink.go index eefc636a3a..05eff876bd 100644 --- a/storage/pkg/flagset/storagepubliclink.go +++ b/storage/pkg/flagset/storagepubliclink.go @@ -53,6 +53,7 @@ func StoragePublicLink(cfg *config.Config) []cli.Flag { flags = append(flags, TracingWithConfig(cfg)...) flags = append(flags, DebugWithConfig(cfg)...) flags = append(flags, SecretWithConfig(cfg)...) + flags = append(flags, RuntimeConfig(cfg)...) return flags } diff --git a/storage/pkg/flagset/storageusers.go b/storage/pkg/flagset/storageusers.go index eaf18cd184..a7618373c0 100644 --- a/storage/pkg/flagset/storageusers.go +++ b/storage/pkg/flagset/storageusers.go @@ -147,6 +147,7 @@ func StorageUsersWithConfig(cfg *config.Config) []cli.Flag { flags = append(flags, DriverOwnCloudWithConfig(cfg)...) flags = append(flags, DriverOCISWithConfig(cfg)...) flags = append(flags, DriverS3NGWithConfig(cfg)...) + flags = append(flags, RuntimeConfig(cfg)...) return flags } diff --git a/storage/pkg/flagset/users.go b/storage/pkg/flagset/users.go index 091cefb121..3a335f2a12 100644 --- a/storage/pkg/flagset/users.go +++ b/storage/pkg/flagset/users.go @@ -79,6 +79,7 @@ func UsersWithConfig(cfg *config.Config) []cli.Flag { flags = append(flags, SecretWithConfig(cfg)...) flags = append(flags, LDAPWithConfig(cfg)...) flags = append(flags, RestWithConfig(cfg)...) + flags = append(flags, RuntimeConfig(cfg)...) return flags } diff --git a/thumbnails/pkg/flagset/flagset.go b/thumbnails/pkg/flagset/flagset.go index c1c68b8aa1..b020149aa7 100644 --- a/thumbnails/pkg/flagset/flagset.go +++ b/thumbnails/pkg/flagset/flagset.go @@ -169,6 +169,10 @@ func ServerWithConfig(cfg *config.Config) []cli.Flag { EnvVars: []string{"STORAGE_WEBDAV_NAMESPACE"}, Destination: &cfg.Thumbnail.WebdavNamespace, }, + &cli.StringFlag{ + Name: "extensions", + Usage: "Run specific extensions during supervised mode", + }, } } From 72f6a3613ae621e60c5a686c79ce148f973f330b Mon Sep 17 00:00:00 2001 From: "A.Unger" Date: Tue, 29 Jun 2021 15:43:59 +0200 Subject: [PATCH 02/10] fix storage subcommands --- accounts/pkg/flagset/flagset.go | 4 ++++ storage/pkg/flagset/authbasic.go | 1 - storage/pkg/flagset/authbearer.go | 1 - storage/pkg/flagset/drivereos.go | 4 ---- storage/pkg/flagset/driverlocal.go | 4 ---- storage/pkg/flagset/driverocis.go | 4 ---- storage/pkg/flagset/driverowncloud.go | 4 ---- storage/pkg/flagset/drivers3ng.go | 4 ---- storage/pkg/flagset/frontend.go | 1 - storage/pkg/flagset/gateway.go | 1 - storage/pkg/flagset/groups.go | 1 - storage/pkg/flagset/ldap.go | 4 ---- storage/pkg/flagset/rest.go | 4 ---- storage/pkg/flagset/root.go | 4 ---- storage/pkg/flagset/runtime_extensions.go | 16 ---------------- storage/pkg/flagset/sharing.go | 1 - storage/pkg/flagset/sharingsql.go | 4 ---- storage/pkg/flagset/storagehome.go | 1 - storage/pkg/flagset/storagemetadata.go | 1 - storage/pkg/flagset/storagepubliclink.go | 1 - storage/pkg/flagset/storageusers.go | 1 - storage/pkg/flagset/users.go | 1 - 22 files changed, 4 insertions(+), 63 deletions(-) delete mode 100644 storage/pkg/flagset/runtime_extensions.go diff --git a/accounts/pkg/flagset/flagset.go b/accounts/pkg/flagset/flagset.go index 733ed3d257..028e0cd5b3 100644 --- a/accounts/pkg/flagset/flagset.go +++ b/accounts/pkg/flagset/flagset.go @@ -239,6 +239,10 @@ func ServerWithConfig(cfg *config.Config) []cli.Flag { EnvVars: []string{"ACCOUNTS_GID_INDEX_UPPER_BOUND"}, Destination: &cfg.Index.GID.Upper, }, + &cli.StringFlag{ + Name: "extensions", + Usage: "Run specific extensions during supervised mode", + }, } } diff --git a/storage/pkg/flagset/authbasic.go b/storage/pkg/flagset/authbasic.go index dbf19c67d6..4f5ae182b8 100644 --- a/storage/pkg/flagset/authbasic.go +++ b/storage/pkg/flagset/authbasic.go @@ -76,7 +76,6 @@ func AuthBasicWithConfig(cfg *config.Config) []cli.Flag { flags = append(flags, DebugWithConfig(cfg)...) flags = append(flags, SecretWithConfig(cfg)...) flags = append(flags, LDAPWithConfig(cfg)...) - flags = append(flags, RuntimeConfig(cfg)...) return flags } diff --git a/storage/pkg/flagset/authbearer.go b/storage/pkg/flagset/authbearer.go index 863807c8ee..d35e3bd2ea 100644 --- a/storage/pkg/flagset/authbearer.go +++ b/storage/pkg/flagset/authbearer.go @@ -102,7 +102,6 @@ func AuthBearerWithConfig(cfg *config.Config) []cli.Flag { flags = append(flags, TracingWithConfig(cfg)...) flags = append(flags, DebugWithConfig(cfg)...) flags = append(flags, SecretWithConfig(cfg)...) - flags = append(flags, RuntimeConfig(cfg)...) return flags } diff --git a/storage/pkg/flagset/drivereos.go b/storage/pkg/flagset/drivereos.go index da130a628e..416a433ee0 100644 --- a/storage/pkg/flagset/drivereos.go +++ b/storage/pkg/flagset/drivereos.go @@ -131,9 +131,5 @@ func DriverEOSWithConfig(cfg *config.Config) []cli.Flag { EnvVars: []string{"STORAGE_DRIVER_EOS_GATEWAYSVC"}, Destination: &cfg.Reva.Storages.EOS.GatewaySVC, }, - &cli.StringFlag{ - Name: "extensions", - Usage: "Run specific extensions during supervised mode", - }, } } diff --git a/storage/pkg/flagset/driverlocal.go b/storage/pkg/flagset/driverlocal.go index 86f2e1e789..256d117e9c 100644 --- a/storage/pkg/flagset/driverlocal.go +++ b/storage/pkg/flagset/driverlocal.go @@ -16,9 +16,5 @@ func DriverLocalWithConfig(cfg *config.Config) []cli.Flag { EnvVars: []string{"STORAGE_DRIVER_LOCAL_ROOT"}, Destination: &cfg.Reva.Storages.Local.Root, }, - &cli.StringFlag{ - Name: "extensions", - Usage: "Run specific extensions during supervised mode", - }, } } diff --git a/storage/pkg/flagset/driverocis.go b/storage/pkg/flagset/driverocis.go index 90cee48e05..75f80caaae 100644 --- a/storage/pkg/flagset/driverocis.go +++ b/storage/pkg/flagset/driverocis.go @@ -37,9 +37,5 @@ func DriverOCISWithConfig(cfg *config.Config) []cli.Flag { EnvVars: []string{"STORAGE_DRIVER_OCIS_SERVICE_USER_UUID"}, Destination: &cfg.Reva.Storages.OCIS.ServiceUserUUID, }, - &cli.StringFlag{ - Name: "extensions", - Usage: "Run specific extensions during supervised mode", - }, } } diff --git a/storage/pkg/flagset/driverowncloud.go b/storage/pkg/flagset/driverowncloud.go index faf532c7d0..65dfd183ec 100644 --- a/storage/pkg/flagset/driverowncloud.go +++ b/storage/pkg/flagset/driverowncloud.go @@ -58,9 +58,5 @@ func DriverOwnCloudWithConfig(cfg *config.Config) []cli.Flag { EnvVars: []string{"STORAGE_DRIVER_OWNCLOUD_LAYOUT"}, Destination: &cfg.Reva.Storages.OwnCloud.UserLayout, }, - &cli.StringFlag{ - Name: "extensions", - Usage: "Run specific extensions during supervised mode", - }, } } diff --git a/storage/pkg/flagset/drivers3ng.go b/storage/pkg/flagset/drivers3ng.go index 6384b2c6be..b755ac28ea 100644 --- a/storage/pkg/flagset/drivers3ng.go +++ b/storage/pkg/flagset/drivers3ng.go @@ -65,9 +65,5 @@ func DriverS3NGWithConfig(cfg *config.Config) []cli.Flag { EnvVars: []string{"STORAGE_DRIVER_S3NG_BUCKET"}, Destination: &cfg.Reva.Storages.S3NG.Bucket, }, - &cli.StringFlag{ - Name: "extensions", - Usage: "Run specific extensions during supervised mode", - }, } } diff --git a/storage/pkg/flagset/frontend.go b/storage/pkg/flagset/frontend.go index cfd6fd620c..e872cfdf29 100644 --- a/storage/pkg/flagset/frontend.go +++ b/storage/pkg/flagset/frontend.go @@ -183,7 +183,6 @@ func FrontendWithConfig(cfg *config.Config) []cli.Flag { flags = append(flags, TracingWithConfig(cfg)...) flags = append(flags, DebugWithConfig(cfg)...) flags = append(flags, SecretWithConfig(cfg)...) - flags = append(flags, RuntimeConfig(cfg)...) return flags } diff --git a/storage/pkg/flagset/gateway.go b/storage/pkg/flagset/gateway.go index 241d31bd79..af603478fe 100644 --- a/storage/pkg/flagset/gateway.go +++ b/storage/pkg/flagset/gateway.go @@ -264,7 +264,6 @@ func GatewayWithConfig(cfg *config.Config) []cli.Flag { flags = append(flags, TracingWithConfig(cfg)...) flags = append(flags, DebugWithConfig(cfg)...) flags = append(flags, SecretWithConfig(cfg)...) - flags = append(flags, RuntimeConfig(cfg)...) return flags } diff --git a/storage/pkg/flagset/groups.go b/storage/pkg/flagset/groups.go index 71cc96666f..cde2810206 100644 --- a/storage/pkg/flagset/groups.go +++ b/storage/pkg/flagset/groups.go @@ -79,7 +79,6 @@ func GroupsWithConfig(cfg *config.Config) []cli.Flag { flags = append(flags, SecretWithConfig(cfg)...) flags = append(flags, LDAPWithConfig(cfg)...) flags = append(flags, RestWithConfig(cfg)...) - flags = append(flags, RuntimeConfig(cfg)...) return flags } diff --git a/storage/pkg/flagset/ldap.go b/storage/pkg/flagset/ldap.go index 2a2cacf281..b5f069a45b 100644 --- a/storage/pkg/flagset/ldap.go +++ b/storage/pkg/flagset/ldap.go @@ -208,9 +208,5 @@ func LDAPWithConfig(cfg *config.Config) []cli.Flag { EnvVars: []string{"STORAGE_LDAP_GROUP_SCHEMA_GID_NUMBER"}, Destination: &cfg.Reva.LDAP.GroupSchema.GIDNumber, }, - &cli.StringFlag{ - Name: "extensions", - Usage: "Run specific extensions during supervised mode", - }, } } diff --git a/storage/pkg/flagset/rest.go b/storage/pkg/flagset/rest.go index 977eca8b64..34980637e2 100644 --- a/storage/pkg/flagset/rest.go +++ b/storage/pkg/flagset/rest.go @@ -72,9 +72,5 @@ func RestWithConfig(cfg *config.Config) []cli.Flag { EnvVars: []string{"STORAGE_REST_TARGET_API"}, Destination: &cfg.Reva.UserGroupRest.TargetAPI, }, - &cli.StringFlag{ - Name: "extensions", - Usage: "Run specific extensions during supervised mode", - }, } } diff --git a/storage/pkg/flagset/root.go b/storage/pkg/flagset/root.go index af2357bd61..c2aaa30239 100644 --- a/storage/pkg/flagset/root.go +++ b/storage/pkg/flagset/root.go @@ -33,9 +33,5 @@ func RootWithConfig(cfg *config.Config) []cli.Flag { EnvVars: []string{"STORAGE_LOG_COLOR", "OCIS_LOG_COLOR"}, Destination: &cfg.Log.Color, }, - &cli.StringFlag{ - Name: "extensions", - Usage: "Run specific extensions during supervised mode", - }, } } diff --git a/storage/pkg/flagset/runtime_extensions.go b/storage/pkg/flagset/runtime_extensions.go deleted file mode 100644 index 7805d96242..0000000000 --- a/storage/pkg/flagset/runtime_extensions.go +++ /dev/null @@ -1,16 +0,0 @@ -package flagset - -import ( - "github.com/micro/cli/v2" - "github.com/owncloud/ocis/storage/pkg/config" -) - -// RuntimeConfig applies common debug config cfg to the flagset -func RuntimeConfig(cfg *config.Config) []cli.Flag { - return []cli.Flag{ - &cli.StringFlag{ - Name: "extensions", - Usage: "Run specific extensions during supervised mode", - }, - } -} diff --git a/storage/pkg/flagset/sharing.go b/storage/pkg/flagset/sharing.go index da1754e080..b9a1d989e0 100644 --- a/storage/pkg/flagset/sharing.go +++ b/storage/pkg/flagset/sharing.go @@ -98,7 +98,6 @@ func SharingWithConfig(cfg *config.Config) []cli.Flag { flags = append(flags, DebugWithConfig(cfg)...) flags = append(flags, SecretWithConfig(cfg)...) flags = append(flags, SharingSQLWithConfig(cfg)...) - flags = append(flags, RuntimeConfig(cfg)...) return flags } diff --git a/storage/pkg/flagset/sharingsql.go b/storage/pkg/flagset/sharingsql.go index 938d24f4f1..e4770b4a9a 100644 --- a/storage/pkg/flagset/sharingsql.go +++ b/storage/pkg/flagset/sharingsql.go @@ -44,9 +44,5 @@ func SharingSQLWithConfig(cfg *config.Config) []cli.Flag { EnvVars: []string{"STORAGE_SHARING_USER_SQL_NAME"}, Destination: &cfg.Reva.Sharing.UserSQLName, }, - &cli.StringFlag{ - Name: "extensions", - Usage: "Run specific extensions during supervised mode", - }, } } diff --git a/storage/pkg/flagset/storagehome.go b/storage/pkg/flagset/storagehome.go index c090951ab4..1536795865 100644 --- a/storage/pkg/flagset/storagehome.go +++ b/storage/pkg/flagset/storagehome.go @@ -157,7 +157,6 @@ func StorageHomeWithConfig(cfg *config.Config) []cli.Flag { flags = append(flags, DriverOwnCloudWithConfig(cfg)...) flags = append(flags, DriverOCISWithConfig(cfg)...) flags = append(flags, DriverS3NGWithConfig(cfg)...) - flags = append(flags, RuntimeConfig(cfg)...) return flags } diff --git a/storage/pkg/flagset/storagemetadata.go b/storage/pkg/flagset/storagemetadata.go index 21edf4e2b5..581f7f1f32 100644 --- a/storage/pkg/flagset/storagemetadata.go +++ b/storage/pkg/flagset/storagemetadata.go @@ -106,7 +106,6 @@ func StorageMetadata(cfg *config.Config) []cli.Flag { f = append(f, DriverOwnCloudWithConfig(cfg)...) f = append(f, DriverOCISWithConfig(cfg)...) f = append(f, DriverS3NGWithConfig(cfg)...) - f = append(f, RuntimeConfig(cfg)...) return f diff --git a/storage/pkg/flagset/storagepubliclink.go b/storage/pkg/flagset/storagepubliclink.go index 05eff876bd..eefc636a3a 100644 --- a/storage/pkg/flagset/storagepubliclink.go +++ b/storage/pkg/flagset/storagepubliclink.go @@ -53,7 +53,6 @@ func StoragePublicLink(cfg *config.Config) []cli.Flag { flags = append(flags, TracingWithConfig(cfg)...) flags = append(flags, DebugWithConfig(cfg)...) flags = append(flags, SecretWithConfig(cfg)...) - flags = append(flags, RuntimeConfig(cfg)...) return flags } diff --git a/storage/pkg/flagset/storageusers.go b/storage/pkg/flagset/storageusers.go index a7618373c0..eaf18cd184 100644 --- a/storage/pkg/flagset/storageusers.go +++ b/storage/pkg/flagset/storageusers.go @@ -147,7 +147,6 @@ func StorageUsersWithConfig(cfg *config.Config) []cli.Flag { flags = append(flags, DriverOwnCloudWithConfig(cfg)...) flags = append(flags, DriverOCISWithConfig(cfg)...) flags = append(flags, DriverS3NGWithConfig(cfg)...) - flags = append(flags, RuntimeConfig(cfg)...) return flags } diff --git a/storage/pkg/flagset/users.go b/storage/pkg/flagset/users.go index 3a335f2a12..091cefb121 100644 --- a/storage/pkg/flagset/users.go +++ b/storage/pkg/flagset/users.go @@ -79,7 +79,6 @@ func UsersWithConfig(cfg *config.Config) []cli.Flag { flags = append(flags, SecretWithConfig(cfg)...) flags = append(flags, LDAPWithConfig(cfg)...) flags = append(flags, RestWithConfig(cfg)...) - flags = append(flags, RuntimeConfig(cfg)...) return flags } From 4994d0b132ad26a51fcab1ac33a88845934e6b85 Mon Sep 17 00:00:00 2001 From: "A.Unger" Date: Wed, 30 Jun 2021 10:34:44 +0200 Subject: [PATCH 03/10] correct flagset usage --- glauth/pkg/flagset/flagset.go | 8 ++--- graph-explorer/pkg/flagset/flagset.go | 8 ++--- graph/pkg/flagset/flagset.go | 8 ++--- idp/pkg/flagset/flagset.go | 9 +++--- ocis/pkg/runtime/service/service.go | 43 ++++++++++++--------------- onlyoffice/pkg/flagset/flagset.go | 8 ++--- settings/pkg/flagset/flagset.go | 8 ++--- store/pkg/flagset/flagset.go | 4 +++ web/pkg/flagset/flagset.go | 4 +++ webdav/pkg/flagset/flagset.go | 20 ++++++++----- 10 files changed, 63 insertions(+), 57 deletions(-) diff --git a/glauth/pkg/flagset/flagset.go b/glauth/pkg/flagset/flagset.go index fc3ae3cfb9..29ef1069a7 100644 --- a/glauth/pkg/flagset/flagset.go +++ b/glauth/pkg/flagset/flagset.go @@ -30,10 +30,6 @@ func RootWithConfig(cfg *config.Config) []cli.Flag { EnvVars: []string{"GLAUTH_LOG_COLOR", "OCIS_LOG_COLOR"}, Destination: &cfg.Log.Color, }, - &cli.StringFlag{ - Name: "extensions", - Usage: "Run specific extensions during supervised mode", - }, } } @@ -295,5 +291,9 @@ func ServerWithConfig(cfg *config.Config) []cli.Flag { EnvVars: []string{"GLAUTH_FALLBACK_USE_GRAPHAPI"}, Destination: &cfg.Fallback.UseGraphAPI, }, + &cli.StringFlag{ + Name: "extensions", + Usage: "Run specific extensions during supervised mode. This flag is set by the runtime", + }, } } diff --git a/graph-explorer/pkg/flagset/flagset.go b/graph-explorer/pkg/flagset/flagset.go index c17f9049ec..54ca8b446f 100644 --- a/graph-explorer/pkg/flagset/flagset.go +++ b/graph-explorer/pkg/flagset/flagset.go @@ -27,10 +27,6 @@ func RootWithConfig(cfg *config.Config) []cli.Flag { EnvVars: []string{"GRAPH_EXPLORER_LOG_COLOR", "OCIS_LOG_COLOR"}, Destination: &cfg.Log.Color, }, - &cli.StringFlag{ - Name: "extensions", - Usage: "Run specific extensions during supervised mode", - }, } } @@ -158,5 +154,9 @@ func ServerWithConfig(cfg *config.Config) []cli.Flag { EnvVars: []string{"GRAPH_EXPLORER_GRAPH_URL"}, Destination: &cfg.GraphExplorer.GraphURL, }, + &cli.StringFlag{ + Name: "extensions", + Usage: "Run specific extensions during supervised mode. This flag is set by the runtime", + }, } } diff --git a/graph/pkg/flagset/flagset.go b/graph/pkg/flagset/flagset.go index a2caad8cd5..495eb7b6b5 100644 --- a/graph/pkg/flagset/flagset.go +++ b/graph/pkg/flagset/flagset.go @@ -34,10 +34,6 @@ func RootWithConfig(cfg *config.Config) []cli.Flag { EnvVars: []string{"GRAPH_LOG_COLOR", "OCIS_LOG_COLOR"}, Destination: &cfg.Log.Color, }, - &cli.StringFlag{ - Name: "extensions", - Usage: "Run specific extensions during supervised mode", - }, } } @@ -220,5 +216,9 @@ func ServerWithConfig(cfg *config.Config) []cli.Flag { EnvVars: []string{"STORAGE_WEBDAV_NAMESPACE"}, Destination: &cfg.WebdavNamespace, }, + &cli.StringFlag{ + Name: "extensions", + Usage: "Run specific extensions during supervised mode. This flag is set by the runtime", + }, } } diff --git a/idp/pkg/flagset/flagset.go b/idp/pkg/flagset/flagset.go index 56a8efe524..aa41ee52a1 100644 --- a/idp/pkg/flagset/flagset.go +++ b/idp/pkg/flagset/flagset.go @@ -30,10 +30,6 @@ func RootWithConfig(cfg *config.Config) []cli.Flag { EnvVars: []string{"IDP_LOG_COLOR", "OCIS_LOG_COLOR"}, Destination: &cfg.Log.Color, }, - &cli.StringFlag{ - Name: "extensions", - Usage: "Run specific extensions during supervised mode", - }, } } @@ -421,7 +417,10 @@ func ServerWithConfig(cfg *config.Config) []cli.Flag { EnvVars: []string{"IDP_REFRESH_TOKEN_EXPIRATION"}, Destination: &cfg.IDP.RefreshTokenDurationSeconds, Value: flags.OverrideDefaultUint64(cfg.IDP.RefreshTokenDurationSeconds, 60*60*24*365*3), // 1 year - + }, + &cli.StringFlag{ + Name: "extensions", + Usage: "Run specific extensions during supervised mode. This flag is set by the runtime", }, } } diff --git a/ocis/pkg/runtime/service/service.go b/ocis/pkg/runtime/service/service.go index f3ab451200..7db99b1597 100644 --- a/ocis/pkg/runtime/service/service.go +++ b/ocis/pkg/runtime/service/service.go @@ -186,21 +186,11 @@ func Start(o ...Option) error { } }() - // prepare runset + // prepare the set of services to run s.generateRunSet(s.cfg) - for _, name := range runset { - - // skip delayed services for now - if _, ok := s.Delayed[name]; ok { - continue - } - - // we do this so each service has its own copy. In a perfect world a config object should NOT be edited by - // the callers because this might trigger behavioral changes up the tree. - swap := deepcopy.Copy(s.cfg) - s.serviceToken[name] = append(s.serviceToken[name], s.Supervisor.Add(s.ServicesRegistry[name](swap.(*ociscfg.Config)))) - } + // schedule services that we are sure don't have interdependencies. + scheduleServiceTokens(s, s.ServicesRegistry) // there are reasons not to do this, but we have race conditions ourselves. Until we resolve them, mind the following disclaimer: // Calling ServeBackground will CORRECTLY start the supervisor running in a new goroutine. It is risky to directly run @@ -212,22 +202,27 @@ func Start(o ...Option) error { // trap will block on halt channel for interruptions. go trap(s, halt) - time.Sleep(1 * time.Second) - // add services with delayed execution. - for _, name := range runset { - // this time around only run delayed jobs - if _, ok := s.Delayed[name]; !ok { - continue - } - - swap := deepcopy.Copy(s.cfg) - s.serviceToken[name] = append(s.serviceToken[name], s.Supervisor.Add(s.Delayed[name](swap.(*ociscfg.Config)))) - } + time.Sleep(1 * time.Second) + scheduleServiceTokens(s, s.Delayed) return http.Serve(l, nil) } +// scheduleServiceTokens adds service tokens to the service supervisor. +func scheduleServiceTokens(s *Service, funcSet map[string]func(*ociscfg.Config) suture.Service) { + for _, name := range runset { + if _, ok := funcSet[name]; !ok { + continue + } + + swap := deepcopy.Copy(s.cfg) + s.serviceToken[name] = append(s.serviceToken[name], s.Supervisor.Add(funcSet[name](swap.(*ociscfg.Config)))) + } +} + +// generateRunSet interprets the cfg.Runtime.Extensions config option to cherry-pick which services to start using +// the runtime. func (s *Service) generateRunSet(cfg *config.Config) { if cfg.Runtime.Extensions != "" { e := strings.Split(strings.Replace(cfg.Runtime.Extensions, " ", "", -1), ",") diff --git a/onlyoffice/pkg/flagset/flagset.go b/onlyoffice/pkg/flagset/flagset.go index fe630095be..6517b8dc0b 100644 --- a/onlyoffice/pkg/flagset/flagset.go +++ b/onlyoffice/pkg/flagset/flagset.go @@ -34,10 +34,6 @@ func RootWithConfig(cfg *config.Config) []cli.Flag { EnvVars: []string{"ONLYOFFICE_LOG_COLOR", "OCIS_LOG_COLOR"}, Destination: &cfg.Log.Color, }, - &cli.StringFlag{ - Name: "extensions", - Usage: "Run specific extensions during supervised mode", - }, } } @@ -158,5 +154,9 @@ func ServerWithConfig(cfg *config.Config) []cli.Flag { EnvVars: []string{"ONLYOFFICE_ASSET_PATH"}, Destination: &cfg.Asset.Path, }, + &cli.StringFlag{ + Name: "extensions", + Usage: "Run specific extensions during supervised mode. This flag is set by the runtime", + }, } } diff --git a/settings/pkg/flagset/flagset.go b/settings/pkg/flagset/flagset.go index b5d0f64b26..8a253abeb5 100644 --- a/settings/pkg/flagset/flagset.go +++ b/settings/pkg/flagset/flagset.go @@ -27,10 +27,6 @@ func RootWithConfig(cfg *config.Config) []cli.Flag { EnvVars: []string{"SETTINGS_LOG_COLOR", "OCIS_LOG_COLOR"}, Destination: &cfg.Log.Color, }, - &cli.StringFlag{ - Name: "extensions", - Usage: "Run specific extensions during supervised mode", - }, } } @@ -187,6 +183,10 @@ func ServerWithConfig(cfg *config.Config) []cli.Flag { EnvVars: []string{"SETTINGS_JWT_SECRET", "OCIS_JWT_SECRET"}, Destination: &cfg.TokenManager.JWTSecret, }, + &cli.StringFlag{ + Name: "extensions", + Usage: "Run specific extensions during supervised mode. This flag is set by the runtime", + }, } } diff --git a/store/pkg/flagset/flagset.go b/store/pkg/flagset/flagset.go index f87f08efc0..578cdf1cca 100644 --- a/store/pkg/flagset/flagset.go +++ b/store/pkg/flagset/flagset.go @@ -140,6 +140,10 @@ func ServerWithConfig(cfg *config.Config) []cli.Flag { EnvVars: []string{"STORE_DATA_PATH"}, Destination: &cfg.Datapath, }, + &cli.StringFlag{ + Name: "extensions", + Usage: "Run specific extensions during supervised mode. This flag is set by the runtime", + }, } } diff --git a/web/pkg/flagset/flagset.go b/web/pkg/flagset/flagset.go index 717663f986..10f6c79f7c 100644 --- a/web/pkg/flagset/flagset.go +++ b/web/pkg/flagset/flagset.go @@ -223,5 +223,9 @@ func ServerWithConfig(cfg *config.Config) []cli.Flag { EnvVars: []string{"WEB_OIDC_SCOPE"}, Destination: &cfg.Web.Config.OpenIDConnect.Scope, }, + &cli.StringFlag{ + Name: "extensions", + Usage: "Run specific extensions during supervised mode. This flag is set by the runtime", + }, } } diff --git a/webdav/pkg/flagset/flagset.go b/webdav/pkg/flagset/flagset.go index 0d8a29b955..f77bc528aa 100644 --- a/webdav/pkg/flagset/flagset.go +++ b/webdav/pkg/flagset/flagset.go @@ -142,19 +142,23 @@ func ServerWithConfig(cfg *config.Config) []cli.Flag { Destination: &cfg.HTTP.Root, }, &cli.StringFlag{ - Name: "ocis-public-url", - Value: flags.OverrideDefaultString(cfg.OcisPublicURL, "https://127.0.0.1:9200"), - Usage: "The domain under which oCIS is reachable", - EnvVars: []string{"OCIS_PUBLIC_URL", "OCIS_URL"}, + Name: "ocis-public-url", + Value: flags.OverrideDefaultString(cfg.OcisPublicURL, "https://127.0.0.1:9200"), + Usage: "The domain under which oCIS is reachable", + EnvVars: []string{"OCIS_PUBLIC_URL", "OCIS_URL"}, Destination: &cfg.OcisPublicURL, }, &cli.StringFlag{ - Name: "webdav-namespace", - Value: flags.OverrideDefaultString(cfg.WebdavNamespace, "/home"), - Usage: "Namespace prefix for the /webdav endpoint", - EnvVars: []string{"STORAGE_WEBDAV_NAMESPACE"}, + Name: "webdav-namespace", + Value: flags.OverrideDefaultString(cfg.WebdavNamespace, "/home"), + Usage: "Namespace prefix for the /webdav endpoint", + EnvVars: []string{"STORAGE_WEBDAV_NAMESPACE"}, Destination: &cfg.WebdavNamespace, }, + &cli.StringFlag{ + Name: "extensions", + Usage: "Run specific extensions during supervised mode. This flag is set by the runtime", + }, } } From ed9359ddd4cfa9ad2aef014f2042102d15f259d3 Mon Sep 17 00:00:00 2001 From: "A.Unger" Date: Wed, 30 Jun 2021 10:37:47 +0200 Subject: [PATCH 04/10] provide name to anonymous type --- ocis/pkg/runtime/service/service.go | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/ocis/pkg/runtime/service/service.go b/ocis/pkg/runtime/service/service.go index 7db99b1597..534584ea73 100644 --- a/ocis/pkg/runtime/service/service.go +++ b/ocis/pkg/runtime/service/service.go @@ -43,11 +43,13 @@ var ( runset []string ) +type serviceFuncMap map[string]func(*ociscfg.Config) suture.Service + // Service represents a RPC service. type Service struct { Supervisor *suture.Supervisor - ServicesRegistry map[string]func(*ociscfg.Config) suture.Service - Delayed map[string]func(*ociscfg.Config) suture.Service + ServicesRegistry serviceFuncMap + Delayed serviceFuncMap Log log.Logger serviceToken map[string][]suture.ServiceToken @@ -77,8 +79,8 @@ func NewService(options ...Option) (*Service, error) { globalCtx, cancelGlobal := context.WithCancel(context.Background()) s := &Service{ - ServicesRegistry: make(map[string]func(*ociscfg.Config) suture.Service), - Delayed: make(map[string]func(*ociscfg.Config) suture.Service), + ServicesRegistry: make(serviceFuncMap), + Delayed: make(serviceFuncMap), Log: l, serviceToken: make(map[string][]suture.ServiceToken), @@ -210,7 +212,7 @@ func Start(o ...Option) error { } // scheduleServiceTokens adds service tokens to the service supervisor. -func scheduleServiceTokens(s *Service, funcSet map[string]func(*ociscfg.Config) suture.Service) { +func scheduleServiceTokens(s *Service, funcSet serviceFuncMap) { for _, name := range runset { if _, ok := funcSet[name]; !ok { continue From 8a2dcc22b64951fab135ef3395cee1c2b4cdddfe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn=20Friedrich=20Dreyer?= Date: Wed, 30 Jun 2021 15:07:09 +0200 Subject: [PATCH 05/10] fix env vars pls double check if I got all! --- docs/extensions/storage/users.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/extensions/storage/users.md b/docs/extensions/storage/users.md index 30559d3c3b..4a5e716faf 100644 --- a/docs/extensions/storage/users.md +++ b/docs/extensions/storage/users.md @@ -43,10 +43,10 @@ export STORAGE_LDAP_USERFILTER='(&(objectclass=posixAccount)(cn=%s))' export STORAGE_LDAP_GROUPFILTER='(&(objectclass=posixGroup)(cn=%s))' export STORAGE_LDAP_BIND_DN='cn=reva,ou=sysusers,dc=example,dc=org' export STORAGE_LDAP_BIND_PASSWORD=reva -export STORAGE_LDAP_SCHEMA_UID=uid -export STORAGE_LDAP_SCHEMA_MAIL=mail -export STORAGE_LDAP_SCHEMA_DISPLAYNAME=sn -export STORAGE_LDAP_SCHEMA_CN=cn +export STORAGE_LDAP_USER_SCHEMA_UID=uid +export STORAGE_LDAP_USER_SCHEMA_MAIL=mail +export STORAGE_LDAP_USER_SCHEMA_DISPLAYNAME=sn +export STORAGE_LDAP_USER_SCHEMA_CN=cn ``` Then restart the `bin/storage users` and `bin/storage auth-basic` services for the changes to take effect. From f1b733f033d8ef76cefcf863a2ea707642ad8af3 Mon Sep 17 00:00:00 2001 From: Dipak Acharya Date: Thu, 1 Jul 2021 12:40:40 +0545 Subject: [PATCH 06/10] [Tests-Only] bump the web commit id for ci tests with expected failure files --- .drone.env | 2 +- ...res-webUI-on-OCIS-storage-ocisSmokeTest.md | 32 ++++++++++++++++ ...expected-failures-webUI-on-OCIS-storage.md | 37 +++---------------- 3 files changed, 38 insertions(+), 33 deletions(-) diff --git a/.drone.env b/.drone.env index a9786beb39..a8ede10ae4 100644 --- a/.drone.env +++ b/.drone.env @@ -3,5 +3,5 @@ CORE_COMMITID=1c59ed8d17317b04b9f525a74696b5fd756525ae CORE_BRANCH=master # The test runner source for UI tests -WEB_COMMITID=2fe29b320fe5063593665493e1b907d8e5dbdd13 +WEB_COMMITID=be1317c2c6fcc2fed0000b31f80bee351b111c3c WEB_BRANCH=master diff --git a/tests/acceptance/expected-failures-webUI-on-OCIS-storage-ocisSmokeTest.md b/tests/acceptance/expected-failures-webUI-on-OCIS-storage-ocisSmokeTest.md index 5466a6792f..ed4e8ef53b 100644 --- a/tests/acceptance/expected-failures-webUI-on-OCIS-storage-ocisSmokeTest.md +++ b/tests/acceptance/expected-failures-webUI-on-OCIS-storage-ocisSmokeTest.md @@ -11,3 +11,35 @@ Other free text and Markdown formatting can be used elsewhere in the document if Only the web scenarios tagged ocisSmokeTest are run by default in OCIS CI. This file lists the expected-failures of those ocisSmokeTest scenarios. Currently, there are no failures expected. + +### [enable re-sharing is not possible](https://github.com/owncloud/ocis/issues/1743) +- [webUISharingFilePermissionMultipleUsers/shareFileWithMultipleUsers.feature:65](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingFilePermissionMultipleUsers/shareFileWithMultipleUsers.feature#L65) +- [webUISharingFilePermissionMultipleUsers/shareFileWithMultipleUsers.feature:64](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingFilePermissionMultipleUsers/shareFileWithMultipleUsers.feature#L64) +- [webUISharingFilePermissionMultipleUsers/shareFileWithMultipleUsers.feature:63](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingFilePermissionMultipleUsers/shareFileWithMultipleUsers.feature#L63) +- [webUISharingFilePermissionMultipleUsers/shareFileWithMultipleUsers.feature:62](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingFilePermissionMultipleUsers/shareFileWithMultipleUsers.feature#L62) +- [webUISharingFilePermissionMultipleUsers/shareFileWithMultipleUsers.feature:61](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingFilePermissionMultipleUsers/shareFileWithMultipleUsers.feature#L61) +- [webUISharingFilePermissionMultipleUsers/shareFileWithMultipleUsers.feature:60](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingFilePermissionMultipleUsers/shareFileWithMultipleUsers.feature#L60) + +### [name of public link is empty and not "Public link" when not specified in the create request](https://github.com/owncloud/ocis/issues/1237) +- [webUISharingPublicBasic/publicLinkCreate.feature:11](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingPublicBasic/publicLinkCreate.feature#L11) + + +### [Copy private link option not available](https://github.com/owncloud/ocis/issues/1409) +- [webUIPrivateLinks/accessingPrivateLinks.feature:9](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUIPrivateLinks/accessingPrivateLinks.feature#L9) +- [webUIPrivateLinks/accessingPrivateLinks.feature:17](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUIPrivateLinks/accessingPrivateLinks.feature#L17) + +### [name of public link is empty and not "Public link" when not specified in the create request](https://github.com/owncloud/ocis/issues/1237) +- [webUISharingPublicDifferentRoles/shareByPublicLinkDifferentRoles.feature:33](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingPublicDifferentRoles/shareByPublicLinkDifferentRoles.feature#L33) +- [webUISharingPublicDifferentRoles/shareByPublicLinkDifferentRoles.feature:34](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingPublicDifferentRoles/shareByPublicLinkDifferentRoles.feature#L34) +- [webUISharingPublicDifferentRoles/shareByPublicLinkDifferentRoles.feature:35](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingPublicDifferentRoles/shareByPublicLinkDifferentRoles.feature#L35) + +### [name of public link is empty and not "Public link" when not specified in the create request](https://github.com/owncloud/ocis/issues/1237) +- [webUISharingPublicBasic/publicLinkCreate.feature:28](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingPublicBasic/publicLinkCreate.feature#L28) + +### [impossible to navigate into a folder in the trashbin](https://github.com/owncloud/web/issues/1725) +- [webUITrashbinDelete/trashbinDelete.feature:29](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUITrashbinDelete/trashbinDelete.feature#L29) + +### [Sharing seems to work but does not work](https://github.com/owncloud/ocis/issues/1303) +- [webUISharingInternalUsers/shareWithUsers.feature:53](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingInternalUsers/shareWithUsers.feature#L53) +- [webUISharingInternalUsers/shareWithUsers.feature:54](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingInternalUsers/shareWithUsers.feature#L54) +- [webUISharingInternalUsers/shareWithUsers.feature:55](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingInternalUsers/shareWithUsers.feature#L55) \ No newline at end of file diff --git a/tests/acceptance/expected-failures-webUI-on-OCIS-storage.md b/tests/acceptance/expected-failures-webUI-on-OCIS-storage.md index c036201c29..55ba9e87e0 100644 --- a/tests/acceptance/expected-failures-webUI-on-OCIS-storage.md +++ b/tests/acceptance/expected-failures-webUI-on-OCIS-storage.md @@ -20,13 +20,6 @@ Other free text and markdown formatting can be used elsewhere in the document if ### [Exit page re-appears in loop when logged in user is deleted](https://github.com/owncloud/web/issues/4677) - [webUILogin/openidLogin.feature:53](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUILogin/openidLogin.feature#L53) -### [User request using token and basic authentication gives different display names](https://github.com/owncloud/ocis/issues/1312) -- [webUIAccount/accountInformation.feature:10](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUIAccount/accountInformation.feature#L10) -- [webUIAccount/accountInformation.feature:34](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUIAccount/accountInformation.feature#L34) - -### [LDAP Groups not working with konnectd](https://github.com/owncloud/ocis-konnectd/issues/42) -- [webUIAccount/accountInformation.feature:20](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUIAccount/accountInformation.feature#L20) - ### [REPORT request not implemented](https://github.com/owncloud/ocis/issues/1330) - [webUIDeleteFilesFolders/deleteFilesFolders.feature:295](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUIDeleteFilesFolders/deleteFilesFolders.feature#L295) - [webUIFavorites/favoritesFile.feature:14](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUIFavorites/favoritesFile.feature#L14) @@ -50,8 +43,6 @@ Other free text and markdown formatting can be used elsewhere in the document if ### [Sharing seems to work but does not work](https://github.com/owncloud/ocis/issues/1303) - [webUIDeleteFilesFolders/deleteFilesFolders.feature:235](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUIDeleteFilesFolders/deleteFilesFolders.feature#L235) -- [webUIFilesDetails/fileDetails.feature:97](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUIFilesDetails/fileDetails.feature#L97) -- [webUIFilesDetails/fileDetails.feature:114](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUIFilesDetails/fileDetails.feature#L114) - [webUIFilesActionMenu/versions.feature:36](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUIFilesActionMenu/versions.feature#L36) - [webUIRenameFiles/renameFiles.feature:202](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUIRenameFiles/renameFiles.feature#L202) - [webUIRenameFiles/renameFiles.feature:227](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUIRenameFiles/renameFiles.feature#L227) @@ -260,7 +251,7 @@ Other free text and markdown formatting can be used elsewhere in the document if - [webUISharingFolderPermissionsGroups/sharePermissionsGroup.feature:64](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingFolderPermissionsGroups/sharePermissionsGroup.feature#L64) - [webUISharingFolderPermissionsGroups/sharePermissionsGroup.feature:66](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingFolderPermissionsGroups/sharePermissionsGroup.feature#L66) - [webUISharingFolderAdvancedPermissionsGroups/shareAdvancePermissionsGroup.feature:64](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingFolderAdvancedPermissionsGroups/shareAdvancePermissionsGroup.feature#L64) -- [webUISharingFolderAdvancedPermissionsGroups/shareAdvancePermissionsGroup.feature:65](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingFolderAdvancedPermissionsGroups/shareAdvancePermissionsGroup.feature#L65) +- [webUISharingFolderAdvancedPermissionsGroups/shareAdvancePermissionsGroup.feature:65](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingFolderAdvancedPermissionsGroups/shareAdvancePermissionsGroup.feature#L65) - [webUISharingFolderAdvancedPermissionsGroups/shareAdvancePermissionsGroup.feature:66](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingFolderAdvancedPermissionsGroups/shareAdvancePermissionsGroup.feature#L66) - [webUISharingFolderAdvancedPermissionsGroups/shareAdvancePermissionsGroup.feature:70](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingFolderAdvancedPermissionsGroups/shareAdvancePermissionsGroup.feature#L70) - [webUISharingFolderAdvancedPermissionsGroups/shareAdvancePermissionsGroup.feature:71](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingFolderAdvancedPermissionsGroups/shareAdvancePermissionsGroup.feature#L71) @@ -312,9 +303,6 @@ Other free text and markdown formatting can be used elsewhere in the document if ### [Listing shares via ocs API does not show path for parent folders](https://github.com/owncloud/ocis/issues/1231) - [webUISharingPublicManagement/shareByPublicLink.feature:134](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingPublicManagement/shareByPublicLink.feature#L134) -### [Listing shares via ocs API does not show path for parent folders](https://github.com/owncloud/ocis/issues/1231) -- [webUISharingPublicManagement/shareByPublicLink.feature:148](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingPublicManagement/shareByPublicLink.feature#L148) - ### [Propfind response to trashbin endpoint is different in ocis](https://github.com/owncloud/product/issues/186) ### [restoring a file from "Deleted files" (trashbin) is not possible if the original folder does not exist any-more](https://github.com/owncloud/web/issues/1753) - [webUITrashbinRestore/trashbinRestore.feature:138](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUITrashbinRestore/trashbinRestore.feature#L138) @@ -395,10 +383,6 @@ Other free text and markdown formatting can be used elsewhere in the document if - [apiSharees/sharees.feature:702](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiSharees/sharees.feature#L702) - [apiSharees/sharees.feature:703](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiSharees/sharees.feature#L703) -### [sorting for files lists needs to be reimplemented](https://github.com/owncloud/ocis/issues/1179) -- [webUIFilesList/sort.feature:51](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUIFilesList/sort.feature#L51) -- [webUIFilesList/sort.feature:72](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUIFilesList/sort.feature#L72) - ### [Comments in sidebar] (https://github.com/owncloud/web/issues/1158) - [webUIComments/comments.feature:25](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUIComments/comments.feature#L25) @@ -413,18 +397,13 @@ Other free text and markdown formatting can be used elsewhere in the document if - [webUIFilesDetails/fileDetails.feature:116](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUIFilesDetails/fileDetails.feature#L116) - [webUIFilesDetails/fileDetails.feature:143](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUIFilesDetails/fileDetails.feature#L143) - - -### [Groups endpoint does not exist](https://github.com/owncloud/ocis-reva/issues/34) -- [webUIRestrictSharing/restrictSharing.feature:49](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUIRestrictSharing/restrictSharing.feature:49) - ### [Group shares support](https://github.com/owncloud/ocis/issues/1289) - [webUISharingInternalGroupsSharingIndicator/shareWithGroups.feature:80](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingInternalGroupsSharingIndicator/shareWithGroups.feature#L80) ### [Deletion of a recursive folder from trashbin is not possible](https://github.com/owncloud/product/issues/188) -- [webUITrashbinDelete/trashbinDelete.feature:106](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUITrashbinDelete/trashbinDelete.feature#L106) -- [webUITrashbinDelete/trashbinDelete.feature:86](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUITrashbinDelete/trashbinDelete.feature#L86) -- [webUITrashbinDelete/trashbinDelete.feature:50](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUITrashbinDelete/trashbinDelete.feature#L50) +- [webUITrashbinDelete/trashbinDelete.feature:105](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUITrashbinDelete/trashbinDelete.feature#L105) +- [webUITrashbinDelete/trashbinDelete.feature:85](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUITrashbinDelete/trashbinDelete.feature#L85) +- [webUITrashbinDelete/trashbinDelete.feature:49](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUITrashbinDelete/trashbinDelete.feature#L49) ### [Trying to create a (public) link share of the Shares folder throws an error](https://github.com/owncloud/web/issues/5152) - [webUISharingInternalUsers/shareWithUsers.feature:360](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingInternalUsers/shareWithUsers.feature#L360) @@ -481,7 +460,6 @@ Other free text and markdown formatting can be used elsewhere in the document if ### [Tags page not implemented yet] (https://github.com/owncloud/web/issues/5017) - [webUIDeleteFilesFolders/deleteFilesFolders.feature:144](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUIDeleteFilesFolders/deleteFilesFolders.feature#L144) -- [webUIFilesDetails/fileDetails.feature:141](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUIFilesDetails/fileDetails.feature#L141) - [webUIFilesSearch/search.feature:63](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUIFilesSearch/search.feature#L63) - [webUIFilesSearch/search.feature:71](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUIFilesSearch/search.feature#L71) - [webUIFilesSearch/search.feature:84](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUIFilesSearch/search.feature#L84) @@ -507,11 +485,6 @@ Other free text and markdown formatting can be used elsewhere in the document if ### [Saving public share is not possible] (https://github.com/owncloud/web/issues/5321) - [webUISharingPublicManagement/shareByPublicLink.feature:31](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingPublicManagement/shareByPublicLink.feature#L31) -### [Deletion of a recursive folder from trashbin is not possible](https://github.com/owncloud/product/issues/188) -- [webUITrashbinDelete/trashbinDelete.feature:105](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUITrashbinDelete/trashbinDelete.feature#L105) -- [webUITrashbinDelete/trashbinDelete.feature:85](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUITrashbinDelete/trashbinDelete.feature#L85) -- [webUITrashbinDelete/trashbinDelete.feature:49](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUITrashbinDelete/trashbinDelete.feature#L49) - ### [Public link send by email field] (https://github.com/owncloud/web/issues/2422) - [webUISharingPublicManagement/publicLinkShareByEmail.feature:15](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingPublicManagement/publicLinkShareByEmail.feature#L15) - [webUISharingPublicManagement/publicLinkShareByEmail.feature:25](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingPublicManagement/publicLinkShareByEmail.feature#L25) @@ -521,4 +494,4 @@ Other free text and markdown formatting can be used elsewhere in the document if - [webUISharingPublicManagement/publicLinkShareByEmail.feature:99](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingPublicManagement/publicLinkShareByEmail.feature#L99) ### [Uploading folders does not work in files-drop] (https://github.com/owncloud/web/issues/2443) -- [webUISharingPublicDifferentRoles/shareByPublicLinkDifferentRoles.feature:248](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingPublicDifferentRoles/shareByPublicLinkDifferentRoles.feature#L248) \ No newline at end of file +- [webUISharingPublicDifferentRoles/shareByPublicLinkDifferentRoles.feature:248](https://github.com/owncloud/web/blob/master/tests/acceptance/features/webUISharingPublicDifferentRoles/shareByPublicLinkDifferentRoles.feature#L248) From e2e6a2f489ea95e84c727525d00d01f78d48acad Mon Sep 17 00:00:00 2001 From: Jasmine Baral Date: Wed, 30 Jun 2021 13:04:25 +0545 Subject: [PATCH 07/10] adjust issues for the remaining closed issues --- .../expected-failures-API-on-OCIS-storage.md | 79 ++++++++---------- ...pected-failures-API-on-OWNCLOUD-storage.md | 81 ++++++++----------- 2 files changed, 67 insertions(+), 93 deletions(-) diff --git a/tests/acceptance/expected-failures-API-on-OCIS-storage.md b/tests/acceptance/expected-failures-API-on-OCIS-storage.md index 4038ca45f2..031b75fd96 100644 --- a/tests/acceptance/expected-failures-API-on-OCIS-storage.md +++ b/tests/acceptance/expected-failures-API-on-OCIS-storage.md @@ -128,6 +128,9 @@ _etag propagation_ _ocdav: return checksum in upload response for chunked upload_ - [apiMain/checksums.feature:144](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiMain/checksums.feature#L144) Scenario: Upload new dav chunked file where checksum matches - [apiMain/checksums.feature:153](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiMain/checksums.feature#L153) Scenario: Upload new dav chunked file where checksum does not match +- [apiMain/checksums.feature:164](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiMain/checksums.feature#L164) Scenario: Upload new dav chunked file using async MOVE where checksum matches +- [apiMain/checksums.feature:180](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiMain/checksums.feature#L180) Scenario: Upload new dav chunked file using async MOVE where checksum does not match +- [apiMain/checksums.feature:198](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiMain/checksums.feature#L198) Scenario: Upload new dav chunked file using async MOVE where checksum does not match - retry with correct checksum - [apiMain/checksums.feature:263](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiMain/checksums.feature#L263) Scenario: Uploading an old method chunked file with checksum should fail using new DAV path - [apiMain/checksums.feature:319](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiMain/checksums.feature#L319) Scenario: Upload overwriting a file with new chunking and correct checksum - [apiMain/checksums.feature:331](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiMain/checksums.feature#L331) Scenario: Upload overwriting a file with new chunking and invalid checksum @@ -830,9 +833,18 @@ cannot share a folder with create permission - [apiShareReshareToShares3/reShareWithExpiryDate.feature:36](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareReshareToShares3/reShareWithExpiryDate.feature#L36) - [apiShareReshareToShares3/reShareWithExpiryDate.feature:37](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareReshareToShares3/reShareWithExpiryDate.feature#L37) -#### [cannot move from Shares folder](https://github.com/owncloud/ocis/issues/560) +#### [cannot move/rename an accepted shared resource outside of shares folder](https://github.com/owncloud/ocis/issues/2141) - [apiShareReshareToShares2/reShareChain.feature:12](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareReshareToShares2/reShareChain.feature#L12) +- [apiShareOperationsToShares1/changingFilesShare.feature:42](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares1/changingFilesShare.feature#L42) +- [apiShareOperationsToShares1/changingFilesShare.feature:43](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares1/changingFilesShare.feature#L43) +- [apiShareOperationsToShares1/changingFilesShare.feature:62](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares1/changingFilesShare.feature#L62) +- [apiShareOperationsToShares1/changingFilesShare.feature:63](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares1/changingFilesShare.feature#L63) +- [apiVersions/fileVersionsSharingToShares.feature:133](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiVersions/fileVersionsSharingToShares.feature#L133) +- [apiVersions/fileVersionsSharingToShares.feature:148](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiVersions/fileVersionsSharingToShares.feature#L148) +- [apiVersions/fileVersionsSharingToShares.feature:162](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiVersions/fileVersionsSharingToShares.feature#L162) +- [apiVersions/fileVersionsSharingToShares.feature:249](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiVersions/fileVersionsSharingToShares.feature#L249) +- [apiVersions/fileVersionsSharingToShares.feature:250](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiVersions/fileVersionsSharingToShares.feature#L250) #### [various sharing settings cannot be set](https://github.com/owncloud/ocis/issues/1328) - [apiShareReshareToShares2/reShareWhenShareWithOnlyMembershipGroups.feature:27](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareReshareToShares2/reShareWhenShareWithOnlyMembershipGroups.feature#L27) @@ -859,10 +871,13 @@ cannot share a folder with create permission - [apiShareManagementToShares/acceptShares.feature:491](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/acceptShares.feature#L491) - [apiShareManagementToShares/acceptShares.feature:494](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/acceptShares.feature#L494) -#### [deleting a file inside a received shared folder is moved to the trash-bin of the sharer not the receiver](https://github.com/owncloud/ocis/issues/1124) +#### [Deleting a received folder moves it to trashbin](https://github.com/owncloud/ocis/issues/2217) - [apiTrashbin/trashbinSharingToShares.feature:23](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiTrashbin/trashbinSharingToShares.feature#L23) - [apiTrashbin/trashbinSharingToShares.feature:24](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiTrashbin/trashbinSharingToShares.feature#L24) + +#### [deleting a file inside a received shared folder is moved to the trash-bin of the sharer not the receiver](https://github.com/owncloud/ocis/issues/1124) + - [apiTrashbin/trashbinSharingToShares.feature:39](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiTrashbin/trashbinSharingToShares.feature#L39) - [apiTrashbin/trashbinSharingToShares.feature:40](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiTrashbin/trashbinSharingToShares.feature#L40) - [apiTrashbin/trashbinSharingToShares.feature:63](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiTrashbin/trashbinSharingToShares.feature#L63) @@ -966,18 +981,6 @@ _getting and setting quota_ - [apiShareOperationsToShares1/changingFilesShare.feature:82](https://github.com/owncloud/core/blob/master/test/acceptance/features/apiShareOperationsToShares1/changingFilesShare.feature#L82) - [apiShareOperationsToShares1/changingFilesShare.feature:98](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares1/changingFilesShare.feature#L98) -#### [cannot move from Shares folder](https://github.com/owncloud/ocis/issues/560) -- [apiShareOperationsToShares1/changingFilesShare.feature:42](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares1/changingFilesShare.feature#L42) -- [apiShareOperationsToShares1/changingFilesShare.feature:43](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares1/changingFilesShare.feature#L43) -- [apiShareOperationsToShares1/changingFilesShare.feature:62](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares1/changingFilesShare.feature#L62) -- [apiShareOperationsToShares1/changingFilesShare.feature:63](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares1/changingFilesShare.feature#L63) -- [apiTrashbin/trashbinSharingToShares.feature:23](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiTrashbin/trashbinSharingToShares.feature#L23) -- [apiTrashbin/trashbinSharingToShares.feature:24](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiTrashbin/trashbinSharingToShares.feature#L24) -- [apiTrashbin/trashbinSharingToShares.feature:39](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiTrashbin/trashbinSharingToShares.feature#L39) -- [apiTrashbin/trashbinSharingToShares.feature:40](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiTrashbin/trashbinSharingToShares.feature#L40) -- [apiTrashbin/trashbinSharingToShares.feature:63](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiTrashbin/trashbinSharingToShares.feature#L63) -- [apiTrashbin/trashbinSharingToShares.feature:64](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiTrashbin/trashbinSharingToShares.feature#L64) - Scenario Outline: Moving a file into a shared folder as the sharee and as the sharer - [apiWebdavMove2/moveFile.feature:99](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavMove2/moveFile.feature#L99) - [apiWebdavMove2/moveFile.feature:100](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavMove2/moveFile.feature#L100) @@ -1017,13 +1020,6 @@ Scenario Outline: Moving a file into a shared folder as the sharee and as the sh - [apiShareManagementToShares/acceptShares.feature:490](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/acceptShares.feature#L490) - [apiVersions/fileVersionsSharingToShares.feature:43](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiVersions/fileVersionsSharingToShares.feature#L43) -#### [cannot move from Shares folder](https://github.com/owncloud/ocis/issues/560) -- [apiVersions/fileVersionsSharingToShares.feature:133](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiVersions/fileVersionsSharingToShares.feature#L133) -- [apiVersions/fileVersionsSharingToShares.feature:148](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiVersions/fileVersionsSharingToShares.feature#L148) -- [apiVersions/fileVersionsSharingToShares.feature:162](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiVersions/fileVersionsSharingToShares.feature#L162) -- [apiVersions/fileVersionsSharingToShares.feature:249](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiVersions/fileVersionsSharingToShares.feature#L249) -- [apiVersions/fileVersionsSharingToShares.feature:250](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiVersions/fileVersionsSharingToShares.feature#L250) - #### [not possible to move file into a received folder](https://github.com/owncloud/ocis/issues/764) - [apiVersions/fileVersionsSharingToShares.feature:221](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiVersions/fileVersionsSharingToShares.feature#L221) - [apiVersions/fileVersionsSharingToShares.feature:222](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiVersions/fileVersionsSharingToShares.feature#L222) @@ -1236,7 +1232,8 @@ _ocs: api compatibility, return correct status code_ - [apiWebdavUploadTUS/uploadFileMtimeShares.feature:55](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavUploadTUS/uploadFileMtimeShares.feature#L55) - [apiWebdavUploadTUS/uploadFileMtimeShares.feature:56](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavUploadTUS/uploadFileMtimeShares.feature#L56) -#### [OCIS-storage reading a file that a collaborator uploaded is impossible](https://github.com/owncloud/ocis/issues/763) +#### [ocis-storage PROPFIND on a file uploaded by share receiver is not possible](https://github.com/owncloud/ocis/issues/968) + - [apiWebdavUploadTUS/uploadFileMtimeShares.feature:70](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavUploadTUS/uploadFileMtimeShares.feature#L70) - [apiWebdavUploadTUS/uploadFileMtimeShares.feature:71](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavUploadTUS/uploadFileMtimeShares.feature#L71) @@ -1368,7 +1365,20 @@ _ocs: api compatibility, return correct status code_ - [apiProvisioning-v1/editUser.feature:143](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v1/editUser.feature#L143) - [apiProvisioning-v1/getUser.feature:170](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v1/getUser.feature#L170) - [apiProvisioning-v1/resetUserPassword.feature:113](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v1/resetUserPassword.feature#L113) - +- [apiProvisioning-v1/createSubAdmin.feature:11](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v1/createSubAdmin.feature#L11) +- [apiProvisioning-v1/createSubAdmin.feature:19](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v1/createSubAdmin.feature#L19) +- [apiProvisioning-v1/createSubAdmin.feature:27](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v1/createSubAdmin.feature#L27) +- [apiProvisioning-v1/createSubAdmin.feature:35](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v1/createSubAdmin.feature#L35) +- [apiProvisioning-v1/getSubAdmins.feature:11](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v1/getSubAdmins.feature#L11) +- [apiProvisioning-v1/getSubAdmins.feature:21](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v1/getSubAdmins.feature#L21) +- [apiProvisioning-v2/createSubAdmin.feature:11](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v2/createSubAdmin.feature#L11) +- [apiProvisioning-v2/createSubAdmin.feature:19](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v2/createSubAdmin.feature#L19) +- [apiProvisioning-v2/createSubAdmin.feature:27](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v2/createSubAdmin.feature#L27) +- [apiProvisioning-v2/createSubAdmin.feature:35](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v2/createSubAdmin.feature#L35) +- [apiProvisioning-v2/getSubAdmins.feature:11](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v2/getSubAdmins.feature#L11) +- [apiProvisioning-v2/getSubAdmins.feature:21](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v2/getSubAdmins.feature#L21) +- [apiProvisioning-v2/getSubAdmins.feature:30](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v2/getSubAdmins.feature#L30) +- [apiProvisioning-v2/getSubAdmins.feature:44](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v2/getSubAdmins.feature#L44) - [apiProvisioning-v2/addUser.feature:159](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v2/addUser.feature#L159) - [apiProvisioning-v2/addUser.feature:178](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v2/addUser.feature#L178) - [apiProvisioning-v2/addUser.feature:189](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v2/addUser.feature#L189) @@ -1479,24 +1489,6 @@ _special character username not valid_ - [apiProvisioningGroups-v2/getUserGroups.feature:73](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioningGroups-v2/getUserGroups.feature#L73) - [apiProvisioningGroups-v2/removeFromGroup.feature:215](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioningGroups-v2/removeFromGroup.feature#L215) -#### [user-sync endpoint does not exist](https://github.com/owncloud/ocis/issues/1241) - -- [apiProvisioning-v1/createSubAdmin.feature:11](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v1/createSubAdmin.feature#L11) -- [apiProvisioning-v1/createSubAdmin.feature:19](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v1/createSubAdmin.feature#L19) -- [apiProvisioning-v1/createSubAdmin.feature:27](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v1/createSubAdmin.feature#L27) -- [apiProvisioning-v1/createSubAdmin.feature:35](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v1/createSubAdmin.feature#L35) -- [apiProvisioning-v1/getSubAdmins.feature:11](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v1/getSubAdmins.feature#L11) -- [apiProvisioning-v1/getSubAdmins.feature:21](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v1/getSubAdmins.feature#L21) -- [apiProvisioning-v2/createSubAdmin.feature:11](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v2/createSubAdmin.feature#L11) -- [apiProvisioning-v2/createSubAdmin.feature:19](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v2/createSubAdmin.feature#L19) -- [apiProvisioning-v2/createSubAdmin.feature:27](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v2/createSubAdmin.feature#L27) -- [apiProvisioning-v2/createSubAdmin.feature:35](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v2/createSubAdmin.feature#L35) -- [apiProvisioning-v2/getSubAdmins.feature:11](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v2/getSubAdmins.feature#L11) -- [apiProvisioning-v2/getSubAdmins.feature:21](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v2/getSubAdmins.feature#L21) -- [apiProvisioning-v2/getSubAdmins.feature:30](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v2/getSubAdmins.feature#L30) -- [apiProvisioning-v2/getSubAdmins.feature:44](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v2/getSubAdmins.feature#L44) - - ### Other API, search, favorites, config, capabilities, not existing endpoints, CORS and others @@ -2011,11 +2003,6 @@ Not everything needs to be implemented for ocis. While the oc10 testsuite covers - [apiWebdavUpload1/uploadFileToBlacklistedName.feature:66](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavUpload1/uploadFileToBlacklistedName.feature#L66) - [apiWebdavUpload1/uploadFileToBlacklistedName.feature:67](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavUpload1/uploadFileToBlacklistedName.feature#L67) -#### [Checksum feature](https://github.com/owncloud/ocis/issues/1291) -- [apiMain/checksums.feature:164](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiMain/checksums.feature#L164) Scenario: Upload new dav chunked file using async MOVE where checksum matches -- [apiMain/checksums.feature:180](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiMain/checksums.feature#L180) Scenario: Upload new dav chunked file using async MOVE where checksum does not match -- [apiMain/checksums.feature:198](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiMain/checksums.feature#L198) Scenario: Upload new dav chunked file using async MOVE where checksum does not match - retry with correct checksum - #### [Trying to accept a share with invalid ID gives incorrect OCS and HTTP status](https://github.com/owncloud/ocis/issues/2111) - [apiShareOperationsToShares2/shareAccessByID.feature:85](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares2/shareAccessByID.feature#L85) - [apiShareOperationsToShares2/shareAccessByID.feature:86](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares2/shareAccessByID.feature#L86) diff --git a/tests/acceptance/expected-failures-API-on-OWNCLOUD-storage.md b/tests/acceptance/expected-failures-API-on-OWNCLOUD-storage.md index c17adab06a..6e5a022c91 100644 --- a/tests/acceptance/expected-failures-API-on-OWNCLOUD-storage.md +++ b/tests/acceptance/expected-failures-API-on-OWNCLOUD-storage.md @@ -7,8 +7,7 @@ Basic file management like up and download, move, copy, properties, trash, versi - [apiTrashbin/trashbinDelete.feature:106](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiTrashbin/trashbinDelete.feature#L106) - [apiTrashbin/trashbinDelete.feature:122](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiTrashbin/trashbinDelete.feature#L122) -#### [Review and fix the tests that have sharing step to work with ocis](https://github.com/owncloud/core/issues/38006) - +### [Deleting multiple files with the same name but different origin close together in time results in only one file in the trashbin](https://github.com/owncloud/ocis/issues/2219) The following scenarios fail on OWNCLOUD storage but not on OCIS storage: - [apiTrashbin/trashbinFilesFolders.feature:104](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiTrashbin/trashbinFilesFolders.feature#L104) @@ -177,6 +176,9 @@ Synchronization features like etag propagation, setting mtime and locking files _ocdav: return checksum in upload response for chunked upload_ - [apiMain/checksums.feature:144](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiMain/checksums.feature#L144) Scenario: Upload new dav chunked file where checksum matches - [apiMain/checksums.feature:153](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiMain/checksums.feature#L153) Scenario: Upload new dav chunked file where checksum does not match +- [apiMain/checksums.feature:164](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiMain/checksums.feature#L164) Scenario: Upload new dav chunked file using async MOVE where checksum matches +- [apiMain/checksums.feature:180](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiMain/checksums.feature#L180) Scenario: Upload new dav chunked file using async MOVE where checksum does not match +- [apiMain/checksums.feature:198](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiMain/checksums.feature#L198) Scenario: Upload new dav chunked file using async MOVE where checksum does not match - retry with correct checksum - [apiMain/checksums.feature:319](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiMain/checksums.feature#L319) Scenario: Upload overwriting a file with new chunking and correct checksum - [apiMain/checksums.feature:331](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiMain/checksums.feature#L331) Scenario: Upload overwriting a file with new chunking and invalid checksum @@ -652,7 +654,6 @@ The following scenarios fail on OWNCLOUD storage but not on OCIS storage: - [apiShareManagementBasicToShares/deleteShareFromShares.feature:28](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/deleteShareFromShares.feature#L28) - [apiShareManagementBasicToShares/deleteShareFromShares.feature:29](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/deleteShareFromShares.feature#L29) - #### [deleting share response does not contain `data` field](https://github.com/owncloud/ocis/issues/721) - [apiShareManagementBasicToShares/deleteShareFromShares.feature:43](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/deleteShareFromShares.feature#L43) @@ -943,9 +944,24 @@ The following scenarios fail on OWNCLOUD storage but not on OCIS storage: - [apiShareReshareToShares2/reShareSubfolder.feature:86](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareReshareToShares2/reShareSubfolder.feature#L86) - [apiShareReshareToShares2/reShareSubfolder.feature:87](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareReshareToShares2/reShareSubfolder.feature#L87) -#### [cannot move from Shares folder](https://github.com/owncloud/ocis/issues/560) +#### [cannot move/rename an accepted shared resource outside of shares folder](https://github.com/owncloud/ocis/issues/2141) - [apiShareReshareToShares2/reShareChain.feature:12](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareReshareToShares2/reShareChain.feature#L12) +- [apiShareOperationsToShares1/changingFilesShare.feature:42](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares1/changingFilesShare.feature#L42) +- [apiShareOperationsToShares1/changingFilesShare.feature:43](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares1/changingFilesShare.feature#L43) +- [apiShareOperationsToShares1/changingFilesShare.feature:62](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares1/changingFilesShare.feature#L62) +- [apiShareOperationsToShares1/changingFilesShare.feature:63](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares1/changingFilesShare.feature#L63) +- [apiTrashbin/trashbinSharingToShares.feature:23](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiTrashbin/trashbinSharingToShares.feature#L23) +- [apiTrashbin/trashbinSharingToShares.feature:24](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiTrashbin/trashbinSharingToShares.feature#L24) +- [apiTrashbin/trashbinSharingToShares.feature:39](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiTrashbin/trashbinSharingToShares.feature#L39) +- [apiTrashbin/trashbinSharingToShares.feature:40](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiTrashbin/trashbinSharingToShares.feature#L40) +- [apiTrashbin/trashbinSharingToShares.feature:63](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiTrashbin/trashbinSharingToShares.feature#L63) +- [apiTrashbin/trashbinSharingToShares.feature:64](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiTrashbin/trashbinSharingToShares.feature#L64) +- [apiVersions/fileVersionsSharingToShares.feature:133](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiVersions/fileVersionsSharingToShares.feature#L133) +- [apiVersions/fileVersionsSharingToShares.feature:148](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiVersions/fileVersionsSharingToShares.feature#L148) +- [apiVersions/fileVersionsSharingToShares.feature:162](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiVersions/fileVersionsSharingToShares.feature#L162) +- [apiVersions/fileVersionsSharingToShares.feature:249](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiVersions/fileVersionsSharingToShares.feature#L249) +- [apiVersions/fileVersionsSharingToShares.feature:250](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiVersions/fileVersionsSharingToShares.feature#L250) #### [various sharing settings cannot be set](https://github.com/owncloud/ocis/issues/1328) - [apiShareReshareToShares2/reShareWhenShareWithOnlyMembershipGroups.feature:27](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareReshareToShares2/reShareWhenShareWithOnlyMembershipGroups.feature#L27) @@ -1116,18 +1132,6 @@ The following scenarios fail on OWNCLOUD storage but not on OCIS storage: - [apiShareOperationsToShares1/changingFilesShare.feature:82](https://github.com/owncloud/core/blob/master/test/acceptance/features/apiShareOperationsToShares1/changingFilesShare.feature#L82) - [apiShareOperationsToShares1/changingFilesShare.feature:98](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares1/changingFilesShare.feature#L98) -#### [cannot move from Shares folder](https://github.com/owncloud/ocis/issues/560) -- [apiShareOperationsToShares1/changingFilesShare.feature:42](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares1/changingFilesShare.feature#L42) -- [apiShareOperationsToShares1/changingFilesShare.feature:43](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares1/changingFilesShare.feature#L43) -- [apiShareOperationsToShares1/changingFilesShare.feature:62](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares1/changingFilesShare.feature#L62) -- [apiShareOperationsToShares1/changingFilesShare.feature:63](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares1/changingFilesShare.feature#L63) -- [apiTrashbin/trashbinSharingToShares.feature:23](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiTrashbin/trashbinSharingToShares.feature#L23) -- [apiTrashbin/trashbinSharingToShares.feature:24](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiTrashbin/trashbinSharingToShares.feature#L24) -- [apiTrashbin/trashbinSharingToShares.feature:39](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiTrashbin/trashbinSharingToShares.feature#L39) -- [apiTrashbin/trashbinSharingToShares.feature:40](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiTrashbin/trashbinSharingToShares.feature#L40) -- [apiTrashbin/trashbinSharingToShares.feature:63](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiTrashbin/trashbinSharingToShares.feature#L63) -- [apiTrashbin/trashbinSharingToShares.feature:64](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiTrashbin/trashbinSharingToShares.feature#L64) - Scenario Outline: Moving a file into a shared folder as the sharee and as the sharer - [apiWebdavMove2/moveFile.feature:99](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavMove2/moveFile.feature#L99) - [apiWebdavMove2/moveFile.feature:100](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavMove2/moveFile.feature#L100) @@ -1164,13 +1168,6 @@ Scenario Outline: Moving a file into a shared folder as the sharee and as the sh - [apiShareManagementToShares/acceptShares.feature:490](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/acceptShares.feature#L490) - [apiVersions/fileVersionsSharingToShares.feature:43](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiVersions/fileVersionsSharingToShares.feature#L43) -#### [cannot move from Shares folder](https://github.com/owncloud/ocis/issues/560) -- [apiVersions/fileVersionsSharingToShares.feature:133](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiVersions/fileVersionsSharingToShares.feature#L133) -- [apiVersions/fileVersionsSharingToShares.feature:148](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiVersions/fileVersionsSharingToShares.feature#L148) -- [apiVersions/fileVersionsSharingToShares.feature:162](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiVersions/fileVersionsSharingToShares.feature#L162) -- [apiVersions/fileVersionsSharingToShares.feature:249](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiVersions/fileVersionsSharingToShares.feature#L249) -- [apiVersions/fileVersionsSharingToShares.feature:250](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiVersions/fileVersionsSharingToShares.feature#L250) - #### [not possible to move file into a received folder](https://github.com/owncloud/ocis/issues/764) - [apiVersions/fileVersionsSharingToShares.feature:221](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiVersions/fileVersionsSharingToShares.feature#L221) - [apiVersions/fileVersionsSharingToShares.feature:222](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiVersions/fileVersionsSharingToShares.feature#L222) @@ -1521,7 +1518,20 @@ _ocs: api compatibility, return correct status code_ - [apiProvisioning-v1/editUser.feature:143](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v1/editUser.feature#L143) - [apiProvisioning-v1/getUser.feature:170](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v1/getUser.feature#L170) - [apiProvisioning-v1/resetUserPassword.feature:113](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v1/resetUserPassword.feature#L113) - +- [apiProvisioning-v1/createSubAdmin.feature:11](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v1/createSubAdmin.feature#L11) +- [apiProvisioning-v1/createSubAdmin.feature:19](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v1/createSubAdmin.feature#L19) +- [apiProvisioning-v1/createSubAdmin.feature:27](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v1/createSubAdmin.feature#L27) +- [apiProvisioning-v1/createSubAdmin.feature:35](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v1/createSubAdmin.feature#L35) +- [apiProvisioning-v1/getSubAdmins.feature:11](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v1/getSubAdmins.feature#L11) +- [apiProvisioning-v1/getSubAdmins.feature:21](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v1/getSubAdmins.feature#L21) +- [apiProvisioning-v2/createSubAdmin.feature:11](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v2/createSubAdmin.feature#L11) +- [apiProvisioning-v2/createSubAdmin.feature:19](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v2/createSubAdmin.feature#L19) +- [apiProvisioning-v2/createSubAdmin.feature:27](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v2/createSubAdmin.feature#L27) +- [apiProvisioning-v2/createSubAdmin.feature:35](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v2/createSubAdmin.feature#L35) +- [apiProvisioning-v2/getSubAdmins.feature:11](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v2/getSubAdmins.feature#L11) +- [apiProvisioning-v2/getSubAdmins.feature:21](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v2/getSubAdmins.feature#L21) +- [apiProvisioning-v2/getSubAdmins.feature:30](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v2/getSubAdmins.feature#L30) +- [apiProvisioning-v2/getSubAdmins.feature:44](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v2/getSubAdmins.feature#L44) - [apiProvisioning-v2/addUser.feature:159](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v2/addUser.feature#L159) - [apiProvisioning-v2/addUser.feature:178](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v2/addUser.feature#L178) - [apiProvisioning-v2/addUser.feature:189](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v2/addUser.feature#L189) @@ -1632,24 +1642,6 @@ _special character username not valid_ - [apiProvisioningGroups-v2/getUserGroups.feature:73](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioningGroups-v2/getUserGroups.feature#L73) - [apiProvisioningGroups-v2/removeFromGroup.feature:215](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioningGroups-v2/removeFromGroup.feature#L215) -#### [user-sync endpoint does not exist](https://github.com/owncloud/ocis/issues/1241) - -- [apiProvisioning-v1/createSubAdmin.feature:11](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v1/createSubAdmin.feature#L11) -- [apiProvisioning-v1/createSubAdmin.feature:19](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v1/createSubAdmin.feature#L19) -- [apiProvisioning-v1/createSubAdmin.feature:27](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v1/createSubAdmin.feature#L27) -- [apiProvisioning-v1/createSubAdmin.feature:35](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v1/createSubAdmin.feature#L35) -- [apiProvisioning-v1/getSubAdmins.feature:11](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v1/getSubAdmins.feature#L11) -- [apiProvisioning-v1/getSubAdmins.feature:21](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v1/getSubAdmins.feature#L21) -- [apiProvisioning-v2/createSubAdmin.feature:11](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v2/createSubAdmin.feature#L11) -- [apiProvisioning-v2/createSubAdmin.feature:19](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v2/createSubAdmin.feature#L19) -- [apiProvisioning-v2/createSubAdmin.feature:27](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v2/createSubAdmin.feature#L27) -- [apiProvisioning-v2/createSubAdmin.feature:35](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v2/createSubAdmin.feature#L35) -- [apiProvisioning-v2/getSubAdmins.feature:11](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v2/getSubAdmins.feature#L11) -- [apiProvisioning-v2/getSubAdmins.feature:21](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v2/getSubAdmins.feature#L21) -- [apiProvisioning-v2/getSubAdmins.feature:30](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v2/getSubAdmins.feature#L30) -- [apiProvisioning-v2/getSubAdmins.feature:44](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiProvisioning-v2/getSubAdmins.feature#L44) - - ### Other API, search, favorites, config, capabilities, not existing endpoints, CORS and others @@ -2131,11 +2123,6 @@ Not everything needs to be implemented for ocis. While the oc10 testsuite covers - [apiWebdavUpload1/uploadFileToBlacklistedName.feature:66](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavUpload1/uploadFileToBlacklistedName.feature#L66) - [apiWebdavUpload1/uploadFileToBlacklistedName.feature:67](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavUpload1/uploadFileToBlacklistedName.feature#L67) -#### [Checksum feature](https://github.com/owncloud/ocis/issues/1291) -- [apiMain/checksums.feature:164](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiMain/checksums.feature#L164) Scenario: Upload new dav chunked file using async MOVE where checksum matches -- [apiMain/checksums.feature:180](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiMain/checksums.feature#L180) Scenario: Upload new dav chunked file using async MOVE where checksum does not match -- [apiMain/checksums.feature:198](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiMain/checksums.feature#L198) Scenario: Upload new dav chunked file using async MOVE where checksum does not match - retry with correct checksum - #### [Trying to accept a share with invalid ID gives incorrect OCS and HTTP status](https://github.com/owncloud/ocis/issues/2111) - [apiShareOperationsToShares2/shareAccessByID.feature:85](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares2/shareAccessByID.feature#L85) - [apiShareOperationsToShares2/shareAccessByID.feature:86](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares2/shareAccessByID.feature#L86) From 4ce54edc1ab153ea8894de1f7b9a94be549fcac4 Mon Sep 17 00:00:00 2001 From: "A.Unger" Date: Thu, 1 Jul 2021 15:11:34 +0200 Subject: [PATCH 08/10] use replaceall --- ocis/pkg/runtime/service/service.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ocis/pkg/runtime/service/service.go b/ocis/pkg/runtime/service/service.go index 534584ea73..3e9767e3a3 100644 --- a/ocis/pkg/runtime/service/service.go +++ b/ocis/pkg/runtime/service/service.go @@ -227,7 +227,7 @@ func scheduleServiceTokens(s *Service, funcSet serviceFuncMap) { // the runtime. func (s *Service) generateRunSet(cfg *config.Config) { if cfg.Runtime.Extensions != "" { - e := strings.Split(strings.Replace(cfg.Runtime.Extensions, " ", "", -1), ",") + e := strings.Split(strings.ReplaceAll(cfg.Runtime.Extensions, " ", ""), ",") for i := range e { runset = append(runset, e[i]) } From 9e81558fc9bbfe5ca6613d9e1e42b6b14ee3fbfc Mon Sep 17 00:00:00 2001 From: "A.Unger" Date: Thu, 1 Jul 2021 15:26:38 +0200 Subject: [PATCH 09/10] add changelog --- changelog/unreleased/extensions-cherrypick.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 changelog/unreleased/extensions-cherrypick.md diff --git a/changelog/unreleased/extensions-cherrypick.md b/changelog/unreleased/extensions-cherrypick.md new file mode 100644 index 0000000000..6fa4f89d9b --- /dev/null +++ b/changelog/unreleased/extensions-cherrypick.md @@ -0,0 +1,9 @@ +Enhancement: Runtime support for cherry picking extensions + +Support for running certain extensions supervised via cli flags. Example usage: + +``` +> ocis server --extensions="proxy, idp, storage-metadata, accounts" +``` + +https://github.com/owncloud/ocis/pull/2229 From c08c6c09a03c0eb36f098909564efbb865943eb3 Mon Sep 17 00:00:00 2001 From: Alex Unger <6905948+refs@users.noreply.github.com> Date: Thu, 1 Jul 2021 14:17:29 +0000 Subject: [PATCH 10/10] Automated changelog update [skip ci] --- CHANGELOG.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e3cb671ca4..46b2b249dc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,10 +6,19 @@ The following sections list the changes for unreleased. ## Summary +* Enhancement - Runtime support for cherry picking extensions: [#2229](https://github.com/owncloud/ocis/pull/2229) * Enhancement - Update REVA to v1.9.1-0.20210628143859-9d29c36c0c3f: [#2227](https://github.com/owncloud/ocis/pull/2227) ## Details +* Enhancement - Runtime support for cherry picking extensions: [#2229](https://github.com/owncloud/ocis/pull/2229) + + Support for running certain extensions supervised via cli flags. Example usage: + + ``` > ocis server --extensions="proxy, idp, storage-metadata, accounts" ``` + + https://github.com/owncloud/ocis/pull/2229 + * Enhancement - Update REVA to v1.9.1-0.20210628143859-9d29c36c0c3f: [#2227](https://github.com/owncloud/ocis/pull/2227) https://github.com/owncloud/ocis/pull/2227