aboutsummaryrefslogtreecommitdiffstats
path: root/ci/deploy
diff options
context:
space:
mode:
authorJosep Puigdemont <josep.puigdemont@enea.com>2016-03-31 10:54:31 +0200
committerJosep Puigdemont <josep.puigdemont@enea.com>2016-03-31 10:55:51 +0200
commiteb165e4fbab7ef92661101c836257b177e158929 (patch)
treec4ce971e1c2e7daf0013bc82e15b40f71f880106 /ci/deploy
parent58827fdb426f275a7a223d4db773ec3a717ec9c1 (diff)
Added files for automatic deployment.
Change-Id: If9a9bb03c3cbcb28c0d6fb218069c6db46d4d314 Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com>
Diffstat (limited to 'ci/deploy')
-rw-r--r--ci/deploy/config/labs/enealab/armband-pod1/fuel/config/dea.yaml1051
-rw-r--r--ci/deploy/config/labs/enealab/armband-pod1/fuel/config/dha.yaml79
-rw-r--r--ci/deploy/templates/enea/armbandlab/vms/fuel.xml77
3 files changed, 1207 insertions, 0 deletions
diff --git a/ci/deploy/config/labs/enealab/armband-pod1/fuel/config/dea.yaml b/ci/deploy/config/labs/enealab/armband-pod1/fuel/config/dea.yaml
new file mode 100644
index 00000000..d80c305d
--- /dev/null
+++ b/ci/deploy/config/labs/enealab/armband-pod1/fuel/config/dea.yaml
@@ -0,0 +1,1051 @@
+
+title: Deployment Environment Adapter (DEA)
+# DEA API version supported
+version: 1.1
+created: Wed Mar 30 12:10:46 2016
+comment: Some comment
+environment:
+ name: ha-ceph-odl
+ net_segment_type: tun
+wanted_release: Liberty on Ubuntu 14.04 (aarch64)
+nodes:
+- id: 1
+ interfaces: interfaces_1
+ role: controller,opendaylight
+ transformations: transformations_1
+- id: 2
+ interfaces: interfaces_1
+ role: ceph-osd,controller
+ transformations: transformations_1
+- id: 3
+ interfaces: interfaces_1
+ role: ceph-osd,controller
+ transformations: transformations_1
+- id: 4
+ interfaces: interfaces_2
+ role: ceph-osd,compute
+ transformations: transformations_2
+- id: 5
+ interfaces: interfaces_2
+ role: ceph-osd,compute
+ transformations: transformations_2
+interfaces_1:
+ eth1:
+ - fuelweb_admin
+ eth2:
+ - public
+ - management
+ - storage
+ - private
+interfaces_2:
+ eth0:
+ - fuelweb_admin
+ eth3:
+ - public
+ - management
+ - storage
+ - private
+transformations_1:
+ transformations:
+ - action: add-br
+ name: br-fw-admin
+ - action: add-br
+ name: br-mgmt
+ - action: add-br
+ name: br-storage
+ - action: add-br
+ name: br-ex
+ - action: add-br
+ name: br-floating
+ provider: ovs
+ - action: add-patch
+ bridges:
+ - br-floating
+ - br-ex
+ mtu: 65000
+ provider: ovs
+ - action: add-br
+ name: br-mesh
+ - action: add-port
+ bridge: br-fw-admin
+ name: eth1
+ - action: add-port
+ bridge: br-ex
+ name: eth2
+ - action: add-port
+ bridge: br-mgmt
+ name: eth2.101
+ - action: add-port
+ bridge: br-storage
+ name: eth2.102
+ - action: add-port
+ bridge: br-mesh
+ name: eth2.103
+transformations_2:
+ transformations:
+ - action: add-br
+ name: br-fw-admin
+ - action: add-br
+ name: br-mgmt
+ - action: add-br
+ name: br-storage
+ - action: add-br
+ name: br-mesh
+ - action: add-port
+ bridge: br-fw-admin
+ name: eth0
+ - action: add-port
+ bridge: br-mgmt
+ name: eth3.101
+ - action: add-port
+ bridge: br-storage
+ name: eth3.102
+ - action: add-port
+ bridge: br-mesh
+ name: eth3.103
+fuel:
+ ADMIN_NETWORK:
+ dhcp_pool_end: 10.20.0.254
+ dhcp_pool_start: 10.20.0.3
+ ipaddress: 10.20.0.2
+ netmask: 255.255.255.0
+ DNS_DOMAIN: domain.tld
+ DNS_SEARCH: domain.tld
+ DNS_UPSTREAM: 8.8.8.8
+ FUEL_ACCESS:
+ password: admin
+ user: admin
+ HOSTNAME: fuel
+ NTP1: 0.fuel.pool.ntp.org
+ NTP2: 1.fuel.pool.ntp.org
+ NTP3: 2.fuel.pool.ntp.org
+network:
+ networking_parameters:
+ base_mac: fa:16:3e:00:00:00
+ configuration_template: null
+ dns_nameservers:
+ - 8.8.4.4
+ - 8.8.8.8
+ floating_name: admin_floating_net
+ floating_ranges:
+ - - 10.0.2.126
+ - 10.0.2.150
+ gre_id_range:
+ - 2
+ - 65535
+ internal_cidr: 192.168.111.0/24
+ internal_gateway: 192.168.111.1
+ internal_name: admin_internal_net
+ net_l23_provider: ovs
+ segmentation_type: tun
+ vlan_range:
+ - 1000
+ - 1030
+ networks:
+ - cidr: 10.0.2.0/24
+ gateway: 10.0.2.254
+ ip_ranges:
+ - - 10.0.2.100
+ - 10.0.2.125
+ meta:
+ cidr: 10.0.2.0/24
+ configurable: true
+ floating_range_var: floating_ranges
+ ip_range:
+ - 10.0.2.0.100
+ - 10.0.2.0.125
+ map_priority: 1
+ name: public
+ notation: ip_ranges
+ render_addr_mask: public
+ render_type: null
+ use_gateway: true
+ vips:
+ - haproxy
+ - vrouter
+ vlan_start: null
+ name: public
+ vlan_start: null
+ - cidr: 192.168.1.0/24
+ gateway: null
+ ip_ranges:
+ - - 192.168.1.1
+ - 192.168.1.254
+ meta:
+ cidr: 192.168.1.0/24
+ configurable: true
+ map_priority: 2
+ name: storage
+ notation: cidr
+ render_addr_mask: storage
+ render_type: cidr
+ use_gateway: false
+ vlan_start: 102
+ name: storage
+ vlan_start: 102
+ - cidr: 192.168.0.0/24
+ gateway: null
+ ip_ranges:
+ - - 192.168.0.1
+ - 192.168.0.254
+ meta:
+ cidr: 192.168.0.0/24
+ configurable: true
+ map_priority: 2
+ name: management
+ notation: cidr
+ render_addr_mask: internal
+ render_type: cidr
+ use_gateway: false
+ vips:
+ - haproxy
+ - vrouter
+ vlan_start: 101
+ name: management
+ vlan_start: 101
+ - cidr: 192.168.2.0/24
+ gateway: null
+ ip_ranges:
+ - - 192.168.2.1
+ - 192.168.2.254
+ meta:
+ cidr: 192.168.2.0/24
+ configurable: true
+ map_priority: 2
+ name: private
+ notation: cidr
+ render_addr_mask: null
+ render_type: cidr
+ seg_type: tun
+ use_gateway: false
+ vlan_start: 103
+ name: private
+ vlan_start: 103
+ - cidr: 10.20.0.0/24
+ gateway: 10.20.0.2
+ ip_ranges:
+ - - 10.20.0.3
+ - 10.20.0.254
+ meta:
+ configurable: false
+ map_priority: 0
+ notation: ip_ranges
+ render_addr_mask: null
+ render_type: null
+ unmovable: true
+ use_gateway: true
+ name: fuelweb_admin
+ vlan_start: null
+settings:
+ editable:
+ access:
+ email:
+ description: Email address for Administrator
+ label: Email
+ regex:
+ error: Invalid email
+ source: ^\S+@\S+$
+ type: text
+ value: admin@localhost
+ weight: 40
+ metadata:
+ group: general
+ label: Access
+ weight: 10
+ password:
+ description: Password for Administrator
+ label: Password
+ regex:
+ error: Empty password
+ source: \S
+ type: password
+ value: admin
+ weight: 20
+ tenant:
+ description: Tenant (project) name for Administrator
+ label: Tenant
+ regex:
+ error: Invalid tenant name
+ source: ^(?!services$)(?!nova$)(?!glance$)(?!keystone$)(?!neutron$)(?!cinder$)(?!swift$)(?!ceph$)(?!ironic$)(?![Gg]uest$)(?!.*
+ +.*$).+
+ type: text
+ value: admin
+ weight: 30
+ user:
+ description: Username for Administrator
+ label: Username
+ regex:
+ error: Invalid username
+ source: ^(?!services$)(?!nova$)(?!glance$)(?!keystone$)(?!neutron$)(?!cinder$)(?!swift$)(?!ceph$)(?!ironic$)(?![Gg]uest$)(?!.*
+ +.*$).+
+ type: text
+ value: admin
+ weight: 10
+ additional_components:
+ ceilometer:
+ description: If selected, Ceilometer component will be installed
+ label: Install Ceilometer
+ type: checkbox
+ value: false
+ weight: 60
+ heat:
+ description: ''
+ label: ''
+ type: hidden
+ value: true
+ weight: 50
+ ironic:
+ description: If selected, Ironic component will be installed
+ label: Install Ironic
+ restrictions:
+ - cluster:net_provider != 'neutron' or networking_parameters:segmentation_type != 'vlan': Ironic
+ requires Neutron with VLAN segmentation.
+ - settings:storage.images_ceph.value == true and settings:storage.objects_ceph.value == false: Ironic
+ requires Swift or RadosGW for Glance images.
+ type: checkbox
+ value: false
+ weight: 80
+ metadata:
+ group: openstack_services
+ label: Additional Components
+ weight: 20
+ mongo:
+ description: If selected, You can use external Mongo DB as ceilometer backend
+ label: Use external Mongo DB
+ restrictions:
+ - settings:additional_components.ceilometer.value == false
+ type: checkbox
+ value: false
+ weight: 70
+ murano:
+ description: If selected, Murano component will be installed
+ label: Install Murano
+ type: checkbox
+ value: false
+ weight: 20
+ murano-cfapi:
+ description: If selected, Murano service broker will be installed
+ label: Install Murano service broker for Cloud Foundry
+ restrictions:
+ - condition: settings:additional_components.murano.value == false
+ message: Murano should be enabled
+ - action: hide
+ condition: not ('experimental' in version:feature_groups)
+ type: checkbox
+ value: false
+ weight: 30
+ murano_glance_artifacts_plugin:
+ description: If selected glance artifact repository will be enabled
+ label: Enable glance artifact repository
+ restrictions:
+ - condition: settings:additional_components.murano.value == false
+ message: Murano should be enabled
+ - action: hide
+ condition: not ('experimental' in version:feature_groups)
+ type: checkbox
+ value: false
+ weight: 40
+ sahara:
+ description: If selected, Sahara component will be installed
+ label: Install Sahara
+ type: checkbox
+ value: false
+ weight: 10
+ common:
+ auth_key:
+ description: Public key(s) to include in authorized_keys on deployed nodes
+ group: security
+ label: Public Key
+ type: textarea
+ value: ''
+ weight: 70
+ auto_assign_floating_ip:
+ description: If selected, OpenStack will automatically assign a floating IP
+ to a new instance
+ group: network
+ label: Auto assign floating IP
+ restrictions:
+ - action: hide
+ condition: cluster:net_provider == 'neutron'
+ type: checkbox
+ value: false
+ weight: 40
+ debug:
+ description: Debug logging mode provides more information, but requires more
+ disk space.
+ group: logging
+ label: OpenStack debug logging
+ type: checkbox
+ value: false
+ weight: 20
+ libvirt_type:
+ group: compute
+ label: Hypervisor type
+ type: radio
+ value: kvm
+ values:
+ - data: kvm
+ description: Choose this type of hypervisor if you run OpenStack on hardware
+ label: KVM
+ - data: qemu
+ description: Choose this type of hypervisor if you run OpenStack on virtual
+ hosts.
+ label: QEMU
+ weight: 30
+ metadata:
+ label: Common
+ weight: 10
+ nova_quota:
+ description: Quotas are used to limit CPU and memory usage for tenants. Enabling
+ quotas will increase load on the Nova database.
+ group: compute
+ label: Nova quotas
+ type: checkbox
+ value: false
+ weight: 30
+ puppet_debug:
+ description: Debug puppet logging mode provides more information, but requires
+ more disk space.
+ group: logging
+ label: Puppet debug logging
+ type: checkbox
+ value: true
+ weight: 20
+ resume_guests_state_on_host_boot:
+ description: Whether to resume previous guests state when the host reboots.
+ If enabled, this option causes guests assigned to the host to resume their
+ previous state. If the guest was running a restart will be attempted when
+ nova-compute starts. If the guest was not running previously, a restart
+ will not be attempted.
+ group: compute
+ label: Resume guests state on host boot
+ type: checkbox
+ value: true
+ weight: 50
+ task_deploy:
+ description: Enables new deployment engine based on cross-node dependencies
+ for deployment tasks which allows to deploy all nodes simultaneously. Works
+ only for deployment tasks with version >= 2.0.0.
+ label: Enable task based deploy
+ restrictions:
+ - action: hide
+ condition: not ('experimental' in version:feature_groups)
+ type: checkbox
+ value: false
+ weight: 11
+ use_cow_images:
+ description: For most cases you will want qcow format. If it's disabled, raw
+ image format will be used to run VMs. OpenStack with raw format currently
+ does not support snapshotting.
+ group: storage
+ label: Use qcow format for images
+ type: checkbox
+ value: true
+ weight: 60
+ use_vcenter:
+ type: hidden
+ value: false
+ weight: 30
+ corosync:
+ group:
+ description: ''
+ label: Group
+ type: text
+ value: 226.94.1.1
+ weight: 10
+ metadata:
+ group: general
+ label: Corosync
+ restrictions:
+ - action: hide
+ condition: 'true'
+ weight: 50
+ port:
+ description: ''
+ label: Port
+ type: text
+ value: '12000'
+ weight: 20
+ verified:
+ description: Set True only if multicast is configured correctly on router.
+ label: Need to pass network verification.
+ type: checkbox
+ value: false
+ weight: 10
+ external_dns:
+ dns_list:
+ description: List of upstream DNS servers, separated by comma
+ label: DNS list
+ regex:
+ error: Invalid IP address list
+ source: ^\*$|^(?:\d|1?\d\d|2[0-4]\d|25[0-5])(?:\.(?:\d|1?\d\d|2[0-4]\d|25[0-5])){3}(?:\s*,\s*(?:\d|1?\d\d|2[0-4]\d|25[0-5])(?:\.(?:\d|1?\d\d|2[0-4]\d|25[0-5])){3})*$
+ type: text
+ value: 8.8.8.8
+ weight: 10
+ metadata:
+ group: network
+ label: Host OS DNS Servers
+ weight: 30
+ external_mongo:
+ hosts_ip:
+ description: IP Addresses of MongoDB. Use comma to split IPs
+ label: MongoDB hosts IP
+ regex:
+ error: Invalid hosts ip sequence
+ source: ^(((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?),)*((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$
+ type: text
+ value: ''
+ weight: 30
+ metadata:
+ group: openstack_services
+ label: External MongoDB
+ restrictions:
+ - action: hide
+ condition: settings:additional_components.mongo.value == false
+ message: Ceilometer and MongoDB are not enabled on the Additional Components
+ section
+ weight: 20
+ mongo_db_name:
+ description: Mongo database name
+ label: Database name
+ regex:
+ error: Invalid database name
+ source: ^\w+$
+ type: text
+ value: ceilometer
+ weight: 30
+ mongo_password:
+ description: Mongo database password
+ label: Password
+ regex:
+ error: Password contains spaces
+ source: ^\S*$
+ type: password
+ value: ceilometer
+ weight: 30
+ mongo_replset:
+ description: Name for Mongo replication set
+ label: Replset
+ type: text
+ value: ''
+ weight: 30
+ mongo_user:
+ description: Mongo database username
+ label: Username
+ regex:
+ error: Empty username
+ source: ^\w+$
+ type: text
+ value: ceilometer
+ weight: 30
+ external_ntp:
+ metadata:
+ group: network
+ label: Host OS NTP Servers
+ weight: 40
+ ntp_list:
+ description: List of upstream NTP servers, separated by comma
+ label: NTP server list
+ regex:
+ error: Invalid NTP server list
+ source: ^\s*(?:(?:\w+(?:-+\w+)*\.)+[a-z]+|\d{1,3}(?:\.\d{1,3}){3})\s*(?:,\s*(?:(?:\w+(?:-+\w+)*\.)+[a-z]+|\d{1,3}(\.\d{1,3}){3})\s*)*$
+ type: text
+ value: 0.fuel.pool.ntp.org, 1.fuel.pool.ntp.org, 2.fuel.pool.ntp.org
+ weight: 10
+ kernel_params:
+ kernel:
+ description: Default kernel parameters
+ label: Initial parameters
+ type: text
+ value: console=ttyAMA0,115200 console=ttyS0,115200 net.ifnames=0 biosdevname=0
+ rootdelay=90 nomodeset
+ metadata:
+ group: general
+ label: Kernel parameters
+ weight: 60
+ murano_settings:
+ metadata:
+ group: openstack_services
+ label: Murano Settings
+ restrictions:
+ - action: hide
+ condition: settings:additional_components.murano.value == false
+ message: Murano is not enabled on the Additional Components section
+ weight: 20
+ murano_repo_url:
+ description: ''
+ label: Murano Repository URL
+ type: text
+ value: http://storage.apps.openstack.org/
+ weight: 10
+ neutron_advanced_configuration:
+ metadata:
+ group: network
+ label: Neutron Advanced Configuration
+ restrictions:
+ - action: hide
+ condition: cluster:net_provider != 'neutron'
+ weight: 20
+ neutron_dvr:
+ description: Enable Distributed Virtual Routers in Neutron
+ label: Neutron DVR
+ restrictions:
+ - ? networking_parameters:segmentation_type != 'vlan' and settings:neutron_advanced_configuration.neutron_l2_pop.value
+ == false
+ : DVR requires L2 population to be enabled.
+ type: checkbox
+ value: false
+ weight: 20
+ neutron_l2_pop:
+ description: Enable L2 population mechanism in Neutron
+ label: Neutron L2 population
+ restrictions:
+ - action: hide
+ condition: networking_parameters:segmentation_type == 'vlan'
+ type: checkbox
+ value: false
+ weight: 10
+ neutron_l3_ha:
+ description: 'Enable High Availability features for Virtual Routers in Neutron
+
+ Requires at least 2 Controller nodes to function properly
+
+ '
+ label: Neutron L3 HA
+ restrictions:
+ - condition: settings:neutron_advanced_configuration.neutron_dvr.value ==
+ true
+ message: Neutron DVR must be disabled in order to use Neutron L3 HA
+ type: checkbox
+ value: false
+ weight: 30
+ neutron_mellanox:
+ metadata:
+ enabled: true
+ group: network
+ label: Mellanox Neutron components
+ restrictions:
+ - action: hide
+ condition: not ('experimental' in version:feature_groups)
+ toggleable: false
+ weight: 50
+ plugin:
+ label: Mellanox drivers and SR-IOV plugin
+ type: radio
+ value: disabled
+ values:
+ - data: disabled
+ description: If selected, Mellanox drivers, Neutron and Cinder plugin will
+ not be installed.
+ label: Mellanox drivers and plugins disabled
+ restrictions:
+ - settings:storage.iser.value == true
+ - data: drivers_only
+ description: If selected, Mellanox Ethernet drivers will be installed to
+ support networking over Mellanox NIC. Mellanox Neutron plugin will not
+ be installed.
+ label: Install only Mellanox drivers
+ restrictions:
+ - settings:common.libvirt_type.value != 'kvm'
+ - data: ethernet
+ description: If selected, both Mellanox Ethernet drivers and Mellanox network
+ acceleration (Neutron) plugin will be installed.
+ label: Install Mellanox drivers and SR-IOV plugin
+ restrictions:
+ - settings:common.libvirt_type.value != 'kvm' or not (cluster:net_provider
+ == 'neutron' and networking_parameters:segmentation_type == 'vlan')
+ weight: 60
+ vf_num:
+ description: Note that one virtual function will be reserved to the storage
+ network, in case of choosing iSER.
+ label: Number of virtual NICs
+ restrictions:
+ - settings:neutron_mellanox.plugin.value != 'ethernet'
+ type: text
+ value: '16'
+ weight: 70
+ opendaylight:
+ metadata:
+ chosen_id: 1
+ class: plugin
+ default: false
+ enabled: true
+ label: OpenDaylight plugin
+ toggleable: true
+ versions:
+ - enable_gbp:
+ label: GBP features
+ type: checkbox
+ value: false
+ weight: 14
+ enable_l3_odl:
+ label: Use ODL to manage L3 traffic
+ restrictions:
+ - networking_parameters:segmentation_type == 'vlan': Use tunneling segmentation
+ type.
+ - settings:public_network_assignment.assign_to_all_nodes.value == false: Assign
+ public network to all nodes
+ type: checkbox
+ value: false
+ weight: 12
+ enable_sfc:
+ label: SFC features
+ type: checkbox
+ value: false
+ weight: 13
+ metadata:
+ always_editable: false
+ odl_features:
+ default:
+ - config
+ - standard
+ - region
+ - package
+ - kar
+ - ssh
+ - management
+ gbp:
+ - odl-groupbasedpolicy-base
+ - odl-groupbasedpolicy-ofoverlay
+ ovs:
+ - odl-ovsdb-openstack
+ - odl-restconf-all
+ - odl-aaa-authn
+ - odl-dlux-all
+ sfc:
+ - odl-sfc-core
+ - odl-sfc-sb-rest
+ - odl-sfc-ui
+ - odl-sfc-netconf
+ - odl-sfc-ovs
+ - odl-sfcofl2
+ - odl-sfc-test-consumer
+ vpn:
+ - odl-vpnservice-api
+ - odl-vpnservice-impl
+ - odl-vpnservice-impl-rest
+ - odl-vpnservice-impl-ui
+ - odl-vpnservice-core
+ - odl-vpnservice-openstack
+ plugin_id: 1
+ plugin_version: 0.8.0
+ restrictions:
+ - cluster:net_provider != 'neutron': Only neutron is supported by OpenDaylight
+ rest_api_port:
+ description: Port on which ODL REST API will be available.
+ label: Port number
+ regex:
+ error: Invalid port number
+ source: ^([1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$
+ type: text
+ value: '8282'
+ weight: 40
+ weight: 70
+ provision:
+ metadata:
+ group: general
+ label: Provision
+ restrictions:
+ - action: hide
+ condition: 'true'
+ weight: 80
+ method:
+ type: hidden
+ value: image
+ public_network_assignment:
+ assign_to_all_nodes:
+ description: When disabled, public network will be assigned to controllers
+ only
+ label: Assign public network to all nodes
+ type: checkbox
+ value: false
+ weight: 10
+ metadata:
+ group: network
+ label: Public network assignment
+ restrictions:
+ - action: hide
+ condition: cluster:net_provider != 'neutron'
+ weight: 10
+ public_ssl:
+ cert_data:
+ description: Certificate and private key data, concatenated into a single
+ file
+ label: Certificate
+ restrictions:
+ - action: hide
+ condition: (settings:public_ssl.cert_source.value != 'user_uploaded') or
+ (settings:public_ssl.horizon.value == false and settings:public_ssl.services.value
+ == false)
+ type: file
+ value: ''
+ weight: 40
+ cert_source:
+ description: From where we'll get certificate and private key
+ label: Select source for certificate
+ restrictions:
+ - action: hide
+ condition: settings:public_ssl.horizon.value == false and settings:public_ssl.services.value
+ == false
+ type: radio
+ value: self_signed
+ values:
+ - data: self_signed
+ description: Generate private key and certificate that will be signed by
+ this key
+ label: Self-signed
+ - data: user_uploaded
+ description: Use pre-generated key and certificate
+ label: I have my own keypair with certificate
+ weight: 30
+ horizon:
+ description: Secure access to Horizon enabling HTTPS instead of HTTP
+ label: HTTPS for Horizon
+ restrictions:
+ - settings:public_ssl.services.value == false: TLS for OpenStack public endpoints
+ should be enabled
+ type: checkbox
+ value: true
+ weight: 20
+ hostname:
+ description: Your DNS entries should point to this name. Self-signed certificates
+ also will use this hostname
+ label: DNS hostname for public TLS endpoints
+ restrictions:
+ - action: hide
+ condition: settings:public_ssl.horizon.value == false and settings:public_ssl.services.value
+ == false
+ type: text
+ value: public.fuel.local
+ weight: 50
+ metadata:
+ group: security
+ label: Public TLS
+ weight: 110
+ services:
+ description: Enable TLS termination on HAProxy for OpenStack services
+ label: TLS for OpenStack public endpoints
+ type: checkbox
+ value: true
+ weight: 10
+ repo_setup:
+ metadata:
+ always_editable: true
+ group: general
+ label: Repositories
+ weight: 50
+ repos:
+ description: 'Please note: the first repository will be considered the operating
+ system mirror that will be used during node provisioning.
+
+ To create a local repository mirror on the Fuel master node, please follow
+ the instructions provided by running "fuel-createmirror --help" on the Fuel
+ master node.
+
+ Please make sure your Fuel master node has Internet access to the repository
+ before attempting to create a mirror.
+
+ For more details, please refer to the documentation (https://docs.mirantis.com/openstack/fuel/fuel-8.0/operations.html#external-ubuntu-ops).
+
+ '
+ extra_priority: null
+ type: custom_repo_configuration
+ value:
+ - name: ubuntu
+ priority: null
+ section: main universe multiverse
+ suite: trusty
+ type: deb
+ uri: http://ports.ubuntu.com/
+ - name: ubuntu-updates
+ priority: null
+ section: main universe multiverse
+ suite: trusty-updates
+ type: deb
+ uri: http://ports.ubuntu.com/
+ - name: ubuntu-security
+ priority: null
+ section: main universe multiverse
+ suite: trusty-security
+ type: deb
+ uri: http://ports.ubuntu.com/
+ - name: mos
+ priority: 1050
+ section: main restricted
+ suite: mos8.0
+ type: deb
+ uri: http://10.20.0.2:8080/liberty-8.0/ubuntu/x86_64
+ - name: mos-updates
+ priority: 1050
+ section: main restricted
+ suite: mos8.0-updates
+ type: deb
+ uri: http://linux.enea.com/mos-repos/ubuntu/8.0
+ - name: mos-security
+ priority: 1050
+ section: main restricted
+ suite: mos8.0-security
+ type: deb
+ uri: http://linux.enea.com/mos-repos/ubuntu/8.0
+ - name: mos-holdback
+ priority: 1100
+ section: main restricted
+ suite: mos8.0-holdback
+ type: deb
+ uri: http://linux.enea.com/mos-repos/ubuntu/8.0
+ - name: Auxiliary
+ priority: 1150
+ section: main restricted
+ suite: auxiliary
+ type: deb
+ uri: http://10.20.0.2:8080/liberty-8.0/ubuntu/auxiliary
+ storage:
+ ephemeral_ceph:
+ description: Configures Nova to store ephemeral volumes in RBD. This works
+ best if Ceph is enabled for volumes and images, too. Enables live migration
+ of all types of Ceph backed VMs (without this option, live migration will
+ only work with VMs launched from Cinder volumes).
+ label: Ceph RBD for ephemeral volumes (Nova)
+ type: checkbox
+ value: true
+ weight: 75
+ images_ceph:
+ description: Configures Glance to use the Ceph RBD backend to store images.
+ If enabled, this option will prevent Swift from installing.
+ label: Ceph RBD for images (Glance)
+ restrictions:
+ - settings:storage.images_vcenter.value == true: Only one Glance backend could
+ be selected.
+ type: checkbox
+ value: true
+ weight: 30
+ images_vcenter:
+ description: Configures Glance to use the vCenter/ESXi backend to store images.
+ If enabled, this option will prevent Swift from installing.
+ label: VMware vCenter/ESXi datastore for images (Glance)
+ restrictions:
+ - action: hide
+ condition: settings:common.use_vcenter.value != true
+ - condition: settings:storage.images_ceph.value == true
+ message: Only one Glance backend could be selected.
+ type: checkbox
+ value: false
+ weight: 35
+ iser:
+ description: 'High performance block storage: Cinder volumes over iSER protocol
+ (iSCSI over RDMA). This feature requires SR-IOV capabilities in the NIC,
+ and will use a dedicated virtual function for the storage network.'
+ label: iSER protocol for volumes (Cinder)
+ restrictions:
+ - settings:storage.volumes_lvm.value != true or settings:common.libvirt_type.value
+ != 'kvm'
+ - action: hide
+ condition: not ('experimental' in version:feature_groups)
+ type: checkbox
+ value: false
+ weight: 11
+ metadata:
+ group: storage
+ label: Storage Backends
+ weight: 60
+ objects_ceph:
+ description: Configures RadosGW front end for Ceph RBD. This exposes S3 and
+ Swift API Interfaces. If enabled, this option will prevent Swift from installing.
+ label: Ceph RadosGW for objects (Swift API)
+ type: checkbox
+ value: true
+ weight: 80
+ osd_pool_size:
+ description: Configures the default number of object replicas in Ceph. This
+ number must be equal to or lower than the number of deployed 'Storage -
+ Ceph OSD' nodes.
+ label: Ceph object replication factor
+ regex:
+ error: Invalid number
+ source: ^[1-9]\d*$
+ type: text
+ value: '3'
+ weight: 85
+ volumes_block_device:
+ description: High performance block device storage. It is recommended to have
+ at least one Storage - Cinder Block Device
+ label: Cinder Block device driver
+ restrictions:
+ - settings:storage.volumes_ceph.value == true
+ type: checkbox
+ value: false
+ weight: 15
+ volumes_ceph:
+ description: Configures Cinder to store volumes in Ceph RBD images.
+ label: Ceph RBD for volumes (Cinder)
+ restrictions:
+ - settings:storage.volumes_lvm.value == true or settings:storage.volumes_block_device.value
+ == true
+ type: checkbox
+ value: true
+ weight: 20
+ volumes_lvm:
+ description: It is recommended to have at least one Storage - Cinder LVM node.
+ label: Cinder LVM over iSCSI for volumes
+ restrictions:
+ - settings:storage.volumes_ceph.value == true
+ type: checkbox
+ value: false
+ weight: 10
+ syslog:
+ metadata:
+ enabled: false
+ group: logging
+ label: Syslog
+ toggleable: true
+ weight: 50
+ syslog_port:
+ description: Remote syslog port
+ label: Port
+ regex:
+ error: Invalid syslog port
+ source: ^([1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$
+ type: text
+ value: '514'
+ weight: 20
+ syslog_server:
+ description: Remote syslog hostname
+ label: Hostname
+ regex:
+ error: Invalid hostname
+ source: ^[a-zA-Z\d]+[-\.\da-zA-Z]*$
+ type: text
+ value: ''
+ weight: 10
+ syslog_transport:
+ label: Syslog transport protocol
+ type: radio
+ value: tcp
+ values:
+ - data: udp
+ description: ''
+ label: UDP
+ - data: tcp
+ description: ''
+ label: TCP
+ weight: 30
+ workloads_collector:
+ enabled:
+ type: hidden
+ value: true
+ metadata:
+ group: general
+ label: Workloads Collector User
+ restrictions:
+ - action: hide
+ condition: 'true'
+ weight: 10
+ password:
+ type: password
+ value: jgOV4m6sRbgFTvlf5SbwrayA
+ tenant:
+ type: text
+ value: services
+ user:
+ type: text
+ value: fuel_stats_user
diff --git a/ci/deploy/config/labs/enealab/armband-pod1/fuel/config/dha.yaml b/ci/deploy/config/labs/enealab/armband-pod1/fuel/config/dha.yaml
new file mode 100644
index 00000000..c11fda06
--- /dev/null
+++ b/ci/deploy/config/labs/enealab/armband-pod1/fuel/config/dha.yaml
@@ -0,0 +1,79 @@
+
+title: Deployment Hardware Adapter (DHA)
+# DHA API version supported
+version: 1.1
+created: Wed Mar 30 12:10:46 2016
+comment: Some comment
+
+# Adapter to use for this definition
+# adapter: [ipmi|libvirt]
+adapter:
+
+# Node list.
+# Mandatory properties are id and role.
+# All other properties are adapter specific.
+# For Non-Fuel nodes controlled by:
+# - ipmi adapter you need to provide:
+# pxeMac
+# ipmiIp
+# ipmiUser
+# ipmiPass
+# - libvirt adapter you need to provide:
+# libvirtName: <whatever>
+# libvirtTemplate: [libvirt/vms/controller.xml | libvirt/vms/compute.xml]
+#
+# For the Fuel Node you need to provide:
+# libvirtName: <whatever>
+# libvirtTemplate: libvirt/vms/fuel.xml
+# isFuel: yes
+# username: root
+# password: r00tme
+
+nodes:
+- id: 1
+ ipmiIp: null
+ ipmiPass: null
+ ipmiUser: null
+ libvirtName: null
+ libvirtTemplate: null
+ pxeMac: 00:01:73:02:3b:29
+- id: 2
+ ipmiIp: null
+ ipmiPass: null
+ ipmiUser: null
+ libvirtName: null
+ libvirtTemplate: null
+ pxeMac: 00:01:73:02:3a:dd
+- id: 3
+ ipmiIp: null
+ ipmiPass: null
+ ipmiUser: null
+ libvirtName: null
+ libvirtTemplate: null
+ pxeMac: 00:01:73:02:36:d5
+- id: 4
+ ipmiIp: null
+ ipmiPass: null
+ ipmiUser: null
+ libvirtName: null
+ libvirtTemplate: null
+ pxeMac: 68:05:ca:3d:93:14
+- id: 5
+ ipmiIp: null
+ ipmiPass: null
+ ipmiUser: null
+ libvirtName: null
+ libvirtTemplate: null
+ pxeMac: 68:05:ca:3a:de:0b
+# Adding the Fuel node as node id 6
+# which may not be correct - please adjust as needed.
+- id: 6
+ isFuel: true
+ libvirtName: null
+ libvirtTemplate: null
+ password: r00tme
+ username: root
+disks:
+ compute: 100G
+ controller: 100G
+ fuel: 100G
diff --git a/ci/deploy/templates/enea/armbandlab/vms/fuel.xml b/ci/deploy/templates/enea/armbandlab/vms/fuel.xml
new file mode 100644
index 00000000..cd6b4305
--- /dev/null
+++ b/ci/deploy/templates/enea/armbandlab/vms/fuel.xml
@@ -0,0 +1,77 @@
+<domain type='kvm' id='121'>
+ <name>fuel</name>
+ <memory unit='KiB'>8388608</memory>
+ <currentMemory unit='KiB'>8388608</currentMemory>
+ <vcpu placement='static'>4</vcpu>
+ <resource>
+ <partition>/machine</partition>
+ </resource>
+ <os>
+ <type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type>
+ <bootmenu enable='no'/>
+ </os>
+ <features>
+ <acpi/>
+ <apic/>
+ </features>
+ <cpu mode='host-model'>
+ <model fallback='allow'/>
+ </cpu>
+ <clock offset='utc'>
+ <timer name='rtc' tickpolicy='catchup'/>
+ <timer name='pit' tickpolicy='delay'/>
+ <timer name='hpet' present='no'/>
+ </clock>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>restart</on_crash>
+ <pm>
+ <suspend-to-mem enabled='no'/>
+ <suspend-to-disk enabled='no'/>
+ </pm>
+ <devices>
+ <emulator>/usr/libexec/qemu-kvm</emulator>
+ <disk type='block' device='cdrom'>
+ <driver name='qemu' type='raw'/>
+ <target dev='hdc' bus='ide'/>
+ <readonly/>
+ </disk>
+ <disk type='file' device='disk'>
+ <driver name='qemu' type='qcow2' cache='writeback'/>
+ <source file='fuel8.qcow2'/>
+ <target dev='vda' bus='virtio'/>
+ </disk>
+ <controller type='usb' index='0'>
+ </controller>
+ <controller type='pci' index='0' model='pci-root'/>
+ <interface type='bridge'>
+ <source bridge='admin_br0'/>
+ <target dev='vnet9'/>
+ <model type='virtio'/>
+ <alias name='net0'/>
+ </interface>
+ <interface type='bridge'>
+ <source bridge='public_br0'/>
+ <target dev='vnet10'/>
+ <model type='virtio'/>
+ <alias name='net1'/>
+ </interface>
+ <serial type='pty'>
+ <source path='/dev/pts/0'/>
+ <target port='0'/>
+ </serial>
+ <console type='pty' tty='/dev/pts/0'>
+ <source path='/dev/pts/0'/>
+ <target type='serial' port='0'/>
+ </console>
+ <input type='mouse' bus='ps2'/>
+ <input type='keyboard' bus='ps2'/>
+ <graphics type='spice' port='5906' autoport='yes' listen='127.0.0.1'>
+ <listen type='address' address='127.0.0.1'/>
+ </graphics>
+ <video>
+ <model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1'/>
+ </video>
+ <memballoon model='virtio'/>
+ </devices>
+</domain>