Re: mongodb.conf rename

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Honza Horak píše v St 04. 02. 2015 v 11:58 +0100:
> On 02/02/2015 05:01 PM, Miloslav Trmač wrote:
> > Hello,
> >> in Fedora Rawhide there is a new major version of mongoDB 2.6. With this
> >> new version names of mongoDB configuration files will be changed  - to
> >> reflect names used in upstream rpms
> >> (http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/RPMS/ )
> >>
> >> mongodb.conf -> mongod.conf
> >> mongodb-shard.conf -> mongos.conf
> >>
> >> In Fedora mongodb.conf is used from version 12.
> >>
> >> If this change should be a problem, please contact me...
> >
> > Is it possible to do something (write RPM scriptlets, or perhaps ship symlinks) to make this transparent and effortless to users?
> 
> Let's look at it closer.. First, we need to do all the magic only if 
> previous version is < 2.6.
> 
> One idea is that we could use %pre script and do the following in it:
> If /etc/mongodb.conf is there (that means we upgrade from 2.4), move it 
> to /etc/monogd.conf and create a symlink /etc/mongodb.conf > 
> /etc/mongod.conf
> 
> There is one issue I see with this way -- generally when we bring new 
> content during update and the config file hasn't changed, rpm replaces 
> the content and creates <config>.rpmnew otherwise. The solution above 
> wouldn't behave like this.
> 
> Another idea is that we can just ship new config and let the old one 
> either be backed-up (into <config>.rpmsave in case it has been changed) 
> or removed. Then in case /etc/mongodb.conf.rpmsafe exists, its content 
> could be copied to /etc/mongod.conf, while the original /etc/mongod.conf 
> would be copied into /etc/mongod.conf.rpmnew. Hopefully, that should 
> handle the same user experience as when user upgrades ordinary.
> 

With the rename of mongodb.conf and mongodb-shard.conf there are also
changes in /etc/sysconfig/mongod and /etc/sysconfig/mongos. In these
files there is mainly one option which determines config file and these
files are marked as %config(noreplace). So it complicates upgrade...

1. /etc/sysconf/mongod changed && /etc/mongodb.conf changed
 -> use these changed files with same names
2. /etc/sysconf/mongod changed && /etc/mongodb.conf original
 -> use changed mongod file and rename mongod.conf back to mongodb.conf
1. /etc/sysconf/mongod original && /etc/mongodb.conf changed
 -> use new mongod file and rename changed mongodb.conf to mongod.conf
2. /etc/sysconf/mongod original && /etc/mongodb.conf original
 -> use new files

And the same for /etc/sysconfig/mongos and mongodb-shard.conf...

I have implemented this in %triggerpostun server -- %{name}-server <
2.6.7-3 (
http://pkgs.fedoraproject.org/cgit/mongodb.git/tree/mongodb.spec#n291 ) 
But it is quite complicated. Is it required to check changes in
sysconfig files? Not enough to check only config files? 

Or what else should be done?

Thanks,
Marek

-- 
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux