cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ian Southam <ISout...@schubergphilis.com>
Subject Re: [MERGE] Redundant VPC routers and persistent router config
Date Thu, 19 Feb 2015 16:39:22 GMT
Hi All,

We have had a discussion about this development in-house and have decided to slow things down
just a little.  We just want a few days to get our own integration test coverage better. 
We hope that way to be able to merge code with a much fewer faults.

We do not however have the resources to test everything and of course we known there will
be use cases out there that we have not properly considered.

Our plan, is to test Xen and KVM as thoroughly as we can.  We will not test VMware, OVM or
Hyperv.  We hope that we can reply on the community to help us there!

The plan is then to aim to merge master on the 5 March (in two weeks time).

@Marcus.

Persistent config means that the configuration can survive reboots and crashes.  It should
not affect recreate operations.

In the case of the VPC we explicitly provide both options, restart and recreate.

To be honest some of the things we do, do slightly challenge the cloud paradigm as our model
does contain some elements of self healing.   Also we let VRRP make its own decisions about
master and backup (whilst ensuring the the orchestration layer knows what is happening). 
If you have some concerns about this, I am happy o discuss.

—
Grts!
Ian



On 18 Feb 2015, at 08:37, Daan Hoogland <daan.hoogland@gmail.com> wrote:

> Good point Marcus. I'll look into that.
> 
> On Tue, Feb 17, 2015 at 9:38 PM, Marcus <shadowsor@gmail.com> wrote:
>> Yes, I just want to make sure that it doesn't require/assume
>> persistency when some people rely on recreate.systemvm.enabled=true to
>> provide clean/fresh systemvms with every reboot, consistent with the
>> cloud paradigm.
>> 
>> On Tue, Feb 17, 2015 at 12:09 PM, Daan Hoogland <daan.hoogland@gmail.com> wrote:
>>> Yes, the delete works. Dont know if we included the option recreate in
>>> our tests. Should not be a biggy though. It is not relevant for the
>>> persistency.
>>> 
>>> On Tue, Feb 17, 2015 at 8:05 PM, Marcus <shadowsor@gmail.com> wrote:
>>>> But a recreate will still work, right? If you delete the router or set
>>>> recreate.systemvm.enabled=true it will still result in a working
>>>> router?
>>>> 
>>>> On Tue, Feb 17, 2015 at 11:05 AM, Daan Hoogland <daan.hoogland@gmail.com>
wrote:
>>>>> It means that cloudstack doesn't have to reconfigure them on reboot as
>>>>> they have the config on disk.
>>>>> 
>>>>> On Tue, Feb 17, 2015 at 4:16 PM, Marcus <shadowsor@gmail.com> wrote:
>>>>>> Can someone expand on what's meant by 'systemvm persistent config'?
>>>>>> Somehow this makes me think that the systemvms would no longer be
>>>>>> easily rebuildable.
>>>>>> 
>>>>>> On Tue, Feb 17, 2015 at 5:11 AM, Wilder Rodrigues
>>>>>> <WRodrigues@schubergphilis.com> wrote:
>>>>>>> Hi there,
>>>>>>> 
>>>>>>> I’m building a devcloud-kvm in order to test our changes with
a different environment as well.
>>>>>>> 
>>>>>>> Cheers,
>>>>>>> Wilder
>>>>>>> 
>>>>>>> 
>>>>>>> On 17 Feb 2015, at 01:46, Wilder Rodrigues <WRodrigues@schubergphilis.com>
wrote:
>>>>>>> 
>>>>>>>> Hi all,
>>>>>>>> 
>>>>>>>> I have been some tests on the branch in order to give you
all some confidence.
>>>>>>>> 
>>>>>>>> During the tests I found 1 bug related to communication from
VM A on Tier 1 to VM B on Tier 2 in a Single VPC. I can reproduce the bug and it disappears
when I convert the Single VPC to a redundant one. I already talked to Ian and he is on it.
>>>>>>>> 
>>>>>>>> Results follow below.
>>>>>>>> 
>>>>>>>> Cheers,
>>>>>>>> Wilder
>>>>>>>> 
>>>>>>>> Environment:
>>>>>>>> 
>>>>>>>> Xen 6.2 running on VMware zone within our Betacloud (ACS
4.4.2)
>>>>>>>> MySQL running on MacBook Pro
>>>>>>>> Management Server on MacBook Pro
>>>>>>>> 
>>>>>>>> ::: Manual Tests:::
>>>>>>>> 
>>>>>>>> Isolated Networks
>>>>>>>> 
>>>>>>>> * Create Network
>>>>>>>> * Create 2 VMs using new Network
>>>>>>>> * Create FW rules
>>>>>>>> * Create PF rules
>>>>>>>> * SSH to the VMs
>>>>>>>> * SSH from one VM onto the other in the same isolated network
>>>>>>>> * Destroy Master router
>>>>>>>> * Restart the Network
>>>>>>>> * Restart the Network with Clean-up option
>>>>>>>> * Repeat steps above
>>>>>>>> 
>>>>>>>> Redundant Isolated Networks
>>>>>>>> 
>>>>>>>> * Create Redundant Network Offering
>>>>>>>> * Create 2 VMs using new offering
>>>>>>>> * Create FW rules
>>>>>>>> * Create PF rules
>>>>>>>> * SSH to the VMs
>>>>>>>> * SSH from one VM onto the other in the same redundant isolated
network
>>>>>>>> * Destroy Master router
>>>>>>>> * Restart the Network
>>>>>>>> * Stop the Master Router
>>>>>>>> 
>>>>>>>> Single VPC
>>>>>>>> 
>>>>>>>> * Create VPC
>>>>>>>> * Create 2 Tiers
>>>>>>>> * Create ACLS
>>>>>>>> * Create 1 Vm for each Tier
>>>>>>>> * Associate 2 IP address
>>>>>>>> * Add PF rules
>>>>>>>> * SSH onto VMs
>>>>>>>> * SSH from 1 VM onto another
>>>>>>>> * Restart VPC - Make it redundant
>>>>>>>> * Repeat steps above
>>>>>>>> 
>>>>>>>> Redundant VPC
>>>>>>>> 
>>>>>>>> * Create VPC
>>>>>>>> * Create 2 Tiers
>>>>>>>> * Create ACLS
>>>>>>>> * Create 1 Vm for each Tier
>>>>>>>> * Associate 2 IP address
>>>>>>>> * Add PF rules
>>>>>>>> * SSH onto VMs
>>>>>>>> * SSH from 1 VM onto another
>>>>>>>> * Stop/Destroy the Master Router
>>>>>>>> * Observe the Backup router became Master
>>>>>>>> * SSH again onto the VMs
>>>>>>>> * Restart VPC (without clean-up)
>>>>>>>> * Observer only 1 new router is created
>>>>>>>> * New router is started as Backup
>>>>>>>> * SSH onto VMs
>>>>>>>> * Restart VPC (with clean-up)
>>>>>>>> * Observer only 2 new routers are created
>>>>>>>> * SSH onto VMs
>>>>>>>> 
>>>>>>>> ::: Automated Tests :::
>>>>>>>> 
>>>>>>>> Test Create Account and user for that account ... === TestName:
test_01_create_account | Status : SUCCESS ===
>>>>>>>> ok
>>>>>>>> Test Sub domain allowed to launch VM  when a Domain level
zone is created ... === TestName: test_01_add_vm_to_subdomain | Status : SUCCESS ===
>>>>>>>> ok
>>>>>>>> Test delete domain without force option ... === TestName:
test_DeleteDomain | Status : SUCCESS ===
>>>>>>>> ok
>>>>>>>> Test delete domain with force option ... === TestName: test_forceDeleteDomain
| Status : SUCCESS ===
>>>>>>>> ok
>>>>>>>> Test update admin details ... === TestName: test_updateAdminDetails
| Status : SUCCESS ===
>>>>>>>> ok
>>>>>>>> Test update domain admin details ... === TestName: test_updateDomainAdminDetails
| Status : SUCCESS ===
>>>>>>>> ok
>>>>>>>> Test user update API ... === TestName: test_updateUserDetails
| Status : SUCCESS ===
>>>>>>>> ok
>>>>>>>> Test login API with domain ... === TestName: test_LoginApiDomain
| Status : SUCCESS ===
>>>>>>>> ok
>>>>>>>> Test if Login API does not return UUID's ... === TestName:
test_LoginApiUuidResponse | Status : SUCCESS ===
>>>>>>>> ok
>>>>>>>> 
>>>>>>>> ----------------------------------------------------------------------
>>>>>>>> Ran 9 tests in 1140.977s
>>>>>>>> 
>>>>>>>> OK
>>>>>>>> 
>>>>>>>> Test reset virtual machine on reboot ... === TestName: test_01_reset_vm_on_reboot
| Status : SUCCESS ===
>>>>>>>> ok
>>>>>>>> 
>>>>>>>> ----------------------------------------------------------------------
>>>>>>>> Ran 1 test in 216.907s
>>>>>>>> 
>>>>>>>> OK
>>>>>>>> 
>>>>>>>> Test advanced zone virtual router ... === TestName: test_advZoneVirtualRouter
| Status : SUCCESS ===
>>>>>>>> ok
>>>>>>>> Test Deploy Virtual Machine ... === TestName: test_deploy_vm
| Status : SUCCESS ===
>>>>>>>> ok
>>>>>>>> Test Multiple Deploy Virtual Machine ... === TestName: test_deploy_vm_multiple
| Status : SUCCESS ===
>>>>>>>> ok
>>>>>>>> Test Stop Virtual Machine ... === TestName: test_01_stop_vm
| Status : SUCCESS ===
>>>>>>>> ok
>>>>>>>> Test Start Virtual Machine ... === TestName: test_02_start_vm
| Status : SUCCESS ===
>>>>>>>> ok
>>>>>>>> Test Reboot Virtual Machine ... === TestName: test_03_reboot_vm
| Status : SUCCESS ===
>>>>>>>> ok
>>>>>>>> Test destroy Virtual Machine ... === TestName: test_06_destroy_vm
| Status : SUCCESS ===
>>>>>>>> ok
>>>>>>>> Test recover Virtual Machine ... === TestName: test_07_restore_vm
| Status : SUCCESS ===
>>>>>>>> ok
>>>>>>>> Test migrate VM ... SKIP: At least two hosts should be present
in the zone for migration
>>>>>>>> Test destroy(expunge) Virtual Machine ... === TestName: test_09_expunge_vm
| Status : SUCCESS ===
>>>>>>>> ok
>>>>>>>> 
>>>>>>>> ----------------------------------------------------------------------
>>>>>>>> Ran 10 tests in 851.022s
>>>>>>>> 
>>>>>>>> OK (SKIP=1)
>>>>>>>> 
>>>>>>>> Test router internal advanced zone ... SKIP: Marvin configuration
has no host credentials to check router services
>>>>>>>> Test restart network ... === TestName: test_03_restart_network_cleanup
| Status : SUCCESS ===
>>>>>>>> ok
>>>>>>>> Test router basic setup ... === TestName: test_05_router_basic
| Status : SUCCESS ===
>>>>>>>> ok
>>>>>>>> Test router advanced setup ... === TestName: test_06_router_advanced
| Status : SUCCESS ===
>>>>>>>> ok
>>>>>>>> Test stop router ... === TestName: test_07_stop_router |
Status : SUCCESS ===
>>>>>>>> ok
>>>>>>>> Test start router ... === TestName: test_08_start_router
| Status : SUCCESS ===
>>>>>>>> ok
>>>>>>>> Test reboot router ... === TestName: test_09_reboot_router
| Status : SUCCESS ===
>>>>>>>> ok
>>>>>>>> 
>>>>>>>> ----------------------------------------------------------------------
>>>>>>>> Ran 7 tests in 454.519s
>>>>>>>> 
>>>>>>>> OK (SKIP=1)
>>>>>>>> 
>>>>>>>> Test to create service offering ... === TestName: test_01_create_service_offering
| Status : SUCCESS ===
>>>>>>>> ok
>>>>>>>> Test to update existing service offering ... === TestName:
test_02_edit_service_offering | Status : SUCCESS ===
>>>>>>>> ok
>>>>>>>> Test to delete service offering ... === TestName: test_03_delete_service_offering
| Status : SUCCESS ===
>>>>>>>> ok
>>>>>>>> 
>>>>>>>> ----------------------------------------------------------------------
>>>>>>>> Ran 3 tests in 206.916s
>>>>>>>> 
>>>>>>>> OK
>>>>>>>> 
>>>>>>>> Test VPN in VPC ... === TestName: test_vpc_remote_access_vpn
| Status : SUCCESS ===
>>>>>>>> ok
>>>>>>>> Test VPN in VPC ... === TestName: test_vpc_site2site_vpn
| Status : SUCCESS ===
>>>>>>>> ok
>>>>>>>> 
>>>>>>>> ----------------------------------------------------------------------
>>>>>>>> Ran 2 tests in 373.908s
>>>>>>>> 
>>>>>>>> OK
>>>>>>>> 
>>>>>>>> Test create VPC offering ... === TestName: test_01_create_vpc_offering
| Status : SUCCESS ===
>>>>>>>> ok
>>>>>>>> Test VPC offering without load balancing service ... ===
TestName: test_03_vpc_off_without_lb | Status : SUCCESS ===
>>>>>>>> ok
>>>>>>>> Test VPC offering without static NAT service ... === TestName:
test_04_vpc_off_without_static_nat | Status : SUCCESS ===
>>>>>>>> ok
>>>>>>>> Test VPC offering without port forwarding service ... ===
TestName: test_05_vpc_off_without_pf | Status : SUCCESS ===
>>>>>>>> ok
>>>>>>>> Test VPC offering with invalid services ... === TestName:
test_06_vpc_off_invalid_services | Status : SUCCESS ===
>>>>>>>> ok
>>>>>>>> Test update VPC offering ... === TestName: test_07_update_vpc_off
| Status : SUCCESS ===
>>>>>>>> ok
>>>>>>>> Test list VPC offering ... === TestName: test_08_list_vpc_off
| Status : SUCCESS ===
>>>>>>>> ok
>>>>>>>> test_09_create_redundant_vpc_offering (integration.acs.tests.test_vpc_offerings.TestVPCOffering)
... === TestName: test_09_create_redundant_vpc_offering | Status : SUCCESS ===
>>>>>>>> ok
>>>>>>>> 
>>>>>>>> ----------------------------------------------------------------------
>>>>>>>> Ran 8 tests in 672.382s
>>>>>>>> 
>>>>>>>> OK
>>>>>>>> 
>>>>>>>> test_privategw_acl (integration.acs.tests.test_privategw_acl.TestPrivateGwACL)
... === TestName: test_privategw_acl | Status : SUCCESS ===
>>>>>>>> ok
>>>>>>>> 
>>>>>>>> ----------------------------------------------------------------------
>>>>>>>> Ran 1 test in 90.756s
>>>>>>>> 
>>>>>>>> OK
>>>>>>>> 
>>>>>>>> Test to change service offering of router after addition
of one guest network ... === TestName: test_04_chg_srv_off_router_after_addition_of_one_guest_network
| Status : SUCCESS ===
>>>>>>>> ok
>>>>>>>> Test destroy of router after addition of one guest network
... === TestName: test_05_destroy_router_after_addition_of_one_guest_network | Status : SUCCESS
===
>>>>>>>> ok
>>>>>>>> Test to stop and start router after creation of VPC ... ===
TestName: test_01_stop_start_router_after_creating_vpc | Status : SUCCESS ===
>>>>>>>> ok
>>>>>>>> Test to reboot the router after creating a VPC ... === TestName:
test_02_reboot_router_after_creating_vpc | Status : SUCCESS ===
>>>>>>>> ok
>>>>>>>> Tests to change service offering of the Router after ...
=== TestName: test_04_change_service_offerring_vpc | Status : SUCCESS ===
>>>>>>>> ok
>>>>>>>> Test to destroy the router after creating a VPC ... === TestName:
test_05_destroy_router_after_creating_vpc | Status : SUCCESS ===
>>>>>>>> ok
>>>>>>>> 
>>>>>>>> ----------------------------------------------------------------------
>>>>>>>> Ran 6 tests in 665.965s
>>>>>>>> 
>>>>>>>> OK
>>>>>>>> 
>>>>>>>> On 16 Feb 2015, at 17:53, Daan Hoogland <daan.hoogland@gmail.com>
wrote:
>>>>>>>> 
>>>>>>>>> H,
>>>>>>>>> 
>>>>>>>>> I will merge our feature/systemvm-persistent-config into
master. If
>>>>>>>>> you have objections please let me know before tomorrow.
>>>>>>>>> 
>>>>>>>>> @john: your comment was addressed in the present day
version.
>>>>>>>>> 
>>>>>>>>> --
>>>>>>>>> Daan
>>>>>>>> 
>>>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> --
>>>>> Daan
>>> 
>>> 
>>> 
>>> --
>>> Daan
> 
> 
> 
> -- 
> Daan


Mime
View raw message