I’m a newbie here, so maybe this is better documented somewhere else and there’s simply no link to some awesome documentation?
I went to try to learn about the Bahmni installation using the Bahmni wiki. In the process, I discovered some items that were a bit old compared with the current state (v 0.91) and made a few updates. I also discovered that the “local” file (see next paragraph) appears to identify which bahmni components to install, which are to be used in-situ, and which are to not be installed. At least, I think that’s what it’s for. I had to do a LOT of reading between the lines. I also discovered that commenting on the wiki pages is discouraged and people are encouraged to post their comments to OpenMRS talk. So, that’s what I did. And if you’d rather I took this all back to the wiki page where I thought it should go, I’m happy to do that, too.
The wiki page for “advanced installation” indicates, in an alert box, that users should “enter IP addresses only in the inventory file. Domain names are not supported yet and are known to cause issues.” But a cursory examination of the “local” inventory-file shows that there are many entries that are not IP addresses (or domain names), so clearly it is okay to enter information other than server IP addresses. Even the use of ‘localhost’ rather than 127.0.0.1 (the IP address for localhost) belies the comment that users should only enter IP addresses. I.e. the alert box is probably misleading and confusing in its wording. I think it’s trying to alert users to not put any domain names in the file because Bahmni’s DNS isn’t working. But that’s a whole lot different from “only enter IP addresses.”
IMO, someone needs to document the Bahmni inventory-file implementation and what it does, rather than relying on the new user to learn all about Ansible in the general, and then somehow manage to translate that knowledge to this Bahmni-specific implementation. I don’t think that asking people to read all-about-Ansible is a reasonable request. If this Bahmni-specific “local” inventory file is already documented somewhere, then a link should be added from this section of the advanced installation page to that page.
I also think that the “advanced installation” page should be broken up into sub-pages for each section for easier navigation.
And while I’m bending anyone’s ear: IMO, this section should spend some effort in documenting, step-by-step, how to set up the bahmni installation to use existing mysql and postgres DB server instances on localhost and on other IP addresses. Or, if the way to do that is to install on a local DB instance and then move the whole shebang to another server and notify the Bahmni install about the move, then document that. Either way, it seems to me that as the cost of computing and storage diminishes, people will be more inclined to use separate physical servers for their DBs and their web / applications servers. This might also provide a security benefit because the DB servers with millions of instances globally are going to have a lot of standardized hardening protocols to secure health data, while Bahmni is going to have precious few, or any.
For a future change: I think that this “local” file should be renamed from “local” to something more meaningful (and searchable) like “bahmni-install-map” - at least, if that’s what it is. Then people who want to learn about the installation inventory-file can search for that specifically and not have to dig through zillions of other hits regarding “local” to find what they’re really looking for.
Alright. Back to the salt-mines, I go.