GSoC 2020 Report

Introduction

During my GSoC, I worked on App Store improvements project for ns-3 organization. GSoC was my first programming experience outside personal projects and I thoroughly enjoyed the experience. I had an awesome opportunity to work for the ns-3 organization. My mentors abhijithanilkumar, mishalshah and adeepkit01 were extremely responsive, helpful, and understanding. I would also like to thank tomh sir - the ns-3 Organization Admin for his help and suggestions.

Project outline

Project Goals : To develop a Jenkins server and add necessary updates to ns-3 AppStore to check on-demand if available, uploaded or updated apps/modules/forks to AppStore build and pass tests successfully for the given ns-3 versions and display that information on AppStore. And to improve the AppStore by addressing the existing issues.

The project was completed in the following phases :

  1. Community Bonding - Solving some of the existing issues and getting familiar with the codebase.
  2. Phase 1 - Added build model to AppStore, experimented with Jenkins locally, and wrote bash scripts used by pipelines.
  3. Phase 2 - Added functionalities to AppStore for Jenkins communication, REST APIs, and their tests in AppStore for Jenkins, and Build history page for app release.
  4. Phase 3 - Added pipelines to deployed Jenkins servers, configured the environment for AppStore - Jenkins communication, and added contributing, installation, and Jenkins documentations.

Work done

This contains the work done during various phases and links to docs/commits/merge requests generated.

Community bonding

Phase 1

Phase 2

Phase 3

Other Miscellaneous Documents

Future Work

Conclusion

I am happy that all the tasks proposed were completed. I want to thank all the people who motivated and helped me. I got to learn a lot during GSoC and couldn’t have worked on a more fulfilling and exciting project. I will continue to contribute to open source and ns-3 in the future.