owncloud / ocis

:atom_symbol: ownCloud Infinite Scale Stack
https://doc.owncloud.com/ocis/next/
Apache License 2.0
1.41k stars 184 forks source link

Release 7.0.0 #10373

Open ScharfViktor opened 1 month ago

ScharfViktor commented 1 month ago

Beta Phase

QA Phase

Extra QA Topics

Standard QA

After QA Phase

Post-release communication

JammingBen commented 1 month ago

Breaking changes for administrators in since Web version 8:

There are more breaking changes for developers, however they are not noteworthy when just updating oCIS (Web).

mmattel commented 1 month ago
  • Deprecated config options have been removed

@JammingBen Q: when looking into the referenced web PR, options have been removed - ok. But are there any web service options related to the ocis repo that are now gone too? In other words, how are the removed web options relevant for the ocis repo/admin if he cant set them? Or did I miss something?

JammingBen commented 1 month ago

Q: when looking into the referenced web PR, options have been removed - ok. But are there any web service options related to the ocis repo that are now gone too? In other words, how are the removed web options relevant for the ocis repo/admin if he cant set them? Or did I miss something?

The admin can set them via the web config file. It's not really breaking anything though, setting them did basically nothing. So this is listed just for sake of completeness.

micbar commented 4 weeks ago

@kobergj @mmattel @dragonchaser

We need to create a migration guide from 5.0 to 7.0. Something like https://doc.owncloud.com/ocis/5.0/migration/upgrading_4.0.0_5.0.0.html

Please collect all breaking changes.

CHANGES

mmattel commented 4 weeks ago

We need to create a migration guide from 5.0 to 7.0.

@ScharfViktor anything found so far with your tests?

mmattel commented 4 weeks ago

@ScharfViktor pls see ocis init --diff to get a delta for config changes between versions.

ScharfViktor commented 4 weeks ago

Please collect all breaking changes.

I created issue for that https://github.com/owncloud/ocis/issues/10416

ScharfViktor commented 3 weeks ago

Upgrade test with app-provider between owncloud/ocis:5.0 (uses cs3org/wopiserver) and owncloud/ocis-rolling:6.6.1 (uses new colaboration service)

Steps: git checkout stable-5.0 mkdir /yourPath/ocis-upgradeTest mkdir /yourPath/ocis-upgradeTest/config mkdir /yourPath/ocis-upgradeTest/data cd ocis/deployments/examples/ocis_wopi enable onlyoffice..env-> 204 line OCIS_CONFIG_DIR=/Users/scharfviktor/ocis-upgradeTest/config OCIS_DATA_DIR=/Users/scharfviktor/ocis-upgradeTest/data OCIS_DOCKER_TAG=5.0 docker compose up -d -- create data -- see checklist docker compose down git checkout master (v6.6.1) cd ocis/deployments/examples/ocis_full enable onlyoffice. .env -> 204 line OCIS_CONFIG_DIR=/Users/scharfviktor/ocis-upgradeTest/config OCIS_DATA_DIR=/Users/scharfviktor/ocis-upgradeTest/data OCIS_DOCKER_TAG=6.6.1 OCIS_DOCKER_IMAGE=owncloud/ocis-rolling docker compose up -d -- check created data --

Result: all data are exist. collabora and onlyoffice have been started but cannot be opened

image

ocis_full-collaboration-1 has: (ocis_full-collaboration-oo-1 hasn't log) : The WOPI secret has not been set properly in your config for collaboration. Make sure your /etc/ocis config contains the proper values (e.g. by running ocis init or setting it manually in the config/corresponding environment variable).

Solution:

Result: works. added to https://github.com/owncloud/ocis/issues/10416

ScharfViktor commented 3 weeks ago

Smoke test: ocis with ldap:

Preparation

Test

❌️ FAIL - after the update all created users and groups are gone. Need ask @rhafer - fixed here https://github.com/owncloud/ocis/pull/10457

saw-jan commented 2 weeks ago
  • [ ] QA: against mac - smoke test

We need someone who can do desktop client smoke test on Mac. Test cases are here

CC @ScharfViktor

ScharfViktor commented 2 weeks ago

We need someone who can do desktop client smoke test on Mac.

I'll take care

nirajacharya2 commented 2 weeks ago

Smoke Test with Web Office

Collabora

Onlyoffice

ScharfViktor commented 2 weeks ago

Ms office: Spreadsheet

Notice: I can create .pptx but cannot open it. https://pus4-powerpoint.officeapps.live.com/pods/PowerPoint.ashx?boot=true hangs for 1 min and is interrupted by

image
micbar commented 2 weeks ago

@ScharfViktor i know that problem. PowerPoint cannot deal with 0 byte files.

ScharfViktor commented 2 weeks ago

@ScharfViktor i know that problem. PowerPoint cannot deal with 0 byte files.

yes, can confirm. If I upload .pptx with content -> I can open and collaboration mode works

mmattel commented 2 weeks ago

@ScharfViktor The admin docs upgrade/migration guide PR is final and ready to merge, you can have a look to the rendered version at docs staging. Here you can see beside necessary content changes als info about CLI changes and envvar changes.

micbar commented 2 weeks ago

πŸŽ‰ Release Candidate v7.0.0-rc.1

Changelog

oCIS

Web

Reva

jesmrec commented 1 week ago

Mobile

Server version:

Infinite Scale 6.6.1 Community 
Infinite Scale v7.0.0-rc.1 (smoking) 

Android

Device & Android version: Xiaomi Redmi 13, Android 14
Android app version: v4.4.1

Test Case Steps Expected Result Result Related Comment
Login OIDC Login in an oCIS server, typing correct OIDC credentials Access to account Passed
New folder Open FAB and select to create a new folder with correct name The folder is created with the correct name Passed AUTO
Rename 1. Long press on a folder
Select Rename and type new name
Folder is renamed with the new name Passed AUTO
Move 1. Long press on a folder
2. Select Move, and a new location
Folder is moved to the specified location Passed AUTO
Copy 1. Long press on a folder
2. Select Copy, and a location to copy to (including space)
The folder and all its content is copied in the location, and also remains in the original Passed AUTO
Delete 1. Long press on a folder
2. Select Delete
Item deleted Passed AUTO
Sync 1. Create a folder
2. In web app, upload some files in the folder
3. Long press to sync the folder
The folder is sync with the content on server Passed AUTO
Upload Select 300 files from Document provider to upload to oC Files are uploaded and visible in the list of files. All OK in uploads view Passed
Upload from 3rd party app Select 300 files from an external app like Photos and share them with oC Files are uploaded and visible in the list of files. All OK in uploads view Passed
Download Tap to download a file The file is downloaded and marked with green arrow Passed AUTO
Preview Tap to download a image, a txt, a video and an audio files Files are downloaded and previewed correctly Passed AUTO
Open with 1. Long press on a txt file
2. Select Open with
3. Edit the file with an external editor and save it
4. Reopen oC
File is synced back to the server including the changes Passed
Av Offline file 1. Long press on a file
2. Select Av. offline
The file is downloaded and set as Av Offline with the purple tick Passed AUTO
Av Offline folder 1. Long press on a folder with subfolders and files inside
2. Select Av. offline
3. Add new content to the folder
2. The folder and all its content is downloaded and set as Av Offline with the purple tick
3. New content is available offline
Passed AUTO
Share with user 1. Share a file and a folder with another user
2. In web, accept the shares
Both are correctly shared and visible by the recipient in Shares space Passed AUTO
Link Create a link over a file and a folder Links are correctly created Passed AUTO
Spaces In web, create some spaces that are visible for the user List of spaces is visible in the app Passed AUTO
Open with web Open any file with an external app provider File opened in browser with the proper app provider Passed Tested with all Collabora supported formats
Edit with web Open any file with an external app provider, edit the file, and save it File synced with changes Passed Tested with all Collabora supported formats
Document Provider 1. Add several accounts
2. Open any app with SAF support
All accounts are correctly listed and are browsable Passed

E2E Report: https://reports.cucumber.io/reports/6f67dd52-adc9-4c29-8ecc-5258ad66839e

iOS

Device & iOS version: iPhone XR, iOS 18.1
iOS app version: v12.3.1

Test Case Steps Expected Result Result Related Comment
Login OIDC Login in an oCIS server, typing correct OIDC credentials Access to account Passed
New folder Select to create a new folder The folder is created with the correct name Passed AUTO
Rename Rename an existing folder Folder is renamed with the new name Passed AUTO
Move 1. Open the card of a folder
2. Select Move, and a new location
Folder is moved to the specifield location Passed AUTO
Copy 1. Open the card of a folder
2. Select Copy, and a location to copy to
The folder and all its content is copied in the location, and remains too in the original Passed AUTO
Duplicate 1. Open the card of a folder
2. Select Copy, and a location to copy to
The folder and all its content is copied in the location, and remains too in the original Passed AUTO
Delete 1. Open the card of a folder
2. Select Delete
Item deleted Passed AUTO
Upload Files Select several files from Document provider to upload to oC Files are uploaded Passed
Upload Albums Select several images and videos from Albums to upload to oC Images and videos are uploaded Passed AUTO
Upload from 3rd party app Select 300 files from an external app like Gallery and share them with oC Files are uploaded and visible in the list of files. All OK in uploads view Passed
Download Tap to download a file The file is downloaded and marked with green arrow Passed AUTO
Preview Tap to download a image, a txt, a video and an audio files Files are downloaded and previewed correctly Passed AUTO
Av Offline Open the card of a file to set as Av Offline The file is downloaded and set as Av Offline Passed AUTO
Av Offline folder Open the card of a folder to unset as Av Offline The folder and all its content is downloaded and set as Av Offline Passed AUTO
Share with user Share a file and a folder with another user Both are correctly shared Passed AUTO
Link Create a link over a file and a folder Links are correctly created Passed AUTO
Open with web Open any file with an external app provider File opened in browser with the proper app provider Passed Tested with all Collabora supported formats
Edit with web Open any file with an external app provider, edit the file, and save it File synced with changes Passed Tested with all Collabora supported formats
Files Provider 1. Add several accounts
2. Open any app with FP support
All accounts are correctly listed and are browsable Passed

E2E Report: https://reports.cucumber.io/reports/02bdc1e2-c52f-479d-8993-005a3e020f5d


Changelog items

Mobile apps don't support OCM and activity features yet. So, skipping those items. Android does not support TUS. Uploads in iOS tested as part of the testing


Removed resharing: https://github.com/owncloud/ocis/pull/8762

Android: Passed
iOS: Passed


Hidden shares: https://github.com/owncloud/ocis/issues/7383

Android: not working, hidden share is always shown. Need check in client side
iOS: Passed


Regards

        {
            "allow_creation": true,
            "app_providers": [
                {
                    "address": "com.owncloud.api.collaboration.CollaboraOnline",
                    "description": "Open office documents with Collabora",
                    "icon": "https://collabora.ocis.rolling.owncloud.works/favicon.ico",
                    "name": "CollaboraOnline",
                    "secure_view": false
                }
            ],
            "default_application": "OnlyOffice",
            "description": "Microsoft PowerPoint document",
            "ext": "pptx",
            "mime_type": "application/vnd.openxmlformats-officedocument.presentationml.presentation",
            "name": "Microsoft PowerPoint"
        }

in which the default_application was not one of the providers, causing an error in creation time. This is only stethyc because the file is created and can be edited. As commented with Viktor via chat, it could be fixed with an env variable.

Related: https://github.com/owncloud/ocis/pull/10276

Secure View is not implemented in mobile clients yet, and not tested since there was no available environment to test it. After some attempts to create a backend, it didn't work.


Conclusion

Ok from mobile side

ScharfViktor commented 1 week ago

during the testing https://doc.staging.owncloud.com/ocis/next/migration/upgrading_5.0.x_7.0.0.html I found that patch command is missing in the ocis image https://github.com/owncloud/docs-ocis/pull/1029#issuecomment-2468522428

micbar commented 1 week ago

πŸŽ‰ Release Candidate 7.0.0-rc.2

Known Issues

micbar commented 2 days ago

πŸŽ‰ Release Candidate 7.0.0-rc.3

oCIS

Web

Reva

Load Test Results

[INFO] Starting ocis server...
[INFO] Waiting for ocis connection...
[INFO] oCIS server is ready to connect!
 This is not recommended for public instances! [yes | no = default] Warning: Permanently added '******' (ED25519) to the list of known hosts.

          /\      |β€Ύβ€Ύ| /β€Ύβ€Ύ/   /β€Ύβ€Ύ/   
     /\  /  \     |  |/  /   /  /    
    /  \/    \    |     (   /   β€Ύβ€Ύ\  
   /          \   |  |\  \ |  (β€Ύ)  | 
  / __________ \  |__| \__\ \_____/ .io

[INFO] generate testId 44833086-de09-496a-8436-21480270f7f8
Execution: local
script: packages/k6-tests/artifacts/src-seeds-up-k6.js
output: -

     β–ˆ setup

       βœ“ authn -> logonResponse - status
       βœ“ authn -> authorizeResponse - status
       βœ“ authn -> accessTokenResponse - status
       βœ“ client -> role.getMyDrives - status
       βœ“ client -> application.createDrive - status
       βœ“ client -> group.createGroup - status
       βœ“ client -> role.getRoles - status
       βœ“ client -> application.listApplications - status
       βœ“ client -> user.createUser - status
       βœ“ client -> role.addRoleToUser - status
       βœ“ client -> share.createSpaceInvitation - status
       βœ“ client -> group.addGroupMember - status
       βœ“ client -> resource.createResource - status
       βœ“ client -> resource.uploadResource - status

     checks.........................: 100.00% βœ“ 1956      βœ— 0   
     data_received..................: 2.2 MB  19 kB/s
     data_sent......................: 124 MB  1.1 MB/s
     http_req_blocked...............: avg=7.31Β΅s   p(95)=4.29Β΅s  p(99)=7.75Β΅s   count=1956
     http_req_connecting............: avg=257ns    p(95)=0s      p(99)=0s       count=1956
     http_req_duration..............: avg=59.02ms  p(95)=96.54ms p(99)=108.21ms count=1956
       { expected_response:true }...: avg=59.02ms  p(95)=96.54ms p(99)=108.21ms count=1956
     http_req_failed................: 0.00%   βœ“ 0         βœ— 1956
     http_req_receiving.............: avg=59.73Β΅s  p(95)=79.58Β΅s p(99)=102.02Β΅s count=1956
     http_req_sending...............: avg=572.13Β΅s p(95)=34.45Β΅s p(99)=38.22Β΅s  count=1956
     http_req_tls_handshaking.......: avg=3.61Β΅s   p(95)=0s      p(99)=0s       count=1956
     http_req_waiting...............: avg=58.39ms  p(95)=96.36ms p(99)=107.45ms count=1956
     http_reqs......................: 1956    16.584398/s
     iteration_duration.............: avg=58.88s   p(95)=1m51s   p(99)=1m56s    count=2   
     iterations.....................: 1       0.008479/s
     vus............................: 0       min=0       max=0 
     vus_max........................: 1       min=1       max=1 

K6 test successful
Execution: local
script: packages/k6-tests/artifacts/tests-koko-platform-000-mixed-ramping-k6.js
output: -
time="2024-11-21T08:44:43+01:00" level=warning msg="The test has generated metrics with 100004 unique time series, which is higher than the suggested limit of 100000 and could cause high memory usage. Consider not using high-cardinality values like unique IDs as metric tags or, if you need them in the URL, use the name metric tag or URL grouping. See https://k6.io/docs/using-k6/tags-and-groups for details." component=metrics-engine-ingester

     βœ“ authn -> logonResponse - status
     βœ“ authn -> authorizeResponse - status
     βœ“ authn -> accessTokenResponse - status
     βœ“ client -> user.findUser - status
     βœ“ client -> role.getMyDrives - status
     βœ“ client -> resource.getResourceProperties - status
     βœ“ client -> application.createDrive - status
     βœ“ client -> drive.deactivateDrive - status
     βœ“ client -> resource.createResource - status
     βœ“ client -> drive.deleteDrive - status
     βœ“ client -> resource.downloadResource - status
     βœ“ client -> tag.addTagToResource - status
     βœ“ client -> group.findGroup - status
     βœ“ client -> tag.getTagForResource - status
     βœ“ test -> resource.getTags - name - match
     βœ“ client -> tag.removeTagToResource - status
     βœ“ client -> share.createShareInvitation - status
     βœ“ client -> resource.uploadResource - status
     βœ“ client -> share.deleteShareInvitation - status
     βœ“ client -> resource.moveResource - status
     βœ“ client -> resource.deleteResource - status

     checks.........................: 100.00% βœ“ 52316     βœ— 0    
     data_received..................: 24 GB   18 MB/s
     data_sent......................: 16 GB   12 MB/s
     http_req_blocked...............: avg=53.48Β΅s  p(95)=7.4Β΅s    p(99)=10.81Β΅s  count=51046
     http_req_connecting............: avg=3.97Β΅s   p(95)=0s       p(99)=0s       count=51046
   βœ“ http_req_duration..............: avg=128.23ms p(95)=316.86ms p(99)=718.97ms count=51046
       { expected_response:true }...: avg=128.23ms p(95)=316.86ms p(99)=718.97ms count=51046
   βœ“ http_req_failed................: 0.00%   βœ“ 0         βœ— 51046
     http_req_receiving.............: avg=9.28ms   p(95)=500.47Β΅s p(99)=352.87ms count=51046
     http_req_sending...............: avg=4.51ms   p(95)=40.56Β΅s  p(99)=1.16ms   count=51046
     http_req_tls_handshaking.......: avg=43.61Β΅s  p(95)=0s       p(99)=0s       count=51046
     http_req_waiting...............: avg=114.42ms p(95)=284.14ms p(99)=408.39ms count=51046
     http_reqs......................: 51046   38.004195/s
     iteration_duration.............: avg=11.72s   p(95)=19.67s   p(99)=23.95s   count=28513
     iterations.....................: 28513   21.228179/s
     vus............................: 1       min=0       max=300
     vus_max........................: 300     min=64      max=300

[INFO] Stopping ocis server...
micbar commented 2 days ago

@jnweiger @ScharfViktor Please arrange the OCM tests now, fixes have been released.