aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/release/release-notes/release-notes.rst2
-rw-r--r--docs/release/scenarios/os-nosdn-ovs-ha/index.rst16
-rw-r--r--docs/release/scenarios/os-nosdn-ovs-ha/os-nosdn-ovs-ha.rst42
-rw-r--r--docs/release/scenarios/os-nosdn-ovs-noha/index.rst16
-rw-r--r--docs/release/scenarios/os-nosdn-ovs-noha/os-nosdn-ovs-noha.rst41
5 files changed, 116 insertions, 1 deletions
diff --git a/docs/release/release-notes/release-notes.rst b/docs/release/release-notes/release-notes.rst
index fd264e75f..b20b4dfc8 100644
--- a/docs/release/release-notes/release-notes.rst
+++ b/docs/release/release-notes/release-notes.rst
@@ -67,7 +67,7 @@ Release Data
| **Release designation** | Euphrates 5.0 |
| | |
+--------------------------------------+--------------------------------------+
-| **Release date** | October 6 2017 |
+| **Release date** | October 20 2017 |
| | |
+--------------------------------------+--------------------------------------+
| **Purpose of the delivery** | Euphrates alignment to Released |
diff --git a/docs/release/scenarios/os-nosdn-ovs-ha/index.rst b/docs/release/scenarios/os-nosdn-ovs-ha/index.rst
new file mode 100644
index 000000000..e0fcc7e7a
--- /dev/null
+++ b/docs/release/scenarios/os-nosdn-ovs-ha/index.rst
@@ -0,0 +1,16 @@
+.. _os-nosdn-ovs-ha:
+
+.. This work is licensed under a Creative Commons Attribution 4.0 International Licence.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) 2017 Mirantis Inc., Enea Software AB and others
+
+========================================
+os-nosdn-ovs-ha overview and description
+========================================
+
+.. toctree::
+ :numbered:
+ :maxdepth: 2
+
+ os-nosdn-ovs-ha.rst
+
diff --git a/docs/release/scenarios/os-nosdn-ovs-ha/os-nosdn-ovs-ha.rst b/docs/release/scenarios/os-nosdn-ovs-ha/os-nosdn-ovs-ha.rst
new file mode 100644
index 000000000..5e30ab542
--- /dev/null
+++ b/docs/release/scenarios/os-nosdn-ovs-ha/os-nosdn-ovs-ha.rst
@@ -0,0 +1,42 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c)2017 Mirantis Inc., Enea Software AB and others
+
+This document provides scenario level details for Euphrates 5.0 of
+deployment with no SDN controller and no extra features enabled.
+
+============
+Introduction
+============
+
+This scenario is used primarily to validate and deploy a Ocata OpenStack
+deployment without any NFV features or SDN controller enabled.
+
+Scenario components and composition
+===================================
+
+This scenario is composed of common OpenStack services enabled by default,
+including Nova, Neutron, Glance, Cinder, Keystone, Horizon. It also installs
+the DPDK-enabled Open vSwitch component.
+
+All services are in HA, meaning that there are multiple cloned instances of
+each service, and they are balanced by HA Proxy using a Virtual IP Address
+per service.
+
+
+Scenario usage overview
+=======================
+
+Simply deploy this scenario by using the os-nosdn-ovs-ha.yaml deploy
+settings file.
+
+Limitations, Issues and Workarounds
+===================================
+
+None
+
+References
+==========
+
+For more information on the OPNFV Euphrates release, please visit
+http://www.opnfv.org/euphrates
diff --git a/docs/release/scenarios/os-nosdn-ovs-noha/index.rst b/docs/release/scenarios/os-nosdn-ovs-noha/index.rst
new file mode 100644
index 000000000..de9b657fb
--- /dev/null
+++ b/docs/release/scenarios/os-nosdn-ovs-noha/index.rst
@@ -0,0 +1,16 @@
+.. _os-nosdn-ovs-noha:
+
+.. This work is licensed under a Creative Commons Attribution 4.0 International Licence.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) 2017 Mirantis Inc., Enea Software AB and others
+
+==========================================
+os-nosdn-ovs-noha overview and description
+==========================================
+
+.. toctree::
+ :numbered:
+ :maxdepth: 2
+
+ os-nosdn-ovs-noha.rst
+
diff --git a/docs/release/scenarios/os-nosdn-ovs-noha/os-nosdn-ovs-noha.rst b/docs/release/scenarios/os-nosdn-ovs-noha/os-nosdn-ovs-noha.rst
new file mode 100644
index 000000000..7ac4e111a
--- /dev/null
+++ b/docs/release/scenarios/os-nosdn-ovs-noha/os-nosdn-ovs-noha.rst
@@ -0,0 +1,41 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) 2017 Mirantis Inc., Enea Software AB and others
+
+This document provides scenario level details for Euphrates 5.0 of
+deployment with no SDN controller and no extra features enabled.
+
+============
+Introduction
+============
+
+This scenario is used primarily to validate and deploy a Ocata OpenStack
+deployment without any NFV features or SDN controller enabled.
+
+
+Scenario components and composition
+===================================
+
+This scenario is composed of common OpenStack services enabled by default,
+including Nova, Neutron, Glance, Cinder, Keystone, Horizon. It also installs
+the DPDK-enabled Open vSwitch component.
+
+
+Scenario usage overview
+=======================
+
+Simply deploy this scenario by using the os-nosdn-ovs-ha.yaml deploy
+settings file.
+
+
+Limitations, Issues and Workarounds
+===================================
+
+Tested on virtual deploy only.
+
+References
+==========
+
+For more information on the OPNFV Euphrates release, please visit
+http://www.opnfv.org/euphrates
+
err, delete, ) DEV = {'pxe': 'network', 'disk': 'hd', 'iso': 'cdrom'} class LibvirtAdapter(HardwareAdapter): def __init__(self, yaml_path): super(LibvirtAdapter, self).__init__(yaml_path) self.parser = etree.XMLParser(remove_blank_text=True) def node_power_off(self, node_id): vm_name = self.get_node_property(node_id, 'libvirtName') log('Power OFF Node %s' % vm_name) state = exec_cmd('virsh domstate %s' % vm_name) if state == 'running': exec_cmd('virsh destroy %s' % vm_name, False) def node_power_on(self, node_id): vm_name = self.get_node_property(node_id, 'libvirtName') log('Power ON Node %s' % vm_name) state = exec_cmd('virsh domstate %s' % vm_name) if state == 'shut off': exec_cmd('virsh start %s' % vm_name) def node_reset(self, node_id): vm_name = self.get_node_property(node_id, 'libvirtName') log('Reset Node %s' % vm_name) exec_cmd('virsh reset %s' % vm_name) def translate(self, boot_order_list): translated = [] for boot_dev in boot_order_list: if boot_dev in DEV: translated.append(DEV[boot_dev]) else: err('Boot device %s not recognized' % boot_dev) return translated def node_set_boot_order(self, node_id, boot_order_list): boot_order_list = self.translate(boot_order_list) vm_name = self.get_node_property(node_id, 'libvirtName') temp_dir = tempfile.mkdtemp() log('Set boot order %s on Node %s' % (boot_order_list, vm_name)) resp = exec_cmd('virsh dumpxml %s' % vm_name) xml_dump = etree.fromstring(resp, self.parser) os = xml_dump.xpath('/domain/os') for o in os: for bootelem in ['boot', 'bootmenu']: boot = o.xpath(bootelem) for b in boot: o.remove(b) for dev in boot_order_list: b = etree.Element('boot') b.set('dev', dev) o.append(b) bmenu = etree.Element('bootmenu') bmenu.set('enable', 'no') o.append(bmenu) tree = etree.ElementTree(xml_dump) xml_file = temp_dir + '/%s.xml' % vm_name with open(xml_file, 'w') as f: tree.write(f, pretty_print=True, xml_declaration=True) exec_cmd('virsh define %s' % xml_file) delete(temp_dir) def node_zero_mbr(self, node_id): vm_name = self.get_node_property(node_id, 'libvirtName') resp = exec_cmd('virsh dumpxml %s' % vm_name) xml_dump = etree.fromstring(resp) disks = xml_dump.xpath('/domain/devices/disk') for disk in disks: if disk.get('device') == 'disk': sources = disk.xpath('source') for source in sources: disk_file = source.get('file') disk_size = exec_cmd('ls -l %s' % disk_file).split()[4] delete(disk_file) exec_cmd('fallocate -l %s %s' % (disk_size, disk_file)) def node_eject_iso(self, node_id): vm_name = self.get_node_property(node_id, 'libvirtName') device = self.get_name_of_device(vm_name, 'cdrom') exec_cmd('virsh change-media %s --eject %s --config --live' % (vm_name, device), False) def node_insert_iso(self, node_id, iso_file): vm_name = self.get_node_property(node_id, 'libvirtName') device = self.get_name_of_device(vm_name, 'cdrom') exec_cmd('virsh change-media %s --insert %s %s' % (vm_name, device, iso_file)) def get_node_pxe_mac(self, node_id): mac_list = [] vm_name = self.get_node_property(node_id, 'libvirtName') resp = exec_cmd('virsh dumpxml %s' % vm_name) xml_dump = etree.fromstring(resp) interfaces = xml_dump.xpath('/domain/devices/interface') for interface in interfaces: macs = interface.xpath('mac') for mac in macs: mac_list.append(mac.get('address').lower()) return mac_list def get_name_of_device(self, vm_name, device_type): resp = exec_cmd('virsh dumpxml %s' % vm_name) xml_dump = etree.fromstring(resp) disks = xml_dump.xpath('/domain/devices/disk') for disk in disks: if disk.get('device') == device_type: targets = disk.xpath('target') for target in targets: device = target.get('dev') if device: return device def get_virt_net_conf_dir(self): return self.dha_struct['virtNetConfDir']