diff options
author | Alexandru Avadanii <Alexandru.Avadanii@enea.com> | 2017-08-01 22:18:41 +0200 |
---|---|---|
committer | Alexandru Avadanii <Alexandru.Avadanii@enea.com> | 2017-08-17 02:59:30 +0200 |
commit | 5039d069265df15ed3d8e41f7a1c7f9457a9d58a (patch) | |
tree | 18a9160f72be9a01ef0008e3aa9912e18262057d /mcp/patches | |
parent | 9720ddf955b76d678a08dc7ea53684400c659ce3 (diff) |
Bring in baremetal support
- ci/deploy.sh: fail if default scenario file is missing;
- start by copying reclass/classes/cluster/virtual-mcp-ocata-ovs as
classes/cluster/baremetal-mcp-ocata-ovs;
- add new state (maas) that will handle MaaS configuration;
- Split PXE network in two for baremetal:
* rename old "pxe" virtual network to "mcpcontrol", make it
non-configurable and identical for baremetal/virtual deploys;
* new "pxebr" bridge is dedicated for MaaS fabric network, which
comes with its own DHCP, TFTP etc.;
- Drop hardcoded PXE gateway & static IP for MaaS node, since
"mcpcontrol" remains a NAT-ed virtual network, with its own DHCP;
- Keep internet access available on first interfaces for cfg01/mas01;
- Align MaaS IP addrs (all x.y.z.3), add public IP for easy debug
via MaaS dashboard;
- Add static IP in new network segment (192.168.11.3/24) on MaaS
node's PXE interface;
- Set MaaS PXE interface MTU 1500 (weird network errors with jumbo);
- MaaS node: Add NAT iptables traffic forward from "mcpcontrol" to
"pxebr" interfaces;
- MaaS: Add harcoded lf-pod2 machine info (fixed identation in v6);
- Switch our targeted scenario to HA;
* scenario: s/os-nosdn-nofeature-noha/os-nosdn-nofeature-ha/
- maas region: Use mcp.rsa.pub from ~ubuntu/.ssh/authorized_keys;
- add route for 192.168.11.0/24 via mas01 on cfg01;
- fix race condition on kvm nodes network setup:
* add "noifupdown" support in salt formula for linux.network;
* keep primary eth/br-mgmt unconfigured till reboot;
TODO:
- Read all this info from PDF (Pod Descriptor File) later;
- investigate leftover references to eno2, eth3;
- add public network interfaces config, IPs;
- improve wait conditions for MaaS commision/deploy;
- report upstream breakage in system.single;
Change-Id: Ie8dd584b140991d2bd992acdfe47f5644bf51409
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
Signed-off-by: Guillermo Herrero <Guillermo.Herrero@enea.com>
Signed-off-by: Charalampos Kominos <Charalampos.Kominos@enea.com>
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Diffstat (limited to 'mcp/patches')
6 files changed, 119 insertions, 2 deletions
diff --git a/mcp/patches/0004-maas-region-use-authorized_keys-1st-entry.patch b/mcp/patches/0004-maas-region-use-authorized_keys-1st-entry.patch new file mode 100644 index 000000000..381acb324 --- /dev/null +++ b/mcp/patches/0004-maas-region-use-authorized_keys-1st-entry.patch @@ -0,0 +1,34 @@ +From: Charalampos Kominos <Charalampos.Kominos@enea.com> +Date: Sat, 5 Aug 2017 02:03:01 +0200 +Subject: [PATCH] maas: region: use authorized_keys 1st entry + +MaaS custom py modules accepts the "sshprefs" variable via pillar, +however we want to read it from ~ubuntu/.ssh/authorized_keys. + +Bypass the py module and call MaaS CLI directly, passing the first +authorized key, which should be mcp.rsa.pub. + +Signed-off-by: Charalampos Kominos <Charalampos.Kominos@enea.com> +--- + +diff --git a/maas/region.sls b/maas/region.sls +index d3227ca..8a2243d 100644 +--- a/maas/region.sls ++++ b/maas/region.sls +@@ -179,8 +179,14 @@ + - module: maas_config + + maas_sshprefs: +- module.run: +- - name: maas.process_sshprefs ++# NOTE(armband): maas.process_sshprefs also works, but we need to read the key ++# from authorized_keys. Should be reworked at some point. ++# module.run: ++# - name: maas.process_sshprefs ++# - require: ++ cmd.run: ++ - name: "maas login {{ region.admin.username }} http://{{ region.bind.host }}/MAAS/api/2.0 - < /var/lib/maas/.maas_credentials && SSH_KEY=$(cat authorized_keys | head -1) && maas opnfv sshkeys create \"key=$SSH_KEY\"" ++ - cwd: "/home/ubuntu/.ssh" + - require: + - module: maas_config + diff --git a/mcp/patches/0005-maas-vlan-DHCP-enable-on-fabric-2.patch b/mcp/patches/0005-maas-vlan-DHCP-enable-on-fabric-2.patch new file mode 100644 index 000000000..db37e731e --- /dev/null +++ b/mcp/patches/0005-maas-vlan-DHCP-enable-on-fabric-2.patch @@ -0,0 +1,28 @@ +From: Alexandru Avadanii <Alexandru.Avadanii@enea.com> +Date: Sat, 5 Aug 2017 02:03:01 +0200 +Subject: [PATCH] maas: vlan DHCP enable on fabric-2 + +MaaS custom py modules does not implement vlan API support, +so use MaaS CLI directly to enable DHCP on vlan 0 on fabric-2. + +Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> +Signed-off-by: Guillermo Herrero <Guillermo.Herrero@enea.com> +--- + +diff --git a/maas/region.sls b/maas/region.sls +index d3227ca..8a2243d 100644 +--- a/maas/region.sls ++++ b/maas/region.sls +@@ -190,4 +190,12 @@ + - require: + - module: maas_config + ++maas_vlan_dhcp: ++# NOTE(armband): To be implemented via _modules/maas.py later ++ cmd.run: ++ - name: "maas login {{ region.admin.username }} http://{{ region.bind.host }}/MAAS/api/2.0 - < /var/lib/maas/.maas_credentials && maas opnfv vlan update 2 0 dhcp_on=True primary_rack={{ region.maas_config.maas_name }}" ++ - require: ++ - module: maas_subnets ++ - module: maas_dhcp_snippets ++ + {%- endif %} diff --git a/mcp/patches/0006-linux.network.interface-noifupdown-support.patch b/mcp/patches/0006-linux.network.interface-noifupdown-support.patch new file mode 100644 index 000000000..f4b7de803 --- /dev/null +++ b/mcp/patches/0006-linux.network.interface-noifupdown-support.patch @@ -0,0 +1,26 @@ +From: Alexandru Avadanii <Alexandru.Avadanii@enea.com> +Date: Sat, 5 Aug 2017 02:03:01 +0200 +Subject: [PATCH] linux.network.interface: noifupdown support + +According to [1], salt states/network supports "noifupdown" as a +parameter for each interface. +Adjust salt formula part for `linux.network.interface`, by extending +the "interface_params" in <linux/map.jinja> accordingly. + +Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> +Signed-off-by: Charalampos Kominos <Charalampos.Kominos@enea.com> +Signed-off-by: Guillermo Herrero <Guillermo.Herrero@enea.com> +--- + +diff --git a/linux/map.jinja b/linux/map.jinja +index d3227ca..8a2243d 100644 +--- a/linux/map.jinja ++++ b/linux/map.jinja +@@ -92,6 +92,7 @@ + 'updelay', + 'hashing-algorithm', + 'hardware-dma-ring-rx', ++ 'ifupdown', + ] %} + + {% set network = salt['grains.filter_by']({ diff --git a/mcp/patches/patches.list b/mcp/patches/patches.list index e55e67984..acacb47e0 100644 --- a/mcp/patches/patches.list +++ b/mcp/patches/patches.list @@ -1,3 +1,6 @@ /usr/share/salt-formulas/env: 0001-opendaylight-formula-neutron.patch /usr/share/salt-formulas/env: 0002-maas-region-skip-credentials-update.patch /usr/share/salt-formulas/env: 0003-maas-region-force-artifact-download.patch +/usr/share/salt-formulas/env: 0004-maas-region-use-authorized_keys-1st-entry.patch +/usr/share/salt-formulas/env: 0005-maas-vlan-DHCP-enable-on-fabric-2.patch +/usr/share/salt-formulas/env: 0006-linux.network.interface-noifupdown-support.patch diff --git a/mcp/patches/reclass-system-salt-model/0001-Bring-in-opendaylight-support.patch b/mcp/patches/reclass-system-salt-model/0001-Bring-in-opendaylight-support.patch index 15f23db34..adf07eb81 100644 --- a/mcp/patches/reclass-system-salt-model/0001-Bring-in-opendaylight-support.patch +++ b/mcp/patches/reclass-system-salt-model/0001-Bring-in-opendaylight-support.patch @@ -8,8 +8,8 @@ Change-Id: I3efec9a8b586a6c75b1c1635ad2a7024d73d9ad2 neutron/control/opendaylight/single.yml | 16 ++++++++++++++++ neutron/gateway/opendaylight/single.yml | 8 ++++++++ opendaylight/server/single.yml | 2 ++ - .../storage/system/opendaylight_control_single.yml | 15 +++++++++++++++ - 5 files changed, 60 insertions(+) + .../storage/system/opendaylight_control_single.yml | 13 +++++++++++++ + 5 files changed, 58 insertions(+) create mode 100644 neutron/control/opendaylight/cluster.yml create mode 100644 neutron/control/opendaylight/single.yml create mode 100644 neutron/gateway/opendaylight/single.yml diff --git a/mcp/patches/reclass-system-salt-model/0002-linux.system.single-Fix-py-msgpack-identation.patch b/mcp/patches/reclass-system-salt-model/0002-linux.system.single-Fix-py-msgpack-identation.patch new file mode 100644 index 000000000..799a9cf97 --- /dev/null +++ b/mcp/patches/reclass-system-salt-model/0002-linux.system.single-Fix-py-msgpack-identation.patch @@ -0,0 +1,26 @@ +From: Alexandru Avadanii <Alexandru.Avadanii@enea.com> +Date: Mon, 14 Aug 2017 23:44:05 +0200 +Subject: [PATCH] linux.system.single: Fix py-msgpack identation + +Broken upstream since commit [1], adjust it accordingly. + +[1] https://github.com/Mirantis/reclass-system-salt-model/commit/517e5ff + +Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> +--- + linux/system/single.yml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/linux/system/single.yml b/linux/system/single.yml +index 4c5228f..e2a8502 100644 +--- a/linux/system/single.yml ++++ b/linux/system/single.yml +@@ -12,7 +12,7 @@ parameters: + name: root + home: /root + package: +- python-msgpack: ++ python-msgpack: + version: latest + cloud-init: + version: purged |