You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@couchdb.apache.org by Michael Hall <mh...@gmail.com> on 2016/12/16 02:04:11 UTC

Publisher account for CouchDB snap

Over the past few months, with help from rnewsom, jan and others, we've
been able to create a Snap[1] package for CouchDB 2.x that I would like
to make available through the Snap Store.

The Snap Store encourages upstreams to publish their packages
themselves, rather than depending on distro developers to do so.
Registering a package in the store is currently limited to individual
accounts, there's no support yet for teams, which means that someone
would need to register "apache-couchdb" as a developer account in the
store. They can then share upload rights for the couchdb snap with other
individuals, but it needs to be owned by someone to start with.

On IRC there was some discussion about how to approach this, with the
suggestion that someone on the PMC could register the owning account,
using the ASF mailing address[2] and their own email. This should
require very little work to setup, and almost no work after the initial
setup. So I'm asking if anyone on the PMC would be willing to take this
up and help us get the snap package published to users.

[1] http://snapcraft.io
[2] yes it's asked for, and I agree it shouldn't be needed

-- 
Michael Hall
mhall119@gmail.com

Re: Publisher account for CouchDB snap

Posted by Michael Hall <mh...@gmail.com>.
On 12/20/2016 01:56 PM, Eli Stevens (Gmail) wrote:
> On Tue, Dec 20, 2016 at 9:16 AM, Michael Hall <mh...@gmail.com> wrote:
>> On 12/19/2016 06:23 PM, Eli Stevens (Gmail) wrote:

>>> - Is it possible to disable automatic updates for snaps?
>>
>> It's possible, I don't know the details of it though. Can you tell me
>> what your concern is with leaving it on?
> 
> The FDA requires us to produce documentation detailing the versions of
> 3rd party software we use to construct our product, and attest to the
> suitability of those versions for the purpose that we're using them
> for. Maintaining the proper documentation gets a lot harder when the
> version can get swapped out from underneath us without warning. And if
> there's an actual incompatibility, that means that cancer patients
> might not be able to start their course of treatment on time, which
> the patients, clinical staff, and our director of customer support all
> agree is undesirable.  ;)
> 

As a former employee of a cancer hospital, I would find that very
undesirable as well :)

I have passed this on to our internal teams to see what the best way of
handling this use case would be. I'll let you know as soon as I hear
something.


--
Michael Hall
mhall119@gmail.com

Re: Publisher account for CouchDB snap

Posted by Jan Lehnardt <ja...@apache.org>.
> On 21 Dec 2016, at 18:12, Eli Stevens (Gmail) <wi...@gmail.com> wrote:
> 
> On Wed, Dec 21, 2016 at 3:04 AM, Jan Lehnardt <ja...@apache.org> wrote:
>>> On 20 Dec 2016, at 19:56, Eli Stevens (Gmail) <wi...@gmail.com> wrote:
>>> The impending EOL and unavailability of CouchDB 2.0 might cause us to
>>> revisit that decision.
>> 
>> The what?
> 
> Sorry, that was unclear, due to having relied far too heavily on the
> context of "snaps not being available for Ubuntu 12.04."
> 
> I meant "The impending EOL [of Ubuntu 12.04 LTS] and unavailability of
> CouchDB 2.0 [in a precompiled form for Ubuntu 12.04] might..."
> 
> Hope that clears it up,
> Eli

Phew, thanks for explaining. This makes a lot more sense ;D

Best
Jan
--


Re: Publisher account for CouchDB snap

Posted by "Eli Stevens (Gmail)" <wi...@gmail.com>.
On Wed, Dec 21, 2016 at 3:04 AM, Jan Lehnardt <ja...@apache.org> wrote:
>> On 20 Dec 2016, at 19:56, Eli Stevens (Gmail) <wi...@gmail.com> wrote:
>> The impending EOL and unavailability of CouchDB 2.0 might cause us to
>> revisit that decision.
>
> The what?

Sorry, that was unclear, due to having relied far too heavily on the
context of "snaps not being available for Ubuntu 12.04."

I meant "The impending EOL [of Ubuntu 12.04 LTS] and unavailability of
CouchDB 2.0 [in a precompiled form for Ubuntu 12.04] might..."

Hope that clears it up,
Eli

Re: Publisher account for CouchDB snap

Posted by Jan Lehnardt <ja...@apache.org>.
> On 20 Dec 2016, at 19:56, Eli Stevens (Gmail) <wi...@gmail.com> wrote:
> 
> On Tue, Dec 20, 2016 at 9:16 AM, Michael Hall <mh...@gmail.com> wrote:
>> On 12/19/2016 06:23 PM, Eli Stevens (Gmail) wrote:
>>> I'll have some people on my team get on that as soon as we have time;
>>> probably after the new year.
>>> 
>> 
>> Thanks! If they have any questions or need help, I'm mhall119 in
>> #couchdb-dev or they can email me directly.
> 
> Thanks, will do.
> 
> 
>> In that case, you could have your script run "snap install couchdb" and
>> then copy the configuration and data files into the snap's locations
> 
> Perfect.
> 
> 
>>> - Is it possible to disable automatic updates for snaps?
>> 
>> It's possible, I don't know the details of it though. Can you tell me
>> what your concern is with leaving it on?
> 
> The FDA requires us to produce documentation detailing the versions of
> 3rd party software we use to construct our product, and attest to the
> suitability of those versions for the purpose that we're using them
> for. Maintaining the proper documentation gets a lot harder when the
> version can get swapped out from underneath us without warning. And if
> there's an actual incompatibility, that means that cancer patients
> might not be able to start their course of treatment on time, which
> the patients, clinical staff, and our director of customer support all
> agree is undesirable.  ;)
> 
> From a practical perspective, most of our clients don't allow the
> systems in their data center access to the internet anyway (our
> systems have a considerable amount of medical records with patient
> identifying information, so that makes sense), and I'd rather not
> bifurcate the install base any more than necessary.
> 
> 
>> Snaps can run on 14.04, but that's as far back as we've been able to
>> support, since snapd and snap-confine depend on newer kernel features
>> and systemd. And since 12.04 is going to be EOL next year, I hope you're
>> planning an upgrade of those systems anyway,
> 
> Right now, we're planning on letting hardware attrition (and resulting
> replacements) drive the transition off of 12.04. I don't recall the
> exact details, but we were having issues getting grub to not insist
> that someone hit enter during the first boot after upgrade, which
> violates our "upgrades must be headless" requirement.
> 
> The impending EOL and unavailability of CouchDB 2.0 might cause us to
> revisit that decision.

The what?

Best
Jan
-- 

> 
> 
>> I'd love to hear how that goes, any feedback you can give me about using
>> the snap I will funnel back to the snappy development team so they can
>> improve it.
> 
> Sounds great.  :)
> 
> Cheers,
> Eli

-- 
Professional Support for Apache CouchDB:
https://neighbourhood.ie/couchdb-support/


Re: Publisher account for CouchDB snap

Posted by "Eli Stevens (Gmail)" <wi...@gmail.com>.
On Tue, Dec 20, 2016 at 9:16 AM, Michael Hall <mh...@gmail.com> wrote:
> On 12/19/2016 06:23 PM, Eli Stevens (Gmail) wrote:
>> I'll have some people on my team get on that as soon as we have time;
>> probably after the new year.
>>
>
> Thanks! If they have any questions or need help, I'm mhall119 in
> #couchdb-dev or they can email me directly.

Thanks, will do.


> In that case, you could have your script run "snap install couchdb" and
> then copy the configuration and data files into the snap's locations

Perfect.


>> - Is it possible to disable automatic updates for snaps?
>
> It's possible, I don't know the details of it though. Can you tell me
> what your concern is with leaving it on?

The FDA requires us to produce documentation detailing the versions of
3rd party software we use to construct our product, and attest to the
suitability of those versions for the purpose that we're using them
for. Maintaining the proper documentation gets a lot harder when the
version can get swapped out from underneath us without warning. And if
there's an actual incompatibility, that means that cancer patients
might not be able to start their course of treatment on time, which
the patients, clinical staff, and our director of customer support all
agree is undesirable.  ;)

From a practical perspective, most of our clients don't allow the
systems in their data center access to the internet anyway (our
systems have a considerable amount of medical records with patient
identifying information, so that makes sense), and I'd rather not
bifurcate the install base any more than necessary.


> Snaps can run on 14.04, but that's as far back as we've been able to
> support, since snapd and snap-confine depend on newer kernel features
> and systemd. And since 12.04 is going to be EOL next year, I hope you're
> planning an upgrade of those systems anyway,

Right now, we're planning on letting hardware attrition (and resulting
replacements) drive the transition off of 12.04. I don't recall the
exact details, but we were having issues getting grub to not insist
that someone hit enter during the first boot after upgrade, which
violates our "upgrades must be headless" requirement.

The impending EOL and unavailability of CouchDB 2.0 might cause us to
revisit that decision.


> I'd love to hear how that goes, any feedback you can give me about using
> the snap I will funnel back to the snappy development team so they can
> improve it.

Sounds great.  :)

Cheers,
Eli

Re: Publisher account for CouchDB snap

Posted by Michael Hall <mh...@gmail.com>.
On 12/19/2016 06:23 PM, Eli Stevens (Gmail) wrote:
> On Fri, Dec 16, 2016 at 11:47 AM, Michael Hall <mh...@gmail.com> wrote:
>> You can try the snap I built, it's on
>> http://people.ubuntu.com/~mhall119/snaps/
>>
>> Download it and run "snap install --dangerous couchdb_2.0_amd64.snap"
>> (assuming you're on Ubuntu 16.04 or later)
> 
> I'll have some people on my team get on that as soon as we have time;
> probably after the new year.
> 

Thanks! If they have any questions or need help, I'm mhall119 in
#couchdb-dev or they can email me directly.

> 
>> There isn't a generic mechanism for the dpkg->snap migration. You could
>> provide tools for that, or just recommend snaps for new installs.
> 
> I've got several hundred systems installed in customer datacenters
> that need to be upgraded headlessly (we don't typically have any
> access to those customer systems, so we give them a self-contained
> upgrade package with OS and our product updates that has an install
> script that gets run automatically).
> 

In that case, you could have your script run "snap install couchdb" and
then copy the configuration and data files into the snap's locations

> I'm more curious about things like:
> 
> - Will it Just Work(tm) if we copy the 1.6 .couch files from our old
> location in /var/lib/couchdb?

I would assume so, unless there's some metadata in them that used
absolute file paths to other data files. Can someone more familiar with
the couchdb data files give a more definite answer?

> - Can we use ecryptfs for the data dirs? (I'd assume so, but it's not
> clear how they get mounted)

Snaps don't know or care what filesystem those directories are. AppArmor
is used to mitigate file access, so it should all be transparent to the
snap.

> - Is it possible to disable automatic updates for snaps?

It's possible, I don't know the details of it though. Can you tell me
what your concern is with leaving it on?

> - Are our Ubuntu 12.04 systems ever going to see CouchDB 2.0?

Snaps can run on 14.04, but that's as far back as we've been able to
support, since snapd and snap-confine depend on newer kernel features
and systemd. And since 12.04 is going to be EOL next year, I hope you're
planning an upgrade of those systems anyway,

> 
> I realize that some of these questions are more about snaps than
> CouchDB.  Sorry.  :/
> 

Well this thread is about snaps (for couchdb) so that seems entirely
appropriate :)
> 
>> I would encourage having people test the snap in production-like
>> environments for a while first. I used a very basic configuration and
>> there might need to be more work done to allow it to work for all use
>> cases. The Snap technology is stable enough for production use, but I'd
>> like to see each individual app tested thoroughly before telling people
>> to replace their existing package installs.
> 
> Okay, it sounds like there are no known issues preventing it from
> possibly being production ready. We'd certainly put the system through
> the paces of our release testing process before deployment.
> 

I'd love to hear how that goes, any feedback you can give me about using
the snap I will funnel back to the snappy development team so they can
improve it.


Michael Hall
mhall119@gmail.com

Re: Publisher account for CouchDB snap

Posted by "Eli Stevens (Gmail)" <wi...@gmail.com>.
On Fri, Dec 16, 2016 at 11:47 AM, Michael Hall <mh...@gmail.com> wrote:
> You can try the snap I built, it's on
> http://people.ubuntu.com/~mhall119/snaps/
>
> Download it and run "snap install --dangerous couchdb_2.0_amd64.snap"
> (assuming you're on Ubuntu 16.04 or later)

I'll have some people on my team get on that as soon as we have time;
probably after the new year.


> There isn't a generic mechanism for the dpkg->snap migration. You could
> provide tools for that, or just recommend snaps for new installs.

I've got several hundred systems installed in customer datacenters
that need to be upgraded headlessly (we don't typically have any
access to those customer systems, so we give them a self-contained
upgrade package with OS and our product updates that has an install
script that gets run automatically).

I'm more curious about things like:

- Will it Just Work(tm) if we copy the 1.6 .couch files from our old
location in /var/lib/couchdb?
- Can we use ecryptfs for the data dirs? (I'd assume so, but it's not
clear how they get mounted)
- Is it possible to disable automatic updates for snaps?
- Are our Ubuntu 12.04 systems ever going to see CouchDB 2.0?

I realize that some of these questions are more about snaps than
CouchDB.  Sorry.  :/


> I would encourage having people test the snap in production-like
> environments for a while first. I used a very basic configuration and
> there might need to be more work done to allow it to work for all use
> cases. The Snap technology is stable enough for production use, but I'd
> like to see each individual app tested thoroughly before telling people
> to replace their existing package installs.

Okay, it sounds like there are no known issues preventing it from
possibly being production ready. We'd certainly put the system through
the paces of our release testing process before deployment.

Thanks,
Eli

Re: Publisher account for CouchDB snap

Posted by Michael Hall <mh...@gmail.com>.
On 12/16/2016 02:10 PM, Eli Stevens (Gmail) wrote:
> Very cool. We've been wanting a packaged version of 2.0 for a while.
> 

You can try the snap I built, it's on
http://people.ubuntu.com/~mhall119/snaps/

Download it and run "snap install --dangerous couchdb_2.0_amd64.snap"
(assuming you're on Ubuntu 16.04 or later)

> This might be jumping the gun, but I'm curious to know what the story
> is for upgrading from previous, non-snap versions is, and how
> post-snap upgrades will be handled. At first glance, it seems like
> there is a trade off between having to copy the entire DB per version
> upgrade, or losing the ability to revert if compaction modifies the DB
> in a non-backwards-compatible way. How are you handling those
> situations?
> 

There isn't a generic mechanism for the dpkg->snap migration. You could
provide tools for that, or just recommend snaps for new installs.

Likewise there isn't a generic mechanism for migrating and reverting
data in the common (non-versioned) directory, because it would have to
be app-specific. There is a new "hook" feature that could be used to run
a script on install/update/revert that could then run whatever migration
would be needed.

> Also, would you consider the snap package to be stable enough for
> production install once the logistics get sorted out, or is it still
> experimental?
> 

I would encourage having people test the snap in production-like
environments for a while first. I used a very basic configuration and
there might need to be more work done to allow it to work for all use
cases. The Snap technology is stable enough for production use, but I'd
like to see each individual app tested thoroughly before telling people
to replace their existing package installs.


Michael Hall
mhall119@gmail.com

> Thanks!
> Eli
> 
> On Fri, Dec 16, 2016 at 10:56 AM, Robert Kowalski <ro...@kowalski.gd> wrote:
>> Everything set up, I think we have to figure out when the next release happens.
>>
>> On Fri, Dec 16, 2016 at 2:04 PM, Robert Kowalski <ro...@kowalski.gd> wrote:
>>> Hi Micheal,
>>>
>>> thank you so much! You are doing awesome work!
>>>
>>> I registered an account: https://cldup.com/1cbKxu0igy.png
>>>
>>> Let's chat on IRC regarding the next steps, I don't know how to use
>>> snap on my Mac.
>>>
>>> Best,
>>> Robert
>>>
>>>
>>> On Fri, Dec 16, 2016 at 3:04 AM, Michael Hall <mh...@gmail.com> wrote:
>>>> Over the past few months, with help from rnewsom, jan and others, we've
>>>> been able to create a Snap[1] package for CouchDB 2.x that I would like
>>>> to make available through the Snap Store.
>>>>
>>>> The Snap Store encourages upstreams to publish their packages
>>>> themselves, rather than depending on distro developers to do so.
>>>> Registering a package in the store is currently limited to individual
>>>> accounts, there's no support yet for teams, which means that someone
>>>> would need to register "apache-couchdb" as a developer account in the
>>>> store. They can then share upload rights for the couchdb snap with other
>>>> individuals, but it needs to be owned by someone to start with.
>>>>
>>>> On IRC there was some discussion about how to approach this, with the
>>>> suggestion that someone on the PMC could register the owning account,
>>>> using the ASF mailing address[2] and their own email. This should
>>>> require very little work to setup, and almost no work after the initial
>>>> setup. So I'm asking if anyone on the PMC would be willing to take this
>>>> up and help us get the snap package published to users.
>>>>
>>>> [1] http://snapcraft.io
>>>> [2] yes it's asked for, and I agree it shouldn't be needed
>>>>
>>>> --
>>>> Michael Hall
>>>> mhall119@gmail.com

Re: Publisher account for CouchDB snap

Posted by "Eli Stevens (Gmail)" <wi...@gmail.com>.
Very cool. We've been wanting a packaged version of 2.0 for a while.

This might be jumping the gun, but I'm curious to know what the story
is for upgrading from previous, non-snap versions is, and how
post-snap upgrades will be handled. At first glance, it seems like
there is a trade off between having to copy the entire DB per version
upgrade, or losing the ability to revert if compaction modifies the DB
in a non-backwards-compatible way. How are you handling those
situations?

Also, would you consider the snap package to be stable enough for
production install once the logistics get sorted out, or is it still
experimental?

Thanks!
Eli

On Fri, Dec 16, 2016 at 10:56 AM, Robert Kowalski <ro...@kowalski.gd> wrote:
> Everything set up, I think we have to figure out when the next release happens.
>
> On Fri, Dec 16, 2016 at 2:04 PM, Robert Kowalski <ro...@kowalski.gd> wrote:
>> Hi Micheal,
>>
>> thank you so much! You are doing awesome work!
>>
>> I registered an account: https://cldup.com/1cbKxu0igy.png
>>
>> Let's chat on IRC regarding the next steps, I don't know how to use
>> snap on my Mac.
>>
>> Best,
>> Robert
>>
>>
>> On Fri, Dec 16, 2016 at 3:04 AM, Michael Hall <mh...@gmail.com> wrote:
>>> Over the past few months, with help from rnewsom, jan and others, we've
>>> been able to create a Snap[1] package for CouchDB 2.x that I would like
>>> to make available through the Snap Store.
>>>
>>> The Snap Store encourages upstreams to publish their packages
>>> themselves, rather than depending on distro developers to do so.
>>> Registering a package in the store is currently limited to individual
>>> accounts, there's no support yet for teams, which means that someone
>>> would need to register "apache-couchdb" as a developer account in the
>>> store. They can then share upload rights for the couchdb snap with other
>>> individuals, but it needs to be owned by someone to start with.
>>>
>>> On IRC there was some discussion about how to approach this, with the
>>> suggestion that someone on the PMC could register the owning account,
>>> using the ASF mailing address[2] and their own email. This should
>>> require very little work to setup, and almost no work after the initial
>>> setup. So I'm asking if anyone on the PMC would be willing to take this
>>> up and help us get the snap package published to users.
>>>
>>> [1] http://snapcraft.io
>>> [2] yes it's asked for, and I agree it shouldn't be needed
>>>
>>> --
>>> Michael Hall
>>> mhall119@gmail.com

Re: Publisher account for CouchDB snap

Posted by Robert Kowalski <ro...@kowalski.gd>.
Everything set up, I think we have to figure out when the next release happens.

On Fri, Dec 16, 2016 at 2:04 PM, Robert Kowalski <ro...@kowalski.gd> wrote:
> Hi Micheal,
>
> thank you so much! You are doing awesome work!
>
> I registered an account: https://cldup.com/1cbKxu0igy.png
>
> Let's chat on IRC regarding the next steps, I don't know how to use
> snap on my Mac.
>
> Best,
> Robert
>
>
> On Fri, Dec 16, 2016 at 3:04 AM, Michael Hall <mh...@gmail.com> wrote:
>> Over the past few months, with help from rnewsom, jan and others, we've
>> been able to create a Snap[1] package for CouchDB 2.x that I would like
>> to make available through the Snap Store.
>>
>> The Snap Store encourages upstreams to publish their packages
>> themselves, rather than depending on distro developers to do so.
>> Registering a package in the store is currently limited to individual
>> accounts, there's no support yet for teams, which means that someone
>> would need to register "apache-couchdb" as a developer account in the
>> store. They can then share upload rights for the couchdb snap with other
>> individuals, but it needs to be owned by someone to start with.
>>
>> On IRC there was some discussion about how to approach this, with the
>> suggestion that someone on the PMC could register the owning account,
>> using the ASF mailing address[2] and their own email. This should
>> require very little work to setup, and almost no work after the initial
>> setup. So I'm asking if anyone on the PMC would be willing to take this
>> up and help us get the snap package published to users.
>>
>> [1] http://snapcraft.io
>> [2] yes it's asked for, and I agree it shouldn't be needed
>>
>> --
>> Michael Hall
>> mhall119@gmail.com

Re: Publisher account for CouchDB snap

Posted by Robert Kowalski <ro...@kowalski.gd>.
Hi Micheal,

thank you so much! You are doing awesome work!

I registered an account: https://cldup.com/1cbKxu0igy.png

Let's chat on IRC regarding the next steps, I don't know how to use
snap on my Mac.

Best,
Robert


On Fri, Dec 16, 2016 at 3:04 AM, Michael Hall <mh...@gmail.com> wrote:
> Over the past few months, with help from rnewsom, jan and others, we've
> been able to create a Snap[1] package for CouchDB 2.x that I would like
> to make available through the Snap Store.
>
> The Snap Store encourages upstreams to publish their packages
> themselves, rather than depending on distro developers to do so.
> Registering a package in the store is currently limited to individual
> accounts, there's no support yet for teams, which means that someone
> would need to register "apache-couchdb" as a developer account in the
> store. They can then share upload rights for the couchdb snap with other
> individuals, but it needs to be owned by someone to start with.
>
> On IRC there was some discussion about how to approach this, with the
> suggestion that someone on the PMC could register the owning account,
> using the ASF mailing address[2] and their own email. This should
> require very little work to setup, and almost no work after the initial
> setup. So I'm asking if anyone on the PMC would be willing to take this
> up and help us get the snap package published to users.
>
> [1] http://snapcraft.io
> [2] yes it's asked for, and I agree it shouldn't be needed
>
> --
> Michael Hall
> mhall119@gmail.com