Closed earwin closed 8 years ago
Thanks for your PR!
As a meta-comment for the future -- please group your pull requests into logically distinct units. Your individual commits look well-structured, but it makes reviewing (and accepting) PRs easier and faster if we can break them into smaller chunks.
I'm going through and making a few comments in the commits themselves. One higher level comment (and consistent theme of my comments) -- I'd like to see Fairwaves-specific configuration factored out, similar to what we're doing now with Osmocom and OpenBTS support. That way we can allow vendors like yourselves to maintain configuration independently for your specific platform upstream, without requiring all users of a particular stack to assume your defaults.
@shaddi This was commissioned from me as a singular body of work with two requirements — "do the packaging for endaga osmocom flavor", and more important "make endaga osmocom work on fairwaves BTSs". Thus a single pull request with detailed commits. In addition to that PR there's also specially crafted set of osmocom packages that blends latest master and fairwaves not-yet-upstreamed patched versions + ubuntu-trusty-compatible build of freeswitch.
Had a pretty long chat with Kurtis and Omar a few days ago, detailing my changes and the reasons for them. You could ask them for the transcript I think. I'll go through your comments and answer them tomorrow.
Regarding factoring out.. I support the idea. But there are various opinions. E.g. I'd like to see osmo-trx configuration and runscripts completely out of endaga, as they are highly hardware-specific. Not even SDR-platform-specific, but down to whatever you have in your radio path after the SDR. Kurtis wants to have a turn-key solution. Again, please go through the chat logs.
I think intellectually we wanted the two requirements to be separate PRs and potentially separate vagrant targets: there's just going to be a lot of overlap. Step 1 was get osmo deployment packaged well and step 2 was get fairwaves deployment. It's likely that the smart path is to have a "fairwaves" deploy target (vm, maybe package?) that has the configs as fairwaves thinks they are best and have that run in parallel to the default osmo installation.
We do not want the default osmo installation to be the fairwaves specific version. That breaks requirement 1 on any other hardware. That's no beuno and I think the current state of this PR.
Does that make sense?
Understood, the changes in this PR are fine, just in the future it will be easier and faster to review if it comes in multiple PRs. For example, the refactor of the build system could have been separated from the changes to the configs.
Exactly because of the platform specific nature of dependencies, we'd like to either figure out whether the defaults make sense globally (for all Osmocom-based platforms), and if not, let's factor them out into their own target. Perhaps you could add a new build target (e.g., "osmocom-fairwaves") that creates an "endaga-osmocom-fairwaves" package, which would let you all have your own set of dependencies. How does that sound to you?
osmo-sip-connector, osmo-pcu, osmocom-sgsn were pointing to non-existent versions. let's take osmocom-sgsn as an example:
0.15.0
0.15.1.20160816
0.15.1
) is done, installing it would be considered by dpkg as a downgrade from 0.15.1.20160816
<latest tag>.<distance to current commit>-<four characters of SHA>
0.15.0.378-3ed2
0.15.1~20160816
rsyslog was downgraded to ubuntu trusty version. but as I mentioned in a chat, situation with rsyslog is a bit of a mess. if we accept that ubuntu users have to pull it from rsyslog's PPA, this downgrade might as well be dropped.
@kheimerl For osmo-trx, osmo-bts, (maybe also osmo-pcu) I don't think you could possibly have a default config that works for everyone. E.g. in this PR I change the band to GSM900. That's a definite lock-in to a certain subset of hardware. But you had it at GSM850, that's a lock-in as well!
just to be clear where it comes from — osmocom configuration I supplied is a copy of our working and tested in the field setup + endaga-specific mods mentioned by Omar.
Maybe you should consider config templating to marry whatever endaga requires with user settings.
So, currently, I'm not quite sure what I could pull into hypothetic endaga-osmocom-fairwaves. relaxed osmo-bts dependency, and that's it?
A couple of high-level comments, but I have nothing specific to add to the Osmo/Fairwaves discussion since I'm not familiar with Osmo (yet).
I'll go one step further than saying this should be two separate PRs (if you were starting from scratch - I'm not asking you to go and do this) and instead suggest a bunch of minimally sized PRs, to the extent that many of the commits are independent of each other.
I like the split of the Ansible deploy
scripts, but it looks like you're starting to reinvent Ansible's roles, so why not just refactor these as roles?
@earwin Maybe that is it? I think you also point at a few repos that the mainline osmo release wouldn't as well?
@kheimerl If you're speaking of Fairwaves private repo, then you're wrong. This private repo is used on our BTSes to provide them with
But it is not mentioned in this pullrequest, and it is in no way required for it to operate. The repos you used before + debian, work as well.
(if you meant something else, please rephrase)
(Oh! A pullrequest tracks the original branch? I wasn't aware of it. So, what you see above is two rebases.)
Fixed osmo-bts dependency on Debian. Postgres pre-depends stanza is now compatible with 'wheezy', 'jessie', 'trusty', 'xenial'