Submission of new zabbix-agent charm in personal namespace

Bug #1369892 reported by Samuel Cozannet
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Juju Charms Collection
Incomplete
Undecided
Samuel Cozannet

Bug Description

This is the email to submit my new charm as explained in the charming documentation

Tags: charm juju
Revision history for this message
Cory Johns (johnsca) wrote :

Samuel,

Thanks so much for this charm submission!

First off, I would just like to clarify that it is not actually necessary to submit a charm for review to add it to your personal namespace. Simply pushing to launchpad under lp:~samuel-cozannet/charms/ is sufficient to allow you and and anyone else to deploy your charm. Charles Butler wrote a good blog post explaining personal namespaces in detail.[1]

We are currently working to improve the documentation and user experience around personal namespaces. I am curious which documentation you are specifically referencing above. I don't suppose you could provide me a link?

Taking a look at your charm, I see that it seems to be an extension of cs:precise/zabbix-agent with some changes to allow it to install a newer version of the Zabbix agent. If this charm is intended for general use, then it might be better to make these changes as a commit on top of a branch of that charm, so that you can keep up with additional changes from upstream, as well as having the option to submit it as a merge proposal to get your changes added back into the upstream charm. Of course, if this charm is intended for personal use only, this may not be of concern to you. :)

However, if this charm is intended for general use, I'd make a couple of other suggestions, as well:

* You added a README, which is great, but it could stand to include instructions on how to use the charm, as well as some more detailed information. The charm-tools library[2] includes a `charm add readme` command that will create an example README with detailed information about the sections that are useful to include in a README

* It would also be nice if there was a configuration option to control which version of the agent is installed, whether from the stable PPA or from the Zabbix upstream PPA. However, this does add some complexity to the charm, since you would then need to support the user changing the config option at a later point (e.g., to upgrade to the upstream version after having installed from the stable PPA).

Once again, if this charm is intended only for your own personal or limited use, these suggestions can be considered just that.

Regardless, thanks again for your charm submission!

[1]: http://blog.dasroot.net/the-power-of-community-charming/
[2]: https://juju.ubuntu.com/docs/tools-charm-tools.html

Revision history for this message
Samuel Cozannet (samuel-cozannet) wrote : Re: [Bug 1369892] Re: Submission of new zabbix-agent charm in personal namespace
Download full text (4.6 KiB)

Hi Cory!

Thanks for all the useful comments.

* Versionning of the agent is definitely something I wanted to add later.
It was not critical / blocker for release though and my PoCs only use 2.2
for now. As you can see the version is set in the install script hence
there is not much work to enable this config option. If Zabbix PPA supports
the upstream version, would it be acceptable if we keep their repo but
target the configured version or the best practice would really be to
select the repo? That is a lot of options for a new user.

* README I will have a closer look. I didn't know about the generator. thx
for sharing.

Regarding the purpose of the Charm, I have been discussing this with Marco.
My charm is oriented towards specific usages of Zabbix to enable
autoscaling workloads. Marco's initial charm is a "classic" deployment of
the agent without knowledge about the environment.
In essence, what you do with Marco's agent is not what I do, so the
workload is specific and it would be hard to mix both unless we add another
configuration option (dropdown, choice between "classic" and "active
monitoring"). Will think about it.
For now I need this available in the store in my namespace for PoC
research.
Also we recently signed Zabbix SIA (the company behind Zabbix) to the CPP
hence they will probably take ownership at some point.

I'll give more thoughts to your comment and may push a new version soon.

Thanks!
Best,
Sam

On Wed, Sep 17, 2014 at 12:48 AM, Cory Johns <email address hidden>
wrote:

> Samuel,
>
> Thanks so much for this charm submission!
>
> First off, I would just like to clarify that it is not actually
> necessary to submit a charm for review to add it to your personal
> namespace. Simply pushing to launchpad under lp:~samuel-
> cozannet/charms/ is sufficient to allow you and and anyone else to
> deploy your charm. Charles Butler wrote a good blog post explaining
> personal namespaces in detail.[1]
>
> We are currently working to improve the documentation and user
> experience around personal namespaces. I am curious which
> documentation you are specifically referencing above. I don't suppose
> you could provide me a link?
>
> Taking a look at your charm, I see that it seems to be an extension of
> cs:precise/zabbix-agent with some changes to allow it to install a newer
> version of the Zabbix agent. If this charm is intended for general use,
> then it might be better to make these changes as a commit on top of a
> branch of that charm, so that you can keep up with additional changes
> from upstream, as well as having the option to submit it as a merge
> proposal to get your changes added back into the upstream charm. Of
> course, if this charm is intended for personal use only, this may not be
> of concern to you. :)
>
> However, if this charm is intended for general use, I'd make a couple of
> other suggestions, as well:
>
> * You added a README, which is great, but it could stand to include
> instructions on how to use the charm, as well as some more detailed
> information. The charm-tools library[2] includes a `charm add readme`
> command that will create an example README with detailed information
> about t...

Read more...

Revision history for this message
Cory Johns (johnsca) wrote :

Samuel,

While it's not currently clear from the documentation (which is being worked on), your charms are immediately available in the store in your namespace as soon as you push them to launchpad. You can currently deploy this charm with `juju deploy cs:~samuel-cozannet/zabbix-agent` (of course you can also explicitly include the series), and it is visible in the GUI, e.g., https://jujucharms.com/?text=zabbix-agent Requesting a review via a bug report or merge proposal is only required to make your version the officially Recommended version, so that it is marked as such in the GUI and is deployable from, e.g., cs:zabbix-agent.

But, of course, review requests just for feedback are also welcome. I just wanted to be sure it was entirely clear (since I don't feel like it is, currently, from the documentation) that the review process for personal namespace charms is entirely optional.

Regarding installing the stable version from the Zabbix PPA, that is fine. The main benefit of supporting the standard PPA option, as Marco's version does, is that it allows for the charm to be installed in a more network-restricted environment using a local package mirror. It's not that big of a deal, and I mainly suggested it in terms of integrating your charm back into Marco's. However, that leads to the next point.

It's absolutely fine to have two charms for different "opinionated" deployments of the same software. It would be great to have a charm to deploy Zabbix tuned for autoscaling in addition to one for the generic / standard deployment. Though, if that's the goal, I would recommend renaming the charm to distinguish them further than just having it in a separate namespace, since you may wish to have it be promoted to a Recommended charm. Something like zabbix-agent-autoscale. Though, if autoscaling workloads would be the better default setup, you could instead discuss with Marco renaming his version, or simply subsuming his version into yours. Regardless, that can be addressed at a later point, and it's fine for now to have the two versions in the separate namespaces.

If you're happy with the state of the charm in your namespace, and with what comments and suggestions I have offered, feel free to close out this review and continue to working on the charm as you see fit, with your changes being available in your namespace as soon as you push the commits to Launchpad. And of course, if you want further reviews at a later point, you can at any time create a new one or reopen this one. Or, if you have further questions or comments, I'm happy to continue to follow up here.

Again, thanks a ton for your work on this charm. I really look forward to seeing where you take it.

Revision history for this message
José Antonio Rey (jose) wrote :

Samuel,

Per policies, I am moving this bug's status to Incomplete. Feel free to move it to New or Fix Committed once you feel it's ready for another review.

If you need any assistance, please make sure to reach out to us at <email address hidden>, or join our IRC channel, #juju on irc.freenode.net

Thanks for your submission to the charm store! :)

Changed in charms:
status: New → Incomplete
assignee: nobody → Samuel Cozannet (samuel-cozannet)
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.