summaryrefslogtreecommitdiffstats
path: root/mcp
diff options
context:
space:
mode:
Diffstat (limited to 'mcp')
-rw-r--r--mcp/config/labs/local/idf-pod1.yaml79
-rw-r--r--mcp/config/labs/local/idf-virtual1.yaml103
-rw-r--r--mcp/config/labs/local/pod1.yaml199
-rw-r--r--mcp/config/labs/local/virtual1.yaml127
-rw-r--r--mcp/config/scenario/README.rst21
-rw-r--r--mcp/config/scenario/os-odl-bgpvpn-noha.yaml1
-rw-r--r--mcp/config/scenario/os-odl-nofeature-ha.yaml1
-rw-r--r--mcp/config/scenario/os-odl-nofeature-noha.yaml1
-rw-r--r--mcp/config/scenario/os-odl-ovs-noha.yaml1
-rw-r--r--mcp/config/scenario/os-odl-sfc-noha.yaml1
-rwxr-xr-xmcp/config/states/sqlalchemy_update16
-rw-r--r--mcp/patches/Makefile2
-rw-r--r--mcp/patches/README.rst158
-rw-r--r--mcp/patches/config.mk3
-rw-r--r--mcp/reclass/classes/cluster/README.rst16
-rw-r--r--mcp/scripts/lib_template.sh3
16 files changed, 123 insertions, 609 deletions
diff --git a/mcp/config/labs/local/idf-pod1.yaml b/mcp/config/labs/local/idf-pod1.yaml
deleted file mode 100644
index b916707a1..000000000
--- a/mcp/config/labs/local/idf-pod1.yaml
+++ /dev/null
@@ -1,79 +0,0 @@
-##############################################################################
-# Copyright (c) 2018 Linux Foundation, Mirantis Inc., Enea AB and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
----
-### LF POD 2 installer descriptor file ###
-
-idf:
- version: 0.1
- net_config:
- # NOTE: Network names are likely to change after the PDF spec is updated
- oob:
- interface: 0
- ip-range: 172.30.8.65-172.30.8.75
- vlan: 410
- admin:
- interface: 0
- vlan: native
- network: 192.168.11.0 # Untagged, 'PXE/Admin' on wiki, different IP
- mask: 24
- mgmt:
- interface: 0
- vlan: 300
- network: 10.167.4.0 # Tagged, 'vlan 300' on wiki
- ip-range: 10.167.4.10-10.167.4.254 # Some IPs are in use by lab infra
- mask: 24
- storage:
- interface: 3
- vlan: 301
- network: 10.2.0.0 # Tagged, not the same with 'storage' on wiki
- mask: 24
- private:
- interface: 1
- vlan: 1000
- network: 10.1.0.0 # Tagged, not the same with 'private' on wiki
- mask: 24
- public:
- interface: 2
- vlan: native
- network: 172.30.10.0 # Untagged, 'public' on wiki
- ip-range: 172.30.10.100-172.30.10.254 # Some IPs are in use by lab infra
- mask: 24
- gateway: 172.30.10.1
- dns:
- - 8.8.8.8
- - 8.8.4.4
- fuel:
- jumphost:
- bridges:
- admin: 'pxebr'
- mgmt: 'br-ctl'
- private: ~
- public: ~
- network:
- node:
- # Ordered-list, index should be in sync with node index in PDF
- - interfaces: &interfaces
- # Ordered-list, index should be in sync with interface index in PDF
- - 'enp6s0'
- - 'enp7s0'
- - 'enp8s0'
- - 'enp9s0'
- busaddr: &busaddr
- # Bus-info reported by `ethtool -i ethX`
- - '0000:06:00.0'
- - '0000:07:00.0'
- - '0000:08:00.0'
- - '0000:09:00.0'
- - interfaces: *interfaces
- busaddr: *busaddr
- - interfaces: *interfaces
- busaddr: *busaddr
- - interfaces: *interfaces
- busaddr: *busaddr
- - interfaces: *interfaces
- busaddr: *busaddr
diff --git a/mcp/config/labs/local/idf-virtual1.yaml b/mcp/config/labs/local/idf-virtual1.yaml
deleted file mode 100644
index 402af9852..000000000
--- a/mcp/config/labs/local/idf-virtual1.yaml
+++ /dev/null
@@ -1,103 +0,0 @@
-##############################################################################
-# Copyright (c) 2018 Ericsson AB, Mirantis Inc., Enea AB and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
----
-### Fuel@OPNFV sample VIRTUAL installer descriptor file ###
-
-idf:
- version: 0.0 # Intentionally invalid to indicate this is experimental
- net_config:
- # NOTE: Network names are likely to change after the PDF spec is updated
- oob:
- interface: 0
- ip-range: ~
- vlan: native
- # All networks (except OOB) are virtual networks managed by `libvirt`
- # Interface indexes are based on Fuel installer defaults
- admin:
- interface: 0 # when used, will be first vnet interface, untagged
- vlan: native
- network: 192.168.11.0
- mask: 24
- mgmt:
- interface: 1 # when used, will be second vnet interface, untagged
- vlan: native
- network: 172.16.10.0
- ip-range: 172.16.10.10-172.16.10.254 # Some IPs are in use by lab infra
- mask: 24
- storage:
- interface: 4 # when used, will be fifth vnet interface, untagged
- vlan: native
- network: 192.168.20.0
- mask: 24
- private:
- interface: 2 # when used, will be third vnet interface, untagged
- vlan: 1000-1999
- network: 10.1.0.0
- mask: 24
- public:
- interface: 3 # when used, will be fourth vnet interface, untagged
- vlan: native
- network: 10.16.0.0
- ip-range: 10.16.0.100-10.16.0.254 # Some IPs are in use by lab infra
- mask: 24
- gateway: 10.16.0.1
- dns:
- - 8.8.8.8
- - 8.8.4.4
- fuel:
- jumphost:
- bridges:
- admin: ~
- mgmt: ~
- private: ~
- public: ~
- network:
- ntp_strata_host1: 1.se.pool.ntp.org
- ntp_strata_host2: 0.se.pool.ntp.org
- node:
- # Ordered-list, index should be in sync with node index in PDF
- - interfaces: &interfaces
- # Ordered-list, index should be in sync with interface index in PDF
- - 'ens3'
- - 'ens4'
- - 'ens5'
- - 'ens6'
- busaddr: &busaddr
- # Bus-info reported by `ethtool -i ethX`
- - '0000:00:03.0'
- - '0000:00:04.0'
- - '0000:00:05.0'
- - '0000:00:06.0'
- - interfaces: *interfaces
- busaddr: *busaddr
- - interfaces: *interfaces
- busaddr: *busaddr
- - interfaces: *interfaces
- busaddr: *busaddr
- - interfaces: *interfaces
- busaddr: *busaddr
- reclass:
- node:
- - compute_params: &compute_params
- common: &compute_params_common
- compute_hugepages_size: 2M
- compute_hugepages_count: 2048
- compute_hugepages_mount: /mnt/hugepages_2M
- dpdk:
- <<: *compute_params_common
- compute_dpdk_driver: uio
- compute_ovs_pmd_cpu_mask: "0x6"
- compute_ovs_dpdk_socket_mem: "1024"
- compute_ovs_dpdk_lcore_mask: "0x8"
- compute_ovs_memory_channels: "2"
- dpdk0_driver: igb_uio
- dpdk0_n_rxq: 2
- - compute_params: *compute_params
- - compute_params: *compute_params
- - compute_params: *compute_params
- - compute_params: *compute_params
diff --git a/mcp/config/labs/local/pod1.yaml b/mcp/config/labs/local/pod1.yaml
deleted file mode 100644
index 219b2a683..000000000
--- a/mcp/config/labs/local/pod1.yaml
+++ /dev/null
@@ -1,199 +0,0 @@
-##############################################################################
-# Copyright (c) 2018 Linux Foundation, Enea AB and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
----
-### LF POD 2 descriptor file ###
-
-version: 1.0
-details:
- pod_owner: Trevor Bramwell
- contact: tbramwell@linuxfoundation.org
- lab: LF Pharos Lab
- location: Portland
- type: production
- link: https://wiki.opnfv.org/display/pharos/LF+POD+2
-##############################################################################
-jumphost:
- name: pod2-jump
- node:
- type: baremetal
- vendor: Cisco Systems Inc
- model: UCSB-B200-M4
- arch: x86_64
- cpus: 2
- cpu_cflags: haswell
- cores: 8
- memory: 128G
- disks: &disks
- - name: 'disk1'
- disk_capacity: 2400G
- disk_type: hdd
- disk_interface: sas
- disk_rotation: 0
- os: centos-7
- remote_params: &remote_params
- type: ipmi
- versions:
- - 2.0
- user: admin
- pass: octopus
- remote_management:
- <<: *remote_params
- address: 172.30.8.83
- mac_address: "a8:9d:21:c9:c4:9e"
- interfaces:
- - mac_address: "00:25:b5:a0:00:1a"
- speed: 40gb
- features: 'dpdk|sriov'
- address: 192.168.11.1
- name: 'nic1'
- - mac_address: "00:25:b5:a0:00:1b"
- speed: 40gb
- features: 'dpdk|sriov'
- name: 'nic2'
- - mac_address: "00:25:b5:a0:00:1c"
- speed: 40gb
- features: 'dpdk|sriov'
- name: 'nic3'
- - mac_address: "00:25:b5:a0:00:1d"
- speed: 40gb
- features: 'dpdk|sriov'
- name: 'nic4'
-##############################################################################
-nodes:
- - name: pod2-node1
- node: &nodeparams
- type: baremetal
- vendor: Cisco Systems Inc
- model: UCSB-B200-M4
- arch: x86_64
- cpus: 2
- cpu_cflags: haswell
- cores: 8
- memory: 32G
- disks: *disks
- remote_management:
- <<: *remote_params
- address: 172.30.8.75
- mac_address: "a8:9d:21:c9:8b:56"
- interfaces:
- - mac_address: "00:25:b5:a0:00:2a"
- speed: 40gb
- features: 'dpdk|sriov'
- name: 'nic1'
- - mac_address: "00:25:b5:a0:00:2b"
- speed: 40gb
- features: 'dpdk|sriov'
- name: 'nic2'
- - mac_address: "00:25:b5:a0:00:2c"
- speed: 40gb
- features: 'dpdk|sriov'
- name: 'nic3'
- - mac_address: "00:25:b5:a0:00:2d"
- speed: 40gb
- features: 'dpdk|sriov'
- name: 'nic4'
- ############################################################################
- - name: pod2-node2
- node: *nodeparams
- disks: *disks
- remote_management:
- <<: *remote_params
- address: 172.30.8.65
- mac_address: "a8:9d:21:c9:4d:26"
- interfaces:
- - mac_address: "00:25:b5:a0:00:3a"
- speed: 40gb
- features: 'dpdk|sriov'
- name: 'nic1'
- - mac_address: "00:25:b5:a0:00:3b"
- speed: 40gb
- features: 'dpdk|sriov'
- name: 'nic2'
- - mac_address: "00:25:b5:a0:00:3c"
- speed: 40gb
- features: 'dpdk|sriov'
- name: 'nic3'
- - mac_address: "00:25:b5:a0:00:3d"
- speed: 40gb
- features: 'dpdk|sriov'
- name: 'nic4'
- ############################################################################
- - name: pod2-node3
- node: *nodeparams
- disks: *disks
- remote_management:
- <<: *remote_params
- address: 172.30.8.74
- mac_address: "a8:9d:21:c9:3a:92"
- interfaces:
- - mac_address: "00:25:b5:a0:00:4a"
- speed: 40gb
- features: 'dpdk|sriov'
- name: 'nic1'
- - mac_address: "00:25:b5:a0:00:4b"
- speed: 40gb
- features: 'dpdk|sriov'
- name: 'nic2'
- - mac_address: "00:25:b5:a0:00:4c"
- speed: 40gb
- features: 'dpdk|sriov'
- name: 'nic3'
- - mac_address: "00:25:b5:a0:00:4d"
- speed: 40gb
- features: 'dpdk|sriov'
- name: 'nic4'
- ############################################################################
- - name: pod2-node4
- node: *nodeparams
- disks: *disks
- remote_management:
- <<: *remote_params
- address: 172.30.8.73
- mac_address: "74:a2:e6:a4:14:9c"
- interfaces:
- - mac_address: "00:25:b5:a0:00:5a"
- speed: 40gb
- features: 'dpdk|sriov'
- name: 'nic1'
- - mac_address: "00:25:b5:a0:00:5b"
- speed: 40gb
- features: 'dpdk|sriov'
- name: 'nic2'
- - mac_address: "00:25:b5:a0:00:5c"
- speed: 40gb
- features: 'dpdk|sriov'
- name: 'nic3'
- - mac_address: "00:25:b5:a0:00:5d"
- speed: 40gb
- features: 'dpdk|sriov'
- name: 'nic4'
- ############################################################################
- - name: pod2-node5
- node: *nodeparams
- disks: *disks
- remote_management:
- <<: *remote_params
- address: 172.30.8.72
- mac_address: "a8:9d:21:a0:15:9c"
- interfaces:
- - mac_address: "00:25:b5:a0:00:6a"
- speed: 40gb
- features: 'dpdk|sriov'
- name: 'nic1'
- - mac_address: "00:25:b5:a0:00:6b"
- speed: 40gb
- features: 'dpdk|sriov'
- name: 'nic2'
- - mac_address: "00:25:b5:a0:00:6c"
- speed: 40gb
- features: 'dpdk|sriov'
- name: 'nic3'
- - mac_address: "00:25:b5:a0:00:6d"
- speed: 40gb
- features: 'dpdk|sriov'
- name: 'nic4'
diff --git a/mcp/config/labs/local/virtual1.yaml b/mcp/config/labs/local/virtual1.yaml
deleted file mode 100644
index b293b9775..000000000
--- a/mcp/config/labs/local/virtual1.yaml
+++ /dev/null
@@ -1,127 +0,0 @@
-##############################################################################
-# Copyright (c) 2018 Ericsson AB, Mirantis Inc., Enea AB and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
----
-### Fuel@OPNFV sample VIRTUAL POD descriptor file ###
-### NOTE: This is subject to change as vPDF is not yet officialy supported ###
-
-version: 0.0 # Intentionally invalid to indicate this is experimental
-details:
- pod_owner: Fuel@OPNFV
- contact: Fuel@OPNFV
- lab: Example Lab
- location: Example Location
- type: development
- link: https://wiki.opnfv.org/display/pharos/
-##############################################################################
-jumphost:
- name: virtual1-jump
- node:
- type: baremetal
- vendor: HP
- model: ProLiant BL460c Gen8
- arch: x86_64
- cpus: 2
- cpu_cflags: ivybridge
- cores: 10
- memory: 64G
- disks:
- - name: 'disk1'
- disk_capacity: 800G
- disk_type: hdd
- disk_interface: scsi
- disk_rotation: 15000
- os: ubuntu-16.04
- remote_management:
- type: ipmi
- versions:
- - 1.0
- - 2.0
- user: changeme
- pass: changeme
- address: 0.0.0.0
- mac_address: "00:00:00:00:00:00"
- interfaces:
- - name: 'nic1'
- speed: 10gb
- features: 'dpdk|sriov'
- mac_address: "00:00:00:00:00:00"
- vlan: native
- - name: 'nic2'
- speed: 10gb
- features: 'dpdk|sriov'
- mac_address: "00:00:00:00:00:00"
- vlan: native
-##############################################################################
-nodes:
- - name: node-1 # noha ctl01 or ha (novcp) kvm01
- node: &nodeparams
- # Fuel overrides certain params (e.g. cpus, mem) based on node role later
- type: virtual
- vendor: libvirt
- model: virt
- arch: x86_64
- cpus: 1
- cpu_cflags: ivybridge
- cores: 8
- memory: 6G
- disks: &disks
- - name: 'disk1'
- disk_capacity: 100G
- disk_type: hdd
- disk_interface: scsi # virtio-scsi
- disk_rotation: 15000
- remote_management: &remotemgmt
- type: libvirt
- user: changeme
- pass: changeme
- address: 127.0.0.1 # Not used currently, will be 'qemu:///system' later
- interfaces: &interfaces
- - name: 'nic1'
- speed: 10gb
- features: 'dpdk|sriov'
- mac_address: "00:00:00:00:00:00" # MACs will be assigned by libvirt
- vlan: native
- - name: 'nic2'
- speed: 10gb
- features: 'dpdk|sriov'
- mac_address: "00:00:00:00:00:00"
- vlan: native
- - name: 'nic3'
- speed: 10gb
- features: 'dpdk|sriov'
- mac_address: "00:00:00:00:00:00"
- vlan: native
- - name: 'nic4'
- speed: 10gb
- features: 'dpdk|sriov'
- mac_address: "00:00:00:00:00:00"
- vlan: native
- ############################################################################
- - name: node-2 # noha gtw01 or ha (novcp) kvm02
- node: *nodeparams
- disks: *disks
- remote_management: *remotemgmt
- interfaces: *interfaces
- ############################################################################
- - name: node-3 # noha odl01 / unused or ha (novcp) kvm02
- node: *nodeparams
- disks: *disks
- remote_management: *remotemgmt
- interfaces: *interfaces
- ############################################################################
- - name: node-4 # cmp001
- node: *nodeparams
- disks: *disks
- remote_management: *remotemgmt
- interfaces: *interfaces
- ############################################################################
- - name: node-5 # cmp002
- node: *nodeparams
- disks: *disks
- remote_management: *remotemgmt
- interfaces: *interfaces
diff --git a/mcp/config/scenario/README.rst b/mcp/config/scenario/README.rst
index e03182f11..0a5391637 100644
--- a/mcp/config/scenario/README.rst
+++ b/mcp/config/scenario/README.rst
@@ -1,22 +1,25 @@
.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. SPDX-License-Identifier: CC-BY-4.0
-.. (c) 2017 Mirantis Inc., Enea AB and others.
+.. (c) 2018 Mirantis Inc., Enea AB and others.
-Fuel@OPNFV Scenario Configuration
+OPNFV Fuel Scenario Configuration
=================================
-Abstract:
----------
+Abstract
+--------
+
This directory contains configuration files for different OPNFV deployment
-feature scenarios used by Fuel@OPNFV, e.g.:
+feature scenarios used by OPNFV Fuel, e.g.:
- High availability configuration;
- Type of SDN controller to be deployed;
- OPNFV collaboration project features to be deployed;
- Provisioning of any other sevices;
-- POD configuration (baremetal, virtual);
+- POD configuration (``baremetal``, ``virtual``);
+
+NOTES
+-----
-NOTES:
-------
This directory is highly likely to change and/or be replaced/complemented
-by the new PDF (Pod Descriptor File) info in Pharos OPNFV git repo.
+by the new ``SDF`` (Scenario Descriptor File) info in Pharos OPNFV git repo
+in upcoming OPNFV releases.
diff --git a/mcp/config/scenario/os-odl-bgpvpn-noha.yaml b/mcp/config/scenario/os-odl-bgpvpn-noha.yaml
index 1b2e2d0fb..d49fcf677 100644
--- a/mcp/config/scenario/os-odl-bgpvpn-noha.yaml
+++ b/mcp/config/scenario/os-odl-bgpvpn-noha.yaml
@@ -14,6 +14,7 @@ cluster:
- neutron_gateway
- quagga
- networks
+ - sqlalchemy_update
virtual:
nodes:
control:
diff --git a/mcp/config/scenario/os-odl-nofeature-ha.yaml b/mcp/config/scenario/os-odl-nofeature-ha.yaml
index 51d476de5..61a28891d 100644
--- a/mcp/config/scenario/os-odl-nofeature-ha.yaml
+++ b/mcp/config/scenario/os-odl-nofeature-ha.yaml
@@ -12,6 +12,7 @@ cluster:
- opendaylight
- openstack_ha
- networks
+ - sqlalchemy_update
virtual:
nodes:
control:
diff --git a/mcp/config/scenario/os-odl-nofeature-noha.yaml b/mcp/config/scenario/os-odl-nofeature-noha.yaml
index 3133d0e62..b43f790ce 100644
--- a/mcp/config/scenario/os-odl-nofeature-noha.yaml
+++ b/mcp/config/scenario/os-odl-nofeature-noha.yaml
@@ -13,6 +13,7 @@ cluster:
- openstack_noha
- neutron_gateway
- networks
+ - sqlalchemy_update
virtual:
nodes:
control:
diff --git a/mcp/config/scenario/os-odl-ovs-noha.yaml b/mcp/config/scenario/os-odl-ovs-noha.yaml
index e2df6a476..02f652bee 100644
--- a/mcp/config/scenario/os-odl-ovs-noha.yaml
+++ b/mcp/config/scenario/os-odl-ovs-noha.yaml
@@ -14,6 +14,7 @@ cluster:
- openstack_noha
- neutron_gateway
- networks
+ - sqlalchemy_update
virtual:
nodes:
control:
diff --git a/mcp/config/scenario/os-odl-sfc-noha.yaml b/mcp/config/scenario/os-odl-sfc-noha.yaml
index 8611b0261..88ad1037b 100644
--- a/mcp/config/scenario/os-odl-sfc-noha.yaml
+++ b/mcp/config/scenario/os-odl-sfc-noha.yaml
@@ -14,6 +14,7 @@ cluster:
- neutron_gateway
- tacker
- networks
+ - sqlalchemy_update
virtual:
nodes:
control:
diff --git a/mcp/config/states/sqlalchemy_update b/mcp/config/states/sqlalchemy_update
new file mode 100755
index 000000000..d4901a9c5
--- /dev/null
+++ b/mcp/config/states/sqlalchemy_update
@@ -0,0 +1,16 @@
+#!/bin/bash -e
+##############################################################################
+# Copyright (c) 2018 Mirantis Inc., Enea AB and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+sqlalchemy_ver=1.2.1
+
+salt -I 'neutron:server' pkg.install python-pip
+salt -I 'neutron:server' cmd.run \
+ "sudo -H -u neutron pip install --user SQLAlchemy==${sqlalchemy_ver}"
+
+salt -I 'neutron:server' service.restart neutron-server
diff --git a/mcp/patches/Makefile b/mcp/patches/Makefile
index be3eb9ee5..e0a1c34ce 100644
--- a/mcp/patches/Makefile
+++ b/mcp/patches/Makefile
@@ -25,7 +25,7 @@ FPATCHES = $(shell find ${F_PATCH_DIR} -name '*.patch')
# In order to keep things sort of separate, we should only pass up (to main
# Makefile) the fully-patched repos, and gather any fingerprinting info here.
-# Fuel@OPNFV relies on upstream git repos (one per component) in 1 of 2 ways:
+# OPNFV Fuel relies on upstream git repos (one per component) in 1 of 2 ways:
# - pinned down to tag objects (e.g. "9.0.1")
# - tracking upstream remote HEAD on a stable or master branch
# FIXME(alav): Should we support mixed cases? (e.g. pin down only fuel-main)
diff --git a/mcp/patches/README.rst b/mcp/patches/README.rst
index 735b70341..28af0e8f7 100644
--- a/mcp/patches/README.rst
+++ b/mcp/patches/README.rst
@@ -1,30 +1,30 @@
.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. SPDX-License-Identifier: CC-BY-4.0
-.. (c) 2017 Mirantis Inc., Enea AB and others.
+.. (c) 2018 Mirantis Inc., Enea AB and others.
==========================================
-Fuel@OPNFV submodule fetching and patching
+OPNFV Fuel Submodule Fetching and Patching
==========================================
This directory holds submodule fetching/patching scripts, intended for
-working with upstream Fuel/MCP components (e.g.: reclass-system-salt-model) in
-developing/applying OPNFV patches (backports, custom fixes etc.).
+working with upstream Fuel/MCP components (e.g.: ``reclass-system-salt-model``)
+in developing/applying OPNFV patches (backports, custom fixes etc.).
The scripts should be friendly to the following 2 use-cases:
- - development work: easily cloning, binding repos to specific commits,
- remote tracking, patch development etc.;
- - to provide parent build scripts an easy method of tracking upstream
- references and applying OPNFV patches on top;
+- development work: easily cloning, binding repos to specific commits,
+ remote tracking, patch development etc.;
+- to provide parent build scripts an easy method of tracking upstream
+ references and applying OPNFV patches on top;
Also, we need to support at least the following modes of operations:
- - submodule bind - each submodule patches will be based on the commit ID
- saved in the .gitmodules config file;
- - remote tracking - each submodule will sync with the upstream remote
- and patches will be applied on top of <sub_remote>/<sub_branch>/HEAD;
+- submodule bind - each submodule patches will be based on the commit ID
+ saved in the ``.gitmodules`` config file;
+- remote tracking - each submodule will sync with the upstream remote
+ and patches will be applied on top of ``<sub_remote>/<sub_branch>/HEAD``;
-Workflow (development)
+Workflow (Development)
======================
The standard development workflow should look as follows:
@@ -32,114 +32,116 @@ The standard development workflow should look as follows:
Decide whether remote tracking should be active or not
------------------------------------------------------
-NOTE: Setting the following var to any non-empty str enables remote track.
+.. NOTE::
-NOTE: Leaving unset will enable remote track for anything but stable branch.
+ Setting the following var to any non-empty str enables remote track.
- .. code-block:: bash
+.. code-block:: console
- $ export FUEL_TRACK_REMOTES=""
+ developer@machine:~/fuel$ export FUEL_TRACK_REMOTES=""
Initialize git submodules
-------------------------
-All Fuel sub-projects are registered as submodules.
+All Fuel direct dependency projects are registered as submodules.
If remote tracking is active, upstream remote is queried and latest remote
-branch HEAD is fetched. Otherwise, checkout commit IDs from .gitmodules.
+branch ``HEAD`` is fetched. Otherwise, checkout commit IDs from ``.gitmodules``.
- .. code-block:: bash
+.. code-block:: console
- $ make sub
+ developer@machine:~/fuel$ make -C mcp/patches sub
-Apply patches from `patches/<sub-project>/*` to respective submodules
----------------------------------------------------------------------
+Apply patches from ``patches/<sub-project>/*`` to respective submodules
+-----------------------------------------------------------------------
This will result in creation of:
-- a tag called `${FUEL_MAIN_TAG}-opnfv-root` at the same commit as Fuel@OPNFV
- upstream reference (bound to git submodule OR tracking remote HEAD);
-- a new branch `opnfv-fuel` which will hold all the OPNFV patches,
- each patch is applied on this new branch with `git-am`;
-- a tag called `${FUEL_MAIN_TAG}-opnfv` at `opnfv-fuel/HEAD`;
+- a tag called ``${F_OPNFV_TAG}-root`` at the same commit as OPNFV Fuel
+ upstream reference (bound to git submodule OR tracking remote ``HEAD``);
+- a new branch ``nightly`` which will hold all the OPNFV patches,
+ each patch is applied on this new branch with ``git-am``;
+- a tag called ``${F_OPNFV_TAG}`` at ``nightly/HEAD``;
+- for each (sub)directory of ``patches/<sub-project>``, another pair of tags
+ ``${F_OPNFV_TAG}-<sub-directory>-fuel/patch-root`` and
+ ``${F_OPNFV_TAG}-<sub-directory>-fuel/patch`` are also created;
- .. code-block:: bash
+.. code-block:: console
- $ make patches-import
+ developer@machine:~/fuel$ make -C mcp/patches patches-import
Modify sub-projects for whatever you need
-----------------------------------------
-Commit your changes when you want them taken into account in the build.
+To add/change OPNFV-specific patches for a sub-project:
-Re-create patches
+- commit your changes inside the git submodule(s);
+- move the git tag to the new reference so ``make patches-export`` will
+ pick up the new commit later;
+
+.. code-block:: console
+
+ developer@machine:~/fuel$ cd ./path/to/submodule
+ developer@machine:~/fuel/path/to/submodule$ # ...
+ developer@machine:~/fuel/path/to/submodule$ git commit
+ developer@machine:~/fuel/path/to/submodule$ git tag -f ${F_OPNFV_TAG}-fuel/patch
+
+Re-create Patches
-----------------
-Each commit on `opnfv-fuel` branch of each subproject will be
-exported to `patches/subproject/` via `git format-patch`.
+Each commit on ``nightly`` branch of each subproject will be
+exported to ``patches/subproject/`` via ``git format-patch``.
+
+.. NOTE::
+
+ Only commit submodule file changes when you need to bump upstream refs.
-NOTE: Only commit (-f) submodules when you need to bump upstream ref.
+.. WARNING::
-NOTE: DO NOT commit patched submodules!
+ DO NOT commit patched submodules!
- .. code-block:: bash
+.. code-block:: console
- $ make patches-export
+ developer@machine:~/fuel$ make -C mcp/patches patches-export patches-copyright
-Clean workbench branches and tags
+Clean Workbench Branches and Tags
---------------------------------
- .. code-block:: bash
+.. code-block:: console
- $ make clean
+ developer@machine:~/fuel$ make -C mcp/patches clean
-De-initialize submodules and force a clean clone
+De-initialize Submodules and Force a Clean Clone
------------------------------------------------
- .. code-block:: bash
+.. code-block:: console
- $ make deepclean
+ developer@machine:~/fuel$ make -C mcp/patches deepclean
-Sub-project maintenance
+Sub-project Maintenance
=======================
-Adding a new submodule
+Adding a New Submodule
----------------------
-If you need to add another subproject, you can do it with `git submodule`.
-Make sure that you specify branch (with `-b`), short name (with `--name`):
-
- .. code-block:: bash
-
- $ git submodule -b master add --name reclass-system-salt-model
- https://github.com/Mirantis/reclass-system-salt-model
- relative/path/to/submodule
-
-Working with remote tracking for upgrading Fuel components
-----------------------------------------------------------
-
-Enable remote tracking as described above, which at `make sub` will update
-ALL submodules (e.g. reclass-system-salt-model) to remote branch (set in
-.gitmodules) HEAD.
+If you need to add another subproject, you can do it with ``git submodule``.
+Make sure that you specify branch (with ``-b``), short name (with ``--name``):
-* If upstream has NOT already tagged a new version, we can still work on
- our patches, make sure they apply etc., then check for new upstream
- changes (and that our patches still apply on top of them) by:
+.. code-block:: console
-* If upstream has already tagged a new version we want to pick up, checkout
- the new tag in each submodule:
+ developer@machine:~/fuel$ git submodule -b master add --name reclass-system-salt-model \
+ https://github.com/Mirantis/reclass-system-salt-model \
+ mcp/reclass/classes/system
-* Once satisfied with the patch and submodule changes, commit them:
+Working with Remote Tracking
+----------------------------
- - enforce FUEL_TRACK_REMOTES to "yes" if you want to constatly use the
- latest remote branch HEAD (as soon as upstream pushes a change on that
- branch, our next build will automatically include it - risk of our
- patches colliding with new upstream changes);
- - stage patch changes if any;
- - if submodule tags have been updated (relevant when remote tracking is
- disabled, i.e. we have a stable upstream baseline), add submodules;
+Enable remote tracking as described above, which at ``make sub`` will update
+ALL submodules (e.g. ``reclass-system-salt-model``) to remote branch (set in
+``.gitmodules``) ``HEAD``.
- .. code-block:: bash
+.. WARNING::
- $ make deepclean patches-import
- $ git submodule foreach 'git checkout <newtag>'
- $ make deepclean sub && git add -f relative/path/to/submodule
+ Enforce ``FUEL_TRACK_REMOTES`` to ``yes`` only if you want to constatly
+ use the latest remote branch ``HEAD`` (as soon as upstream pushes a change
+ on that branch, our next build will automatically include it - risk of our
+ patches colliding with new upstream changes) - for **ALL** submodules.
diff --git a/mcp/patches/config.mk b/mcp/patches/config.mk
index 260cbf829..5e5d3b327 100644
--- a/mcp/patches/config.mk
+++ b/mcp/patches/config.mk
@@ -1,5 +1,5 @@
##############################################################################
-# Copyright (c) 2015,2016,2017 Ericsson AB, Enea AB and others.
+# Copyright (c) 2018 Ericsson AB, Enea AB and others.
# stefan.k.berg@ericsson.com
# jonas.bjurel@ericsson.com
# All rights reserved. This program and the accompanying materials
@@ -18,6 +18,5 @@ F_GIT_DIR := $(shell git rev-parse --git-dir)
F_PATCH_DIR := $(shell pwd)
F_OPNFV_TAG := master-opnfv
-# for the patches applying purposes (empty git config in docker build container)
export GIT_COMMITTER_NAME?=Fuel OPNFV
export GIT_COMMITTER_EMAIL?=fuel@opnfv.org
diff --git a/mcp/reclass/classes/cluster/README.rst b/mcp/reclass/classes/cluster/README.rst
index 69234043a..2bb0f265b 100644
--- a/mcp/reclass/classes/cluster/README.rst
+++ b/mcp/reclass/classes/cluster/README.rst
@@ -2,22 +2,22 @@
.. http://creativecommons.org/licenses/by/4.0
.. (c) 2017 Mirantis Inc., Enea AB and others.
-Fuel@OPNFV Cluster Reclass Models
+OPNFV Fuel Cluster Reclass Models
=================================
Overview
--------
-#. Common classes (HA + noHA)
+#. Common classes (HA **and** noHA)
- - all-mcp-arch-common
+ - all-mcp-arch-common
-#. Common classes (HA baremetal/virtual, noHA virtual)
+#. Common classes (HA **or** noHA)
- - mcp-<release>-common-ha
- - mcp-<release>-common-noha
+ - mcp-common-ha
+ - mcp-common-noha
#. Cluster specific classes
- - mcp-<release>-*-{ha,noha}
- - mcp-<release>-*-{ha,noha}
+ - mcp-\*-ha
+ - mcp-\*-noha
diff --git a/mcp/scripts/lib_template.sh b/mcp/scripts/lib_template.sh
index daa04441b..980827c7a 100644
--- a/mcp/scripts/lib_template.sh
+++ b/mcp/scripts/lib_template.sh
@@ -31,9 +31,6 @@ function do_templates_scenario {
LOCAL_PDF="${image_dir}/$(basename "${BASE_CONFIG_PDF}")"
LOCAL_IDF="${image_dir}/$(basename "${BASE_CONFIG_IDF}")"
- # Make sample PDF/IDF available via default lab-config (pharos submodule)
- ln -sf "$(readlink -f "../config/labs/local")" "./pharos/labs/"
-
# Expand scenario file and main reclass input (pod_config.yaml) based on PDF
if ! curl --create-dirs -o "${LOCAL_PDF}" "${BASE_CONFIG_PDF}"; then
notify_e "[ERROR] Could not retrieve PDF (Pod Descriptor File)!"