Skip to content

Conversation

agneya2001
Copy link
Contributor

@agneya2001 agneya2001 commented Jan 27, 2016

Types of changes

  • Breaking change (fix or feature that would cause existing functionality to change)
  • New feature (non-breaking change which adds functionality)
  • Bug fix (non-breaking change which fixes an issue)
  • Enhancement (improves an existing feature and functionality)
  • Cleanup (Code refactoring and cleanup, that may add test cases)
    . Added zone level quagga/ospf config API and UI as addtional tab on zone
    . Added service offering with ospf
    . Added service offering for the tier guest network for VPC
    . Modified system vm template so that quagga is pre-installed
    . Added various configuration files that are required by Quagga
    . Added marvin tests for new APIs and unit test
    . Send quagga config from the server if VPC and tier are dynamically
    routed
    . Configure quagga when a VM of the tier is created/destroyed
    . Added necessary scritps on the vpc router to enable and configure
    quagga and iptable rules
    . Multiple Cidr management and netmask based cidr allocation
    . Added unit tests for cidr management
    . New dialog for create dynamic VPC and netmask as a field
    . Marvin tests to test dynmaic vpc service offering

ALTER TABLE `cloud`.`template_store_ref` MODIFY COLUMN `url` varchar(2048);
ALTER TABLE `cloud`.`volume_store_ref` MODIFY COLUMN `url` varchar(2048);
ALTER TABLE `cloud`.`volume_store_ref` MODIFY COLUMN `download_url` varchar(2048);

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please use schema-481to490.sql instead as 4.8.0 is already released.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@remibergsma thank you, will adjust the versions

@abhinandanprateek abhinandanprateek force-pushed the master-quagga branch 3 times, most recently from 842e083 to 6ef6464 Compare February 8, 2016 09:20
@abhinandanprateek abhinandanprateek force-pushed the master-quagga branch 4 times, most recently from 86e3885 to b54c0d5 Compare February 26, 2016 09:11
@agneya2001 agneya2001 changed the title OSPF: WIP: adding dynamically routing capability to VPC OSPF: adding dynamically routing capability to VPC Feb 26, 2016
@abhinandanprateek abhinandanprateek force-pushed the master-quagga branch 3 times, most recently from eee8f98 to 4f9c371 Compare March 14, 2016 10:23
@agneya2001
Copy link
Contributor Author

Marvin test log for testing ospf:

nosetests --with-xunit --xunit-file=/tmp/simulator/smoke/test_quota.xml --with-marvin --marvin-config=/root/cloudstack_shapeblue/advanced.cfg /root/cloudstack_shapeblue/test/integration/component/test_ospf.py -s -a tags=advanced,required_hardware=false --zone=Bootcamp --hypervisor=xenserver

==== Marvin Init Started ====

=== Marvin Parse Config Successful ===

=== Marvin Setting TestData Successful===

==== Log Folder Path: /tmp//MarvinLogs//Mar_17_2016_15_54_43_FRA4VS. All logs will be available here ====

=== Marvin Init Logging Successful===

==== Marvin Init Successful ====
test_01_dynamic_routing_using_ospf (integration.component.test_ospf.TestCreateDynmaicServiceOffering)
Response quaggaEnabled: true
Response ospfSuperCIDR: 200.100.0.0/16
Response quaggaEnabled: true
Response ospfSuperCIDR: 200.100.0.0/16
Check if the VPC offering is created successfully?
VPC offering is created successfully - Cosmic VPC off-8V5DNP
VPC Offering id = 0976e8a3-87ec-4f47-854d-7fb6433a64a4
Check if the VPC network is created successfully?
VPC network created successfully - Batman VPC-U784HI
VPC batman_vpc id = db59e37c-bd73-4c7b-b9af-6de6f494b4b0
Check if the VPC network is created successfully?
VPC network created successfully - Superman VPC-9OWLC6
VPC superman_vpc id = ffcdfa4d-2af8-43db-b7df-f3abc3e6ce78
Dynamic Network offering id = ffd45aec-9917-471e-8e90-297584963618
Created a network ACL list acl
Added a network ACL 3546e9cc-570f-495a-9bf2-60e1e4b823f2 to ACL list acl
Added a network ACL 02a4dbb2-e29a-4653-9d06-868d0aa6406c to ACL list acl
Verifying list network response to check if network created?
Created batman_network_tier1 with ID: c2eb368f-330c-4e08-b36f-a431e369023f
Created a network ACL list acl
Added a network ACL 48042210-7e6c-4001-97bb-625a36da9584 to ACL list acl
Added a network ACL a96782de-1d30-4650-b896-d27089ef9258 to ACL list acl
Verifying list network response to check if network created?
Created superman_network_tier1 with ID: e037f276-5527-43f5-8916-e97aaf0f4656
Using template 06415103-d802-44de-ba4c-82f1f465dda8
Using service offering 438477b3-f54d-4d59-a845-520ac91a874f
Deployed VM 75b13cfa-09d7-4836-a8ba-2b4aa33346f9 in network: c2eb368f-330c-4e08-b36f-a431e369023f
Deployed VM c5bbab5c-108b-4cfe-88d7-f87ae4e27bc3 in network: e037f276-5527-43f5-8916-e97aaf0f4656
Acquired public ip for batman vm 192.168.100.69
Static Nat enabled on ip 192.168.100.69
====Trying SSH Connection: Host:192.168.100.69 User:root Port:22 RetryCnt:60===
===SSH to Host 192.168.100.69 port : 22 SUCCESSFUL===
{Cmd: ping -c 1 200.100.5.101 via Host: 192.168.100.69} {returns: [u'PING 200.100.5.101 (200.100.5.101): 56 data bytes', u'64 bytes from 200.100.5.101: seq=0 ttl=62 time=2.347 ms', u'', u'--- 200.100.5.101 ping statistics ---', u'1 packets transmitted, 1 packets received, 0% packet loss', u'round-trip min/avg/max = 2.347/2.347/2.347 ms']}
[u'PING 200.100.5.101 (200.100.5.101): 56 data bytes', u'64 bytes from 200.100.5.101: seq=0 ttl=62 time=2.347 ms', u'', u'--- 200.100.5.101 ping statistics ---', u'1 packets transmitted, 1 packets received, 0% packet loss', u'round-trip min/avg/max = 2.347/2.347/2.347 ms']
Test successful clearing VMs
Test successful clearing VPC Tiers
Test successful clearing VPCs
=== TestName: test_01_dynamic_routing_using_ospf | Status : SUCCESS ===

===final results are now copied to: /tmp//MarvinLogs/test_ospf_DHP8KX===

@agneya2001
Copy link
Contributor Author

Documentation PR is here apache/cloudstack-docs-admin#36

@terbolous
Copy link
Contributor

Would you mind running a broader test suite to verify that there are no regressions?

@bvbharatk
Copy link
Contributor

ACS CI BVT Run

Sumarry:
Build Number 111
Hypervisor xenserver
NetworkType Advanced
Passed=105
Failed=13
Skipped=4

The follwing tests have known issues
test_vpc_remote_access_vpn
test_vpc_site2site_vpn
test_01_test_vm_volume_snapshot
test_02_vpc_privategw_static_routes
test_03_rvpc_privategw_static_routes
test_04_change_offering_small
ContextSuite context=TestNiciraContoller>:setup
test_01_primary_storage_iscsi
test02_internallb_haproxy_stats_on_all_interfaces
test_01_internallb_roundrobin_1VPC_3VM_HTTP_port80
ContextSuite context=TestDeployVM>:setup
test_04_extract_template
test_04_extract_Iso
test_07_list_default_iso

Link to logs Folder (search by build_no): https://www.dropbox.com/sh/yj3wnzbceo9uef2/AAB6u-Iap-xztdm6jHX9SjPja?dl=0

Failed tests:

  • integration.smoke.test_guest_vlan_range.TestDedicateGuestVlanRange
    • test_dedicateGuestVlanRange Failing since 2 runs

Skipped tests:
test_vm_nic_adapter_vmxnet3
test_deploy_vgpu_enabled_vm
test_06_copy_template
test_06_copy_iso

Passed test suits:
integration.smoke.test_deploy_vm_with_userdata.TestDeployVmWithUserData
integration.smoke.test_affinity_groups_projects.TestDeployVmWithAffinityGroup
integration.smoke.test_portable_publicip.TestPortablePublicIPAcquire
integration.smoke.test_over_provisioning.TestUpdateOverProvision
integration.smoke.test_global_settings.TestUpdateConfigWithScope
integration.smoke.test_scale_vm.TestScaleVm
integration.smoke.test_service_offerings.TestCreateServiceOffering
integration.smoke.test_loadbalance.TestLoadBalance
integration.smoke.test_routers.TestRouterServices
integration.smoke.test_reset_vm_on_reboot.TestResetVmOnReboot
integration.smoke.test_snapshots.TestSnapshotRootDisk
integration.smoke.test_deploy_vms_with_varied_deploymentplanners.TestDeployVmWithVariedPlanners
integration.smoke.test_network.TestDeleteAccount
integration.smoke.test_non_contigiousvlan.TestUpdatePhysicalNetwork
integration.smoke.test_deploy_vm_iso.TestDeployVMFromISO
integration.smoke.test_public_ip_range.TestDedicatePublicIPRange
integration.smoke.test_multipleips_per_nic.TestDeployVM
integration.smoke.test_regions.TestRegions
integration.smoke.test_affinity_groups.TestDeployVmWithAffinityGroup
integration.smoke.test_network_acl.TestNetworkACL
integration.smoke.test_pvlan.TestPVLAN
integration.smoke.test_volumes.TestCreateVolume
integration.smoke.test_ssvm.TestSSVMs
integration.smoke.test_nic.TestNic
integration.smoke.test_deploy_vm_root_resize.TestDeployVM
integration.smoke.test_resource_detail.TestResourceDetail
integration.smoke.test_secondary_storage.TestSecStorageServices
integration.smoke.test_vm_life_cycle.TestDeployVM
integration.smoke.test_disk_offerings.TestCreateDiskOffering

@agneya2001
Copy link
Contributor Author

@bvbharatk Thank you for running the marvin tests. Do you think any specific test that is failing on this branch ?

Allocated("Indicates the network configuration is in allocated but not setup"), Setup("Indicates the network configuration is setup"), Implementing(
"Indicates the network configuration is being implemented"), Implemented("Indicates the network configuration is in use"), Shutdown(
"Indicates the network configuration is being destroyed"), Destroy("Indicates that the network is destroyed");
"Indicates the network configuration is being destroyed"), Destroy("Indicates that the network is destroyed");
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This appears to be an unnecessary formatting change that actually misaligns the code.

throw new BadCIDRException("Invalid mask length used: " + maskString);
}
return getCIDR(addr, mask);
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider renaming getCIDR to create since the get verb is generally in Java for methods that access attributes.

@jburwell
Copy link
Contributor

@abhinandanprateek Reading through the code, it seems like there could be benefit from the following value objects:

  • IpAddress interface whose implementations would wrap InetAddress to provide factory methods and operations specific to CloudStack orchestration
  • Netmask interface to encapsulate netmask-related operations for IPv4 and IPv6

Assuming that these new network primitives should orient us towards deprecating NetUtils, the new methods added to NetUtils for this enhancement should find a place in these new primitives.

@abhinandanprateek abhinandanprateek force-pushed the master-quagga branch 3 times, most recently from ef8ac31 to a2e9d26 Compare May 13, 2016 10:36
@swill
Copy link
Contributor

swill commented May 13, 2016

Please verify why the jobs are failing and re-push this PR to try to get it green. I need to verify the process to test new system templates and how to build and distribute new system templates. I have not tried to find the documentation on this, so if someone knows where to find it, I would accept a link. :)

@DaanHoogland
Copy link
Contributor

@rhtyd @weizhouapache is this functionality worth keeping an eye on?

@weizhouapache
Copy link
Member

wow, this is a quite big change.
I think it worths re-visiting. @DaanHoogland
not now, but 4.15 or 4.16.

@DaanHoogland DaanHoogland added this to the 4.15.0.0 milestone Mar 6, 2020
@rohityadavcloud
Copy link
Member

Hold-on, maybe useful in future when we want to allow route-able networks with bgp/ospf.

@rohityadavcloud
Copy link
Member

Closing this old work, we'll revisit this in future.

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

Successfully merging this pull request may close these issues.