Skip to content
This repository has been archived by the owner on May 10, 2019. It is now read-only.

Merge RANCID 3.2 (when released) including upstream git support #23

Open
dotwaffle opened this issue Apr 2, 2014 · 12 comments
Open

Merge RANCID 3.2 (when released) including upstream git support #23

dotwaffle opened this issue Apr 2, 2014 · 12 comments
Assignees

Comments

@dotwaffle
Copy link
Owner

This will take some time, with tens of thousands of changes.

Most of the changes are simple, but there are a few places where some serious tinkering will need to be done.

I'm aiming to do at least some of this during a week off I have booked at the end of April, with an eventual preliminary release in May/June 2014. I'll try and do the work publicly, it will be on the "integration" branch.

At the end, I'm hoping to have a serious of patchsets to be applied that can be passed back upstream. Very happy for people to lend a hand -- especially for RANCID device types that I don't have access to.

@dotwaffle dotwaffle self-assigned this Apr 2, 2014
@samdoran
Copy link
Contributor

samdoran commented Apr 7, 2014

I'd love to help with this. I don't have tons of experience with the code base but I'll gladly lend a hand wherever possible. Let me know what you need.

@dotwaffle
Copy link
Owner Author

Wow, an actual offer of support ;)

I'd recommend doing:

git checkout master
git diff origin/upstream

Then, when you've stopped swearing at the screen, see if there's anything that takes your fancy! I imagine a lot of it is an easy merge -- but I need to make sure the additional router types continue to work etc.

It'll be a long struggle, but I have a week off as of next Wednesday so that's when I'm planning on cracking on with it =) Feel free to start having a play on the "integrate" branch I've pushed (by doing "git merge origin/upstream") and we'll see how far we can both get!

Cheers!

@supertylerc
Copy link

It's been a while since this was updated. Is this still planned?

@dotwaffle
Copy link
Owner Author

I'll be honest, I don't really have the time for this at the moment. If someone submits a pull request, I'm happy to merge it. Otherwise, it's not likely to be done in the next few months as I'm seconded to Hong Kong until January and only have a Chromebook while I'm out here.

@supertylerc
Copy link

Thanks. I might make an attempt, but my skills at writing code (much less merging and debugging) are pretty minimal.

@tgreer
Copy link
Contributor

tgreer commented Oct 22, 2014

git merge origin/upstream
Auto-merging share/Makefile.in
CONFLICT (content): Merge conflict in share/Makefile.in
Auto-merging share/Makefile.am
Auto-merging missing
CONFLICT (content): Merge conflict in missing
Removing man/xrrancid.1
Auto-merging man/router.db.5
Auto-merging man/rancid_intro.1
CONFLICT (content): Merge conflict in man/rancid_intro.1
Auto-merging man/rancid.conf.5.in
CONFLICT (content): Merge conflict in man/rancid.conf.5.in
Auto-merging man/rancid-run.1
CONFLICT (content): Merge conflict in man/rancid-run.1
Auto-merging man/par.1
CONFLICT (content): Merge conflict in man/par.1
Auto-merging man/cloginrc.5
CONFLICT (content): Merge conflict in man/cloginrc.5
Auto-merging man/clogin.1
Auto-merging man/Makefile.in
CONFLICT (content): Merge conflict in man/Makefile.in
Auto-merging lib/mrv.pm.in
Auto-merging lib/junos.pm.in
CONFLICT (content): Merge conflict in lib/junos.pm.in
Auto-merging lib/iosxr.pm.in
CONFLICT (content): Merge conflict in lib/iosxr.pm.in
Auto-merging lib/foundry.pm.in
CONFLICT (content): Merge conflict in lib/foundry.pm.in
Auto-merging include/version.h.in
CONFLICT (content): Merge conflict in include/version.h.in
Auto-merging include/version.h
CONFLICT (content): Merge conflict in include/version.h
Auto-merging include/config.h.in
CONFLICT (content): Merge conflict in include/config.h.in
CONFLICT (modify/delete): include/config.h deleted in HEAD and modified in origin/upstream. Version origin/upstream of include/config.h left in tree.
Auto-merging include/Makefile.in
CONFLICT (content): Merge conflict in include/Makefile.in
Auto-merging etc/rancid.conf.sample.in
Auto-merging etc/Makefile.in
CONFLICT (content): Merge conflict in etc/Makefile.in
Auto-merging configure.ac
CONFLICT (content): Merge conflict in configure.ac
Auto-merging configure
CONFLICT (content): Merge conflict in configure
CONFLICT (rename/delete): bin/rancid_par.in deleted in origin/upstream and renamed in HEAD. Version HEAD of bin/rancid_par.in left in tree.
Auto-merging bin/rancid.in
CONFLICT (content): Merge conflict in bin/rancid.in
Auto-merging bin/rancid-run.in
Auto-merging bin/rancid-fe.in
CONFLICT (content): Merge conflict in bin/rancid-fe.in
Auto-merging bin/nxrancid.in
CONFLICT (content): Merge conflict in bin/nxrancid.in
Auto-merging bin/nsrancid.in
CONFLICT (content): Merge conflict in bin/nsrancid.in
Auto-merging bin/nrancid.in
Auto-merging bin/jerancid.in
Auto-merging bin/hpuifilter.c
CONFLICT (content): Merge conflict in bin/hpuifilter.c
Auto-merging bin/hlogin.in
Auto-merging bin/fnrancid.in
Auto-merging bin/fnlogin.in
Auto-merging bin/flogin.in
Auto-merging bin/f5rancid.in
CONFLICT (content): Merge conflict in bin/f5rancid.in
Auto-merging bin/f10rancid.in
CONFLICT (content): Merge conflict in bin/f10rancid.in
Auto-merging bin/control_rancid.in
CONFLICT (content): Merge conflict in bin/control_rancid.in
Auto-merging bin/clogin.in
Auto-merging bin/cat5rancid.in
Auto-merging bin/arrancid.in
CONFLICT (content): Merge conflict in bin/arrancid.in
Auto-merging bin/Makefile.in
CONFLICT (content): Merge conflict in bin/Makefile.in
Auto-merging bin/Makefile.am
CONFLICT (content): Merge conflict in bin/Makefile.am
CONFLICT (modify/delete): aclocal.m4 deleted in HEAD and modified in origin/upstream. Version origin/upstream of aclocal.m4 left in tree.
Auto-merging README
CONFLICT (content): Merge conflict in README
Auto-merging Makefile.in
CONFLICT (content): Merge conflict in Makefile.in
Auto-merging Makefile.am
CONFLICT (content): Merge conflict in Makefile.am
Auto-merging CHANGES
CONFLICT (content): Merge conflict in CHANGES
Automatic merge failed; fix conflicts and then commit the result.

It's not that bad!

@dotwaffle
Copy link
Owner Author

Right, just imported RANCID-3.1.tar.gz -- the integration branch is now taken from current HEAD.

Merging the upstream branch produces:

[dotwaffle@on6:Code/rancid-git]$ git merge upstream
Auto-merging share/Makefile.in
CONFLICT (content): Merge conflict in share/Makefile.in
Auto-merging share/Makefile.am
Auto-merging missing
CONFLICT (content): Merge conflict in missing
Auto-merging man/router.db.5
Auto-merging man/rancid_intro.1
CONFLICT (content): Merge conflict in man/rancid_intro.1
Auto-merging man/rancid.conf.5.in
CONFLICT (content): Merge conflict in man/rancid.conf.5.in
Auto-merging man/rancid-run.1
CONFLICT (content): Merge conflict in man/rancid-run.1
Auto-merging man/par.1
CONFLICT (content): Merge conflict in man/par.1
Removing man/francid.1
Auto-merging man/cloginrc.5
CONFLICT (content): Merge conflict in man/cloginrc.5
Auto-merging man/clogin.1
Auto-merging man/Makefile.in
CONFLICT (content): Merge conflict in man/Makefile.in
Auto-merging lib/mrv.pm.in
Auto-merging lib/junos.pm.in
CONFLICT (content): Merge conflict in lib/junos.pm.in
Auto-merging lib/iosxr.pm.in
CONFLICT (content): Merge conflict in lib/iosxr.pm.in
Auto-merging lib/foundry.pm.in
CONFLICT (content): Merge conflict in lib/foundry.pm.in
Auto-merging include/version.h.in
CONFLICT (content): Merge conflict in include/version.h.in
Auto-merging include/version.h
CONFLICT (content): Merge conflict in include/version.h
Auto-merging include/config.h.in
CONFLICT (content): Merge conflict in include/config.h.in
CONFLICT (modify/delete): include/config.h deleted in HEAD and modified in upstream. Version upstream of include/config.h left in tree.
Auto-merging include/Makefile.in
CONFLICT (content): Merge conflict in include/Makefile.in
Auto-merging etc/rancid.conf.sample.in
Auto-merging etc/Makefile.in
CONFLICT (content): Merge conflict in etc/Makefile.in
Auto-merging configure.ac
CONFLICT (content): Merge conflict in configure.ac
Auto-merging configure
CONFLICT (content): Merge conflict in configure
CONFLICT (rename/delete): bin/rancid_par.in deleted in upstream and renamed in HEAD. Version HEAD of bin/rancid_par.in left in tree.
Auto-merging bin/rancid.in
CONFLICT (content): Merge conflict in bin/rancid.in
Auto-merging bin/rancid-run.in
Auto-merging bin/rancid-fe.in
CONFLICT (content): Merge conflict in bin/rancid-fe.in
Auto-merging bin/nxrancid.in
CONFLICT (content): Merge conflict in bin/nxrancid.in
Auto-merging bin/nsrancid.in
CONFLICT (content): Merge conflict in bin/nsrancid.in
Auto-merging bin/nrancid.in
Auto-merging bin/jerancid.in
Auto-merging bin/hpuifilter.c
CONFLICT (content): Merge conflict in bin/hpuifilter.c
Auto-merging bin/hlogin.in
Auto-merging bin/fnrancid.in
CONFLICT (content): Merge conflict in bin/fnrancid.in
Auto-merging bin/fnlogin.in
Auto-merging bin/flogin.in
Auto-merging bin/f5rancid.in
CONFLICT (content): Merge conflict in bin/f5rancid.in
Auto-merging bin/f10rancid.in
CONFLICT (content): Merge conflict in bin/f10rancid.in
Auto-merging bin/control_rancid.in
CONFLICT (content): Merge conflict in bin/control_rancid.in
Auto-merging bin/clogin.in
CONFLICT (content): Merge conflict in bin/clogin.in
Auto-merging bin/cat5rancid.in
Auto-merging bin/arrancid.in
CONFLICT (content): Merge conflict in bin/arrancid.in
Auto-merging bin/Makefile.in
CONFLICT (content): Merge conflict in bin/Makefile.in
Auto-merging bin/Makefile.am
CONFLICT (content): Merge conflict in bin/Makefile.am
CONFLICT (modify/delete): aclocal.m4 deleted in HEAD and modified in upstream. Version upstream of aclocal.m4 left in tree.
Auto-merging README
CONFLICT (content): Merge conflict in README
Auto-merging Makefile.in
CONFLICT (content): Merge conflict in Makefile.in
Auto-merging Makefile.am
CONFLICT (content): Merge conflict in Makefile.am
Auto-merging CHANGES
CONFLICT (content): Merge conflict in CHANGES
Automatic merge failed; fix conflicts and then commit the result.

So, that gives me a list of things to fix ;)

Annoyingly, it looks like some of the recent fixes I've imported have been fixed upstream and I've not noticed (in particular, the Fortigate patches) -- so it takes a bit more head scratching and merging/testing than I'd normally have to do.

Will start work on this "sometime soon"!

@dotwaffle
Copy link
Owner Author

In case anyone is wondering, I'm not ignoring this -- RANCID 3.1.99 (i.e. 3.2 beta) has git integration, so once that is finalised I'm going to integrate it into here.

As it does git a little differently (one per group rather than one in total) it's likely that what I'll end up doing is retiring this repo -- or, maintain it as a patchset pending inclusion into upstream.

@darkpixel
Copy link

+1 :)

@dotwaffle dotwaffle changed the title Merge RANCID 3.0 Merge RANCID 3.1 Feb 23, 2015
@dotwaffle dotwaffle changed the title Merge RANCID 3.1 Merge RANCID 3.2 (when released) including upstream git support Feb 23, 2015
@dotwaffle
Copy link
Owner Author

Ok, we have a bit of a problem.

3.2 has been released (technically 3.2.99 as well) which does git support in an entirely different way -- one per group rather than one per install. This is "the proper way" IMO...

What I'm tempted to do is merge as much as I can in, then have some kind of conversion tool which will rewrite all your git history so that all the commits contain the additional directory layer. I'd be interested in hearing what people want.

I have two days at a demoparty (currently sitting at NVScene in San Jose, CA) where I can have a crack at this, so (a year on from when I first promised) I might actually make some progress with this.

If you have strong feelings on this, speak now or forever hold your peace!

@tgreer
Copy link
Contributor

tgreer commented Mar 18, 2015

I preferred your way

On 18 Mar 2015, at 22:25, Matthew Walster [email protected] wrote:

Ok, we have a bit of a problem.

3.2 has been released (technically 3.2.99 as well) which does git support in an entirely different way -- one per group rather than one per install. This is "the proper way" IMO...

What I'm tempted to do is merge as much as I can in, then have some kind of conversion tool which will rewrite all your git history so that all the commits contain the additional directory layer. I'd be interested in hearing what people want.

I have two days at a demoparty (currently sitting at NVScene in San Jose, CA) where I can have a crack at this, so (a year on from when I first promised) I might actually make some progress with this.

If you have strong feelings on this, speak now or forever hold your peace!


Reply to this email directly or view it on GitHub.

@buraglio
Copy link

Having the option to choose either option is the proper way in my opinion. That said, there are a lot of caveats with RANCID 3 when it comes to adding customizations and additional support. They've attempted to make it more modular and more flexible, but in turn have made it significantly more complicated and difficult to implement. I struggled with adding my contrib stuff to it and finally just decided stay away from 3 until the docs are not as lacking and ended up attempting a change management system myself called CLAW (https://github.com/buraglio/claw) in python (which predictably has stalled out). I will fully admit that I may be a bit obtuse.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants