From 3d203c970afbfb382770bba33437e72fefa0e4f1 Mon Sep 17 00:00:00 2001 From: Bogdan Dobrelya Date: Mon, 27 Jul 2015 12:45:19 +0200 Subject: [PATCH 01/17] Add node_network puppet resource WIP Signed-off-by: Bogdan Dobrelya --- resources/node_network_puppet/README.md | 5 ++++ .../node_network_puppet/actions/remove.pp | 3 +++ resources/node_network_puppet/actions/run.pp | 6 +++++ resources/node_network_puppet/meta.yaml | 25 +++++++++++++++++++ resources/node_network_puppet/test.py | 11 ++++++++ 5 files changed, 50 insertions(+) create mode 100644 resources/node_network_puppet/README.md create mode 100644 resources/node_network_puppet/actions/remove.pp create mode 100644 resources/node_network_puppet/actions/run.pp create mode 100644 resources/node_network_puppet/meta.yaml create mode 100644 resources/node_network_puppet/test.py diff --git a/resources/node_network_puppet/README.md b/resources/node_network_puppet/README.md new file mode 100644 index 00000000..6d635e48 --- /dev/null +++ b/resources/node_network_puppet/README.md @@ -0,0 +1,5 @@ +# Node network resource for puppet handler + +Setup and configure L23 networking for a node + +source https://github.com/xenolog/l23network diff --git a/resources/node_network_puppet/actions/remove.pp b/resources/node_network_puppet/actions/remove.pp new file mode 100644 index 00000000..6caa6852 --- /dev/null +++ b/resources/node_network_puppet/actions/remove.pp @@ -0,0 +1,3 @@ +class {'l23network': + package_ensure => 'absent', +} diff --git a/resources/node_network_puppet/actions/run.pp b/resources/node_network_puppet/actions/run.pp new file mode 100644 index 00000000..cfb7422e --- /dev/null +++ b/resources/node_network_puppet/actions/run.pp @@ -0,0 +1,6 @@ +$resource = hiera($::resource_name) +#TODO + +class {'l23network': + package_ensure => $package_ensure, +} diff --git a/resources/node_network_puppet/meta.yaml b/resources/node_network_puppet/meta.yaml new file mode 100644 index 00000000..91751725 --- /dev/null +++ b/resources/node_network_puppet/meta.yaml @@ -0,0 +1,25 @@ +id: l23network_puppet +handler: puppet +puppet_module: l23network +version: 1.0.0 +input: + #TODO + package_ensure: + schema: str + value: 'present' + + git: + schema: {repository: str!, branch: str!} + value: {repository: 'https://github.com/openstack/puppet-cinder', branch: '5.1.0'} + + ip: + schema: str! + value: + ssh_key: + schema: str! + value: + ssh_user: + schema: str! + value: + +tags: [resource/l23network_service, resources/l23network, resources/cinder] diff --git a/resources/node_network_puppet/test.py b/resources/node_network_puppet/test.py new file mode 100644 index 00000000..0ab8703a --- /dev/null +++ b/resources/node_network_puppet/test.py @@ -0,0 +1,11 @@ +import requests + +from solar.core.log import log + + +def test(resource): + log.debug('Testing l23network_puppet') +# requests.get( +# 'http://%s:%s' % (resource.args['ip'].value, resource.args['port'].value) +# TODO(bogdando) figure out how to test this +# ) From d6cad823db9c829caed3290a1be611537b0a4a54 Mon Sep 17 00:00:00 2001 From: Bogdan Dobrelya Date: Fri, 7 Aug 2015 11:47:59 +0200 Subject: [PATCH 02/17] Add nodes network template Signed-off-by: Bogdan Dobrelya --- templates/nodes_network.yml | 128 ++++++++++++++++++++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 templates/nodes_network.yml diff --git a/templates/nodes_network.yml b/templates/nodes_network.yml new file mode 100644 index 00000000..932dc802 --- /dev/null +++ b/templates/nodes_network.yml @@ -0,0 +1,128 @@ +id: simple_multinode_gre +# eth2 - private 10.1.0.0/24 with JUMBO frames, +# eth1 - mgmt 10.0.0.0/24, +# eth0 - ext 192.168.121.0/24 +resources: + - id: node1_sdn + from: resources/node_network + values: + network_scheme: + version: 1.1 + provider: lnx + interfaces: + eth0: + mtu: 1500 + eth1: + mtu: 1500 + eth2: + mtu: 9000 + transformations: + - action: add-br + name: br-mgmt + - action: add-br + name: br-ex + - action: add-br + name: br-floating + provider: ovs + - action: add-patch + bridges: + - br-floating + - br-ex + provider: ovs + mtu: 65000 + - action: add-br + name: br-mesh + - action: add-port + bridge: br-ex + name: eth0 + - action: add-port + bridge: br-mgmt + name: eth1 + - action: add-port + bridge: br-mesh + name: eth2 + endpoints: + br-mesh: + IP: + - 10.1.0.3/24 + br-floating: + IP: none + br-mgmt: + IP: dhcp + vendor_specific: + phy_interfaces: + - eth1 + br-ex: + IP: dhcp + vendor_specific: + phy_interfaces: + - eth0 + gateway: save + roles: + management: br-mgmt + neutron/mesh: br-mesh + ex: br-ex + neutron/floating: br-floating + fw-admin: br-fw-admin + + - id: node2_sdn + from: resources/node_network + values: + network_scheme: + version: 1.1 + provider: lnx + interfaces: + eth0: + mtu: 1500 + eth1: + mtu: 1500 + eth2: + mtu: 9000 + transformations: + - action: add-br + name: br-mgmt + - action: add-br + name: br-ex + - action: add-br + name: br-floating + provider: ovs + - action: add-patch + bridges: + - br-floating + - br-ex + provider: ovs + mtu: 65000 + - action: add-br + name: br-mesh + - action: add-port + bridge: br-ex + name: eth0 + - action: add-port + bridge: br-mgmt + name: eth1 + - action: add-port + bridge: br-mesh + name: eth2 + endpoints: + br-mesh: + IP: + - 10.1.0.4/24 + br-floating: + IP: none + br-mgmt: + IP: dhcp + vendor_specific: + phy_interfaces: + - eth1 + br-ex: + IP: dhcp + vendor_specific: + phy_interfaces: + - eth0 + gateway: save + roles: + management: br-mgmt + neutron/mesh: br-mesh + ex: br-ex + neutron/floating: br-floating + fw-admin: br-fw-admin From 2e20ffd23ab2c76af33189b85af318718d7736c0 Mon Sep 17 00:00:00 2001 From: Bogdan Dobrelya Date: Fri, 7 Aug 2015 12:38:03 +0200 Subject: [PATCH 03/17] Fix static IPs for mgmt bridges The IP addressed should match the ones hardcoded in the nodes.yml template Signed-off-by: Bogdan Dobrelya --- templates/nodes_network.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/templates/nodes_network.yml b/templates/nodes_network.yml index 932dc802..2701553b 100644 --- a/templates/nodes_network.yml +++ b/templates/nodes_network.yml @@ -48,7 +48,8 @@ resources: br-floating: IP: none br-mgmt: - IP: dhcp + IP: + - 10.0.0.3/24 vendor_specific: phy_interfaces: - eth1 @@ -110,7 +111,8 @@ resources: br-floating: IP: none br-mgmt: - IP: dhcp + IP: + - 10.0.0.4/24 vendor_specific: phy_interfaces: - eth1 From 289f022b93f824e597688c31d2d6a9a128525a56 Mon Sep 17 00:00:00 2001 From: Bogdan Dobrelya Date: Fri, 7 Aug 2015 12:39:22 +0200 Subject: [PATCH 04/17] Update node_network resource Signed-off-by: Bogdan Dobrelya --- resources/node_network_puppet/README.md | 6 ++- resources/node_network_puppet/actions/run.pp | 39 +++++++++++++++- resources/node_network_puppet/meta.yaml | 47 ++++++++++++++++++-- 3 files changed, 86 insertions(+), 6 deletions(-) diff --git a/resources/node_network_puppet/README.md b/resources/node_network_puppet/README.md index 6d635e48..0dd00cb1 100644 --- a/resources/node_network_puppet/README.md +++ b/resources/node_network_puppet/README.md @@ -1,5 +1,9 @@ # Node network resource for puppet handler -Setup and configure L23 networking for a node +Setup and configure L23 networking for a node. +Leverages the powerful network_scheme structures to +create all required networking entities like interfaces, +bridges, bonds - both linux and ovs based. +Defaults are given for Debian OS family. source https://github.com/xenolog/l23network diff --git a/resources/node_network_puppet/actions/run.pp b/resources/node_network_puppet/actions/run.pp index cfb7422e..86d4b483 100644 --- a/resources/node_network_puppet/actions/run.pp +++ b/resources/node_network_puppet/actions/run.pp @@ -1,6 +1,41 @@ $resource = hiera($::resource_name) -#TODO + +$ensure_package = $resource['input']['ensure_package']['value'] +$use_lnx = $resource['input']['use_lnx']['value'] +$use_ovs = $resource['input']['use_ovs']['value'] +$install_ovs = $resource['input']['install_ovs']['value'] +$install_brtool = $resource['input']['install_brtool']['value'] +$install_ethtool = $resource['input']['install_ethtool']['value'] +$install_bondtool = $resource['input']['install_bondtool']['value'] +$install_vlantool = $resource['input']['install_vlantool']['value'] +$ovs_modname = $resource['input']['ovs_modname']['value'] +$ovs_datapath_package_name = $resource['input']['ovs_datapath_package_name']['value'] +$ovs_common_package_name = $resource['input']['ovs_common_package_name']['value'] +$network_scheme = $resource['input']['network_scheme']['value'] class {'l23network': - package_ensure => $package_ensure, + ensure_package => $ensure_package, + use_lnx => $use_lnx, + use_ovs => $use_ovs, + install_ovs => $install_ovs, + install_brtool => $install_brtool, + install_ethtool => $install_ethtool, + install_bondtool => $install_bondtool, + install_vlantool => $install_vlantool, + ovs_modname => $ovs_modname, + ovs_datapath_package_name => $ovs_datapath_package_name, + ovs_common_package_name => $ovs_common_package_name, } + +prepare_network_config($network_scheme) +$sdn = generate_network_config() +notify { $sdn: require => Class['l23network'], } + +# We need to wait at least 30 seconds for the bridges and other interfaces to +# come up after being created. This should allow for all interfaces to be up +# and ready for traffic before proceeding with further deploy steps. LP#1458954 +exec { 'wait-for-interfaces': + path => '/usr/bin:/bin', + command => 'sleep 32', + require => Notify[$sdn] +} \ No newline at end of file diff --git a/resources/node_network_puppet/meta.yaml b/resources/node_network_puppet/meta.yaml index 91751725..c9cb854b 100644 --- a/resources/node_network_puppet/meta.yaml +++ b/resources/node_network_puppet/meta.yaml @@ -3,14 +3,55 @@ handler: puppet puppet_module: l23network version: 1.0.0 input: - #TODO package_ensure: schema: str value: 'present' + ensure_package: + schema: str + value: 'present' + use_lnx: + schema: bool + value: true + use_ovs: + schema: bool + value: false + install_ovs: + schema: bool + value: true + install_brtool: + schema: bool + value: true + install_ethtool: + schema: bool + value: true + install_bondtool: + schema: bool + value: true + install_vlantool: + schema: bool + value: true + ovs_modname: + schema: str + value: 'openvswitch' + ovs_datapath_package_name: + schema: str + value: 'openvswitch-datapath-dkms' + ovs_common_package_name: + schema: str + value: 'openvswitch-switch' + network_scheme: + schema: { + version: str!, + provider: str!, + interfaces: {}, + transformations: {}, + endpoints: {}, + roles: {}, + } git: schema: {repository: str!, branch: str!} - value: {repository: 'https://github.com/openstack/puppet-cinder', branch: '5.1.0'} + value: {repository: 'https://github.com/xenolog/l23network', branch: 'master'} ip: schema: str! @@ -22,4 +63,4 @@ input: schema: str! value: -tags: [resource/l23network_service, resources/l23network, resources/cinder] +tags: [resources/l23network, resources/node_network] From 0aca56ddac0ebc757eba326bec7fc6b3004ebcb3 Mon Sep 17 00:00:00 2001 From: Bogdan Dobrelya Date: Fri, 7 Aug 2015 12:49:42 +0200 Subject: [PATCH 05/17] Add composition layer for nodes networking Signed-off-by: Bogdan Dobrelya --- examples/openstack/openstack.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/examples/openstack/openstack.py b/examples/openstack/openstack.py index 6f22fafe..bf211f7d 100755 --- a/examples/openstack/openstack.py +++ b/examples/openstack/openstack.py @@ -57,8 +57,19 @@ def setup_resources(): resources = vr.create('nodes', 'templates/nodes_with_transports.yaml', {"count": 2}) nodes = [x for x in resources if x.name.startswith('node')] node1, node2 = nodes + resources = vr.create('nodes_network', 'templates/nodes_network.yml', {"count": 2}) + nodes_sdn = [x for x in resources if x.name.startswith('node')] + node1_sdn, node2_sdn = nodes_sdn + # NETWORKING + node1_network_puppet = vr.create('node1_network_puppet', 'resources/node_network_puppet', {})[0] + node2_network_puppet = vr.create('node2_network_puppet', 'resources/node_network_puppet', {})[0] + signals.connect(node1, node1_sdn) + signals.connect(node1, node2_sdn) + signals.connect(node1_sdn, node1_network_puppet) + signals.connect(node2_sdn, node2_network_puppet) + # MARIADB mariadb_service1 = vr.create('mariadb_service1', 'resources/mariadb_service', { 'image': 'mariadb', @@ -617,6 +628,8 @@ def setup_resources(): resources_to_run = [ + 'node1_network_puppet', + 'rabbitmq_service1', 'openstack_vhost', 'openstack_rabbitmq_user', @@ -669,6 +682,8 @@ resources_to_run = [ 'nova_conductor_puppet', 'nova_scheduler_puppet', + 'node2_network_puppet', + 'glance_db', 'glance_db_user', 'glance_keystone_user', From eae904e854cb65d61b476ac4079dd6fbb32894e9 Mon Sep 17 00:00:00 2001 From: Bogdan Dobrelya Date: Fri, 7 Aug 2015 13:35:45 +0200 Subject: [PATCH 06/17] Fix node network resource Signed-off-by: Bogdan Dobrelya --- examples/openstack/openstack.py | 9 +++------ resources/node_network_puppet/meta.yaml | 6 +++--- resources/node_network_puppet/test.py | 2 +- templates/nodes_network.yml | 8 ++++---- 4 files changed, 11 insertions(+), 14 deletions(-) diff --git a/examples/openstack/openstack.py b/examples/openstack/openstack.py index bf211f7d..8436fe4d 100755 --- a/examples/openstack/openstack.py +++ b/examples/openstack/openstack.py @@ -63,12 +63,9 @@ def setup_resources(): # NETWORKING - node1_network_puppet = vr.create('node1_network_puppet', 'resources/node_network_puppet', {})[0] - node2_network_puppet = vr.create('node2_network_puppet', 'resources/node_network_puppet', {})[0] + # TODO(bogdando) node's IPs should be populated as br-mgmt IPs, but now are hardcoded in templates signals.connect(node1, node1_sdn) signals.connect(node1, node2_sdn) - signals.connect(node1_sdn, node1_network_puppet) - signals.connect(node2_sdn, node2_network_puppet) # MARIADB mariadb_service1 = vr.create('mariadb_service1', 'resources/mariadb_service', { @@ -628,7 +625,7 @@ def setup_resources(): resources_to_run = [ - 'node1_network_puppet', + 'node1_sdn', 'rabbitmq_service1', 'openstack_vhost', @@ -682,7 +679,7 @@ resources_to_run = [ 'nova_conductor_puppet', 'nova_scheduler_puppet', - 'node2_network_puppet', + 'node2_sdn', 'glance_db', 'glance_db_user', diff --git a/resources/node_network_puppet/meta.yaml b/resources/node_network_puppet/meta.yaml index c9cb854b..4ddd4d4e 100644 --- a/resources/node_network_puppet/meta.yaml +++ b/resources/node_network_puppet/meta.yaml @@ -1,4 +1,4 @@ -id: l23network_puppet +id: node_network_puppet handler: puppet puppet_module: l23network version: 1.0.0 @@ -44,7 +44,7 @@ input: version: str!, provider: str!, interfaces: {}, - transformations: {}, + transformations: [{}], endpoints: {}, roles: {}, } @@ -63,4 +63,4 @@ input: schema: str! value: -tags: [resources/l23network, resources/node_network] +tags: [resources/node_network] diff --git a/resources/node_network_puppet/test.py b/resources/node_network_puppet/test.py index 0ab8703a..56f5d05a 100644 --- a/resources/node_network_puppet/test.py +++ b/resources/node_network_puppet/test.py @@ -4,7 +4,7 @@ from solar.core.log import log def test(resource): - log.debug('Testing l23network_puppet') + log.debug('Testing node_network_puppet') # requests.get( # 'http://%s:%s' % (resource.args['ip'].value, resource.args['port'].value) # TODO(bogdando) figure out how to test this diff --git a/templates/nodes_network.yml b/templates/nodes_network.yml index 2701553b..e21b2c33 100644 --- a/templates/nodes_network.yml +++ b/templates/nodes_network.yml @@ -4,10 +4,10 @@ id: simple_multinode_gre # eth0 - ext 192.168.121.0/24 resources: - id: node1_sdn - from: resources/node_network + from: resources/node_network_puppet values: network_scheme: - version: 1.1 + version: '1.1' provider: lnx interfaces: eth0: @@ -67,10 +67,10 @@ resources: fw-admin: br-fw-admin - id: node2_sdn - from: resources/node_network + from: resources/node_network_puppet values: network_scheme: - version: 1.1 + version: '1.1' provider: lnx interfaces: eth0: From 9751b87906c953e4fd08e89090568008f57a8218 Mon Sep 17 00:00:00 2001 From: Bogdan Dobrelya Date: Fri, 7 Aug 2015 15:46:18 +0200 Subject: [PATCH 07/17] Workaround l23network module issue * W/a https://github.com/xenolog/l23network/issues/105 * Set use_ovs to true * Use kind of a "stable" commit of l23network module as there is no yet any tags exist Signed-off-by: Bogdan Dobrelya --- resources/node_network_puppet/actions/remove.pp | 2 +- resources/node_network_puppet/meta.yaml | 2 +- templates/nodes_network.yml | 10 ++++++---- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/resources/node_network_puppet/actions/remove.pp b/resources/node_network_puppet/actions/remove.pp index 6caa6852..0a01f06d 100644 --- a/resources/node_network_puppet/actions/remove.pp +++ b/resources/node_network_puppet/actions/remove.pp @@ -1,3 +1,3 @@ class {'l23network': - package_ensure => 'absent', + ensure_package => 'absent', } diff --git a/resources/node_network_puppet/meta.yaml b/resources/node_network_puppet/meta.yaml index 4ddd4d4e..cfeaa13e 100644 --- a/resources/node_network_puppet/meta.yaml +++ b/resources/node_network_puppet/meta.yaml @@ -51,7 +51,7 @@ input: git: schema: {repository: str!, branch: str!} - value: {repository: 'https://github.com/xenolog/l23network', branch: 'master'} + value: {repository: 'https://github.com/xenolog/l23network', branch: '50098cfa1f0f8e8d58e6a6b77a22f1380aa5c426'} ip: schema: str! diff --git a/templates/nodes_network.yml b/templates/nodes_network.yml index e21b2c33..cf091262 100644 --- a/templates/nodes_network.yml +++ b/templates/nodes_network.yml @@ -6,6 +6,7 @@ resources: - id: node1_sdn from: resources/node_network_puppet values: + use_ovs: true network_scheme: version: '1.1' provider: lnx @@ -54,11 +55,11 @@ resources: phy_interfaces: - eth1 br-ex: - IP: dhcp + IP: 192.168.121.14 vendor_specific: phy_interfaces: - eth0 - gateway: save + gateway: 192.168.121.1 roles: management: br-mgmt neutron/mesh: br-mesh @@ -69,6 +70,7 @@ resources: - id: node2_sdn from: resources/node_network_puppet values: + use_ovs: true network_scheme: version: '1.1' provider: lnx @@ -117,11 +119,11 @@ resources: phy_interfaces: - eth1 br-ex: - IP: dhcp + IP: 192.168.121.14 vendor_specific: phy_interfaces: - eth0 - gateway: save + gateway: 192.168.121.1 roles: management: br-mgmt neutron/mesh: br-mesh From 53d43167edfeaa6f854e41b93716637391d9265a Mon Sep 17 00:00:00 2001 From: Bogdan Dobrelya Date: Fri, 7 Aug 2015 15:50:18 +0200 Subject: [PATCH 08/17] Add two more networks This provides layout specified in nodes_network.yml: eth2 - private 10.1.0.0/24 with JUMBO frames, eth1 - mgmt 10.0.0.0/24, eth0 - ext 192.168.121.0/24 Signed-off-by: Bogdan Dobrelya --- Vagrantfile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Vagrantfile b/Vagrantfile index 55656f83..5f94d30f 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -62,6 +62,8 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.provision "file", source: "~/.vagrant.d/insecure_private_key", destination: "/vagrant/tmp/keys/ssh_private" config.vm.provision "file", source: "bootstrap/ansible.cfg", destination: "/home/vagrant/.ansible.cfg" config.vm.network "private_network", ip: "10.0.0.2" + config.vm.network "private_network", ip: "10.1.0.2" + config.vm.network "private_network", ip: "192.168.121.12" config.vm.host_name = "solar-dev" config.vm.provider :virtualbox do |v| @@ -109,6 +111,8 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.provision "shell", inline: solar_script, privileged: true config.vm.provision "shell", inline: slave_celery, privileged: true config.vm.network "private_network", ip: "10.0.0.#{ip_index}" + config.vm.network "private_network", ip: "10.1.0.#{ip_index}" + config.vm.network "private_network", ip: "192.168.121.1#{ip_index}" config.vm.host_name = "solar-dev#{index}" config.vm.provider :virtualbox do |v| From dd72138cea72e8600b08651105c82b09f665536a Mon Sep 17 00:00:00 2001 From: Bogdan Dobrelya Date: Fri, 7 Aug 2015 15:53:42 +0200 Subject: [PATCH 09/17] Fix network_schemas data Signed-off-by: Bogdan Dobrelya --- templates/nodes_network.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/templates/nodes_network.yml b/templates/nodes_network.yml index cf091262..4bb44440 100644 --- a/templates/nodes_network.yml +++ b/templates/nodes_network.yml @@ -55,7 +55,8 @@ resources: phy_interfaces: - eth1 br-ex: - IP: 192.168.121.14 + IP: + - 192.168.121.14/24 vendor_specific: phy_interfaces: - eth0 @@ -119,7 +120,8 @@ resources: phy_interfaces: - eth1 br-ex: - IP: 192.168.121.14 + IP: + - 192.168.121.14/24 vendor_specific: phy_interfaces: - eth0 From 17410bacabb6c73fee133f6e49a448c794e348f3 Mon Sep 17 00:00:00 2001 From: Bogdan Dobrelya Date: Fri, 7 Aug 2015 16:12:38 +0200 Subject: [PATCH 10/17] Fix node2 connection for sdn resource Signed-off-by: Bogdan Dobrelya --- examples/openstack/openstack.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/openstack/openstack.py b/examples/openstack/openstack.py index 8436fe4d..a2c32d68 100755 --- a/examples/openstack/openstack.py +++ b/examples/openstack/openstack.py @@ -65,7 +65,7 @@ def setup_resources(): # NETWORKING # TODO(bogdando) node's IPs should be populated as br-mgmt IPs, but now are hardcoded in templates signals.connect(node1, node1_sdn) - signals.connect(node1, node2_sdn) + signals.connect(node2, node2_sdn) # MARIADB mariadb_service1 = vr.create('mariadb_service1', 'resources/mariadb_service', { From e0d33eeed0bf5073c9ddc9ed60074248fac344dc Mon Sep 17 00:00:00 2001 From: Bogdan Dobrelya Date: Mon, 10 Aug 2015 15:19:27 +0200 Subject: [PATCH 11/17] Fix dup IP in sdn template Signed-off-by: Bogdan Dobrelya --- templates/nodes_network.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/nodes_network.yml b/templates/nodes_network.yml index 4bb44440..becf74dc 100644 --- a/templates/nodes_network.yml +++ b/templates/nodes_network.yml @@ -56,7 +56,7 @@ resources: - eth1 br-ex: IP: - - 192.168.121.14/24 + - 192.168.121.13/24 vendor_specific: phy_interfaces: - eth0 From 1f58bb52cc4eb11986490376696cdfd06f8476bd Mon Sep 17 00:00:00 2001 From: Bogdan Dobrelya Date: Fri, 9 Oct 2015 12:32:19 +0200 Subject: [PATCH 12/17] Del node_network's ssh* inputs as not required These aren't required anymore due to transports introduced. Signed-off-by: Bogdan Dobrelya --- resources/node_network_puppet/meta.yaml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/resources/node_network_puppet/meta.yaml b/resources/node_network_puppet/meta.yaml index cfeaa13e..6fae03a8 100644 --- a/resources/node_network_puppet/meta.yaml +++ b/resources/node_network_puppet/meta.yaml @@ -56,11 +56,5 @@ input: ip: schema: str! value: - ssh_key: - schema: str! - value: - ssh_user: - schema: str! - value: tags: [resources/node_network] From 5ba9d0db57f76d9bac01a8b9a0414a9b580fa874 Mon Sep 17 00:00:00 2001 From: Bogdan Dobrelya Date: Fri, 9 Oct 2015 13:27:45 +0200 Subject: [PATCH 13/17] Rename SDN network template yml to yaml Signed-off-by: Bogdan Dobrelya --- examples/openstack/openstack.py | 2 +- templates/{nodes_network.yml => nodes_network.yaml} | 0 templates/nodes_with_transports.yaml | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) rename templates/{nodes_network.yml => nodes_network.yaml} (100%) diff --git a/examples/openstack/openstack.py b/examples/openstack/openstack.py index a2c32d68..b3d431d5 100755 --- a/examples/openstack/openstack.py +++ b/examples/openstack/openstack.py @@ -57,7 +57,7 @@ def setup_resources(): resources = vr.create('nodes', 'templates/nodes_with_transports.yaml', {"count": 2}) nodes = [x for x in resources if x.name.startswith('node')] node1, node2 = nodes - resources = vr.create('nodes_network', 'templates/nodes_network.yml', {"count": 2}) + resources = vr.create('nodes_network', 'templates/nodes_network.yaml', {"count": 2}) nodes_sdn = [x for x in resources if x.name.startswith('node')] node1_sdn, node2_sdn = nodes_sdn diff --git a/templates/nodes_network.yml b/templates/nodes_network.yaml similarity index 100% rename from templates/nodes_network.yml rename to templates/nodes_network.yaml diff --git a/templates/nodes_with_transports.yaml b/templates/nodes_with_transports.yaml index f0501da4..963eb71d 100644 --- a/templates/nodes_with_transports.yaml +++ b/templates/nodes_with_transports.yaml @@ -5,7 +5,7 @@ resources: from: resources/transport_ssh values: ssh_user: 'vagrant' - ssh_key: '/vagrant/.vagrant/machines/solar-dev{{i + 1}}/virtualbox/private_key' + ssh_key: '/vagrant/.vagrant/machines/solar-dev{{i + 1}}/libvirt/private_key' - id: transports{{i}} from: resources/transports values: From 8265c21ee53c019b40ccace0a0e8ed86fe9b8311 Mon Sep 17 00:00:00 2001 From: Bogdan Dobrelya Date: Fri, 9 Oct 2015 13:51:44 +0200 Subject: [PATCH 14/17] Fix eth0->eth3 settings for nodes Signed-off-by: Bogdan Dobrelya --- templates/nodes_network.yaml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/templates/nodes_network.yaml b/templates/nodes_network.yaml index becf74dc..1ada9cbd 100644 --- a/templates/nodes_network.yaml +++ b/templates/nodes_network.yaml @@ -1,7 +1,7 @@ id: simple_multinode_gre # eth2 - private 10.1.0.0/24 with JUMBO frames, # eth1 - mgmt 10.0.0.0/24, -# eth0 - ext 192.168.121.0/24 +# eth3 - ext 10.2.0.0/24 resources: - id: node1_sdn from: resources/node_network_puppet @@ -11,7 +11,7 @@ resources: version: '1.1' provider: lnx interfaces: - eth0: + eth3: mtu: 1500 eth1: mtu: 1500 @@ -35,7 +35,7 @@ resources: name: br-mesh - action: add-port bridge: br-ex - name: eth0 + name: eth3 - action: add-port bridge: br-mgmt name: eth1 @@ -56,11 +56,11 @@ resources: - eth1 br-ex: IP: - - 192.168.121.13/24 + - 10.2.0.3/24 vendor_specific: phy_interfaces: - - eth0 - gateway: 192.168.121.1 + - eth3 + gateway: 10.2.0.1 roles: management: br-mgmt neutron/mesh: br-mesh @@ -76,7 +76,7 @@ resources: version: '1.1' provider: lnx interfaces: - eth0: + eth3: mtu: 1500 eth1: mtu: 1500 @@ -100,7 +100,7 @@ resources: name: br-mesh - action: add-port bridge: br-ex - name: eth0 + name: eth3 - action: add-port bridge: br-mgmt name: eth1 @@ -121,11 +121,11 @@ resources: - eth1 br-ex: IP: - - 192.168.121.14/24 + - 10.2.0.4/24 vendor_specific: phy_interfaces: - - eth0 - gateway: 192.168.121.1 + - eth3 + gateway: 10.2.0.1 roles: management: br-mgmt neutron/mesh: br-mesh From 9a22a475709f2118635cb9ae960210c51f8a54e4 Mon Sep 17 00:00:00 2001 From: Bogdan Dobrelya Date: Fri, 9 Oct 2015 13:53:38 +0200 Subject: [PATCH 15/17] Undo libvirt custom change Signed-off-by: Bogdan Dobrelya --- templates/nodes_with_transports.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/nodes_with_transports.yaml b/templates/nodes_with_transports.yaml index 963eb71d..f0501da4 100644 --- a/templates/nodes_with_transports.yaml +++ b/templates/nodes_with_transports.yaml @@ -5,7 +5,7 @@ resources: from: resources/transport_ssh values: ssh_user: 'vagrant' - ssh_key: '/vagrant/.vagrant/machines/solar-dev{{i + 1}}/libvirt/private_key' + ssh_key: '/vagrant/.vagrant/machines/solar-dev{{i + 1}}/virtualbox/private_key' - id: transports{{i}} from: resources/transports values: From 9acfcbfc476888f7c7017d5ff2170ce61f9f9463 Mon Sep 17 00:00:00 2001 From: Bogdan Dobrelya Date: Tue, 13 Oct 2015 10:15:54 +0200 Subject: [PATCH 16/17] Restore Vagrantfile This change is not needed as it is now addressed by a separate PR Signed-off-by: Bogdan Dobrelya --- Vagrantfile | 4 ---- 1 file changed, 4 deletions(-) diff --git a/Vagrantfile b/Vagrantfile index 5f94d30f..55656f83 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -62,8 +62,6 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.provision "file", source: "~/.vagrant.d/insecure_private_key", destination: "/vagrant/tmp/keys/ssh_private" config.vm.provision "file", source: "bootstrap/ansible.cfg", destination: "/home/vagrant/.ansible.cfg" config.vm.network "private_network", ip: "10.0.0.2" - config.vm.network "private_network", ip: "10.1.0.2" - config.vm.network "private_network", ip: "192.168.121.12" config.vm.host_name = "solar-dev" config.vm.provider :virtualbox do |v| @@ -111,8 +109,6 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.provision "shell", inline: solar_script, privileged: true config.vm.provision "shell", inline: slave_celery, privileged: true config.vm.network "private_network", ip: "10.0.0.#{ip_index}" - config.vm.network "private_network", ip: "10.1.0.#{ip_index}" - config.vm.network "private_network", ip: "192.168.121.1#{ip_index}" config.vm.host_name = "solar-dev#{index}" config.vm.provider :virtualbox do |v| From 241354060dc46081f12bfb12f7afbb0eb363bc70 Mon Sep 17 00:00:00 2001 From: Bogdan Dobrelya Date: Tue, 13 Oct 2015 11:43:51 +0200 Subject: [PATCH 17/17] Do not configure default route in SDN template With the custom route present, virtualbox provider will not provide external connectivity. So, just do not configure default route for SDN template and use existing one, which is normally via the eth0 interface of solar-dev* nodes. Signed-off-by: Bogdan Dobrelya --- templates/nodes_network.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/nodes_network.yaml b/templates/nodes_network.yaml index 1ada9cbd..90d2e89b 100644 --- a/templates/nodes_network.yaml +++ b/templates/nodes_network.yaml @@ -60,7 +60,7 @@ resources: vendor_specific: phy_interfaces: - eth3 - gateway: 10.2.0.1 + #gateway: 10.2.0.1 roles: management: br-mgmt neutron/mesh: br-mesh @@ -125,7 +125,7 @@ resources: vendor_specific: phy_interfaces: - eth3 - gateway: 10.2.0.1 + #gateway: 10.2.0.1 roles: management: br-mgmt neutron/mesh: br-mesh