Loading core components via fixture

This patch is part of works for implementation new mechanism of
compatibility between components in Fuel. Changes provide core
components for releases in openstack.yaml

Implements: blueprint component-registry
Change-Id: I2fd5af663d111223071644b03ea78102b79c82a2
This commit is contained in:
ekosareva 2015-10-21 06:05:12 +04:00 committed by Elena Kosareva
parent 645c60975a
commit c6cab405b6
4 changed files with 206 additions and 8 deletions

View File

@ -19,7 +19,7 @@ import itertools
import jinja2
import os.path
import Queue
import StringIO
from six import StringIO
import sys
import yaml
@ -63,7 +63,7 @@ def template_fixture(fileobj, **kwargs):
if not kwargs.get('settings'):
kwargs["settings"] = settings
t = jinja2.Template(fileobj.read())
return StringIO.StringIO(t.render(**kwargs))
return StringIO(t.render(**kwargs))
def load_fixture(fileobj, loader=None):

View File

@ -1346,7 +1346,7 @@
label: "dialog.create_cluster_wizard.network.nova_network"
description: "dialog.create_cluster_wizard.network.nova_network_description"
restrictions:
- "Compute.vcenter == false": "dialog.create_cluster_wizard.network.nove_network_vcenter_alert"
- "Compute.vcenter == false": "dialog.create_cluster_wizard.network.nova_network_vcenter_alert"
bind:
- "cluster:net_provider": "nova_network"
Storage:
@ -1561,6 +1561,200 @@
vcenter_password: ""
datacenter: ""
datastore: ""
components_metadata:
- name: hypervisor:libvirt:kvm
bind: !!pairs
- "settings:common.libvirt_type.value": "kvm"
weight: 5
label: "dialog.create_cluster_wizard.compute.kvm"
description: "dialog.create_cluster_wizard.compute.kvm_description"
compatible:
- name: hypervisor:vmware
incompatible:
- name: hypervisor:libvirt:qemu
message: "dialog.create_cluster_wizard.compute.libvirt_alert"
- name: hypervisor:libvirt:qemu
bind: !!pairs
- "settings:common.libvirt_type.value": "qemu"
weight: 10
default: true
label: "dialog.create_cluster_wizard.compute.qemu"
description: "dialog.create_cluster_wizard.compute.qemu_description"
compatible:
- name: hypervisor:vmware
incompatible:
- name: hypervisor:libvirt:kvm
message: "dialog.create_cluster_wizard.compute.libvirt_alert"
- name: hypervisor:vmware
weight: 15
bind:
- "settings:common.use_vcenter.value"
label: "dialog.create_cluster_wizard.compute.vcenter"
description: "dialog.create_cluster_wizard.compute.vcenter_description"
compatible:
- name: hypervisor:libvirt:kvm
- name: hypervisor:libvirt:qemu
incompatible:
- name: network:neutron:*
message: "dialog.create_cluster_wizard.network.hypervisor_alert"
- name: network:neutron:vlan
default: true
bind: !!pairs
- "cluster:net_provider": "neutron"
- "cluster:net_segment_type": "vlan"
weight: 5
label: "common.network.neutron_vlan"
description: "dialog.create_cluster_wizard.network.neutron_vlan_description"
compatible:
- name: hypervisor:libvirt:kvm
- name: hypervisor:libvirt:qemu
incompatible:
- name: hypervisor:vmware
message: "dialog.create_cluster_wizard.network.hypervisor_alert"
- name: network:neutron:tun
bind: !!pairs
- "cluster:net_provider": "neutron"
- "cluster:net_segment_type": "tun"
weight: 10
label: "common.network.neutron_tun"
description: "dialog.create_cluster_wizard.network.neutron_tun_description"
compatible:
- name: hypervisor:libvirt:kvm
- name: hypervisor:libvirt:qemu
incompatible:
- name: hypervisor:vmware
message: "dialog.create_cluster_wizard.network.hypervisor_alert"
- name: additional_service:ironic
message: "dialog.create_cluster_wizard.additional.ironic_network_mode_alert"
- name: network:nova_network
bind: !!pairs
- "cluster:net_provider": "nova_network"
weight: 15
label: "dialog.create_cluster_wizard.network.nova_network"
description: "dialog.create_cluster_wizard.network.nova_network_description"
compatible:
- name: hypervisor:vmware
requires:
- name: 'hypervisor:vmware'
message: "dialog.create_cluster_wizard.network.nova_network_vcenter_alert"
incompatible:
- name: additional_service:ironic
message: "dialog.create_cluster_wizard.additional.ironic_network_mode_alert"
- name: storage:default
default: true
bind: !!pairs
- "settings:storage.volumes_lvm.value": true
- "settings:storage.volumes_ceph.value": false
- "settings:storage.objects_ceph.value": false
- "settings:storage.ephemeral_ceph.value": false
- "settings:storage.images_ceph.value": false
weight: 10
label: "dialog.create_cluster_wizard.storage.default_provider"
compatible:
- name: hypervisor:libvirt:kvm
- name: hypervisor:libvirt:qemu
- name: hypervisor:vmware
- name: network:neutron:vlan
- name: network:neutron:tun
- name: network:nova_network
incompatible:
- name: storage:ceph
message: ""
- name: storage:ceph
bind: !!pairs
- "settings:storage.volumes_ceph.value": true
- "settings:storage.objects_ceph.value": true
- "settings:storage.ephemeral_ceph.value": true
- "settings:storage.images_ceph.value": true
- "settings:storage.volumes_lvm.value": false
weight: 20
label: "dialog.create_cluster_wizard.storage.ceph_provider"
description: "dialog.create_cluster_wizard.storage.ceph_help"
compatible:
- name: hypervisor:libvirt:kvm
- name: hypervisor:libvirt:qemu
- name: hypervisor:vmware
- name: network:neutron:vlan
- name: network:neutron:tun
- name: network:nova_network
incompatible:
- name: storage:default
message: ""
- name: additional_service:sahara
bind:
- "settings:additional_components.sahara.value"
weight: 10
label: "dialog.create_cluster_wizard.additional.install_sahara"
description: "dialog.create_cluster_wizard.additional.install_sahara_description"
compatible:
- name: hypervisor:libvirt:kvm
- name: hypervisor:libvirt:qemu
- name: hypervisor:vmware
- name: network:neutron:vlan
- name: network:neutron:tun
- name: network:nova_network
- name: storage:default
- name: storage:ceph
- name: additional_service:sahara
- name: additional_service:murano
- name: additional_service:ceilometer
- name: additional_service:ironic
- name: additional_service:murano
bind:
- "settings:additional_components.murano.value"
weight: 20
label: "dialog.create_cluster_wizard.additional.install_murano"
description: "dialog.create_cluster_wizard.additional.install_murano_description"
compatible:
- name: hypervisor:libvirt:kvm
- name: hypervisor:libvirt:qemu
- name: hypervisor:vmware
- name: network:neutron:vlan
- name: network:neutron:tun
- name: network:nova_network
- name: storage:default
- name: storage:ceph
- name: additional_service:sahara
- name: additional_service:ceilometer
- name: additional_service:ironic
- name: additional_service:ceilometer
bind:
- "settings:additional_components.ceilometer.value"
weight: 30
label: "dialog.create_cluster_wizard.additional.install_ceilometer"
description: "dialog.create_cluster_wizard.additional.install_ceilometer_description"
compatible:
- name: hypervisor:libvirt:kvm
- name: hypervisor:libvirt:qemu
- name: hypervisor:vmware
- name: network:neutron:vlan
- name: network:neutron:tun
- name: network:nova_network
- name: storage:default
- name: storage:ceph
- name: additional_service:sahara
- name: additional_service:murano
- name: additional_service:ironic
- name: additional_service:ironic
bind:
- "settings:additional_components.ironic.value"
weight: 40
label: "dialog.create_cluster_wizard.additional.install_ironic"
description: "dialog.create_cluster_wizard.additional.install_ironic_description"
compatible:
- name: hypervisor:libvirt:kvm
- name: hypervisor:libvirt:qemu
- name: network:neutron:vlan
- name: storage:default
- name: storage:ceph
- name: additional_service:sahara
- name: additional_service:murano
- name: additional_service:ceilometer
incompatible:
- name: network:nova_network
message: "dialog.create_cluster_wizard.additional.ironic_network_mode_alert"
- name: network:neutron:tun
message: "dialog.create_cluster_wizard.additional.ironic_network_mode_alert"
modes: ['ha_compact']
extensions: ['volume_manager']
- pk: 1

View File

@ -14,10 +14,10 @@
# License for the specific language governing permissions and limitations
# under the License.
import cStringIO
import mock
import os
from oslo_serialization import jsonutils
from six import StringIO
import yaml
from nailgun.db.sqlalchemy import fixman
@ -52,6 +52,7 @@ class TestFixture(BaseIntegrationTest):
self.assertEqual(len(list(check)), 8)
def test_load_fake_deployment_tasks(self):
self.env.upload_fixtures(["openstack"])
fxtr_path = os.path.join(fixman.get_base_fixtures_path(),
'deployment_tasks.yaml')
with open(fxtr_path) as f:
@ -74,7 +75,7 @@ class TestFixture(BaseIntegrationTest):
}
}]'''
fixman.upload_fixture(cStringIO.StringIO(data), loader=jsonutils)
fixman.upload_fixture(StringIO(data), loader=jsonutils)
check = self.db.query(Release).filter(
Release.name == u"JSONFixtureRelease"
)
@ -96,7 +97,7 @@ class TestFixture(BaseIntegrationTest):
operating_system: CentOS
'''
fixman.upload_fixture(cStringIO.StringIO(data), loader=yaml)
fixman.upload_fixture(StringIO(data), loader=yaml)
check = self.db.query(Release).filter(
Release.name == u"YAMLFixtureRelease"
)

View File

@ -819,6 +819,7 @@
"kvm": "KVM",
"qemu": "QEMU",
"vcenter": "vCenter",
"libvirt_alert": "Selection of both KVM and QEMU options is not supported.",
"kvm_description": "Select this option if you run OpenStack on bare-metal hardware.",
"qemu_description": "Select this option if you run OpenStack on virtual hosts (for example on VirtualBox).",
"vcenter_description": "Select this option if you run OpenStack on VMware vCenter.",
@ -840,8 +841,8 @@
"description": "Choose the private (guest) network configuration. You cannot modify this setting after you complete the wizard. For more information, see the ",
"description_link": "Mirantis OpenStack Planning Guide for Network Topology",
"release_alert": "Neutron is not supported in __NameAndRelease.release_name__",
"hypervisor_alert": "Neutron is not available with __Compute.vcenter__ as a selected compute option.",
"nove_network_vcenter_alert": "Legacy Networking (nova-network) requires __Compute.vcenter__ to be a selected compute option.",
"hypervisor_alert": "Neutron is not available with vCenter as a selected compute option.",
"nova_network_vcenter_alert": "Legacy Networking (nova-network) requires vCenter to be a selected compute option.",
"nova_network": "(DEPRECATED) Legacy Networking (nova-network)",
"nova_network_description": "This option is only available if you use VMware vCenter. OpenStack is deprecating nova-network in upcoming releases.",
"neutron_gre_description": "Your network hardware must support GRE segmentation. This option supports up to 65535 networks.",
@ -855,6 +856,8 @@
"ceph_description": "Use Ceph storage?",
"ceph_enable": "Yes, use Ceph",
"ceph_disable": "No, use default providers",
"ceph_provider": "Use Ceph storage provider",
"default_provider": "Use default storage providers",
"ceph_help": "Ceph provides a shared backend for Glance images, Nova and Cinder volumes, and Swift objects, as well as copy-on-write between them in some cases. Ceph requires assigning Ceph-OSD role to several nodes in your cluster (at least as many as the configured Ceph object replication factor). You can modify the storage backend options for each component and the replication factor on the Settings page.",
"default": "Default",
"ceph": "Ceph",