Artur, Shura and Dima, I want close the action item which I've got on the Fuel IRC meeting Nov 26th. BP for investigation how we can(not) run HA tests on nodepool was created: https://blueprints.launchpad.net/fuel/+spec/qa-rnd-ha-on-nodepool
Milestone target is "next" cause we are close to FF for 8.0 version, but BP is open for comments and suggestions. Nastya. On Wed, Nov 25, 2015 at 4:55 PM, Artur Kaszuba <[email protected]> wrote: > Hi All > > W dniu 25.11.2015 o 14:00, Aleksandra Fedorova pisze: > >> ... >> Thus the test layout as i see it should be the following: >> >> - one "manager vm" which will be responsible for the main test flow. >> On this vm we will: >> - build fuel-library package, >> - generate a repository, >> - get fuel-qa code, >> - run the actual test using based on job parameters, >> - collect test result and artifacts. >> - one vm with installed Fuel, >> - several bootstrapped nodes according to the test configuration - >> here probably we can switch from using nodes which are bootstrapped >> with Fuel to nodes which are just the most generic ones. >> >> As i got it from reading grenade job log [1], having manager vm is >> actually expected: there is a "main" node and list of subnodes which >> you can talk to from there. So this setup is not impossible, but >> requires support for requesting different types of nodes from >> nodepool. And we probably need to patch the Zuul_v3 spec in [2] to add >> this case to the format of request-accept calls? >> >> The other question here would be the network configuration: to >> function properly Fuel needs 5 (or 6?) different networks and we will >> need a way to configure them before we run the actual deployment. What >> are the options for configuring network on top of nodes provided by >> nodepool? >> >> >> > Some time ago i worked on similar solution, how to execute Fuel inside > other openstack instances. During my tests i have found problem with > network and passing vlans between openstack instances. This problem could > also appear when we want to use nodepool as a source of virtual machines > for deployment tests. I will try to show where my problem exist. > > As a underlying Openstack infrastructure was used Fuel 6.0 executed on HW > nodes: > - one controler node > - 5 compute nodes > - Neutron with GRE segmentation > > To reduce network issues all instances was executed on one compute node. > > Test assumes that we execute fuel master and slaves as a Openstack > instances inside one dedicated tenant. Every test requires to create a few > networks and instances, it was easier to manage networks and instances as a > tenant group. At the end of the test we can just delete all tenant objects. > > Standard fuel installation requires to create few networks, i created: > - admin > - public > - mgmt > - storage > > In standard Fuel installations networks could be attached directly to > interface or created as a VLAN on network interface. In this case i wanted > to reduce problems with additional tagging/fragmentation and each of > network was created as a separate neutron network with dedicated interface > inside instance. > This requires to create Neutron infrastructure with: > - router connected to external network > - 4 neutron networks > - public and admin network connected to router > > Each of instance is connected to network by dedicated interface, it looks > like this: > > +---------+ > | Neutron | +~~~~~~~~+ > +------| router |---|Internet| > | +---------+ +~~~~~~~~+ > | | > +---------+ +---------+ +---------+ +---------+ > | Neutron | | Neutron | | Neutron | | Neutron | > | network | | network | | network | | network | > | admin | | public | | mgmt | | storage | > +---------+ +---------+ +---------+ +---------+ > | | | | | > | +--------+ | | | > | | | | | > +-----------+ +------------------------+ > |Fuel Master| | Fuel slave X | > +-----------+ +------------------------+ > > In standard Openstack installation it is not possible to start DHCP server > on instance, it is blocked by firewall. To solve this problem i changed > neutron agent code to allow DHCP traffic. > > Shortcut from procedure used to install fuel inside openstack: > - upload ISO Fuel 6.1 to glance > - upload ISO iPXE to glance > - create instance for fuel master server and install it > - create 2 instances for fuel slave nodes and boot them from iPXE > > After those steps i got fuel installation with 2 nodes ready for > deployment, like this: > > +------------------------------------------------------+ > | Hardware node | > | +------------------------+ | > | | Fuel slave 1 | | > | | (KVM Instance) | | > | +------------------------+ | > | | | | | | > | +--------+ | | | | > | | | | | | > | +---------+ +---------+ +---------+ +---------+ | > | | Neutron | | Neutron | | Neutron | | Neutron | | > | | network | | network | | network | | network | | > | | admin | | public | | mgmt | | storage | | > | | (OVS) | | (OVS) | | (OVS) | | (OVS) | | > | +---------+ +---------+ +---------+ +---------+ | > | | | | | | | > | | +--------+ | | | | > | | | | | | | > | +-----------+ +------------------------+ | > | |Fuel Master| | Fuel slave 2 | | > | | (KVM) | | (KVM Instance) | | > | +-----------+ +------------------------+ | > | | > +------------------------------------------------------+ > > With this configuration it was possible to deploy new Openstack, but some > type of configurations not work correctly. Problem appears when i deployed > Openstack with VLAN separation, OSTF tests not passes. > > +------------------------------------------------------+ > | Hardware node | > | +---------------------------------------+ | > | | Fuel slave 1 +------------------+ | | > | | (KVM Instance) |Openstack Instance| | | > | | | TEST1 | | | > | | | (KVM) | | | > | | +------------------+ | | > | | | | | > | | +----------+ | | > | | | OVS | | | > | | | (VLAN) | | | > | | +----------+ | | > | | |tag:1000 | | > | +---------------------------ETH---------+ | > | | | > | +----------+ | > | | OVS | | > | | (GRE) | | > | +----------+ | > | | | > | +---------------------------ETH---------+ | > | | Fuel slave 2 |tag:1000 | | > | | (KVM Instance) +----------+ | | > | | | OVS | | | > | | | (VLAN) | | | > | | +----------+ | | > | | | | | > | | +------------------+ | | > | | |Openstack Instance| | | > | | | TEST2 | | | > | | | (KVM) | | | > | | +------------------+ | | > | +---------------------------------------+ | > | | > +------------------------------------------------------+ > > Problem exists when we want to send packets between instances TEST1 and > TEST2: > - packet is sent from TEST1 > - OVS inside Fuel slave 1 needs to send this packet to other compute node > inside correct tenant network, it will add VLAN tag and then will send it > to the network interface > - OVS on hardware node will get tagged frame on OVS interface which is not > configured for tagging and OVS will drop it > > To start using nodepool instances in deployment tests we need to have sure > that openstack used by nodepool allow to: > - send responses from DHCP server installed on fuel master to slave > instances, packets must pass by compute node firewall, in standard > configuration responses from DHCP server are possible only from network node > - we have solution which allow to pass tagged vlans between Openstack > Instances, without this we cannot execute all kind of tests and scenarios > > Is it possible in actual Openstack infrastructure used by nodepool? > Or maybe we could solve it in other way? > > -- > Artur Kaszuba > > > __________________________________________________________________________ > OpenStack Development Mailing List (not for usage questions) > Unsubscribe: [email protected]?subject:unsubscribe > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev >
__________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: [email protected]?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
