Skip to content

GSoC 2021 Idea: Synchronization of network devices on newly added hosts for Persistent Networks #4814

@Pearl1594

Description

@Pearl1594
Background

Cloudstack offers Persistent Networks which gets provisioned at the time of creation without having to deploy a VM in the network (http://docs.cloudstack.apache.org/en/latest/adminguide/networking/persistent_networks.html). However, in case new hosts are added or disabled hosts re-enabled or moved from maintenance mode to enabled state, the network devices do not get provisioned on such hosts.
To comply with the definition of Persistent Networks, we need to have a mechanism to synchronize the creation of network devices (VLANs/ bridges, etc) on hosts added post creation of the network by extending the existing framework of HypervisorHostListener to support creation of Persistent networks in a general manner .

This would involve:

  • Scanning for hosts that have been added post creation of the network
  • Scanning for hosts that have transitioned to Active state post creation of network
Proposed Tasks
  • Get started on basic CloudStack codebase and development (building and running CloudStack)
  • Understanding persistence in the context of CloudStack and across hypervisors
  • Define strategy to identify hosts that don't have the resources (bridges,etc) provisioned on them
  • Define strategy to provision networks across identified hosts
  • Deliverables: documentation and community pull request, end-to-end demo of feature
Relevant Skills

Java and Python

Difficulty

Moderate

Proposed Mentor

Pearl Dsilva - pearl.dsilva@shapeblue.com
Rohit Yadav - rohit@apache.org

Example and references

https://github.com/apache/cloudstack/blob/master/engine/api/src/main/java/org/apache/cloudstack/engine/subsystem/api/storage/HypervisorHostListener.java

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions