[GSoC 2020] Merge OpenWISP django modules

52 views
Skip to first unread message

Ajay Tripathi

unread,
Mar 3, 2020, 5:57:50 AM3/3/20
to OpenWISP
Hi,


I like this project as it'll be really useful for us in maintenance in the future.
I've started for this project with openwisp-ipam in the branch here: https://github.com/atb00ker/openwisp-ipam/tree/gsoc-2020

Please review and let me know your views on it.


Best,
Ajay Tripathi

Saimanoj Seshagiri

unread,
Mar 3, 2020, 7:25:56 AM3/3/20
to OpenWISP

hi 

            i am interested to work on this project yarr


Thanks & Regards,
Saimanoj Seshagiri ツ


--
You received this message because you are subscribed to the Google Groups "OpenWISP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openwisp+u...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/openwisp/451057ce-d43e-4a1c-941c-f347762ccc64%40googlegroups.com.

Federico Capoano

unread,
Mar 3, 2020, 8:35:30 PM3/3/20
to OpenWISP
Great, can you open a pull request from that branch?

For those who want to work on this project, there's also another issue on which you can train which would be useful to get done:

Thanks!
Federico

Ajay Tripathi

unread,
Mar 8, 2020, 7:38:14 AM3/8/20
to OpenWISP
Hi,



On Wednesday, March 4, 2020 at 7:05:30 AM UTC+5:30, Federico Capoano wrote:

Great, can you open a pull request from that branch?

The `sample_app` in this repository uses openwisp_ipam without multi-tenancy because I am assuming most
users will to extend it to make their custom solution will want to use it without multi-tenancy. Let me know
if my assumption is wrong the sample_app should have openwisp_users.


For those who want to work on this project, there's also another issue on which you can train which would be useful to get done:

This is indeed proving to be a great task to get my feet in the water with this project, I made the changes requested in the last



Thanks,
Ajay Tripathi
 

Ajay Tripathi

unread,
Mar 22, 2020, 10:12:51 AM3/22/20
to OpenWISP
Hi,


2. In `openwisp_radius`, is backward compatibility for settings variable names required? I am assuming it's not required since it's not released yet.

3. I have submitted a draft for GSoC proposal on the website, please review :-)



Ajay

Federico Capoano

unread,
Mar 23, 2020, 11:14:32 AM3/23/20
to OpenWISP
Hi Ajay,

On Sun, Mar 22, 2020 at 9:12 AM Ajay Tripathi <ajay...@gmail.com> wrote:
Hi,

 
Great, will review it asap.

2. In `openwisp_radius`, is backward compatibility for settings variable names required? I am assuming it's not required since it's not released yet.

Since it's being used in some production systems, it's better to keep backward compatibility.
 
3. I have submitted a draft for GSoC proposal on the website, please review :-)

Thanks, I will

Federico 

Federico Capoano

unread,
Mar 25, 2020, 10:22:03 PM3/25/20
to OpenWISP
Hi Ajay,

the proposal looks a good start.

As I mentioned to you a few days ago, since you've been involved with the project for some time, I believe this project is too easy for you as it is now.
Since you have the talent to do a more complex project or achieve better results, it would be a shame to waste it.
I suggest that you add the resolution of some other key github issues of the projects you're going to work on, in order to achieve the following:

- push yourself out of the comfort zone and grow more as a developer
- help the OpenWISP project  
- increase the difficulty level of your project for the sake of fairness and adherence to GSoC guidelines 

Why there's no coding activity planned in the community bonding period? We should spend this time with productive activities, especially the one related to general cleanups and improvements mentioned above.

Here's the issue I suggests to take in consideration:

Backward conversion (allowing to store the full UCI configuration of each device into OpenWISP)

- add a view in openwisp-controller to capture the full device conf and add the required code in openwisp-config to send it, this could be considered an experimental feature but nonetheless a first step

This would be a very useful front to work on, a lot of users expect to find the full configuration of a device in OpenWISP because that's how other controllers work.

I hope this helps :)
Federico

Ajay Tripathi

unread,
Mar 27, 2020, 9:31:54 AM3/27/20
to OpenWISP
Hi,

Thanks for the review, I was under the impression that the issues that are not directly related to the title of the proposal shall be kept only on GitHub.

Now, I've added these three issues that you mentioned in the proposal. I'll look more into these issues and start working on them asap.

with the latest commit on django-ipam. :-)

--
Best, 
Ajay Tripathi

Federico Capoano

unread,
Mar 29, 2020, 11:26:27 AM3/29/20
to OpenWISP
Hi Ajay,

On Fri, Mar 27, 2020 at 8:31 AM Ajay Tripathi <ajay...@gmail.com> wrote:
Hi,

Thanks for the review, I was under the impression that the issues that are not directly related to the title of the proposal shall be kept only on GitHub.

Now, I've added these three issues that you mentioned in the proposal. I'll look more into these issues and start working on them asap.
 
Thanks, will review as soon as possible.

with the latest commit on django-ipam. :-)

Same here :)
 
Federico

Ajay Tripathi

unread,
Apr 10, 2020, 7:45:55 AM4/10/20
to OpenWISP
Hi,

I have started working on merging openwisp-controller and django-netjsonconfig.
Meanwhile, these PRs are currently open for review:


On Thursday, March 26, 2020 at 7:52:03 AM UTC+5:30, Federico Capoano wrote:
- add the required code in openwisp-config to send it

I want to get started with understanding this completely as well,
so for the router / device part:

1. I want to use ubus / uci to fetch data from device
2. Convert data to netjson
3. Create a function in openwisp-config to respond back with this netjson data to openwisp controller to display to this the operator / admin!

What do you think about using RPCD for step 3 instead? (Just a food for thought!)



Ajay

Federico Capoano

unread,
Apr 10, 2020, 12:12:44 PM4/10/20
to OpenWISP
Hey Ajay,

On Fri, Apr 10, 2020 at 6:45 AM Ajay Tripathi <ajay...@gmail.com> wrote:
Hi,

I have started working on merging openwisp-controller and django-netjsonconfig.

Great news!
Thanks a lot. These periodic reminders are helpful for me.
 
On Thursday, March 26, 2020 at 7:52:03 AM UTC+5:30, Federico Capoano wrote:
- add the required code in openwisp-config to send it

I want to get started with understanding this completely as well,
so for the router / device part:

1. I want to use ubus / uci to fetch data from device
2. Convert data to netjson
3. Create a function in openwisp-config to respond back with this netjson data to openwisp controller to display to this the operator / admin!

Converting the device configuration to NetJSON on the device is not viable right now, because the logic to do that resides on netjsonconfig, which runs on the server.
Therefore at the moment the only option that allows us to move fast is to send the entire config (the command sysupgrade has an option to backup the entire conf) 
 
What do you think about using RPCD for step 3 instead? (Just a food for thought!) 

Do you mean enabling the RCPD HTTP API on ubus to fetch the data from it? In this case, the management VPN would become a requirement unless the devices are on the same L2 network, because OpenWISP would not be able to reach the HTTP API otherwise.

It's good that you're working with openwisp-config so your understanding of OpenWISP will increase.

In the initial phase I suggest you to focus on making sure sending the config to OpenWISP works well, because the following steps will be hard.
For example, these for me are still open questions:

- we're not going to send the full config to OpenWISP periodically are we? That would generate a lot of traffic. Maybe we can send the checksum like we do for the download config
- is there a way to find out if the config on the device has been changed by the user and send an update to the controller straight away?
  if there is, maybe we can then check if we need to re-upload the full config less often;
  if there isn't, we may implement a trick
- what happens if a user edits the config on the device while at the same time another user modifies a template? This will have to be handled well
- what happens if a user edits the config on the device while at the same time another user modifies the same config in the device config of openwisp? This will have to be handled well, an one of the two sides will win, probably the one that comes afterwards 

These are just the ones that come from the top of my head. There are more.
What you're working on is the first phase. The second phase will need additional thought.
The best thing in these cases is to sit down, draw, sketch. Create issues. Discuss a bit more.
If we jump to coding straightaway we risk to create a messy solution, which is still good to learn, but with some more careful design we will be able to do a lot better.

Federico

Ajay Tripathi

unread,
Apr 10, 2020, 2:01:18 PM4/10/20
to OpenWISP
On Friday, April 10, 2020 at 9:42:44 PM UTC+5:30, Federico Capoano wrote:
Converting the device configuration to NetJSON on the device is not viable right now, because the logic to do that resides on netjsonconfig, which runs on the server.
Therefore at the moment the only option that allows us to move fast is to send the entire config (the command sysupgrade has an option to backup the entire conf) 

What I had in mind was a lua script reading the configs and converting them to json object, but send sysupgrade backup file and then processing it on server side is just faster, thanks for sharing this idea! :-)
 
In the initial phase I suggest you to focus on making sure sending the config to OpenWISP works well

Okay, that sounds like a good starting point.


Thanks,
Ajay Tripathi

Ajay Tripathi

unread,
Apr 20, 2020, 5:25:21 AM4/20/20
to OpenWISP
Hello,

Update, created draft pulls for:


(Relevant questions exist in the description of the pull request!)



Best,
Ajay Tripathi

Reply all
Reply to author
Forward
0 new messages