Re: download.ceph.com repository changes
Reviving this old thread. I still think this is something we should consider as users still experience problems: * Impossible to 'pin' to a version. User installs 14.2.0 and 4 months later they add other nodes but version moved to 14.2.2 * Impossible to use a version that is not what the latest is (e.g. if someone doesn't need the release from Monday, but wants the one from 6 months ago), similar to the above * When a release is underway, the repository breaks because syncing packages takes hours. The operation is not atomic. * It is not currently possible to "remove" a bad release, in the past, this means cutting a new release as soon as possible, which can take days The latest issue (my fault!) was to cut a release and get the packages out without communicating with the release manager, which caused users to note there is a new version *as soon as it was up* vs, a process that could've not touched the 'latest' url until the announcement goes out. If you have been affected by any of these issues (or others I didn't come up with), please let us know in this thread so that we can find some common ground and try to improve the process. Thanks! On Tue, Jul 24, 2018 at 10:38 AM Alfredo Deza <adeza@redhat.com> wrote:
Hi all,
After the 12.2.6 release went out, we've been thinking on better ways to remove a version from our repositories to prevent users from upgrading/installing a known bad release.
The way our repos are structured today means every single version of the release is included in the repository. That is, for Luminous, every 12.x.x version of the binaries is in the same repo. This is true for both RPM and DEB repositories.
However, the DEB repos don't allow pinning to a given version because our tooling (namely reprepro) doesn't construct the repositories in a way that this is allowed. For RPM repos this is fine, and version pinning works.
To remove a bad version we have to proposals (and would like to hear ideas on other possibilities), one that would involve symlinks and the other one which purges the known bad version from our repos.
*Symlinking* When releasing we would have a "previous" and "latest" symlink that would get updated as versions move forward. It would require separation of versions at the URL level (all versions would no longer be available in one repo).
The URL structure would then look like:
debian/luminous/12.2.3/ debian/luminous/previous/ (points to 12.2.5) debian/luminous/latest/ (points to 12.2.7)
Caveats: the url structure would change from debian-luminous/ to prevent breakage, and the versions would be split. For RPMs it would mean a regression if someone is used to pinning, for example pinning to 12.2.2 wouldn't be possible using the same url.
Pros: Faster release times, less need to move packages around, and easier to remove a bad version
*Single version removal* Our tooling would need to go and remove the known bad version from the repository, which would require to rebuild the repository again, so that the metadata is updated with the difference in the binaries.
Caveats: time intensive process, almost like cutting a new release which takes about a day (and sometimes longer). Error prone since the process wouldn't be the same (one off, just when a version needs to be removed)
Pros: all urls for download.ceph.com and its structure are kept the same.
Just wanted to say we do not have any problems with current/past setup. Our ceph nodes are not even connected to the internet and we relay everything via 'our own local mirror'. -----Original Message----- From: Alfredo Deza [mailto:adeza@redhat.com] Sent: dinsdag 17 september 2019 15:15 To: ceph-maintainers@ceph.com; ceph-users; ceph-devel Subject: [ceph-users] Re: download.ceph.com repository changes Reviving this old thread. I still think this is something we should consider as users still experience problems: * Impossible to 'pin' to a version. User installs 14.2.0 and 4 months later they add other nodes but version moved to 14.2.2 * Impossible to use a version that is not what the latest is (e.g. if someone doesn't need the release from Monday, but wants the one from 6 months ago), similar to the above * When a release is underway, the repository breaks because syncing packages takes hours. The operation is not atomic. * It is not currently possible to "remove" a bad release, in the past, this means cutting a new release as soon as possible, which can take days The latest issue (my fault!) was to cut a release and get the packages out without communicating with the release manager, which caused users to note there is a new version *as soon as it was up* vs, a process that could've not touched the 'latest' url until the announcement goes out. If you have been affected by any of these issues (or others I didn't come up with), please let us know in this thread so that we can find some common ground and try to improve the process. Thanks! On Tue, Jul 24, 2018 at 10:38 AM Alfredo Deza <adeza@redhat.com> wrote:
Hi all,
After the 12.2.6 release went out, we've been thinking on better ways to remove a version from our repositories to prevent users from upgrading/installing a known bad release.
The way our repos are structured today means every single version of the release is included in the repository. That is, for Luminous, every 12.x.x version of the binaries is in the same repo. This is true
for both RPM and DEB repositories.
However, the DEB repos don't allow pinning to a given version because our tooling (namely reprepro) doesn't construct the repositories in a way that this is allowed. For RPM repos this is fine, and version pinning works.
To remove a bad version we have to proposals (and would like to hear ideas on other possibilities), one that would involve symlinks and the
other one which purges the known bad version from our repos.
*Symlinking* When releasing we would have a "previous" and "latest" symlink that would get updated as versions move forward. It would require separation of versions at the URL level (all versions would no longer be available in one repo).
The URL structure would then look like:
debian/luminous/12.2.3/ debian/luminous/previous/ (points to 12.2.5) debian/luminous/latest/ (points to 12.2.7)
Caveats: the url structure would change from debian-luminous/ to prevent breakage, and the versions would be split. For RPMs it would mean a regression if someone is used to pinning, for example pinning to 12.2.2 wouldn't be possible using the same url.
Pros: Faster release times, less need to move packages around, and easier to remove a bad version
*Single version removal* Our tooling would need to go and remove the known bad version from the
repository, which would require to rebuild the repository again, so that the metadata is updated with the difference in the binaries.
Caveats: time intensive process, almost like cutting a new release which takes about a day (and sometimes longer). Error prone since the process wouldn't be the same (one off, just when a version needs to be removed)
Pros: all urls for download.ceph.com and its structure are kept the same.
ceph-users mailing list -- ceph-users@ceph.io To unsubscribe send an email to ceph-users-leave@ceph.io
"Alfredo Deza" <adeza@redhat.com> writes:
Reviving this old thread.
I still think this is something we should consider as users still experience problems:
* Impossible to 'pin' to a version. User installs 14.2.0 and 4 months later they add other nodes but version moved to 14.2.2 * Impossible to use a version that is not what the latest is (e.g. if someone doesn't need the release from Monday, but wants the one from 6 months ago), similar to the above * When a release is underway, the repository breaks because syncing packages takes hours. The operation is not atomic.
One of the main problems is the non atomicity here, so one way would be that we announce we're building and syncing packages and the release should be out soon, the main problem then is that this process can vary between hours to a couple of days (or if it's a fri. longer).
* It is not currently possible to "remove" a bad release, in the past, this means cutting a new release as soon as possible, which can take days
The latest issue (my fault!) was to cut a release and get the packages out without communicating with the release manager, which caused users to note there is a new version *as soon as it was up* vs, a process that could've not touched the 'latest' url until the announcement goes out.
If you have been affected by any of these issues (or others I didn't come up with), please let us know in this thread so that we can find some common ground and try to improve the process.
Thanks!
On Tue, Jul 24, 2018 at 10:38 AM Alfredo Deza <adeza@redhat.com> wrote:
Hi all,
After the 12.2.6 release went out, we've been thinking on better ways to remove a version from our repositories to prevent users from upgrading/installing a known bad release.
The way our repos are structured today means every single version of the release is included in the repository. That is, for Luminous, every 12.x.x version of the binaries is in the same repo. This is true for both RPM and DEB repositories.
However, the DEB repos don't allow pinning to a given version because our tooling (namely reprepro) doesn't construct the repositories in a way that this is allowed. For RPM repos this is fine, and version pinning works.
To remove a bad version we have to proposals (and would like to hear ideas on other possibilities), one that would involve symlinks and the other one which purges the known bad version from our repos.
*Symlinking* When releasing we would have a "previous" and "latest" symlink that would get updated as versions move forward. It would require separation of versions at the URL level (all versions would no longer be available in one repo).
The URL structure would then look like:
debian/luminous/12.2.3/ debian/luminous/previous/ (points to 12.2.5) debian/luminous/latest/ (points to 12.2.7)
Caveats: the url structure would change from debian-luminous/ to prevent breakage, and the versions would be split. For RPMs it would mean a regression if someone is used to pinning, for example pinning to 12.2.2 wouldn't be possible using the same url.
Pros: Faster release times, less need to move packages around, and easier to remove a bad version
*Single version removal* Our tooling would need to go and remove the known bad version from the repository, which would require to rebuild the repository again, so that the metadata is updated with the difference in the binaries.
Caveats: time intensive process, almost like cutting a new release which takes about a day (and sometimes longer). Error prone since the process wouldn't be the same (one off, just when a version needs to be removed)
Pros: all urls for download.ceph.com and its structure are kept the same.
_______________________________________________ ceph-users mailing list -- ceph-users@ceph.io To unsubscribe send an email to ceph-users-leave@ceph.io
-- Abhishek
Den tis 17 sep. 2019 kl 15:15 skrev Alfredo Deza <adeza@redhat.com>:
Reviving this old thread. * When a release is underway, the repository breaks because syncing packages takes hours. The operation is not atomic.
Couldn't they be almost atomic? I believe both "yum" and "apt" would only consider rpms/debs if they are listed in the repo index files*, so you should be able to copy out rpms and debs and at the final step "mv" the index files into place, making the packages visible in a super short time? *) .xml.gz for rpms, db/ files for debs. Obviously this is a very small part of the list of problems, but I think anyone mirroring huge sets of rpms/debs would have faced and solved this particular nit by now? -- May the most significant bit of your life be positive.
On 17/09/2019 14:14, Alfredo Deza wrote:
* Impossible to 'pin' to a version. User installs 14.2.0 and 4 months later they add other nodes but version moved to 14.2.2
I dynamically generate a pin for the ceph .deb files in ansible using the tasks below. IIRC the ceph-deploy package doesn't follow the same versioning but I'm not using that tool. Hope others might find this useful. James - name: "get ceph Package list" set_fact: ceph_version: "14.2.3*" ceph_packages: "{{ lookup('url', 'http://download.ceph.com/debian-nautilus/dists/bionic/main/binary-amd64/Pack...', wantlist=True) | select('match', '^Package: *') | sort | list }}" run_once: yes - name: "generate apt pin for ceph" template: src: "{{ playbook_dir }}/tasks/apt-ceph-pin.j2" dest: /etc/apt/preferences.d/ceph mode: 0644 owner: root group: root The template is: {% for pin in ceph_packages %} {{ pin }} Pin: version {{ ceph_version }} Pin-Priority: 1001 {% endfor %} Zynstra is a private limited company registered in England and Wales (registered number 07864369). Our registered office and Headquarters are at The Innovation Centre, Broad Quay, Bath, BA1 1UD. This email, its contents and any attachments are confidential. If you have received this message in error please delete it from your system and advise the sender immediately.
I have been affected by few issues mentioned by Alfredo. * Version Pinning: Had to install several debs of specific version to be able to pull dependencies of the correct version. I believe that other projects resolving it by creating a virtual package that pulls all of the proper dependencies in. Not sure if the same done by RPM / Yum. * Unannounced releases. I believe it is more of a procedural issue and unfortunately something will need to be done to enforce the compliance once rules of packages release are finalized. * I am bothered with a quality of the releases of a very complex system that can bring down a whole house and keep it down for a while. While I wish the QA would be perfect, I wonder if it would be practical to release new packages to a testing repo before moving it to a main one. There is a chance then someone will detect a problem before it becomes a production issue. Let it seat for a couple days or weeks in testing. People who need new update right away or just want to test will install it and report the problems. Others will not be affected. Just my 2c, On Tue, Sep 17, 2019, 8:15 AM Alfredo Deza <adeza@redhat.com> wrote:
Reviving this old thread.
I still think this is something we should consider as users still experience problems:
* Impossible to 'pin' to a version. User installs 14.2.0 and 4 months later they add other nodes but version moved to 14.2.2 * Impossible to use a version that is not what the latest is (e.g. if someone doesn't need the release from Monday, but wants the one from 6 months ago), similar to the above * When a release is underway, the repository breaks because syncing packages takes hours. The operation is not atomic. * It is not currently possible to "remove" a bad release, in the past, this means cutting a new release as soon as possible, which can take days
The latest issue (my fault!) was to cut a release and get the packages out without communicating with the release manager, which caused users to note there is a new version *as soon as it was up* vs, a process that could've not touched the 'latest' url until the announcement goes out.
If you have been affected by any of these issues (or others I didn't come up with), please let us know in this thread so that we can find some common ground and try to improve the process.
Thanks!
On Tue, Jul 24, 2018 at 10:38 AM Alfredo Deza <adeza@redhat.com> wrote:
Hi all,
After the 12.2.6 release went out, we've been thinking on better ways to remove a version from our repositories to prevent users from upgrading/installing a known bad release.
The way our repos are structured today means every single version of the release is included in the repository. That is, for Luminous, every 12.x.x version of the binaries is in the same repo. This is true for both RPM and DEB repositories.
However, the DEB repos don't allow pinning to a given version because our tooling (namely reprepro) doesn't construct the repositories in a way that this is allowed. For RPM repos this is fine, and version pinning works.
To remove a bad version we have to proposals (and would like to hear ideas on other possibilities), one that would involve symlinks and the other one which purges the known bad version from our repos.
*Symlinking* When releasing we would have a "previous" and "latest" symlink that would get updated as versions move forward. It would require separation of versions at the URL level (all versions would no longer be available in one repo).
The URL structure would then look like:
debian/luminous/12.2.3/ debian/luminous/previous/ (points to 12.2.5) debian/luminous/latest/ (points to 12.2.7)
Caveats: the url structure would change from debian-luminous/ to prevent breakage, and the versions would be split. For RPMs it would mean a regression if someone is used to pinning, for example pinning to 12.2.2 wouldn't be possible using the same url.
Pros: Faster release times, less need to move packages around, and easier to remove a bad version
*Single version removal* Our tooling would need to go and remove the known bad version from the repository, which would require to rebuild the repository again, so that the metadata is updated with the difference in the binaries.
Caveats: time intensive process, almost like cutting a new release which takes about a day (and sometimes longer). Error prone since the process wouldn't be the same (one off, just when a version needs to be removed)
Pros: all urls for download.ceph.com and its structure are kept the
same. _______________________________________________ ceph-users mailing list -- ceph-users@ceph.io To unsubscribe send an email to ceph-users-leave@ceph.io
On Tue, Sep 17, 2019 at 8:03 AM Sasha Litvak <alexander.v.litvak@gmail.com> wrote:
* I am bothered with a quality of the releases of a very complex system that can bring down a whole house and keep it down for a while. While I wish the QA would be perfect, I wonder if it would be practical to release new packages to a testing repo before moving it to a main one. There is a chance then someone will detect a problem before it becomes a production issue. Let it seat for a couple days or weeks in testing. People who need new update right away or just want to test will install it and report the problems. Others will not be affected.
I think it would be a good step forward to have a separate "testing" repository. This repository would be a little more cutting-edge, and we'd copy all the binaries over to the "main" repository location after 48 hours or something. This would let us all publicly test the candidate GPG-signed packages, for example. - Ken
IRT a testing/cutting edge repo, the non-LTS versions of Ceph have been removed because very few people ever used them and tested them. The majority of people that would be using the testing repo would be people needing a bug fix ASAP. Very few people would actually use this regularly and its effectiveness would be almost zero in preventing problems slipping through. At work I haven't had a problem with which version of Ceph is being installed because we always have local mirrors of the repo that we only update with the upstream repos when we're ready to test a new version in our QA environments long before we promote the version for production use. That said, I've been bit by this multiple times in my home environment where I've accidentally updated a server or reinstalled a server and needed to upgrade my Ceph cluster before I could finish because it installed a newer version of Ceph. I have had to download the entire copy of a version from online, put it into a folder on disk, and set up a repo feeding from that local folder to install a specific version. This would be very handy to just use the ability in apt or yum to just specify a different version of a package in the repo. Problem releases have become more problematic than needed because the packages were left the default packages after a bug was known because there was no way to remove them from the repo. People continue to see the upgrade and grabbing it not realizing it's a busted release. I've only seen that happen on the ML here, but I personally will not touch a new release for at least 2 weeks after it's been released even in my testing clusters. On Tue, Sep 24, 2019 at 4:06 PM Ken Dreyer <kdreyer@redhat.com> wrote:
On Tue, Sep 17, 2019 at 8:03 AM Sasha Litvak <alexander.v.litvak@gmail.com> wrote:
* I am bothered with a quality of the releases of a very complex system
can bring down a whole house and keep it down for a while. While I wish
that the
QA would be perfect, I wonder if it would be practical to release new packages to a testing repo before moving it to a main one. There is a chance then someone will detect a problem before it becomes a production issue. Let it seat for a couple days or weeks in testing. People who need new update right away or just want to test will install it and report the problems. Others will not be affected.
I think it would be a good step forward to have a separate "testing" repository. This repository would be a little more cutting-edge, and we'd copy all the binaries over to the "main" repository location after 48 hours or something.
This would let us all publicly test the candidate GPG-signed packages, for example.
- Ken _______________________________________________ ceph-users mailing list -- ceph-users@ceph.io To unsubscribe send an email to ceph-users-leave@ceph.io
Den tis 24 sep. 2019 kl 23:35 skrev David Turner <drakonstein@gmail.com>:
At work I haven't had a problem with which version of Ceph is being installed because we always have local mirrors of the repo that we only update with the upstream repos when we're ready to test a new version in our QA environments long before we promote the version for production use.
Problem releases have become more problematic than needed because the packages were left the default packages after a bug was known because there was no way to remove them from the repo. People continue to see the upgrade and grabbing it not realizing it's a busted release. I've only seen that happen on the ML here, but I personally will not touch a new release for at least 2 weeks after it's been released even in my testing clusters.
So this solution (having a mirror of your own) then becomes "when should I run mirror sync" instead of "when should I make an install that pulls whatever is deemed current in the repo" which might help you but still would be prone to falling into the same trap, "bad" pgks gets listed as the latest and hence get installed, regardless of if bad means "has bugs" or just "installed before announcement is out or before announcement+2 weeks". The window gets smaller but not zero. 8-/ -- May the most significant bit of your life be positive.
I guess for me the more crucial questions should be answered: 1. How can a busted release be taken out of repos (some metadata update I hope)? 2. Can some fix(es) be added into a test release so they can be accessed by community and tested / used before next general release is avaialble. I was thinking about trying to pick some critical backports for internal build / testing but it is not very simple for everyone. It seems that shaman has some test builds going on, so may be if a track issue will mention that build xxxyz contains fixes for ticket 9999 "for testing purposes only use at your peril", it will allow the community to test the build and for someone who in need to get to the higher ground quickly. On Wed, Sep 25, 2019 at 12:41 AM Janne Johansson <icepic.dz@gmail.com> wrote:
Den tis 24 sep. 2019 kl 23:35 skrev David Turner <drakonstein@gmail.com>:
At work I haven't had a problem with which version of Ceph is being installed because we always have local mirrors of the repo that we only update with the upstream repos when we're ready to test a new version in our QA environments long before we promote the version for production use.
Problem releases have become more problematic than needed because the packages were left the default packages after a bug was known because there was no way to remove them from the repo. People continue to see the upgrade and grabbing it not realizing it's a busted release. I've only seen that happen on the ML here, but I personally will not touch a new release for at least 2 weeks after it's been released even in my testing clusters.
So this solution (having a mirror of your own) then becomes "when should I run mirror sync" instead of "when should I make an install that pulls whatever is deemed current in the repo" which might help you but still would be prone to falling into the same trap, "bad" pgks gets listed as the latest and hence get installed, regardless of if bad means "has bugs" or just "installed before announcement is out or before announcement+2 weeks". The window gets smaller but not zero. 8-/
-- May the most significant bit of your life be positive. _______________________________________________ ceph-users mailing list -- ceph-users@ceph.io To unsubscribe send an email to ceph-users-leave@ceph.io
On Wed, Sep 25, 2019 at 1:56 PM Sasha Litvak <alexander.v.litvak@gmail.com> wrote:
I guess for me the more crucial questions should be answered:
1. How can a busted release be taken out of repos (some metadata update I hope)?
It's hard to define the word "busted" in a way that satisfies everyone. For example, in the past, we've heard rumors that the releases are "busted" and we need to pull them, and in reality the impact turned out to be way smaller than expected. If we let panic reign, we would have builds appearing and disappearing quite often. Or to borrow a real example, what happens when the new (buggy) release fixes a CVE, and we coordinated the disclosure of the CVE to happen on release day? Then we're hurting some users to help others.
2. Can some fix(es) be added into a test release so they can be accessed by community and tested / used before next general release is avaialble. I was thinking about trying to pick some critical backports for internal build / testing but it is not very simple for everyone. It seems that shaman has some test builds going on, so may be if a track issue will mention that build xxxyz contains fixes for ticket 9999 "for testing purposes only use at your peril", it will allow the community to test the build and for someone who in need to get to the higher ground quickly.
There's certainly more to explore here. Maybe we need a defined release criteria so things are less subjective. Or maybe increasing the frequency and decreasing the size of releases will help. I'm interested in lowering the barriers for contributors to test early and often so our cutting-edge users get their builds fast and our more conservative users get something more stable.
Hello,
I still think this is something we should consider as users still experience problems:
* Impossible to 'pin' to a version. User installs 14.2.0 and 4 months later they add other nodes but version moved to 14.2.2 * Impossible to use a version that is not what the latest is (e.g. if someone doesn't need the release from Monday, but wants the one from 6 months ago), similar to the above
I think this could be a good idea, even if there is bugfix in next release, sometimes you don't want to fix a version in a stable cluster. I use CEPH-ansible but I don't know if it's possible to choose a release that is not the latest.
* When a release is underway, the repository breaks because syncing packages takes hours. The operation is not atomic.
Maybe build package on another server or tl least on another repo and when it's done, move all of them in one atomic operation after last tests? So we can imagine having a prerelease channel where volunteers can use it and test and let the stable official repo untouched until it's ready. Asking CEPH users to maintain a local repo just to keep a specific version installabled for himself is a bit hard and not what I expect from a machine critical storage solution.
* It is not currently possible to "remove" a bad release, in the past, this means cutting a new release as soon as possible, which can take days
This is also an important process to setup, Ceph is used for critical infrastructure, there are already plenty of tests and is really stable but we all know how a bug can be malicious and destructive and how quickly users can lose confidence in it. Be able to remove, quickly, a buggy package is a must I think. And this will be a guarantee of quality to your users.
The latest issue (my fault!) was to cut a release and get the packages out without communicating with the release manager, which caused users to note there is a new version *as soon as it was up* vs, a process that could've not touched the 'latest' url until the announcement goes out.
In French, we say something like "There are two kinds of administrators, those who have made mistakes under root, and those who will do it." (I'm a member of the first group.) But processes are here to avoid or at least reduce the impact of those mistakes. And this is why we use CEPH, its design can avoid some mistakes as root. Invest a few time to improve the release process may increase even more confidence in Ceph.
If you have been affected by any of these issues (or others I didn't come up with), please let us know in this thread so that we can find some common ground and try to improve the process.
my 2 cents, Best,
On Tue, Jul 24, 2018 at 10:38 AM Alfredo Deza <adeza@redhat.com> wrote:
Hi all,
After the 12.2.6 release went out, we've been thinking on better ways to remove a version from our repositories to prevent users from upgrading/installing a known bad release.
The way our repos are structured today means every single version of the release is included in the repository. That is, for Luminous, every 12.x.x version of the binaries is in the same repo. This is true for both RPM and DEB repositories.
However, the DEB repos don't allow pinning to a given version because our tooling (namely reprepro) doesn't construct the repositories in a way that this is allowed. For RPM repos this is fine, and version pinning works.
To remove a bad version we have to proposals (and would like to hear ideas on other possibilities), one that would involve symlinks and the other one which purges the known bad version from our repos.
*Symlinking* When releasing we would have a "previous" and "latest" symlink that would get updated as versions move forward. It would require separation of versions at the URL level (all versions would no longer be available in one repo).
The URL structure would then look like:
debian/luminous/12.2.3/ debian/luminous/previous/ (points to 12.2.5) debian/luminous/latest/ (points to 12.2.7)
Caveats: the url structure would change from debian-luminous/ to prevent breakage, and the versions would be split. For RPMs it would mean a regression if someone is used to pinning, for example pinning to 12.2.2 wouldn't be possible using the same url.
Pros: Faster release times, less need to move packages around, and easier to remove a bad version
*Single version removal* Our tooling would need to go and remove the known bad version from the repository, which would require to rebuild the repository again, so that the metadata is updated with the difference in the binaries.
Caveats: time intensive process, almost like cutting a new release which takes about a day (and sometimes longer). Error prone since the process wouldn't be the same (one off, just when a version needs to be removed)
Pros: all urls for download.ceph.com and its structure are kept the same.
_______________________________________________ ceph-users mailing list -- ceph-users@ceph.io To unsubscribe send an email to ceph-users-leave@ceph.io
-- Yoann Moulin EPFL IC-IT
participants (9)
-
Abhishek Lekshmanan
-
Alfredo Deza
-
David Turner
-
James Dingwall
-
Janne Johansson
-
Ken Dreyer
-
Marc Roos
-
Sasha Litvak
-
Yoann Moulin