yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #39173
[Bug 1499864] [NEW] Fullstack infrastructure as a developer multi-node deployment tool
Public bug reported:
The fullstack testing infrastructure today is used purely in a testing
context. This RFE suggests that it could be useful to have fullstack
support another use case, which is a quick deployment tool for
developers that want to manually test something they're working on, or
if they want to learn about Neutron or a specific feature.
Neutron would expose a script that would accept a deployment topology document that will describe what is currently here:
https://github.com/openstack/neutron/blob/master/neutron/tests/fullstack/test_l3_agent.py#L61
For example, a .yaml file with:
How many OVS, L3, DHCP agents
Global configuration such as the segmentation type, l2pop={True,False}, OVS arp responder etc.
The script would then deploy the requested topology and spit out a
credentials file to interact with the API server, information about the
agents it deployed (Their host names, state paths, path to configuration
files etc), and perhaps also a plotnetcfg [1] output of the resulting
deployment (An image that shows how the OVS bridges are connected,
namespaces, what devices are connected to what bridges).
After deployment is finished, the script would also allow the creation
of fake VMs (Identical to the fake VMs we already create during
fullstack testing). Reminder: These VMs are backed by a Neutron port, a
namespace, and a device with the appropriate IP address connected to the
correct bridge. They can sufficiently simulate VMs, and resources on
external networks (To enable testing floating IPs and SNAT).
So, for example:
neutron-fullstack deploy dvr_ha_dhcp.yaml # Spits out information about the topology
source <credentials_file_output_from_deploy command>
neutron net-create 1
neutron net-create 2
neutron-fullstack create_vm --net_id=1, --binding:host_id=xyz
neutron-fullstack create_vm --net_id=2, --binding:host_id=abc
neutron router-create, attach it to both networks
Test ping from VM 1 to VM 2
neutron-fullstack destroy # Possibly accepting a topology ID if we were
to support deploying more than a single topology at any given time, I
need to think about this further
[1] https://github.com/jbenc/plotnetcfg
** Affects: neutron
Importance: Undecided
Status: New
** Tags: fullstack rfe
** Summary changed:
- Fullstack infrastructure as a dev deployment tool
+ Fullstack infrastructure as a developer multi-node deployment tool
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1499864
Title:
Fullstack infrastructure as a developer multi-node deployment tool
Status in neutron:
New
Bug description:
The fullstack testing infrastructure today is used purely in a testing
context. This RFE suggests that it could be useful to have fullstack
support another use case, which is a quick deployment tool for
developers that want to manually test something they're working on, or
if they want to learn about Neutron or a specific feature.
Neutron would expose a script that would accept a deployment topology document that will describe what is currently here:
https://github.com/openstack/neutron/blob/master/neutron/tests/fullstack/test_l3_agent.py#L61
For example, a .yaml file with:
How many OVS, L3, DHCP agents
Global configuration such as the segmentation type, l2pop={True,False}, OVS arp responder etc.
The script would then deploy the requested topology and spit out a
credentials file to interact with the API server, information about
the agents it deployed (Their host names, state paths, path to
configuration files etc), and perhaps also a plotnetcfg [1] output of
the resulting deployment (An image that shows how the OVS bridges are
connected, namespaces, what devices are connected to what bridges).
After deployment is finished, the script would also allow the creation
of fake VMs (Identical to the fake VMs we already create during
fullstack testing). Reminder: These VMs are backed by a Neutron port,
a namespace, and a device with the appropriate IP address connected to
the correct bridge. They can sufficiently simulate VMs, and resources
on external networks (To enable testing floating IPs and SNAT).
So, for example:
neutron-fullstack deploy dvr_ha_dhcp.yaml # Spits out information about the topology
source <credentials_file_output_from_deploy command>
neutron net-create 1
neutron net-create 2
neutron-fullstack create_vm --net_id=1, --binding:host_id=xyz
neutron-fullstack create_vm --net_id=2, --binding:host_id=abc
neutron router-create, attach it to both networks
Test ping from VM 1 to VM 2
neutron-fullstack destroy # Possibly accepting a topology ID if we
were to support deploying more than a single topology at any given
time, I need to think about this further
[1] https://github.com/jbenc/plotnetcfg
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1499864/+subscriptions
Follow ups