-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Synchronization of network devices on newly added hosts for Persistent Networks #5977
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
@blueorangutan package |
|
@Pearl1594 a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress. |
|
Packaging result: ✖️ el7 ✖️ el8 ✖️ debian ✖️ suse15. SL-JID 2559 |
61ffcdf to
56bb154
Compare
|
@blueorangutan package |
|
@Pearl1594 a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress. |
|
Packaging result: ✔️ el7 ✔️ el8 ✔️ debian ✔️ suse15. SL-JID 2561 |
|
@blueorangutan test |
|
@Pearl1594 a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests |
|
Trillian test result (tid-3288)
|
|
|
||
| @Override | ||
| public List<NetworkVO> getAllPersistentNetworksFromZone(long dataCenterId) { | ||
| Object[] guestTypes = {"Isolated", "L2"}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Pearl1594
cannot Isolated network be persistent ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
they can @weizhouapache hence Isolated & l2 are included in the search criteria
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Pearl1594
oh thanks... stupid me. I thought it contains Shared and L2 ...
why exclude Shared networks ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We dont have a concept of Persistent shared networks currently @weizhouapache
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Pearl1594 ok.
|
@blueorangutan package |
|
@Pearl1594 a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress. |
|
|
||
| @Override | ||
| public List<NetworkVO> getAllPersistentNetworksFromZone(long dataCenterId) { | ||
| Object[] guestTypes = {"Isolated", "L2"}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Pearl1594
oh thanks... stupid me. I thought it contains Shared and L2 ...
why exclude Shared networks ?
| to.setIsolationuri(networkVO.getBroadcastUri()); | ||
| to.setNetworkRateMbps(configManager.getNetworkOfferingNetworkRate(networkOfferingVO.getId(), networkVO.getDataCenterId())); | ||
| to.setSecurityGroupEnabled(networkModel.isSecurityGroupSupportedInNetwork(networkVO)); | ||
| return to; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
in PR #5912, Hari added details to nicTO, is it needed here also ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think it is required @weizhouapache
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Pearl1594 ok to me.
...lume/src/main/java/org/apache/cloudstack/storage/datastore/provider/DefaultHostListener.java
Outdated
Show resolved
Hide resolved
| return true; | ||
| } | ||
|
|
||
| private void setupPersistentNetwork(HostVO host) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wonder if it is neccesary to create bridges, vlans on kvm hosts, although it is not harmful.
from my understanding, persist L2/Isolated network means the vlan id will be not released even if there is no vm running.
for vmware/xenserver, it might be useful.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Pearl1594
can you explain a bit what's the benifit of this feature ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So, we had persistent networks in ACS - and by definition, these networks are meant to be setup at the time of network created across all hosts. However, while the definition in the docs said that, it didn't actually behave that way. So when a new host is added no bridge/vlan/port-group of the existing persistent network is present. So the idea of this enhancement, is to setup network on the new hosts or when disable hosts are enabled to stay true to the definition of Persistent networks as per docs.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Pearl1594
I just read the cloudstack document http://docs.cloudstack.apache.org/en/latest/adminguide/networking/persistent_networks.html
which was updated by apache/cloudstack-documentation#183
The only thing different from what I understand is
- Creation of an L2 Persistent network setups up the network devices namely,
bridges, VLANs or port-groups across all hosts in a zone.
I do not see the benifit to have permanent linux bridges but without any vm on kvm hosts.
I have no idea it is useful for vmware or xenserver.
in my understanding, persistent network means the network will not be shutdown even if no vm running. therefore vlan will be released/re-allocated, virtual router will not be stopped, which are useful for network administrators and users.
|
Packaging result: ✔️ el7 ✔️ el8 ✔️ debian ✔️ suse15. SL-JID 2669 |
e59c5fb to
d80623b
Compare
|
@blueorangutan package |
|
@Pearl1594 a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress. |
|
@blueorangutan package |
1 similar comment
|
@blueorangutan package |
|
@DaanHoogland a Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress. |
|
Packaging result: ✔️ el7 ✔️ el8 ✔️ debian ✔️ suse15. SL-JID 2947 |
|
@blueorangutan test |
|
@nvazquez a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests |
|
Trillian test result (tid-3689)
|
|
@blueorangutan package |
|
@nvazquez a Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress. |
NuxRo
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
|
Packaging result: ✔️ el7 ✖️ el8 ✔️ debian ✔️ suse15. SL-JID 3120 |
|
@blueorangutan package |
|
@nvazquez a Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress. |
|
Packaging result: ✖️ el7 ✔️ el8 ✖️ debian ✖️ suse15. SL-JID 3123 |
|
@blueorangutan package |
|
@nvazquez a Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress. |
|
Packaging result: ✔️ el7 ✔️ el8 ✔️ debian ✔️ suse15. SL-JID 3126 |
|
@blueorangutan test |
|
@nvazquez a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests |
|
Trillian test result (tid-3854)
|
Description
This PR is a GSoC project: #4814
This PR adds a feature to L2 persitent networks, where resources of the persistent networks are created at hostConnect phase of DefaultHostListener, and cleaned up at hostAboutToBeRemoved phase.
This PR also fixes a bug, where rebooting the hosts removes the persistent network's resources, without readding them when the host is readded to the zone.
Continuation of PR: #5195
Fixes: #5196
Types of changes
Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale
Screenshots (if appropriate):
How Has This Been Tested?
This has been manually tested with a mbx KVM, XenServer and VmWare setup on a local machine.
Different manual test scenarios:
A Marvin component test under
test/integration/component/test_persistent_networks.py
added that tests the following steps for a KVM environment.
Validation steps:
Test output results should be:
==== Marvin Init Started ====
=== Marvin Parse Config Successful ===
=== Marvin Setting TestData Successful===
==== Log Folder Path: /tmp/MarvinLogs/. All logs will be available here ====
=== Marvin Init Logging Successful===
==== Marvin Init Successful ====
====Trying SSH Connection: Host:172.20.0.121 User:root Port:22 RetryCnt:10===
===SSH to Host 172.20.0.121 port : 22 SUCCESSFUL===
{Cmd: ip addr | grep breth0-991 > /dev/null 2>&1; echo $? via Host: 172.20.0.121} {returns: ['0']}
=== TestName: test_newly_added_host_for_persistent_network_resources | Status : SUCCESS ===
===final results are now copied to: /tmp//MarvinLogs/test_persistent_networks_===