Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DNM] samples: Removal of Zephyr smp_svr sample #60

Closed

Conversation

de-nordic
Copy link
Contributor

Zaphyr RTOS is keeping its own copy of sample and this sample has not
been updated far too long to work with Zephyr.

Signed-off-by: Dominik Ermel dominik.ermel@nordicsemi.no

Zaphyr RTOS is keeping its own copy of sample and this sample has not
been updated far too long to work with Zephyr.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
@de-nordic
Copy link
Contributor Author

@carlescufi I think sample in Zephyr is enough.

Copy link
Member

@utzig utzig left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Contributor

@mlaz mlaz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@carlescufi
Copy link
Contributor

carlescufi commented Jan 23, 2020

cc @de-nordic and @nvlsianpu

@utzig can you please add @de-nordic as a collaborator to this repo so we can add him as a reviewer?

@utzig
Copy link
Member

utzig commented Jan 23, 2020

@utzig can you please add @de-nordic as a collaborator to this repo so we can add him as a reviewer?

I cannot myself, but I opened an issue here: https://issues.apache.org/jira/browse/INFRA-19757

@de-nordic
Copy link
Contributor Author

I cannot myself, but I opened an issue here: https://issues.apache.org/jira/browse/INFRA-19757

Thank!

@vrahane
Copy link
Contributor

vrahane commented Jan 23, 2020

@de-nordic So, what is the plan here, only to maintain a sample in the zephyr repo or the zephyr fork of mcumgr ? Can we add Zephyr's sample here. That way we can actually make sure it works with zephyr going down the road and each time we update the zephyr smp_svr app or we make big changes to mcumgr we should test it with zephyr.

@de-nordic de-nordic changed the title [DNM] samples: Removal of Zephyr smp_svr sample samples: Removal of Zephyr smp_svr sample Jan 24, 2020
@de-nordic de-nordic changed the title samples: Removal of Zephyr smp_svr sample [DNM] samples: Removal of Zephyr smp_svr sample Jan 24, 2020
@de-nordic
Copy link
Contributor Author

@de-nordic So, what is the plan here, only to maintain a sample in the zephyr repo or the zephyr fork of mcumgr ? Can we add Zephyr's sample here. That way we can actually make sure it works with zephyr going down the road and each time we update the zephyr smp_svr app or we make big changes to mcumgr we should test it with zephyr.

Basically I want to avoid duplicate of the same sample, that gets out of sync. I think that this has been your sample, so If you prefer it to be here I do not have really strong arguments to oppose this.
Instead of removing this sample, I am willing to replace it with zephyr, updated version and remove it from zephyr instead, though I will need to add some support to make it part of test suite.

To test this with Zephyr you need to use Zephyr anyway.

I need to think it over. I just want to avoid having out of sync versions where someone would have to pick patches by hand and apply them both ways.

@utzig
Copy link
Member

utzig commented Jan 24, 2020

@de-nordic @carlescufi So, the answer I got in the ticket was: "This is not possible currently. Write access to ASF repos requires a filed ICLA. This is part of the ASF's legal provenance. If someone is so important to your review process, why would you not invite them as a committer?". So much for doing a review! We can do the process if you don't mind but it takes a few days and you would do sign an ICLA and so on and so forth...

I need to think it over. I just want to avoid having out of sync versions where someone would have to pick patches by hand and apply them both ways.

I am wondering about this as well. Ideally there should be a single copy, but worse case scenario we could at least automate this a bit, I mean something like: "if someone touches this code under smp_svr show a message in the CI saying that it needs to be sent upstream". That can be done on the Zephyr CI correct? We could also add it here, it's currently lacking travis integration but other Mynewt repos already do have it so it's just a matter of applying it here as well...

@de-nordic
Copy link
Contributor Author

I am wondering about this as well. Ideally there should be a single copy, but worse case scenario we could at least automate this a bit, I mean something like: "if someone touches this code under smp_svr show a message in the CI saying that it needs to be sent upstream".

I think it could be done. Probably people involved in reviewing changes to smp_svr would also others on the need to update.

@mlaz
Copy link
Contributor

mlaz commented Jan 24, 2020

I am wondering about this as well. Ideally there should be a single copy, but worse case scenario we could at least automate this a bit, I mean something like: "if someone touches this code under smp_svr show a message in the CI saying that it needs to be sent upstream".

I am with @utzig on this one.

@vrahane
Copy link
Contributor

vrahane commented Jan 24, 2020

So, the problem with having one single copy is, the upstream and the forked version of mcumgr can be out of sync. I feel we should maintain both just so that the forked version always has its own working copy and the upstream has its own working copy or there is sort of an issue here where it might work either on the upstream or the forked version but not both.

@de-nordic
Copy link
Contributor Author

Lets abandon the idea about removing the sample and lets update it instead:
#62

@nvlsianpu
Copy link
Contributor

So, the problem with having one single copy is, the upstream and the forked version of mcumgr can be out of sync. I feel we should maintain both just so that the forked version always has its own working copy and the upstream has its own working copy or there is sort of an issue here where it might work either on the upstream or the forked version but not both.

zephyr-rtos uses exact SHA for reference mcumgr - doesn't this help?

@carlescufi
Copy link
Contributor

I don't understand. This sample is maintained inside the zephyr tree. What is exactly the point of maintaining this copy here @de-nordic?

@de-nordic
Copy link
Contributor Author

As I understand @vrahane , they want to keep their copy, so I am at least updating it for them.

@carlescufi
Copy link
Contributor

As I understand @vrahane , they want to keep their copy, so I am at least updating it for them.

@vrahane I disagree with keeping this copy here. What should be done is integrate CI with building the sample against Zephyr or manually testing PRs against Zephyr (and Mynewt of course)

@vrahane
Copy link
Contributor

vrahane commented Jan 29, 2020

@carlescufi In general, with all the sub repos, we maintain the samples in the repo, in this case it is important because there is some zephyr specific code in there which needs to be tested each time the library changes for example this time when we were updating it, it broke a few things on the zephyr side which needed testing. Moreover, the changes in mcumgr can vary in the fork and the upstream. I think both should maintain their own version, now if the fork was not there, it would have made sense. We do a similar thing for mcuboot where the zephyr sample gets maintained along with the mynewt sample. I would like this to be in sync.

@carlescufi
Copy link
Contributor

@carlescufi In general, with all the sub repos, we maintain the samples in the repo, in this case it is important because there is some zephyr specific code in there which needs to be tested each time the library changes for example this time when we were updating it, it broke a few things on the zephyr side which needed testing. Moreover, the changes in mcumgr can vary in the fork and the upstream. I think both should maintain their own version, now if the fork was not there, it would have made sense. We do a similar thing for mcuboot where the zephyr sample gets maintained along with the mynewt sample. I would like this to be in sync.

But the thing is that you are not going to be able to test this sample unless it's tied to a particular revision of Zephyr. Instead, in the case of Zephyr, we keep a reference to a stable version of mcumgr, which in my opinion is the correct dependency order.
@utzig what revision of Zephyr are you using in #63?

@utzig
Copy link
Member

utzig commented Jan 31, 2020

@utzig what revision of Zephyr are you using in #63?

Currently master.

@carlescufi
Copy link
Contributor

@utzig what revision of Zephyr are you using in #63?

Currently master.

Right, I don't think that's gonna work reliably. There are API deprecations and changes in zephyr periodically, so I do believe that the better approach is the opposite. I will not block the PR, but I am not convinced that it provides much value.

@utzig
Copy link
Member

utzig commented Jan 31, 2020

so I do believe that the better approach is the opposite.

What do you mean by "opposite"?

@nvlsianpu
Copy link
Contributor

nvlsianpu commented Feb 4, 2020

What do you mean by "opposite"

Exactly keeping smp_svr exclusively in the zephyr code-base, which force us, so zephyr community to maintenance it. so #60 approach

@de-nordic
Copy link
Contributor Author

No longer valid after #62 has been merged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants