-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 I do confirm that the thmonico branch has been used only for demos (pre-CPP time) .. please move forward with Jean submission.. Should I destroy mine to avoid confusion ?? On 20/08/2015 20:48, Kevin W Monroe wrote: > Hi Jean, thanks so much for the submission! I didn't know much > about Mobicents prior to this review, but it seems like an > interesting multimedia/communication platform. It would be a very > welcomed addition to the charm store! > > I am a bit confused as there seems to be 2 charms for mobicents, > one is mobicents-restcomm (by thomnico), and the other is > mobicents-restcomm- charm (by you). The source is almost > identical, but I wanted to confirm that your charm is the one that > we should be reviewing. > > Assuming yours is the right charm, I'm happy to say that 'charm > proof' completed without issue and your icon.svg looks good. > However, I did find a few issues that we'd like to see polished > prior to recommending this for the charm store: > > > + Superflous files The 'revision' file is obsolete and can be > removed from your charm source without causing any problems. I > also found the following .bak and ~ files that can be removed (i'm > guessing these backup files snuck into your repo with 'bzr add'): > > │ ├── mediaserver-relation-joined.bak │ ├── > restcomm-relation-changed.bak │ ├── restcomm-relation-joined.bak > ├── metadata.yaml~ ├── revision~ > > > + README.md As mentioned earlier, I wasn't familiar with Mobicents > prior to this review. It would help to add an Introduction section > that summarizes what Mobicents does and what users can expect after > deploying this charm. Adding a Resources section that links to the > mobicents.org site and other references (bug trackers, mailing > lists, docs, etc) is also recommended to help users like myself > become familiar with this offering. > > The deployment instructions for this charm require a local copy to > be present. You can deploy directly from your namespace in the > charm store, which would eliminate that requirement. In the > README, I suggest changing this: > > juju deploy -u --repository=../../ local:trusty/mobicents-restcomm > > to this: > > juju deploy cs:~jean-deruelle/trusty/mobicents-restcomm-charm > > You have quite a few relations to this charm, which is great! Part > of the power of Juju comes from the ability to relate services to > one another. You show how to use the database relation in the > README, but not the cscf, clearwater-ellis, or load-balancer > relations. I'm unclear on how/when I would use those, so a more > detailed Deployment section talking about these relations would > help. > > In the Test section, you list 2 URLs to try, yet they are > identical. Is there a different port/path to try besides > :8080/restcomm-management? > > > + Hooks - The 'clearwater-ellis-relation-changed' hooks is mostly > commented out. Is that intentional? I noticed other hooks (e.g. > cscf-relation-changed) stop and start the service. I am curious if > a similar restart needs to happen on a clearwater relation change. > > - The 'database-relation-changed' hook logs the database > connection information. I would at least remove the password in > case juju logs are shared with people that should not know this > info: > > juju-log "user $user password $password host $host database > $database" > > - I suggest creating a 'database-relation-departed' hook that > removes the mysql db in case the relation to mysql is ever removed. > This will help anyone maintaining mysql in their environment by > ensuring only active databases are present. > > - There is a 'restcomm-relation-joined' hook, but no such relation > defined in 'metadata.yaml'. If that hook isn't used, it should be > removed. If it is needed, you'll need to add that to > 'metadata.yaml' like you've done for the other hooks. > > > + Deployment / Configuration - I was excited to see that this charm > installed and related to mysql without problem. However, I was > unable to access the :8080/restcomm-management URL. A closer look > at the debug log revealed this: > > machine-0: 2015-08-20 15:31:53 ERROR juju.worker runner.go:223 > exited "firewaller": cannot change firewall ports: cannot open > ports: The maximum number of rules per security group has been > reached. (RulesPerSecurityGroupLimitExceeded) > > I'm guessing the 8080 port was never actually opened due to a > constraint in my Amazon environment. I found the loop that was > opening ports in ./lib/mobicents/restcomm-utils.sh and see an > interesting comment: > > # XXX: Highly restrict this range so we can only open 10 ports # > for ec2. This should be a 100 port range local lowPort=65434 local > highPort=65535 > > So I'm guessing this charm isn't meant to deploy on Amazon by > default. I suggest making lowPort and highPort configurable by > adding options to config.yaml. The defaults would be 65434 and > 65535, but anyone attempting an AWS deployment could alter those > and restrict the range to be opened (documenting this in a > Limitation section of the README, of course :) > > > + Tests This charm is missing tests, which are required so we can > include this in our automated test runner. Automated testing is > nice so you can be alerted if your charm ever fails to deploy on a > variety of substrates. Fortunately, adding tests is simple with > charm tools! See the "Add Tests" section here for more details: > > https://jujucharms.com/docs/devel/tools-charm-tools > > I'll also point to an example test that may be helpful for you: > > http://bazaar.launchpad.net/~joe/charms/trusty/suitecrm/trunk/view/hea d:/tests/100 > > - -deploy-suitecrm > > This simply deploys and relates the required charms, then makes > sure that the server is listening to http requests. That could > easily be modified to make sure that :8080/restcomm-management is > up. > > > While this charm has a lot of great potential, we need to address > the above issues before we can recommend it for the store. I look > forward to iterating on this to get that recommended status! > Thanks again for your work thus far. > - -- Best Regards, Nicolas Thomas - Solution Architect - Canonical http://insights.ubuntu.com/?p=889 Planned absence: 10 to 21st of August 2015 GPG FPR: D592 4185 F099 9031 6590 6292 492F C740 F03A 7EB9 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBAgAGBQJV3IriAAoJEEkvx0DwOn65cZ4IALGGobKURwa37tTnWeMuKaa4 pGRWLm+gEdEC235NeMGB2dkyOUfRqisOQSkUR58B5mUfZ7gheSZiMQeSiowQvLPu fdJvkOomNg2OiP2lhl+LsmyJD/DHXHBxbeu+vEVIPRT4oYU/bprlq37/lBfochTJ hu9y3Jtnsxs6SM34/nLyV1BFuZlAs4WvuhAv1I3VMhBwKsasdl9GnjBNPm8K5su2 rX4OquNRFdgUQDqOOpfRid+ypUcWzo3NhhDqu7ZQX7ekgyk1LyrAyhDJyIs59yRn dr2PHhMe4vtg4xgyIQHCjS8ft2iLadNCfQnJSWT6P6M8iBrn6PYf+yIOiSEhlgM= =wBii -----END PGP SIGNATURE-----