Added files for automatic deployment. 25/11725/1
authorJosep Puigdemont <josep.puigdemont@enea.com>
Thu, 31 Mar 2016 08:54:31 +0000 (10:54 +0200)
committerJosep Puigdemont <josep.puigdemont@enea.com>
Thu, 31 Mar 2016 08:55:51 +0000 (10:55 +0200)
Change-Id: If9a9bb03c3cbcb28c0d6fb218069c6db46d4d314
Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com>
ci/deploy/config/labs/enealab/armband-pod1/fuel/config/dea.yaml [new file with mode: 0644]
ci/deploy/config/labs/enealab/armband-pod1/fuel/config/dha.yaml [new file with mode: 0644]
ci/deploy/templates/enea/armbandlab/vms/fuel.xml [new file with mode: 0644]

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 (file)
index 0000000..d80c305
--- /dev/null
@@ -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 (file)
index 0000000..c11fda0
--- /dev/null
@@ -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 (file)
index 0000000..cd6b430
--- /dev/null
@@ -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>