Merge "Update ODL links in Foreman install docs"
authorTim Rozet <trozet@redhat.com>
Wed, 23 Sep 2015 20:54:07 +0000 (20:54 +0000)
committerGerrit Code Review <gerrit@172.30.200.206>
Wed, 23 Sep 2015 20:54:07 +0000 (20:54 +0000)
103 files changed:
common/ci/clean.sh
common/ci/setup.sh
common/puppet-opnfv/manifests/external_net_presetup.pp
foreman/ci/Vagrantfile
foreman/ci/deploy.sh
foreman/ci/opnfv_ksgen_settings.yml
foreman/ci/opnfv_ksgen_settings_no_HA.yml
foreman/ci/resize_lvm.sh [new file with mode: 0755]
foreman/ci/resize_partition.sh [new file with mode: 0755]
foreman/ci/vm_nodes_provision.sh
fuel/build/Makefile
fuel/build/cache.mk
fuel/build/config.mk
fuel/build/docker/ubuntu-builder/Dockerfile
fuel/build/f_isoroot/Makefile
fuel/build/f_isoroot/f_bootstrap/bootstrap_admin_node.sh
fuel/build/f_isoroot/f_bootstrap/bootstrap_admin_node.sh.orig
fuel/build/f_isoroot/f_bootstrap/post-scripts/03_install_repo.sh [new file with mode: 0644]
fuel/build/f_isoroot/f_kscfg/ks.cfg [changed mode: 0755->0644]
fuel/build/f_isoroot/f_kscfg/ks.cfg.orig
fuel/build/f_isoroot/f_predeployment/Makefile [deleted file]
fuel/build/f_isoroot/f_predeployment/README [deleted file]
fuel/build/f_isoroot/f_predeployment/pre-deploy.sh [deleted file]
fuel/build/f_isoroot/f_predeployment/sysinfo.sh [deleted file]
fuel/build/f_isoroot/f_predeployment/transform_yaml.py [deleted file]
fuel/build/f_isoroot/f_repobuild/Makefile [new file with mode: 0644]
fuel/build/f_l23network/Makefile [deleted file]
fuel/build/f_l23network/README [deleted file]
fuel/build/f_l23network/puppet/modules/l23network/lib/puppet/parser/functions/extras_to_hosts.rb [deleted file]
fuel/build/f_l23network/puppet/modules/l23network/manifests/hosts_file.pp [deleted file]
fuel/build/f_l23network/puppet/modules/l23network/manifests/hosts_file.pp.orig [deleted file]
fuel/build/f_l23network/testing/README [deleted file]
fuel/build/f_l23network/testing/fake_init.pp [deleted file]
fuel/build/f_ntp/Makefile [deleted file]
fuel/build/f_ntp/README [deleted file]
fuel/build/f_ntp/puppet/modules/opnfv/manifests/ntp.pp [deleted file]
fuel/build/f_ntp/puppet/modules/opnfv/templates/ntp.conf.compute.erb [deleted file]
fuel/build/f_ntp/puppet/modules/opnfv/templates/ntp.conf.controller.erb [deleted file]
fuel/build/f_ntp/testing/README [deleted file]
fuel/build/f_ntp/testing/fake_init.pp [deleted file]
fuel/build/f_opnfv_puppet/Makefile [deleted file]
fuel/build/f_opnfv_puppet/README [deleted file]
fuel/build/f_opnfv_puppet/puppet/modules/opnfv/manifests/add_packages.pp [deleted file]
fuel/build/f_opnfv_puppet/puppet/modules/opnfv/manifests/init.pp [deleted file]
fuel/build/f_opnfv_puppet/puppet/modules/opnfv/manifests/opncheck.pp [deleted file]
fuel/build/f_osnaily/Makefile [deleted file]
fuel/build/f_osnaily/puppet/modules/osnailyfacter/examples/site.pp [deleted file]
fuel/build/f_osnaily/puppet/modules/osnailyfacter/examples/site.pp.orig [deleted file]
fuel/build/f_resolvconf/Makefile [deleted file]
fuel/build/f_resolvconf/README [deleted file]
fuel/build/f_resolvconf/puppet/modules/opnfv/manifests/resolver.pp [deleted file]
fuel/build/f_resolvconf/puppet/modules/opnfv/templates/resolv.conf.erb [deleted file]
fuel/build/f_resolvconf/testing/README [deleted file]
fuel/build/f_resolvconf/testing/fake_init.pp [deleted file]
fuel/build/fuel-main_3.patch
fuel/build/fuel-main_5.patch [new file with mode: 0644]
fuel/build/install/apt-ftparchive-deb.conf
fuel/build/install/apt-ftparchive-release.conf
fuel/build/install/apt-ftparchive-udeb.conf
fuel/build/install/install.sh
fuel/build/install/uninstall.sh
fuel/build/patch-packages/Makefile
fuel/build/patch-packages/debootstrap/Makefile [deleted file]
fuel/build/patch-packages/debootstrap/debootstrap.patch [deleted file]
fuel/build/patch-packages/neutron-common/Makefile [deleted file]
fuel/build/patch-packages/neutron-common/quota.patch [deleted file]
fuel/build/patch-packages/novnc/Makefile [deleted file]
fuel/build/patch-packages/novnc/fix-missing.sh [deleted file]
fuel/ci/build.sh
fuel/deploy/cloud/configure_nodes.py
fuel/deploy/cloud/deploy.py
fuel/deploy/cloud/deployment.py
fuel/deploy/common.py
fuel/deploy/dea.py
fuel/deploy/deploy.py
fuel/deploy/deploy_env.py
fuel/deploy/install_fuel_master.py
fuel/deploy/reap.py
fuel/deploy/templates/hardware_environment/conf/ericsson_montreal_lab/dea.yaml [moved from fuel/deploy/templates/hardware_environment/conf/ericsson_montreal_lab/ha/dea.yaml with 98% similarity]
fuel/deploy/templates/hardware_environment/conf/ericsson_montreal_lab/dha.yaml [moved from fuel/deploy/templates/hardware_environment/conf/ericsson_montreal_lab/ha/dha.yaml with 95% similarity]
fuel/deploy/templates/hardware_environment/conf/linux_foundation_lab/pod1/dea.yaml [moved from fuel/deploy/templates/hardware_environment/conf/linux_foundation_lab/pod1/ha/dea.yaml with 97% similarity]
fuel/deploy/templates/hardware_environment/conf/linux_foundation_lab/pod1/dha.yaml [moved from fuel/deploy/templates/hardware_environment/conf/linux_foundation_lab/pod1/ha/dha.yaml with 100% similarity]
fuel/deploy/templates/hardware_environment/conf/linux_foundation_lab/pod2/dea.yaml [new file with mode: 0644]
fuel/deploy/templates/hardware_environment/conf/linux_foundation_lab/pod2/dha.yaml [moved from fuel/deploy/templates/hardware_environment/old_conf/linux_foundation_lab/pod2/ha/dha.yaml with 80% similarity]
fuel/deploy/templates/hardware_environment/conf/linux_foundation_lab/pod2/ha/dha.yaml [deleted file]
fuel/deploy/templates/hardware_environment/conf/opnfv_box/dea.yaml [moved from fuel/deploy/templates/hardware_environment/conf/linux_foundation_lab/pod2/ha/dea.yaml with 99% similarity]
fuel/deploy/templates/hardware_environment/conf/opnfv_box/dha.yaml [moved from fuel/deploy/templates/hardware_environment/old_conf/ericsson_montreal_lab/multinode/dha.yaml with 54% similarity]
fuel/deploy/templates/hardware_environment/old_conf/ericsson_montreal_lab/ha/dea.yaml [deleted file]
fuel/deploy/templates/hardware_environment/old_conf/ericsson_montreal_lab/ha/dha.yaml [deleted file]
fuel/deploy/templates/hardware_environment/old_conf/ericsson_montreal_lab/multinode/dea.yaml [deleted file]
fuel/deploy/templates/hardware_environment/old_conf/linux_foundation_lab/pod1/ha/dea.yaml [deleted file]
fuel/deploy/templates/hardware_environment/old_conf/linux_foundation_lab/pod1/ha/dha.yaml [deleted file]
fuel/deploy/templates/hardware_environment/old_conf/linux_foundation_lab/pod1/multinode/dea.yaml [deleted file]
fuel/deploy/templates/hardware_environment/old_conf/linux_foundation_lab/pod1/multinode/dha.yaml [deleted file]
fuel/deploy/templates/hardware_environment/old_conf/linux_foundation_lab/pod2/ha/dea.yaml [deleted file]
fuel/deploy/templates/hardware_environment/old_conf/linux_foundation_lab/pod2/multinode/dea.yaml [deleted file]
fuel/deploy/templates/hardware_environment/old_conf/linux_foundation_lab/pod2/multinode/dha.yaml [deleted file]
fuel/deploy/templates/virtual_environment/conf/dea.yaml [moved from fuel/deploy/templates/virtual_environment/conf/ha/dea.yaml with 98% similarity]
fuel/deploy/templates/virtual_environment/conf/dha.yaml [moved from fuel/deploy/templates/virtual_environment/conf/ha/dha.yaml with 95% similarity]
fuel/deploy/templates/virtual_environment/old_conf/ha/dea.yaml [deleted file]
fuel/deploy/templates/virtual_environment/old_conf/ha/dha.yaml [deleted file]
fuel/deploy/templates/virtual_environment/old_conf/multinode/dea.yaml [deleted file]
fuel/deploy/templates/virtual_environment/old_conf/multinode/dha.yaml [deleted file]

index da75205..caaf88f 100755 (executable)
@@ -239,8 +239,15 @@ done
 echo "${blue}Checking whether PXE bridge ${pxe_bridge} exists${reset}"
 if ! brctl show ${pxe_bridge} 2>&1 | grep -i 'No such device'; then
   echo "${blue}PXE bridge detected. Removing...${reset}"
-  if ifconfig | grep ${pxe_bridge}; then
-    ifdown ${pxe_bridge}
+  link_state=$(ip link show ${pxe_bridge} | grep -oP 'state \K[^ ]+')
+  if [[ ${link_state} != 'DOWN' ]]; then
+    ip link set dev ${pxe_bridge} down
+    sleep 5
+    link_state=$(ip link show ${pxe_bridge} | grep -oP 'state \K[^ ]+')
+    if [[ ${link_state} != 'DOWN' ]]; then
+      echo "${red}Could not bring DOWN bridge ${pxe_bridge} link state is ${link_state}${reset}"
+      exit 1
+    fi
   fi
   brctl delbr ${pxe_bridge}
   if ifconfig | grep ${pxe_bridge} || brctl show | grep ${pxe_bridge}; then
index 380ac4d..82fede4 100755 (executable)
@@ -10,7 +10,8 @@ reset=`tput sgr0`
 blue=`tput setaf 4`
 red=`tput setaf 1`
 green=`tput setaf 2`
-interface='enp7s0'
+private_interface='enp6s0'
+public_interface='enp8s0'
 pxe_bridge='pxebr'
 fuel_gw_ip='10.20.0.1/16'
 ##END VARS
@@ -100,26 +101,26 @@ check_interface() {
 }
 
 setup_pxe_bridge() {
-  #Check whether base interface exists
-  echo "${blue}Checking whether base interface ${interface} exists${reset}"
-  if ! ip link show ${interface}; then
-    echo "${red}Base interface ${interface} does not exists!${reset}"
+  #Check whether private interface exists
+  echo "${blue}Checking whether private interface ${private_interface} exists${reset}"
+  if ! ip link show ${private_interface}; then
+    echo "${red}Private interface ${private_interface} does not exists!${reset}"
     exit 1
   else
     echo "${green}OK!${reset}"
   fi
 
-  #Check whether base interface is UP
-  check_interface ${interface}
+  #Check whether private interface is UP
+  check_interface ${private_interface}
 
   pxe_vid=0
-  pxe_interface="${interface}.${pxe_vid}"
+  pxe_interface="${private_interface}.${pxe_vid}"
 
   #Check whether VLAN 0 (PXE) interface exists
   echo "${blue}Checking whether VLAN 0 (PXE) interface ${pxe_interface} exists${reset}"
   if ! ip link show ${pxe_interface}; then
     echo "${blue}Creating  VLAN 0 (PXE) interface ${pxe_interface}${reset}"
-    ip link add link ${interface} name ${pxe_interface} type vlan id ${pxe_vid}
+    ip link add link ${private_interface} name ${pxe_interface} type vlan id ${pxe_vid}
   else
     echo "${green}OK!${reset}"
   fi
@@ -165,6 +166,28 @@ setup_pxe_bridge() {
     echo "${green}OK!${reset}"
   fi
 }
+###check whether access to public network is granted
+check_access_enabled_to_public_network() {
+  #Check whether public interface exists
+  echo "${blue}Checking whether public interface ${public_interface} exists${reset}"
+  if ! ip link show ${public_interface}; then
+    echo "${red}Public interface ${public_interface} does not exists!${reset}"
+    exit 1
+  else
+    echo "${green}OK!${reset}"
+  fi
+
+  #Check whether public interface ${public_interface} is UP
+  check_interface ${public_interface}
+
+  echo "${blue}Checking whether access is granted to public network through interface ${public_interface}${reset}"
+  if ! sudo iptables -t nat -L POSTROUTING -v | grep "MASQUERADE.*${public_interface}.*anywhere.*anywhere"; then
+    echo "${blue}Enable access to public network through interface ${public_interface}${reset}"
+    iptables -t nat -A POSTROUTING -o ${public_interface} -j MASQUERADE
+  else
+    echo "${green}OK!${reset}"
+  fi
+}
 ##END FUNCTIONS
 
 main() {
@@ -173,6 +196,7 @@ main() {
   load_kvm_kernel_mod
   start_libvirtd_service
   setup_pxe_bridge
+  check_access_enabled_to_public_network
 }
 
 main "$@"
index 96038c0..f52b903 100644 (file)
@@ -24,13 +24,24 @@ class opnfv::external_net_presetup {
   $controllers_hostnames_array_str = $controllers_hostnames_array
   $controllers_hostnames_array = split($controllers_hostnames_array, ',')
 
+  if ($admin_network != '') and ($admin_network != 'false') {
+    $admin_nic = get_nic_from_network("$admin_network")
+    if $admin_nic == '' { fail('admin_nic was not found') }
+    #Disable defalute route on Admin network
+    file_line { 'disable-defroute-admin':
+      path => "/etc/sysconfig/network-scripts/ifcfg-$admin_nic",
+      line  => 'DEFROUTE=no',
+      match => '^DEFROUTE',
+    }
+  }
+
   #find public NIC
   $public_nic = get_nic_from_network("$public_network")
   $public_nic_ip = get_ip_from_nic("$public_nic")
   $public_nic_netmask = get_netmask_from_nic("$public_nic")
 
  if ($public_nic == '') or ($public_nic_ip == '') or ($public_nic == "br-ex") or ($public_nic == "br_ex") {
-  notify {"Skipping augeas, public_nic ${public_nic}, public_nic_ip ${public_nic_ip}":} 
+  notify {"Skipping augeas, public_nic ${public_nic}, public_nic_ip ${public_nic_ip}":}
 
   exec {'ovs-vsctl -t 10 -- --may-exist add-br br-ex':
        path         => ["/usr/sbin/", "/usr/bin/"],
index 5550976..c7dfc03 100644 (file)
@@ -80,10 +80,11 @@ Vagrant.configure(2) do |config|
   #   sudo apt-get update
   #   sudo apt-get install -y apache2
   # SHELL
-  
+
   config.ssh.username = 'root'
   config.ssh.password = 'vagrant'
   config.ssh.insert_key = 'true'
+  config.vm.provision :shell, path: "resize_partition.sh"
   config.vm.provision "ansible" do |ansible|
      ansible.playbook = "reload_playbook.yml"
   end
@@ -97,4 +98,5 @@ Vagrant.configure(2) do |config|
     config.vm.provision :shell, :inline => "systemctl stop dhcpd"
     config.vm.provision :shell, :inline => "systemctl disable dhcpd"
   end
+  config.vm.provision :shell, path: "resize_lvm.sh"
 end
index 29ad83c..6bf8f12 100755 (executable)
@@ -29,6 +29,8 @@ declare -A controllers_ip_arr
 declare -A admin_ip_arr
 declare -A public_ip_arr
 
+vagrant_box_dir=~/.vagrant.d/boxes/opnfv-VAGRANTSLASH-centos-7.0/1.0.0/virtualbox/
+vagrant_box_vmdk=box-disk1.vmdk
 vm_dir=/var/opt/opnfv
 script=`realpath $0`
 ##END VARS
@@ -53,6 +55,8 @@ Not applicable with -virtual.  Example: -private_nic em2"
 Can also be used with -virtual.  Example: -public_nic em3"
   echo -e "\n   -storage_nic : Baremetal NIC for the storage network.  Optional.  Not applicable with -virtual. \
 Private NIC will be used for storage if not specified. Example: -storage_nic em4"
+  echo -e "\n   -single_baremetal_nic : Baremetal NIC for the all in one network.  Optional.  Not applicable with -virtual. \
+Example: -single_baremetal_nic em1"
 }
 
 ##verify vm dir exists
@@ -298,6 +302,10 @@ parse_cmdline() {
                 shift 2
                 nic_arg_flag=1
             ;;
+        -single_baremetal_nic)
+                single_baremetal_nic=$2
+                shift 2
+            ;;
         *)
                 display_usage
                 exit 1
@@ -326,6 +334,11 @@ parse_cmdline() {
 
   ##Validate nic args
   if [[ $nic_arg_flag -eq 1 ]]; then
+    if [ ! -z "$single_baremetal_nic" ]; then
+      echo "${red}Please do not specify other nic types along with single_baremetal_nic!${reset}"
+      exit 1
+    fi
+
     if [ -z "$virtual" ]; then
       for nic_type in admin_nic private_nic public_nic; do
         eval "nic_value=\$$nic_type"
@@ -341,7 +354,7 @@ parse_cmdline() {
       done
     else
       ##if virtual only public_nic should be specified
-      for nic_type in admin_nic private_nic storage_nic; do
+      for nic_type in admin_nic private_nic storage_nic single_baremetal_nic; do
         eval "nic_value=\$$nic_type"
         if [ ! -z "$nic_value" ]; then
           echo "${red}$nic_type is not a valid argument using -virtual.  Please only specify public_nic!${reset}"
@@ -355,6 +368,12 @@ parse_cmdline() {
         exit 1
       fi
     fi
+  elif [ ! -z "$single_baremetal_nic" ]; then
+    interface_ip=$(find_ip $single_baremetal_nic)
+    if [ ! "$interface_ip" ]; then
+      echo "${red}Single Baremetal NIC: $single_baremetal_nic does not have an IP address! Exiting... ${reset}"
+      exit 1
+    fi
   fi
 }
 
@@ -505,11 +524,14 @@ configure_network() {
     fi
     nic_array=( $nic_list )
     output=$nic_list
+  elif [ ! -z "$single_baremetal_nic" ]; then
+    output=$single_baremetal_nic
   else
     echo "${blue}Detecting network configuration...${reset}"
     ##detect host 1 or 3 interface configuration
     #output=`ip link show | grep -E "^[0-9]" | grep -Ev ": lo|tun|virbr|vboxnet" | awk '{print $2}' | sed 's/://'`
-    output=`/bin/ls -l /sys/class/net | tail -n +2 | grep -v virtual | cut -d " " -f10`
+    #output=`/bin/ls -l /sys/class/net | tail -n +2 | grep -v virtual | cut -d " " -f10`
+    output=`/bin/ls -l /sys/class/net | tail -n +2 | grep -v virtual | awk {'print $9'}`
   fi
 
   if [ ! "$output" ]; then
@@ -570,62 +592,100 @@ configure_network() {
     sed -i 's/^.*eth_replace2.*$/  config.vm.network "public_network", ip: '\""$new_ip"\"', bridge: '\'"$interface"\'', netmask: '\""$subnet_mask"\"'/' Vagrantfile
     if_counter=1
   else
-    ##find number of interfaces with ip and substitute in VagrantFile
-    if_counter=0
-    for interface in ${output}; do
-
-      if [ "$if_counter" -ge 4 ]; then
-        break
-      fi
-      interface_ip=$(find_ip $interface)
+    if [ ! -z $single_baremetal_nic ]; then
+      interface_ip=$(find_ip $single_baremetal_nic)
       if [ ! "$interface_ip" ]; then
-        continue
+        echo "${red}Unable to determine IP address of $single_baremetal_nic. Exiting...${reset}"
+        exit 1
+      fi
+      subnet_mask=$(find_netmask $single_baremetal_nic)
+      public_subnet_mask=$subnet_mask
+      if ! verify_subnet_size $public_subnet_mask 50; then
+        echo "${red} Not enough IPs in subnet: $interface_ip $subnet_mask.  Need at least 50 IPs.  Please resize subnet! Exiting ${reset}"
+        exit 1
       fi
+
       new_ip=$(next_usable_ip $interface_ip)
       if [ ! "$new_ip" ]; then
-        continue
+        echo "${red}Unable to allocate new IP address: $interface_ip $subnet_mask Exiting...${reset}"
+        exit 1
       fi
-      interface_arr[$interface]=$if_counter
-      interface_ip_arr[$if_counter]=$new_ip
-      subnet_mask=$(find_netmask $interface)
-      if [ "$if_counter" -eq 0 ]; then
-        admin_subnet_mask=$subnet_mask
-        if ! verify_subnet_size $admin_subnet_mask 5; then
-          echo "${red} Not enough IPs in admin subnet: ${interface_ip_arr[$if_counter]} ${admin_subnet_mask}.  Need at least 5 IPs.  Please resize subnet! Exiting ${reset}"
-          exit 1
-        fi
 
-      elif [ "$if_counter" -eq 1 ]; then
-        private_subnet_mask=$subnet_mask
-        private_short_subnet_mask=$(find_short_netmask $interface)
+      this_default_gw=$(ip route | grep default | awk '{print $3}')
+      echo "${blue}Default Gateway: $this_default_gw ${reset}"
+      this_default_gw_interface=$(ip route get $this_default_gw | awk '{print $3}')
+      if [ "$this_default_gw_interface" != "$single_baremetal_nic" ]; then
+        echo "${red}Error: Your default gateway interface: $this_default_gw_interface does not \
+match the baremetal nic you provided: ${single_baremetal_nic}. Exiting...${reset}"
+        exit 1
+      fi
+      sed -i 's/^.*eth_replace0.*$/  config.vm.network "public_network", ip: '\""$new_ip"\"', bridge: '\'"$single_baremetal_nic"\'', netmask: '\""$subnet_mask"\"'/' Vagrantfile
+      interface_ip_arr[0]=$new_ip
+      interface_arr[$single_baremetal_nic]=0
+      admin_ip=$new_ip
+      admin_subnet_mask=$subnet_mask
+      public_short_subnet_mask=$(find_short_netmask $single_baremetal_nic)
+      if_counter=1
+    else
+      ##find number of interfaces with ip and substitute in VagrantFile
+      if_counter=0
+      for interface in ${output}; do
 
-        if ! verify_subnet_size $private_subnet_mask 15; then
-          echo "${red} Not enough IPs in private subnet: ${interface_ip_arr[$if_counter]} ${private_subnet_mask}.  Need at least 15 IPs.  Please resize subnet! Exiting ${reset}"
-          exit 1
+        if [ "$if_counter" -ge 4 ]; then
+          break
         fi
-      elif [ "$if_counter" -eq 2 ]; then
-        public_subnet_mask=$subnet_mask
-        public_short_subnet_mask=$(find_short_netmask $interface)
-
-        if ! verify_subnet_size $public_subnet_mask 25; then
-          echo "${red} Not enough IPs in public subnet: ${interface_ip_arr[$if_counter]} ${public_subnet_mask}.  Need at least 25 IPs.  Please resize subnet! Exiting ${reset}"
-          exit 1
+        interface_ip=$(find_ip $interface)
+        if [ ! "$interface_ip" ]; then
+          continue
         fi
-      elif [ "$if_counter" -eq 3 ]; then
-        storage_subnet_mask=$subnet_mask
+        new_ip=$(next_usable_ip $interface_ip)
+        if [ ! "$new_ip" ]; then
+          continue
+        fi
+        interface_arr[$interface]=$if_counter
+        interface_ip_arr[$if_counter]=$new_ip
+        subnet_mask=$(find_netmask $interface)
+        if [ "$if_counter" -eq 0 ]; then
+          admin_subnet_mask=$subnet_mask
+          admin_ip=$new_ip
+          if ! verify_subnet_size $admin_subnet_mask 5; then
+            echo "${red} Not enough IPs in admin subnet: ${interface_ip_arr[$if_counter]} ${admin_subnet_mask}.  Need at least 5 IPs.  Please resize subnet! Exiting ${reset}"
+            exit 1
+          fi
+
+        elif [ "$if_counter" -eq 1 ]; then
+          private_subnet_mask=$subnet_mask
+          private_short_subnet_mask=$(find_short_netmask $interface)
 
-        if ! verify_subnet_size $storage_subnet_mask 10; then
-          echo "${red} Not enough IPs in storage subnet: ${interface_ip_arr[$if_counter]} ${storage_subnet_mask}.  Need at least 10 IPs.  Please resize subnet! Exiting ${reset}"
+          if ! verify_subnet_size $private_subnet_mask 15; then
+            echo "${red} Not enough IPs in private subnet: ${interface_ip_arr[$if_counter]} ${private_subnet_mask}.  Need at least 15 IPs.  Please resize subnet! Exiting ${reset}"
+            exit 1
+          fi
+        elif [ "$if_counter" -eq 2 ]; then
+          public_subnet_mask=$subnet_mask
+          public_short_subnet_mask=$(find_short_netmask $interface)
+
+          if ! verify_subnet_size $public_subnet_mask 25; then
+            echo "${red} Not enough IPs in public subnet: ${interface_ip_arr[$if_counter]} ${public_subnet_mask}.  Need at least 25 IPs.  Please resize subnet! Exiting ${reset}"
+            exit 1
+          fi
+        elif [ "$if_counter" -eq 3 ]; then
+          storage_subnet_mask=$subnet_mask
+
+          if ! verify_subnet_size $storage_subnet_mask 10; then
+            echo "${red} Not enough IPs in storage subnet: ${interface_ip_arr[$if_counter]} ${storage_subnet_mask}.  Need at least 10 IPs.  Please resize subnet! Exiting ${reset}"
+            exit 1
+          fi
+        else
+          echo "${red}ERROR: interface counter outside valid range of 0 to 3: $if_counter ! ${reset}"
           exit 1
         fi
-      else
-        echo "${red}ERROR: interface counter outside valid range of 0 to 3: $if_counter ! ${reset}"
-        exit 1
-      fi
-      sed -i 's/^.*eth_replace'"$if_counter"'.*$/  config.vm.network "public_network", ip: '\""$new_ip"\"', bridge: '\'"$interface"\'', netmask: '\""$subnet_mask"\"'/' Vagrantfile
-      ((if_counter++))
-    done
+        sed -i 's/^.*eth_replace'"$if_counter"'.*$/  config.vm.network "public_network", ip: '\""$new_ip"\"', bridge: '\'"$interface"\'', netmask: '\""$subnet_mask"\"'/' Vagrantfile
+        ((if_counter++))
+      done
+    fi
   fi
+
   ##now remove interface config in Vagrantfile for 1 node
   ##if 1, 3, or 4 interfaces set deployment type
   ##if 2 interfaces remove 2nd interface and set deployment type
@@ -645,6 +705,12 @@ configure_network() {
       sed -i 's/^.*eth_replace0.*$/  config.vm.network "private_network", virtualbox__intnet: "my_admin_network", ip: '\""$admin_internal_ip"\"', netmask: '\""$private_subnet_mask"\"'/' Vagrantfile
       remove_vagrant_network eth_replace3
       deployment_type=three_network
+    elif [[ "$if_counter" == 1 ]]; then
+       echo "${blue}Single network detected for Baremetal deployment! ${reset}"
+       remove_vagrant_network eth_replace1
+       remove_vagrant_network eth_replace2
+       remove_vagrant_network eth_replace3
+       deployment_type="single_network"
     else
        echo "${blue}Single network or 2 network detected for baremetal deployment.  This is unsupported! Exiting. ${reset}"
        exit 1
@@ -703,7 +769,7 @@ configure_network() {
         sed -i 's/^.*nat_flag =.*$/  nat_flag = true/' Vagrantfile
         echo "${blue}Setting node gateway to be VM Admin IP${reset}"
         node_default_gw=${interface_ip_arr[0]}
-        public_gateway=$default_gw
+        public_gateway=$host_default_gw
         ;;
       3)
         echo "${red}Default Gateway Detected on Storage Interface!${reset}"
@@ -763,40 +829,79 @@ configure_network() {
     ##private interface will be of hosts, so we need to know the provisioned host interface name
     ##we add biosdevname=0, net.ifnames=0 to the kickstart to use regular interface naming convention on hosts
     ##replace IP for parameters with next IP that will be given to controller
-    if [ "$deployment_type" == "single_network" ]; then
-      ##we also need to assign IP addresses to nodes
-      ##for single node, foreman is managing the single network, so we can't reserve them
-      ##not supporting single network anymore for now
-      echo "{blue}Single Network type is unsupported right now.  Please check your interface configuration.  Exiting. ${reset}"
-      exit 0
 
-    elif [[ "$deployment_type" == "multi_network" || "$deployment_type" == "three_network" ]]; then
+    if [[ "$deployment_type" == "single_network" || "$deployment_type" == "multi_network" || "$deployment_type" == "three_network" ]]; then
 
       if [ "$deployment_type" == "three_network" ]; then
         sed -i 's/^.*network_type:.*$/network_type: three_network/' opnfv_ksgen_settings.yml
+      elif [ "$deployment_type" == "single_network" ]; then
+        sed -i 's/^.*network_type:.*$/network_type: single_network/' opnfv_ksgen_settings.yml
+        next_single_ip=${interface_ip_arr[0]}
+        foreman_ip=$next_single_ip
+        next_single_ip=$(next_usable_ip $next_single_ip)
       fi
 
       sed -i 's/^.*deployment_type:.*$/  deployment_type: '"$deployment_type"'/' opnfv_ksgen_settings.yml
 
       ##get ip addresses for private network on controllers to make dhcp entries
       ##required for controllers_ip_array global param
-      next_private_ip=${interface_ip_arr[1]}
-      type=_private
-      control_count=0
-      for node in controller1 controller2 controller3; do
-        next_private_ip=$(next_usable_ip $next_private_ip)
-        if [ ! "$next_private_ip" ]; then
-          printf '%s\n' 'deploy.sh: Unable to find next ip for private network for control nodes' >&2
-          exit 1
-        fi
-        sed -i 's/'"$node$type"'/'"$next_private_ip"'/g' opnfv_ksgen_settings.yml
-        controller_ip_array=$controller_ip_array$next_private_ip,
-        controllers_ip_arr[$control_count]=$next_private_ip
-        ((control_count++))
-      done
+      if [ "$deployment_type" == "single_network" ]; then
+        next_private_ip=$next_single_ip
+        sed -i 's/^.*no_dhcp:.*$/no_dhcp: true/' opnfv_ksgen_settings.yml
+        nodes=`sed -nr '/nodes:/{:start /workaround/!{N;b start};//p}' opnfv_ksgen_settings.yml | sed -n '/^  [A-Za-z0-9]\+:$/p' | sed 's/\s*//g' | sed 's/://g'`
+        compute_nodes=`echo $nodes | tr " " "\n" | grep -v controller | tr "\n" " "`
+        controller_nodes=`echo $nodes | tr " " "\n" | grep controller | tr "\n" " "`
+        nodes=${controller_nodes}${compute_nodes}
+        next_admin_ip=${interface_ip_arr[0]}
+        type1=_admin
+        type2=_private
+        control_count=0
+        for node in ${controller_nodes}; do
+          next_private_ip=$(next_usable_ip $next_private_ip)
+          if [ ! "$next_private_ip" ]; then
+            echo "${red} Unable to find an unused IP for $node ! ${reset}"
+            exit 1
+          else
+            sed -i 's/'"$node$type1"'/'"$next_private_ip"'/g' opnfv_ksgen_settings.yml
+            sed -i 's/'"$node$type2"'/'"$next_private_ip"'/g' opnfv_ksgen_settings.yml
+            controller_ip_array=$controller_ip_array$next_private_ip,
+            controllers_ip_arr[$control_count]=$next_private_ip
+            ((control_count++))
+          fi
+        done
 
-      next_public_ip=${interface_ip_arr[2]}
-      foreman_ip=$next_public_ip
+        for node in ${compute_nodes}; do
+          next_private_ip=$(next_usable_ip $next_private_ip)
+          if [ ! "$next_private_ip" ]; then
+            echo "${red} Unable to find an unused IP for $node ! ${reset}"
+            exit 1
+          else
+            sed -i 's/'"$node$type1"'/'"$next_private_ip"'/g' opnfv_ksgen_settings.yml
+          fi
+        done
+
+      else
+        next_private_ip=${interface_ip_arr[1]}
+
+        type=_private
+        control_count=0
+        for node in controller1 controller2 controller3; do
+          next_private_ip=$(next_usable_ip $next_private_ip)
+          if [ ! "$next_private_ip" ]; then
+            printf '%s\n' 'deploy.sh: Unable to find next ip for private network for control nodes' >&2
+            exit 1
+          fi
+          sed -i 's/'"$node$type"'/'"$next_private_ip"'/g' opnfv_ksgen_settings.yml
+          controller_ip_array=$controller_ip_array$next_private_ip,
+          controllers_ip_arr[$control_count]=$next_private_ip
+          ((control_count++))
+        done
+      fi
+
+      if [[ "$deployment_type" != "single_network" ]]; then
+        next_public_ip=${interface_ip_arr[2]}
+        foreman_ip=$next_public_ip
+      fi
 
       ##if no dhcp, find all the Admin IPs for nodes in advance
       if [ $virtual ]; then
@@ -862,11 +967,17 @@ configure_network() {
       ##replace foreman site
       sed -i 's/^.*foreman_url:.*$/  foreman_url:'" https:\/\/$foreman_ip"'\/api\/v2\//' opnfv_ksgen_settings.yml
       ##replace public vips
-      ##no need to do this if no dhcp
-      if [[ -z "$enable_virtual_dhcp" && ! -z "$virtual" ]]; then
-        next_public_ip=$(next_usable_ip $next_public_ip)
+
+      ##if single_network deployment we continue next_public_ip from next_private_ip
+      if [[ "$deployment_type" == "single_network" ]]; then
+        next_public_ip=$(next_usable_ip $next_private_ip)
       else
-        next_public_ip=$(increment_ip $next_public_ip 10)
+        ##no need to do this if no dhcp
+        if [[ -z "$enable_virtual_dhcp" && ! -z "$virtual" ]]; then
+          next_public_ip=$(next_usable_ip $next_public_ip)
+        else
+          next_public_ip=$(increment_ip $next_public_ip 10)
+        fi
       fi
 
       public_output=$(grep -E '*public_vip' opnfv_ksgen_settings.yml)
@@ -884,14 +995,28 @@ configure_network() {
         done <<< "$public_output"
       fi
 
+      ##replace admin_network param for bare metal deployments
+      if [[ -z "$virtual" && -z "$single_network" ]]; then
+        admin_subnet=$(find_subnet $admin_ip $admin_subnet_mask)
+        sed -i 's/^.*admin_network:.*$/  admin_network:'" $admin_subnet"'/' opnfv_ksgen_settings.yml
+      else
+        sed -i 's/^.*admin_network:.*$/  admin_network:'" \"false\""'/' opnfv_ksgen_settings.yml
+      fi
       ##replace public_network param
       public_subnet=$(find_subnet $next_public_ip $public_subnet_mask)
       sed -i 's/^.*public_network:.*$/  public_network:'" $public_subnet"'/' opnfv_ksgen_settings.yml
-      ##replace private_network param
-      private_subnet=$(find_subnet $next_private_ip $private_subnet_mask)
-      sed -i 's/^.*private_network:.*$/  private_network:'" $private_subnet"'/' opnfv_ksgen_settings.yml
+      if [ "$deployment_type" == "single_network" ]; then
+        sed -i 's/^.*private_network:.*$/  private_network:'" $public_subnet"'/' opnfv_ksgen_settings.yml
+      else
+        ##replace private_network param
+        private_subnet=$(find_subnet $next_private_ip $private_subnet_mask)
+        sed -i 's/^.*private_network:.*$/  private_network:'" $private_subnet"'/' opnfv_ksgen_settings.yml
+      fi
+
       ##replace storage_network
-      if [ "$deployment_type" == "three_network" ]; then
+      if [ "$deployment_type" == "single_network" ]; then
+        sed -i 's/^.*storage_network:.*$/  storage_network:'" $public_subnet"'/' opnfv_ksgen_settings.yml
+      elif [ "$deployment_type" == "three_network" ]; then
         sed -i 's/^.*storage_network:.*$/  storage_network:'" $private_subnet"'/' opnfv_ksgen_settings.yml
       else
         next_storage_ip=${interface_ip_arr[3]}
@@ -902,18 +1027,30 @@ configure_network() {
       ##replace public_subnet param
       public_subnet=$public_subnet'\'$public_short_subnet_mask
       sed -i 's/^.*public_subnet:.*$/  public_subnet:'" $public_subnet"'/' opnfv_ksgen_settings.yml
-      ##replace private_subnet param
-      private_subnet=$private_subnet'\'$private_short_subnet_mask
-      sed -i 's/^.*private_subnet:.*$/  private_subnet:'" $private_subnet"'/' opnfv_ksgen_settings.yml
+      if [ "$deployment_type" == "single_network" ]; then
+        sed -i 's/^.*private_subnet:.*$/  private_subnet:'" $public_subnet"'/' opnfv_ksgen_settings.yml
+      else
+        ##replace private_subnet param
+        private_subnet=$private_subnet'\'$private_short_subnet_mask
+        sed -i 's/^.*private_subnet:.*$/  private_subnet:'" $private_subnet"'/' opnfv_ksgen_settings.yml
+      fi
 
       ##replace public_dns param to be foreman server
-      sed -i 's/^.*public_dns:.*$/  public_dns: '${interface_ip_arr[2]}'/' opnfv_ksgen_settings.yml
+      if [ "$deployment_type" == "single_network" ]; then
+        sed -i 's/^.*public_dns:.*$/  public_dns: '${interface_ip_arr[0]}'/' opnfv_ksgen_settings.yml
+      else
+        sed -i 's/^.*public_dns:.*$/  public_dns: '${interface_ip_arr[2]}'/' opnfv_ksgen_settings.yml
+      fi
 
       ##replace public_gateway
       if [ -z "$public_gateway" ]; then
-        ##if unset then we assume its the first IP in the public subnet
-        public_subnet=$(find_subnet $next_public_ip $public_subnet_mask)
-        public_gateway=$(increment_subnet $public_subnet 1)
+        if [ "$deployment_type" == "single_network" ]; then
+          public_gateway=$node_default_gw
+        else
+          ##if unset then we assume its the first IP in the public subnet
+          public_subnet=$(find_subnet $next_public_ip $public_subnet_mask)
+          public_gateway=$(increment_subnet $public_subnet 1)
+        fi
       fi
       sed -i 's/^.*public_gateway:.*$/  public_gateway:'" $public_gateway"'/' opnfv_ksgen_settings.yml
 
@@ -1023,6 +1160,19 @@ start_virtual_nodes() {
       node_type=config_nodes_${node}_type
       node_type=$(eval echo \$$node_type)
 
+      ##modify memory and cpu
+      node_memory=$(eval echo \${config_nodes_${node}_memory})
+      node_vcpus=$(eval echo \${config_nodes_${node}_cpus})
+      node_storage=$(eval echo \${config_nodes_${node}_disk})
+
+      sed -i 's/^.*vb.memory =.*$/     vb.memory = '"$node_memory"'/' Vagrantfile
+      sed -i 's/^.*vb.cpus =.*$/     vb.cpus = '"$node_vcpus"'/' Vagrantfile
+
+      if ! resize_vagrant_disk $node_storage; then
+        echo "${red}Error while resizing vagrant box to size $node_storage for $node! ${reset}"
+        exit 1
+      fi
+
       ##trozet test make compute nodes wait 20 minutes
       if [ "$compute_wait_completed" = false ] && [ "$node_type" != "controller" ]; then
         echo "${blue}Waiting 20 minutes for Control nodes to install before continuing with Compute nodes..."
@@ -1091,8 +1241,12 @@ start_virtual_nodes() {
 
       ##modify provisioning to do puppet install, config, and foreman check-in
       ##substitute host_name and dns_server in the provisioning script
-      host_string=config_nodes_${node}_hostname
-      host_name=$(eval echo \$$host_string)
+      host_string=config_nodes_${node}_short_name
+      short_host_name=$(eval echo \$$host_string)
+      ##substitute domain_name
+      domain_name=$config_domain_name
+      sed -i 's/^domain_name=REPLACE/domain_name='$domain_name'/' vm_nodes_provision.sh
+      host_name=${short_host_name}.${domain_name}
       sed -i 's/^host_name=REPLACE/host_name='$host_name'/' vm_nodes_provision.sh
       ##dns server should be the foreman server
       sed -i 's/^dns_server=REPLACE/dns_server='${interface_ip_arr[0]}'/' vm_nodes_provision.sh
@@ -1101,11 +1255,6 @@ start_virtual_nodes() {
       sed -i 's/bootstrap.sh/vm_nodes_provision.sh/' Vagrantfile
       ## modify default_gw to be node_default_gw
       sed -i 's/^.*default_gw =.*$/  default_gw = '\""$node_default_gw"\"'/' Vagrantfile
-      ## modify VM memory to be 4gig
-      ##if node type is controller
-      if [ "$node_type" == "controller" ]; then
-        sed -i 's/^.*vb.memory =.*$/     vb.memory = 4096/' Vagrantfile
-      fi
       echo "${blue}Starting Vagrant Node $node! ${reset}"
       ##stand up vagrant
       if ! vagrant up; then
@@ -1226,6 +1375,77 @@ check_baremetal_nodes() {
   fi
 }
 
+##resizes vagrant disk (cannot shrink)
+##params: size in GB
+##usage: resize_vagrant_disk 100
+resize_vagrant_disk() {
+  if [[ "$1" < 40 ]]; then
+    echo "${blue}Warn: Requested disk size cannot be less than 40, using 40 as new size${reset}"
+    new_size_gb=40
+  else
+    new_size_gb=$1
+  fi
+
+  if ! vagrant box list | grep opnfv; then
+    vagrant box remove -f opnfv/centos-7.0
+    if ! vagrant box add opnfv/centos-7.0 --provider virtualbox; then
+      echo "${red}Unable to reclone vagrant box! Exiting...${reset}"
+      exit 1
+    fi
+  fi
+
+  pushd $vagrant_box_dir
+
+  # Close medium to make sure we can modify it
+  vboxmanage closemedium disk $vagrant_box_vmdk
+
+  cur_size=$(vboxmanage showhdinfo $vagrant_box_vmdk | grep -i capacity | grep -Eo [0-9]+)
+  cur_size_gb=$((cur_size / 1024))
+
+  if [ "$cur_size_gb" -eq "$new_size_gb" ]; then
+    echo "${blue}Info: Disk size already ${cur_size_gb} ${reset}"
+    popd
+    return
+  elif [[ "$new_size_gb" < "$cur_size_gb" ]] ; then
+    echo "${blue}Info: Requested disk is less than ${cur_size_gb} ${reset}"
+    echo "${blue}Re-adding vagrant box${reset}"
+    if vagrant box list | grep opnfv; then
+      popd
+      vagrant box remove -f opnfv/centos-7.0
+      if ! vagrant box add opnfv/centos-7.0 --provider virtualbox; then
+        echo "${red}Unable to reclone vagrant box! Exiting...${reset}"
+        exit 1
+      fi
+      pushd $vagrant_box_dir
+    fi
+  fi
+
+  new_size=$((new_size_gb * 1024))
+  if ! vboxmanage clonehd $vagrant_box_vmdk tmp-disk.vdi --format vdi; then
+    echo "${red}Error: Unable to clone ${vagrant_box_vmdk}${reset}"
+    popd
+    return 1
+  fi
+
+  if ! vboxmanage modifyhd tmp-disk.vdi --resize $new_size; then
+    echo "${red}Error: Unable modify tmp-disk.vdi to ${new_size}${reset}"
+    popd
+    return 1
+  fi
+
+  if  ! vboxmanage clonehd tmp-disk.vdi resized-disk.vmdk --format vmdk; then
+    echo "${red}Error: Unable clone tmp-disk.vdi to vmdk${reset}"
+    popd
+    return 1
+  fi
+
+  vboxmanage closemedium disk tmp-disk.vdi --delete
+  rm -f tmp-disk.vdi $vagrant_box_vmdk
+  cp -f resized-disk.vmdk $vagrant_box_vmdk
+  vboxmanage closemedium disk resized-disk.vmdk --delete
+  popd
+}
+
 ##END FUNCTIONS
 
 main() {
index b41a41b..2859616 100644 (file)
@@ -7,6 +7,7 @@ global_params:
   controllers_hostnames_array: oscontroller1,oscontroller2,oscontroller3
   controllers_ip_array:
   amqp_vip:
+  admin_network:
   private_subnet:
   cinder_admin_vip:
   cinder_private_vip:
@@ -45,6 +46,7 @@ global_params:
 network_type: multi_network
 default_gw:
 no_dhcp: false
+domain_name: opnfv.com
 foreman:
   seed_values:
     - { name: heat_cfn, oldvalue: true, newvalue: false }
@@ -100,8 +102,8 @@ workaround_vif_plugging: false
 openstack_packstack_rpm: http://REPLACE_ME/brewroot/packages/openstack-puppet-modules/2013.2/9.el6ost/noarch/openstack-puppet-modules-2013.2-9.el6ost.noarch.rpm
 nodes:
   compute:
-    name: oscompute11.opnfv.com
-    hostname: oscompute11.opnfv.com
+    name: oscompute11.{{ domain_name }}
+    hostname: oscompute11.{{ domain_name }}
     short_name: oscompute11
     type: compute
     host_type: baremetal
@@ -114,6 +116,9 @@ nodes:
     admin_ip: compute_admin
     ansible_ssh_pass: "Op3nStack"
     admin_password: ""
+    cpus: 2
+    memory: 2048
+    disk: 40
     groups:
     - compute
     - foreman_nodes
@@ -121,8 +126,8 @@ nodes:
     - rdo
     - neutron
   controller1:
-    name: oscontroller1.opnfv.com
-    hostname: oscontroller1.opnfv.com
+    name: oscontroller1.{{ domain_name }}
+    hostname: oscontroller1.{{ domain_name }}
     short_name: oscontroller1
     type: controller
     host_type: baremetal
@@ -137,6 +142,9 @@ nodes:
     private_mac: "10:23:45:67:87:AC"
     ansible_ssh_pass: "Op3nStack"
     admin_password: "octopus"
+    cpus: 2
+    memory: 4096
+    disk: 40
     groups:
     - controller
     - foreman_nodes
@@ -144,8 +152,8 @@ nodes:
     - rdo
     - neutron
   controller2:
-    name: oscontroller2.opnfv.com
-    hostname: oscontroller2.opnfv.com
+    name: oscontroller2.{{ domain_name }}
+    hostname: oscontroller2.{{ domain_name }}
     short_name: oscontroller2
     type: controller
     host_type: baremetal
@@ -160,6 +168,9 @@ nodes:
     private_mac: "10:23:45:67:87:AD"
     ansible_ssh_pass: "Op3nStack"
     admin_password: "octopus"
+    cpus: 2
+    memory: 4096
+    disk: 40
     groups:
     - controller
     - foreman_nodes
@@ -167,8 +178,8 @@ nodes:
     - rdo
     - neutron
   controller3:
-    name: oscontroller3.opnfv.com
-    hostname: oscontroller3.opnfv.com
+    name: oscontroller3.{{ domain_name }}
+    hostname: oscontroller3.{{ domain_name }}
     short_name: oscontroller3
     type: controller
     host_type: baremetal
@@ -183,6 +194,9 @@ nodes:
     private_mac: "10:23:45:67:87:AE"
     ansible_ssh_pass: "Op3nStack"
     admin_password: "octopus"
+    cpus: 2
+    memory: 4096
+    disk: 40
     groups:
     - controller
     - foreman_nodes
index 79db257..3066038 100644 (file)
@@ -3,6 +3,7 @@ global_params:
   ha_flag: "false"
   odl_flag: "true"
   odl_control_ip:
+  admin_network:
   private_network:
   storage_network:
   public_network:
@@ -12,6 +13,7 @@ global_params:
 network_type: multi_network
 default_gw:
 no_dhcp: false
+domain_name: opnfv.com
 foreman:
   seed_values:
     - { name: heat_cfn, oldvalue: true, newvalue: false }
@@ -67,8 +69,8 @@ workaround_vif_plugging: false
 openstack_packstack_rpm: http://REPLACE_ME/brewroot/packages/openstack-puppet-modules/2013.2/9.el6ost/noarch/openstack-puppet-modules-2013.2-9.el6ost.noarch.rpm
 nodes:
   compute:
-    name: oscompute11.opnfv.com
-    hostname: oscompute11.opnfv.com
+    name: oscompute11.{{ domain_name }}
+    hostname: oscompute11.{{ domain_name }}
     short_name: oscompute11
     type: compute
     host_type: baremetal
@@ -81,6 +83,9 @@ nodes:
     admin_ip: compute_admin
     ansible_ssh_pass: "Op3nStack"
     admin_password: ""
+    cpus: 2
+    memory: 2048
+    disk: 40
     groups:
     - compute
     - foreman_nodes
@@ -88,8 +93,8 @@ nodes:
     - rdo
     - neutron
   controller1:
-    name: oscontroller1.opnfv.com
-    hostname: oscontroller1.opnfv.com
+    name: oscontroller1.{{ domain_name }}
+    hostname: oscontroller1.{{ domain_name }}
     short_name: oscontroller1
     type: controller
     host_type: baremetal
@@ -104,6 +109,9 @@ nodes:
     private_mac: "10:23:45:67:87:AC"
     ansible_ssh_pass: "Op3nStack"
     admin_password: "octopus"
+    cpus: 2
+    memory: 4096
+    disk: 40
     groups:
     - controller
     - foreman_nodes
diff --git a/foreman/ci/resize_lvm.sh b/foreman/ci/resize_lvm.sh
new file mode 100755 (executable)
index 0000000..64a9c62
--- /dev/null
@@ -0,0 +1,37 @@
+#!/usr/bin/env bash
+
+#script for resizing volumes in Foreman/QuickStack VM
+#author: Tim Rozet (trozet@redhat.com)
+#
+#Uses Vagrant and VirtualBox
+#VagrantFile uses resize_partition.sh
+#
+#Pre-requisties:
+#Vagrant box disk size already resized
+#Partition already resized
+
+##VARS
+reset=`tput sgr0`
+blue=`tput setaf 4`
+red=`tput setaf 1`
+green=`tput setaf 2`
+
+##END VARS
+
+echo "${blue}Resizing physical volume${reset}"
+if ! pvresize /dev/sda2; then
+  echo "${red}Unable to resize physical volume${reset}"
+  exit 1
+else
+  new_part_size=`pvdisplay | grep -Eo "PV Size\s*[0-9]+\." | awk {'print $3'} | tr -d .`
+  echo "${blue}New physical volume size: ${new_part_size}${reset}"
+fi
+
+echo "${blue}Resizing logical volume${reset}"
+if ! lvextend /dev/mapper/centos-root -r -l +100%FREE; then
+  echo "${red}Unable to resize logical volume${reset}"
+  exit 1
+else
+  new_fs_size=`df -h | grep centos-root | awk '{print $2}'`
+  echo "${blue}Filesystem resized to: ${new_fs_size}${reset}"
+fi
diff --git a/foreman/ci/resize_partition.sh b/foreman/ci/resize_partition.sh
new file mode 100755 (executable)
index 0000000..4c5581d
--- /dev/null
@@ -0,0 +1,33 @@
+#!/usr/bin/env bash
+
+#script for extending disk partition in Foreman/QuickStack VM
+#author: Tim Rozet (trozet@redhat.com)
+#
+#Uses Vagrant and VirtualBox
+#VagrantFile uses resize_partition.sh
+#
+#Pre-requisties:
+#Vagrant box disk size already resized
+
+##VARS
+reset=`tput sgr0`
+blue=`tput setaf 4`
+red=`tput setaf 1`
+green=`tput setaf 2`
+
+##END VARS
+
+echo "${blue}Extending partition...${reset}"
+echo "d
+2
+n
+p
+
+
+
+p
+t
+2
+8e
+w
+"|fdisk /dev/sda; true
index e64c0ad..ef2b325 100755 (executable)
@@ -19,6 +19,7 @@ green=`tput setaf 2`
 host_name=REPLACE
 dns_server=REPLACE
 host_ip=REPLACE
+domain_name=REPLACE
 ##END VARS
 
 ##set hostname
@@ -35,7 +36,7 @@ fi
 ##modify /etc/resolv.conf to point to foreman
 echo "${blue} Configuring resolv.conf with DNS: $dns_server ${reset}"
 cat > /etc/resolv.conf << EOF
-search ci.com opnfv.com
+search $domain_name
 nameserver $dns_server
 nameserver 8.8.8.8
 
@@ -94,10 +95,10 @@ pluginsync      = true
 report          = true
 ignoreschedules = true
 daemon          = false
-ca_server       = foreman-server.opnfv.com
+ca_server       = foreman-server.$domain_name
 certname        = $host_name
 environment     = production
-server          = foreman-server.opnfv.com
+server          = foreman-server.$domain_name
 runinterval     = 600
 
 EOF
@@ -105,13 +106,13 @@ EOF
 # Setup puppet to run on system reboot
 /sbin/chkconfig --level 345 puppet on
 
-/usr/bin/puppet agent --config /etc/puppet/puppet.conf -o --tags no_such_tag --server foreman-server.opnfv.com --no-daemonize
+/usr/bin/puppet agent --config /etc/puppet/puppet.conf -o --tags no_such_tag --server foreman-server.$domain_name --no-daemonize
 
 sync
 
 # Inform the build system that we are done.
 echo "Informing Foreman that we are built"
-wget -q -O /dev/null --no-check-certificate http://foreman-server.opnfv.com:80/unattended/built
+wget -q -O /dev/null --no-check-certificate http://foreman-server.$domain_name:80/unattended/built
 
 echo "Starting puppet"
 systemctl start puppet
index 4acf5e2..4714aed 100644 (file)
@@ -15,7 +15,7 @@ SHELL = /bin/bash
 #Input args
 export UNIT_TEST = FALSE
 export INTERACTIVE = TRUE
-export ISOSRC = file:$(shell pwd)/fuel-6.0.1.iso
+export ISOSRC = file:$(shell pwd)/fuel-6.1.iso
 export ISOCACHE = $(shell pwd)/$(shell basename $(ISOSRC))
 export PRODNO = "OPNFV_BGS"
 export REVSTATE = "P0000"
@@ -37,11 +37,6 @@ export TOPDIR := $(shell pwd)
 #Build subclasses
 
 SUBDIRS := f_isoroot
-SUBDIRS += f_opnfv_puppet
-SUBDIRS += f_osnaily
-SUBDIRS += f_l23network
-SUBDIRS += f_resolvconf
-SUBDIRS += f_ntp
 
 # f_example is only an example of how to generate a .deb package and
 # should not be enabled in official builds.
@@ -80,19 +75,11 @@ $(ISOCACHE):
        @echo "fuel" `git -C /tmp/fuel-main show | grep commit | head -1 | cut -d " " -f2` >> $(VERSION_FILE)
        # Setup cgroups for docker-in-docker
        sudo /root/enable_dockerx2
-       # Patch to fix race condition when doing "Docker-in-Docker" build
-       cd /tmp/fuel-main && patch -p1 < $(TOPDIR)/fuel-main_1.patch
-       # Patch to make the sandbox chroot in Fuel succeed with package
-       # installation in a Docker build
-       cd /tmp/fuel-main && patch -p1 < $(TOPDIR)/fuel-main_2.patch
        # Temporary patch to accomodate for new Ubuntu trusty devops keys not yet
        # backported to fuel 6.0 or 6.1
        cd /tmp/fuel-main && patch -p0 < $(TOPDIR)/fuel-main_3.patch
-       # Temporary patch for pidlockfile which was earlier part of python-daemon
-       # but in later pyhon versions is part of python-lockfile. This patch has
-       # not yet been backported to fuel 6.0
-       cd /tmp/fuel-main/utils && patch -p0 < $(TOPDIR)/fuel-main_4.patch
-
+       # Patch for adding dosfstools, as Fuel 6.1 is running mkfs.vfat
+       cd /tmp/fuel-main && patch -p0 < $(TOPDIR)/fuel-main_5.patch
        # Remove Docker optimizations, otherwise multistrap will fail during
        # Fuel build.
        sudo rm -f /etc/apt/apt.conf.d/docker*
@@ -121,10 +108,6 @@ $(SUBDIRS):
 patch-packages:
        ORIGISO=$(ISOCACHE) REVSTATE=$(REVSTATE) $(MAKE) -C $@ -f Makefile release
 
-.PHONY: prepare
-prepare:
-       #$(MAKE) -C opendaylight -f Makefile setup
-
 .PHONY: build-clean $(SUBCLEAN)
 build-clean: $(SUBCLEAN)
        $(MAKE) -C patch-packages -f Makefile clean
@@ -133,9 +116,8 @@ build-clean: $(SUBCLEAN)
        @rm -f $(NEWISO)
 
 .PHONY: clean $(SUBCLEAN)
-clean:  clean-cache prepare $(SUBCLEAN)
+clean:  clean-cache $(SUBCLEAN)
        $(MAKE) -C patch-packages -f Makefile clean
-       #$(MAKE) -C opendaylight -f Makefile clean
        @rm -f *.iso
        @rm -Rf release
        @rm -Rf newiso
@@ -148,6 +130,12 @@ $(SUBCLEAN): %.clean:
 # Todo: Make things smarter - we shouldn't need to clean everything
 # betwen make invocations.
 .PHONY: iso
-iso:   prepare build-clean $(ISOCACHE) $(SUBDIRS) patch-packages
+iso:   build-clean $(ISOCACHE) $(SUBDIRS) patch-packages
        install/install.sh iso $(ISOCACHE) $(NEWISO) $(PRODNO) $(REVSTATE)
        @printf "\n\nProduct ISO is $(NEWISO)\n\n"
+
+# Start a bash shell in docker for Makefile debugging
+.PHONY: debug
+debug:
+       @docker version >/dev/null 2>&1 || (echo 'No Docker installation available'; exit 1)
+       docker/runcontext $(DOCKERIMG) bash
index cc98f68..b88ac2f 100644 (file)
@@ -1,4 +1,4 @@
-##############################################################################
+#############################################################################
 # Copyright (c) 2015 Ericsson AB and others.
 # stefan.k.berg@ericsson.com
 # jonas.bjurel@ericsson.com
@@ -15,10 +15,8 @@ CACHECLEAN := $(addsuffix .clean,$(CACHEFILES) $(CACHEDIRS))
 ############################################################################
 # BEGIN of variables to customize
 #
-#CACHEDIRS := opendaylight/f_odl/package
+#CACHEDIRS := foo/bar
 
-#CACHEFILES := opendaylight/.odl-build-history
-#CACHEFILES += opendaylight/.odl-build.log
 CACHEFILES += .versions
 CACHEFILES += $(shell basename $(ISOSRC))
 #
@@ -54,20 +52,20 @@ $(CACHEFILES):
 
        @if [ ! -f $(BUILD_BASE)/$@ ]; then\
           echo " " > $(BUILD_BASE)/$@;\
-          ln -s $(BUILD_BASE)/$@ $(CACHE_DIR)/$@;\
+          ln -s $(BUILD_BASE)/$@ $(CACHE_DIR)/$@;\
           rm -f $(BUILD_BASE)/$@;\
        else\
           ln -s $(BUILD_BASE)/$@ $(CACHE_DIR)/$@;\
        fi
 
 .PHONY: validate-cache
-validate-cache: prepare $(CACHEVALIDATE)
-       @if [[ $(shell md5sum $(BUILD_BASE)/config.mk | cut -f1 -d " ") != $(shell cat $(VERSION_FILE) | grep config.mk | awk '{print $$NF}') ]]; then\
+validate-cache: $(CACHEVALIDATE)
+       @if [ "$(shell md5sum $(BUILD_BASE)/config.mk | cut -f1 -d " ")" != "$(shell cat $(VERSION_FILE) | grep config.mk | awk '{print $$NF}')" ]; then\
           echo "Cache does not match current config.mk definition, cache must be rebuilt";\
           exit 1;\
        fi;
 
-       @if [[ $(shell md5sum $(BUILD_BASE)/cache.mk | cut -f1 -d " ") != $(shell cat $(VERSION_FILE) | grep cache.mk | awk '{print $$NF}') ]]; then\
+       @if [ "$(shell md5sum $(BUILD_BASE)/cache.mk | cut -f1 -d " ")" != "$(shell cat $(VERSION_FILE) | grep cache.mk | awk '{print $$NF}')" ]; then\
           echo "Cache does not match current cache.mk definition, cache must be rebuilt";\
           exit 1;\
        fi;
@@ -80,14 +78,12 @@ validate-cache: prepare $(CACHEVALIDATE)
        then \
           REMOTE_ID=$(shell git ls-remote $(FUEL_MAIN_REPO) $(FUEL_MAIN_TAG) | awk '{print $$(NF-1)}'); \
        fi; \
-       if [ $$REMOTE_ID != $(shell cat $(VERSION_FILE) | grep fuel | awk '{print $$NF}') ]; \
+       if [[ $$REMOTE_ID != $(shell cat $(VERSION_FILE) | grep fuel | awk '{print $$NF}') ]]; \
        then \
           echo "Cache does not match upstream Fuel, cache must be rebuilt!"; \
           exit 1; \
        fi
 
-       #$(MAKE) -C opendaylight validate-cache
-
 .PHONY: $(CACHEVALIDATE)
 $(CACHEVALIDATE): %.validate:
        @echo VALIDATE $(CACHEVALIDATE)
index 19f502d..e9a5320 100644 (file)
@@ -8,19 +8,12 @@
 # http://www.apache.org/licenses/LICENSE-2.0
 ##############################################################################
 
-ODL_MAIN_REPO := https://git.opendaylight.org/gerrit/p/controller.git
-ODL_MAIN_TAG := release/helium
-
 FUEL_MAIN_REPO := https://github.com/stackforge/fuel-main
-FUEL_MAIN_TAG = stable/6.0
+FUEL_MAIN_TAG = stable/6.1
 
 DOCKER_REPO := http://get.docker.com/builds/Linux/x86_64
 DOCKER_TAG := docker-latest
 
-.PHONY: get-odl-repo
-get-odl-repo:
-       @echo $(ODL_MAIN_REPO) $(ODL_MAIN_TAG)
-
 .PHONY: get-fuel-repo
 get-fuel-repo:
        @echo $(FUEL_MAIN_REPO) $(FUEL_MAIN_TAG)
index 76fe401..81cdc43 100644 (file)
@@ -14,7 +14,7 @@ RUN apt-get update
 RUN apt-get install -y software-properties-common python-software-properties \
     make python-setuptools python-all dpkg-dev debhelper \
     fuseiso git genisoimage bind9-host wget curl lintian tmux lxc iptables \
-    ca-certificates sudo apt-utils lsb-release
+    ca-certificates sudo apt-utils lsb-release dosfstools
 
 RUN echo "ALL ALL=NOPASSWD: ALL" > /etc/sudoers.d/open-sudo
 RUN chmod 0440 /etc/sudoers.d/open-sudo
index bde8e64..b2a9f79 100644 (file)
@@ -8,7 +8,7 @@
 # http://www.apache.org/licenses/LICENSE-2.0
 ##############################################################################
 
-SUBDIRS = f_predeployment f_kscfg f_bootstrap
+SUBDIRS = f_kscfg f_bootstrap f_repobuild
 SUBCLEAN = $(addsuffix .clean,$(SUBDIRS))
 
 .PHONY: all
index 348ce3c..8bdf566 100755 (executable)
@@ -1,4 +1,5 @@
 #!/bin/bash
+FUEL_RELEASE=$(grep release: /etc/fuel/version.yaml | cut -d: -f2 | tr -d '" ')
 
 function countdown() {
   local i
@@ -47,9 +48,6 @@ if [[ "$showmenu" == "yes" || "$showmenu" == "YES" ]]; then
     { kill "$pid"; wait $!; } 2>/dev/null
     case "$key" in
       $'\e')  echo "Skipping Fuel Setup.."
-              echo -n "Applying default Fuel setings..."
-              fuelmenu --save-only --iface=eth0
-              echo "Done!"
               ;;
       *)      echo -e "\nEntering Fuel Setup..."
               fuelmenu
@@ -57,30 +55,51 @@ if [[ "$showmenu" == "yes" || "$showmenu" == "YES" ]]; then
     esac
   fi
 fi
+
+
 #Reread /etc/sysconfig/network to inform puppet of changes
 . /etc/sysconfig/network
 hostname "$HOSTNAME"
 
-### docker stuff
-images_dir="/var/www/nailgun/docker/images"
+service docker start
 
-# extract docker images
-mkdir -p $images_dir $sources_dir
-rm -f $images_dir/*tar
-pushd $images_dir &>/dev/null
+if [ -f /root/.build_images ]; then
+  #Fail on all errors
+  set -e
+  trap fail EXIT
 
-echo "Extracting and loading docker images. (This may take a while)"
-lrzip -d -o fuel-images.tar fuel-images.tar.lrz && tar -xf fuel-images.tar && rm -f fuel-images.tar
-popd &>/dev/null
-service docker start
+  echo "Loading Fuel base image for Docker..."
+  docker load -i /var/www/nailgun/docker/images/fuel-images.tar
 
-# load docker images
-for image in $images_dir/*tar ; do
-    echo "Loading docker image ${image}..."
-    docker load -i "$image"
-    # clean up extracted image
-    rm -f "$image"
-done
+  echo "Building Fuel Docker images..."
+  WORKDIR=$(mktemp -d /tmp/docker-buildXXX)
+  SOURCE=/var/www/nailgun/docker
+  REPO_CONT_ID=$(docker -D run -d -p 80 -v /var/www/nailgun:/var/www/nailgun fuel/centos sh -c 'mkdir /var/www/html/os;ln -sf /var/www/nailgun/centos/x86_64 /var/www/html/os/x86_64;/usr/sbin/apachectl -DFOREGROUND')
+  RANDOM_PORT=$(docker port $REPO_CONT_ID 80 | cut -d':' -f2)
+
+  for imagesource in /var/www/nailgun/docker/sources/*; do
+    if ! [ -f "$imagesource/Dockerfile" ]; then
+      echo "Skipping ${imagesource}..."
+      continue
+    fi
+    image=$(basename "$imagesource")
+    cp -R "$imagesource" $WORKDIR/$image
+    mkdir -p $WORKDIR/$image/etc
+    cp -R /etc/puppet /etc/fuel $WORKDIR/$image/etc
+    sed -e "s/_PORT_/${RANDOM_PORT}/" -i $WORKDIR/$image/Dockerfile
+    sed -e 's/production:.*/production: "docker-build"/' -i $WORKDIR/$image/etc/fuel/version.yaml
+    docker build -t fuel/${image}_${FUEL_RELEASE} $WORKDIR/$image
+  done
+  docker rm -f $REPO_CONT_ID
+  rm -rf "$WORKDIR"
+
+  #Remove trap for normal deployment
+  trap - EXIT
+  set +e
+else
+  echo "Loading docker images. (This may take a while)"
+  docker load -i /var/www/nailgun/docker/images/fuel-images.tar
+fi
 
 # apply puppet
 puppet apply --detailed-exitcodes -d -v /etc/puppet/modules/nailgun/examples/host-only.pp
@@ -102,4 +121,52 @@ done
 shopt -u nullglob
 ### OPNFV addition END
 
+# Enable updates repository
+cat > /etc/yum.repos.d/mos${FUEL_RELEASE}-updates.repo << EOF
+[mos${FUEL_RELEASE}-updates]
+name=mos${FUEL_RELEASE}-updates
+baseurl=http://mirror.fuel-infra.org/mos/centos-6/mos${FUEL_RELEASE}/updates/
+gpgcheck=0
+skip_if_unavailable=1
+EOF
+
+# Enable security repository
+cat > /etc/yum.repos.d/mos${FUEL_RELEASE}-security.repo << EOF
+[mos${FUEL_RELEASE}-security]
+name=mos${FUEL_RELEASE}-security
+baseurl=http://mirror.fuel-infra.org/mos/centos-6/mos${FUEL_RELEASE}/security/
+gpgcheck=0
+skip_if_unavailable=1
+EOF
+
+#Check if repo is accessible
+echo "Checking for access to updates repository..."
+repourl=$(grep baseurl /etc/yum.repos.d/*updates* 2>/dev/null | cut -d'=' -f2- | head -1)
+if urlaccesscheck check "$repourl" ; then
+  UPDATE_ISSUES=0
+else
+  UPDATE_ISSUES=1
+fi
+
+if [ $UPDATE_ISSUES -eq 1 ]; then
+  warning="WARNING: There are issues connecting to Fuel update repository.\
+\nPlease fix your connection and update this node with \`yum update\`\
+\nThen run \`dockerctl destroy all; bootstrap_admin_node.sh;\`\
+\nto repeat bootstrap on Fuel Master with the latest updates.\
+\nFor more information, check out Fuel documentation at:\
+\nhttp://docs.mirantis.com/fuel"
+else
+  warning="WARNING: There may be updates available for Fuel.\
+\nYou should update this node with \`yum update\`. If there are available\
+\n updates, run \`dockerctl destroy all; bootstrap_admin_node.sh;\`\
+\nto repeat bootstrap on Fuel Master with the latest updates.\
+\nFor more information, check out Fuel documentation at:\
+\nhttp://docs.mirantis.com/fuel"
+fi
+echo
+echo "*************************************************"
+echo -e "$warning"
+echo "*************************************************"
+echo "Sending notification to Fuel UI..."
+fuel notify --topic warning --send "$warning"
 echo "Fuel node deployment complete!"
index 7b6e6bd..8d21c1e 100755 (executable)
@@ -1,4 +1,5 @@
 #!/bin/bash
+FUEL_RELEASE=$(grep release: /etc/fuel/version.yaml | cut -d: -f2 | tr -d '" ')
 
 function countdown() {
   local i
@@ -37,9 +38,6 @@ if [[ "$showmenu" == "yes" || "$showmenu" == "YES" ]]; then
     { kill "$pid"; wait $!; } 2>/dev/null
     case "$key" in
       $'\e')  echo "Skipping Fuel Setup.."
-              echo -n "Applying default Fuel setings..."
-              fuelmenu --save-only --iface=eth0
-              echo "Done!"
               ;;
       *)      echo -e "\nEntering Fuel Setup..."
               fuelmenu
@@ -47,30 +45,51 @@ if [[ "$showmenu" == "yes" || "$showmenu" == "YES" ]]; then
     esac
   fi
 fi
+
+
 #Reread /etc/sysconfig/network to inform puppet of changes
 . /etc/sysconfig/network
 hostname "$HOSTNAME"
 
-### docker stuff
-images_dir="/var/www/nailgun/docker/images"
+service docker start
 
-# extract docker images
-mkdir -p $images_dir $sources_dir
-rm -f $images_dir/*tar
-pushd $images_dir &>/dev/null
+if [ -f /root/.build_images ]; then
+  #Fail on all errors
+  set -e
+  trap fail EXIT
 
-echo "Extracting and loading docker images. (This may take a while)"
-lrzip -d -o fuel-images.tar fuel-images.tar.lrz && tar -xf fuel-images.tar && rm -f fuel-images.tar
-popd &>/dev/null
-service docker start
+  echo "Loading Fuel base image for Docker..."
+  docker load -i /var/www/nailgun/docker/images/fuel-images.tar
+
+  echo "Building Fuel Docker images..."
+  WORKDIR=$(mktemp -d /tmp/docker-buildXXX)
+  SOURCE=/var/www/nailgun/docker
+  REPO_CONT_ID=$(docker -D run -d -p 80 -v /var/www/nailgun:/var/www/nailgun fuel/centos sh -c 'mkdir /var/www/html/os;ln -sf /var/www/nailgun/centos/x86_64 /var/www/html/os/x86_64;/usr/sbin/apachectl -DFOREGROUND')
+  RANDOM_PORT=$(docker port $REPO_CONT_ID 80 | cut -d':' -f2)
+
+  for imagesource in /var/www/nailgun/docker/sources/*; do
+    if ! [ -f "$imagesource/Dockerfile" ]; then
+      echo "Skipping ${imagesource}..."
+      continue
+    fi
+    image=$(basename "$imagesource")
+    cp -R "$imagesource" $WORKDIR/$image
+    mkdir -p $WORKDIR/$image/etc
+    cp -R /etc/puppet /etc/fuel $WORKDIR/$image/etc
+    sed -e "s/_PORT_/${RANDOM_PORT}/" -i $WORKDIR/$image/Dockerfile
+    sed -e 's/production:.*/production: "docker-build"/' -i $WORKDIR/$image/etc/fuel/version.yaml
+    docker build -t fuel/${image}_${FUEL_RELEASE} $WORKDIR/$image
+  done
+  docker rm -f $REPO_CONT_ID
+  rm -rf "$WORKDIR"
 
-# load docker images
-for image in $images_dir/*tar ; do
-    echo "Loading docker image ${image}..."
-    docker load -i "$image"
-    # clean up extracted image
-    rm -f "$image"
-done
+  #Remove trap for normal deployment
+  trap - EXIT
+  set +e
+else
+  echo "Loading docker images. (This may take a while)"
+  docker load -i /var/www/nailgun/docker/images/fuel-images.tar
+fi
 
 # apply puppet
 puppet apply --detailed-exitcodes -d -v /etc/puppet/modules/nailgun/examples/host-only.pp
@@ -81,4 +100,53 @@ rmdir /var/log/remote && ln -s /var/log/docker-logs/remote /var/log/remote
 
 dockerctl check || fail
 bash /etc/rc.local
+
+# Enable updates repository
+cat > /etc/yum.repos.d/mos${FUEL_RELEASE}-updates.repo << EOF
+[mos${FUEL_RELEASE}-updates]
+name=mos${FUEL_RELEASE}-updates
+baseurl=http://mirror.fuel-infra.org/mos/centos-6/mos${FUEL_RELEASE}/updates/
+gpgcheck=0
+skip_if_unavailable=1
+EOF
+
+# Enable security repository
+cat > /etc/yum.repos.d/mos${FUEL_RELEASE}-security.repo << EOF
+[mos${FUEL_RELEASE}-security]
+name=mos${FUEL_RELEASE}-security
+baseurl=http://mirror.fuel-infra.org/mos/centos-6/mos${FUEL_RELEASE}/security/
+gpgcheck=0
+skip_if_unavailable=1
+EOF
+
+#Check if repo is accessible
+echo "Checking for access to updates repository..."
+repourl=$(grep baseurl /etc/yum.repos.d/*updates* 2>/dev/null | cut -d'=' -f2- | head -1)
+if urlaccesscheck check "$repourl" ; then
+  UPDATE_ISSUES=0
+else
+  UPDATE_ISSUES=1
+fi
+
+if [ $UPDATE_ISSUES -eq 1 ]; then
+  warning="WARNING: There are issues connecting to Fuel update repository.\
+\nPlease fix your connection and update this node with \`yum update\`\
+\nThen run \`dockerctl destroy all; bootstrap_admin_node.sh;\`\
+\nto repeat bootstrap on Fuel Master with the latest updates.\
+\nFor more information, check out Fuel documentation at:\
+\nhttp://docs.mirantis.com/fuel"
+else
+  warning="WARNING: There may be updates available for Fuel.\
+\nYou should update this node with \`yum update\`. If there are available\
+\n updates, run \`dockerctl destroy all; bootstrap_admin_node.sh;\`\
+\nto repeat bootstrap on Fuel Master with the latest updates.\
+\nFor more information, check out Fuel documentation at:\
+\nhttp://docs.mirantis.com/fuel"
+fi
+echo
+echo "*************************************************"
+echo -e "$warning"
+echo "*************************************************"
+echo "Sending notification to Fuel UI..."
+fuel notify --topic warning --send "$warning"
 echo "Fuel node deployment complete!"
diff --git a/fuel/build/f_isoroot/f_bootstrap/post-scripts/03_install_repo.sh b/fuel/build/f_isoroot/f_bootstrap/post-scripts/03_install_repo.sh
new file mode 100644 (file)
index 0000000..c077d57
--- /dev/null
@@ -0,0 +1,19 @@
+#/bin/sh
+echo "Installing pre-build repo"
+if [ ! -d /opt/opnfv/nailgun ]; then
+  echo "Error - found no repo!"
+  exit 1
+fi
+
+mkdir -p /var/www/mailgun
+mv /opt/opnfv/nailgun/* /var/www/nailgun
+if [ $? -ne 0 ]; then
+  echo "Error moving repos to their correct location!"
+  exit 1
+fi
+rmdir /opt/opnfv/nailgun
+if [ $? -ne 0 ]; then
+  echo "Error removing /opt/opnfv/nailgun directory!"
+  exit 1
+fi
+echo "Done installing pre-build repo"
old mode 100755 (executable)
new mode 100644 (file)
index 508f044..12cd1ab
@@ -26,10 +26,12 @@ skipx
 drives=""
 removable_drives=""
 for drv in `ls -1 /sys/block | grep "sd\|hd\|vd\|cciss"`; do
-    if (grep -q 0 /sys/block/${drv}/removable); then
-        drives="${drives} ${drv}"
-    else
-        removable_drives="${removable_drives} ${drv}"
+    if !(blkid | grep -q "${drv}.*Fuel"); then
+      if (grep -q 0 /sys/block/${drv}/removable); then
+          drives="${drives} ${drv}"
+      else
+          removable_drives="${removable_drives} ${drv}"
+      fi
     fi
 done
 default_drive=`echo ${drives} ${removable_drives} | awk '{print $1}'`
@@ -152,9 +154,9 @@ if [ "$format_confirmed" != "yes" ] ; then
   chvt 1
 fi
 
-# verify tgtdrive is at least 30GB
+# verify tgtdrive is at least 41GB
 tgtdrivesize=$(( $(cat "/sys/class/block/${tgtdrive}/size") / 2 / 1024 ))
-if [ $tgtdrivesize -lt 30720 ]; then
+if [ $tgtdrivesize -lt 41984 ]; then
     exec < /dev/tty3 > /dev/tty3 2>&1
     chvt 3
     clear
@@ -162,7 +164,7 @@ if [ $tgtdrivesize -lt 30720 ]; then
     echo '********************************************************************'
     echo '*                            E R R O R                             *'
     echo '*                                                                  *'
-    echo '*  Your disk is under 30GB in size. Installation cannot continue.  *'
+    echo '*  Your disk is under 41GB in size. Installation cannot continue.  *'
     echo '*             Restart installation with a larger disk.             *'
     echo '*                                                                  *'
     echo '********************************************************************'
@@ -175,7 +177,9 @@ fi
 tgtdrive=$(echo $tgtdrive | sed -e 's/!/\//')
 
 # source
-if test -e /dev/disk/by-uuid/will_be_substituted_with_actual_uuid; then
+if test -e /dev/disk/by-label/"OpenStack_Fuel"; then
+    echo "harddrive --partition=LABEL="OpenStack_Fuel" --dir=/" > /tmp/source.ks
+elif test -e /dev/disk/by-uuid/will_be_substituted_with_actual_uuid; then
     echo "harddrive --partition=UUID=will_be_substituted_with_actual_uuid --dir=/" > /tmp/source.ks
 else
     echo "cdrom" > /tmp/source.ks
@@ -204,16 +208,18 @@ else
 fi
 echo > /tmp/partition.ks
 echo "partition /boot --onpart=/dev/${bootdev}3" >> /tmp/partition.ks
-echo "partition pv.001 --ondisk=${tgtdrive} --size=30000 --grow" >> /tmp/partition.ks
+echo "partition /boot/efi --onpart=/dev/${bootdev}2" >> /tmp/partition.ks
+echo "partition pv.001 --ondisk=${tgtdrive} --size=41000 --grow" >> /tmp/partition.ks
 echo "volgroup os pv.001" >> /tmp/partition.ks
 echo "logvol swap --vgname=os --recommended --name=swap" >> /tmp/partition.ks
 echo "logvol / --vgname=os --size=10000 --name=root --fstype=ext4" >> /tmp/partition.ks
-echo "logvol /var --vgname=os --size=10000 --percent 60 --grow --name=var --fstype=ext4" >> /tmp/partition.ks
-echo "logvol /var/log --vgname=os --size=4096 --percent 40 --grow --name=varlog --fstype=ext4" >> /tmp/partition.ks
+echo "logvol /var --vgname=os --size=10000 --percent 30 --grow --name=var --fstype=ext4" >> /tmp/partition.ks
+echo "logvol /var/lib/docker --vgname=os --size=17000  --percent 20 --grow --name=varlibdocker --fstype=ext4" >> /tmp/partition.ks
+echo "logvol /var/log --vgname=os --size=4096 --percent 50 --grow --name=varlog --fstype=ext4" >> /tmp/partition.ks
 
 
 # bootloader
-echo "bootloader --location=mbr --driveorder=${tgtdrive} --append=' biosdevname=0 crashkernel=none'" > /tmp/bootloader.ks
+echo "bootloader --location=partition --driveorder=${tgtdrive} --append=' biosdevname=0 crashkernel=none'" > /tmp/bootloader.ks
 
 # Anaconda can not install grub 0.97 on disks which are >4T.
 # The reason is that grub does not support such large geometries
@@ -233,6 +239,9 @@ echo "cat /tmp/grub.script | chroot /mnt/sysimage /sbin/grub --no-floppy --batch
 
 %packages --nobase --excludedocs
 @Core
+fuel
+fuel-library
+fuel-dockerctl
 authconfig
 bind-utils
 cronie
@@ -241,7 +250,12 @@ curl
 daemonize
 dhcp
 docker-io
+fuel-bootstrap-image
+fuel-createmirror
+fuel-target-centos-images
+fuel-package-updates
 fuelmenu
+fuel-docker-images
 gdisk
 lrzip
 lsof
@@ -249,8 +263,10 @@ man
 mlocate
 nmap-ncat
 ntp
+ntpdate
 openssh-clients
 policycoreutils
+python-daemon
 rsync
 ruby21-puppet
 ruby21-rubygem-netaddr
@@ -266,6 +282,7 @@ vim-enhanced
 virt-what
 wget
 yum
+yum-plugin-priorities
 
 %include /tmp/post_partition.ks
 
@@ -285,6 +302,8 @@ echo -e "* soft core unlimited\n* hard core unlimited" >> /etc/security/limits.c
 %post --nochroot --log=/mnt/sysimage/root/anaconda-post-before-chroot.log
 #!/bin/sh
 
+set -x
+
 SOURCE="/mnt/sysimage/tmp/source"
 
 for I in `cat /proc/cmdline`; do case "$I" in *=*) eval $I;; esac ; done
@@ -342,6 +361,7 @@ function save_cfg {
     else
         echo GATEWAY=$gw >> /etc/sysconfig/network
     fi
+    [ -n "$build_images" -a "$build_images" != "0" ] && echo -e "$build_images" > /root/.build_images
 }
 
 # Default FQDN
@@ -356,6 +376,7 @@ gw=$gw
 device="eth0"
 hwaddr=`ifconfig $device | grep -i hwaddr | sed -e 's#^.*hwaddr[[:space:]]*##I'`
 dhcp_interface=$dhcp_interface
+build_images=$build_images
 save_cfg
 
 # Mounting installation source
@@ -366,7 +387,9 @@ echo
 mkdir -p ${SOURCE}
 mkdir -p ${FS}
 
-if test -e /dev/disk/by-uuid/will_be_substituted_with_actual_uuid; then
+if test -e /dev/disk/by-label/"OpenStack_Fuel"; then
+    mount /dev/disk/by-label/"OpenStack_Fuel" ${SOURCE}
+elif test -e /dev/disk/by-uuid/will_be_substituted_with_actual_uuid; then
     mount /dev/disk/by-uuid/will_be_substituted_with_actual_uuid ${FS}
     mount -o loop ${FS}/nailgun.iso ${SOURCE}
 fi
@@ -390,61 +413,47 @@ cp ${SOURCE}/.treeinfo ${repodir}/centos/x86_64
 
 # Copying Ubuntu files
 mkdir -p ${repodir}/ubuntu/x86_64/images
-cp -r ${SOURCE}/ubuntu/conf ${repodir}/ubuntu/x86_64
-cp -r ${SOURCE}/ubuntu/db ${repodir}/ubuntu/x86_64
 cp -r ${SOURCE}/ubuntu/dists ${repodir}/ubuntu/x86_64
-cp -r ${SOURCE}/ubuntu/indices ${repodir}/ubuntu/x86_64
 cp -r ${SOURCE}/ubuntu/pool ${repodir}/ubuntu/x86_64
-cp -r ${SOURCE}/ubuntu/installer-amd64/current/images/netboot/ubuntu-installer/amd64/linux ${repodir}/ubuntu/x86_64/images
-cp -r ${SOURCE}/ubuntu/installer-amd64/current/images/netboot/ubuntu-installer/amd64/initrd.gz ${repodir}/ubuntu/x86_64/images
+
+# We do not ship debian-installer kernel and initrd on ISO.
+# But we still need to be able to create ubuntu cobbler distro
+# which requires kernel and initrd to be available. So, we
+# just touch these files to work around cobbler's limitation.
+touch ${repodir}/ubuntu/x86_64/images/linux
+touch ${repodir}/ubuntu/x86_64/images/initrd.gz
 
 # make links for backward compatibility
 ln -s ${repodir}/centos ${wwwdir}/centos
 ln -s ${repodir}/ubuntu ${wwwdir}/ubuntu
 
-# Copying bootstrap image
-mkdir -p ${wwwdir}/bootstrap
-cp -r ${SOURCE}/bootstrap/initramfs.img ${wwwdir}/bootstrap
-cp -r ${SOURCE}/bootstrap/linux ${wwwdir}/bootstrap
-
-# Copying target images
-cp -r ${SOURCE}/targetimages ${wwwdir}
-
-mkdir -p /root/.ssh
-chmod 700 /root/.ssh
-cp ${SOURCE}/bootstrap/bootstrap.rsa /root/.ssh
-chmod 600 /root/.ssh/bootstrap.rsa
-
 # --------------------------
 # UNPACKING PUPPET MANIFESTS
 # --------------------------
 
 # create folders
-mkdir -p /etc/puppet/${OPENSTACK_VERSION}/manifests/
-mkdir -p /etc/puppet/${OPENSTACK_VERSION}/modules/
-rm -rf /etc/puppet/modules/
+#mkdir -p /etc/puppet/${OPENSTACK_VERSION}/manifests/
+#mkdir -p /etc/puppet/${OPENSTACK_VERSION}/modules/
+#rm -rf /etc/puppet/modules/
 
 # TODO(ikalnitsky): investigate why we need this
-cp ${SOURCE}/puppet-slave.tgz ${wwwdir}/
+#cp ${SOURCE}/puppet-slave.tgz ${wwwdir}/
 
 # place modules and manifests
-tar zxf ${SOURCE}/puppet-slave.tgz -C /etc/puppet/${OPENSTACK_VERSION}/modules
-cp /etc/puppet/${OPENSTACK_VERSION}/modules/osnailyfacter/examples/site.pp /etc/puppet/${OPENSTACK_VERSION}/manifests/site.pp
+#tar zxf ${SOURCE}/puppet-slave.tgz -C /etc/puppet/${OPENSTACK_VERSION}/modules
+#cp /etc/puppet/${OPENSTACK_VERSION}/modules/osnailyfacter/examples/site.pp /etc/puppet/${OPENSTACK_VERSION}/manifests/site.pp
 cp ${SOURCE}/centos-versions.yaml ${SOURCE}/ubuntu-versions.yaml /etc/puppet/${OPENSTACK_VERSION}/manifests/
 
 # make links for backward compatibility
-pushd /etc/puppet
-ln -s ${OPENSTACK_VERSION}/manifests/ /etc/puppet/manifests
-ln -s ${OPENSTACK_VERSION}/modules/ /etc/puppet/modules
-popd
+#pushd /etc/puppet
+#ln -s ${OPENSTACK_VERSION}/manifests/ /etc/puppet/manifests
+#ln -s ${OPENSTACK_VERSION}/modules/ /etc/puppet/modules
+#popd
 
 cp ${SOURCE}/send2syslog.py /bin/send2syslog.py
 mkdir -p /var/lib/hiera
 touch /var/lib/hiera/common.yaml /etc/puppet/hiera.yaml
 
-# Deploy docker images and ctl tools if we built ISO with docker containers support
-[ -d "${SOURCE}/docker" ] && cp -r ${SOURCE}/docker ${wwwdir}/docker
-
 # Prepare local repository specification
 rm /etc/yum.repos.d/CentOS*.repo
 cat > /etc/yum.repos.d/nailgun.repo << EOF
@@ -461,6 +470,24 @@ sed -i 's/^enabled.*/enabled=0/' /etc/yum/pluginconf.d/subscription-manager.conf
 # Disable GSSAPI in ssh server config
 sed -i -e "/^\s*GSSAPICleanupCredentials yes/d" -e "/^\s*GSSAPIAuthentication yes/d" /etc/ssh/sshd_config
 
+# Enable MOTD banner in sshd
+sed -i -e "s/^\s*PrintMotd no/PrintMotd yes/g" /etc/ssh/sshd_config
+
+# Add note regarding local repos creation to MOTD
+cat >> /etc/motd << EOF
+
+All environments use online repositories by default.
+Use the following commands to create local repositories
+on master node and change default repository settings:
+
+* CentOS: fuel-package-updates (see --help for options)
+* Ubuntu: fuel-createmirror (see --help for options)
+
+Please refer to the following guide for more information:
+https://docs.mirantis.com/openstack/fuel/fuel-6.1/reference-architecture.html#fuel-rep-mirror
+
+EOF
+
 # Copying bootstrap_admin_node.sh, chmod it and
 # adding /etc/init/bootstrap_admin_node.conf
 cp ${SOURCE}/bootstrap_admin_node.sh /usr/local/sbin/bootstrap_admin_node.sh
@@ -546,10 +573,7 @@ rm -rf ${SOURCE}
 umount -f ${FS} || true
 rm -rf ${FS}
 
-# Enabling/configuring NTPD and ntpdate services
-echo "server 127.127.1.0"            >> /etc/ntp.conf
-echo "fudge  127.127.1.0 stratum 10" >> /etc/ntp.conf
-echo "tos    orphan 7"               >> /etc/ntp.conf
+echo "tos orphan 7" >> /etc/ntp.conf
 
 # Do not show error message on ntpdate failure. Customers should not be confused
 # if admin node does not have access to the internet time servers.
@@ -571,4 +595,4 @@ cp -f /etc/skel/.bash* /root/
 # Blacklist i2c_piix4 module for VirtualBox so it does not create kernel errors
 [[ $(virt-what) = "virtualbox" ]] && echo "blacklist i2c_piix4" > /etc/modprobe.d/blacklist-i2c-piix4.conf
 
-%end
+%end
\ No newline at end of file
index bddf99c..cf8cf80 100644 (file)
@@ -26,10 +26,12 @@ skipx
 drives=""
 removable_drives=""
 for drv in `ls -1 /sys/block | grep "sd\|hd\|vd\|cciss"`; do
-    if (grep -q 0 /sys/block/${drv}/removable); then
-        drives="${drives} ${drv}"
-    else
-        removable_drives="${removable_drives} ${drv}"
+    if !(blkid | grep -q "${drv}.*Fuel"); then
+      if (grep -q 0 /sys/block/${drv}/removable); then
+          drives="${drives} ${drv}"
+      else
+          removable_drives="${removable_drives} ${drv}"
+      fi
     fi
 done
 default_drive=`echo ${drives} ${removable_drives} | awk '{print $1}'`
@@ -152,9 +154,9 @@ if [ "$format_confirmed" != "yes" ] ; then
   chvt 1
 fi
 
-# verify tgtdrive is at least 30GB
+# verify tgtdrive is at least 41GB
 tgtdrivesize=$(( $(cat "/sys/class/block/${tgtdrive}/size") / 2 / 1024 ))
-if [ $tgtdrivesize -lt 30720 ]; then
+if [ $tgtdrivesize -lt 41984 ]; then
     exec < /dev/tty3 > /dev/tty3 2>&1
     chvt 3
     clear
@@ -162,7 +164,7 @@ if [ $tgtdrivesize -lt 30720 ]; then
     echo '********************************************************************'
     echo '*                            E R R O R                             *'
     echo '*                                                                  *'
-    echo '*  Your disk is under 30GB in size. Installation cannot continue.  *'
+    echo '*  Your disk is under 41GB in size. Installation cannot continue.  *'
     echo '*             Restart installation with a larger disk.             *'
     echo '*                                                                  *'
     echo '********************************************************************'
@@ -175,7 +177,9 @@ fi
 tgtdrive=$(echo $tgtdrive | sed -e 's/!/\//')
 
 # source
-if test -e /dev/disk/by-uuid/will_be_substituted_with_actual_uuid; then
+if test -e /dev/disk/by-label/"OpenStack_Fuel"; then
+    echo "harddrive --partition=LABEL="OpenStack_Fuel" --dir=/" > /tmp/source.ks
+elif test -e /dev/disk/by-uuid/will_be_substituted_with_actual_uuid; then
     echo "harddrive --partition=UUID=will_be_substituted_with_actual_uuid --dir=/" > /tmp/source.ks
 else
     echo "cdrom" > /tmp/source.ks
@@ -204,16 +208,18 @@ else
 fi
 echo > /tmp/partition.ks
 echo "partition /boot --onpart=/dev/${bootdev}3" >> /tmp/partition.ks
-echo "partition pv.001 --ondisk=${tgtdrive} --size=30000 --grow" >> /tmp/partition.ks
+echo "partition /boot/efi --onpart=/dev/${bootdev}2" >> /tmp/partition.ks
+echo "partition pv.001 --ondisk=${tgtdrive} --size=41000 --grow" >> /tmp/partition.ks
 echo "volgroup os pv.001" >> /tmp/partition.ks
 echo "logvol swap --vgname=os --recommended --name=swap" >> /tmp/partition.ks
 echo "logvol / --vgname=os --size=10000 --name=root --fstype=ext4" >> /tmp/partition.ks
-echo "logvol /var --vgname=os --size=10000 --percent 60 --grow --name=var --fstype=ext4" >> /tmp/partition.ks
-echo "logvol /var/log --vgname=os --size=4096 --percent 40 --grow --name=varlog --fstype=ext4" >> /tmp/partition.ks
+echo "logvol /var --vgname=os --size=10000 --percent 30 --grow --name=var --fstype=ext4" >> /tmp/partition.ks
+echo "logvol /var/lib/docker --vgname=os --size=17000  --percent 20 --grow --name=varlibdocker --fstype=ext4" >> /tmp/partition.ks
+echo "logvol /var/log --vgname=os --size=4096 --percent 50 --grow --name=varlog --fstype=ext4" >> /tmp/partition.ks
 
 
 # bootloader
-echo "bootloader --location=mbr --driveorder=${tgtdrive} --append=' biosdevname=0 crashkernel=none'" > /tmp/bootloader.ks
+echo "bootloader --location=partition --driveorder=${tgtdrive} --append=' biosdevname=0 crashkernel=none'" > /tmp/bootloader.ks
 
 # Anaconda can not install grub 0.97 on disks which are >4T.
 # The reason is that grub does not support such large geometries
@@ -233,6 +239,9 @@ echo "cat /tmp/grub.script | chroot /mnt/sysimage /sbin/grub --no-floppy --batch
 
 %packages --nobase --excludedocs
 @Core
+fuel
+fuel-library
+fuel-dockerctl
 authconfig
 bind-utils
 cronie
@@ -241,7 +250,12 @@ curl
 daemonize
 dhcp
 docker-io
+fuel-bootstrap-image
+fuel-createmirror
+fuel-target-centos-images
+fuel-package-updates
 fuelmenu
+fuel-docker-images
 gdisk
 lrzip
 lsof
@@ -249,8 +263,10 @@ man
 mlocate
 nmap-ncat
 ntp
+ntpdate
 openssh-clients
 policycoreutils
+python-daemon
 rsync
 ruby21-puppet
 ruby21-rubygem-netaddr
@@ -266,6 +282,7 @@ vim-enhanced
 virt-what
 wget
 yum
+yum-plugin-priorities
 
 %include /tmp/post_partition.ks
 
@@ -285,6 +302,8 @@ echo -e "* soft core unlimited\n* hard core unlimited" >> /etc/security/limits.c
 %post --nochroot --log=/mnt/sysimage/root/anaconda-post-before-chroot.log
 #!/bin/sh
 
+set -x
+
 SOURCE="/mnt/sysimage/tmp/source"
 
 for I in `cat /proc/cmdline`; do case "$I" in *=*) eval $I;; esac ; done
@@ -342,6 +361,7 @@ function save_cfg {
     else
         echo GATEWAY=$gw >> /etc/sysconfig/network
     fi
+    [ -n "$build_images" -a "$build_images" != "0" ] && echo -e "$build_images" > /root/.build_images
 }
 
 # Default FQDN
@@ -356,6 +376,7 @@ gw=$gw
 device="eth0"
 hwaddr=`ifconfig $device | grep -i hwaddr | sed -e 's#^.*hwaddr[[:space:]]*##I'`
 dhcp_interface=$dhcp_interface
+build_images=$build_images
 save_cfg
 
 # Mounting installation source
@@ -366,7 +387,9 @@ echo
 mkdir -p ${SOURCE}
 mkdir -p ${FS}
 
-if test -e /dev/disk/by-uuid/will_be_substituted_with_actual_uuid; then
+if test -e /dev/disk/by-label/"OpenStack_Fuel"; then
+    mount /dev/disk/by-label/"OpenStack_Fuel" ${SOURCE}
+elif test -e /dev/disk/by-uuid/will_be_substituted_with_actual_uuid; then
     mount /dev/disk/by-uuid/will_be_substituted_with_actual_uuid ${FS}
     mount -o loop ${FS}/nailgun.iso ${SOURCE}
 fi
@@ -390,61 +413,47 @@ cp ${SOURCE}/.treeinfo ${repodir}/centos/x86_64
 
 # Copying Ubuntu files
 mkdir -p ${repodir}/ubuntu/x86_64/images
-cp -r ${SOURCE}/ubuntu/conf ${repodir}/ubuntu/x86_64
-cp -r ${SOURCE}/ubuntu/db ${repodir}/ubuntu/x86_64
 cp -r ${SOURCE}/ubuntu/dists ${repodir}/ubuntu/x86_64
-cp -r ${SOURCE}/ubuntu/indices ${repodir}/ubuntu/x86_64
 cp -r ${SOURCE}/ubuntu/pool ${repodir}/ubuntu/x86_64
-cp -r ${SOURCE}/ubuntu/installer-amd64/current/images/netboot/ubuntu-installer/amd64/linux ${repodir}/ubuntu/x86_64/images
-cp -r ${SOURCE}/ubuntu/installer-amd64/current/images/netboot/ubuntu-installer/amd64/initrd.gz ${repodir}/ubuntu/x86_64/images
+
+# We do not ship debian-installer kernel and initrd on ISO.
+# But we still need to be able to create ubuntu cobbler distro
+# which requires kernel and initrd to be available. So, we
+# just touch these files to work around cobbler's limitation.
+touch ${repodir}/ubuntu/x86_64/images/linux
+touch ${repodir}/ubuntu/x86_64/images/initrd.gz
 
 # make links for backward compatibility
 ln -s ${repodir}/centos ${wwwdir}/centos
 ln -s ${repodir}/ubuntu ${wwwdir}/ubuntu
 
-# Copying bootstrap image
-mkdir -p ${wwwdir}/bootstrap
-cp -r ${SOURCE}/bootstrap/initramfs.img ${wwwdir}/bootstrap
-cp -r ${SOURCE}/bootstrap/linux ${wwwdir}/bootstrap
-
-# Copying target images
-cp -r ${SOURCE}/targetimages ${wwwdir}
-
-mkdir -p /root/.ssh
-chmod 700 /root/.ssh
-cp ${SOURCE}/bootstrap/bootstrap.rsa /root/.ssh
-chmod 600 /root/.ssh/bootstrap.rsa
-
 # --------------------------
 # UNPACKING PUPPET MANIFESTS
 # --------------------------
 
 # create folders
-mkdir -p /etc/puppet/${OPENSTACK_VERSION}/manifests/
-mkdir -p /etc/puppet/${OPENSTACK_VERSION}/modules/
-rm -rf /etc/puppet/modules/
+#mkdir -p /etc/puppet/${OPENSTACK_VERSION}/manifests/
+#mkdir -p /etc/puppet/${OPENSTACK_VERSION}/modules/
+#rm -rf /etc/puppet/modules/
 
 # TODO(ikalnitsky): investigate why we need this
-cp ${SOURCE}/puppet-slave.tgz ${wwwdir}/
+#cp ${SOURCE}/puppet-slave.tgz ${wwwdir}/
 
 # place modules and manifests
-tar zxf ${SOURCE}/puppet-slave.tgz -C /etc/puppet/${OPENSTACK_VERSION}/modules
-cp /etc/puppet/${OPENSTACK_VERSION}/modules/osnailyfacter/examples/site.pp /etc/puppet/${OPENSTACK_VERSION}/manifests/site.pp
+#tar zxf ${SOURCE}/puppet-slave.tgz -C /etc/puppet/${OPENSTACK_VERSION}/modules
+#cp /etc/puppet/${OPENSTACK_VERSION}/modules/osnailyfacter/examples/site.pp /etc/puppet/${OPENSTACK_VERSION}/manifests/site.pp
 cp ${SOURCE}/centos-versions.yaml ${SOURCE}/ubuntu-versions.yaml /etc/puppet/${OPENSTACK_VERSION}/manifests/
 
 # make links for backward compatibility
-pushd /etc/puppet
-ln -s ${OPENSTACK_VERSION}/manifests/ /etc/puppet/manifests
-ln -s ${OPENSTACK_VERSION}/modules/ /etc/puppet/modules
-popd
+#pushd /etc/puppet
+#ln -s ${OPENSTACK_VERSION}/manifests/ /etc/puppet/manifests
+#ln -s ${OPENSTACK_VERSION}/modules/ /etc/puppet/modules
+#popd
 
 cp ${SOURCE}/send2syslog.py /bin/send2syslog.py
 mkdir -p /var/lib/hiera
 touch /var/lib/hiera/common.yaml /etc/puppet/hiera.yaml
 
-# Deploy docker images and ctl tools if we built ISO with docker containers support
-[ -d "${SOURCE}/docker" ] && cp -r ${SOURCE}/docker ${wwwdir}/docker
-
 # Prepare local repository specification
 rm /etc/yum.repos.d/CentOS*.repo
 cat > /etc/yum.repos.d/nailgun.repo << EOF
@@ -461,6 +470,24 @@ sed -i 's/^enabled.*/enabled=0/' /etc/yum/pluginconf.d/subscription-manager.conf
 # Disable GSSAPI in ssh server config
 sed -i -e "/^\s*GSSAPICleanupCredentials yes/d" -e "/^\s*GSSAPIAuthentication yes/d" /etc/ssh/sshd_config
 
+# Enable MOTD banner in sshd
+sed -i -e "s/^\s*PrintMotd no/PrintMotd yes/g" /etc/ssh/sshd_config
+
+# Add note regarding local repos creation to MOTD
+cat >> /etc/motd << EOF
+
+All environments use online repositories by default.
+Use the following commands to create local repositories
+on master node and change default repository settings:
+
+* CentOS: fuel-package-updates (see --help for options)
+* Ubuntu: fuel-createmirror (see --help for options)
+
+Please refer to the following guide for more information:
+https://docs.mirantis.com/openstack/fuel/fuel-6.1/reference-architecture.html#fuel-rep-mirror
+
+EOF
+
 # Copying bootstrap_admin_node.sh, chmod it and
 # adding /etc/init/bootstrap_admin_node.conf
 cp ${SOURCE}/bootstrap_admin_node.sh /usr/local/sbin/bootstrap_admin_node.sh
@@ -540,10 +567,7 @@ rm -rf ${SOURCE}
 umount -f ${FS} || true
 rm -rf ${FS}
 
-# Enabling/configuring NTPD and ntpdate services
-echo "server 127.127.1.0"            >> /etc/ntp.conf
-echo "fudge  127.127.1.0 stratum 10" >> /etc/ntp.conf
-echo "tos    orphan 7"               >> /etc/ntp.conf
+echo "tos orphan 7" >> /etc/ntp.conf
 
 # Do not show error message on ntpdate failure. Customers should not be confused
 # if admin node does not have access to the internet time servers.
diff --git a/fuel/build/f_isoroot/f_predeployment/Makefile b/fuel/build/f_isoroot/f_predeployment/Makefile
deleted file mode 100644 (file)
index a5252df..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-##############################################################################
-# Copyright (c) 2015 Ericsson AB and others.
-# stefan.k.berg@ericsson.com
-# jonas.bjurel@ericsson.com
-# 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
-##############################################################################
-
-TOP := $(shell pwd)
-
-.PHONY: all
-all:
-       @mkdir -p release/opnfv
-       @cp pre-deploy.sh release/opnfv
-       @cp sysinfo.sh release/opnfv
-       @cp transform_yaml.py release/opnfv
-       @chmod 755 release/opnfv/*
-
-.PHONY: clean
-clean:
-       @rm -rf release
-
-
-.PHONY: release
-release:clean all
-       @cp -Rvp release/* ../release
diff --git a/fuel/build/f_isoroot/f_predeployment/README b/fuel/build/f_isoroot/f_predeployment/README
deleted file mode 100644 (file)
index 3eef9f2..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-##############################################################################
-# Copyright (c) 2015 Ericsson AB and others.
-# stefan.k.berg@ericsson.com
-# jonas.bjurel@ericsson.com
-# 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
-##############################################################################
-
-This is the start of the interactive frontend that will add OPNFV configuration into
-the astute.yaml of the nodes. Currently just a test setup - prepare an installation
-up to the point of "deploy changes", but run "./pre-deploy.sh <envid> fragment.yaml"
-before actually hitting deploy, which will make sure to add the example fragment to
-the nodes.
-
-Note that the only part of the fragment.yaml that actually is acted on is the hosts
-part at this time.
diff --git a/fuel/build/f_isoroot/f_predeployment/pre-deploy.sh b/fuel/build/f_isoroot/f_predeployment/pre-deploy.sh
deleted file mode 100755 (executable)
index c5c6c42..0000000
+++ /dev/null
@@ -1,401 +0,0 @@
-#!/bin/bash -e
-##############################################################################
-# Copyright (c) 2015 Ericsson AB and others.
-# stefan.k.berg@ericsson.com
-# jonas.bjurel@ericsson.com
-# 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
-##############################################################################
-
-
-error_exit () {
-    echo "$@" >&2
-    exit 1
-}
-
-get_env() {
-   local env_id=${1:-""}
-
-   if [ -z $env_id ]; then
-      local n_envs=$(fuel env --list | grep -v -E "^id|^--|^ *$" | wc -l)
-      if [ $n_envs -ne 1 ]; then
-          echo "Usage: $0 [<env-id>]" >&2
-          error_exit "If only a single environment is present it can be left" \
-                     "out. Otherwise the environment must be selected"
-      fi
-      env_id=$(fuel env --list | grep -v -E "^id|^--" | awk '{print $1}')
-   else
-      if ! fuel --env $env_id environment 2>/dev/null grep -v -E "^id|^--" | \
-           grep -q ^$env_id; then
-         error_exit "No such environment ID: $env_id"
-      fi
-   fi
-   echo $env_id
-}
-
-get_node_uid () {
-    cat $1 | grep "^uid: " | sed "s/^uid: '//" | sed "s/'$//"
-}
-
-get_node_role () {
-    cat $1 | grep "^role: " | sed "s/^role: //"
-}
-
-get_next_cic () {
-    file=$1
-
-    last=`cat $file | sed 's/.*://' | grep "cic-" | sed 's/cic\-.*sl//' | sort -n | tail -1`
-    if [ -z "$last" ]; then
-        next=1
-    else
-        next=$[$last + 2]
-    fi
-    echo $next
-}
-
-get_next_compute () {
-    file=$1
-
-    last=`cat $file | sed 's/.*://' | grep "cmp-" | sed 's/cmp\-.*sl//' | sort -n | tail -1`
-    if [ -z "$last" ]; then
-        next=7
-    else
-        next=$[$last + 2]
-    fi
-    echo $next
-}
-
-modify_hostnames () {
-    env=$1
-    file=$2
-    for line in `cat $file`
-    do
-        old=`echo $line | sed 's/:.*//'`
-        new=`echo $line | sed 's/.*://'`
-        echo "Applying: $old -> $new"
-
-        for dfile in deployment_$env/*.yaml
-        do
-            sed -i "s/$old/$new/g" $dfile
-        done
-
-        for pfile in provisioning_$env/*.yaml
-        do
-            sed -i "s/$old/$new/g" $pfile
-        done
-    done
-}
-
-setup_hostnames () {
-    ENV=$1
-    cd ${CONFIGDIR}
-    touch hostnames.$ENV
-
-    for dfile in deployment_$ENV/*.yaml
-    do
-        uid=`get_node_uid $dfile`
-        hostname=`grep "^node-$uid:" hostnames.$ENV | sed 's/.*://'`
-        if [ -z $hostname ]; then
-
-            pfile=provisioning_$ENV/node-$uid.yaml
-            role=`get_node_role $dfile`
-
-            case $role in
-                primary-controller)
-                    hostname="cic-pod0-sh0-sl`get_next_cic hostnames.$ENV`"
-                    ;;
-                controller)
-                    hostname="cic-pod0-sh0-sl`get_next_cic hostnames.$ENV`"
-                    ;;
-                compute)
-                    hostname="cmp-pod0-sh0-sl`get_next_compute hostnames.$ENV`"
-                    ;;
-                *)
-                    echo "Unknown node type for UID $uid"
-                    exit 1
-                    ;;
-            esac
-
-            echo "node-$uid:$hostname" >> hostnames.$ENV
-        else
-            echo "Already got hostname $hostname for node-$uid"
-
-        fi
-    done
-
-    rm -f hostnames.$ENV.old
-    mv hostnames.$ENV hostnames.$ENV.old
-    sort hostnames.$ENV.old | uniq > hostnames.$ENV
-    modify_hostnames $ENV hostnames.$ENV
-}
-
-
-
-get_provisioning_info () {
-    ENV=$1
-    mkdir -p ${CONFIGDIR}
-    cd ${CONFIGDIR}
-    rm -Rf provisioning_$ENV
-    echo "Getting provisioning info..."
-    fuel --env $ENV provisioning --default
-    if [ $? -ne 0 ]; then
-        echo "Error: Could not get provisioning info for env $ENV">&2
-        exit 1
-    fi
-}
-
-get_deployment_info () {
-    ENV=$1
-    mkdir -p ${CONFIGDIR}
-    cd ${CONFIGDIR}
-    rm -Rf deployment_$ENV
-    echo "Getting deployment info..."
-    fuel --env $ENV deployment --default
-    if [ $? -ne 0 ]; then
-        echo "Error: Could not get deployment info for env $ENV">&2
-        exit 1
-    fi
-}
-
-transform_yaml () {
-    ENV=$1
-    cd ${CONFIGDIR}
-    for dfile in deployment_$ENV/*.yaml
-    do
-        /opt/opnfv/transform_yaml.py $dfile
-    done
-}
-
-commit_changes () {
-    ENV=$1
-    cd ${CONFIGDIR}
-
-    fuel --env $ENV deployment --upload
-    fuel --env $ENV provisioning --upload
-}
-
-add_yaml_fragment () {
-    ENV=$1
-    FRAGMENT=${CONFIGDIR}/fragment.yaml.$ENV
-
-    cd ${CONFIGDIR}
-    for dfile in deployment_$ENV/*.yaml
-    do
-        cnt=`grep "^opnfv:" $dfile | wc -l `
-        if [ $cnt -eq 0 ]; then
-            echo "Adding fragment to $dfile"
-            cat $FRAGMENT >> $dfile
-       else
-            echo "Already have fragment in $dfile"
-       fi
-    done
-}
-
-
-ip_valid() {
-    IP_ADDRESS="$1"
-    # Check if the format looks right_
-    echo "$IP_ADDRESS" | egrep -qE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' || return 1
-    #check that each octect is less than or equal to 255:
-    echo $IP_ADDRESS | awk -F'.' '$1 <=255 && $2 <= 255 && $3 <=255 && $4 <= 255 {print "Y" } ' | grep -q Y || return 1
-    return 0
-}
-
-
-generate_ntp_entry() {
-    FILE=$1
-    read -p "NTP server:" NTP_SERVER
-    if [ -z "$NTP_SERVER" ]; then
-        return 1
-    elif confirm_yes "Are you sure you want to add this entry (y/n): "; then
-        echo "Confirmed"
-        echo "      server $NTP_SERVER" >> $FILE
-    fi
-}
-
-generate_hostfile_entry() {
-    FILE=$1
-    read -p "Name:" HOST_NAME
-    if [ -z "$HOST_NAME" ]; then
-        return 1
-    else
-        read -p "FQDN:" HOST_FQDN
-        read -p "IP:  " HOST_IP
-        while ! ip_valid "$HOST_IP"
-        do
-            echo "This is not a valid IP! Try again."
-            read -p "IP:  " HOST_IP
-        done
-    fi
-    if confirm_yes "Are you sure you want to add this entry (y/n): "; then
-        echo "Confirmed"
-        echo "  - name: $HOST_NAME" >> $FILE
-        echo "    address: $HOST_IP" >> $FILE
-        echo "    fqdn: $HOST_FQDN" >> $FILE
-    else
-        echo "Not confirmed"
-    fi
-    return 0
-}
-
-generate_dns_entry() {
-    FILE=$1
-    PROMPT=$2
-    read -p "${PROMPT}:" DNS_IP
-    if [ -z "$DNS_IP" ]; then
-        return 1
-    else
-        while ! ip_valid "$DNS_IP"
-        do
-            echo "This is not a valid IP! Try again."
-            read -p "${PROMPT}: " DNS_IP
-        done
-    fi
-    if confirm_yes "Are you sure you want to add this entry (y/n): "; then
-        echo "Confirmed"
-        echo "    - $DNS_IP" >> $FILE
-    else
-        echo "Not confirmed"
-    fi
-    return 0
-}
-
-confirm_yes() {
-    prompt=$1
-    while true
-    do
-        read -p "$prompt" YESNO
-        case $YESNO in
-            [Yy])
-                return 0
-                ;;
-            [Nn])
-                return 1
-                ;;
-        esac
-    done
-}
-
-generate_yaml_fragment() {
-    ENV=$1
-    FRAGMENT=${CONFIGDIR}/fragment.yaml.$ENV
-
-    if [ -f $FRAGMENT ]; then
-        echo "Manual configuration already performed, reusing previous data from $FRAGMENT."
-        echo "Press return to continue or ^C to stop."
-        read ans
-        return
-    fi
-
-    echo "opnfv:" > ${FRAGMENT}
-
-    clear
-    echo -e "\n\nPre-deployment configuration\n\n"
-
-    echo -e "\n\nIPs for the DNS servers to go into /etc/resolv.conf. You will be"
-    echo -e "prompted for one IP at the time. Press return on an empty line"
-    echo -e "to complete your input. If no DNS server is specified, the IP of"
-    echo -e "the Fuel master will be used instead.\n"
-
-    DNSCICYAML=${CONFIGDIR}/cicdns.yaml.$ENV
-    rm -f $DNSCICYAML
-
-    echo -e "\n\n"
-
-    while generate_dns_entry $DNSCICYAML "IP for CIC name servers"
-    do
-        :
-    done
-
-    if [ -f $DNSCICYAML ]; then
-        echo "  dns:" >> $FRAGMENT
-        echo "    controller:" >> $FRAGMENT
-        cat $DNSCICYAML >> $FRAGMENT
-    fi
-
-
-    DNSCMPYAML=${CONFIGDIR}/cmpdns.yaml.$ENV
-    rm -f $DNSCMPYAML
-
-    echo -e "\n\n"
-
-    while generate_dns_entry $DNSCMPYAML "IP for compute node name servers"
-    do
-        :
-    done
-
-
-    if [ -f $DNSCMPYAML ]; then
-        if [ ! -f $DNSCICYAML ]; then
-            echo "  dns:" >> $FRAGMENT
-        fi
-        echo "    compute:" >> $FRAGMENT
-        cat $DNSCMPYAML >> $FRAGMENT
-    fi
-
-    echo -e "\n\nHosts file additions for controllers and compute nodes. You will be"
-    echo -e "prompted for name, FQDN and IP for each entry. Press return when prompted"
-    echo -e "for a name when you have completed your input.\n"
-
-
-    HOSTYAML=${CONFIGDIR}/hosts.yaml.$ENV
-    rm -f $HOSTYAML
-    while generate_hostfile_entry $HOSTYAML
-    do
-        :
-    done
-
-    if [ -f $HOSTYAML ]; then
-        echo "  hosts:" >> $FRAGMENT
-        cat $HOSTYAML >> $FRAGMENT
-    fi
-
-    echo -e "\n\nNTP upstream configuration for controllers.You will be"
-    echo -e "prompted for a NTP server each entry. Press return when prompted"
-    echo -e "for a NTP serverwhen you have completed your input.\n"
-
-
-    NTPYAML=${CONFIGDIR}/ntp.yaml.$ENV
-    rm -f $NTPYAML
-    while generate_ntp_entry $NTPYAML
-    do
-        :
-    done
-
-    if [ -f $NTPYAML ]; then
-        echo "  ntp:" >> $FRAGMENT
-        echo "    controller: |" >> $FRAGMENT
-        cat $NTPYAML >> $FRAGMENT
-
-        echo "    compute: |" >> $FRAGMENT
-        for ctl in `find $CONFIGDIR/deployment_$ENV -name '*controller*.yaml'`
-        do
-           fqdn=`grep "^fqdn:" $ctl | sed 's/fqdn: *//'`
-           echo "      server $fqdn" >> $FRAGMENT
-        done
-    fi
-
-    # If nothing added make sure we get an empty opnfv hash
-    # instead of a NULL hash.
-    if [ $(wc -l $FRAGMENT | awk '{print $1}') -le 1 ]; then
-        echo "opnfv: {}" >$FRAGMENT
-    fi
-}
-
-ENV=$(get_env "$@")
-
-CONFIGDIR="/var/lib/opnfv"
-mkdir -p $CONFIGDIR
-
-get_deployment_info $ENV
-# Uncomment the below to enable the control_bond example
-#transform_yaml $ENV
-get_provisioning_info $ENV
-generate_yaml_fragment $ENV
-# The feature to change hostnames from node-<n> to cmp- or cic- is disabled.
-# To turn it on, uncomment the following line.
-#setup_hostnames $ENV
-add_yaml_fragment $ENV
-commit_changes $ENV
diff --git a/fuel/build/f_isoroot/f_predeployment/sysinfo.sh b/fuel/build/f_isoroot/f_predeployment/sysinfo.sh
deleted file mode 100755 (executable)
index e99cac0..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-##############################################################################
-# Copyright (c) 2015 Ericsson AB and others.
-# stefan.k.berg@ericsson.com
-# jonas.bjurel@ericsson.com
-# 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
-##############################################################################
-
-dockerctl shell cobbler cobbler system list | grep -v default | xargs -n 1 host  | sort | sed 's/\..* /\t/'
diff --git a/fuel/build/f_isoroot/f_predeployment/transform_yaml.py b/fuel/build/f_isoroot/f_predeployment/transform_yaml.py
deleted file mode 100755 (executable)
index 14eec4c..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-#!/usr/bin/python
-##############################################################################
-# Copyright (c) 2015 Ericsson AB and others.
-# stefan.k.berg@ericsson.com
-# jonas.bjurel@ericsson.com
-# 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
-##############################################################################
-
-# Remove control and management network transformations from file.
-# Only to be used together with f_control_bond_example (enable in
-# pre-deploy.sh)
-
-import yaml
-import re
-import sys
-import os
-
-if len(sys.argv) != 2:
-    sys.stderr.write("Usage: "+sys.argv[0]+" <filename>\n")
-    sys.exit(1)
-
-filename = sys.argv[1]
-if not os.path.exists(filename):
-    sys.stderr.write("ERROR: The file "+filename+" could not be opened\n")
-    sys.exit(1)
-
-ignore_values = [ "eth0", "eth1", "br-mgmt", "br-fw-admin" ]
-
-infile = open(filename, 'r')
-doc = yaml.load(infile)
-infile.close()
-
-out={}
-
-for scheme in doc:
-    if scheme == "network_scheme":
-        mytransformation = {}
-        for operation in doc[scheme]:
-            if operation == "transformations":
-                # We need the base bridges for l23network to be happy,
-                # remove everything else.
-                mytrans = [ { "action": "add-br", "name": "br-mgmt" },
-                            { "action": "add-br", "name": "br-fw-admin" } ]
-                for trans in doc[scheme][operation]:
-                    delete = 0
-                    for ignore in ignore_values:
-                        matchObj = re.search(ignore,str(trans))
-                        if matchObj:
-                            delete = 1
-                    if delete == 0:
-                        mytrans.append(trans)
-                    else:
-                        pass
-                        #print "Deleted", trans
-
-                mytransformation[operation] = mytrans
-            else:
-                mytransformation[operation] = doc[scheme][operation]
-        out[scheme] = mytransformation
-    else:
-        out[scheme] = doc[scheme]
-
-outfile = open(filename, 'w')
-outfile.write(yaml.dump(out, default_flow_style=False))
-outfile.close()
diff --git a/fuel/build/f_isoroot/f_repobuild/Makefile b/fuel/build/f_isoroot/f_repobuild/Makefile
new file mode 100644 (file)
index 0000000..ee0e819
--- /dev/null
@@ -0,0 +1,50 @@
+##############################################################################
+# Copyright (c) 2015 Ericsson AB and others.
+# stefan.k.berg@ericsson.com
+# jonas.bjurel@ericsson.com
+# 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
+##############################################################################
+
+TOP := $(shell pwd)
+DOCKNAME = fuelrepo
+DOCKVERSION = 1.0
+
+.PHONY: all
+all: .nailgun
+
+.fuel-createmirror:
+       sudo apt-get install -y rsync python dpkg-dev fakeroot openssl
+       sudo ln -s `pwd` /var/www
+       sudo mkdir /var/log/mirror-sync
+       sudo chmod 777 /var/log/mirror-sync
+       rm -rf tmpiso tmpdir
+       mkdir tmpiso
+       fuseiso ${ISOCACHE} tmpiso
+       cp tmpiso/ubuntu/pool/main/f/fuel-createmirror/fuel-createmirror_6.1*.deb .
+       fusermount -u tmpiso
+       rm -rf tmpiso
+       sudo dpkg -i fuel-createmirror_6.1*.deb
+       sudo sed -i 's/DOCKER_MODE=true/DOCKER_MODE=false/' /etc/fuel-createmirror/common.cfg
+       touch .fuel-createmirror
+
+
+.PHONY: clean
+clean:
+       # Deliberately not cleaning nailgun directory to speed up multiple builds
+       @rm -rf ../release/opnfv/nailgun fuel-createmirror_6.1*.deb
+
+.PHONY: release
+release:.nailgun
+       @rm -Rf ../release/opnfv/nailgun
+       @mkdir -p ../release/opnfv
+       @cp -Rp nailgun ../release/opnfv/nailgun
+
+.nailgun: .fuel-createmirror
+       rm -Rf nailgun
+       fakeroot /opt/fuel-createmirror-6.1/fuel-createmirror
+       # Bug fix for https://bugs.launchpad.net/fuel/+bug/1476593
+       find nailgun/mos-ubuntu -type d -exec chmod 755 {} \;
+       touch .nailgun
diff --git a/fuel/build/f_l23network/Makefile b/fuel/build/f_l23network/Makefile
deleted file mode 100644 (file)
index 0949737..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-##############################################################################
-# Copyright (c) 2015 Ericsson AB and others.
-# stefan.k.berg@ericsson.com
-# jonas.bjurel@ericsson.com
-# 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
-##############################################################################
-
-TOP := $(shell pwd)
-
-.PHONY: all
-all:
-
-.PHONY: clean
-clean:
-       @rm -rf tmp
-       @rm -rf release
-
-.PHONY: validate-cache
-validate-cache:
-       @echo "No cache validation schema available for $(shell pwd)"
-       @echo "Continuing ..."
-
-.PHONY: release
-release:
-       @cp -Rvp puppet/modules/* $(PUPPET_DEST)
diff --git a/fuel/build/f_l23network/README b/fuel/build/f_l23network/README
deleted file mode 100644 (file)
index 9aa4718..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-##############################################################################
-# Copyright (c) 2015 Ericsson AB and others.
-# stefan.k.berg@ericsson.com
-# jonas.bjurel@ericsson.com
-# 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
-##############################################################################
-
-Addition to add entries to /etc/hosts through Astute.
-
-The astute.yaml file should contain entries as those below to have them picked up during deployment:
-
-opnfv:
-  hosts:
-  - name: test1
-    address: 192.168.100.100
-    fqdn: test1.opnfv.org
-  - name: test2
-    address: 192.168.100.101
-    fqdn: test2.opnfv.org
-  - name: test3
-    address: 192.168.100.102
-    fqdn: test3.opnfv.org
-
-The suggested method for adding this information is to prepare for deployment with the Fuel GUI or CLI,
-but before actually deploying:
-
-1. Download the current deployment for all hosts: fuel --env 1 deployment --default
-2. Iterate through the hosts in "deployment_1" and add hosts configuration in the above format to their
-   respective yaml file.
-3. Upload the modifed deployment information: fuel --env 1 deployment --upload
-
-After deploying, the additions will be included in /etc/astute.yaml of each host.
diff --git a/fuel/build/f_l23network/puppet/modules/l23network/lib/puppet/parser/functions/extras_to_hosts.rb b/fuel/build/f_l23network/puppet/modules/l23network/lib/puppet/parser/functions/extras_to_hosts.rb
deleted file mode 100644 (file)
index 33bfad8..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-#
-# array_or_string_to_array.rb
-#
-
-module Puppet::Parser::Functions
-  newfunction(:extras_to_hosts, :type => :rvalue, :doc => <<-EOS
-              convert extras array passed from Astute into
-              hash for puppet `host` create_resources call
-    EOS
-  ) do |args|
-    hosts=Hash.new
-    extras=args[0]
-    extras.each do |extras|
-      hosts[extras['name']]={:ip=>extras['address'],:host_aliases=>[extras['fqdn']]}
-      notice("Generating extras host entry #{extras['name']} #{extras['address']} #{extras['fqdn']}")
-    end
-    return hosts
-  end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/fuel/build/f_l23network/puppet/modules/l23network/manifests/hosts_file.pp b/fuel/build/f_l23network/puppet/modules/l23network/manifests/hosts_file.pp
deleted file mode 100644 (file)
index 05cff8d..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-class l23network::hosts_file (
-  $nodes,
-  $extras=[],
-  $hosts_file = "/etc/hosts"
-) {
-
-  # OPNFV addition: Add additional lines in /etc/hosts through Astute additions
-
-  $host_resources = nodes_to_hosts($nodes)
-  $extras_host_resources = extras_to_hosts($extras)
-  Host {
-    ensure => present,
-    target => $hosts_file
-  }
-
-  create_resources(host, $host_resources)
-  create_resources(host, $extras_host_resources)
-}
diff --git a/fuel/build/f_l23network/puppet/modules/l23network/manifests/hosts_file.pp.orig b/fuel/build/f_l23network/puppet/modules/l23network/manifests/hosts_file.pp.orig
deleted file mode 100644 (file)
index 2295e3f..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-class l23network::hosts_file (
-  $nodes,
-  $hosts_file = "/etc/hosts"
-) {
-
-  #Move original hosts file
-
-  $host_resources = nodes_to_hosts($nodes)
-
-  Host {
-    ensure => present,
-    target => $hosts_file
-  }
-
-  create_resources(host, $host_resources)
-}
diff --git a/fuel/build/f_l23network/testing/README b/fuel/build/f_l23network/testing/README
deleted file mode 100644 (file)
index b68eddf..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-##############################################################################
-# Copyright (c) 2015 Ericsson AB and others.
-# stefan.k.berg@ericsson.com
-# jonas.bjurel@ericsson.com
-# 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
-##############################################################################
-
-In order to test the functionality without performing a full deployment, run "puppet apply" on the fake_init.pp
-which will call only the l23network::hosts_file class.
diff --git a/fuel/build/f_l23network/testing/fake_init.pp b/fuel/build/f_l23network/testing/fake_init.pp
deleted file mode 100644 (file)
index bc6b163..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-$fuel_settings = parseyaml($astute_settings_yaml)
-
-if $::fuel_settings['nodes'] {
-  $nodes_hash = $::fuel_settings['nodes']
-  $extras_hash = $::fuel_settings['opnfv']['hosts']
-
-  class {'l23network::hosts_file':
-    nodes  => $nodes_hash,
-    extras => $extras_hash
-  }
-
-  include l23network::hosts_file
-}
diff --git a/fuel/build/f_ntp/Makefile b/fuel/build/f_ntp/Makefile
deleted file mode 100644 (file)
index 0949737..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-##############################################################################
-# Copyright (c) 2015 Ericsson AB and others.
-# stefan.k.berg@ericsson.com
-# jonas.bjurel@ericsson.com
-# 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
-##############################################################################
-
-TOP := $(shell pwd)
-
-.PHONY: all
-all:
-
-.PHONY: clean
-clean:
-       @rm -rf tmp
-       @rm -rf release
-
-.PHONY: validate-cache
-validate-cache:
-       @echo "No cache validation schema available for $(shell pwd)"
-       @echo "Continuing ..."
-
-.PHONY: release
-release:
-       @cp -Rvp puppet/modules/* $(PUPPET_DEST)
diff --git a/fuel/build/f_ntp/README b/fuel/build/f_ntp/README
deleted file mode 100644 (file)
index 2bade72..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-##############################################################################
-# Copyright (c) 2015 Ericsson AB and others.
-# stefan.k.berg@ericsson.com
-# jonas.bjurel@ericsson.com
-# 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
-##############################################################################
-
-Addition to add ntp.conf separately for compute hosts and controller hosts through Astute.
-
-The astute.yaml file should contain entries as those below to have them picked up during deployment:
-
-opnfv:
-  ntp:
-    controller: |
-     line 1
-     line 2
-   compute: |
-     line 1
-     line 2
-
-The suggested method for adding this information is to prepare for deployment with the Fuel GUI or CLI,
-but before actually deploying:
-
-1. Download the current deployment for all hosts: fuel --env 1 deployment --default
-2. Iterate through the hosts in "deployment_1" and add hosts configuration in the above format to their
-   respective yaml file.
-3. Upload the modifed deployment information: fuel --env 1 deployment --upload
-
-After deploying, the additions will be included in /etc/astute.yaml of each host.
-
diff --git a/fuel/build/f_ntp/puppet/modules/opnfv/manifests/ntp.pp b/fuel/build/f_ntp/puppet/modules/opnfv/manifests/ntp.pp
deleted file mode 100644 (file)
index c5dce1b..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-##############################################################################
-# Copyright (c) 2015 Ericsson AB and others.
-# stefan.k.berg@ericsson.com
-# jonas.bjurel@ericsson.com
-# 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
-##############################################################################
-
-# Class: Ntp
-#
-# Add Ntp content passed through astute.yaml into ntp.conf depending on the role
-#
-# Suitable yaml content:
-# <begin>
-# opnfv:
-#   ntp:
-#     controller: |
-#      line 1
-#      line 2
-#    compute: |
-#      line 1
-#      line 2
-# <end>
-#
-#
-#
-
-class opnfv::ntp(
-  $file='/etc/ntp.conf'
-) {
-
-  case $::operatingsystem {
-        centos, redhat: {
-          $service_name = 'ntpd'
-        }
-        debian, ubuntu: {
-          $service_name = 'ntp'
-        }
-  }
-
-  if $::fuel_settings['role'] {
-    if ($::fuel_settings['opnfv'] and
-    $::fuel_settings['opnfv']['ntp']) {
-      case $::fuel_settings['role'] {
-        /controller/: {
-          if $::fuel_settings['opnfv']['ntp']['controller'] {
-            $template = 'opnfv/ntp.conf.controller.erb'
-            $file_content = $::fuel_settings['opnfv']['ntp']['controller']
-          }
-        }
-        /compute/:    {
-          if $::fuel_settings['opnfv']['ntp']['compute'] {
-            $template = 'opnfv/ntp.conf.compute.erb'
-            $file_content = $::fuel_settings['opnfv']['ntp']['compute']
-          }
-        }
-      }
-    }
-  }
-
-  if $file_content {
-    package { 'ntp':
-      ensure => installed,
-    }
-
-    file { $file:
-      content => template($template),
-      notify  => Service['ntp'],
-    }
-
-    service { 'ntp':
-      ensure  => running,
-      name    => $service_name,
-      enable  => true,
-      require => [ Package['ntp'], File[$file]]
-    }
-  }
-}
diff --git a/fuel/build/f_ntp/puppet/modules/opnfv/templates/ntp.conf.compute.erb b/fuel/build/f_ntp/puppet/modules/opnfv/templates/ntp.conf.compute.erb
deleted file mode 100644 (file)
index 37ecfd7..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-##############################################################################
-# Copyright (c) 2015 Ericsson AB and others.
-# stefan.k.berg@ericsson.com
-# jonas.bjurel@ericsson.com
-# 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
-##############################################################################
-
-tinker panic 0
-driftfile /var/lib/ntp/ntp.drift
-statistics loopstats peerstats clockstats
-filegen loopstats file loopstats type day enable
-filegen peerstats file peerstats type day enable
-filegen clockstats file clockstats type day enable
-restrict -4 default kod notrap nomodify nopeer noquery
-restrict -6 default kod notrap nomodify nopeer noquery
-restrict 127.0.0.1
-restrict ::1
-<%= @file_content %>
diff --git a/fuel/build/f_ntp/puppet/modules/opnfv/templates/ntp.conf.controller.erb b/fuel/build/f_ntp/puppet/modules/opnfv/templates/ntp.conf.controller.erb
deleted file mode 100644 (file)
index 37ecfd7..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-##############################################################################
-# Copyright (c) 2015 Ericsson AB and others.
-# stefan.k.berg@ericsson.com
-# jonas.bjurel@ericsson.com
-# 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
-##############################################################################
-
-tinker panic 0
-driftfile /var/lib/ntp/ntp.drift
-statistics loopstats peerstats clockstats
-filegen loopstats file loopstats type day enable
-filegen peerstats file peerstats type day enable
-filegen clockstats file clockstats type day enable
-restrict -4 default kod notrap nomodify nopeer noquery
-restrict -6 default kod notrap nomodify nopeer noquery
-restrict 127.0.0.1
-restrict ::1
-<%= @file_content %>
diff --git a/fuel/build/f_ntp/testing/README b/fuel/build/f_ntp/testing/README
deleted file mode 100644 (file)
index 6d80b0a..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-##############################################################################
-# Copyright (c) 2015 Ericsson AB and others.
-# stefan.k.berg@ericsson.com
-# jonas.bjurel@ericsson.com
-# 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
-##############################################################################
-
-In order to test the functionality without performing a full deployment, run "puppet apply" on the
-fake_init.pp which will call only the opnfv::ntp class.
diff --git a/fuel/build/f_ntp/testing/fake_init.pp b/fuel/build/f_ntp/testing/fake_init.pp
deleted file mode 100644 (file)
index b9af218..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-##############################################################################
-# Copyright (c) 2015 Ericsson AB and others.
-# stefan.k.berg@ericsson.com
-# jonas.bjurel@ericsson.com
-# 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_settings = parseyaml($astute_settings_yaml)
-
-include opnfv::ntp
diff --git a/fuel/build/f_opnfv_puppet/Makefile b/fuel/build/f_opnfv_puppet/Makefile
deleted file mode 100644 (file)
index 0949737..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-##############################################################################
-# Copyright (c) 2015 Ericsson AB and others.
-# stefan.k.berg@ericsson.com
-# jonas.bjurel@ericsson.com
-# 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
-##############################################################################
-
-TOP := $(shell pwd)
-
-.PHONY: all
-all:
-
-.PHONY: clean
-clean:
-       @rm -rf tmp
-       @rm -rf release
-
-.PHONY: validate-cache
-validate-cache:
-       @echo "No cache validation schema available for $(shell pwd)"
-       @echo "Continuing ..."
-
-.PHONY: release
-release:
-       @cp -Rvp puppet/modules/* $(PUPPET_DEST)
diff --git a/fuel/build/f_opnfv_puppet/README b/fuel/build/f_opnfv_puppet/README
deleted file mode 100644 (file)
index 35bea5a..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-##############################################################################
-# Copyright (c) 2015 Ericsson AB and others.
-# stefan.k.berg@ericsson.com
-# jonas.bjurel@ericsson.com
-# 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
-##############################################################################
-
-This is the top level "OPNFV" Puppet class which (hopefully) only will be used to include
-an appropriate set of sub-classes which themselves will be self-contained.
diff --git a/fuel/build/f_opnfv_puppet/puppet/modules/opnfv/manifests/add_packages.pp b/fuel/build/f_opnfv_puppet/puppet/modules/opnfv/manifests/add_packages.pp
deleted file mode 100644 (file)
index ccb3939..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-# Class: opnfv::add_packages
-#
-# Ensure added packages are installed:
-#
-
-class opnfv::add_packages {
-  if $::osfamily == 'Debian' {
-  }
-}
diff --git a/fuel/build/f_opnfv_puppet/puppet/modules/opnfv/manifests/init.pp b/fuel/build/f_opnfv_puppet/puppet/modules/opnfv/manifests/init.pp
deleted file mode 100644 (file)
index fabe30a..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-##############################################################################
-# Copyright (c) 2015 Ericsson AB and others.
-# stefan.k.berg@ericsson.com
-# jonas.bjurel@ericsson.com
-# 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
-##############################################################################
-
-# == Class: opnfv
-#
-# This class is used to perform OPNFV inclusions and settings on top of
-# the vanilla Fuel installation.
-#
-# Currently all logic is self contained, i.e. it is sufficient to
-# "include opnfv" from site.pp.
-
-class opnfv {
-  # Configure resolv.conf if parameters passed through astute
-  include opnfv::resolver
-  # Setup OPNFV style NTP config
-  include opnfv::ntp
-  # Make sure all added packages are installed
-  include opnfv::add_packages
-}
diff --git a/fuel/build/f_opnfv_puppet/puppet/modules/opnfv/manifests/opncheck.pp b/fuel/build/f_opnfv_puppet/puppet/modules/opnfv/manifests/opncheck.pp
deleted file mode 100644 (file)
index 0822f02..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-##############################################################################
-# Copyright (c) 2015 Ericsson AB and others.
-# stefan.k.berg@ericsson.com
-# jonas.bjurel@ericsson.com
-# 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
-##############################################################################
-
-# Class: opnfv::opncheck
-#
-# Make sure that /opt/opnfv/pre-deploy.sh has been run by
-# verifying there is an "opnfv:" level in the astute.yaml.
-
-class opnfv::opncheck()
-{
-  unless $::fuel_settings['opnfv'] {
-    fail("Error: You have not run /opt/opnfv/pre-deploy.sh on the Fuel master prior to deploying!")
-  }
-}
diff --git a/fuel/build/f_osnaily/Makefile b/fuel/build/f_osnaily/Makefile
deleted file mode 100644 (file)
index 0949737..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-##############################################################################
-# Copyright (c) 2015 Ericsson AB and others.
-# stefan.k.berg@ericsson.com
-# jonas.bjurel@ericsson.com
-# 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
-##############################################################################
-
-TOP := $(shell pwd)
-
-.PHONY: all
-all:
-
-.PHONY: clean
-clean:
-       @rm -rf tmp
-       @rm -rf release
-
-.PHONY: validate-cache
-validate-cache:
-       @echo "No cache validation schema available for $(shell pwd)"
-       @echo "Continuing ..."
-
-.PHONY: release
-release:
-       @cp -Rvp puppet/modules/* $(PUPPET_DEST)
diff --git a/fuel/build/f_osnaily/puppet/modules/osnailyfacter/examples/site.pp b/fuel/build/f_osnaily/puppet/modules/osnailyfacter/examples/site.pp
deleted file mode 100644 (file)
index 1014056..0000000
+++ /dev/null
@@ -1,366 +0,0 @@
-$fuel_settings = parseyaml($astute_settings_yaml)
-
-$openstack_version = {
-  'keystone'   => 'installed',
-  'glance'     => 'installed',
-  'horizon'    => 'installed',
-  'nova'       => 'installed',
-  'novncproxy' => 'installed',
-  'cinder'     => 'installed',
-}
-
-tag("${::fuel_settings['deployment_id']}::${::fuel_settings['environment']}")
-
-#Stages configuration
-stage {'zero': } ->
-stage {'opncheck': } ->
-stage {'first': } ->
-stage {'openstack-custom-repo': } ->
-stage {'netconfig': } ->
-stage {'corosync_setup': } ->
-stage {'openstack-firewall': } -> Stage['main']
-
-class begin_deployment ()
-{
-  $role = $::fuel_settings['role']
-  notify { "***** Beginning deployment of node ${::hostname} with role $role *****": }
-}
-
-class {'begin_deployment': stage => 'zero' }
-
-stage {'glance-image':
-  require => Stage['main'],
-}
-
-if $::fuel_settings['nodes'] {
-  $nodes_hash = $::fuel_settings['nodes']
-# OPNFV addition to add to hosts file
-  if ($::fuel_settings['opnfv'] and
-    $::fuel_settings['opnfv']['hosts']) {
-    $extras_hash = $::fuel_settings['opnfv']['hosts']
-  } else {
-    $extras_hash = undef
-  }
-
-  $dns_nameservers=$::fuel_settings['dns_nameservers']
-  $node = filter_nodes($nodes_hash,'name',$::hostname)
-  if empty($node) {
-    fail("Node $::hostname is not defined in the hash structure")
-  }
-
-  $default_gateway = $node[0]['default_gateway']
-
-  $base_syslog_hash     = $::fuel_settings['base_syslog']
-  $syslog_hash          = $::fuel_settings['syslog']
-
-  $disable_offload      = $::fuel_settings['disable_offload']
-  if $disable_offload {
-    L23network::L3::Ifconfig<||> {
-      ethtool =>     {
-        'K' => ['gso off',  'gro off'],
-      }
-    }
-  }
-
-  $use_neutron = $::fuel_settings['quantum']
-
-  if (!empty(filter_nodes($::fuel_settings['nodes'], 'role', 'ceph-osd')) or
-    $::fuel_settings['storage']['volumes_ceph'] or
-    $::fuel_settings['storage']['images_ceph'] or
-    $::fuel_settings['storage']['objects_ceph']
-  ) {
-    $use_ceph = true
-  } else {
-    $use_ceph = false
-  }
-
-
-  if $use_neutron {
-    prepare_network_config($::fuel_settings['network_scheme'])
-    #
-    $internal_int     = get_network_role_property('management', 'interface')
-    $internal_address = get_network_role_property('management', 'ipaddr')
-    $internal_netmask = get_network_role_property('management', 'netmask')
-    #
-    $public_int = get_network_role_property('ex', 'interface')
-    if $public_int {
-      $public_address = get_network_role_property('ex', 'ipaddr')
-      $public_netmask = get_network_role_property('ex', 'netmask')
-
-      # TODO(Xarses): remove this after completing merge of
-      # multiple-cluster-networks
-      L23network::L3::Ifconfig<| title == $public_int |> {
-        default_gateway => true
-      }
-    } else {
-      # TODO(Xarses): remove this after completing merge of
-      # multiple-cluster-networks
-      $fw_admin_int = get_network_role_property('fw-admin', 'interface')
-      L23network::L3::Ifconfig<| title == $fw_admin_int |> {
-        default_gateway => true
-      }
-    }
-    #
-    $storage_address = get_network_role_property('storage', 'ipaddr')
-    $storage_netmask = get_network_role_property('storage', 'netmask')
-  } else {
-    $internal_address = $node[0]['internal_address']
-    $internal_netmask = $node[0]['internal_netmask']
-    $public_address = $node[0]['public_address']
-    $public_netmask = $node[0]['public_netmask']
-    $storage_address = $node[0]['storage_address']
-    $storage_netmask = $node[0]['storage_netmask']
-    $public_br = $node[0]['public_br']
-    $internal_br = $node[0]['internal_br']
-    $public_int   = $::fuel_settings['public_interface']
-    $internal_int = $::fuel_settings['management_interface']
-
-    # TODO(Xarses): remove this after completing merge of
-    # multiple-cluster-networks
-    L23network::L3::Ifconfig<| title == $public_int |> {
-      default_gateway => true
-    }
-
-  }
-}
-
-if ($::fuel_settings['neutron_mellanox']) {
-  $mellanox_mode = $::fuel_settings['neutron_mellanox']['plugin']
-} else {
-  $mellanox_mode = 'disabled'
-}
-
-# This parameter specifies the verbosity level of log messages
-# in openstack components config.
-# Debug would have set DEBUG level and ignore verbose settings, if any.
-# Verbose would have set INFO level messages
-# In case of non debug and non verbose - WARNING, default level would have set.
-$verbose = true
-$debug = $::fuel_settings['debug']
-
-### Storage Settings ###
-# Determine if any ceph parts have been asked for.
-# This will ensure that monitors are set up on controllers, even if no
-#  ceph-osd roles during deployment
-
-
-### Syslog ###
-#TODO(bogdando) move logging options to astute.yaml
-# Enable error messages reporting to rsyslog. Rsyslog must be installed in this case.
-$use_syslog = $::fuel_settings['use_syslog'] ? { default=>true }
-# Syslog facilities for main openstack services
-# should vary (reserved usage)
-# local1 is reserved for openstack-dashboard
-$syslog_log_facility_glance     = 'LOG_LOCAL2'
-$syslog_log_facility_cinder     = 'LOG_LOCAL3'
-$syslog_log_facility_neutron    = 'LOG_LOCAL4'
-$syslog_log_facility_nova       = 'LOG_LOCAL6'
-$syslog_log_facility_keystone   = 'LOG_LOCAL7'
-# could be the same
-# local0 is free for use
-$syslog_log_facility_murano     = 'LOG_LOCAL0'
-$syslog_log_facility_heat       = 'LOG_LOCAL0'
-$syslog_log_facility_sahara     = 'LOG_LOCAL0'
-$syslog_log_facility_ceilometer = 'LOG_LOCAL0'
-$syslog_log_facility_ceph       = 'LOG_LOCAL0'
-
-### Monit ###
-# Monit for compute nodes.
-# If enabled, will install monit and configure its watchdogs to track
-# nova-compute/api/network (and openvswitch service, if neutron enabled)
-# at compute nodes.
-# TODO(bogdando) set to true once monit package shipped with Fuel ISO
-$use_monit = false
-
-$nova_rate_limits = {
-  'POST' => 100000,
-  'POST_SERVERS' => 100000,
-  'PUT' => 1000, 'GET' => 100000,
-  'DELETE' => 100000
-}
-$cinder_rate_limits = {
-  'POST' => 100000,
-  'POST_SERVERS' => 100000,
-  'PUT' => 100000, 'GET' => 100000,
-  'DELETE' => 100000
-}
-
-###
-class advanced_node_netconfig {
-    $sdn = generate_network_config()
-    notify {"SDN: ${sdn}": }
-}
-
-case $::operatingsystem {
-  'redhat' : {
-    $queue_provider = 'qpid'
-    $custom_mysql_setup_class = 'pacemaker_mysql'
-  }
-  default: {
-    $queue_provider='rabbitmq'
-    $custom_mysql_setup_class='galera'
-  }
-}
-
-class os_common {
-  # OPNFV check if pre_deploy.sh has been run, otherwise fail
-  class {'opnfv::opncheck': stage => 'opncheck' }
-  if ($::fuel_settings['neutron_mellanox']) {
-    if ($::mellanox_mode != 'disabled') {
-      class { 'mellanox_openstack::ofed_recompile' :
-        stage => 'zero',
-      }
-    }
-    if ($::fuel_settings['storage']['iser']) {
-      class { 'mellanox_openstack::iser_rename':
-        stage => 'zero',
-        storage_parent => $::fuel_settings['neutron_mellanox']['storage_parent'],
-        iser_interface_name => $::fuel_settings['neutron_mellanox']['iser_interface_name'],
-      }
-      Class['mellanox_openstack::ofed_recompile'] -> Class['mellanox_openstack::iser_rename']
-    }
-  }
-  class {"l23network::hosts_file": stage => 'netconfig', nodes => $nodes_hash, extras => $extras_hash }
-  class {'l23network': use_ovs=>$use_neutron, stage=> 'netconfig'}
-  if $use_neutron {
-      class {'advanced_node_netconfig': stage => 'netconfig' }
-  } else {
-      class {'osnailyfacter::network_setup': stage => 'netconfig'}
-  }
-
-  if ($::osfamily == 'RedHat') {
-    package {'irqbalance': ensure => present} -> service {'irqbalance': ensure => running }
-  }
-
-  class { 'openstack::firewall':
-    stage => 'openstack-firewall',
-    nova_vnc_ip_range => $::fuel_settings['management_network_range'],
-  }
-
-  $base_syslog_rserver  = {
-    'remote_type' => 'tcp',
-    'server' => $base_syslog_hash['syslog_server'],
-    'port' => $base_syslog_hash['syslog_port']
-  }
-
-  # setting kernel reserved ports
-  # defaults are 49000,35357,41055,58882
-  class { 'openstack::reserved_ports':
-    stage => 'netconfig',
-  }
-
-  # setting service down time and report interval
-  # to 60 and 180 for Nova respectively to allow kernel
-  # to kill dead connections
-  # (see zendesk #1158 as well)
-  $nova_report_interval = '60'
-  $nova_service_down_time  = '180'
-
-  $syslog_rserver = {
-    'remote_type' => $syslog_hash['syslog_transport'],
-    'server' => $syslog_hash['syslog_server'],
-    'port' => $syslog_hash['syslog_port'],
-  }
-  if $syslog_hash['syslog_server'] != "" and $syslog_hash['syslog_port'] != "" and $syslog_hash['syslog_transport'] != "" {
-    $rservers = [$base_syslog_rserver, $syslog_rserver]
-  } else {
-    $rservers = [$base_syslog_rserver]
-  }
-
-  if $use_syslog {
-    class { "::openstack::logging":
-      stage          => 'first',
-      role           => 'client',
-      show_timezone  => true,
-      # log both locally include auth, and remote
-      log_remote     => true,
-      log_local      => true,
-      log_auth_local => true,
-      # keep four weekly log rotations, force rotate if 300M size have exceeded
-      rotation       => 'weekly',
-      keep           => '4',
-      minsize        => '10M',
-      maxsize        => '100M',
-      # remote servers to send logs to
-      rservers       => $rservers,
-      # should be true, if client is running at virtual node
-      virtual        => str2bool($::is_virtual),
-      # Rabbit doesn't support syslog directly
-      rabbit_log_level => 'NOTICE',
-      debug            => $debug,
-    }
-  }
-
-  class { 'osnailyfacter::atop':
-    stage => 'first',
-  }
-
-  class { 'osnailyfacter::ssh': }
-
-  #case $role {
-    #    /controller/:          { $hostgroup = 'controller' }
-    #    /swift-proxy/: { $hostgroup = 'swift-proxy' }
-    #    /storage/:{ $hostgroup = 'swift-storage'  }
-    #    /compute/: { $hostgroup = 'compute'  }
-    #    /cinder/: { $hostgroup = 'cinder'  }
-    #    default: { $hostgroup = 'generic' }
-    #}
-
-    #  if $nagios != 'false' {
-    #  class {'nagios':
-    #    proj_name       => $proj_name,
-    #    services        => [
-    #      'host-alive','nova-novncproxy','keystone', 'nova-scheduler',
-    #      'nova-consoleauth', 'nova-cert', 'haproxy', 'nova-api', 'glance-api',
-    #      'glance-registry','horizon', 'rabbitmq', 'mysql',
-    #    ],
-    #    whitelist       => ['127.0.0.1', $nagios_master],
-    #    hostgroup       => $hostgroup ,
-    #  }
-    # }
-
-  # Workaround for fuel bug with firewall
-  firewall {'003 remote rabbitmq ':
-    sport   => [ 4369, 5672, 15672, 41055, 55672, 61613 ],
-    source  => $::fuel_settings['master_ip'],
-    proto   => 'tcp',
-    action  => 'accept',
-    require => Class['openstack::firewall'],
-  }
-
-  firewall {'004 remote puppet ':
-    sport   => [ 8140 ],
-    source  => $master_ip,
-    proto   => 'tcp',
-    action  => 'accept',
-    require => Class['openstack::firewall'],
-  }
-
-  class { 'puppet::pull' :
-    modules_source   => $::fuel_settings['puppet_modules_source'],
-    manifests_source => $::fuel_settings['puppet_manifests_source'],
-  }
-} # OS_COMMON ENDS
-
-
-
-node default {
-  case $::fuel_settings['deployment_mode'] {
-    "singlenode": {
-      include "osnailyfacter::cluster_simple"
-      class {'os_common':}
-      class {'opnfv':}
-      }
-    "multinode": {
-      include "osnailyfacter::cluster_simple"
-      class {'os_common':}
-      class {'opnfv':}
-      }
-    /^(ha|ha_compact)$/: {
-      include "osnailyfacter::cluster_ha"
-      class {'os_common':}
-      class {'opnfv':}
-      }
-    "rpmcache": { include osnailyfacter::rpmcache }
-  }
-}
diff --git a/fuel/build/f_osnaily/puppet/modules/osnailyfacter/examples/site.pp.orig b/fuel/build/f_osnaily/puppet/modules/osnailyfacter/examples/site.pp.orig
deleted file mode 100644 (file)
index cc05b3f..0000000
+++ /dev/null
@@ -1,353 +0,0 @@
-$fuel_settings = parseyaml($astute_settings_yaml)
-
-$openstack_version = {
-  'keystone'   => 'installed',
-  'glance'     => 'installed',
-  'horizon'    => 'installed',
-  'nova'       => 'installed',
-  'novncproxy' => 'installed',
-  'cinder'     => 'installed',
-}
-
-tag("${::fuel_settings['deployment_id']}::${::fuel_settings['environment']}")
-
-#Stages configuration
-stage {'zero': } ->
-stage {'first': } ->
-stage {'openstack-custom-repo': } ->
-stage {'netconfig': } ->
-stage {'corosync_setup': } ->
-stage {'openstack-firewall': } -> Stage['main']
-
-class begin_deployment ()
-{
-  $role = $::fuel_settings['role']
-  notify { "***** Beginning deployment of node ${::hostname} with role $role *****": }
-}
-
-class {'begin_deployment': stage => 'zero' }
-
-stage {'glance-image':
-  require => Stage['main'],
-}
-
-if $::fuel_settings['nodes'] {
-  $nodes_hash = $::fuel_settings['nodes']
-  $dns_nameservers=$::fuel_settings['dns_nameservers']
-  $node = filter_nodes($nodes_hash,'name',$::hostname)
-  if empty($node) {
-    fail("Node $::hostname is not defined in the hash structure")
-  }
-
-  $default_gateway = $node[0]['default_gateway']
-
-  $base_syslog_hash     = $::fuel_settings['base_syslog']
-  $syslog_hash          = $::fuel_settings['syslog']
-
-  $disable_offload      = $::fuel_settings['disable_offload']
-  if $disable_offload {
-    L23network::L3::Ifconfig<||> {
-      ethtool =>     {
-        'K' => ['gso off',  'gro off'],
-      }
-    }
-  }
-
-  $use_neutron = $::fuel_settings['quantum']
-
-  if (!empty(filter_nodes($::fuel_settings['nodes'], 'role', 'ceph-osd')) or
-    $::fuel_settings['storage']['volumes_ceph'] or
-    $::fuel_settings['storage']['images_ceph'] or
-    $::fuel_settings['storage']['objects_ceph']
-  ) {
-    $use_ceph = true
-  } else {
-    $use_ceph = false
-  }
-
-
-  if $use_neutron {
-    prepare_network_config($::fuel_settings['network_scheme'])
-    #
-    $internal_int     = get_network_role_property('management', 'interface')
-    $internal_address = get_network_role_property('management', 'ipaddr')
-    $internal_netmask = get_network_role_property('management', 'netmask')
-    #
-    $public_int = get_network_role_property('ex', 'interface')
-    if $public_int {
-      $public_address = get_network_role_property('ex', 'ipaddr')
-      $public_netmask = get_network_role_property('ex', 'netmask')
-
-      # TODO(Xarses): remove this after completing merge of
-      # multiple-cluster-networks
-      L23network::L3::Ifconfig<| title == $public_int |> {
-        default_gateway => true
-      }
-    } else {
-      # TODO(Xarses): remove this after completing merge of
-      # multiple-cluster-networks
-      $fw_admin_int = get_network_role_property('fw-admin', 'interface')
-      L23network::L3::Ifconfig<| title == $fw_admin_int |> {
-        default_gateway => true
-      }
-    }
-    #
-    $storage_address = get_network_role_property('storage', 'ipaddr')
-    $storage_netmask = get_network_role_property('storage', 'netmask')
-  } else {
-    $internal_address = $node[0]['internal_address']
-    $internal_netmask = $node[0]['internal_netmask']
-    $public_address = $node[0]['public_address']
-    $public_netmask = $node[0]['public_netmask']
-    $storage_address = $node[0]['storage_address']
-    $storage_netmask = $node[0]['storage_netmask']
-    $public_br = $node[0]['public_br']
-    $internal_br = $node[0]['internal_br']
-    $public_int   = $::fuel_settings['public_interface']
-    $internal_int = $::fuel_settings['management_interface']
-
-    # TODO(Xarses): remove this after completing merge of
-    # multiple-cluster-networks
-    L23network::L3::Ifconfig<| title == $public_int |> {
-      default_gateway => true
-    }
-
-  }
-}
-
-if ($::fuel_settings['neutron_mellanox']) {
-  $mellanox_mode = $::fuel_settings['neutron_mellanox']['plugin']
-} else {
-  $mellanox_mode = 'disabled'
-}
-
-# This parameter specifies the verbosity level of log messages
-# in openstack components config.
-# Debug would have set DEBUG level and ignore verbose settings, if any.
-# Verbose would have set INFO level messages
-# In case of non debug and non verbose - WARNING, default level would have set.
-$verbose = true
-$debug = $::fuel_settings['debug']
-
-### Storage Settings ###
-# Determine if any ceph parts have been asked for.
-# This will ensure that monitors are set up on controllers, even if no
-#  ceph-osd roles during deployment
-
-
-### Syslog ###
-#TODO(bogdando) move logging options to astute.yaml
-# Enable error messages reporting to rsyslog. Rsyslog must be installed in this case.
-$use_syslog = $::fuel_settings['use_syslog'] ? { default=>true }
-# Syslog facilities for main openstack services
-# should vary (reserved usage)
-# local1 is reserved for openstack-dashboard
-$syslog_log_facility_glance     = 'LOG_LOCAL2'
-$syslog_log_facility_cinder     = 'LOG_LOCAL3'
-$syslog_log_facility_neutron    = 'LOG_LOCAL4'
-$syslog_log_facility_nova       = 'LOG_LOCAL6'
-$syslog_log_facility_keystone   = 'LOG_LOCAL7'
-# could be the same
-# local0 is free for use
-$syslog_log_facility_murano     = 'LOG_LOCAL0'
-$syslog_log_facility_heat       = 'LOG_LOCAL0'
-$syslog_log_facility_sahara     = 'LOG_LOCAL0'
-$syslog_log_facility_ceilometer = 'LOG_LOCAL0'
-$syslog_log_facility_ceph       = 'LOG_LOCAL0'
-
-### Monit ###
-# Monit for compute nodes.
-# If enabled, will install monit and configure its watchdogs to track
-# nova-compute/api/network (and openvswitch service, if neutron enabled)
-# at compute nodes.
-# TODO(bogdando) set to true once monit package shipped with Fuel ISO
-$use_monit = false
-
-$nova_rate_limits = {
-  'POST' => 100000,
-  'POST_SERVERS' => 100000,
-  'PUT' => 1000, 'GET' => 100000,
-  'DELETE' => 100000
-}
-$cinder_rate_limits = {
-  'POST' => 100000,
-  'POST_SERVERS' => 100000,
-  'PUT' => 100000, 'GET' => 100000,
-  'DELETE' => 100000
-}
-
-###
-class advanced_node_netconfig {
-    $sdn = generate_network_config()
-    notify {"SDN: ${sdn}": }
-}
-
-case $::operatingsystem {
-  'redhat' : {
-    $queue_provider = 'qpid'
-    $custom_mysql_setup_class = 'pacemaker_mysql'
-  }
-  default: {
-    $queue_provider='rabbitmq'
-    $custom_mysql_setup_class='galera'
-  }
-}
-
-class os_common {
-  if ($::fuel_settings['neutron_mellanox']) {
-    if ($::mellanox_mode != 'disabled') {
-      class { 'mellanox_openstack::ofed_recompile' :
-        stage => 'zero',
-      }
-    }
-    if ($::fuel_settings['storage']['iser']) {
-      class { 'mellanox_openstack::iser_rename':
-        stage => 'zero',
-        storage_parent => $::fuel_settings['neutron_mellanox']['storage_parent'],
-        iser_interface_name => $::fuel_settings['neutron_mellanox']['iser_interface_name'],
-      }
-      Class['mellanox_openstack::ofed_recompile'] -> Class['mellanox_openstack::iser_rename']
-    }
-  }
-
-  class {"l23network::hosts_file": stage => 'netconfig', nodes => $nodes_hash }
-  class {'l23network': use_ovs=>$use_neutron, stage=> 'netconfig'}
-  if $use_neutron {
-      class {'advanced_node_netconfig': stage => 'netconfig' }
-  } else {
-      class {'osnailyfacter::network_setup': stage => 'netconfig'}
-  }
-
-  if ($::osfamily == 'RedHat') {
-    package {'irqbalance': ensure => present} -> service {'irqbalance': ensure => running }
-  }
-
-  class { 'openstack::firewall':
-    stage => 'openstack-firewall',
-    nova_vnc_ip_range => $::fuel_settings['management_network_range'],
-  }
-
-  $base_syslog_rserver  = {
-    'remote_type' => 'tcp',
-    'server' => $base_syslog_hash['syslog_server'],
-    'port' => $base_syslog_hash['syslog_port']
-  }
-
-  # setting kernel reserved ports
-  # defaults are 49000,35357,41055,58882
-  class { 'openstack::reserved_ports':
-    stage => 'netconfig',
-  }
-
-  # setting service down time and report interval
-  # to 60 and 180 for Nova respectively to allow kernel
-  # to kill dead connections
-  # (see zendesk #1158 as well)
-  $nova_report_interval = '60'
-  $nova_service_down_time  = '180'
-
-  $syslog_rserver = {
-    'remote_type' => $syslog_hash['syslog_transport'],
-    'server' => $syslog_hash['syslog_server'],
-    'port' => $syslog_hash['syslog_port'],
-  }
-  if $syslog_hash['syslog_server'] != "" and $syslog_hash['syslog_port'] != "" and $syslog_hash['syslog_transport'] != "" {
-    $rservers = [$base_syslog_rserver, $syslog_rserver]
-  } else {
-    $rservers = [$base_syslog_rserver]
-  }
-
-  if $use_syslog {
-    class { "::openstack::logging":
-      stage          => 'first',
-      role           => 'client',
-      show_timezone  => true,
-      # log both locally include auth, and remote
-      log_remote     => true,
-      log_local      => true,
-      log_auth_local => true,
-      # keep four weekly log rotations, force rotate if 300M size have exceeded
-      rotation       => 'weekly',
-      keep           => '4',
-      minsize        => '10M',
-      maxsize        => '100M',
-      # remote servers to send logs to
-      rservers       => $rservers,
-      # should be true, if client is running at virtual node
-      virtual        => str2bool($::is_virtual),
-      # Rabbit doesn't support syslog directly
-      rabbit_log_level => 'NOTICE',
-      debug            => $debug,
-    }
-  }
-
-  class { 'osnailyfacter::atop':
-    stage => 'first',
-  }
-
-  class { 'osnailyfacter::ssh': }
-
-  #case $role {
-    #    /controller/:          { $hostgroup = 'controller' }
-    #    /swift-proxy/: { $hostgroup = 'swift-proxy' }
-    #    /storage/:{ $hostgroup = 'swift-storage'  }
-    #    /compute/: { $hostgroup = 'compute'  }
-    #    /cinder/: { $hostgroup = 'cinder'  }
-    #    default: { $hostgroup = 'generic' }
-    #}
-
-    #  if $nagios != 'false' {
-    #  class {'nagios':
-    #    proj_name       => $proj_name,
-    #    services        => [
-    #      'host-alive','nova-novncproxy','keystone', 'nova-scheduler',
-    #      'nova-consoleauth', 'nova-cert', 'haproxy', 'nova-api', 'glance-api',
-    #      'glance-registry','horizon', 'rabbitmq', 'mysql',
-    #    ],
-    #    whitelist       => ['127.0.0.1', $nagios_master],
-    #    hostgroup       => $hostgroup ,
-    #  }
-    # }
-
-  # Workaround for fuel bug with firewall
-  firewall {'003 remote rabbitmq ':
-    sport   => [ 4369, 5672, 15672, 41055, 55672, 61613 ],
-    source  => $::fuel_settings['master_ip'],
-    proto   => 'tcp',
-    action  => 'accept',
-    require => Class['openstack::firewall'],
-  }
-
-  firewall {'004 remote puppet ':
-    sport   => [ 8140 ],
-    source  => $master_ip,
-    proto   => 'tcp',
-    action  => 'accept',
-    require => Class['openstack::firewall'],
-  }
-
-  class { 'puppet::pull' :
-    modules_source   => $::fuel_settings['puppet_modules_source'],
-    manifests_source => $::fuel_settings['puppet_manifests_source'],
-  }
-} # OS_COMMON ENDS
-
-
-
-node default {
-  case $::fuel_settings['deployment_mode'] {
-    "singlenode": {
-      include "osnailyfacter::cluster_simple"
-      class {'os_common':}
-      }
-    "multinode": {
-      include "osnailyfacter::cluster_simple"
-      class {'os_common':}
-      }
-    /^(ha|ha_compact)$/: {
-      include "osnailyfacter::cluster_ha"
-      class {'os_common':}
-      }
-    "rpmcache": { include osnailyfacter::rpmcache }
-  }
-}
diff --git a/fuel/build/f_resolvconf/Makefile b/fuel/build/f_resolvconf/Makefile
deleted file mode 100644 (file)
index 0949737..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-##############################################################################
-# Copyright (c) 2015 Ericsson AB and others.
-# stefan.k.berg@ericsson.com
-# jonas.bjurel@ericsson.com
-# 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
-##############################################################################
-
-TOP := $(shell pwd)
-
-.PHONY: all
-all:
-
-.PHONY: clean
-clean:
-       @rm -rf tmp
-       @rm -rf release
-
-.PHONY: validate-cache
-validate-cache:
-       @echo "No cache validation schema available for $(shell pwd)"
-       @echo "Continuing ..."
-
-.PHONY: release
-release:
-       @cp -Rvp puppet/modules/* $(PUPPET_DEST)
diff --git a/fuel/build/f_resolvconf/README b/fuel/build/f_resolvconf/README
deleted file mode 100644 (file)
index 5ff570f..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-##############################################################################
-# Copyright (c) 2015 Ericsson AB and others.
-# stefan.k.berg@ericsson.com
-# jonas.bjurel@ericsson.com
-# 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
-##############################################################################
-
-Addition to generate resolv.conf separately for compute hosts and controller
-hosts through Astute.
-
-The astute.yaml file should contain entries as those below to have them picked
-up during deployment:
-
-opnfv:
-  dns:
-    compute:
-    - 100.100.100.2
-    - 100.100.100.3
-    controller:
-    - 100.100.100.102
-    - 100.100.100.104
-
-The suggested method for adding this information is to prepare for deployment
-with the Fuel GUI or CLI, but before actually deploying:
-
-1. Download the current deployment for all hosts: fuel --env 1 deployment --default
-2. Iterate through the hosts in "deployment_1" and add hosts configuration in
-   the above format to their respective yaml file.
-3. Upload the modifed deployment information: fuel --env 1 deployment --upload
-
-After deploying, the additions will be included in /etc/astute.yaml of each
-host.
-
diff --git a/fuel/build/f_resolvconf/puppet/modules/opnfv/manifests/resolver.pp b/fuel/build/f_resolvconf/puppet/modules/opnfv/manifests/resolver.pp
deleted file mode 100644 (file)
index 44f36a2..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-##############################################################################
-# Copyright (c) 2015 Ericsson AB and others.
-# stefan.k.berg@ericsson.com
-# jonas.bjurel@ericsson.com
-# 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
-##############################################################################
-
-# Class: opnfv::resolver
-#
-# Add resolver content passed through astute.yaml into resolv.conf
-# depending on the role
-#
-# Suitable yaml content:
-# <begin>
-# opnfv:
-#  dns:
-#    compute:
-#    - 100.100.100.2
-#    - 100.100.100.3
-#    controller:
-#    - 100.100.100.102
-#    - 100.100.100.104
-# <end>
-#
-#
-#
-
-class opnfv::resolver()
-{
-  if $::fuel_settings['role'] {
-    if $::fuel_settings['role']  == 'primary-controller' {
-      $role = 'controller'
-    } else {
-      $role = $::fuel_settings['role']
-    }
-
-    if ($::fuel_settings['opnfv']
-        and $::fuel_settings['opnfv']['dns']
-        and $::fuel_settings['opnfv']['dns'][$role]) {
-      $nameservers=$::fuel_settings['opnfv']['dns'][$role]
-
-      file { '/etc/resolv.conf':
-            owner   => root,
-            group   => root,
-            mode    => '0644',
-            content => template('opnfv/resolv.conf.erb'),
-      }
-
-      # /etc/resolv.conf is re-generated at each boot by resolvconf, so we
-      # need to store there as well.
-
-      case $::operatingsystem {
-        'ubuntu': {
-          file { '/etc/resolvconf/resolv.conf.d/head':
-            owner   => root,
-            group   => root,
-            mode    => '0644',
-            content => template('opnfv/resolv.conf.erb'),
-          }
-        }
-        'centos': {
-          exec { 'for file in ifcfg-eth*; do grep -q -F "PEERDNS=" $file || echo "PEERDNS=no" >> $file; done ':
-            provider => 'shell',
-            cwd      => '/etc/sysconfig/network-scripts',
-          }
-        }
-      }
-    }
-  }
-}
diff --git a/fuel/build/f_resolvconf/puppet/modules/opnfv/templates/resolv.conf.erb b/fuel/build/f_resolvconf/puppet/modules/opnfv/templates/resolv.conf.erb
deleted file mode 100644 (file)
index 7a29dca..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-##############################################################################
-# Copyright (c) 2015 Ericsson AB and others.
-# stefan.k.berg@ericsson.com
-# jonas.bjurel@ericsson.com
-# 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
-##############################################################################
-
-# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
-#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
-# Modified by OPNFV.
-<% @nameservers.each do |ns| %>nameserver <%= ns %>
-<% end -%>
diff --git a/fuel/build/f_resolvconf/testing/README b/fuel/build/f_resolvconf/testing/README
deleted file mode 100644 (file)
index 6846a8d..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-##############################################################################
-# Copyright (c) 2015 Ericsson AB and others.
-# stefan.k.berg@ericsson.com
-# jonas.bjurel@ericsson.com
-# 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
-##############################################################################
-
-In order to test the functionality without performing a full deployment,
-run "puppet apply" on the fake_init.pp which will call only the
-opnfv::resolvconf class.
diff --git a/fuel/build/f_resolvconf/testing/fake_init.pp b/fuel/build/f_resolvconf/testing/fake_init.pp
deleted file mode 100644 (file)
index 496dcd2..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-##############################################################################
-# Copyright (c) 2015 Ericsson AB and others.
-# stefan.k.berg@ericsson.com
-# jonas.bjurel@ericsson.com
-# 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_settings = parseyaml($astute_settings_yaml)
-
-include opnfv::resolvconf
index b61c063..8341d72 100644 (file)
@@ -1,11 +1,19 @@
---- prepare-build-env.sh.orig  2015-08-11 22:12:19.750626481 +0200
-+++ prepare-build-env.sh       2015-08-11 22:43:42.308300848 +0200
-@@ -43,7 +43,7 @@
-   trusty)
-     GEMPKG="ruby ruby-dev"
-     # we need multistrap version 2.1.6, let's install it from devops mirror
--    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys D5A05778
-+    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 1D2B45A2
-     echo "deb http://mirror.fuel-infra.org/devops/ubuntu/ ./" | sudo tee /etc/apt/sources.list.d/fuel-devops.list
-     # be sure, that we will not update multistrap in future
-     sudo tee /etc/apt/preferences.d/fuel-pin-300 <<EOF
+*** prepare-build-env.sh.orig  Tue Sep  8 08:47:46 2015
+--- prepare-build-env.sh       Tue Sep  8 08:48:22 2015
+***************
+*** 41,47 ****
+  
+    trusty)
+      GEMPKG="ruby ruby-dev"
+!     sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys D5A05778
+      echo "deb http://mirror.fuel-infra.org/devops/ubuntu/ ./" | sudo tee /etc/apt/sources.list.d/fuel-devops.list
+      sudo apt-get update && sudo apt-get -y install nodejs nodejs-legacy npm
+      ;;
+--- 41,47 ----
+  
+    trusty)
+      GEMPKG="ruby ruby-dev"
+!     sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 1D2B45A2
+      echo "deb http://mirror.fuel-infra.org/devops/ubuntu/ ./" | sudo tee /etc/apt/sources.list.d/fuel-devops.list
+      sudo apt-get update && sudo apt-get -y install nodejs nodejs-legacy npm
+      ;;
diff --git a/fuel/build/fuel-main_5.patch b/fuel/build/fuel-main_5.patch
new file mode 100644 (file)
index 0000000..ec75626
--- /dev/null
@@ -0,0 +1,19 @@
+*** prepare-build-env.sh.orig  Tue Sep  8 10:29:08 2015
+--- prepare-build-env.sh       Tue Sep  8 10:30:21 2015
+***************
+*** 43,49 ****
+      GEMPKG="ruby ruby-dev"
+      sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 1D2B45A2
+      echo "deb http://mirror.fuel-infra.org/devops/ubuntu/ ./" | sudo tee /etc/apt/sources.list.d/fuel-devops.list
+!     sudo apt-get update && sudo apt-get -y install nodejs nodejs-legacy npm
+      ;;
+  
+    precise)
+--- 43,49 ----
+      GEMPKG="ruby ruby-dev"
+      sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 1D2B45A2
+      echo "deb http://mirror.fuel-infra.org/devops/ubuntu/ ./" | sudo tee /etc/apt/sources.list.d/fuel-devops.list
+!     sudo apt-get update && sudo apt-get -y install nodejs nodejs-legacy npm dosfstools xorriso
+      ;;
+  
+    precise)
index 1101ac9..0d15aec 100644 (file)
@@ -17,9 +17,9 @@ TreeDefault {
 };
 
 BinDirectory "pool/main" {
-  Packages "dists/precise/main/binary-amd64/Packages";
-  BinOverride "./indices/override.precise.main";
-  ExtraOverride "./indices/override.precise.extra.main";
+  Packages "dists/trusty/main/binary-amd64/Packages";
+  BinOverride "./indices/override.trusty.main";
+  ExtraOverride "./indices/override.trusty.extra.main";
 };
 
 Default {
index 0252882..02706bd 100644 (file)
@@ -10,9 +10,9 @@
 
 APT::FTPArchive::Release::Origin "Ubuntu";
 APT::FTPArchive::Release::Label "Ubuntu";
-APT::FTPArchive::Release::Suite "precise";
-APT::FTPArchive::Release::Version "12.04";
-APT::FTPArchive::Release::Codename "precise";
+APT::FTPArchive::Release::Suite "trusty";
+APT::FTPArchive::Release::Version "1.04";
+APT::FTPArchive::Release::Codename "trusty";
 APT::FTPArchive::Release::Architectures "amd64";
 APT::FTPArchive::Release::Components "main";
-APT::FTPArchive::Release::Description "Ubuntu Precise 12.04 LTS";
+APT::FTPArchive::Release::Description "Ubuntu Trusty Tahr 14.04 LTS";
index 2acbcf0..3b5b239 100644 (file)
@@ -17,8 +17,8 @@ TreeDefault {
 };
 
 BinDirectory "pool/debian-installer" {
-  Packages "dists/precise/main/debian-installer/binary-amd64/Packages";
-  BinOverride "./indices/override.precise.main.debian-installer";
+  Packages "dists/trusty/main/debian-installer/binary-amd64/Packages";
+  BinOverride "./indices/override.trusty.main.debian-installer";
 };
 
 Default {
index dbb26d6..f0bb849 100755 (executable)
@@ -122,17 +122,17 @@ prep_make_live() {
     ssh-copy-id root@$FUELHOST
     sshfs root@1${FUELHOST}:/ $TMP_HOSTMOUNT
 
-    if [ -f  $REPO/dists/precise/main/binary-amd64/Packages.backup ]; then
+    if [ -f  $REPO/dists/trusty/main/binary-amd64/Packages.backup ]; then
         echo "Error - found backup file for Packages!"
         exit 1
     fi
 
-    if [ -f  $REPO/dists/precise/main/binary-amd64/Packages.gz.backup ]; then
+    if [ -f  $REPO/dists/trusty/main/binary-amd64/Packages.gz.backup ]; then
         echo "Error - found backup file for Packages.gz!"
         exit 1
     fi
 
-    if [ -f  $REPO/dists/precise/Release.backup ]; then
+    if [ -f  $REPO/dists/trusty/Release.backup ]; then
         echo "Error - found backup file for Release!"
         exit 1
     fi
@@ -142,20 +142,24 @@ prep_make_live() {
         exit 1
     fi
 
-    cp $REPO/dists/precise/main/binary-amd64/Packages $REPO/dists/precise/main/binary-amd64/Packages.backup
-    cp $REPO/dists/precise/main/binary-amd64/Packages.gz $REPO/dists/precise/main/binary-amd64/Packages.gz.backup
-    cp $REPO/dists/precise/Release $REPO/dists/precise/Release.backup
+    cp $REPO/dists/trusty/main/binary-amd64/Packages $REPO/dists/trusty/main/binary-amd64/Packages.backup
+    cp $REPO/dists/trusty/main/binary-amd64/Packages.gz $REPO/dists/trusty/main/binary-amd64/Packages.gz.backup
+    cp $REPO/dists/trusty/Release $REPO/dists/trusty/Release.backup
     cp -Rvp $DEST/etc/puppet $DEST/etc/puppet.backup
 }
 
 post_make_live() {
-    echo "Installing into Puppet:"
-    cd $TOP/release/puppet/modules
-    for dir in *
-    do
-        echo "   $dir"
-        cp -Rp $dir $DEST/etc/puppet/modules
-    done
+    if [ -d $TOP/release/puppet/modules ]; then
+        echo "Installing into Puppet:"
+        cd $TOP/release/puppet/modules
+        if [ `ls -1 | wc -l` -gt 0 ]; then
+            for dir in *
+            do
+                echo "   $dir"
+                cp -Rp $dir $DEST/etc/puppet/modules
+            done
+        fi
+    fi
 }
 
 make_live() {
@@ -210,18 +214,21 @@ iso_copy_puppet() {
     tar xzf $DEST/puppet-slave.tgz
     cd $TOP/release/puppet/modules
 
-    verify_orig_files $TMP_ISOPUPPET/release/puppet $TOP/release/puppet/modules
     # Remove all .orig files before copying as they now have been verfied
-    find $TOP/release/puppet/modules -type f -name '*.orig' -exec rm {} \;
-
-    for dir in $TOP/release/puppet/modules/*
-    do
-        echo "   $dir"
-        cp -Rp $dir $TMP_ISOPUPPET/release/puppet
-    done
-    cd $TMP_ISOPUPPET/release/puppet
 
+    if [ -d $TOP/release/puppet/modules ]; then
+        if [ `ls -1 | wc -l` -gt 0 ]; then
+            verify_orig_files $TMP_ISOPUPPET/release/puppet $TOP/release/puppet/modules
+            find $TOP/release/puppet/modules -type f -name '*.orig' -exec rm {} \;
+            for dir in $TOP/release/puppet/modules/*
+            do
+                echo "   $dir"
+                cp -Rp $dir $TMP_ISOPUPPET/release/puppet
+            done
+        fi
+    fi
 
+    cd $TMP_ISOPUPPET/release/puppet
     tar czf $DEST/puppet-slave.tgz .
     cd $TOP
     rm -Rf $TMP_ISOPUPPET
@@ -250,7 +257,7 @@ iso_modify_image () {
 make_iso() {
     prep_make_iso
     copy_packages
-    iso_copy_puppet
+    #iso_copy_puppet
     iso_modify_image
     make_iso_image
 }
@@ -263,6 +270,8 @@ copy_packages() {
     do
         echo "   $udeb"
         cp $udeb $REPO/pool/debian-installer
+       echo "Did not expect a package here, not supported"
+       exit 1
     done
 
     cd $TOP/release/packages/ubuntu/pool/main
@@ -270,6 +279,8 @@ copy_packages() {
     do
         echo "   $deb"
         cp $deb $REPO/pool/main
+       echo "Did not expect a package here, not supported"
+       exit 1
     done
 
     echo "Running Fuel package patch file"
@@ -277,6 +288,8 @@ copy_packages() {
 
     for line in `cat $TOP/apply_patches | grep -v "^#" | grep -v "^$"`; do
         echo "Line is $line"
+        echo "Did not expect a line here, not supported"
+        exit 1
         ref=`echo $line | cut -d '>' -f 1`
         origpkg=`echo $line| cut -d '>' -f 2`
         url=`echo $line | cut -d '>' -f 3`
@@ -315,10 +328,11 @@ copy_packages() {
     done
 
     printf "Done running Fuel patch file\n\n"
-
     echo "Running add packages file"
     for line in `cat $TOP/add_opnfv_packages | grep -v "^#" | grep -v "^$"`; do
         echo "Line is $line"
+        echo "Did not expect a line here, not supported"
+        exit 1
         ref=`echo $line | cut -d '>' -f 1`
         origpkg=`echo $line| cut -d '>' -f 2`
         url=`echo $line | cut -d '>' -f 3`
@@ -370,6 +384,8 @@ copy_packages() {
         printf "\n\n" | tee -a  $REPORTFILE
         for line in `cat $TOP/patch-packages/release/patch-replacements`
         do
+            echo "Did not expect a line here, not supported"
+                   exit 1
             frompkg=`echo $line | cut -d ">" -f 1`
             topkg=`echo $line | cut -d ">" -f 2`
             echo "CM: Applying patch to $frompkg" | tee -a $REPORTFILE
@@ -411,17 +427,19 @@ copy_packages() {
     APT_DEB_CONF="$TOP/install/apt-ftparchive-deb.conf"
     APT_UDEB_CONF="$TOP/install/apt-ftparchive-udeb.conf"
 
-    apt-ftparchive -c "${APT_REL_CONF}" generate "${APT_DEB_CONF}"
-    apt-ftparchive generate "${APT_UDEB_CONF}"
+    echo Not running echo apt-ftparchive -c "${APT_REL_CONF}" generate "${APT_DEB_CONF}"
+    echo Not running apt-ftparchive -c "${APT_REL_CONF}" generate "${APT_DEB_CONF}"
+    echo Not running apt-ftparchive generate "${APT_UDEB_CONF}"
+    echo Not running apt-ftparchive generate "${APT_UDEB_CONF}"
 
     # Fuel also needs this index file
-    cat dists/precise/main/binary-amd64/Packages | \
-        awk '/^Package:/{pkg=$2}
-    /^Version:/{print pkg ": \"" $2 "\""}' > ubuntu-versions.yaml
-    cp ubuntu-versions.yaml $DEST
+    # cat dists/trusty/main/binary-amd64/Packages | \
+    #    awk '/^Package:/{pkg=$2}
+    /^Version:/{print pkg ": \"" $2 "\""}' > ubuntu-versions.yaml
+    cp ubuntu-versions.yaml $DEST
 
-    apt-ftparchive -c "${APT_REL_CONF}" release dists/precise/ > dists/precise/Release
-    gzip -9cf dists/precise/Release > dists/precise/Release.gz
+    # apt-ftparchive -c "${APT_REL_CONF}" release dists/trusty/ > dists/trusty/Release
+    # gzip -9cf dists/trusty/Release > dists/trusty/Release.gz
 
     popd > /dev/null
 
@@ -444,6 +462,8 @@ if [ $MODE = "iso" ]; then
     NEWISO=$3
     VOLUMEID="$4 $5"
     REPORTFILE="${NEWISO}.txt"
+    echo "Opening reportfile at $REPORTFILE"
+    touch $REPORTFILE
     if [ ! -f $ORIGISO ]; then
         echo "Can't find original MOS 5.1 iso at $ORIGISO"
         rm $CONF
index 36b8884..a9e74bc 100755 (executable)
@@ -31,17 +31,17 @@ DEST=$MOUNT
 REPO=$DEST/var/www/nailgun/ubuntu/fuelweb/x86_64
 
 cd $REPO
-if [ ! -f  $REPO/dists/precise/main/binary-amd64/Packages.backup ]; then
+if [ ! -f  $REPO/dists/trusty/main/binary-amd64/Packages.backup ]; then
     echo "Error - didn't find backup file for Packages!"
     exit 1
 fi
 
-if [ ! -f  $REPO/dists/precise/main/binary-amd64/Packages.gz.backup ]; then
+if [ ! -f  $REPO/dists/trusty/main/binary-amd64/Packages.gz.backup ]; then
     echo "Error - didn't find backup file for Packages.gz!"
     exit 1
 fi
 
-if [ ! -f  $REPO/dists/precise/Release.backup ]; then
+if [ ! -f  $REPO/dists/trusty/Release.backup ]; then
     echo "Error - didn't find backup file for Release!"
     exit 1
 fi
@@ -71,9 +71,9 @@ cd $REPO
 
 echo "Restoring backups of datafiles"
 
-rm -f $REPO/dists/precise/main/binary-amd64/Packages $REPO/dists/precise/main/binary-amd64/Packages.gz
-rm -f $REPO/dists/precise/Release $DEST/etc/puppet/manifests/site.pp
-mv $REPO/dists/precise/main/binary-amd64/Packages.backup $REPO/dists/precise/main/binary-amd64/Packages
-mv $REPO/dists/precise/main/binary-amd64/Packages.gz.backup $REPO/dists/precise/main/binary-amd64/Packages.gz
-mv $REPO/dists/precise/Release.backup $REPO/dists/precise/Release
+rm -f $REPO/dists/trusty/main/binary-amd64/Packages $REPO/dists/trusty/main/binary-amd64/Packages.gz
+rm -f $REPO/dists/trusty/Release $DEST/etc/puppet/manifests/site.pp
+mv $REPO/dists/trusty/main/binary-amd64/Packages.backup $REPO/dists/trusty/main/binary-amd64/Packages
+mv $REPO/dists/trusty/main/binary-amd64/Packages.gz.backup $REPO/dists/trusty/main/binary-amd64/Packages.gz
+mv $REPO/dists/trusty/Release.backup $REPO/dists/trusty/Release
 mv $DEST/etc/puppet/manifests/site.pp.backup $DEST/etc/puppet/manifests/site.pp
index bd3a437..339c9e7 100644 (file)
@@ -8,7 +8,7 @@
 # http://www.apache.org/licenses/LICENSE-2.0
 ##############################################################################
 
-SUBDIRS := debootstrap novnc neutron-common
+SUBDIRS := 
 SUBCLEAN = $(addsuffix .clean,$(SUBDIRS))
 
 .PHONY: $(SUBDIRS) $(SUBCLEAN) clean
diff --git a/fuel/build/patch-packages/debootstrap/Makefile b/fuel/build/patch-packages/debootstrap/Makefile
deleted file mode 100644 (file)
index 0109312..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-##############################################################################
-# Copyright (c) 2015 Ericsson AB and others.
-# stefan.k.berg@ericsson.com
-# jonas.bjurel@ericsson.com
-# 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
-##############################################################################
-
-TOP := $(shell pwd)
-
-.PHONY: all
-all:
-
-.PHONY: clean
-clean:
-       @rm -rf udebPackage
-       @rm -rf *.udeb
-       @rm -rf patch-replacements
-       @rm -rf .udebpackage
-
-.PHONY: release
-release:
-       ../tools/udeb_unpack debootstrap-udeb_1.0.4*.udeb $(ORIGISO)
-       patch -s -p0 < debootstrap.patch
-       ../tools/udeb_pack $(REVSTATE)
-       @cp *.udeb $(UDEB_DEST)
diff --git a/fuel/build/patch-packages/debootstrap/debootstrap.patch b/fuel/build/patch-packages/debootstrap/debootstrap.patch
deleted file mode 100644 (file)
index 62342c9..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
---- udebPackage/usr/share/debootstrap/scripts/gutsy.orig       2014-11-10 18:21:37.000000000 +0000
-+++ udebPackage/usr/share/debootstrap/scripts/gutsy    2015-04-15 09:28:44.290437000 +0000
-@@ -112,7 +112,8 @@
-
-       p; progress $baseprog $bases INSTCORE "Installing core packages" #2
-       ln -sf mawk "$TARGET/usr/bin/awk"
--      x_core_install base-files base-passwd
-+      x_core_install base-passwd
-+      x_core_install base-files
-       p; progress $baseprog $bases INSTCORE "Installing core packages" #3
-       x_core_install dpkg
-
diff --git a/fuel/build/patch-packages/neutron-common/Makefile b/fuel/build/patch-packages/neutron-common/Makefile
deleted file mode 100644 (file)
index e9d43a4..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-TOP := $(shell pwd)
-
-.PHONY: all
-all:
-
-.PHONY: clean
-clean:
-       @rm -rf package
-       @rm -rf *.deb
-       @rm -rf patch-replacements
-       @rm -rf .package
-
-.PHONY: release
-release:
-       ../tools/deb_unpack neutron-common_*.deb $(ORIGISO)
-       patch -s -p0 < quota.patch
-       ../tools/deb_pack $(REVSTATE)
-       @cp *.deb ../release/packages
-       @cat patch-replacements >> ../release/patch-replacements
diff --git a/fuel/build/patch-packages/neutron-common/quota.patch b/fuel/build/patch-packages/neutron-common/quota.patch
deleted file mode 100644 (file)
index 6f179f0..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-*** package/etc/neutron/neutron.conf.orig      2015-05-25 15:50:09.933131041 +0200
---- package/etc/neutron/neutron.conf   2015-05-25 15:55:07.859210010 +0200
-***************
-*** 502,518 ****
-  # default_quota = -1
-  
-  # Number of networks allowed per tenant. A negative value means unlimited.
-! # quota_network = 10
-  
-  # Number of subnets allowed per tenant. A negative value means unlimited.
-! # quota_subnet = 10
-  
-  # Number of ports allowed per tenant. A negative value means unlimited.
-  # quota_port = 50
-  
-  # Number of security groups allowed per tenant. A negative value means
-  # unlimited.
-! # quota_security_group = 10
-  
-  # Number of security group rules allowed per tenant. A negative value means
-  # unlimited.
---- 502,521 ----
-  # default_quota = -1
-  
-  # Number of networks allowed per tenant. A negative value means unlimited.
-! # This quota modified by OPNFV: 10 -> 50
-! quota_network = 50
-  
-  # Number of subnets allowed per tenant. A negative value means unlimited.
-! # This quota modified by OPNFV: 10 -> 50
-! quota_subnet = 50
-  
-  # Number of ports allowed per tenant. A negative value means unlimited.
-  # quota_port = 50
-  
-  # Number of security groups allowed per tenant. A negative value means
-  # unlimited.
-! # This quota modified by OPNFV: 10 -> 50
-! quota_security_group = 50
-  
-  # Number of security group rules allowed per tenant. A negative value means
-  # unlimited.
-***************
-*** 538,547 ****
-  # quota_health_monitor = -1
-  
-  # Number of routers allowed per tenant. A negative value means unlimited.
-! # quota_router = 10
-  
-  # Number of floating IPs allowed per tenant. A negative value means unlimited.
-! # quota_floatingip = 50
-  
-  # Number of firewalls allowed per tenant. A negative value means unlimited.
-  # quota_firewall = 1
---- 541,552 ----
-  # quota_health_monitor = -1
-  
-  # Number of routers allowed per tenant. A negative value means unlimited.
-! # This quota modified by OPNFV: 10 -> 50
-! quota_router = 50
-  
-  # Number of floating IPs allowed per tenant. A negative value means unlimited.
-! # This quota modified by OPNFV: 50 -> 100
-! quota_floatingip = 100
-  
-  # Number of firewalls allowed per tenant. A negative value means unlimited.
-  # quota_firewall = 1
diff --git a/fuel/build/patch-packages/novnc/Makefile b/fuel/build/patch-packages/novnc/Makefile
deleted file mode 100644 (file)
index 16c0196..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-# This is a temporary patch which add missing files
-# inside novnc ubuntu package.
-# Related bug: https://bugs.launchpad.net/fuel/+bug/1433894
-TOP := $(shell pwd)
-
-.PHONY: all
-all:
-
-.PHONY: clean
-clean:
-       @rm -rf package
-       @rm -rf *.deb
-       @rm -rf patch-replacements
-       @rm -rf .package
-
-.PHONY: release
-release:
-       ../tools/deb_unpack novnc_0.5.1*.deb $(ORIGISO)
-       ./fix-missing.sh
-       ../tools/deb_pack $(REVSTATE)
-       @cp *.deb ../release/packages
-       @cat patch-replacements >> ../release/patch-replacements
diff --git a/fuel/build/patch-packages/novnc/fix-missing.sh b/fuel/build/patch-packages/novnc/fix-missing.sh
deleted file mode 100755 (executable)
index 61ef1db..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/bash
-
-MISSING_FILES="keyboard.js keysymdef.js keysym.js"
-NOVNC_SOURCE="http://raw.githubusercontent.com/kanaka/noVNC/v0.5.1/include"
-
-for file in $MISSING_FILES
-do
-  wget -P package/usr/share/novnc/include/ "$NOVNC_SOURCE/$file"
-done
index 51ccdae..f8e164a 100755 (executable)
@@ -79,6 +79,32 @@ EOF
 # END of usage description
 ############################################################################
 
+############################################################################
+# Begin of string xor function
+#
+function  xor()
+{
+      local res=(`echo "$1" | sed "s/../0x& /g"`)
+      shift 1
+      while [[ "$1" ]]; do
+            local one=(`echo "$1" | sed "s/../0x& /g"`)
+            local count1=${#res[@]}
+            if [ $count1 -lt ${#one[@]} ]
+            then
+                  count1=${#one[@]}
+            fi
+            for (( i = 0; i < $count1; i++ ))
+            do
+                  res[$i]=$((${one[$i]:-0} ^ ${res[$i]:-0}))
+            done
+            shift 1
+      done
+       printf "%02x" "${res[@]}"
+}
+#
+# END of string xor function
+############################################################################
+
 ############################################################################
 # BEGIN of variables to customize
 #
@@ -87,7 +113,7 @@ RESULT_DIR="${BUILD_BASE}/release"
 BUILD_SPEC="${BUILD_BASE}/config.mk"
 CACHE_DIR="cache"
 LOCAL_CACHE_ARCH_NAME="fuel-cache"
-REMOTE_CACHE_ARCH_NAME="fuel_cache-$(md5sum ${BUILD_SPEC}| cut -f1 -d " ")"
+
 REMOTE_ACCESS_METHD=curl
 INCLUDE_DIR=../include
 #
@@ -117,6 +143,14 @@ BUILD_DIR=
 BUILD_LOG=
 BUILD_VERSION=
 MAKE_ARGS=
+FUEL_GIT_SRC="$(make -f ../build/config.mk get-fuel-repo | cut -d " " -f1)"
+FUEL_GIT_BRANCH="$(make -f ../build/config.mk get-fuel-repo | cut -d " " -f2)"
+CACHE_MD5=$(md5sum ../build/cache.mk | cut -f1 -d " ")
+CONFIG_MD5=$(md5sum ../build/config.mk | cut -f1 -d " ")
+FUEL_COMMIT_ID=$(git ls-remote $FUEL_GIT_SRC -t $FUEL_GIT_BRANCH | cut -d $'\t' -f1)
+REMOTE_CACHE_ARCH_HASH_TMP="$(xor $CACHE_MD5 $CONFIG_MD5)"
+REMOTE_CACHE_ARCH_HASH="$(xor $REMOTE_CACHE_ARCH_HASH_TMP $FUEL_COMMIT_ID)"
+REMOTE_CACHE_ARCH_NAME="fuel_cache-$REMOTE_CACHE_ARCH_HASH"
 #
 # END of script assigned variables
 ############################################################################
@@ -135,53 +169,53 @@ source ${INCLUDE_DIR}/build.sh.debug
 while getopts "s:c:v:f:l:r:RtTh" OPTION
 do
     case $OPTION in
-       h)
-           usage
-           rc=0
-           exit $rc
-           ;;
-
-       s)
-           BUILD_SPEC=${OPTARG}
-           ;;
-
-       c)
-           BUILD_CACHE_URI=${OPTARG}
-           ;;
-
-       l)
-           BUILD_LOG=${OPTARG}
-           ;;
-
-       v)
-           BUILD_VERSION=${OPTARG}
-           ;;
-
-       f)
-           BUILD_FLAGS=${OPTARG}
-           ;;
-
-       r)  REMOTE_ACCESS_METHD=${OPTARG}
-           ;;
-
-       R)
-           RECURSIVE=1
-           ;;
-
-       t)
-           INTEGRATION_TEST=1
-           ;;
-
-       T)
-           INTEGRATION_TEST=1
-           FULL_INTEGRATION_TEST=1
-           ;;
-
-       *)
-           echo "${OPTION} is not a valid argument"
-           rc=100
-           exit $rc
-           ;;
+        h)
+            usage
+            rc=0
+            exit $rc
+            ;;
+
+        s)
+            BUILD_SPEC=${OPTARG}
+            ;;
+
+        c)
+            BUILD_CACHE_URI=${OPTARG}
+            ;;
+
+        l)
+            BUILD_LOG=${OPTARG}
+            ;;
+
+        v)
+            BUILD_VERSION=${OPTARG}
+            ;;
+
+        f)
+            BUILD_FLAGS=${OPTARG}
+            ;;
+
+        r)  REMOTE_ACCESS_METHD=${OPTARG}
+            ;;
+
+        R)
+            RECURSIVE=1
+            ;;
+
+        t)
+            INTEGRATION_TEST=1
+            ;;
+
+        T)
+            INTEGRATION_TEST=1
+            FULL_INTEGRATION_TEST=1
+            ;;
+
+        *)
+            echo "${OPTION} is not a valid argument"
+            rc=100
+            exit $rc
+            ;;
     esac
 done
 
@@ -191,44 +225,44 @@ fi
 
 for ((i=0; i<${#BUILD_FLAGS};i++)); do
     case ${BUILD_FLAGS:$i:1} in
-       s)
-           rc=0
-           exit $rc
-           ;;
-
-       f)
-           rc=1
-           exit $rc
-           ;;
-
-       t)
-           UNIT_TEST=1
-           ;;
-
-       i)
-           INTERACTIVE=1
-           ;;
-
-       P)
-           POPULATE_CACHE=1
-           ;;
-
-       d)
-           DETACH=1
-           echo "Detach is not yet supported - exiting ...."
-           rc=100
-           exit $rc
-           ;;
-
-       D)
-           DEBUG=1
-           ;;
-
-       *)
-           echo "${BUILD_FLAGS:$i:1} is not a valid build flag - exiting ...."
-           rc=100
-           exit $rc
-           ;;
+        s)
+            rc=0
+            exit $rc
+            ;;
+
+        f)
+            rc=1
+            exit $rc
+            ;;
+
+        t)
+            UNIT_TEST=1
+            ;;
+
+        i)
+            INTERACTIVE=1
+            ;;
+
+        P)
+            POPULATE_CACHE=1
+            ;;
+
+        d)
+            DETACH=1
+            echo "Detach is not yet supported - exiting ...."
+            rc=100
+            exit $rc
+            ;;
+
+        D)
+            DEBUG=1
+            ;;
+
+        *)
+            echo "${BUILD_FLAGS:$i:1} is not a valid build flag - exiting ...."
+            rc=100
+            exit $rc
+            ;;
     esac
 done
 
@@ -252,13 +286,13 @@ fi
 
 if [ ! -z ${BUILD_LOG} ]; then
     if [[ ${RECURSIVE} -ne 1 ]]; then
-       set +e
-       eval $0 -R $@ > ${BUILD_LOG} 2>&1
-       rc=$?
-       set -e
-       if [ $rc -ne 0]; then
-           exit $rc
-       fi
+        set +e
+        eval $0 -R $@ > ${BUILD_LOG} 2>&1
+        rc=$?
+        set -e
+        if [ $rc -ne 0]; then
+            exit $rc
+        fi
     fi
 fi
 
@@ -284,47 +318,86 @@ echo $$ > ${LOCK_FILE}
 
 if [ ! -z ${BUILD_CACHE_URI} ]; then
     if [ ${POPULATE_CACHE} -ne 1 ]; then
-       rm -rf ${CACHE_TMP}/cache
-       mkdir -p ${CACHE_TMP}/cache
-       echo "Downloading cach file ${BUILD_CACHE_URI}/${REMOTE_CACHE_ARCH_NAME} ..."
-       set +e
-       ${REMOTE_ACCESS_METHD} -o ${CACHE_TMP}/cache/${LOCAL_CACHE_ARCH_NAME}.tgz ${BUILD_CACHE_URI}/${REMOTE_CACHE_ARCH_NAME}.tgz
-       rc=$?
-       set -e
-       if [ $rc -ne 0 ]; then
-               echo "Remote cache does not exist, or is not accessible - a new cache will be built ..."
-               POPULATE_CACHE=1
-       else
-           echo "Unpacking cache file ..."
-           tar -C ${CACHE_TMP}/cache -xvf ${CACHE_TMP}/cache/${LOCAL_CACHE_ARCH_NAME}.tgz
-           cp ${CACHE_TMP}/cache/cache/.versions ${BUILD_BASE}/.
-           set +e
-                   make -C ${BUILD_BASE} validate-cache;
-           rc=$?
-           set -e
-
-           if [ $rc -ne 0 ]; then
-               echo "Cache invalid - a new cache will be built "
-               POPULATE_CACHE=1
-           else
-               cp -rf ${CACHE_TMP}/cache/cache/. ${BUILD_BASE}
-           fi
-           rm -rf ${CACHE_TMP}/cache
-       fi
+        rm -rf ${CACHE_TMP}/cache
+        mkdir -p ${CACHE_TMP}/cache
+        echo "Downloading cache archive ${BUILD_CACHE_URI}/${REMOTE_CACHE_ARCH_NAME} ..."
+        set +e
+        ${REMOTE_ACCESS_METHD} -o ${CACHE_TMP}/cache/${LOCAL_CACHE_ARCH_NAME}.tgz ${BUILD_CACHE_URI}/${REMOTE_CACHE_ARCH_NAME}.tgz
+        rc=$?
+        set -e
+        if [ $rc -ne 0 ]; then
+            echo "Remote cache does not exist, or is not accessible - a new cache will be built ..."
+            POPULATE_CACHE=1
+        else
+            echo "Unpacking cache archive ..."
+            set +e
+            tar -C ${CACHE_TMP}/cache -xvf ${CACHE_TMP}/cache/${LOCAL_CACHE_ARCH_NAME}.tgz
+            rc=$?
+            set -e
+            if [ $rc -ne 0 ]; then
+                echo "WARNING: The cache seems to be corrupt or has trailing garbage, will try to use brute force"
+                echo "Info about the cache below:"
+                set +e
+                file ${CACHE_TMP}/cache/${LOCAL_CACHE_ARCH_NAME}.tgz
+                tar -C ${CACHE_TMP}/cache -tvf ${CACHE_TMP}/cache/${LOCAL_CACHE_ARCH_NAME}.tgz
+                set -e
+                echo "Current time is: `date`"
+                set +e
+                pushd ${CACHE_TMP}/cache
+                gunzip -dcq ${CACHE_TMP}/cache/${LOCAL_CACHE_ARCH_NAME}.tgz | tar -xvf -
+                rc=$?
+                set -e
+                popd
+                if [ $rc -ne 0 ]; then
+                    echo "ERROR: Not able to resolve the cache corruption"
+                    POPULATE_CACHE=1
+                else
+                    echo "The chache corruption was resolved"
+                    cp ${CACHE_TMP}/cache/cache/.versions ${BUILD_BASE}/.
+                    set +e
+                    make -C ${BUILD_BASE} validate-cache;
+                    rc=$?
+                    set -e
+                    if [ $rc -ne 0 ]; then
+                        echo "Cache invalid - a new cache will be built "
+                        POPULATE_CACHE=1
+                    else
+                        echo "Cache is up to date and will be used"
+                        cp -rf ${CACHE_TMP}/cache/cache/. ${BUILD_BASE}
+                    fi
+                fi
+            else
+                echo "Cache archive is intact"
+                cp ${CACHE_TMP}/cache/cache/.versions ${BUILD_BASE}/.
+                set +e
+                make -C ${BUILD_BASE} validate-cache;
+                rc=$?
+                set -e
+
+                if [ $rc -ne 0 ]; then
+                    echo "Cache invalid - a new cache will be built "
+                    POPULATE_CACHE=1
+                else
+                    echo "Cache is up to date and will be used"
+                    cp -rf ${CACHE_TMP}/cache/cache/. ${BUILD_BASE}
+                fi
+            fi
+            rm -rf ${CACHE_TMP}/cache
+        fi
     fi
 fi
 
 if [ ${POPULATE_CACHE} -eq 1 ]; then
     if [ ${DEBUG} -eq 0 ]; then
-       set +e
-       cd ${BUILD_BASE} && make clean
-       rc=$?
-       set -e
-       if [ $rc -ne 0 ]; then
-           echo "Build - make clean failed, exiting ..."
-           rc=100
-           exit $rc
-       fi
+        set +e
+        cd ${BUILD_BASE} && make clean
+        rc=$?
+        set -e
+        if [ $rc -ne 0 ]; then
+            echo "Build - make clean failed, exiting ..."
+            rc=100
+            exit $rc
+        fi
     fi
 fi
 
@@ -352,12 +425,12 @@ if [ ${DEBUG} -eq 0 ]; then
     rc=$?
     set -e
     if [ $rc -gt 0 ]; then
-       echo "Build: make all failed, exiting ..."
-       rc=200
-       exit $rc
+        echo "Build: make all failed, exiting ..."
+        rc=200
+        exit $rc
     fi
 else
-debug_make
+    debug_make
 fi
 set +e
 make -C ${BUILD_BASE} prepare-cache
@@ -377,11 +450,20 @@ cp ${RESULT_DIR}/*.iso* ${BUILD_DIR}
 
 if [ $POPULATE_CACHE -eq 1 ]; then
     if [ ! -z ${BUILD_CACHE_URI} ]; then
-       echo "Building cache ..."
-       tar --dereference -C ${BUILD_BASE} -caf ${BUILD_BASE}/${LOCAL_CACHE_ARCH_NAME}.tgz ${CACHE_DIR}
-       echo "Uploading cache ${BUILD_CACHE_URI}/${REMOTE_CACHE_ARCH_NAME}"
-       ${REMOTE_ACCESS_METHD} -T ${BUILD_BASE}/${LOCAL_CACHE_ARCH_NAME}.tgz ${BUILD_CACHE_URI}/${REMOTE_CACHE_ARCH_NAME}.tgz
-       rm ${BUILD_BASE}/${LOCAL_CACHE_ARCH_NAME}.tgz
+        echo "Building cache ..."
+        tar --dereference -C ${BUILD_BASE} -caf ${BUILD_BASE}/${LOCAL_CACHE_ARCH_NAME}.tgz ${CACHE_DIR}
+        set +e
+        tar -C ${CACHE_TMP}/cache -tvf ${BUILD_BASE}/${LOCAL_CACHE_ARCH_NAME}.tgz
+        rc=$?
+        set -e
+        if [ $rc -ne 0 ]; then
+            echo "WARNING the cache archive generated seems to be corrupt, or containing trailing garbage"
+        else
+            echo "The Cache archive build is intact"
+        fi
+        echo "Uploading cache ${BUILD_CACHE_URI}/${REMOTE_CACHE_ARCH_NAME}"
+        ${REMOTE_ACCESS_METHD} -T ${BUILD_BASE}/${LOCAL_CACHE_ARCH_NAME}.tgz ${BUILD_CACHE_URI}/${REMOTE_CACHE_ARCH_NAME}.tgz
+        rm ${BUILD_BASE}/${LOCAL_CACHE_ARCH_NAME}.tgz
     fi
 fi
 echo "Success!!!"
index 06199d2..e76d222 100644 (file)
@@ -88,7 +88,7 @@ class ConfigureNodes(object):
         interface_yaml = ('%s/node_%s/interfaces.yaml'
                           % (self.yaml_config_dir, node_id))
         check_file_exists(interface_yaml)
-        backup(interface_yaml)
+        backup('%s/node_%s' % (self.yaml_config_dir, node_id))
 
         with io.open(interface_yaml) as stream:
             interfaces = yaml.load(stream)
index 1534f0b..705dda5 100644 (file)
@@ -35,11 +35,9 @@ ArgParser = common.ArgParser
 
 class Deploy(object):
 
-    def __init__(self, dea_file, blade_node_file, plugins_dir,
-                 no_health_check):
+    def __init__(self, dea_file, blade_node_file, no_health_check):
         self.dea = DeploymentEnvironmentAdapter(dea_file)
         self.blade_node_file = blade_node_file
-        self.plugins_dir = plugins_dir
         self.no_health_check = no_health_check
         self.macs_per_blade = {}
         self.blades = self.dea.get_node_ids()
@@ -74,19 +72,8 @@ class Deploy(object):
                          self.node_roles_dict, self.no_health_check)
         dep.deploy()
 
-    def install_plugins(self):
-        log('Installing Fuel Plugins')
-        if self.plugins_dir and os.path.isdir(self.plugins_dir):
-            for f in glob.glob('%s/*.rpm' % self.plugins_dir):
-                log('Found plugin %s, installing ...' % f)
-                r, c = exec_cmd('fuel plugins --install %s' % f, False)
-                if c > 0 and 'does not update installed package' not in r:
-                    err('Installation of Fuel Plugin %s failed' % f)
-
     def deploy(self):
 
-        self.install_plugins()
-
         self.get_blade_node_mapping()
 
         self.assign_roles_to_cluster_node_ids()
@@ -105,20 +92,15 @@ def parse_arguments():
                         help='Deployment Environment Adapter: dea.yaml')
     parser.add_argument('blade_node_file', action='store',
                         help='Blade Node mapping: blade_node.yaml')
-    parser.add_argument('plugins_dir', nargs='?', action='store',
-                        help='Plugins directory')
     args = parser.parse_args()
     check_file_exists(args.dea_file)
     check_file_exists(args.blade_node_file)
-    return (args.dea_file, args.blade_node_file, args.plugins_dir,
-            args.no_health_check)
+    return (args.dea_file, args.blade_node_file, args.no_health_check)
 
 
 def main():
-
-    dea_file, blade_node_file, plugins_dir, no_health_check = parse_arguments()
-
-    deploy = Deploy(dea_file, blade_node_file, plugins_dir, no_health_check)
+    dea_file, blade_node_file, no_health_check = parse_arguments()
+    deploy = Deploy(dea_file, blade_node_file, no_health_check)
     deploy.deploy()
 
 if __name__ == '__main__':
index 43bd4b6..90f24fd 100644 (file)
@@ -25,10 +25,6 @@ run_proc = common.run_proc
 parse = common.parse
 err = common.err
 log = common.log
-literal_unicode = common.literal_unicode
-literal_unicode_representer = common.literal_unicode_representer
-yaml.add_representer(literal_unicode, literal_unicode_representer)
-backup = common.backup
 
 
 class Deployment(object):
@@ -41,70 +37,6 @@ class Deployment(object):
         self.node_id_roles_dict = node_id_roles_dict
         self.no_health_check = no_health_check
 
-    def download_deployment_info(self):
-        log('Download deployment info for environment %s' % self.env_id)
-        deployment_dir = ('%s/deployment_%s'
-                          % (self.yaml_config_dir, self.env_id))
-        if os.path.exists(deployment_dir):
-            shutil.rmtree(deployment_dir)
-        exec_cmd('fuel deployment --env %s --download --dir %s'
-                 % (self.env_id, self.yaml_config_dir))
-
-    def upload_deployment_info(self):
-        log('Upload deployment info for environment %s' % self.env_id)
-        exec_cmd('fuel --env %s deployment --upload --dir %s'
-                 % (self.env_id, self.yaml_config_dir))
-
-    def __update_opnfv_dict(self, opnfv_dict, key, node_type, val):
-        if val:
-            if key not in opnfv_dict:
-                opnfv_dict.update({key: {}})
-            opnfv_dict[key].update({node_type: val})
-
-    def config_opnfv(self):
-        log('Configure OPNFV settings on environment %s' % self.env_id)
-        self.download_deployment_info()
-
-        opnfv = {'opnfv': {}}
-        dns_list = self.dea.get_dns_list()
-        host_list = self.dea.get_hosts()
-
-        ntp_list_for_controller = ''
-        for ntp in self.dea.get_ntp_list():
-            ntp_list_for_controller += 'server %s\n' % ntp
-
-        ntp_list_for_compute = ''
-        for controller_file in glob.glob(
-                        '%s/deployment_%s/*controller*.yaml'
-                        % (self.yaml_config_dir, self.env_id)):
-            with io.open(controller_file) as stream:
-                controller = yaml.load(stream)
-                ntp_list_for_compute += 'server %s\n' % controller['fqdn']
-
-        self.__update_opnfv_dict(
-            opnfv['opnfv'], 'dns', 'controller', dns_list[:])
-        self.__update_opnfv_dict(
-            opnfv['opnfv'], 'dns', 'compute', dns_list[:])
-        self.__update_opnfv_dict(
-            opnfv['opnfv'], 'ntp', 'controller',
-            literal_unicode(ntp_list_for_controller))
-        self.__update_opnfv_dict(
-            opnfv['opnfv'], 'ntp', 'compute',
-            literal_unicode(ntp_list_for_compute))
-
-        if host_list:
-            opnfv['opnfv'].update({'hosts': host_list})
-
-        for node_file in glob.glob('%s/deployment_%s/*.yaml'
-                                   % (self.yaml_config_dir, self.env_id)):
-            with io.open(node_file) as stream:
-                node = yaml.load(stream)
-                node.update(opnfv)
-            with io.open(node_file, 'w') as stream:
-                yaml.dump(node, stream, default_flow_style=False)
-
-        self.upload_deployment_info()
-
     def run_deploy(self):
         WAIT_LOOP = 180
         SLEEP_TIME = 60
@@ -159,7 +91,6 @@ class Deployment(object):
             err('Healthcheck failed!')
 
     def deploy(self):
-        self.config_opnfv()
         self.run_deploy()
         self.verify_node_status()
         if not self.no_health_check:
index 3472e89..2a8c0d1 100644 (file)
@@ -13,6 +13,7 @@ import os
 import logging
 import argparse
 import shutil
+import stat
 import errno
 
 N = {'id': 0, 'status': 1, 'name': 2, 'cluster': 3, 'ip': 4, 'mac': 5,
@@ -21,7 +22,7 @@ E = {'id': 0, 'status': 1, 'name': 2, 'mode': 3, 'release_id': 4,
      'changes': 5, 'pending_release_id': 6}
 R = {'id': 0, 'name': 1, 'state': 2, 'operating_system': 3, 'version': 4}
 RO = {'name': 0, 'conflicts': 1}
-
+CWD = os.getcwd()
 LOG = logging.getLogger(__name__)
 LOG.setLevel(logging.DEBUG)
 formatter = logging.Formatter('%(message)s')
@@ -31,7 +32,7 @@ LOG.addHandler(out_handler)
 out_handler = logging.FileHandler('autodeploy.log', mode='w')
 out_handler.setFormatter(formatter)
 LOG.addHandler(out_handler)
-
+os.chmod('autodeploy.log', stat.S_IRWXU | stat.S_IRWXG | stat.S_IRWXO)
 
 def exec_cmd(cmd, check=True):
     process = subprocess.Popen(cmd,
@@ -88,11 +89,15 @@ def warn(message):
 
 
 def check_file_exists(file_path):
+    if not os.path.dirname(file_path):
+        file_path = '%s/%s' % (CWD, file_path)
     if not os.path.isfile(file_path):
         err('ERROR: File %s not found\n' % file_path)
 
 
 def check_dir_exists(dir_path):
+    if not os.path.dirname(dir_path):
+        dir_path = '%s/%s' % (CWD, dir_path)
     if not os.path.isdir(dir_path):
         err('ERROR: Directory %s not found\n' % dir_path)
 
@@ -106,7 +111,7 @@ def create_dir_if_not_exists(dir_path):
 def delete(f):
     if os.path.isfile(f):
         log('Deleting file %s' % f)
-        os.remove(file)
+        os.remove(f)
     elif os.path.isdir(f):
         log('Deleting directory %s' % f)
         shutil.rmtree(f)
@@ -135,14 +140,6 @@ class ArgParser(argparse.ArgumentParser):
         sys.exit(2)
 
 
-class literal_unicode(unicode):
-    pass
-
-
-def literal_unicode_representer(dumper, data):
-    return dumper.represent_scalar(u'tag:yaml.org,2002:str', data, style='|')
-
-
 def backup(path):
     src = path
     dst = path + '_orig'
index 9c1ebfc..5f1a415 100644 (file)
@@ -97,11 +97,3 @@ class DeploymentEnvironmentAdapter(object):
         settings = self.get_property('settings')
         ntp_list = settings['editable']['external_ntp']['ntp_list']['value']
         return [n.strip() for n in ntp_list.split(',')]
-
-    def get_hosts(self):
-        opnfv = self.get_property('opnfv')
-        hosts_list = []
-        for host in opnfv['hosts']:
-            if host['address'] and host['fqdn']:
-                hosts_list.append(host)
-        return hosts_list
index 304db66..75cc6cb 100644 (file)
@@ -102,7 +102,8 @@ class AutoDeploy(object):
         fuel = InstallFuelMaster(self.dea_file, self.dha_file,
                                  self.fuel_conf['ip'], self.fuel_username,
                                  self.fuel_password, self.fuel_node_id,
-                                 self.iso_file, WORK_DIR)
+                                 self.iso_file, WORK_DIR,
+                                 self.fuel_plugins_dir)
         fuel.install()
 
     def patch_iso(self, new_iso):
@@ -158,8 +159,7 @@ class AutoDeploy(object):
     def deploy_env(self):
         dep = CloudDeploy(self.dea, self.dha, self.fuel_conf['ip'],
                           self.fuel_username, self.fuel_password,
-                          self.dea_file, self.fuel_plugins_dir, WORK_DIR,
-                          self.no_health_check)
+                          self.dea_file, WORK_DIR, self.no_health_check)
         return dep.deploy()
 
     def setup_execution_environment(self):
@@ -242,15 +242,26 @@ def parse_arguments():
     parser.add_argument('-c', dest='cleanup', action='store_true',
                         default=False,
                         help='Cleanup after deploy')
-    parser.add_argument('-iso', dest='iso_file', action='store', nargs='?',
-                        default='%s/OPNFV.iso' % CWD,
-                        help='ISO File [default: OPNFV.iso]')
-    parser.add_argument('-dea', dest='dea_file', action='store', nargs='?',
-                        default='%s/dea.yaml' % CWD,
-                        help='Deployment Environment Adapter: dea.yaml')
-    parser.add_argument('-dha', dest='dha_file', action='store', nargs='?',
-                        default='%s/dha.yaml' % CWD,
-                        help='Deployment Hardware Adapter: dha.yaml')
+    if {'-iso', '-dea', '-dha', '-h'}.intersection(sys.argv):
+        parser.add_argument('-iso', dest='iso_file', action='store', nargs='?',
+                            default='%s/OPNFV.iso' % CWD,
+                            help='ISO File [default: OPNFV.iso]')
+        parser.add_argument('-dea', dest='dea_file', action='store', nargs='?',
+                            default='%s/dea.yaml' % CWD,
+                            help='Deployment Environment Adapter: dea.yaml')
+        parser.add_argument('-dha', dest='dha_file', action='store', nargs='?',
+                            default='%s/dha.yaml' % CWD,
+                            help='Deployment Hardware Adapter: dha.yaml')
+    else:
+        parser.add_argument('iso_file', action='store', nargs='?',
+                            default='%s/OPNFV.iso' % CWD,
+                            help='ISO File [default: OPNFV.iso]')
+        parser.add_argument('dea_file', action='store', nargs='?',
+                            default='%s/dea.yaml' % CWD,
+                            help='Deployment Environment Adapter: dea.yaml')
+        parser.add_argument('dha_file', action='store', nargs='?',
+                            default='%s/dha.yaml' % CWD,
+                            help='Deployment Hardware Adapter: dha.yaml')
     parser.add_argument('-s', dest='storage_dir', action='store',
                         default='%s/images' % CWD,
                         help='Storage Directory [default: images]')
index 4953bde..be8bed3 100644 (file)
@@ -30,20 +30,18 @@ RO = common.RO
 
 CLOUD_DEPLOY_FILE = 'deploy.py'
 BLADE_RESTART_TIMES = 3
-PLUGINS_DIR = '~/plugins'
 
 
 class CloudDeploy(object):
 
     def __init__(self, dea, dha, fuel_ip, fuel_username, fuel_password,
-                 dea_file, fuel_plugins_dir, work_dir, no_health_check):
+                 dea_file, work_dir, no_health_check):
         self.dea = dea
         self.dha = dha
         self.fuel_ip = fuel_ip
         self.fuel_username = fuel_username
         self.fuel_password = fuel_password
         self.dea_file = dea_file
-        self.fuel_plugins_dir = fuel_plugins_dir
         self.work_dir = work_dir
         self.no_health_check = no_health_check
         self.file_dir = os.path.dirname(os.path.realpath(__file__))
@@ -66,14 +64,6 @@ class CloudDeploy(object):
             for f in glob.glob('%s/cloud/*' % self.file_dir):
                 s.scp_put(f, self.work_dir)
 
-    def upload_plugin_files(self):
-        with self.ssh as s:
-            s.exec_cmd('rm -rf %s' % PLUGINS_DIR, False)
-            s.exec_cmd('mkdir %s' % PLUGINS_DIR)
-            if self.fuel_plugins_dir:
-                for f in glob.glob('%s/*.rpm' % self.fuel_plugins_dir):
-                    s.scp_put(f, PLUGINS_DIR)
-
     def power_off_nodes(self):
         for node_id in self.node_ids:
             self.dha.node_power_off(node_id)
@@ -98,10 +88,10 @@ class CloudDeploy(object):
         blade_node_file = '%s/%s' % (
             self.work_dir, os.path.basename(self.blade_node_file))
         with self.ssh as s:
-            status = s.run('python %s %s %s %s %s'
-                           % (('-nh' if self.no_health_check else ''),
-                              deploy_app, dea_file, blade_node_file,
-                              PLUGINS_DIR))
+            status = s.run(
+                'python %s %s %s %s' % (
+                    deploy_app, ('-nh' if self.no_health_check else ''),
+                    dea_file, blade_node_file))
         return status
 
     def check_supported_release(self):
@@ -253,6 +243,4 @@ class CloudDeploy(object):
 
         self.upload_cloud_deployment_files()
 
-        self.upload_plugin_files()
-
         return self.run_cloud_deploy(CLOUD_DEPLOY_FILE)
index da313b0..acacf37 100644 (file)
@@ -11,6 +11,7 @@
 import common
 import time
 import os
+import glob
 from ssh_client import SSHClient
 from dha_adapters.libvirt_adapter import LibvirtAdapter
 
@@ -22,12 +23,14 @@ delete = common.delete
 TRANSPLANT_FUEL_SETTINGS = 'transplant_fuel_settings.py'
 BOOTSTRAP_ADMIN = '/usr/local/sbin/bootstrap_admin_node'
 FUEL_CLIENT_CONFIG = '/etc/fuel/client/config.yaml'
+PLUGINS_DIR = '~/plugins'
 
 
 class InstallFuelMaster(object):
 
     def __init__(self, dea_file, dha_file, fuel_ip, fuel_username,
-                 fuel_password, fuel_node_id, iso_file, work_dir):
+                 fuel_password, fuel_node_id, iso_file, work_dir,
+                 fuel_plugins_dir):
         self.dea_file = dea_file
         self.dha = LibvirtAdapter(dha_file)
         self.fuel_ip = fuel_ip
@@ -37,6 +40,7 @@ class InstallFuelMaster(object):
         self.iso_file = iso_file
         self.iso_dir = os.path.dirname(self.iso_file)
         self.work_dir = work_dir
+        self.fuel_plugins_dir = fuel_plugins_dir
         self.file_dir = os.path.dirname(os.path.realpath(__file__))
         self.ssh = SSHClient(self.fuel_ip, self.fuel_username,
                              self.fuel_password)
@@ -51,7 +55,11 @@ class InstallFuelMaster(object):
 
         self.dha.node_set_boot_order(self.fuel_node_id, ['disk', 'iso'])
 
-        self.proceed_with_installation()
+        try:
+            self.proceed_with_installation()
+        except Exception as e:
+            self.post_install_cleanup()
+            err(e)
 
     def proceed_with_installation(self):
         log('Eject ISO')
@@ -83,10 +91,32 @@ class InstallFuelMaster(object):
 
         self.delete_deprecated_fuel_client_config_from_fuel_6_1()
 
+        self.upload_plugin_files()
+
+        self.install_plugins()
+
         self.post_install_cleanup()
 
         log('Fuel Master installed successfully !')
 
+    def upload_plugin_files(self):
+        with self.ssh as s:
+            s.exec_cmd('mkdir %s' % PLUGINS_DIR)
+            if self.fuel_plugins_dir:
+                for f in glob.glob('%s/*.rpm' % self.fuel_plugins_dir):
+                    s.scp_put(f, PLUGINS_DIR)
+
+    def install_plugins(self):
+        log('Installing Fuel Plugins')
+        with self.ssh as s:
+            r = s.exec_cmd('find %s -type f -name \'*.rpm\'' % PLUGINS_DIR)
+            for f in r.splitlines():
+                log('Found plugin %s, installing ...' % f)
+                r, e = s.exec_cmd('fuel plugins --install %s' % f, False)
+                if e and 'does not update installed package' not in r:
+                    raise Exception('Installation of Fuel Plugin %s '
+                                    'failed: %s' % (f, e))
+
     def wait_for_node_up(self):
         WAIT_LOOP = 60
         SLEEP_TIME = 10
@@ -104,7 +134,7 @@ class InstallFuelMaster(object):
                 self.ssh.close()
 
         if not success:
-            err('Could not SSH into Fuel VM %s' % self.fuel_ip)
+            raise Exception('Could not SSH into Fuel VM %s' % self.fuel_ip)
 
     def wait_until_fuel_menu_up(self):
         WAIT_LOOP = 60
@@ -121,16 +151,13 @@ class InstallFuelMaster(object):
                 else:
                     break
         if not fuel_menu_pid:
-            err('Could not find the Fuel Menu Process ID')
+            raise Exception('Could not find the Fuel Menu Process ID')
         return fuel_menu_pid
 
     def get_fuel_menu_pid(self, printout, search):
-        fuel_menu_pid = None
         for line in printout.splitlines():
-            if search in line:
-                fuel_menu_pid = clean(line)[1]
-                break
-        return fuel_menu_pid
+            if line.endswith(search):
+                return clean(line)[1]
 
     def ssh_exec_cmd(self, cmd, check=True):
         with self.ssh:
@@ -167,8 +194,7 @@ class InstallFuelMaster(object):
                     time.sleep(SLEEP_TIME)
 
         if not install_completed:
-            self.post_install_cleanup()
-            err('Fuel installation did not complete')
+            raise Exception('Fuel installation did not complete')
 
     def post_install_cleanup(self):
         log('Eject ISO file %s' % self.iso_file)
index 1c21891..c72b33c 100644 (file)
@@ -23,7 +23,7 @@ exec_cmd = common.exec_cmd
 parse = common.parse
 err = common.err
 log = common.log
-delete_file = common.delete_file
+delete = common.delete
 commafy = common.commafy
 
 DEA_1 = '''
@@ -132,7 +132,8 @@ class Reap(object):
         tr_name = None
         with open(node_file[0]) as f:
             node_config = yaml.load(f)
-        transformation = node_config['network_scheme']['transformations']
+        transformation = {'transformations':
+                              node_config['network_scheme']['transformations']}
         if transformations:
             tr_name = self.check_dict_exists(transformations, transformation)
         if not tr_name:
@@ -186,8 +187,8 @@ class Reap(object):
 
         self.write_yaml(self.dha_file, {'nodes': dha_nodes}, False)
         self.write_yaml(self.dea_file, {'nodes': dea_nodes})
-        self.write_yaml(self.dea_file, {'interfaces': interfaces})
-        self.write_yaml(self.dea_file, {'transformations': transformations})
+        self.write_yaml(self.dea_file, interfaces)
+        self.write_yaml(self.dea_file, transformations)
         self.reap_fuel_node_info()
         self.write_yaml(self.dha_file, {'disks': DISKS})
 
@@ -207,10 +208,15 @@ class Reap(object):
         self.write_yaml(self.dha_file, dha_nodes)
 
     def reap_environment_info(self):
-        self.write_yaml(self.dea_file,
-                        {'environment_name': self.env[E['name']]})
-        self.write_yaml(self.dea_file,
-                        {'environment_mode': self.env[E['mode']]})
+        network_file = ('%s/network_%s.yaml'
+                        % (self.temp_dir, self.env_id))
+        network = self.read_yaml(network_file)
+        env = {'environment':
+                   {'name': self.env[E['name']],
+                    'mode': self.env[E['mode']],
+                    'net_segment_type':
+                        network['networking_parameters']['segmentation_type']}}
+        self.write_yaml(self.dea_file, env)
         wanted_release = None
         rel_list = parse(exec_cmd('fuel release'))
         for rel in rel_list:
@@ -221,11 +227,15 @@ class Reap(object):
     def reap_fuel_settings(self):
         data = self.read_yaml('/etc/fuel/astute.yaml')
         fuel = {}
-        del(data['ADMIN_NETWORK']['mac'])
-        del(data['ADMIN_NETWORK']['interface'])
+        del data['ADMIN_NETWORK']['mac']
+        del data['ADMIN_NETWORK']['interface']
         for key in ['ADMIN_NETWORK', 'HOSTNAME', 'DNS_DOMAIN', 'DNS_SEARCH',
                     'DNS_UPSTREAM', 'NTP1', 'NTP2', 'NTP3', 'FUEL_ACCESS']:
             fuel[key] = data[key]
+        for key in fuel['ADMIN_NETWORK'].keys():
+            if key not in ['ipaddress', 'netmask',
+                           'dhcp_pool_start', 'dhcp_pool_end']:
+                del fuel['ADMIN_NETWORK'][key]
         self.write_yaml(self.dea_file, {'fuel': fuel})
 
     def reap_network_settings(self):
@@ -245,21 +255,6 @@ class Reap(object):
         settings = self.read_yaml(settings_file)
         self.write_yaml(self.dea_file, {'settings': settings})
 
-    def get_opnfv_astute(self, role):
-        node_files = glob.glob('%s/deployment_%s/*%s*.yaml'
-                               % (self.temp_dir, self.env_id, role))
-        node_config = self.read_yaml(node_files[0])
-        return node_config['opnfv'] if 'opnfv' in node_config else {}
-
-    def reap_opnfv_astute(self):
-        controller_opnfv_astute = self.get_opnfv_astute('controller')
-        compute_opnfv_astute = self.get_opnfv_astute('compute')
-        opnfv = {}
-        opnfv['opnfv'] = {
-            'controller': controller_opnfv_astute,
-            'compute': compute_opnfv_astute}
-        self.write_yaml(self.dea_file, opnfv)
-
     def get_interface(self, real_node_id):
         exec_cmd('fuel node --node-id %s --network --download --dir %s'
                  % (real_node_id, self.temp_dir))
@@ -284,8 +279,8 @@ class Reap(object):
             return data
 
     def intro(self):
-        delete_file(self.dea_file)
-        delete_file(self.dha_file)
+        delete(self.dea_file)
+        delete(self.dha_file)
         self.temp_dir = exec_cmd('mktemp -d')
         date = time.strftime('%c')
         self.write(self.dea_file,
@@ -308,7 +303,6 @@ class Reap(object):
         self.reap_environment_info()
         self.reap_nodes_interfaces_transformations()
         self.reap_fuel_settings()
-        self.reap_opnfv_astute()
         self.reap_network_settings()
         self.reap_settings()
         self.finale()
@@ -2,9 +2,9 @@ title: Deployment Environment Adapter (DEA)
 # DEA API version supported
 version:
 created:
-comment: Test environment Ericsson Montreal
+comment: Config for Ericsson Montreal Lab - HA deployment with Ceph and Opendaylight
 environment:
-  name: opnfv_virt
+  name: opnfv
   mode: ha
   net_segment_type: gre
 wanted_release: Juno on Ubuntu 14.04.1
@@ -33,15 +33,10 @@ nodes:
   interfaces: interfaces_1
   transformations: transformations_2
   role: ceph-osd,compute
-opnfv:
-  hosts:
-  - name:
-    address:
-    fqdn:
 fuel:
   ADMIN_NETWORK:
     ipaddress: 10.40.0.2
-    netmask: 255.255.255.0
+    netmask: 255.255.0.0
     dhcp_pool_start: 10.40.0.3
     dhcp_pool_end: 10.40.0.254
   DNS_UPSTREAM: 10.118.32.193
@@ -121,6 +116,8 @@ transformations_2:
     bridge: br-mesh
     name: eth2.20
 network:
+  management_vip: 192.168.0.2
+  management_vrouter_vip: 192.168.0.3
   networking_parameters:
     base_mac: fa:16:3e:00:00:00
     dns_nameservers:
@@ -145,12 +142,12 @@ network:
     - - 10.118.34.220
       - 10.118.34.225
     meta:
-      cidr: 10.118.34.192/24
+      cidr: 172.16.0.0/24
       configurable: true
       floating_range_var: floating_ranges
       ip_range:
-      - 10.118.34.220
-      - 10.118.34.225
+      - 172.16.0.2
+      - 172.16.0.126
       map_priority: 1
       name: public
       notation: ip_ranges
@@ -163,6 +160,24 @@ network:
       vlan_start: null
     name: public
     vlan_start: null
+  - cidr: 192.168.2.0/24
+    gateway: null
+    ip_ranges:
+    - - 192.168.2.2
+      - 192.168.2.254
+    meta:
+      assign_vip: 192.168.2.0/24
+      configurable: true
+      map_priority: 2
+      name: private
+      notation: cidr
+      render_addr_mask: private
+      render_type: cidr
+      seg_type: gre
+      use_gateway: false
+      vlan_start: 103
+    name: private
+    vlan_start: 20
   - cidr: 192.168.0.0/24
     gateway: null
     ip_ranges:
@@ -180,13 +195,13 @@ network:
       vips:
       - haproxy
       - vrouter
-      vlan_start: 320
+      vlan_start: 101
     name: management
     vlan_start: 320
   - cidr: 192.168.1.0/24
     gateway: null
     ip_ranges:
-    - - 192.168.1.1
+    - - 192.168.1.2
       - 192.168.1.254
     meta:
       cidr: 192.168.1.0/24
@@ -197,32 +212,14 @@ network:
       render_addr_mask: storage
       render_type: cidr
       use_gateway: false
-      vlan_start: 220
+      vlan_start: 102
     name: storage
     vlan_start: 220
-  - cidr: 192.168.2.0/24
-    gateway: null
-    ip_ranges:
-    - - 192.168.2.1
-      - 192.168.2.254
-    meta:
-      assign_vip: 192.168.2.0/24
-      configurable: true
-      map_priority: 2
-      name: private
-      notation: cidr
-      render_addr_mask: private
-      render_type: cidr
-      seg_type: gre
-      use_gateway: false
-      vlan_start: 20
-    name: private
-    vlan_start: 20
-  - cidr: 10.40.0.0/24
+  - cidr: 10.40.0.0/16
     gateway: 10.40.0.2
     ip_ranges:
     - - 10.40.0.3
-      - 10.40.255.254
+      - 10.40.0.254
     meta:
       configurable: false
       map_priority: 0
@@ -233,6 +230,8 @@ network:
       use_gateway: true
     name: fuelweb_admin
     vlan_start: null
+  public_vip: 10.118.34.220
+  public_vrouter_vip: 10.118.34.221
 settings:
   editable:
     access:
@@ -2,7 +2,7 @@ title: Deployment Hardware Adapter (DHA)
 # DHA API version supported
 version:
 created:
-comment: Test environment Ericsson Montreal
+comment: Config for Ericsson Montreal Lab
 
 # Adapter to use for this definition
 adapter: hp
@@ -2,9 +2,9 @@ title: Deployment Environment Adapter (DEA)
 # DEA API version supported
 version:
 created:
-comment: Config for LF POD1 - HA deployment with Ceph
+comment: Config for LF POD1 - HA deployment with Ceph and Opendaylight
 environment:
-  name: opnfv_virt
+  name: opnfv
   mode: ha
   net_segment_type: gre
 wanted_release: Juno on Ubuntu 14.04.1
@@ -29,11 +29,6 @@ nodes:
   interfaces: interfaces_1
   transformations: transformations_2
   role: ceph-osd,compute
-opnfv:
-  hosts:
-  - name:
-    address:
-    fqdn:
 fuel:
   ADMIN_NETWORK:
     ipaddress: 10.20.0.2
@@ -117,14 +112,16 @@ transformations_2:
     bridge: br-mesh
     name: eth1.302
 network:
+  management_vip: 192.168.0.2
+  management_vrouter_vip: 192.168.0.3
   networking_parameters:
     base_mac: fa:16:3e:00:00:00
     dns_nameservers:
     - 8.8.4.4
     - 8.8.8.8
     floating_ranges:
-    - - 172.30.9.80
-      - 172.30.9.89
+    - - 172.30.9.160
+      - 172.30.9.254
     gre_id_range:
     - 2
     - 65535
@@ -139,15 +136,15 @@ network:
   - cidr: 172.30.9.0/24
     gateway: 172.30.9.1
     ip_ranges:
-    - - 172.30.9.70
-      - 172.30.9.79
+    - - 172.30.9.64
+      - 172.30.9.159
     meta:
-      cidr: 172.30.9.0/24
+      cidr: 172.16.0.0/24
       configurable: true
       floating_range_var: floating_ranges
       ip_range:
-      - 172.30.9.70
-      - 172.30.9.79
+      - 172.16.0.2
+      - 172.16.0.126
       map_priority: 1
       name: public
       notation: ip_ranges
@@ -160,10 +157,28 @@ network:
       vlan_start: null
     name: public
     vlan_start: null
+  - cidr: 192.168.2.0/24
+    gateway: null
+    ip_ranges:
+    - - 192.168.2.2
+      - 192.168.2.254
+    meta:
+      assign_vip: 192.168.2.0/24
+      configurable: true
+      map_priority: 2
+      name: private
+      notation: cidr
+      render_addr_mask: private
+      render_type: cidr
+      seg_type: gre
+      use_gateway: false
+      vlan_start: 103
+    name: private
+    vlan_start: 302
   - cidr: 192.168.0.0/24
     gateway: null
     ip_ranges:
-    - - 192.168.0.1
+    - - 192.168.0.2
       - 192.168.0.254
     meta:
       cidr: 192.168.0.0/24
@@ -177,13 +192,13 @@ network:
       vips:
       - haproxy
       - vrouter
-      vlan_start: 300
+      vlan_start: 101
     name: management
     vlan_start: 300
   - cidr: 192.168.1.0/24
     gateway: null
     ip_ranges:
-    - - 192.168.1.1
+    - - 192.168.1.2
       - 192.168.1.254
     meta:
       cidr: 192.168.1.0/24
@@ -194,32 +209,14 @@ network:
       render_addr_mask: storage
       render_type: cidr
       use_gateway: false
-      vlan_start: 301
+      vlan_start: 102
     name: storage
     vlan_start: 301
-  - cidr: 192.168.2.0/24
-    gateway: null
-    ip_ranges:
-    - - 192.168.2.1
-      - 192.168.2.254
-    meta:
-      assign_vip: 192.168.2.0/24
-      configurable: true
-      map_priority: 2
-      name: private
-      notation: cidr
-      render_addr_mask: private
-      render_type: cidr
-      seg_type: gre
-      use_gateway: false
-      vlan_start: 302
-    name: private
-    vlan_start: 302
-  - cidr: 10.20.0.0/24
+  - cidr: 10.20.0.0/16
     gateway: 10.20.0.2
     ip_ranges:
     - - 10.20.0.3
-      - 10.20.255.254
+      - 10.20.0.254
     meta:
       configurable: false
       map_priority: 0
@@ -230,6 +227,8 @@ network:
       use_gateway: true
     name: fuelweb_admin
     vlan_start: null
+  public_vip: 172.30.9.64
+  public_vrouter_vip: 172.30.9.65
 settings:
   editable:
     access:
diff --git a/fuel/deploy/templates/hardware_environment/conf/linux_foundation_lab/pod2/dea.yaml b/fuel/deploy/templates/hardware_environment/conf/linux_foundation_lab/pod2/dea.yaml
new file mode 100644 (file)
index 0000000..3e99b64
--- /dev/null
@@ -0,0 +1,841 @@
+title: Deployment Environment Adapter (DEA)
+# DEA API version supported
+version:
+created:
+comment: Config for LF POD2 - HA deployment with Ceph and Opendaylight
+environment:
+  name: opnfv
+  mode: ha
+  net_segment_type: gre
+wanted_release: Juno on Ubuntu 14.04.1
+nodes:
+- id: 1
+  interfaces: interfaces_1
+  transformations: transformations_1
+  role: ceph-osd,controller
+- id: 2
+  interfaces: interfaces_1
+  transformations: transformations_1
+  role: ceph-osd,controller
+- id: 3
+  interfaces: interfaces_1
+  transformations: transformations_1
+  role: ceph-osd,controller
+- id: 4
+  interfaces: interfaces_1
+  transformations: transformations_2
+  role: ceph-osd,compute
+- id: 5
+  interfaces: interfaces_1
+  transformations: transformations_2
+  role: ceph-osd,compute
+fuel:
+  ADMIN_NETWORK:
+    ipaddress: 10.20.0.2
+    netmask: 255.255.0.0
+    dhcp_pool_start: 10.20.0.3
+    dhcp_pool_end: 10.20.0.254
+  DNS_UPSTREAM: 8.8.8.8
+  DNS_DOMAIN: domain.tld
+  DNS_SEARCH: domain.tld
+  FUEL_ACCESS:
+    user: admin
+    password: admin
+  HOSTNAME: opnfv
+  NTP1: 0.pool.ntp.org
+  NTP2: 1.pool.ntp.org
+  NTP3: 2.pool.ntp.org
+interfaces_1:
+  eth0:
+  - fuelweb_admin
+  - management
+  - storage
+  - private
+  eth2:
+  - public
+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: eth0
+  - action: add-port
+    bridge: br-mgmt
+    name: eth0.300
+  - action: add-port
+    bridge: br-storage
+    name: eth0.301
+  - action: add-port
+    bridge: br-mesh
+    name: eth0.302
+  - action: add-port
+    bridge: br-ex
+    name: eth2
+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: eth0.300
+  - action: add-port
+    bridge: br-storage
+    name: eth0.301
+  - action: add-port
+    bridge: br-mesh
+    name: eth0.302
+network:
+  management_vip: 192.168.0.2
+  management_vrouter_vip: 192.168.0.3
+  networking_parameters:
+    base_mac: fa:16:3e:00:00:00
+    dns_nameservers:
+    - 8.8.4.4
+    - 8.8.8.8
+    floating_ranges:
+    - - 172.30.10.160
+      - 172.30.10.254
+    gre_id_range:
+    - 2
+    - 65535
+    internal_cidr: 192.168.111.0/24
+    internal_gateway: 192.168.111.1
+    net_l23_provider: ovs
+    segmentation_type: gre
+    vlan_range:
+    - 1000
+    - 1030
+  networks:
+  - cidr: 172.30.10.0/24
+    gateway: 172.30.10.1
+    ip_ranges:
+    - - 172.30.10.64
+      - 172.30.10.159
+    meta:
+      cidr: 172.16.0.0/24
+      configurable: true
+      floating_range_var: floating_ranges
+      ip_range:
+      - 172.16.0.2
+      - 172.16.0.126
+      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.2.0/24
+    gateway: null
+    ip_ranges:
+    - - 192.168.2.2
+      - 192.168.2.254
+    meta:
+      cidr: 192.168.2.0/24
+      configurable: true
+      map_priority: 2
+      name: private
+      notation: cidr
+      render_addr_mask: private
+      render_type: cidr
+      seg_type: gre
+      use_gateway: false
+      vlan_start: 103
+    name: private
+    vlan_start: 302
+  - cidr: 192.168.0.0/24
+    gateway: null
+    ip_ranges:
+    - - 192.168.0.2
+      - 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: 300
+  - cidr: 192.168.1.0/24
+    gateway: null
+    ip_ranges:
+    - - 192.168.1.2
+      - 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: 301
+  - cidr: 10.20.0.0/16
+    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
+  public_vip: 172.30.10.64
+  public_vrouter_vip: 172.30.10.65
+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:
+        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$)(?![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$)(?![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: 40
+      heat:
+        description: ''
+        label: ''
+        type: hidden
+        value: true
+        weight: 30
+      metadata:
+        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: 40
+      murano:
+        description: If selected, Murano component will be installed
+        label: Install Murano
+        restrictions:
+        - cluster:net_provider != 'neutron'
+        type: checkbox
+        value: false
+        weight: 20
+      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
+        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
+        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.
+        label: OpenStack debug logging
+        type: checkbox
+        value: false
+        weight: 20
+      libvirt_type:
+        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: 30
+      nova_quota:
+        description: Quotas are used to limit CPU and memory usage for tenants. Enabling
+          quotas will increase load on the Nova database.
+        label: Nova quotas
+        type: checkbox
+        value: false
+        weight: 25
+      puppet_debug:
+        description: Debug puppet logging mode provides more information, but requires
+          more disk space.
+        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.
+        label: Resume guests state on host boot
+        type: checkbox
+        value: true
+        weight: 60
+      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.
+        label: Use qcow format for images
+        type: checkbox
+        value: true
+        weight: 50
+      use_vcenter:
+        type: hidden
+        value: false
+        weight: 30
+    corosync:
+      group:
+        description: ''
+        label: Group
+        type: text
+        value: 226.94.1.1
+        weight: 10
+      metadata:
+        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.4.4, 8.8.8.8
+        weight: 10
+      metadata:
+        label: Host OS DNS Servers
+        weight: 90
+    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:
+        label: External MongoDB
+        restrictions:
+        - action: hide
+          condition: settings:additional_components.mongo.value == false
+        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:
+        label: Host OS NTP Servers
+        weight: 100
+      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.pool.ntp.org, 1.pool.ntp.org
+        weight: 10
+    kernel_params:
+      kernel:
+        description: Default kernel parameters
+        label: Initial parameters
+        type: text
+        value: console=ttyS0,9600 console=tty0 net.ifnames=0 biosdevname=0 rootdelay=90
+          nomodeset
+        weight: 45
+      metadata:
+        label: Kernel parameters
+        weight: 40
+    murano_settings:
+      metadata:
+        label: Murano Settings
+        restrictions:
+        - action: hide
+          condition: settings:additional_components.murano.value == false
+        weight: 20
+      murano_repo_url:
+        description: ''
+        label: Murano Repository URL
+        type: text
+        value: http://storage.apps.openstack.org/
+        weight: 10
+    neutron_mellanox:
+      metadata:
+        enabled: true
+        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:
+        enabled: true
+        label: OpenDaylight plugin
+        plugin_id: 1
+        restrictions:
+        - cluster:net_provider != 'neutron': Only neutron is supported by OpenDaylight
+        toggleable: true
+        weight: 70
+      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
+      use_vxlan:
+        description: Configure neutron to use VXLAN tunneling
+        label: Use vxlan
+        restrictions:
+        - action: disable
+          condition: networking_parameters:segmentation_type == 'vlan'
+          message: Neutron with GRE segmentation required
+        type: checkbox
+        value: true
+        weight: 20
+      vni_range_end:
+        description: VXLAN VNI IDs range end
+        label: VNI range end
+        regex:
+          error: Invalid ID number
+          source: ^\d+$
+        restrictions:
+        - action: hide
+          condition: networking_parameters:segmentation_type == 'vlan'
+        type: text
+        value: '10000'
+        weight: 31
+      vni_range_start:
+        description: VXLAN VNI IDs range start
+        label: VNI range start
+        regex:
+          error: Invalid ID number
+          source: ^\d+$
+        restrictions:
+        - action: hide
+          condition: networking_parameters:segmentation_type == 'vlan'
+        type: text
+        value: '10'
+        weight: 30
+    provision:
+      metadata:
+        label: Provision
+        weight: 80
+      method:
+        description: Which provision method to use for this cluster.
+        label: Provision method
+        type: radio
+        value: image
+        values:
+        - data: image
+          description: Copying pre-built images on a disk.
+          label: Image
+        - data: cobbler
+          description: Install from scratch using anaconda or debian-installer.
+          label: (DEPRECATED) Classic (use anaconda or debian-installer)
+    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:
+        label: Public network assignment
+        restrictions:
+        - action: hide
+          condition: cluster:net_provider != 'neutron'
+        weight: 50
+    repo_setup:
+      metadata:
+        always_editable: true
+        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-6.1/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://archive.ubuntu.com/ubuntu/
+        - name: ubuntu-updates
+          priority: null
+          section: main universe multiverse
+          suite: trusty-updates
+          type: deb
+          uri: http://archive.ubuntu.com/ubuntu/
+        - name: ubuntu-security
+          priority: null
+          section: main universe multiverse
+          suite: trusty-security
+          type: deb
+          uri: http://archive.ubuntu.com/ubuntu/
+        - name: mos
+          priority: 1050
+          section: main restricted
+          suite: mos6.1
+          type: deb
+          uri: http://10.20.0.2:8080/2014.2.2-6.1/ubuntu/x86_64
+        - name: mos-updates
+          priority: 1050
+          section: main restricted
+          suite: mos6.1-updates
+          type: deb
+          uri: http://mirror.fuel-infra.org/mos/ubuntu/
+        - name: mos-security
+          priority: 1050
+          section: main restricted
+          suite: mos6.1-security
+          type: deb
+          uri: http://mirror.fuel-infra.org/mos/ubuntu/
+        - name: mos-holdback
+          priority: 1100
+          section: main restricted
+          suite: mos6.1-holdback
+          type: deb
+          uri: http://mirror.fuel-infra.org/mos/ubuntu/
+        - name: Auxiliary
+          priority: 1150
+          section: main restricted
+          suite: auxiliary
+          type: deb
+          uri: http://10.20.0.2:8080/2014.2.2-6.1/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:
+        label: Storage
+        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)
+        restrictions:
+        - settings:storage.images_ceph.value == false
+        type: checkbox
+        value: false
+        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: '2'
+        weight: 85
+      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
+        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:
+        label: Syslog
+        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
+        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:
+        label: Workloads Collector User
+        restrictions:
+        - action: hide
+          condition: 'true'
+        weight: 10
+      password:
+        type: password
+        value: pBkLbu1k
+      tenant:
+        type: text
+        value: services
+      user:
+        type: text
+        value: fuel_stats_user
@@ -2,7 +2,7 @@ title: Deployment Hardware Adapter (DHA)
 # DHA API version supported
 version:
 created:
-comment: Config for LF POD2
+comment: Config for LF POD2 and Opendaylight
 
 # Adapter to use for this definition
 adapter: ipmi
@@ -12,27 +12,27 @@ adapter: ipmi
 
 nodes:
 - id: 1
-  pxeMac: 00:25:b5:a0:00:2b
+  pxeMac: 00:25:b5:a0:00:2a
   ipmiIp: 172.30.8.75
   ipmiUser: admin
   ipmiPass: octopus
 - id: 2
-  pxeMac: 00:25:b5:a0:00:3b
+  pxeMac: 00:25:b5:a0:00:3a
   ipmiIp: 172.30.8.65
   ipmiUser: admin
   ipmiPass: octopus
 - id: 3
-  pxeMac: 00:25:b5:a0:00:4b
+  pxeMac: 00:25:b5:a0:00:4a
   ipmiIp: 172.30.8.74
   ipmiUser: admin
   ipmiPass: octopus
 - id: 4
-  pxeMac: 00:25:b5:a0:00:5b
+  pxeMac: 00:25:b5:a0:00:5a
   ipmiIp: 172.30.8.73
   ipmiUser: admin
   ipmiPass: octopus
 - id: 5
-  pxeMac: 00:25:b5:a0:00:6b
+  pxeMac: 00:25:b5:a0:00:6a
   ipmiIp: 172.30.8.72
   ipmiUser: admin
   ipmiPass: octopus
@@ -46,4 +46,4 @@ nodes:
   password: r00tme
 
 disks:
-  fuel: 30G
+  fuel: 50G
\ No newline at end of file
diff --git a/fuel/deploy/templates/hardware_environment/conf/linux_foundation_lab/pod2/ha/dha.yaml b/fuel/deploy/templates/hardware_environment/conf/linux_foundation_lab/pod2/ha/dha.yaml
deleted file mode 100644 (file)
index f34d79f..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-title: Deployment Hardware Adapter (DHA)
-# DHA API version supported
-version:
-created:
-comment: Config for LF POD2
-
-# Adapter to use for this definition
-adapter: ipmi
-
-# Node list.
-# Mandatory property is id, all other properties are adapter specific.
-
-nodes:
-- id: 1
-  pxeMac: 00:25:B5:A0:00:2A
-  ipmiIp: 172.30.8.75
-  ipmiUser: admin
-  ipmiPass: octopus
-- id: 2
-  pxeMac: 00:25:B5:A0:00:3A
-  ipmiIp: 172.30.8.65
-  ipmiUser: admin
-  ipmiPass: octopus
-- id: 3
-  pxeMac: 00:25:B5:A0:00:4A
-  ipmiIp: 172.30.8.74
-  ipmiUser: admin
-  ipmiPass: octopus
-- id: 4
-  pxeMac: 00:25:B5:A0:00:5A
-  ipmiIp: 172.30.8.73
-  ipmiUser: admin
-  ipmiPass: octopus
-- id: 5
-  pxeMac: 00:25:B5:A0:00:6A
-  ipmiIp: 172.30.8.72
-  ipmiUser: admin
-  ipmiPass: octopus
-# Adding the Fuel node as node id 6 which may not be correct - please
-# adjust as needed.
-- id: 6
-  libvirtName: fuel-opnfv
-  libvirtTemplate: templates/hardware_environment/vms/fuel.xml
-  isFuel: yes
-  username: root
-  password: r00tme
-
-disks:
-  fuel: 50G
\ No newline at end of file
@@ -2,7 +2,7 @@ title: Deployment Environment Adapter (DEA)
 # DEA API version supported
 version:
 created:
-comment: Config for LF POD2 - HA deployment with Ceph
+comment: Config for OPNFV BOX - HA deployment with Ceph
 environment:
   name: opnfv_virt
   mode: ha
@@ -1,49 +1,44 @@
 title: Deployment Hardware Adapter (DHA)
 # DHA API version supported
-version: 1.1
-created: Mon May  4 09:03:46 UTC 2015
-comment: Test environment Ericsson Montreal
+version:
+created:
+comment: Config for OPNFV BOX
 
 # Adapter to use for this definition
-adapter: hp
+adapter: ipmi
 
 # Node list.
 # Mandatory property is id, all other properties are adapter specific.
 
 nodes:
 - id: 1
-  pxeMac: 14:58:D0:54:7A:D8
-  ipmiIp: 10.118.32.198
+  pxeMac: b8:ae:ed:76:4d:a4
+  ipmiIp: <ipmi_ip>
   ipmiUser: <username>
   ipmiPass: <password>
 - id: 2
-  pxeMac: 14:58:D0:55:E2:E0
-  ipmiIp: 10.118.32.202
+  pxeMac: b8:ae:ed:76:4d:94
+  ipmiIp: <ipmi_ip>
   ipmiUser: <username>
   ipmiPass: <password>
 - id: 3
-  pxeMac: 9C:B6:54:8A:25:C0
-  ipmiIp: 10.118.32.213
+  pxeMac: b8:ae:ed:76:4c:eb
+  ipmiIp: <ipmi_ip>
   ipmiUser: <username>
   ipmiPass: <password>
 - id: 4
-  pxeMac: 14:58:D0:54:28:80
-  ipmiIp: 10.118.32.201
+  pxeMac: b8:ae:ed:76:37:62
+  ipmiIp: <ipmi_ip>
   ipmiUser: <username>
   ipmiPass: <password>
 - id: 5
-  pxeMac: 14:58:D0:54:E7:88
-  ipmiIp: 10.118.32.203
+  pxeMac: b8:ae:ed:76:4d:95
+  ipmiIp: <ipmi_ip>
   ipmiUser: <username>
   ipmiPass: <password>
-- id: 6
-  pxeMac: 14:58:D0:54:7A:28
-  ipmiIp: 10.118.32.205
-  ipmiUser: <username>
-  ipmiPass: <password>
-# Adding the Fuel node as node id 7 which may not be correct - please
+# Adding the Fuel node as node id 6 which may not be correct - please
 # adjust as needed.
-- id: 7
+- id: 6
   libvirtName: fuel-opnfv
   libvirtTemplate: templates/hardware_environment/vms/fuel.xml
   isFuel: yes
@@ -51,4 +46,4 @@ nodes:
   password: r00tme
 
 disks:
-  fuel: 30G
\ No newline at end of file
+  fuel: 50G
\ No newline at end of file
diff --git a/fuel/deploy/templates/hardware_environment/old_conf/ericsson_montreal_lab/ha/dea.yaml b/fuel/deploy/templates/hardware_environment/old_conf/ericsson_montreal_lab/ha/dea.yaml
deleted file mode 100644 (file)
index 6ea3b72..0000000
+++ /dev/null
@@ -1,997 +0,0 @@
-title: Deployment Environment Adapter (DEA)
-# DEA API version supported
-version:
-created:
-comment: Test environment Ericsson Montreal
-environment:
-  name: opnfv_virt
-  mode: ha
-  net_segment_type: vlan
-wanted_release: Juno on Ubuntu 12.04.4
-nodes:
-- id: 1
-  interfaces: interfaces_1
-  transformations: transformations_1
-  role: ceph-osd,controller
-- id: 2
-  interfaces: interfaces_1
-  transformations: transformations_1
-  role: ceph-osd,controller
-- id: 3
-  interfaces: interfaces_1
-  transformations: transformations_1
-  role: ceph-osd,controller
-- id: 4
-  interfaces: interfaces_1
-  transformations: transformations_2
-  role: ceph-osd,compute
-- id: 5
-  interfaces: interfaces_1
-  transformations: transformations_2
-  role: ceph-osd,compute
-- id: 6
-  interfaces: interfaces_1
-  transformations: transformations_2
-  role: ceph-osd,compute
-opnfv:
-  hosts:
-  - name:
-    address:
-    fqdn:
-fuel:
-  ADMIN_NETWORK:
-    ipaddress: 10.40.0.2
-    netmask: 255.255.255.0
-    dhcp_pool_start: 10.40.0.3
-    dhcp_pool_end: 10.40.0.254
-  DNS_UPSTREAM: 10.118.32.193
-  DNS_DOMAIN: opnfvericsson.ca
-  DNS_SEARCH: opnfvericsson.ca
-  FUEL_ACCESS:
-    user: admin
-    password: admin
-  HOSTNAME: opnfv
-  NTP1: 10.118.34.219
-  NTP2:
-  NTP3:
-interfaces_1:
-  eth0:
-  - fuelweb_admin
-  eth2:
-  - public
-  - management
-  - storage
-  - private
-transformations_1:
-  transformations:
-    - action: add-br
-      name: br-eth0
-    - action: add-port
-      bridge: br-eth0
-      name: eth0
-    - action: add-br
-      name: br-eth1
-    - action: add-port
-      bridge: br-eth1
-      name: eth1
-    - action: add-br
-      name: br-eth2
-    - action: add-port
-      bridge: br-eth2
-      name: eth2
-    - action: add-br
-      name: br-eth3
-    - action: add-port
-      bridge: br-eth3
-      name: eth3
-    - action: add-br
-      name: br-eth4
-    - action: add-port
-      bridge: br-eth4
-      name: eth4
-    - action: add-br
-      name: br-eth5
-    - action: add-port
-      bridge: br-eth5
-      name: eth5
-    - action: add-br
-      name: br-ex
-    - action: add-br
-      name: br-mgmt
-    - action: add-br
-      name: br-storage
-    - action: add-br
-      name: br-fw-admin
-    - action: add-br
-      name: br-prv
-    - action: add-patch
-      bridges:
-      - br-eth2
-      - br-storage
-      tags:
-      - 220
-      - 0
-      vlan_ids:
-      - 220
-      - 0
-    - action: add-patch
-      bridges:
-      - br-eth2
-      - br-mgmt
-      tags:
-      - 320
-      - 0
-      vlan_ids:
-      - 320
-      - 0
-    - action: add-patch
-      bridges:
-      - br-eth0
-      - br-fw-admin
-    - action: add-patch
-      bridges:
-      - br-eth2
-      - br-ex
-      tags:
-      - 20
-      - 0
-      vlan_ids:
-      - 20
-      - 0
-    - action: add-patch
-      bridges:
-      - br-eth2
-      - br-prv
-transformations_2:
-  transformations:
-    - action: add-br
-      name: br-eth0
-    - action: add-port
-      bridge: br-eth0
-      name: eth0
-    - action: add-br
-      name: br-eth1
-    - action: add-port
-      bridge: br-eth1
-      name: eth1
-    - action: add-br
-      name: br-eth2
-    - action: add-port
-      bridge: br-eth2
-      name: eth2
-    - action: add-br
-      name: br-eth3
-    - action: add-port
-      bridge: br-eth3
-      name: eth3
-    - action: add-br
-      name: br-eth4
-    - action: add-port
-      bridge: br-eth4
-      name: eth4
-    - action: add-br
-      name: br-eth5
-    - action: add-port
-      bridge: br-eth5
-      name: eth5
-    - action: add-br
-      name: br-mgmt
-    - action: add-br
-      name: br-storage
-    - action: add-br
-      name: br-fw-admin
-    - action: add-br
-      name: br-prv
-    - action: add-patch
-      bridges:
-      - br-eth2
-      - br-storage
-      tags:
-      - 220
-      - 0
-      vlan_ids:
-      - 220
-      - 0
-    - action: add-patch
-      bridges:
-      - br-eth2
-      - br-mgmt
-      tags:
-      - 320
-      - 0
-      vlan_ids:
-      - 320
-      - 0
-    - action: add-patch
-      bridges:
-      - br-eth0
-      - br-fw-admin
-    - action: add-patch
-      bridges:
-      - br-eth2
-      - br-prv
-network:
-  networking_parameters:
-    base_mac: fa:16:3e:00:00:00
-    dns_nameservers:
-    - 10.118.32.193
-    floating_ranges:
-    - - 10.118.34.226
-      - 10.118.34.230
-    gre_id_range:
-    - 2
-    - 65535
-    internal_cidr: 192.168.111.0/24
-    internal_gateway: 192.168.111.1
-    net_l23_provider: ovs
-    segmentation_type: vlan
-    vlan_range:
-    - 2022
-    - 2023
-  networks:
-  - cidr: 10.118.34.192/24
-    gateway: 10.118.34.193
-    ip_ranges:
-    - - 10.118.34.220
-      - 10.118.34.225
-    meta:
-      assign_vip: true
-      cidr: 10.118.34.192/24
-      configurable: true
-      floating_range_var: floating_ranges
-      ip_range:
-      - 10.118.34.220
-      - 10.118.34.225
-      map_priority: 1
-      name: public
-      notation: ip_ranges
-      render_addr_mask: public
-      render_type: null
-      use_gateway: true
-      vlan_start: null
-    name: public
-    vlan_start: null
-  - cidr: 192.168.0.0/24
-    gateway: null
-    ip_ranges:
-    - - 192.168.0.2
-      - 192.168.0.254
-    meta:
-      assign_vip: true
-      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
-      vlan_start: 320
-    name: management
-    vlan_start: 320
-  - cidr: 192.168.1.0/24
-    gateway: null
-    ip_ranges:
-    - - 192.168.1.2
-      - 192.168.1.254
-    meta:
-      assign_vip: false
-      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: 220
-    name: storage
-    vlan_start: 220
-  - cidr: null
-    gateway: null
-    ip_ranges: []
-    meta:
-      assign_vip: false
-      configurable: false
-      map_priority: 2
-      name: private
-      neutron_vlan_range: true
-      notation: null
-      render_addr_mask: null
-      render_type: null
-      seg_type: vlan
-      use_gateway: false
-      vlan_start: null
-    name: private
-    vlan_start: null
-  - cidr: 10.40.0.0/24
-    gateway: null
-    ip_ranges:
-    - - 10.40.0.3
-      - 10.40.0.254
-    meta:
-      assign_vip: false
-      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
-        type: text
-        value: admin@localhost
-        weight: 40
-      metadata:
-        label: Access
-        weight: 10
-      password:
-        description: Password for Administrator
-        label: password
-        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$)(?![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$)(?![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: 40
-      heat:
-        description: ''
-        label: ''
-        type: hidden
-        value: true
-        weight: 30
-      metadata:
-        label: Additional Components
-        weight: 20
-      murano:
-        description: If selected, Murano component will be installed
-        label: Install Murano
-        restrictions:
-        - cluster:net_provider != 'neutron'
-        type: checkbox
-        value: false
-        weight: 20
-      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
-        label: Public Key
-        type: text
-        value: ''
-        weight: 70
-      auto_assign_floating_ip:
-        description: If selected, OpenStack will automatically assign a floating IP
-          to a new instance
-        label: Auto assign floating IP
-        restrictions:
-        - cluster:net_provider == 'neutron'
-        type: checkbox
-        value: false
-        weight: 40
-      compute_scheduler_driver:
-        label: Scheduler driver
-        type: radio
-        value: nova.scheduler.filter_scheduler.FilterScheduler
-        values:
-        - data: nova.scheduler.filter_scheduler.FilterScheduler
-          description: Currently the most advanced OpenStack scheduler. See the OpenStack
-            documentation for details.
-          label: Filter scheduler
-        - data: nova.scheduler.simple.SimpleScheduler
-          description: This is 'naive' scheduler which tries to find the least loaded
-            host
-          label: Simple scheduler
-        weight: 40
-      debug:
-        description: Debug logging mode provides more information, but requires more
-          disk space.
-        label: OpenStack debug logging
-        type: checkbox
-        value: false
-        weight: 20
-      disable_offload:
-        description: If set, generic segmentation offload (gso) and generic receive
-          offload (gro) on physical nics will be disabled. See ethtool man.
-        label: Disable generic offload on physical nics
-        restrictions:
-        - action: hide
-          condition: cluster:net_provider == 'neutron' and networking_parameters:segmentation_type
-            == 'gre'
-        type: checkbox
-        value: true
-        weight: 80
-      libvirt_type:
-        label: Hypervisor type
-        type: radio
-        value: kvm
-        values:
-        - data: kvm
-          description: Choose this type of hypervisor if you run OpenStack on hardware
-          label: KVM
-          restrictions:
-          - settings:common.libvirt_type.value == 'vcenter'
-        - data: qemu
-          description: Choose this type of hypervisor if you run OpenStack on virtual
-            hosts.
-          label: QEMU
-          restrictions:
-          - settings:common.libvirt_type.value == 'vcenter'
-        - data: vcenter
-          description: Choose this type of hypervisor if you run OpenStack in a vCenter
-            environment.
-          label: vCenter
-          restrictions:
-          - settings:common.libvirt_type.value != 'vcenter' or cluster:net_provider
-            == 'neutron'
-        weight: 30
-      metadata:
-        label: Common
-        weight: 30
-      nova_quota:
-        description: Quotas are used to limit CPU and memory usage for tenants. Enabling
-          quotas will increase load on the Nova database.
-        label: Nova quotas
-        type: checkbox
-        value: false
-        weight: 25
-      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.
-        label: Resume guests state on host boot
-        type: checkbox
-        value: true
-        weight: 60
-      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.
-        label: Use qcow format for images
-        type: checkbox
-        value: true
-        weight: 50
-    corosync:
-      group:
-        description: ''
-        label: Group
-        type: text
-        value: 226.94.1.1
-        weight: 10
-      metadata:
-        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
-        type: text
-        value: 10.118.32.193
-        weight: 10
-      metadata:
-        label: Upstream DNS
-        weight: 90
-    external_ntp:
-      metadata:
-        label: Upstream NTP
-        weight: 100
-      ntp_list:
-        description: List of upstream NTP servers, separated by comma
-        label: NTP servers list
-        type: text
-        value: 10.118.34.219
-        weight: 10
-    kernel_params:
-      kernel:
-        description: Default kernel parameters
-        label: Initial parameters
-        type: text
-        value: console=ttyS0,9600 console=tty0 rootdelay=90 nomodeset
-        weight: 45
-      metadata:
-        label: Kernel parameters
-        weight: 40
-    neutron_mellanox:
-      metadata:
-        enabled: true
-        label: Mellanox Neutron components
-        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
-    nsx_plugin:
-      connector_type:
-        description: Default network transport type to use
-        label: NSX connector type
-        type: select
-        value: stt
-        values:
-        - data: gre
-          label: GRE
-        - data: ipsec_gre
-          label: GRE over IPSec
-        - data: stt
-          label: STT
-        - data: ipsec_stt
-          label: STT over IPSec
-        - data: bridge
-          label: Bridge
-        weight: 80
-      l3_gw_service_uuid:
-        description: UUID for the default L3 gateway service to use with this cluster
-        label: L3 service UUID
-        regex:
-          error: Invalid L3 gateway service UUID
-          source: '[a-f\d]{8}-[a-f\d]{4}-[a-f\d]{4}-[a-f\d]{4}-[a-f\d]{12}'
-        type: text
-        value: ''
-        weight: 50
-      metadata:
-        enabled: false
-        label: VMware NSX
-        restrictions:
-        - action: hide
-          condition: cluster:net_provider != 'neutron' or networking_parameters:net_l23_provider
-            != 'nsx'
-        weight: 20
-      nsx_controllers:
-        description: One or more IPv4[:port] addresses of NSX controller node, separated
-          by comma (e.g. 10.30.30.2,192.168.110.254:443)
-        label: NSX controller endpoint
-        regex:
-          error: Invalid controller endpoints, specify valid IPv4[:port] pair
-          source: ^(([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])\.){3}([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])(:(6553[0-5]|655[0-2][\d]|65[0-4][\d]{2}|6[0-4][\d]{3}|5[\d]{4}|[\d][\d]{0,3}))?(,(([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])\.){3}([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])(:(6553[0-5]|655[0-2][\d]|65[0-4][\d]{2}|6[0-4][\d]{3}|5[\d]{4}|[\d][\d]{0,3}))?)*$
-        type: text
-        value: ''
-        weight: 60
-      nsx_password:
-        description: Password for Administrator
-        label: NSX password
-        regex:
-          error: Empty password
-          source: \S
-        type: password
-        value: ''
-        weight: 30
-      nsx_username:
-        description: NSX administrator's username
-        label: NSX username
-        regex:
-          error: Empty username
-          source: \S
-        type: text
-        value: admin
-        weight: 20
-      packages_url:
-        description: URL to NSX specific packages
-        label: URL to NSX bits
-        regex:
-          error: Invalid URL, specify valid HTTP/HTTPS URL with IPv4 address (e.g.
-            http://10.20.0.2/nsx)
-          source: ^https?://(([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])\.){3}([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])(:(6553[0-5]|655[0-2][\d]|65[0-4][\d]{2}|6[0-4][\d]{3}|5[\d]{4}|[\d][\d]{0,3}))?(/.*)?$
-        type: text
-        value: ''
-        weight: 70
-      replication_mode:
-        description: ''
-        label: NSX cluster has Service nodes
-        type: checkbox
-        value: true
-        weight: 90
-      transport_zone_uuid:
-        description: UUID of the pre-existing default NSX Transport zone
-        label: Transport zone UUID
-        regex:
-          error: Invalid transport zone UUID
-          source: '[a-f\d]{8}-[a-f\d]{4}-[a-f\d]{4}-[a-f\d]{4}-[a-f\d]{12}'
-        type: text
-        value: ''
-        weight: 40
-    provision:
-      metadata:
-        label: Provision
-        restrictions:
-        - action: hide
-          condition: not ('experimental' in version:feature_groups)
-        weight: 80
-      method:
-        description: Which provision method to use for this cluster.
-        label: Provision method
-        type: radio
-        value: cobbler
-        values:
-        - data: image
-          description: Copying pre-built images on a disk.
-          label: Image
-        - data: cobbler
-          description: Install from scratch using anaconda or debian-installer.
-          label: Classic (use anaconda or debian-installer)
-    public_network_assignment:
-      assign_to_all_nodes:
-        description: When disabled, public network will be assigned to controllers
-          and zabbix-server only
-        label: Assign public network to all nodes
-        type: checkbox
-        value: false
-        weight: 10
-      metadata:
-        label: Public network assignment
-        restrictions:
-        - action: hide
-          condition: cluster:net_provider != 'neutron'
-        weight: 50
-    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)
-        restrictions:
-        - settings:common.libvirt_type.value == 'vcenter'
-        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)
-        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:
-        - settings:common.libvirt_type.value != 'vcenter'
-        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'
-        type: checkbox
-        value: false
-        weight: 11
-      metadata:
-        label: Storage
-        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)
-        restrictions:
-        - settings:storage.images_ceph.value == false
-        type: checkbox
-        value: false
-        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*$
-        restrictions:
-        - settings:common.libvirt_type.value == 'vcenter'
-        type: text
-        value: '2'
-        weight: 85
-      vc_datacenter:
-        description: Inventory path to a datacenter. If you want to use ESXi host
-          as datastore, it should be "ha-datacenter".
-        label: Datacenter name
-        regex:
-          error: Empty datacenter
-          source: \S
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: text
-        value: ''
-        weight: 65
-      vc_datastore:
-        description: Datastore associated with the datacenter.
-        label: Datastore name
-        regex:
-          error: Empty datastore
-          source: \S
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: text
-        value: ''
-        weight: 60
-      vc_host:
-        description: IP Address of vCenter/ESXi
-        label: vCenter/ESXi IP
-        regex:
-          error: Specify valid IPv4 address
-          source: ^(([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])\.){3}([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])$
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: text
-        value: ''
-        weight: 45
-      vc_image_dir:
-        description: The name of the directory where the glance images will be stored
-          in the VMware datastore.
-        label: Datastore Images directory
-        regex:
-          error: Empty images directory
-          source: \S
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: text
-        value: /openstack_glance
-        weight: 70
-      vc_password:
-        description: vCenter/ESXi admin password
-        label: Password
-        regex:
-          error: Empty password
-          source: \S
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: password
-        value: ''
-        weight: 55
-      vc_user:
-        description: vCenter/ESXi admin username
-        label: Username
-        regex:
-          error: Empty username
-          source: \S
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: text
-        value: ''
-        weight: 50
-      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:common.libvirt_type.value
-          == 'vcenter'
-        type: checkbox
-        value: true
-        weight: 20
-      volumes_lvm:
-        description: Requires 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
-      volumes_vmdk:
-        description: Configures Cinder to store volumes via VMware vCenter.
-        label: VMware vCenter for volumes (Cinder)
-        restrictions:
-        - settings:common.libvirt_type.value != 'vcenter' or settings:storage.volumes_lvm.value
-          == true
-        type: checkbox
-        value: false
-        weight: 15
-    syslog:
-      metadata:
-        label: Syslog
-        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
-        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
-    vcenter:
-      cluster:
-        description: vCenter cluster name. If you have multiple clusters, use comma
-          to separate names
-        label: Cluster
-        regex:
-          error: Invalid cluster list
-          source: ^([^,\ ]+([\ ]*[^,\ ])*)(,[^,\ ]+([\ ]*[^,\ ])*)*$
-        type: text
-        value: ''
-        weight: 40
-      datastore_regex:
-        description: The Datastore regexp setting specifies the data stores to use
-          with Compute. For example, "nas.*". If you want to use all available datastores,
-          leave this field blank
-        label: Datastore regexp
-        regex:
-          error: Invalid datastore regexp
-          source: ^(\S.*\S|\S|)$
-        type: text
-        value: ''
-        weight: 50
-      host_ip:
-        description: IP Address of vCenter
-        label: vCenter IP
-        regex:
-          error: Specify valid IPv4 address
-          source: ^(([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])\.){3}([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])$
-        type: text
-        value: ''
-        weight: 10
-      metadata:
-        label: vCenter
-        restrictions:
-        - action: hide
-          condition: settings:common.libvirt_type.value != 'vcenter'
-        weight: 20
-      use_vcenter:
-        description: ''
-        label: ''
-        type: hidden
-        value: true
-        weight: 5
-      vc_password:
-        description: vCenter admin password
-        label: Password
-        regex:
-          error: Empty password
-          source: \S
-        type: password
-        value: admin
-        weight: 30
-      vc_user:
-        description: vCenter admin username
-        label: Username
-        regex:
-          error: Empty username
-          source: \S
-        type: text
-        value: admin
-        weight: 20
-      vlan_interface:
-        description: Physical ESXi host ethernet adapter for VLAN networking (e.g.
-          vmnic1). If empty "vmnic0" is used by default
-        label: ESXi VLAN interface
-        restrictions:
-        - action: hide
-          condition: cluster:net_provider != 'nova_network' or networking_parameters:net_manager
-            != 'VlanManager'
-        type: text
-        value: ''
-        weight: 60
-    zabbix:
-      metadata:
-        label: Zabbix Access
-        restrictions:
-        - action: hide
-          condition: not ('experimental' in version:feature_groups)
-        weight: 70
-      password:
-        description: Password for Zabbix Administrator
-        label: password
-        type: password
-        value: zabbix
-        weight: 20
-      username:
-        description: Username for Zabbix Administrator
-        label: username
-        type: text
-        value: admin
-        weight: 10
\ No newline at end of file
diff --git a/fuel/deploy/templates/hardware_environment/old_conf/ericsson_montreal_lab/ha/dha.yaml b/fuel/deploy/templates/hardware_environment/old_conf/ericsson_montreal_lab/ha/dha.yaml
deleted file mode 100644 (file)
index eed9ad6..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-title: Deployment Hardware Adapter (DHA)
-# DHA API version supported
-version: 1.1
-created: Mon May  4 09:03:46 UTC 2015
-comment: Test environment Ericsson Montreal
-
-# Adapter to use for this definition
-adapter: hp
-
-# Node list.
-# Mandatory property is id, all other properties are adapter specific.
-
-nodes:
-- id: 1
-  pxeMac: 14:58:D0:54:7A:D8
-  ipmiIp: 10.118.32.198
-  ipmiUser: <username>
-  ipmiPass: <password>
-- id: 2
-  pxeMac: 14:58:D0:55:E2:E0
-  ipmiIp: 10.118.32.202
-  ipmiUser: <username>
-  ipmiPass: <password>
-- id: 3
-  pxeMac: 9C:B6:54:8A:25:C0
-  ipmiIp: 10.118.32.213
-  ipmiUser: <username>
-  ipmiPass: <password>
-- id: 4
-  pxeMac: 14:58:D0:54:28:80
-  ipmiIp: 10.118.32.201
-  ipmiUser: <username>
-  ipmiPass: <password>
-- id: 5
-  pxeMac: 14:58:D0:54:E7:88
-  ipmiIp: 10.118.32.203
-  ipmiUser: <username>
-  ipmiPass: <password>
-- id: 6
-  pxeMac: 14:58:D0:54:7A:28
-  ipmiIp: 10.118.32.205
-  ipmiUser: <username>
-  ipmiPass: <password>
-# Adding the Fuel node as node id 7 which may not be correct - please
-# adjust as needed.
-- id: 7
-  libvirtName: fuel-opnfv
-  libvirtTemplate: templates/hardware_environment/vms/fuel.xml
-  isFuel: yes
-  username: root
-  password: r00tme
-
-disks:
-  fuel: 30G
\ No newline at end of file
diff --git a/fuel/deploy/templates/hardware_environment/old_conf/ericsson_montreal_lab/multinode/dea.yaml b/fuel/deploy/templates/hardware_environment/old_conf/ericsson_montreal_lab/multinode/dea.yaml
deleted file mode 100644 (file)
index 87ecdaa..0000000
+++ /dev/null
@@ -1,991 +0,0 @@
-title: Deployment Environment Adapter (DEA)
-# DEA API version supported
-version:
-created:
-comment: Test environment Ericsson Montreal
-environment:
-  name: opnfv_virt
-  mode: multinode
-  net_segment_type: vlan
-wanted_release: Juno on Ubuntu 12.04.4
-nodes:
-- id: 1
-  interfaces: interfaces_1
-  transformations: transformations_1
-  role: ceph-osd,controller
-- id: 2
-  interfaces: interfaces_1
-  transformations: transformations_2
-  role: ceph-osd,compute
-- id: 3
-  interfaces: interfaces_1
-  transformations: transformations_2
-  role: ceph-osd,compute
-- id: 4
-  interfaces: interfaces_1
-  transformations: transformations_2
-  role: ceph-osd,compute
-- id: 5
-  interfaces: interfaces_1
-  transformations: transformations_2
-  role: ceph-osd,compute
-- id: 6
-  interfaces: interfaces_1
-  transformations: transformations_2
-  role: ceph-osd,compute
-opnfv:
-  hosts:
-  - name:
-    address:
-    fqdn:
-fuel:
-  ADMIN_NETWORK:
-    ipaddress: 10.40.0.2
-    netmask: 255.255.255.0
-    dhcp_pool_start: 10.40.0.3
-    dhcp_pool_end: 10.40.0.254
-  DNS_UPSTREAM: 10.118.32.193
-  DNS_DOMAIN: opnfvericsson.ca
-  DNS_SEARCH: opnfvericsson.ca
-  FUEL_ACCESS:
-    user: admin
-    password: admin
-  HOSTNAME: opnfv
-  NTP1: 10.118.34.219
-  NTP2:
-  NTP3:
-interfaces_1:
-  eth0:
-  - fuelweb_admin
-  eth2:
-  - public
-  - management
-  - storage
-  - private
-transformations_1:
-  transformations:
-    - action: add-br
-      name: br-eth0
-    - action: add-port
-      bridge: br-eth0
-      name: eth0
-    - action: add-br
-      name: br-eth1
-    - action: add-port
-      bridge: br-eth1
-      name: eth1
-    - action: add-br
-      name: br-eth2
-    - action: add-port
-      bridge: br-eth2
-      name: eth2
-    - action: add-br
-      name: br-eth3
-    - action: add-port
-      bridge: br-eth3
-      name: eth3
-    - action: add-br
-      name: br-eth4
-    - action: add-port
-      bridge: br-eth4
-      name: eth4
-    - action: add-br
-      name: br-eth5
-    - action: add-port
-      bridge: br-eth5
-      name: eth5
-    - action: add-br
-      name: br-ex
-    - action: add-br
-      name: br-mgmt
-    - action: add-br
-      name: br-storage
-    - action: add-br
-      name: br-fw-admin
-    - action: add-br
-      name: br-prv
-    - action: add-patch
-      bridges:
-      - br-eth2
-      - br-storage
-      tags:
-      - 220
-      - 0
-      vlan_ids:
-      - 220
-      - 0
-    - action: add-patch
-      bridges:
-      - br-eth2
-      - br-mgmt
-      tags:
-      - 320
-      - 0
-      vlan_ids:
-      - 320
-      - 0
-    - action: add-patch
-      bridges:
-      - br-eth0
-      - br-fw-admin
-    - action: add-patch
-      bridges:
-      - br-eth2
-      - br-ex
-    - action: add-patch
-      bridges:
-      - br-eth2
-      - br-prv
-transformations_2:
-  transformations:
-    - action: add-br
-      name: br-eth0
-    - action: add-port
-      bridge: br-eth0
-      name: eth0
-    - action: add-br
-      name: br-eth1
-    - action: add-port
-      bridge: br-eth1
-      name: eth1
-    - action: add-br
-      name: br-eth2
-    - action: add-port
-      bridge: br-eth2
-      name: eth2
-    - action: add-br
-      name: br-eth3
-    - action: add-port
-      bridge: br-eth3
-      name: eth3
-    - action: add-br
-      name: br-eth4
-    - action: add-port
-      bridge: br-eth4
-      name: eth4
-    - action: add-br
-      name: br-eth5
-    - action: add-port
-      bridge: br-eth5
-      name: eth5
-    - action: add-br
-      name: br-mgmt
-    - action: add-br
-      name: br-storage
-    - action: add-br
-      name: br-fw-admin
-    - action: add-br
-      name: br-prv
-    - action: add-patch
-      bridges:
-      - br-eth2
-      - br-storage
-      tags:
-      - 220
-      - 0
-      vlan_ids:
-      - 220
-      - 0
-    - action: add-patch
-      bridges:
-      - br-eth2
-      - br-mgmt
-      tags:
-      - 320
-      - 0
-      vlan_ids:
-      - 320
-      - 0
-    - action: add-patch
-      bridges:
-      - br-eth0
-      - br-fw-admin
-    - action: add-patch
-      bridges:
-      - br-eth2
-      - br-prv
-network:
-  networking_parameters:
-    base_mac: fa:16:3e:00:00:00
-    dns_nameservers:
-    - 10.118.32.193
-    floating_ranges:
-    - - 10.118.36.48
-      - 10.118.36.62
-    gre_id_range:
-    - 2
-    - 65535
-    internal_cidr: 192.168.111.0/24
-    internal_gateway: 192.168.111.1
-    net_l23_provider: ovs
-    segmentation_type: vlan
-    vlan_range:
-    - 2022
-    - 2023
-  networks:
-  - cidr: 10.118.36.32/27
-    gateway: 10.118.36.1
-    ip_ranges:
-    - - 10.118.36.33
-      - 10.118.36.47
-    meta:
-      assign_vip: true
-      cidr: 172.16.0.0/24
-      configurable: true
-      floating_range_var: floating_ranges
-      ip_range:
-      - 172.16.0.2
-      - 172.16.0.126
-      map_priority: 1
-      name: public
-      notation: ip_ranges
-      render_addr_mask: public
-      render_type: null
-      use_gateway: true
-      vlan_start: null
-    name: public
-    vlan_start: null
-  - cidr: 192.168.0.0/24
-    gateway: null
-    ip_ranges:
-    - - 192.168.0.2
-      - 192.168.0.254
-    meta:
-      assign_vip: true
-      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
-      vlan_start: 320
-    name: management
-    vlan_start: 320
-  - cidr: 192.168.1.0/24
-    gateway: null
-    ip_ranges:
-    - - 192.168.1.2
-      - 192.168.1.254
-    meta:
-      assign_vip: false
-      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: 220
-    name: storage
-    vlan_start: 220
-  - cidr: null
-    gateway: null
-    ip_ranges: []
-    meta:
-      assign_vip: false
-      configurable: false
-      map_priority: 2
-      name: private
-      neutron_vlan_range: true
-      notation: null
-      render_addr_mask: null
-      render_type: null
-      seg_type: vlan
-      use_gateway: false
-      vlan_start: null
-    name: private
-    vlan_start: null
-  - cidr: 10.40.0.0/24
-    gateway: null
-    ip_ranges:
-    - - 10.40.0.3
-      - 10.40.0.254
-    meta:
-      assign_vip: false
-      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
-        type: text
-        value: admin@localhost
-        weight: 40
-      metadata:
-        label: Access
-        weight: 10
-      password:
-        description: Password for Administrator
-        label: password
-        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$)(?![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$)(?![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: 40
-      heat:
-        description: ''
-        label: ''
-        type: hidden
-        value: true
-        weight: 30
-      metadata:
-        label: Additional Components
-        weight: 20
-      murano:
-        description: If selected, Murano component will be installed
-        label: Install Murano
-        restrictions:
-        - cluster:net_provider != 'neutron'
-        type: checkbox
-        value: false
-        weight: 20
-      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
-        label: Public Key
-        type: text
-        value: ''
-        weight: 70
-      auto_assign_floating_ip:
-        description: If selected, OpenStack will automatically assign a floating IP
-          to a new instance
-        label: Auto assign floating IP
-        restrictions:
-        - cluster:net_provider == 'neutron'
-        type: checkbox
-        value: false
-        weight: 40
-      compute_scheduler_driver:
-        label: Scheduler driver
-        type: radio
-        value: nova.scheduler.filter_scheduler.FilterScheduler
-        values:
-        - data: nova.scheduler.filter_scheduler.FilterScheduler
-          description: Currently the most advanced OpenStack scheduler. See the OpenStack
-            documentation for details.
-          label: Filter scheduler
-        - data: nova.scheduler.simple.SimpleScheduler
-          description: This is 'naive' scheduler which tries to find the least loaded
-            host
-          label: Simple scheduler
-        weight: 40
-      debug:
-        description: Debug logging mode provides more information, but requires more
-          disk space.
-        label: OpenStack debug logging
-        type: checkbox
-        value: false
-        weight: 20
-      disable_offload:
-        description: If set, generic segmentation offload (gso) and generic receive
-          offload (gro) on physical nics will be disabled. See ethtool man.
-        label: Disable generic offload on physical nics
-        restrictions:
-        - action: hide
-          condition: cluster:net_provider == 'neutron' and networking_parameters:segmentation_type
-            == 'gre'
-        type: checkbox
-        value: true
-        weight: 80
-      libvirt_type:
-        label: Hypervisor type
-        type: radio
-        value: kvm
-        values:
-        - data: kvm
-          description: Choose this type of hypervisor if you run OpenStack on hardware
-          label: KVM
-          restrictions:
-          - settings:common.libvirt_type.value == 'vcenter'
-        - data: qemu
-          description: Choose this type of hypervisor if you run OpenStack on virtual
-            hosts.
-          label: QEMU
-          restrictions:
-          - settings:common.libvirt_type.value == 'vcenter'
-        - data: vcenter
-          description: Choose this type of hypervisor if you run OpenStack in a vCenter
-            environment.
-          label: vCenter
-          restrictions:
-          - settings:common.libvirt_type.value != 'vcenter' or cluster:net_provider
-            == 'neutron'
-        weight: 30
-      metadata:
-        label: Common
-        weight: 30
-      nova_quota:
-        description: Quotas are used to limit CPU and memory usage for tenants. Enabling
-          quotas will increase load on the Nova database.
-        label: Nova quotas
-        type: checkbox
-        value: false
-        weight: 25
-      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.
-        label: Resume guests state on host boot
-        type: checkbox
-        value: true
-        weight: 60
-      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.
-        label: Use qcow format for images
-        type: checkbox
-        value: true
-        weight: 50
-    corosync:
-      group:
-        description: ''
-        label: Group
-        type: text
-        value: 226.94.1.1
-        weight: 10
-      metadata:
-        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
-        type: text
-        value: 10.118.32.193
-        weight: 10
-      metadata:
-        label: Upstream DNS
-        weight: 90
-    external_ntp:
-      metadata:
-        label: Upstream NTP
-        weight: 100
-      ntp_list:
-        description: List of upstream NTP servers, separated by comma
-        label: NTP servers list
-        type: text
-        value: 10.118.34.219
-        weight: 10
-    kernel_params:
-      kernel:
-        description: Default kernel parameters
-        label: Initial parameters
-        type: text
-        value: console=ttyS0,9600 console=tty0 rootdelay=90 nomodeset
-        weight: 45
-      metadata:
-        label: Kernel parameters
-        weight: 40
-    neutron_mellanox:
-      metadata:
-        enabled: true
-        label: Mellanox Neutron components
-        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
-    nsx_plugin:
-      connector_type:
-        description: Default network transport type to use
-        label: NSX connector type
-        type: select
-        value: stt
-        values:
-        - data: gre
-          label: GRE
-        - data: ipsec_gre
-          label: GRE over IPSec
-        - data: stt
-          label: STT
-        - data: ipsec_stt
-          label: STT over IPSec
-        - data: bridge
-          label: Bridge
-        weight: 80
-      l3_gw_service_uuid:
-        description: UUID for the default L3 gateway service to use with this cluster
-        label: L3 service UUID
-        regex:
-          error: Invalid L3 gateway service UUID
-          source: '[a-f\d]{8}-[a-f\d]{4}-[a-f\d]{4}-[a-f\d]{4}-[a-f\d]{12}'
-        type: text
-        value: ''
-        weight: 50
-      metadata:
-        enabled: false
-        label: VMware NSX
-        restrictions:
-        - action: hide
-          condition: cluster:net_provider != 'neutron' or networking_parameters:net_l23_provider
-            != 'nsx'
-        weight: 20
-      nsx_controllers:
-        description: One or more IPv4[:port] addresses of NSX controller node, separated
-          by comma (e.g. 10.30.30.2,192.168.110.254:443)
-        label: NSX controller endpoint
-        regex:
-          error: Invalid controller endpoints, specify valid IPv4[:port] pair
-          source: ^(([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])\.){3}([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])(:(6553[0-5]|655[0-2][\d]|65[0-4][\d]{2}|6[0-4][\d]{3}|5[\d]{4}|[\d][\d]{0,3}))?(,(([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])\.){3}([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])(:(6553[0-5]|655[0-2][\d]|65[0-4][\d]{2}|6[0-4][\d]{3}|5[\d]{4}|[\d][\d]{0,3}))?)*$
-        type: text
-        value: ''
-        weight: 60
-      nsx_password:
-        description: Password for Administrator
-        label: NSX password
-        regex:
-          error: Empty password
-          source: \S
-        type: password
-        value: ''
-        weight: 30
-      nsx_username:
-        description: NSX administrator's username
-        label: NSX username
-        regex:
-          error: Empty username
-          source: \S
-        type: text
-        value: admin
-        weight: 20
-      packages_url:
-        description: URL to NSX specific packages
-        label: URL to NSX bits
-        regex:
-          error: Invalid URL, specify valid HTTP/HTTPS URL with IPv4 address (e.g.
-            http://10.20.0.2/nsx)
-          source: ^https?://(([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])\.){3}([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])(:(6553[0-5]|655[0-2][\d]|65[0-4][\d]{2}|6[0-4][\d]{3}|5[\d]{4}|[\d][\d]{0,3}))?(/.*)?$
-        type: text
-        value: ''
-        weight: 70
-      replication_mode:
-        description: ''
-        label: NSX cluster has Service nodes
-        type: checkbox
-        value: true
-        weight: 90
-      transport_zone_uuid:
-        description: UUID of the pre-existing default NSX Transport zone
-        label: Transport zone UUID
-        regex:
-          error: Invalid transport zone UUID
-          source: '[a-f\d]{8}-[a-f\d]{4}-[a-f\d]{4}-[a-f\d]{4}-[a-f\d]{12}'
-        type: text
-        value: ''
-        weight: 40
-    provision:
-      metadata:
-        label: Provision
-        restrictions:
-        - action: hide
-          condition: not ('experimental' in version:feature_groups)
-        weight: 80
-      method:
-        description: Which provision method to use for this cluster.
-        label: Provision method
-        type: radio
-        value: cobbler
-        values:
-        - data: image
-          description: Copying pre-built images on a disk.
-          label: Image
-        - data: cobbler
-          description: Install from scratch using anaconda or debian-installer.
-          label: Classic (use anaconda or debian-installer)
-    public_network_assignment:
-      assign_to_all_nodes:
-        description: When disabled, public network will be assigned to controllers
-          and zabbix-server only
-        label: Assign public network to all nodes
-        type: checkbox
-        value: false
-        weight: 10
-      metadata:
-        label: Public network assignment
-        restrictions:
-        - action: hide
-          condition: cluster:net_provider != 'neutron'
-        weight: 50
-    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)
-        restrictions:
-        - settings:common.libvirt_type.value == 'vcenter'
-        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)
-        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:
-        - settings:common.libvirt_type.value != 'vcenter'
-        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'
-        type: checkbox
-        value: false
-        weight: 11
-      metadata:
-        label: Storage
-        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)
-        restrictions:
-        - settings:storage.images_ceph.value == false
-        type: checkbox
-        value: false
-        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*$
-        restrictions:
-        - settings:common.libvirt_type.value == 'vcenter'
-        type: text
-        value: '2'
-        weight: 85
-      vc_datacenter:
-        description: Inventory path to a datacenter. If you want to use ESXi host
-          as datastore, it should be "ha-datacenter".
-        label: Datacenter name
-        regex:
-          error: Empty datacenter
-          source: \S
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: text
-        value: ''
-        weight: 65
-      vc_datastore:
-        description: Datastore associated with the datacenter.
-        label: Datastore name
-        regex:
-          error: Empty datastore
-          source: \S
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: text
-        value: ''
-        weight: 60
-      vc_host:
-        description: IP Address of vCenter/ESXi
-        label: vCenter/ESXi IP
-        regex:
-          error: Specify valid IPv4 address
-          source: ^(([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])\.){3}([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])$
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: text
-        value: ''
-        weight: 45
-      vc_image_dir:
-        description: The name of the directory where the glance images will be stored
-          in the VMware datastore.
-        label: Datastore Images directory
-        regex:
-          error: Empty images directory
-          source: \S
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: text
-        value: /openstack_glance
-        weight: 70
-      vc_password:
-        description: vCenter/ESXi admin password
-        label: Password
-        regex:
-          error: Empty password
-          source: \S
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: password
-        value: ''
-        weight: 55
-      vc_user:
-        description: vCenter/ESXi admin username
-        label: Username
-        regex:
-          error: Empty username
-          source: \S
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: text
-        value: ''
-        weight: 50
-      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:common.libvirt_type.value
-          == 'vcenter'
-        type: checkbox
-        value: true
-        weight: 20
-      volumes_lvm:
-        description: Requires 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
-      volumes_vmdk:
-        description: Configures Cinder to store volumes via VMware vCenter.
-        label: VMware vCenter for volumes (Cinder)
-        restrictions:
-        - settings:common.libvirt_type.value != 'vcenter' or settings:storage.volumes_lvm.value
-          == true
-        type: checkbox
-        value: false
-        weight: 15
-    syslog:
-      metadata:
-        label: Syslog
-        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
-        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
-    vcenter:
-      cluster:
-        description: vCenter cluster name. If you have multiple clusters, use comma
-          to separate names
-        label: Cluster
-        regex:
-          error: Invalid cluster list
-          source: ^([^,\ ]+([\ ]*[^,\ ])*)(,[^,\ ]+([\ ]*[^,\ ])*)*$
-        type: text
-        value: ''
-        weight: 40
-      datastore_regex:
-        description: The Datastore regexp setting specifies the data stores to use
-          with Compute. For example, "nas.*". If you want to use all available datastores,
-          leave this field blank
-        label: Datastore regexp
-        regex:
-          error: Invalid datastore regexp
-          source: ^(\S.*\S|\S|)$
-        type: text
-        value: ''
-        weight: 50
-      host_ip:
-        description: IP Address of vCenter
-        label: vCenter IP
-        regex:
-          error: Specify valid IPv4 address
-          source: ^(([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])\.){3}([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])$
-        type: text
-        value: ''
-        weight: 10
-      metadata:
-        label: vCenter
-        restrictions:
-        - action: hide
-          condition: settings:common.libvirt_type.value != 'vcenter'
-        weight: 20
-      use_vcenter:
-        description: ''
-        label: ''
-        type: hidden
-        value: true
-        weight: 5
-      vc_password:
-        description: vCenter admin password
-        label: Password
-        regex:
-          error: Empty password
-          source: \S
-        type: password
-        value: admin
-        weight: 30
-      vc_user:
-        description: vCenter admin username
-        label: Username
-        regex:
-          error: Empty username
-          source: \S
-        type: text
-        value: admin
-        weight: 20
-      vlan_interface:
-        description: Physical ESXi host ethernet adapter for VLAN networking (e.g.
-          vmnic1). If empty "vmnic0" is used by default
-        label: ESXi VLAN interface
-        restrictions:
-        - action: hide
-          condition: cluster:net_provider != 'nova_network' or networking_parameters:net_manager
-            != 'VlanManager'
-        type: text
-        value: ''
-        weight: 60
-    zabbix:
-      metadata:
-        label: Zabbix Access
-        restrictions:
-        - action: hide
-          condition: not ('experimental' in version:feature_groups)
-        weight: 70
-      password:
-        description: Password for Zabbix Administrator
-        label: password
-        type: password
-        value: zabbix
-        weight: 20
-      username:
-        description: Username for Zabbix Administrator
-        label: username
-        type: text
-        value: admin
-        weight: 10
\ No newline at end of file
diff --git a/fuel/deploy/templates/hardware_environment/old_conf/linux_foundation_lab/pod1/ha/dea.yaml b/fuel/deploy/templates/hardware_environment/old_conf/linux_foundation_lab/pod1/ha/dea.yaml
deleted file mode 100644 (file)
index ba66bdd..0000000
+++ /dev/null
@@ -1,954 +0,0 @@
-title: Deployment Environment Adapter (DEA)
-# DEA API version supported
-version:
-created:
-comment: Config for LF POD1 - HA deployment with Ceph
-environment:
-  name: opnfv_virt
-  mode: ha
-  net_segment_type: vlan
-wanted_release: Juno on Ubuntu 12.04.4
-nodes:
-- id: 1
-  interfaces: interfaces_1
-  transformations: transformations_1
-  role: ceph-osd,controller
-- id: 2
-  interfaces: interfaces_1
-  transformations: transformations_1
-  role: ceph-osd,controller
-- id: 3
-  interfaces: interfaces_1
-  transformations: transformations_1
-  role: ceph-osd,controller
-- id: 4
-  interfaces: interfaces_1
-  transformations: transformations_2
-  role: ceph-osd,compute
-- id: 5
-  interfaces: interfaces_1
-  transformations: transformations_2
-  role: ceph-osd,compute
-opnfv:
-  hosts:
-  - name:
-    address:
-    fqdn:
-fuel:
-  ADMIN_NETWORK:
-    ipaddress: 10.20.0.2
-    netmask: 255.255.0.0
-    dhcp_pool_start: 10.20.0.3
-    dhcp_pool_end: 10.20.0.254
-  DNS_UPSTREAM: 8.8.8.8
-  DNS_DOMAIN: domain.tld
-  DNS_SEARCH: domain.tld
-  FUEL_ACCESS:
-    user: admin
-    password: admin
-  HOSTNAME: opnfv
-  NTP1: 0.pool.ntp.org
-  NTP2: 1.pool.ntp.org
-  NTP3: 2.pool.ntp.org
-interfaces_1:
-  eth0:
-  - public
-  eth1:
-  - fuelweb_admin
-  - management
-  - storage
-  - private
-transformations_1:
-  transformations:
-    - action: add-br
-      name: br-eth0
-    - action: add-port
-      bridge: br-eth0
-      name: eth0
-    - action: add-br
-      name: br-eth1
-    - action: add-port
-      bridge: br-eth1
-      name: eth1
-    - action: add-br
-      name: br-ex
-    - action: add-br
-      name: br-mgmt
-    - action: add-br
-      name: br-storage
-    - action: add-br
-      name: br-fw-admin
-    - action: add-patch
-      bridges:
-      - br-eth1
-      - br-storage
-      tags:
-      - 301
-      - 0
-      vlan_ids:
-      - 301
-      - 0
-    - action: add-patch
-      bridges:
-      - br-eth1
-      - br-mgmt
-      tags:
-      - 300
-      - 0
-      vlan_ids:
-      - 300
-      - 0
-    - action: add-patch
-      bridges:
-      - br-eth1
-      - br-fw-admin
-      trunks:
-      - 0
-    - action: add-patch
-      bridges:
-      - br-eth0
-      - br-ex
-      trunks:
-      - 0
-    - action: add-br
-      name: br-prv
-    - action: add-patch
-      bridges:
-      - br-eth1
-      - br-prv
-transformations_2:
-  transformations:
-    - action: add-br
-      name: br-eth0
-    - action: add-port
-      bridge: br-eth0
-      name: eth0
-    - action: add-br
-      name: br-eth1
-    - action: add-port
-      bridge: br-eth1
-      name: eth1
-    - action: add-br
-      name: br-mgmt
-    - action: add-br
-      name: br-storage
-    - action: add-br
-      name: br-fw-admin
-    - action: add-patch
-      bridges:
-      - br-eth1
-      - br-storage
-      tags:
-      - 301
-      - 0
-      vlan_ids:
-      - 301
-      - 0
-    - action: add-patch
-      bridges:
-      - br-eth1
-      - br-mgmt
-      tags:
-      - 300
-      - 0
-      vlan_ids:
-      - 300
-      - 0
-    - action: add-patch
-      bridges:
-      - br-eth1
-      - br-fw-admin
-      trunks:
-      - 0
-    - action: add-br
-      name: br-prv
-    - action: add-patch
-      bridges:
-      - br-eth1
-      - br-prv
-network:
-  networking_parameters:
-    base_mac: fa:16:3e:00:00:00
-    dns_nameservers:
-    - 8.8.4.4
-    - 8.8.8.8
-    floating_ranges:
-    - - 172.30.9.80
-      - 172.30.9.89
-    gre_id_range:
-    - 2
-    - 65535
-    internal_cidr: 192.168.111.0/24
-    internal_gateway: 192.168.111.1
-    net_l23_provider: ovs
-    segmentation_type: vlan
-    vlan_range:
-    - 1000
-    - 1010
-  networks:
-  - cidr: 172.30.9.0/24
-    gateway: 172.30.9.1
-    ip_ranges:
-    - - 172.30.9.70
-      - 172.30.9.79
-    meta:
-      assign_vip: true
-      cidr: 172.16.0.0/24
-      configurable: true
-      floating_range_var: floating_ranges
-      ip_range:
-      - 172.16.0.2
-      - 172.16.0.126
-      map_priority: 1
-      name: public
-      notation: ip_ranges
-      render_addr_mask: public
-      render_type: null
-      use_gateway: true
-      vlan_start: null
-    name: public
-    vlan_start: null
-  - cidr: 192.168.0.0/24
-    gateway: null
-    ip_ranges:
-    - - 192.168.0.2
-      - 192.168.0.254
-    meta:
-      assign_vip: true
-      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
-      vlan_start: 101
-    name: management
-    vlan_start: 300
-  - cidr: 192.168.1.0/24
-    gateway: null
-    ip_ranges:
-    - - 192.168.1.2
-      - 192.168.1.254
-    meta:
-      assign_vip: false
-      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: 301
-  - cidr: null
-    gateway: null
-    ip_ranges: []
-    meta:
-      assign_vip: false
-      configurable: false
-      map_priority: 2
-      name: private
-      neutron_vlan_range: true
-      notation: null
-      render_addr_mask: null
-      render_type: null
-      seg_type: vlan
-      use_gateway: false
-      vlan_start: null
-    name: private
-    vlan_start: null
-  - cidr: 10.20.0.0/16
-    gateway: null
-    ip_ranges:
-    - - 10.20.0.3
-      - 10.20.255.254
-    meta:
-      assign_vip: false
-      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
-        type: text
-        value: admin@localhost
-        weight: 40
-      metadata:
-        label: Access
-        weight: 10
-      password:
-        description: Password for Administrator
-        label: password
-        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$)(?![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$)(?![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: 40
-      heat:
-        description: ''
-        label: ''
-        type: hidden
-        value: true
-        weight: 30
-      metadata:
-        label: Additional Components
-        weight: 20
-      murano:
-        description: If selected, Murano component will be installed
-        label: Install Murano
-        restrictions:
-        - cluster:net_provider != 'neutron'
-        type: checkbox
-        value: false
-        weight: 20
-      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
-        label: Public Key
-        type: text
-        value: ''
-        weight: 70
-      auto_assign_floating_ip:
-        description: If selected, OpenStack will automatically assign a floating IP
-          to a new instance
-        label: Auto assign floating IP
-        restrictions:
-        - cluster:net_provider == 'neutron'
-        type: checkbox
-        value: false
-        weight: 40
-      compute_scheduler_driver:
-        label: Scheduler driver
-        type: radio
-        value: nova.scheduler.filter_scheduler.FilterScheduler
-        values:
-        - data: nova.scheduler.filter_scheduler.FilterScheduler
-          description: Currently the most advanced OpenStack scheduler. See the OpenStack
-            documentation for details.
-          label: Filter scheduler
-        - data: nova.scheduler.simple.SimpleScheduler
-          description: This is 'naive' scheduler which tries to find the least loaded
-            host
-          label: Simple scheduler
-        weight: 40
-      debug:
-        description: Debug logging mode provides more information, but requires more
-          disk space.
-        label: OpenStack debug logging
-        type: checkbox
-        value: false
-        weight: 20
-      disable_offload:
-        description: If set, generic segmentation offload (gso) and generic receive
-          offload (gro) on physical nics will be disabled. See ethtool man.
-        label: Disable generic offload on physical nics
-        restrictions:
-        - action: hide
-          condition: cluster:net_provider == 'neutron' and networking_parameters:segmentation_type
-            == 'gre'
-        type: checkbox
-        value: true
-        weight: 80
-      libvirt_type:
-        label: Hypervisor type
-        type: radio
-        value: kvm
-        values:
-        - data: kvm
-          description: Choose this type of hypervisor if you run OpenStack on hardware
-          label: KVM
-          restrictions:
-          - settings:common.libvirt_type.value == 'vcenter'
-        - data: qemu
-          description: Choose this type of hypervisor if you run OpenStack on virtual
-            hosts.
-          label: QEMU
-          restrictions:
-          - settings:common.libvirt_type.value == 'vcenter'
-        - data: vcenter
-          description: Choose this type of hypervisor if you run OpenStack in a vCenter
-            environment.
-          label: vCenter
-          restrictions:
-          - settings:common.libvirt_type.value != 'vcenter' or cluster:net_provider
-            == 'neutron'
-        weight: 30
-      metadata:
-        label: Common
-        weight: 30
-      nova_quota:
-        description: Quotas are used to limit CPU and memory usage for tenants. Enabling
-          quotas will increase load on the Nova database.
-        label: Nova quotas
-        type: checkbox
-        value: false
-        weight: 25
-      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.
-        label: Resume guests state on host boot
-        type: checkbox
-        value: true
-        weight: 60
-      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.
-        label: Use qcow format for images
-        type: checkbox
-        value: true
-        weight: 50
-    corosync:
-      group:
-        description: ''
-        label: Group
-        type: text
-        value: 226.94.1.1
-        weight: 10
-      metadata:
-        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
-        type: text
-        value: 8.8.8.8, 8.8.4.4
-        weight: 10
-      metadata:
-        label: Upstream DNS
-        weight: 90
-    external_ntp:
-      metadata:
-        label: Upstream NTP
-        weight: 100
-      ntp_list:
-        description: List of upstream NTP servers, separated by comma
-        label: NTP servers list
-        type: text
-        value: 0.pool.ntp.org, 1.pool.ntp.org
-        weight: 10
-    kernel_params:
-      kernel:
-        description: Default kernel parameters
-        label: Initial parameters
-        type: text
-        value: console=ttyS0,9600 console=tty0 rootdelay=90 nomodeset
-        weight: 45
-      metadata:
-        label: Kernel parameters
-        weight: 40
-    neutron_mellanox:
-      metadata:
-        enabled: true
-        label: Mellanox Neutron components
-        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
-    nsx_plugin:
-      connector_type:
-        description: Default network transport type to use
-        label: NSX connector type
-        type: select
-        value: stt
-        values:
-        - data: gre
-          label: GRE
-        - data: ipsec_gre
-          label: GRE over IPSec
-        - data: stt
-          label: STT
-        - data: ipsec_stt
-          label: STT over IPSec
-        - data: bridge
-          label: Bridge
-        weight: 80
-      l3_gw_service_uuid:
-        description: UUID for the default L3 gateway service to use with this cluster
-        label: L3 service UUID
-        regex:
-          error: Invalid L3 gateway service UUID
-          source: '[a-f\d]{8}-[a-f\d]{4}-[a-f\d]{4}-[a-f\d]{4}-[a-f\d]{12}'
-        type: text
-        value: ''
-        weight: 50
-      metadata:
-        enabled: false
-        label: VMware NSX
-        restrictions:
-        - action: hide
-          condition: cluster:net_provider != 'neutron' or networking_parameters:net_l23_provider
-            != 'nsx'
-        weight: 20
-      nsx_controllers:
-        description: One or more IPv4[:port] addresses of NSX controller node, separated
-          by comma (e.g. 10.30.30.2,192.168.110.254:443)
-        label: NSX controller endpoint
-        regex:
-          error: Invalid controller endpoints, specify valid IPv4[:port] pair
-          source: ^(([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])\.){3}([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])(:(6553[0-5]|655[0-2][\d]|65[0-4][\d]{2}|6[0-4][\d]{3}|5[\d]{4}|[\d][\d]{0,3}))?(,(([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])\.){3}([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])(:(6553[0-5]|655[0-2][\d]|65[0-4][\d]{2}|6[0-4][\d]{3}|5[\d]{4}|[\d][\d]{0,3}))?)*$
-        type: text
-        value: ''
-        weight: 60
-      nsx_password:
-        description: Password for Administrator
-        label: NSX password
-        regex:
-          error: Empty password
-          source: \S
-        type: password
-        value: ''
-        weight: 30
-      nsx_username:
-        description: NSX administrator's username
-        label: NSX username
-        regex:
-          error: Empty username
-          source: \S
-        type: text
-        value: admin
-        weight: 20
-      packages_url:
-        description: URL to NSX specific packages
-        label: URL to NSX bits
-        regex:
-          error: Invalid URL, specify valid HTTP/HTTPS URL with IPv4 address (e.g.
-            http://10.20.0.2/nsx)
-          source: ^https?://(([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])\.){3}([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])(:(6553[0-5]|655[0-2][\d]|65[0-4][\d]{2}|6[0-4][\d]{3}|5[\d]{4}|[\d][\d]{0,3}))?(/.*)?$
-        type: text
-        value: ''
-        weight: 70
-      replication_mode:
-        description: ''
-        label: NSX cluster has Service nodes
-        type: checkbox
-        value: true
-        weight: 90
-      transport_zone_uuid:
-        description: UUID of the pre-existing default NSX Transport zone
-        label: Transport zone UUID
-        regex:
-          error: Invalid transport zone UUID
-          source: '[a-f\d]{8}-[a-f\d]{4}-[a-f\d]{4}-[a-f\d]{4}-[a-f\d]{12}'
-        type: text
-        value: ''
-        weight: 40
-    provision:
-      metadata:
-        label: Provision
-        restrictions:
-        - action: hide
-          condition: not ('experimental' in version:feature_groups)
-        weight: 80
-      method:
-        description: Which provision method to use for this cluster.
-        label: Provision method
-        type: radio
-        value: cobbler
-        values:
-        - data: image
-          description: Copying pre-built images on a disk.
-          label: Image
-        - data: cobbler
-          description: Install from scratch using anaconda or debian-installer.
-          label: Classic (use anaconda or debian-installer)
-    public_network_assignment:
-      assign_to_all_nodes:
-        description: When disabled, public network will be assigned to controllers
-          and zabbix-server only
-        label: Assign public network to all nodes
-        type: checkbox
-        value: false
-        weight: 10
-      metadata:
-        label: Public network assignment
-        restrictions:
-        - action: hide
-          condition: cluster:net_provider != 'neutron'
-        weight: 50
-    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)
-        restrictions:
-        - settings:common.libvirt_type.value == 'vcenter'
-        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)
-        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:
-        - settings:common.libvirt_type.value != 'vcenter'
-        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'
-        type: checkbox
-        value: false
-        weight: 11
-      metadata:
-        label: Storage
-        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)
-        restrictions:
-        - settings:storage.images_ceph.value == false
-        type: checkbox
-        value: false
-        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*$
-        restrictions:
-        - settings:common.libvirt_type.value == 'vcenter'
-        type: text
-        value: '2'
-        weight: 85
-      vc_datacenter:
-        description: Inventory path to a datacenter. If you want to use ESXi host
-          as datastore, it should be "ha-datacenter".
-        label: Datacenter name
-        regex:
-          error: Empty datacenter
-          source: \S
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: text
-        value: ''
-        weight: 65
-      vc_datastore:
-        description: Datastore associated with the datacenter.
-        label: Datastore name
-        regex:
-          error: Empty datastore
-          source: \S
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: text
-        value: ''
-        weight: 60
-      vc_host:
-        description: IP Address of vCenter/ESXi
-        label: vCenter/ESXi IP
-        regex:
-          error: Specify valid IPv4 address
-          source: ^(([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])\.){3}([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])$
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: text
-        value: ''
-        weight: 45
-      vc_image_dir:
-        description: The name of the directory where the glance images will be stored
-          in the VMware datastore.
-        label: Datastore Images directory
-        regex:
-          error: Empty images directory
-          source: \S
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: text
-        value: /openstack_glance
-        weight: 70
-      vc_password:
-        description: vCenter/ESXi admin password
-        label: Password
-        regex:
-          error: Empty password
-          source: \S
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: password
-        value: ''
-        weight: 55
-      vc_user:
-        description: vCenter/ESXi admin username
-        label: Username
-        regex:
-          error: Empty username
-          source: \S
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: text
-        value: ''
-        weight: 50
-      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:common.libvirt_type.value
-          == 'vcenter'
-        type: checkbox
-        value: true
-        weight: 20
-      volumes_lvm:
-        description: Requires 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
-      volumes_vmdk:
-        description: Configures Cinder to store volumes via VMware vCenter.
-        label: VMware vCenter for volumes (Cinder)
-        restrictions:
-        - settings:common.libvirt_type.value != 'vcenter' or settings:storage.volumes_lvm.value
-          == true
-        type: checkbox
-        value: false
-        weight: 15
-    syslog:
-      metadata:
-        label: Syslog
-        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
-        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
-    vcenter:
-      cluster:
-        description: vCenter cluster name. If you have multiple clusters, use comma
-          to separate names
-        label: Cluster
-        regex:
-          error: Invalid cluster list
-          source: ^([^,\ ]+([\ ]*[^,\ ])*)(,[^,\ ]+([\ ]*[^,\ ])*)*$
-        type: text
-        value: ''
-        weight: 40
-      datastore_regex:
-        description: The Datastore regexp setting specifies the data stores to use
-          with Compute. For example, "nas.*". If you want to use all available datastores,
-          leave this field blank
-        label: Datastore regexp
-        regex:
-          error: Invalid datastore regexp
-          source: ^(\S.*\S|\S|)$
-        type: text
-        value: ''
-        weight: 50
-      host_ip:
-        description: IP Address of vCenter
-        label: vCenter IP
-        regex:
-          error: Specify valid IPv4 address
-          source: ^(([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])\.){3}([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])$
-        type: text
-        value: ''
-        weight: 10
-      metadata:
-        label: vCenter
-        restrictions:
-        - action: hide
-          condition: settings:common.libvirt_type.value != 'vcenter'
-        weight: 20
-      use_vcenter:
-        description: ''
-        label: ''
-        type: hidden
-        value: true
-        weight: 5
-      vc_password:
-        description: vCenter admin password
-        label: Password
-        regex:
-          error: Empty password
-          source: \S
-        type: password
-        value: admin
-        weight: 30
-      vc_user:
-        description: vCenter admin username
-        label: Username
-        regex:
-          error: Empty username
-          source: \S
-        type: text
-        value: admin
-        weight: 20
-      vlan_interface:
-        description: Physical ESXi host ethernet adapter for VLAN networking (e.g.
-          vmnic1). If empty "vmnic0" is used by default
-        label: ESXi VLAN interface
-        restrictions:
-        - action: hide
-          condition: cluster:net_provider != 'nova_network' or networking_parameters:net_manager
-            != 'VlanManager'
-        type: text
-        value: ''
-        weight: 60
-    zabbix:
-      metadata:
-        label: Zabbix Access
-        restrictions:
-        - action: hide
-          condition: not ('experimental' in version:feature_groups)
-        weight: 70
-      password:
-        description: Password for Zabbix Administrator
-        label: password
-        type: password
-        value: zabbix
-        weight: 20
-      username:
-        description: Username for Zabbix Administrator
-        label: username
-        type: text
-        value: admin
-        weight: 10
\ No newline at end of file
diff --git a/fuel/deploy/templates/hardware_environment/old_conf/linux_foundation_lab/pod1/ha/dha.yaml b/fuel/deploy/templates/hardware_environment/old_conf/linux_foundation_lab/pod1/ha/dha.yaml
deleted file mode 100644 (file)
index a7fc7c0..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-title: Deployment Hardware Adapter (DHA)
-# DHA API version supported
-version:
-created:
-comment: Config for LF POD1
-
-# Adapter to use for this definition
-adapter: ipmi
-
-# Node list.
-# Mandatory property is id, all other properties are adapter specific.
-
-nodes:
-- id: 1
-  pxeMac: 00:25:b5:b0:00:ef
-  ipmiIp: 172.30.8.69
-  ipmiUser: admin
-  ipmiPass: octopus
-- id: 2
-  pxeMac: 00:25:b5:b0:00:cf
-  ipmiIp: 172.30.8.78
-  ipmiUser: admin
-  ipmiPass: octopus
-- id: 3
-  pxeMac: 00:25:b5:b0:00:8f
-  ipmiIp: 172.30.8.68
-  ipmiUser: admin
-  ipmiPass: octopus
-- id: 4
-  pxeMac: 00:25:b5:b0:00:6f
-  ipmiIp: 172.30.8.77
-  ipmiUser: admin
-  ipmiPass: octopus
-- id: 5
-  pxeMac: 00:25:b5:b0:00:4f
-  ipmiIp: 172.30.8.67
-  ipmiUser: admin
-  ipmiPass: octopus
-# Adding the Fuel node as node id 6 which may not be correct - please
-# adjust as needed.
-- id: 6
-  libvirtName: fuel-opnfv
-  libvirtTemplate: templates/hardware_environment/vms/fuel.xml
-  isFuel: yes
-  username: root
-  password: r00tme
-
-disks:
-  fuel: 30G
\ No newline at end of file
diff --git a/fuel/deploy/templates/hardware_environment/old_conf/linux_foundation_lab/pod1/multinode/dea.yaml b/fuel/deploy/templates/hardware_environment/old_conf/linux_foundation_lab/pod1/multinode/dea.yaml
deleted file mode 100644 (file)
index 35b1c3f..0000000
+++ /dev/null
@@ -1,954 +0,0 @@
-title: Deployment Environment Adapter (DEA)
-# DEA API version supported
-version:
-created:
-comment: Config for LF POD1 - Multinode deployment with Ceph
-environment:
-  name: opnfv_virt
-  mode: multinode
-  net_segment_type: vlan
-wanted_release: Juno on Ubuntu 12.04.4
-nodes:
-- id: 1
-  interfaces: interfaces_1
-  transformations: transformations_1
-  role: ceph-osd,controller
-- id: 2
-  interfaces: interfaces_1
-  transformations: transformations_2
-  role: ceph-osd,compute
-- id: 3
-  interfaces: interfaces_1
-  transformations: transformations_2
-  role: ceph-osd,compute
-- id: 4
-  interfaces: interfaces_1
-  transformations: transformations_2
-  role: ceph-osd,compute
-- id: 5
-  interfaces: interfaces_1
-  transformations: transformations_2
-  role: ceph-osd,compute
-opnfv:
-  hosts:
-  - name:
-    address:
-    fqdn:
-fuel:
-  ADMIN_NETWORK:
-    ipaddress: 10.20.0.2
-    netmask: 255.255.0.0
-    dhcp_pool_start: 10.20.0.3
-    dhcp_pool_end: 10.20.0.254
-  DNS_UPSTREAM: 8.8.8.8
-  DNS_DOMAIN: domain.tld
-  DNS_SEARCH: domain.tld
-  FUEL_ACCESS:
-    user: admin
-    password: admin
-  HOSTNAME: opnfv
-  NTP1: 0.pool.ntp.org
-  NTP2: 1.pool.ntp.org
-  NTP3: 2.pool.ntp.org
-interfaces_1:
-  eth0:
-  - public
-  eth1:
-  - fuelweb_admin
-  - management
-  - storage
-  - private
-transformations_1:
-  transformations:
-    - action: add-br
-      name: br-eth0
-    - action: add-port
-      bridge: br-eth0
-      name: eth0
-    - action: add-br
-      name: br-eth1
-    - action: add-port
-      bridge: br-eth1
-      name: eth1
-    - action: add-br
-      name: br-ex
-    - action: add-br
-      name: br-mgmt
-    - action: add-br
-      name: br-storage
-    - action: add-br
-      name: br-fw-admin
-    - action: add-patch
-      bridges:
-      - br-eth1
-      - br-storage
-      tags:
-      - 301
-      - 0
-      vlan_ids:
-      - 301
-      - 0
-    - action: add-patch
-      bridges:
-      - br-eth1
-      - br-mgmt
-      tags:
-      - 300
-      - 0
-      vlan_ids:
-      - 300
-      - 0
-    - action: add-patch
-      bridges:
-      - br-eth1
-      - br-fw-admin
-      trunks:
-      - 0
-    - action: add-patch
-      bridges:
-      - br-eth0
-      - br-ex
-      trunks:
-      - 0
-    - action: add-br
-      name: br-prv
-    - action: add-patch
-      bridges:
-      - br-eth1
-      - br-prv
-transformations_2:
-  transformations:
-    - action: add-br
-      name: br-eth0
-    - action: add-port
-      bridge: br-eth0
-      name: eth0
-    - action: add-br
-      name: br-eth1
-    - action: add-port
-      bridge: br-eth1
-      name: eth1
-    - action: add-br
-      name: br-mgmt
-    - action: add-br
-      name: br-storage
-    - action: add-br
-      name: br-fw-admin
-    - action: add-patch
-      bridges:
-      - br-eth1
-      - br-storage
-      tags:
-      - 301
-      - 0
-      vlan_ids:
-      - 301
-      - 0
-    - action: add-patch
-      bridges:
-      - br-eth1
-      - br-mgmt
-      tags:
-      - 300
-      - 0
-      vlan_ids:
-      - 300
-      - 0
-    - action: add-patch
-      bridges:
-      - br-eth1
-      - br-fw-admin
-      trunks:
-      - 0
-    - action: add-br
-      name: br-prv
-    - action: add-patch
-      bridges:
-      - br-eth1
-      - br-prv
-network:
-  networking_parameters:
-    base_mac: fa:16:3e:00:00:00
-    dns_nameservers:
-    - 8.8.4.4
-    - 8.8.8.8
-    floating_ranges:
-    - - 172.30.9.80
-      - 172.30.9.89
-    gre_id_range:
-    - 2
-    - 65535
-    internal_cidr: 192.168.111.0/24
-    internal_gateway: 192.168.111.1
-    net_l23_provider: ovs
-    segmentation_type: vlan
-    vlan_range:
-    - 1000
-    - 1010
-  networks:
-  - cidr: 172.30.9.0/24
-    gateway: 172.30.9.1
-    ip_ranges:
-    - - 172.30.9.70
-      - 172.30.9.79
-    meta:
-      assign_vip: true
-      cidr: 172.16.0.0/24
-      configurable: true
-      floating_range_var: floating_ranges
-      ip_range:
-      - 172.16.0.2
-      - 172.16.0.126
-      map_priority: 1
-      name: public
-      notation: ip_ranges
-      render_addr_mask: public
-      render_type: null
-      use_gateway: true
-      vlan_start: null
-    name: public
-    vlan_start: null
-  - cidr: 192.168.0.0/24
-    gateway: null
-    ip_ranges:
-    - - 192.168.0.2
-      - 192.168.0.254
-    meta:
-      assign_vip: true
-      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
-      vlan_start: 101
-    name: management
-    vlan_start: 300
-  - cidr: 192.168.1.0/24
-    gateway: null
-    ip_ranges:
-    - - 192.168.1.2
-      - 192.168.1.254
-    meta:
-      assign_vip: false
-      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: 301
-  - cidr: null
-    gateway: null
-    ip_ranges: []
-    meta:
-      assign_vip: false
-      configurable: false
-      map_priority: 2
-      name: private
-      neutron_vlan_range: true
-      notation: null
-      render_addr_mask: null
-      render_type: null
-      seg_type: vlan
-      use_gateway: false
-      vlan_start: null
-    name: private
-    vlan_start: null
-  - cidr: 10.20.0.0/16
-    gateway: null
-    ip_ranges:
-    - - 10.20.0.3
-      - 10.20.255.254
-    meta:
-      assign_vip: false
-      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
-        type: text
-        value: admin@localhost
-        weight: 40
-      metadata:
-        label: Access
-        weight: 10
-      password:
-        description: Password for Administrator
-        label: password
-        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$)(?![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$)(?![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: 40
-      heat:
-        description: ''
-        label: ''
-        type: hidden
-        value: true
-        weight: 30
-      metadata:
-        label: Additional Components
-        weight: 20
-      murano:
-        description: If selected, Murano component will be installed
-        label: Install Murano
-        restrictions:
-        - cluster:net_provider != 'neutron'
-        type: checkbox
-        value: false
-        weight: 20
-      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
-        label: Public Key
-        type: text
-        value: ''
-        weight: 70
-      auto_assign_floating_ip:
-        description: If selected, OpenStack will automatically assign a floating IP
-          to a new instance
-        label: Auto assign floating IP
-        restrictions:
-        - cluster:net_provider == 'neutron'
-        type: checkbox
-        value: false
-        weight: 40
-      compute_scheduler_driver:
-        label: Scheduler driver
-        type: radio
-        value: nova.scheduler.filter_scheduler.FilterScheduler
-        values:
-        - data: nova.scheduler.filter_scheduler.FilterScheduler
-          description: Currently the most advanced OpenStack scheduler. See the OpenStack
-            documentation for details.
-          label: Filter scheduler
-        - data: nova.scheduler.simple.SimpleScheduler
-          description: This is 'naive' scheduler which tries to find the least loaded
-            host
-          label: Simple scheduler
-        weight: 40
-      debug:
-        description: Debug logging mode provides more information, but requires more
-          disk space.
-        label: OpenStack debug logging
-        type: checkbox
-        value: false
-        weight: 20
-      disable_offload:
-        description: If set, generic segmentation offload (gso) and generic receive
-          offload (gro) on physical nics will be disabled. See ethtool man.
-        label: Disable generic offload on physical nics
-        restrictions:
-        - action: hide
-          condition: cluster:net_provider == 'neutron' and networking_parameters:segmentation_type
-            == 'gre'
-        type: checkbox
-        value: true
-        weight: 80
-      libvirt_type:
-        label: Hypervisor type
-        type: radio
-        value: kvm
-        values:
-        - data: kvm
-          description: Choose this type of hypervisor if you run OpenStack on hardware
-          label: KVM
-          restrictions:
-          - settings:common.libvirt_type.value == 'vcenter'
-        - data: qemu
-          description: Choose this type of hypervisor if you run OpenStack on virtual
-            hosts.
-          label: QEMU
-          restrictions:
-          - settings:common.libvirt_type.value == 'vcenter'
-        - data: vcenter
-          description: Choose this type of hypervisor if you run OpenStack in a vCenter
-            environment.
-          label: vCenter
-          restrictions:
-          - settings:common.libvirt_type.value != 'vcenter' or cluster:net_provider
-            == 'neutron'
-        weight: 30
-      metadata:
-        label: Common
-        weight: 30
-      nova_quota:
-        description: Quotas are used to limit CPU and memory usage for tenants. Enabling
-          quotas will increase load on the Nova database.
-        label: Nova quotas
-        type: checkbox
-        value: false
-        weight: 25
-      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.
-        label: Resume guests state on host boot
-        type: checkbox
-        value: true
-        weight: 60
-      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.
-        label: Use qcow format for images
-        type: checkbox
-        value: true
-        weight: 50
-    corosync:
-      group:
-        description: ''
-        label: Group
-        type: text
-        value: 226.94.1.1
-        weight: 10
-      metadata:
-        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
-        type: text
-        value: 8.8.8.8, 8.8.4.4
-        weight: 10
-      metadata:
-        label: Upstream DNS
-        weight: 90
-    external_ntp:
-      metadata:
-        label: Upstream NTP
-        weight: 100
-      ntp_list:
-        description: List of upstream NTP servers, separated by comma
-        label: NTP servers list
-        type: text
-        value: 0.pool.ntp.org, 1.pool.ntp.org
-        weight: 10
-    kernel_params:
-      kernel:
-        description: Default kernel parameters
-        label: Initial parameters
-        type: text
-        value: console=ttyS0,9600 console=tty0 rootdelay=90 nomodeset
-        weight: 45
-      metadata:
-        label: Kernel parameters
-        weight: 40
-    neutron_mellanox:
-      metadata:
-        enabled: true
-        label: Mellanox Neutron components
-        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
-    nsx_plugin:
-      connector_type:
-        description: Default network transport type to use
-        label: NSX connector type
-        type: select
-        value: stt
-        values:
-        - data: gre
-          label: GRE
-        - data: ipsec_gre
-          label: GRE over IPSec
-        - data: stt
-          label: STT
-        - data: ipsec_stt
-          label: STT over IPSec
-        - data: bridge
-          label: Bridge
-        weight: 80
-      l3_gw_service_uuid:
-        description: UUID for the default L3 gateway service to use with this cluster
-        label: L3 service UUID
-        regex:
-          error: Invalid L3 gateway service UUID
-          source: '[a-f\d]{8}-[a-f\d]{4}-[a-f\d]{4}-[a-f\d]{4}-[a-f\d]{12}'
-        type: text
-        value: ''
-        weight: 50
-      metadata:
-        enabled: false
-        label: VMware NSX
-        restrictions:
-        - action: hide
-          condition: cluster:net_provider != 'neutron' or networking_parameters:net_l23_provider
-            != 'nsx'
-        weight: 20
-      nsx_controllers:
-        description: One or more IPv4[:port] addresses of NSX controller node, separated
-          by comma (e.g. 10.30.30.2,192.168.110.254:443)
-        label: NSX controller endpoint
-        regex:
-          error: Invalid controller endpoints, specify valid IPv4[:port] pair
-          source: ^(([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])\.){3}([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])(:(6553[0-5]|655[0-2][\d]|65[0-4][\d]{2}|6[0-4][\d]{3}|5[\d]{4}|[\d][\d]{0,3}))?(,(([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])\.){3}([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])(:(6553[0-5]|655[0-2][\d]|65[0-4][\d]{2}|6[0-4][\d]{3}|5[\d]{4}|[\d][\d]{0,3}))?)*$
-        type: text
-        value: ''
-        weight: 60
-      nsx_password:
-        description: Password for Administrator
-        label: NSX password
-        regex:
-          error: Empty password
-          source: \S
-        type: password
-        value: ''
-        weight: 30
-      nsx_username:
-        description: NSX administrator's username
-        label: NSX username
-        regex:
-          error: Empty username
-          source: \S
-        type: text
-        value: admin
-        weight: 20
-      packages_url:
-        description: URL to NSX specific packages
-        label: URL to NSX bits
-        regex:
-          error: Invalid URL, specify valid HTTP/HTTPS URL with IPv4 address (e.g.
-            http://10.20.0.2/nsx)
-          source: ^https?://(([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])\.){3}([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])(:(6553[0-5]|655[0-2][\d]|65[0-4][\d]{2}|6[0-4][\d]{3}|5[\d]{4}|[\d][\d]{0,3}))?(/.*)?$
-        type: text
-        value: ''
-        weight: 70
-      replication_mode:
-        description: ''
-        label: NSX cluster has Service nodes
-        type: checkbox
-        value: true
-        weight: 90
-      transport_zone_uuid:
-        description: UUID of the pre-existing default NSX Transport zone
-        label: Transport zone UUID
-        regex:
-          error: Invalid transport zone UUID
-          source: '[a-f\d]{8}-[a-f\d]{4}-[a-f\d]{4}-[a-f\d]{4}-[a-f\d]{12}'
-        type: text
-        value: ''
-        weight: 40
-    provision:
-      metadata:
-        label: Provision
-        restrictions:
-        - action: hide
-          condition: not ('experimental' in version:feature_groups)
-        weight: 80
-      method:
-        description: Which provision method to use for this cluster.
-        label: Provision method
-        type: radio
-        value: cobbler
-        values:
-        - data: image
-          description: Copying pre-built images on a disk.
-          label: Image
-        - data: cobbler
-          description: Install from scratch using anaconda or debian-installer.
-          label: Classic (use anaconda or debian-installer)
-    public_network_assignment:
-      assign_to_all_nodes:
-        description: When disabled, public network will be assigned to controllers
-          and zabbix-server only
-        label: Assign public network to all nodes
-        type: checkbox
-        value: false
-        weight: 10
-      metadata:
-        label: Public network assignment
-        restrictions:
-        - action: hide
-          condition: cluster:net_provider != 'neutron'
-        weight: 50
-    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)
-        restrictions:
-        - settings:common.libvirt_type.value == 'vcenter'
-        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)
-        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:
-        - settings:common.libvirt_type.value != 'vcenter'
-        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'
-        type: checkbox
-        value: false
-        weight: 11
-      metadata:
-        label: Storage
-        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)
-        restrictions:
-        - settings:storage.images_ceph.value == false
-        type: checkbox
-        value: false
-        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*$
-        restrictions:
-        - settings:common.libvirt_type.value == 'vcenter'
-        type: text
-        value: '2'
-        weight: 85
-      vc_datacenter:
-        description: Inventory path to a datacenter. If you want to use ESXi host
-          as datastore, it should be "ha-datacenter".
-        label: Datacenter name
-        regex:
-          error: Empty datacenter
-          source: \S
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: text
-        value: ''
-        weight: 65
-      vc_datastore:
-        description: Datastore associated with the datacenter.
-        label: Datastore name
-        regex:
-          error: Empty datastore
-          source: \S
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: text
-        value: ''
-        weight: 60
-      vc_host:
-        description: IP Address of vCenter/ESXi
-        label: vCenter/ESXi IP
-        regex:
-          error: Specify valid IPv4 address
-          source: ^(([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])\.){3}([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])$
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: text
-        value: ''
-        weight: 45
-      vc_image_dir:
-        description: The name of the directory where the glance images will be stored
-          in the VMware datastore.
-        label: Datastore Images directory
-        regex:
-          error: Empty images directory
-          source: \S
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: text
-        value: /openstack_glance
-        weight: 70
-      vc_password:
-        description: vCenter/ESXi admin password
-        label: Password
-        regex:
-          error: Empty password
-          source: \S
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: password
-        value: ''
-        weight: 55
-      vc_user:
-        description: vCenter/ESXi admin username
-        label: Username
-        regex:
-          error: Empty username
-          source: \S
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: text
-        value: ''
-        weight: 50
-      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:common.libvirt_type.value
-          == 'vcenter'
-        type: checkbox
-        value: true
-        weight: 20
-      volumes_lvm:
-        description: Requires 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
-      volumes_vmdk:
-        description: Configures Cinder to store volumes via VMware vCenter.
-        label: VMware vCenter for volumes (Cinder)
-        restrictions:
-        - settings:common.libvirt_type.value != 'vcenter' or settings:storage.volumes_lvm.value
-          == true
-        type: checkbox
-        value: false
-        weight: 15
-    syslog:
-      metadata:
-        label: Syslog
-        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
-        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
-    vcenter:
-      cluster:
-        description: vCenter cluster name. If you have multiple clusters, use comma
-          to separate names
-        label: Cluster
-        regex:
-          error: Invalid cluster list
-          source: ^([^,\ ]+([\ ]*[^,\ ])*)(,[^,\ ]+([\ ]*[^,\ ])*)*$
-        type: text
-        value: ''
-        weight: 40
-      datastore_regex:
-        description: The Datastore regexp setting specifies the data stores to use
-          with Compute. For example, "nas.*". If you want to use all available datastores,
-          leave this field blank
-        label: Datastore regexp
-        regex:
-          error: Invalid datastore regexp
-          source: ^(\S.*\S|\S|)$
-        type: text
-        value: ''
-        weight: 50
-      host_ip:
-        description: IP Address of vCenter
-        label: vCenter IP
-        regex:
-          error: Specify valid IPv4 address
-          source: ^(([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])\.){3}([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])$
-        type: text
-        value: ''
-        weight: 10
-      metadata:
-        label: vCenter
-        restrictions:
-        - action: hide
-          condition: settings:common.libvirt_type.value != 'vcenter'
-        weight: 20
-      use_vcenter:
-        description: ''
-        label: ''
-        type: hidden
-        value: true
-        weight: 5
-      vc_password:
-        description: vCenter admin password
-        label: Password
-        regex:
-          error: Empty password
-          source: \S
-        type: password
-        value: admin
-        weight: 30
-      vc_user:
-        description: vCenter admin username
-        label: Username
-        regex:
-          error: Empty username
-          source: \S
-        type: text
-        value: admin
-        weight: 20
-      vlan_interface:
-        description: Physical ESXi host ethernet adapter for VLAN networking (e.g.
-          vmnic1). If empty "vmnic0" is used by default
-        label: ESXi VLAN interface
-        restrictions:
-        - action: hide
-          condition: cluster:net_provider != 'nova_network' or networking_parameters:net_manager
-            != 'VlanManager'
-        type: text
-        value: ''
-        weight: 60
-    zabbix:
-      metadata:
-        label: Zabbix Access
-        restrictions:
-        - action: hide
-          condition: not ('experimental' in version:feature_groups)
-        weight: 70
-      password:
-        description: Password for Zabbix Administrator
-        label: password
-        type: password
-        value: zabbix
-        weight: 20
-      username:
-        description: Username for Zabbix Administrator
-        label: username
-        type: text
-        value: admin
-        weight: 10
\ No newline at end of file
diff --git a/fuel/deploy/templates/hardware_environment/old_conf/linux_foundation_lab/pod1/multinode/dha.yaml b/fuel/deploy/templates/hardware_environment/old_conf/linux_foundation_lab/pod1/multinode/dha.yaml
deleted file mode 100644 (file)
index 2dcab1f..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-title: Deployment Hardware Adapter (DHA)
-# DHA API version supported
-version:
-created:
-comment: Config for LF Pod1
-
-# Adapter to use for this definition
-adapter: ipmi
-
-# Node list.
-# Mandatory property is id, all other properties are adapter specific.
-
-nodes:
-- id: 1
-  pxeMac: 00:25:b5:b0:00:ef
-  ipmiIp: 172.30.8.69
-  ipmiUser: admin
-  ipmiPass: octopus
-- id: 2
-  pxeMac: 00:25:b5:b0:00:cf
-  ipmiIp: 172.30.8.78
-  ipmiUser: admin
-  ipmiPass: octopus
-- id: 3
-  pxeMac: 00:25:b5:b0:00:8f
-  ipmiIp: 172.30.8.68
-  ipmiUser: admin
-  ipmiPass: octopus
-- id: 4
-  pxeMac: 00:25:b5:b0:00:6f
-  ipmiIp: 172.30.8.77
-  ipmiUser: admin
-  ipmiPass: octopus
-- id: 5
-  pxeMac: 00:25:b5:b0:00:4f
-  ipmiIp: 172.30.8.67
-  ipmiUser: admin
-  ipmiPass: octopus
-# Adding the Fuel node as node id 6 which may not be correct - please
-# adjust as needed.
-- id: 6
-  libvirtName: fuel-opnfv
-  libvirtTemplate: templates/hardware_environment/vms/fuel.xml
-  isFuel: yes
-  username: root
-  password: r00tme
-
-disks:
-  fuel: 30G
\ No newline at end of file
diff --git a/fuel/deploy/templates/hardware_environment/old_conf/linux_foundation_lab/pod2/ha/dea.yaml b/fuel/deploy/templates/hardware_environment/old_conf/linux_foundation_lab/pod2/ha/dea.yaml
deleted file mode 100644 (file)
index d7fba48..0000000
+++ /dev/null
@@ -1,954 +0,0 @@
-title: Deployment Environment Adapter (DEA)
-# DEA API version supported
-version:
-created:
-comment: Config for LF POD2 - HA deployment with Ceph
-environment:
-  name: opnfv_virt
-  mode: ha
-  net_segment_type: vlan
-wanted_release: Juno on Ubuntu 12.04.4
-nodes:
-- id: 1
-  interfaces: interfaces_1
-  transformations: transformations_1
-  role: ceph-osd,controller
-- id: 2
-  interfaces: interfaces_1
-  transformations: transformations_1
-  role: ceph-osd,controller
-- id: 3
-  interfaces: interfaces_1
-  transformations: transformations_1
-  role: ceph-osd,controller
-- id: 4
-  interfaces: interfaces_1
-  transformations: transformations_2
-  role: ceph-osd,compute
-- id: 5
-  interfaces: interfaces_1
-  transformations: transformations_2
-  role: ceph-osd,compute
-opnfv:
-  hosts:
-  - name:
-    address:
-    fqdn:
-fuel:
-  ADMIN_NETWORK:
-    ipaddress: 10.20.0.2
-    netmask: 255.255.0.0
-    dhcp_pool_start: 10.20.0.3
-    dhcp_pool_end: 10.20.0.254
-  DNS_UPSTREAM: 8.8.8.8
-  DNS_DOMAIN: domain.tld
-  DNS_SEARCH: domain.tld
-  FUEL_ACCESS:
-    user: admin
-    password: admin
-  HOSTNAME: opnfv
-  NTP1: 0.pool.ntp.org
-  NTP2: 1.pool.ntp.org
-  NTP3: 2.pool.ntp.org
-interfaces_1:
-  eth0:
-  - public
-  eth1:
-  - fuelweb_admin
-  - management
-  - storage
-  - private
-transformations_1:
-  transformations:
-    - action: add-br
-      name: br-eth0
-    - action: add-port
-      bridge: br-eth0
-      name: eth0
-    - action: add-br
-      name: br-eth1
-    - action: add-port
-      bridge: br-eth1
-      name: eth1
-    - action: add-br
-      name: br-ex
-    - action: add-br
-      name: br-mgmt
-    - action: add-br
-      name: br-storage
-    - action: add-br
-      name: br-fw-admin
-    - action: add-patch
-      bridges:
-      - br-eth1
-      - br-storage
-      tags:
-      - 301
-      - 0
-      vlan_ids:
-      - 301
-      - 0
-    - action: add-patch
-      bridges:
-      - br-eth1
-      - br-mgmt
-      tags:
-      - 300
-      - 0
-      vlan_ids:
-      - 300
-      - 0
-    - action: add-patch
-      bridges:
-      - br-eth1
-      - br-fw-admin
-      trunks:
-      - 0
-    - action: add-patch
-      bridges:
-      - br-eth0
-      - br-ex
-      trunks:
-      - 0
-    - action: add-br
-      name: br-prv
-    - action: add-patch
-      bridges:
-      - br-eth1
-      - br-prv
-transformations_2:
-  transformations:
-    - action: add-br
-      name: br-eth0
-    - action: add-port
-      bridge: br-eth0
-      name: eth0
-    - action: add-br
-      name: br-eth1
-    - action: add-port
-      bridge: br-eth1
-      name: eth1
-    - action: add-br
-      name: br-mgmt
-    - action: add-br
-      name: br-storage
-    - action: add-br
-      name: br-fw-admin
-    - action: add-patch
-      bridges:
-      - br-eth1
-      - br-storage
-      tags:
-      - 301
-      - 0
-      vlan_ids:
-      - 301
-      - 0
-    - action: add-patch
-      bridges:
-      - br-eth1
-      - br-mgmt
-      tags:
-      - 300
-      - 0
-      vlan_ids:
-      - 300
-      - 0
-    - action: add-patch
-      bridges:
-      - br-eth1
-      - br-fw-admin
-      trunks:
-      - 0
-    - action: add-br
-      name: br-prv
-    - action: add-patch
-      bridges:
-      - br-eth1
-      - br-prv
-network:
-  networking_parameters:
-    base_mac: fa:16:3e:00:00:00
-    dns_nameservers:
-    - 8.8.4.4
-    - 8.8.8.8
-    floating_ranges:
-    - - 172.30.10.83
-      - 172.30.10.92
-    gre_id_range:
-    - 2
-    - 65535
-    internal_cidr: 192.168.111.0/24
-    internal_gateway: 192.168.111.1
-    net_l23_provider: ovs
-    segmentation_type: vlan
-    vlan_range:
-    - 1000
-    - 1010
-  networks:
-  - cidr: 172.30.10.0/24
-    gateway: 172.30.10.1
-    ip_ranges:
-    - - 172.30.10.73
-      - 172.30.10.82
-    meta:
-      assign_vip: true
-      cidr: 172.30.10.0/24
-      configurable: true
-      floating_range_var: floating_ranges
-      ip_range:
-      - 172.30.10.73
-      - 172.30.10.82
-      map_priority: 1
-      name: public
-      notation: ip_ranges
-      render_addr_mask: public
-      render_type: null
-      use_gateway: true
-      vlan_start: null
-    name: public
-    vlan_start: null
-  - cidr: 192.168.0.0/24
-    gateway: null
-    ip_ranges:
-    - - 192.168.0.2
-      - 192.168.0.254
-    meta:
-      assign_vip: true
-      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
-      vlan_start: 300
-    name: management
-    vlan_start: 300
-  - cidr: 192.168.1.0/24
-    gateway: null
-    ip_ranges:
-    - - 192.168.1.2
-      - 192.168.1.254
-    meta:
-      assign_vip: false
-      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: 301
-    name: storage
-    vlan_start: 301
-  - cidr: null
-    gateway: null
-    ip_ranges: []
-    meta:
-      assign_vip: false
-      configurable: false
-      map_priority: 2
-      name: private
-      neutron_vlan_range: true
-      notation: null
-      render_addr_mask: null
-      render_type: null
-      seg_type: vlan
-      use_gateway: false
-      vlan_start: null
-    name: private
-    vlan_start: null
-  - cidr: 10.20.0.0/16
-    gateway: null
-    ip_ranges:
-    - - 10.20.0.3
-      - 10.20.255.254
-    meta:
-      assign_vip: false
-      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
-        type: text
-        value: admin@localhost
-        weight: 40
-      metadata:
-        label: Access
-        weight: 10
-      password:
-        description: Password for Administrator
-        label: password
-        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$)(?![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$)(?![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: 40
-      heat:
-        description: ''
-        label: ''
-        type: hidden
-        value: true
-        weight: 30
-      metadata:
-        label: Additional Components
-        weight: 20
-      murano:
-        description: If selected, Murano component will be installed
-        label: Install Murano
-        restrictions:
-        - cluster:net_provider != 'neutron'
-        type: checkbox
-        value: false
-        weight: 20
-      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
-        label: Public Key
-        type: text
-        value: ''
-        weight: 70
-      auto_assign_floating_ip:
-        description: If selected, OpenStack will automatically assign a floating IP
-          to a new instance
-        label: Auto assign floating IP
-        restrictions:
-        - cluster:net_provider == 'neutron'
-        type: checkbox
-        value: false
-        weight: 40
-      compute_scheduler_driver:
-        label: Scheduler driver
-        type: radio
-        value: nova.scheduler.filter_scheduler.FilterScheduler
-        values:
-        - data: nova.scheduler.filter_scheduler.FilterScheduler
-          description: Currently the most advanced OpenStack scheduler. See the OpenStack
-            documentation for details.
-          label: Filter scheduler
-        - data: nova.scheduler.simple.SimpleScheduler
-          description: This is 'naive' scheduler which tries to find the least loaded
-            host
-          label: Simple scheduler
-        weight: 40
-      debug:
-        description: Debug logging mode provides more information, but requires more
-          disk space.
-        label: OpenStack debug logging
-        type: checkbox
-        value: false
-        weight: 20
-      disable_offload:
-        description: If set, generic segmentation offload (gso) and generic receive
-          offload (gro) on physical nics will be disabled. See ethtool man.
-        label: Disable generic offload on physical nics
-        restrictions:
-        - action: hide
-          condition: cluster:net_provider == 'neutron' and networking_parameters:segmentation_type
-            == 'gre'
-        type: checkbox
-        value: true
-        weight: 80
-      libvirt_type:
-        label: Hypervisor type
-        type: radio
-        value: kvm
-        values:
-        - data: kvm
-          description: Choose this type of hypervisor if you run OpenStack on hardware
-          label: KVM
-          restrictions:
-          - settings:common.libvirt_type.value == 'vcenter'
-        - data: qemu
-          description: Choose this type of hypervisor if you run OpenStack on virtual
-            hosts.
-          label: QEMU
-          restrictions:
-          - settings:common.libvirt_type.value == 'vcenter'
-        - data: vcenter
-          description: Choose this type of hypervisor if you run OpenStack in a vCenter
-            environment.
-          label: vCenter
-          restrictions:
-          - settings:common.libvirt_type.value != 'vcenter' or cluster:net_provider
-            == 'neutron'
-        weight: 30
-      metadata:
-        label: Common
-        weight: 30
-      nova_quota:
-        description: Quotas are used to limit CPU and memory usage for tenants. Enabling
-          quotas will increase load on the Nova database.
-        label: Nova quotas
-        type: checkbox
-        value: false
-        weight: 25
-      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.
-        label: Resume guests state on host boot
-        type: checkbox
-        value: true
-        weight: 60
-      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.
-        label: Use qcow format for images
-        type: checkbox
-        value: true
-        weight: 50
-    corosync:
-      group:
-        description: ''
-        label: Group
-        type: text
-        value: 226.94.1.1
-        weight: 10
-      metadata:
-        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
-        type: text
-        value: 8.8.8.8, 8.8.4.4
-        weight: 10
-      metadata:
-        label: Upstream DNS
-        weight: 90
-    external_ntp:
-      metadata:
-        label: Upstream NTP
-        weight: 100
-      ntp_list:
-        description: List of upstream NTP servers, separated by comma
-        label: NTP servers list
-        type: text
-        value: 0.pool.ntp.org, 1.pool.ntp.org
-        weight: 10
-    kernel_params:
-      kernel:
-        description: Default kernel parameters
-        label: Initial parameters
-        type: text
-        value: console=ttyS0,9600 console=tty0 rootdelay=90 nomodeset
-        weight: 45
-      metadata:
-        label: Kernel parameters
-        weight: 40
-    neutron_mellanox:
-      metadata:
-        enabled: true
-        label: Mellanox Neutron components
-        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
-    nsx_plugin:
-      connector_type:
-        description: Default network transport type to use
-        label: NSX connector type
-        type: select
-        value: stt
-        values:
-        - data: gre
-          label: GRE
-        - data: ipsec_gre
-          label: GRE over IPSec
-        - data: stt
-          label: STT
-        - data: ipsec_stt
-          label: STT over IPSec
-        - data: bridge
-          label: Bridge
-        weight: 80
-      l3_gw_service_uuid:
-        description: UUID for the default L3 gateway service to use with this cluster
-        label: L3 service UUID
-        regex:
-          error: Invalid L3 gateway service UUID
-          source: '[a-f\d]{8}-[a-f\d]{4}-[a-f\d]{4}-[a-f\d]{4}-[a-f\d]{12}'
-        type: text
-        value: ''
-        weight: 50
-      metadata:
-        enabled: false
-        label: VMware NSX
-        restrictions:
-        - action: hide
-          condition: cluster:net_provider != 'neutron' or networking_parameters:net_l23_provider
-            != 'nsx'
-        weight: 20
-      nsx_controllers:
-        description: One or more IPv4[:port] addresses of NSX controller node, separated
-          by comma (e.g. 10.30.30.2,192.168.110.254:443)
-        label: NSX controller endpoint
-        regex:
-          error: Invalid controller endpoints, specify valid IPv4[:port] pair
-          source: ^(([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])\.){3}([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])(:(6553[0-5]|655[0-2][\d]|65[0-4][\d]{2}|6[0-4][\d]{3}|5[\d]{4}|[\d][\d]{0,3}))?(,(([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])\.){3}([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])(:(6553[0-5]|655[0-2][\d]|65[0-4][\d]{2}|6[0-4][\d]{3}|5[\d]{4}|[\d][\d]{0,3}))?)*$
-        type: text
-        value: ''
-        weight: 60
-      nsx_password:
-        description: Password for Administrator
-        label: NSX password
-        regex:
-          error: Empty password
-          source: \S
-        type: password
-        value: ''
-        weight: 30
-      nsx_username:
-        description: NSX administrator's username
-        label: NSX username
-        regex:
-          error: Empty username
-          source: \S
-        type: text
-        value: admin
-        weight: 20
-      packages_url:
-        description: URL to NSX specific packages
-        label: URL to NSX bits
-        regex:
-          error: Invalid URL, specify valid HTTP/HTTPS URL with IPv4 address (e.g.
-            http://10.20.0.2/nsx)
-          source: ^https?://(([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])\.){3}([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])(:(6553[0-5]|655[0-2][\d]|65[0-4][\d]{2}|6[0-4][\d]{3}|5[\d]{4}|[\d][\d]{0,3}))?(/.*)?$
-        type: text
-        value: ''
-        weight: 70
-      replication_mode:
-        description: ''
-        label: NSX cluster has Service nodes
-        type: checkbox
-        value: true
-        weight: 90
-      transport_zone_uuid:
-        description: UUID of the pre-existing default NSX Transport zone
-        label: Transport zone UUID
-        regex:
-          error: Invalid transport zone UUID
-          source: '[a-f\d]{8}-[a-f\d]{4}-[a-f\d]{4}-[a-f\d]{4}-[a-f\d]{12}'
-        type: text
-        value: ''
-        weight: 40
-    provision:
-      metadata:
-        label: Provision
-        restrictions:
-        - action: hide
-          condition: not ('experimental' in version:feature_groups)
-        weight: 80
-      method:
-        description: Which provision method to use for this cluster.
-        label: Provision method
-        type: radio
-        value: cobbler
-        values:
-        - data: image
-          description: Copying pre-built images on a disk.
-          label: Image
-        - data: cobbler
-          description: Install from scratch using anaconda or debian-installer.
-          label: Classic (use anaconda or debian-installer)
-    public_network_assignment:
-      assign_to_all_nodes:
-        description: When disabled, public network will be assigned to controllers
-          and zabbix-server only
-        label: Assign public network to all nodes
-        type: checkbox
-        value: false
-        weight: 10
-      metadata:
-        label: Public network assignment
-        restrictions:
-        - action: hide
-          condition: cluster:net_provider != 'neutron'
-        weight: 50
-    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)
-        restrictions:
-        - settings:common.libvirt_type.value == 'vcenter'
-        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)
-        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:
-        - settings:common.libvirt_type.value != 'vcenter'
-        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'
-        type: checkbox
-        value: false
-        weight: 11
-      metadata:
-        label: Storage
-        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)
-        restrictions:
-        - settings:storage.images_ceph.value == false
-        type: checkbox
-        value: false
-        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*$
-        restrictions:
-        - settings:common.libvirt_type.value == 'vcenter'
-        type: text
-        value: '2'
-        weight: 85
-      vc_datacenter:
-        description: Inventory path to a datacenter. If you want to use ESXi host
-          as datastore, it should be "ha-datacenter".
-        label: Datacenter name
-        regex:
-          error: Empty datacenter
-          source: \S
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: text
-        value: ''
-        weight: 65
-      vc_datastore:
-        description: Datastore associated with the datacenter.
-        label: Datastore name
-        regex:
-          error: Empty datastore
-          source: \S
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: text
-        value: ''
-        weight: 60
-      vc_host:
-        description: IP Address of vCenter/ESXi
-        label: vCenter/ESXi IP
-        regex:
-          error: Specify valid IPv4 address
-          source: ^(([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])\.){3}([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])$
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: text
-        value: ''
-        weight: 45
-      vc_image_dir:
-        description: The name of the directory where the glance images will be stored
-          in the VMware datastore.
-        label: Datastore Images directory
-        regex:
-          error: Empty images directory
-          source: \S
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: text
-        value: /openstack_glance
-        weight: 70
-      vc_password:
-        description: vCenter/ESXi admin password
-        label: Password
-        regex:
-          error: Empty password
-          source: \S
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: password
-        value: ''
-        weight: 55
-      vc_user:
-        description: vCenter/ESXi admin username
-        label: Username
-        regex:
-          error: Empty username
-          source: \S
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: text
-        value: ''
-        weight: 50
-      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:common.libvirt_type.value
-          == 'vcenter'
-        type: checkbox
-        value: true
-        weight: 20
-      volumes_lvm:
-        description: Requires 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
-      volumes_vmdk:
-        description: Configures Cinder to store volumes via VMware vCenter.
-        label: VMware vCenter for volumes (Cinder)
-        restrictions:
-        - settings:common.libvirt_type.value != 'vcenter' or settings:storage.volumes_lvm.value
-          == true
-        type: checkbox
-        value: false
-        weight: 15
-    syslog:
-      metadata:
-        label: Syslog
-        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
-        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
-    vcenter:
-      cluster:
-        description: vCenter cluster name. If you have multiple clusters, use comma
-          to separate names
-        label: Cluster
-        regex:
-          error: Invalid cluster list
-          source: ^([^,\ ]+([\ ]*[^,\ ])*)(,[^,\ ]+([\ ]*[^,\ ])*)*$
-        type: text
-        value: ''
-        weight: 40
-      datastore_regex:
-        description: The Datastore regexp setting specifies the data stores to use
-          with Compute. For example, "nas.*". If you want to use all available datastores,
-          leave this field blank
-        label: Datastore regexp
-        regex:
-          error: Invalid datastore regexp
-          source: ^(\S.*\S|\S|)$
-        type: text
-        value: ''
-        weight: 50
-      host_ip:
-        description: IP Address of vCenter
-        label: vCenter IP
-        regex:
-          error: Specify valid IPv4 address
-          source: ^(([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])\.){3}([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])$
-        type: text
-        value: ''
-        weight: 10
-      metadata:
-        label: vCenter
-        restrictions:
-        - action: hide
-          condition: settings:common.libvirt_type.value != 'vcenter'
-        weight: 20
-      use_vcenter:
-        description: ''
-        label: ''
-        type: hidden
-        value: true
-        weight: 5
-      vc_password:
-        description: vCenter admin password
-        label: Password
-        regex:
-          error: Empty password
-          source: \S
-        type: password
-        value: admin
-        weight: 30
-      vc_user:
-        description: vCenter admin username
-        label: Username
-        regex:
-          error: Empty username
-          source: \S
-        type: text
-        value: admin
-        weight: 20
-      vlan_interface:
-        description: Physical ESXi host ethernet adapter for VLAN networking (e.g.
-          vmnic1). If empty "vmnic0" is used by default
-        label: ESXi VLAN interface
-        restrictions:
-        - action: hide
-          condition: cluster:net_provider != 'nova_network' or networking_parameters:net_manager
-            != 'VlanManager'
-        type: text
-        value: ''
-        weight: 60
-    zabbix:
-      metadata:
-        label: Zabbix Access
-        restrictions:
-        - action: hide
-          condition: not ('experimental' in version:feature_groups)
-        weight: 70
-      password:
-        description: Password for Zabbix Administrator
-        label: password
-        type: password
-        value: zabbix
-        weight: 20
-      username:
-        description: Username for Zabbix Administrator
-        label: username
-        type: text
-        value: admin
-        weight: 10
\ No newline at end of file
diff --git a/fuel/deploy/templates/hardware_environment/old_conf/linux_foundation_lab/pod2/multinode/dea.yaml b/fuel/deploy/templates/hardware_environment/old_conf/linux_foundation_lab/pod2/multinode/dea.yaml
deleted file mode 100644 (file)
index 4814017..0000000
+++ /dev/null
@@ -1,954 +0,0 @@
-title: Deployment Environment Adapter (DEA)
-# DEA API version supported
-version:
-created:
-comment: Config for LF POD2 - Multinode deployment with Ceph
-environment:
-  name: opnfv_virt
-  mode: multinode
-  net_segment_type: vlan
-wanted_release: Juno on Ubuntu 12.04.4
-nodes:
-- id: 1
-  interfaces: interfaces_1
-  transformations: transformations_1
-  role: ceph-osd,controller
-- id: 2
-  interfaces: interfaces_1
-  transformations: transformations_2
-  role: ceph-osd,compute
-- id: 3
-  interfaces: interfaces_1
-  transformations: transformations_2
-  role: ceph-osd,compute
-- id: 4
-  interfaces: interfaces_1
-  transformations: transformations_2
-  role: ceph-osd,compute
-- id: 5
-  interfaces: interfaces_1
-  transformations: transformations_2
-  role: ceph-osd,compute
-opnfv:
-  hosts:
-  - name:
-    address:
-    fqdn:
-fuel:
-  ADMIN_NETWORK:
-    ipaddress: 10.20.0.2
-    netmask: 255.255.0.0
-    dhcp_pool_start: 10.20.0.3
-    dhcp_pool_end: 10.20.0.254
-  DNS_UPSTREAM: 8.8.8.8
-  DNS_DOMAIN: domain.tld
-  DNS_SEARCH: domain.tld
-  FUEL_ACCESS:
-    user: admin
-    password: admin
-  HOSTNAME: opnfv
-  NTP1: 0.pool.ntp.org
-  NTP2: 1.pool.ntp.org
-  NTP3: 2.pool.ntp.org
-interfaces_1:
-  eth0:
-  - public
-  eth1:
-  - fuelweb_admin
-  - management
-  - storage
-  - private
-transformations_1:
-  transformations:
-    - action: add-br
-      name: br-eth0
-    - action: add-port
-      bridge: br-eth0
-      name: eth0
-    - action: add-br
-      name: br-eth1
-    - action: add-port
-      bridge: br-eth1
-      name: eth1
-    - action: add-br
-      name: br-ex
-    - action: add-br
-      name: br-mgmt
-    - action: add-br
-      name: br-storage
-    - action: add-br
-      name: br-fw-admin
-    - action: add-patch
-      bridges:
-      - br-eth1
-      - br-storage
-      tags:
-      - 301
-      - 0
-      vlan_ids:
-      - 301
-      - 0
-    - action: add-patch
-      bridges:
-      - br-eth1
-      - br-mgmt
-      tags:
-      - 300
-      - 0
-      vlan_ids:
-      - 300
-      - 0
-    - action: add-patch
-      bridges:
-      - br-eth1
-      - br-fw-admin
-      trunks:
-      - 0
-    - action: add-patch
-      bridges:
-      - br-eth0
-      - br-ex
-      trunks:
-      - 0
-    - action: add-br
-      name: br-prv
-    - action: add-patch
-      bridges:
-      - br-eth1
-      - br-prv
-transformations_2:
-  transformations:
-    - action: add-br
-      name: br-eth0
-    - action: add-port
-      bridge: br-eth0
-      name: eth0
-    - action: add-br
-      name: br-eth1
-    - action: add-port
-      bridge: br-eth1
-      name: eth1
-    - action: add-br
-      name: br-mgmt
-    - action: add-br
-      name: br-storage
-    - action: add-br
-      name: br-fw-admin
-    - action: add-patch
-      bridges:
-      - br-eth1
-      - br-storage
-      tags:
-      - 301
-      - 0
-      vlan_ids:
-      - 301
-      - 0
-    - action: add-patch
-      bridges:
-      - br-eth1
-      - br-mgmt
-      tags:
-      - 300
-      - 0
-      vlan_ids:
-      - 300
-      - 0
-    - action: add-patch
-      bridges:
-      - br-eth1
-      - br-fw-admin
-      trunks:
-      - 0
-    - action: add-br
-      name: br-prv
-    - action: add-patch
-      bridges:
-      - br-eth1
-      - br-prv
-network:
-  networking_parameters:
-    base_mac: fa:16:3e:00:00:00
-    dns_nameservers:
-    - 8.8.4.4
-    - 8.8.8.8
-    floating_ranges:
-    - - 172.30.10.83
-      - 172.30.10.92
-    gre_id_range:
-    - 2
-    - 65535
-    internal_cidr: 192.168.111.0/24
-    internal_gateway: 192.168.111.1
-    net_l23_provider: ovs
-    segmentation_type: vlan
-    vlan_range:
-    - 1000
-    - 1010
-  networks:
-  - cidr: 172.30.10.0/24
-    gateway: 172.30.10.1
-    ip_ranges:
-    - - 172.30.10.73
-      - 172.30.10.82
-    meta:
-      assign_vip: true
-      cidr: 172.30.10.0/24
-      configurable: true
-      floating_range_var: floating_ranges
-      ip_range:
-      - 172.30.10.73
-      - 172.30.10.82
-      map_priority: 1
-      name: public
-      notation: ip_ranges
-      render_addr_mask: public
-      render_type: null
-      use_gateway: true
-      vlan_start: null
-    name: public
-    vlan_start: null
-  - cidr: 192.168.0.0/24
-    gateway: null
-    ip_ranges:
-    - - 192.168.0.2
-      - 192.168.0.254
-    meta:
-      assign_vip: true
-      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
-      vlan_start: 300
-    name: management
-    vlan_start: 300
-  - cidr: 192.168.1.0/24
-    gateway: null
-    ip_ranges:
-    - - 192.168.1.2
-      - 192.168.1.254
-    meta:
-      assign_vip: false
-      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: 301
-    name: storage
-    vlan_start: 301
-  - cidr: null
-    gateway: null
-    ip_ranges: []
-    meta:
-      assign_vip: false
-      configurable: false
-      map_priority: 2
-      name: private
-      neutron_vlan_range: true
-      notation: null
-      render_addr_mask: null
-      render_type: null
-      seg_type: vlan
-      use_gateway: false
-      vlan_start: null
-    name: private
-    vlan_start: null
-  - cidr: 10.20.0.0/16
-    gateway: null
-    ip_ranges:
-    - - 10.20.0.3
-      - 10.20.255.254
-    meta:
-      assign_vip: false
-      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
-        type: text
-        value: admin@localhost
-        weight: 40
-      metadata:
-        label: Access
-        weight: 10
-      password:
-        description: Password for Administrator
-        label: password
-        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$)(?![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$)(?![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: 40
-      heat:
-        description: ''
-        label: ''
-        type: hidden
-        value: true
-        weight: 30
-      metadata:
-        label: Additional Components
-        weight: 20
-      murano:
-        description: If selected, Murano component will be installed
-        label: Install Murano
-        restrictions:
-        - cluster:net_provider != 'neutron'
-        type: checkbox
-        value: false
-        weight: 20
-      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
-        label: Public Key
-        type: text
-        value: ''
-        weight: 70
-      auto_assign_floating_ip:
-        description: If selected, OpenStack will automatically assign a floating IP
-          to a new instance
-        label: Auto assign floating IP
-        restrictions:
-        - cluster:net_provider == 'neutron'
-        type: checkbox
-        value: false
-        weight: 40
-      compute_scheduler_driver:
-        label: Scheduler driver
-        type: radio
-        value: nova.scheduler.filter_scheduler.FilterScheduler
-        values:
-        - data: nova.scheduler.filter_scheduler.FilterScheduler
-          description: Currently the most advanced OpenStack scheduler. See the OpenStack
-            documentation for details.
-          label: Filter scheduler
-        - data: nova.scheduler.simple.SimpleScheduler
-          description: This is 'naive' scheduler which tries to find the least loaded
-            host
-          label: Simple scheduler
-        weight: 40
-      debug:
-        description: Debug logging mode provides more information, but requires more
-          disk space.
-        label: OpenStack debug logging
-        type: checkbox
-        value: false
-        weight: 20
-      disable_offload:
-        description: If set, generic segmentation offload (gso) and generic receive
-          offload (gro) on physical nics will be disabled. See ethtool man.
-        label: Disable generic offload on physical nics
-        restrictions:
-        - action: hide
-          condition: cluster:net_provider == 'neutron' and networking_parameters:segmentation_type
-            == 'gre'
-        type: checkbox
-        value: true
-        weight: 80
-      libvirt_type:
-        label: Hypervisor type
-        type: radio
-        value: kvm
-        values:
-        - data: kvm
-          description: Choose this type of hypervisor if you run OpenStack on hardware
-          label: KVM
-          restrictions:
-          - settings:common.libvirt_type.value == 'vcenter'
-        - data: qemu
-          description: Choose this type of hypervisor if you run OpenStack on virtual
-            hosts.
-          label: QEMU
-          restrictions:
-          - settings:common.libvirt_type.value == 'vcenter'
-        - data: vcenter
-          description: Choose this type of hypervisor if you run OpenStack in a vCenter
-            environment.
-          label: vCenter
-          restrictions:
-          - settings:common.libvirt_type.value != 'vcenter' or cluster:net_provider
-            == 'neutron'
-        weight: 30
-      metadata:
-        label: Common
-        weight: 30
-      nova_quota:
-        description: Quotas are used to limit CPU and memory usage for tenants. Enabling
-          quotas will increase load on the Nova database.
-        label: Nova quotas
-        type: checkbox
-        value: false
-        weight: 25
-      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.
-        label: Resume guests state on host boot
-        type: checkbox
-        value: true
-        weight: 60
-      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.
-        label: Use qcow format for images
-        type: checkbox
-        value: true
-        weight: 50
-    corosync:
-      group:
-        description: ''
-        label: Group
-        type: text
-        value: 226.94.1.1
-        weight: 10
-      metadata:
-        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
-        type: text
-        value: 8.8.8.8, 8.8.4.4
-        weight: 10
-      metadata:
-        label: Upstream DNS
-        weight: 90
-    external_ntp:
-      metadata:
-        label: Upstream NTP
-        weight: 100
-      ntp_list:
-        description: List of upstream NTP servers, separated by comma
-        label: NTP servers list
-        type: text
-        value: 0.pool.ntp.org, 1.pool.ntp.org
-        weight: 10
-    kernel_params:
-      kernel:
-        description: Default kernel parameters
-        label: Initial parameters
-        type: text
-        value: console=ttyS0,9600 console=tty0 rootdelay=90 nomodeset
-        weight: 45
-      metadata:
-        label: Kernel parameters
-        weight: 40
-    neutron_mellanox:
-      metadata:
-        enabled: true
-        label: Mellanox Neutron components
-        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
-    nsx_plugin:
-      connector_type:
-        description: Default network transport type to use
-        label: NSX connector type
-        type: select
-        value: stt
-        values:
-        - data: gre
-          label: GRE
-        - data: ipsec_gre
-          label: GRE over IPSec
-        - data: stt
-          label: STT
-        - data: ipsec_stt
-          label: STT over IPSec
-        - data: bridge
-          label: Bridge
-        weight: 80
-      l3_gw_service_uuid:
-        description: UUID for the default L3 gateway service to use with this cluster
-        label: L3 service UUID
-        regex:
-          error: Invalid L3 gateway service UUID
-          source: '[a-f\d]{8}-[a-f\d]{4}-[a-f\d]{4}-[a-f\d]{4}-[a-f\d]{12}'
-        type: text
-        value: ''
-        weight: 50
-      metadata:
-        enabled: false
-        label: VMware NSX
-        restrictions:
-        - action: hide
-          condition: cluster:net_provider != 'neutron' or networking_parameters:net_l23_provider
-            != 'nsx'
-        weight: 20
-      nsx_controllers:
-        description: One or more IPv4[:port] addresses of NSX controller node, separated
-          by comma (e.g. 10.30.30.2,192.168.110.254:443)
-        label: NSX controller endpoint
-        regex:
-          error: Invalid controller endpoints, specify valid IPv4[:port] pair
-          source: ^(([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])\.){3}([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])(:(6553[0-5]|655[0-2][\d]|65[0-4][\d]{2}|6[0-4][\d]{3}|5[\d]{4}|[\d][\d]{0,3}))?(,(([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])\.){3}([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])(:(6553[0-5]|655[0-2][\d]|65[0-4][\d]{2}|6[0-4][\d]{3}|5[\d]{4}|[\d][\d]{0,3}))?)*$
-        type: text
-        value: ''
-        weight: 60
-      nsx_password:
-        description: Password for Administrator
-        label: NSX password
-        regex:
-          error: Empty password
-          source: \S
-        type: password
-        value: ''
-        weight: 30
-      nsx_username:
-        description: NSX administrator's username
-        label: NSX username
-        regex:
-          error: Empty username
-          source: \S
-        type: text
-        value: admin
-        weight: 20
-      packages_url:
-        description: URL to NSX specific packages
-        label: URL to NSX bits
-        regex:
-          error: Invalid URL, specify valid HTTP/HTTPS URL with IPv4 address (e.g.
-            http://10.20.0.2/nsx)
-          source: ^https?://(([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])\.){3}([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])(:(6553[0-5]|655[0-2][\d]|65[0-4][\d]{2}|6[0-4][\d]{3}|5[\d]{4}|[\d][\d]{0,3}))?(/.*)?$
-        type: text
-        value: ''
-        weight: 70
-      replication_mode:
-        description: ''
-        label: NSX cluster has Service nodes
-        type: checkbox
-        value: true
-        weight: 90
-      transport_zone_uuid:
-        description: UUID of the pre-existing default NSX Transport zone
-        label: Transport zone UUID
-        regex:
-          error: Invalid transport zone UUID
-          source: '[a-f\d]{8}-[a-f\d]{4}-[a-f\d]{4}-[a-f\d]{4}-[a-f\d]{12}'
-        type: text
-        value: ''
-        weight: 40
-    provision:
-      metadata:
-        label: Provision
-        restrictions:
-        - action: hide
-          condition: not ('experimental' in version:feature_groups)
-        weight: 80
-      method:
-        description: Which provision method to use for this cluster.
-        label: Provision method
-        type: radio
-        value: cobbler
-        values:
-        - data: image
-          description: Copying pre-built images on a disk.
-          label: Image
-        - data: cobbler
-          description: Install from scratch using anaconda or debian-installer.
-          label: Classic (use anaconda or debian-installer)
-    public_network_assignment:
-      assign_to_all_nodes:
-        description: When disabled, public network will be assigned to controllers
-          and zabbix-server only
-        label: Assign public network to all nodes
-        type: checkbox
-        value: false
-        weight: 10
-      metadata:
-        label: Public network assignment
-        restrictions:
-        - action: hide
-          condition: cluster:net_provider != 'neutron'
-        weight: 50
-    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)
-        restrictions:
-        - settings:common.libvirt_type.value == 'vcenter'
-        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)
-        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:
-        - settings:common.libvirt_type.value != 'vcenter'
-        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'
-        type: checkbox
-        value: false
-        weight: 11
-      metadata:
-        label: Storage
-        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)
-        restrictions:
-        - settings:storage.images_ceph.value == false
-        type: checkbox
-        value: false
-        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*$
-        restrictions:
-        - settings:common.libvirt_type.value == 'vcenter'
-        type: text
-        value: '2'
-        weight: 85
-      vc_datacenter:
-        description: Inventory path to a datacenter. If you want to use ESXi host
-          as datastore, it should be "ha-datacenter".
-        label: Datacenter name
-        regex:
-          error: Empty datacenter
-          source: \S
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: text
-        value: ''
-        weight: 65
-      vc_datastore:
-        description: Datastore associated with the datacenter.
-        label: Datastore name
-        regex:
-          error: Empty datastore
-          source: \S
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: text
-        value: ''
-        weight: 60
-      vc_host:
-        description: IP Address of vCenter/ESXi
-        label: vCenter/ESXi IP
-        regex:
-          error: Specify valid IPv4 address
-          source: ^(([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])\.){3}([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])$
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: text
-        value: ''
-        weight: 45
-      vc_image_dir:
-        description: The name of the directory where the glance images will be stored
-          in the VMware datastore.
-        label: Datastore Images directory
-        regex:
-          error: Empty images directory
-          source: \S
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: text
-        value: /openstack_glance
-        weight: 70
-      vc_password:
-        description: vCenter/ESXi admin password
-        label: Password
-        regex:
-          error: Empty password
-          source: \S
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: password
-        value: ''
-        weight: 55
-      vc_user:
-        description: vCenter/ESXi admin username
-        label: Username
-        regex:
-          error: Empty username
-          source: \S
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: text
-        value: ''
-        weight: 50
-      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:common.libvirt_type.value
-          == 'vcenter'
-        type: checkbox
-        value: true
-        weight: 20
-      volumes_lvm:
-        description: Requires 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
-      volumes_vmdk:
-        description: Configures Cinder to store volumes via VMware vCenter.
-        label: VMware vCenter for volumes (Cinder)
-        restrictions:
-        - settings:common.libvirt_type.value != 'vcenter' or settings:storage.volumes_lvm.value
-          == true
-        type: checkbox
-        value: false
-        weight: 15
-    syslog:
-      metadata:
-        label: Syslog
-        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
-        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
-    vcenter:
-      cluster:
-        description: vCenter cluster name. If you have multiple clusters, use comma
-          to separate names
-        label: Cluster
-        regex:
-          error: Invalid cluster list
-          source: ^([^,\ ]+([\ ]*[^,\ ])*)(,[^,\ ]+([\ ]*[^,\ ])*)*$
-        type: text
-        value: ''
-        weight: 40
-      datastore_regex:
-        description: The Datastore regexp setting specifies the data stores to use
-          with Compute. For example, "nas.*". If you want to use all available datastores,
-          leave this field blank
-        label: Datastore regexp
-        regex:
-          error: Invalid datastore regexp
-          source: ^(\S.*\S|\S|)$
-        type: text
-        value: ''
-        weight: 50
-      host_ip:
-        description: IP Address of vCenter
-        label: vCenter IP
-        regex:
-          error: Specify valid IPv4 address
-          source: ^(([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])\.){3}([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])$
-        type: text
-        value: ''
-        weight: 10
-      metadata:
-        label: vCenter
-        restrictions:
-        - action: hide
-          condition: settings:common.libvirt_type.value != 'vcenter'
-        weight: 20
-      use_vcenter:
-        description: ''
-        label: ''
-        type: hidden
-        value: true
-        weight: 5
-      vc_password:
-        description: vCenter admin password
-        label: Password
-        regex:
-          error: Empty password
-          source: \S
-        type: password
-        value: admin
-        weight: 30
-      vc_user:
-        description: vCenter admin username
-        label: Username
-        regex:
-          error: Empty username
-          source: \S
-        type: text
-        value: admin
-        weight: 20
-      vlan_interface:
-        description: Physical ESXi host ethernet adapter for VLAN networking (e.g.
-          vmnic1). If empty "vmnic0" is used by default
-        label: ESXi VLAN interface
-        restrictions:
-        - action: hide
-          condition: cluster:net_provider != 'nova_network' or networking_parameters:net_manager
-            != 'VlanManager'
-        type: text
-        value: ''
-        weight: 60
-    zabbix:
-      metadata:
-        label: Zabbix Access
-        restrictions:
-        - action: hide
-          condition: not ('experimental' in version:feature_groups)
-        weight: 70
-      password:
-        description: Password for Zabbix Administrator
-        label: password
-        type: password
-        value: zabbix
-        weight: 20
-      username:
-        description: Username for Zabbix Administrator
-        label: username
-        type: text
-        value: admin
-        weight: 10
\ No newline at end of file
diff --git a/fuel/deploy/templates/hardware_environment/old_conf/linux_foundation_lab/pod2/multinode/dha.yaml b/fuel/deploy/templates/hardware_environment/old_conf/linux_foundation_lab/pod2/multinode/dha.yaml
deleted file mode 100644 (file)
index fdcd545..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-title: Deployment Hardware Adapter (DHA)
-# DHA API version supported
-version:
-created:
-comment: Config for LF POD2
-
-# Adapter to use for this definition
-adapter: ipmi
-
-# Node list.
-# Mandatory property is id, all other properties are adapter specific.
-
-nodes:
-- id: 1
-  pxeMac: 00:25:b5:a0:00:2b
-  ipmiIp: 172.30.8.75
-  ipmiUser: admin
-  ipmiPass: octopus
-- id: 2
-  pxeMac: 00:25:b5:a0:00:3b
-  ipmiIp: 172.30.8.65
-  ipmiUser: admin
-  ipmiPass: octopus
-- id: 3
-  pxeMac: 00:25:b5:a0:00:4b
-  ipmiIp: 172.30.8.74
-  ipmiUser: admin
-  ipmiPass: octopus
-- id: 4
-  pxeMac: 00:25:b5:a0:00:5b
-  ipmiIp: 172.30.8.73
-  ipmiUser: admin
-  ipmiPass: octopus
-- id: 5
-  pxeMac: 00:25:b5:a0:00:6b
-  ipmiIp: 172.30.8.72
-  ipmiUser: admin
-  ipmiPass: octopus
-# Adding the Fuel node as node id 6 which may not be correct - please
-# adjust as needed.
-- id: 6
-  libvirtName: fuel-opnfv
-  libvirtTemplate: templates/hardware_environment/vms/fuel.xml
-  isFuel: yes
-  username: root
-  password: r00tme
-
-disks:
-  fuel: 30G
@@ -2,7 +2,7 @@ title: Deployment Environment Adapter (DEA)
 # DEA API version supported
 version:
 created:
-comment: Small libvirt setup
+comment: Config for Virtual Environment - HA deployment with Ceph and Opendaylight
 environment:
   name: opnfv_virt
   mode: ha
@@ -25,15 +25,10 @@ nodes:
   interfaces: interfaces_1
   transformations: transformations_2
   role: ceph-osd,compute
-opnfv:
-  hosts:
-  - name:
-    address:
-    fqdn:
 fuel:
   ADMIN_NETWORK:
     ipaddress: 10.20.0.2
-    netmask: 255.255.255.0
+    netmask: 255.255.0.0
     dhcp_pool_start: 10.20.0.3
     dhcp_pool_end: 10.20.0.254
   DNS_UPSTREAM: 10.118.32.193
@@ -115,6 +110,8 @@ transformations_2:
     bridge: br-mesh
     name: eth2.103
 network:
+  management_vip: 192.168.0.2
+  management_vrouter_vip: 192.168.0.3
   networking_parameters:
     base_mac: fa:16:3e:00:00:00
     dns_nameservers:
@@ -160,7 +157,7 @@ network:
   - cidr: 192.168.0.0/24
     gateway: null
     ip_ranges:
-    - - 192.168.0.1
+    - - 192.168.0.2
       - 192.168.0.254
     meta:
       cidr: 192.168.0.0/24
@@ -197,7 +194,7 @@ network:
   - cidr: 192.168.2.0/24
     gateway: null
     ip_ranges:
-    - - 192.168.2.1
+    - - 192.168.2.2
       - 192.168.2.254
     meta:
       cidr: 192.168.2.0/24
@@ -212,7 +209,7 @@ network:
       vlan_start: 103
     name: private
     vlan_start: 103
-  - cidr: 10.20.0.0/24
+  - cidr: 10.20.0.0/16
     gateway: 10.20.0.2
     ip_ranges:
     - - 10.20.0.3
@@ -227,6 +224,8 @@ network:
       use_gateway: true
     name: fuelweb_admin
     vlan_start: null
+  public_vip: 172.16.0.2
+  public_vrouter_vip: 172.16.0.3
 settings:
   editable:
     access:
@@ -2,7 +2,7 @@ title: Deployment Hardware Adapter (DHA)
 # DHA API version supported
 version:
 created:
-comment: Small libvirt setup
+comment: Config for Virtual Environment
 
 # Adapter to use for this definition
 adapter: libvirt
diff --git a/fuel/deploy/templates/virtual_environment/old_conf/ha/dea.yaml b/fuel/deploy/templates/virtual_environment/old_conf/ha/dea.yaml
deleted file mode 100644 (file)
index 36f91ab..0000000
+++ /dev/null
@@ -1,980 +0,0 @@
-title: Deployment Environment Adapter (DEA)
-# DEA API version supported
-version:
-created:
-comment: Small libvirt setup
-environment:
-  name: opnfv_virt
-  mode: ha
-  net_segment_type: vlan
-wanted_release: Juno on Ubuntu 12.04.4
-nodes:
-- id: 1
-  interfaces: interfaces_1
-  transformations: transformations_1
-  role: ceph-osd,controller
-- id: 2
-  interfaces: interfaces_1
-  transformations: transformations_1
-  role: ceph-osd,controller
-- id: 3
-  interfaces: interfaces_1
-  transformations: transformations_1
-  role: ceph-osd,controller
-- id: 4
-  interfaces: interfaces_1
-  transformations: transformations_2
-  role: ceph-osd,compute
-- id: 5
-  interfaces: interfaces_1
-  transformations: transformations_2
-  role: ceph-osd,compute
-- id: 6
-  interfaces: interfaces_1
-  transformations: transformations_2
-  role: ceph-osd,compute
-opnfv:
-  hosts:
-  - name:
-    address:
-    fqdn:
-fuel:
-  ADMIN_NETWORK:
-    ipaddress: 10.20.0.2
-    netmask: 255.255.255.0
-    dhcp_pool_start: 10.20.0.3
-    dhcp_pool_end: 10.20.0.254
-  DNS_UPSTREAM: 8.8.8.8
-  DNS_DOMAIN: domain.tld
-  DNS_SEARCH: domain.tld
-  FUEL_ACCESS:
-    user: admin
-    password: admin
-  HOSTNAME: opnfv_virt
-  NTP1: 0.pool.ntp.org
-  NTP2: 1.pool.ntp.org
-  NTP3: 2.pool.ntp.org
-interfaces_1:
-  eth0:
-  - fuelweb_admin
-  - management
-  eth1:
-  - storage
-  eth2:
-  - private
-  eth3:
-  - public
-transformations_1:
-  transformations:
-    - action: add-br
-      name: br-eth0
-    - action: add-port
-      bridge: br-eth0
-      name: eth0
-    - action: add-br
-      name: br-eth1
-    - action: add-port
-      bridge: br-eth1
-      name: eth1
-    - action: add-br
-      name: br-eth2
-    - action: add-port
-      bridge: br-eth2
-      name: eth2
-    - action: add-br
-      name: br-eth3
-    - action: add-port
-      bridge: br-eth3
-      name: eth3
-    - action: add-br
-      name: br-ex
-    - action: add-br
-      name: br-mgmt
-    - action: add-br
-      name: br-storage
-    - action: add-br
-      name: br-fw-admin
-    - action: add-patch
-      bridges:
-      - br-eth1
-      - br-storage
-      tags:
-      - 102
-      - 0
-      vlan_ids:
-      - 102
-      - 0
-    - action: add-patch
-      bridges:
-      - br-eth0
-      - br-mgmt
-      tags:
-      - 101
-      - 0
-      vlan_ids:
-      - 101
-      - 0
-    - action: add-patch
-      bridges:
-      - br-eth0
-      - br-fw-admin
-      trunks:
-      - 0
-    - action: add-patch
-      bridges:
-      - br-eth3
-      - br-ex
-      trunks:
-      - 0
-    - action: add-br
-      name: br-prv
-    - action: add-patch
-      bridges:
-      - br-eth2
-      - br-prv
-transformations_2:
-  transformations:
-    - action: add-br
-      name: br-eth0
-    - action: add-port
-      bridge: br-eth0
-      name: eth0
-    - action: add-br
-      name: br-eth1
-    - action: add-port
-      bridge: br-eth1
-      name: eth1
-    - action: add-br
-      name: br-eth2
-    - action: add-port
-      bridge: br-eth2
-      name: eth2
-    - action: add-br
-      name: br-eth3
-    - action: add-port
-      bridge: br-eth3
-      name: eth3
-    - action: add-br
-      name: br-mgmt
-    - action: add-br
-      name: br-storage
-    - action: add-br
-      name: br-fw-admin
-    - action: add-patch
-      bridges:
-      - br-eth1
-      - br-storage
-      tags:
-      - 102
-      - 0
-      vlan_ids:
-      - 102
-      - 0
-    - action: add-patch
-      bridges:
-      - br-eth0
-      - br-mgmt
-      tags:
-      - 101
-      - 0
-      vlan_ids:
-      - 101
-      - 0
-    - action: add-patch
-      bridges:
-      - br-eth0
-      - br-fw-admin
-      trunks:
-      - 0
-    - action: add-br
-      name: br-prv
-    - action: add-patch
-      bridges:
-      - br-eth2
-      - br-prv
-network:
-  networking_parameters:
-    base_mac: fa:16:3e:00:00:00
-    dns_nameservers:
-    - 8.8.4.4
-    - 8.8.8.8
-    floating_ranges:
-    - - 172.16.0.130
-      - 172.16.0.254
-    gre_id_range:
-    - 2
-    - 65535
-    internal_cidr: 192.168.111.0/24
-    internal_gateway: 192.168.111.1
-    net_l23_provider: ovs
-    segmentation_type: vlan
-    vlan_range:
-    - 1000
-    - 1030
-  networks:
-  - cidr: 172.16.0.0/24
-    gateway: 172.16.0.1
-    ip_ranges:
-    - - 172.16.0.2
-      - 172.16.0.126
-    meta:
-      assign_vip: true
-      cidr: 172.16.0.0/24
-      configurable: true
-      floating_range_var: floating_ranges
-      ip_range:
-      - 172.16.0.2
-      - 172.16.0.126
-      map_priority: 1
-      name: public
-      notation: ip_ranges
-      render_addr_mask: public
-      render_type: null
-      use_gateway: true
-      vlan_start: null
-    name: public
-    vlan_start: null
-  - cidr: 192.168.0.0/24
-    gateway: null
-    ip_ranges:
-    - - 192.168.0.1
-      - 192.168.0.254
-    meta:
-      assign_vip: true
-      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
-      vlan_start: 101
-    name: management
-    vlan_start: 101
-  - cidr: 192.168.1.0/24
-    gateway: null
-    ip_ranges:
-    - - 192.168.1.1
-      - 192.168.1.254
-    meta:
-      assign_vip: false
-      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: null
-    gateway: null
-    ip_ranges: []
-    meta:
-      assign_vip: false
-      configurable: false
-      map_priority: 2
-      name: private
-      neutron_vlan_range: true
-      notation: null
-      render_addr_mask: null
-      render_type: null
-      seg_type: vlan
-      use_gateway: false
-      vlan_start: null
-    name: private
-    vlan_start: null
-  - cidr: 10.20.0.0/24
-    gateway: null
-    ip_ranges:
-    - - 10.20.0.3
-      - 10.20.0.254
-    meta:
-      assign_vip: false
-      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
-        type: text
-        value: admin@localhost
-        weight: 40
-      metadata:
-        label: Access
-        weight: 10
-      password:
-        description: Password for Administrator
-        label: password
-        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$)(?![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$)(?![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: 40
-      heat:
-        description: ''
-        label: ''
-        type: hidden
-        value: true
-        weight: 30
-      metadata:
-        label: Additional Components
-        weight: 20
-      murano:
-        description: If selected, Murano component will be installed
-        label: Install Murano
-        restrictions:
-        - cluster:net_provider != 'neutron'
-        type: checkbox
-        value: false
-        weight: 20
-      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
-        label: Public Key
-        type: text
-        value: ''
-        weight: 70
-      auto_assign_floating_ip:
-        description: If selected, OpenStack will automatically assign a floating IP
-          to a new instance
-        label: Auto assign floating IP
-        restrictions:
-        - cluster:net_provider == 'neutron'
-        type: checkbox
-        value: false
-        weight: 40
-      compute_scheduler_driver:
-        label: Scheduler driver
-        type: radio
-        value: nova.scheduler.filter_scheduler.FilterScheduler
-        values:
-        - data: nova.scheduler.filter_scheduler.FilterScheduler
-          description: Currently the most advanced OpenStack scheduler. See the OpenStack
-            documentation for details.
-          label: Filter scheduler
-        - data: nova.scheduler.simple.SimpleScheduler
-          description: This is 'naive' scheduler which tries to find the least loaded
-            host
-          label: Simple scheduler
-        weight: 40
-      debug:
-        description: Debug logging mode provides more information, but requires more
-          disk space.
-        label: OpenStack debug logging
-        type: checkbox
-        value: false
-        weight: 20
-      disable_offload:
-        description: If set, generic segmentation offload (gso) and generic receive
-          offload (gro) on physical nics will be disabled. See ethtool man.
-        label: Disable generic offload on physical nics
-        restrictions:
-        - action: hide
-          condition: cluster:net_provider == 'neutron' and networking_parameters:segmentation_type
-            == 'gre'
-        type: checkbox
-        value: true
-        weight: 80
-      libvirt_type:
-        label: Hypervisor type
-        type: radio
-        value: qemu
-        values:
-        - data: kvm
-          description: Choose this type of hypervisor if you run OpenStack on hardware
-          label: KVM
-          restrictions:
-          - settings:common.libvirt_type.value == 'vcenter'
-        - data: qemu
-          description: Choose this type of hypervisor if you run OpenStack on virtual
-            hosts.
-          label: QEMU
-          restrictions:
-          - settings:common.libvirt_type.value == 'vcenter'
-        - data: vcenter
-          description: Choose this type of hypervisor if you run OpenStack in a vCenter
-            environment.
-          label: vCenter
-          restrictions:
-          - settings:common.libvirt_type.value != 'vcenter' or cluster:net_provider
-            == 'neutron'
-        weight: 30
-      metadata:
-        label: Common
-        weight: 30
-      nova_quota:
-        description: Quotas are used to limit CPU and memory usage for tenants. Enabling
-          quotas will increase load on the Nova database.
-        label: Nova quotas
-        type: checkbox
-        value: false
-        weight: 25
-      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.
-        label: Resume guests state on host boot
-        type: checkbox
-        value: true
-        weight: 60
-      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.
-        label: Use qcow format for images
-        type: checkbox
-        value: true
-        weight: 50
-    corosync:
-      group:
-        description: ''
-        label: Group
-        type: text
-        value: 226.94.1.1
-        weight: 10
-      metadata:
-        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
-        type: text
-        value: 8.8.8.8, 8.8.4.4
-        weight: 10
-      metadata:
-        label: Upstream DNS
-        weight: 90
-    external_ntp:
-      metadata:
-        label: Upstream NTP
-        weight: 100
-      ntp_list:
-        description: List of upstream NTP servers, separated by comma
-        label: NTP servers list
-        type: text
-        value: 0.pool.ntp.org, 1.pool.ntp.org
-        weight: 10
-    kernel_params:
-      kernel:
-        description: Default kernel parameters
-        label: Initial parameters
-        type: text
-        value: console=ttyS0,9600 console=tty0 rootdelay=90 nomodeset
-        weight: 45
-      metadata:
-        label: Kernel parameters
-        weight: 40
-    neutron_mellanox:
-      metadata:
-        enabled: true
-        label: Mellanox Neutron components
-        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
-    nsx_plugin:
-      connector_type:
-        description: Default network transport type to use
-        label: NSX connector type
-        type: select
-        value: stt
-        values:
-        - data: gre
-          label: GRE
-        - data: ipsec_gre
-          label: GRE over IPSec
-        - data: stt
-          label: STT
-        - data: ipsec_stt
-          label: STT over IPSec
-        - data: bridge
-          label: Bridge
-        weight: 80
-      l3_gw_service_uuid:
-        description: UUID for the default L3 gateway service to use with this cluster
-        label: L3 service UUID
-        regex:
-          error: Invalid L3 gateway service UUID
-          source: '[a-f\d]{8}-[a-f\d]{4}-[a-f\d]{4}-[a-f\d]{4}-[a-f\d]{12}'
-        type: text
-        value: ''
-        weight: 50
-      metadata:
-        enabled: false
-        label: VMware NSX
-        restrictions:
-        - action: hide
-          condition: cluster:net_provider != 'neutron' or networking_parameters:net_l23_provider
-            != 'nsx'
-        weight: 20
-      nsx_controllers:
-        description: One or more IPv4[:port] addresses of NSX controller node, separated
-          by comma (e.g. 10.30.30.2,192.168.110.254:443)
-        label: NSX controller endpoint
-        regex:
-          error: Invalid controller endpoints, specify valid IPv4[:port] pair
-          source: ^(([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])\.){3}([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])(:(6553[0-5]|655[0-2][\d]|65[0-4][\d]{2}|6[0-4][\d]{3}|5[\d]{4}|[\d][\d]{0,3}))?(,(([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])\.){3}([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])(:(6553[0-5]|655[0-2][\d]|65[0-4][\d]{2}|6[0-4][\d]{3}|5[\d]{4}|[\d][\d]{0,3}))?)*$
-        type: text
-        value: ''
-        weight: 60
-      nsx_password:
-        description: Password for Administrator
-        label: NSX password
-        regex:
-          error: Empty password
-          source: \S
-        type: password
-        value: ''
-        weight: 30
-      nsx_username:
-        description: NSX administrator's username
-        label: NSX username
-        regex:
-          error: Empty username
-          source: \S
-        type: text
-        value: admin
-        weight: 20
-      packages_url:
-        description: URL to NSX specific packages
-        label: URL to NSX bits
-        regex:
-          error: Invalid URL, specify valid HTTP/HTTPS URL with IPv4 address (e.g.
-            http://10.20.0.2/nsx)
-          source: ^https?://(([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])\.){3}([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])(:(6553[0-5]|655[0-2][\d]|65[0-4][\d]{2}|6[0-4][\d]{3}|5[\d]{4}|[\d][\d]{0,3}))?(/.*)?$
-        type: text
-        value: ''
-        weight: 70
-      replication_mode:
-        description: ''
-        label: NSX cluster has Service nodes
-        type: checkbox
-        value: true
-        weight: 90
-      transport_zone_uuid:
-        description: UUID of the pre-existing default NSX Transport zone
-        label: Transport zone UUID
-        regex:
-          error: Invalid transport zone UUID
-          source: '[a-f\d]{8}-[a-f\d]{4}-[a-f\d]{4}-[a-f\d]{4}-[a-f\d]{12}'
-        type: text
-        value: ''
-        weight: 40
-    provision:
-      metadata:
-        label: Provision
-        restrictions:
-        - action: hide
-          condition: not ('experimental' in version:feature_groups)
-        weight: 80
-      method:
-        description: Which provision method to use for this cluster.
-        label: Provision method
-        type: radio
-        value: cobbler
-        values:
-        - data: image
-          description: Copying pre-built images on a disk.
-          label: Image
-        - data: cobbler
-          description: Install from scratch using anaconda or debian-installer.
-          label: Classic (use anaconda or debian-installer)
-    public_network_assignment:
-      assign_to_all_nodes:
-        description: When disabled, public network will be assigned to controllers
-          and zabbix-server only
-        label: Assign public network to all nodes
-        type: checkbox
-        value: false
-        weight: 10
-      metadata:
-        label: Public network assignment
-        restrictions:
-        - action: hide
-          condition: cluster:net_provider != 'neutron'
-        weight: 50
-    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)
-        restrictions:
-        - settings:common.libvirt_type.value == 'vcenter'
-        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)
-        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:
-        - settings:common.libvirt_type.value != 'vcenter'
-        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'
-        type: checkbox
-        value: false
-        weight: 11
-      metadata:
-        label: Storage
-        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)
-        restrictions:
-        - settings:storage.images_ceph.value == false
-        type: checkbox
-        value: false
-        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*$
-        restrictions:
-        - settings:common.libvirt_type.value == 'vcenter'
-        type: text
-        value: '2'
-        weight: 85
-      vc_datacenter:
-        description: Inventory path to a datacenter. If you want to use ESXi host
-          as datastore, it should be "ha-datacenter".
-        label: Datacenter name
-        regex:
-          error: Empty datacenter
-          source: \S
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: text
-        value: ''
-        weight: 65
-      vc_datastore:
-        description: Datastore associated with the datacenter.
-        label: Datastore name
-        regex:
-          error: Empty datastore
-          source: \S
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: text
-        value: ''
-        weight: 60
-      vc_host:
-        description: IP Address of vCenter/ESXi
-        label: vCenter/ESXi IP
-        regex:
-          error: Specify valid IPv4 address
-          source: ^(([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])\.){3}([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])$
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: text
-        value: ''
-        weight: 45
-      vc_image_dir:
-        description: The name of the directory where the glance images will be stored
-          in the VMware datastore.
-        label: Datastore Images directory
-        regex:
-          error: Empty images directory
-          source: \S
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: text
-        value: /openstack_glance
-        weight: 70
-      vc_password:
-        description: vCenter/ESXi admin password
-        label: Password
-        regex:
-          error: Empty password
-          source: \S
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: password
-        value: ''
-        weight: 55
-      vc_user:
-        description: vCenter/ESXi admin username
-        label: Username
-        regex:
-          error: Empty username
-          source: \S
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: text
-        value: ''
-        weight: 50
-      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:common.libvirt_type.value
-          == 'vcenter'
-        type: checkbox
-        value: true
-        weight: 20
-      volumes_lvm:
-        description: Requires 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
-      volumes_vmdk:
-        description: Configures Cinder to store volumes via VMware vCenter.
-        label: VMware vCenter for volumes (Cinder)
-        restrictions:
-        - settings:common.libvirt_type.value != 'vcenter' or settings:storage.volumes_lvm.value
-          == true
-        type: checkbox
-        value: false
-        weight: 15
-    syslog:
-      metadata:
-        label: Syslog
-        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
-        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
-    vcenter:
-      cluster:
-        description: vCenter cluster name. If you have multiple clusters, use comma
-          to separate names
-        label: Cluster
-        regex:
-          error: Invalid cluster list
-          source: ^([^,\ ]+([\ ]*[^,\ ])*)(,[^,\ ]+([\ ]*[^,\ ])*)*$
-        type: text
-        value: ''
-        weight: 40
-      datastore_regex:
-        description: The Datastore regexp setting specifies the data stores to use
-          with Compute. For example, "nas.*". If you want to use all available datastores,
-          leave this field blank
-        label: Datastore regexp
-        regex:
-          error: Invalid datastore regexp
-          source: ^(\S.*\S|\S|)$
-        type: text
-        value: ''
-        weight: 50
-      host_ip:
-        description: IP Address of vCenter
-        label: vCenter IP
-        regex:
-          error: Specify valid IPv4 address
-          source: ^(([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])\.){3}([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])$
-        type: text
-        value: ''
-        weight: 10
-      metadata:
-        label: vCenter
-        restrictions:
-        - action: hide
-          condition: settings:common.libvirt_type.value != 'vcenter'
-        weight: 20
-      use_vcenter:
-        description: ''
-        label: ''
-        type: hidden
-        value: true
-        weight: 5
-      vc_password:
-        description: vCenter admin password
-        label: Password
-        regex:
-          error: Empty password
-          source: \S
-        type: password
-        value: admin
-        weight: 30
-      vc_user:
-        description: vCenter admin username
-        label: Username
-        regex:
-          error: Empty username
-          source: \S
-        type: text
-        value: admin
-        weight: 20
-      vlan_interface:
-        description: Physical ESXi host ethernet adapter for VLAN networking (e.g.
-          vmnic1). If empty "vmnic0" is used by default
-        label: ESXi VLAN interface
-        restrictions:
-        - action: hide
-          condition: cluster:net_provider != 'nova_network' or networking_parameters:net_manager
-            != 'VlanManager'
-        type: text
-        value: ''
-        weight: 60
-    zabbix:
-      metadata:
-        label: Zabbix Access
-        restrictions:
-        - action: hide
-          condition: not ('experimental' in version:feature_groups)
-        weight: 70
-      password:
-        description: Password for Zabbix Administrator
-        label: password
-        type: password
-        value: zabbix
-        weight: 20
-      username:
-        description: Username for Zabbix Administrator
-        label: username
-        type: text
-        value: admin
-        weight: 10
\ No newline at end of file
diff --git a/fuel/deploy/templates/virtual_environment/old_conf/ha/dha.yaml b/fuel/deploy/templates/virtual_environment/old_conf/ha/dha.yaml
deleted file mode 100644 (file)
index 9b5a774..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-title: Deployment Hardware Adapter (DHA)
-# DHA API version supported
-version:
-created:
-comment: Small libvirt setup
-
-# Adapter to use for this definition
-adapter: libvirt
-
-# Node list.
-# Mandatory property is id, all other properties are adapter specific.
-
-nodes:
-- id: 1
-  libvirtName: controller1
-  libvirtTemplate: templates/virtual_environment/vms/controller.xml
-- id: 2
-  libvirtName: controller2
-  libvirtTemplate: templates/virtual_environment/vms/controller.xml
-- id: 3
-  libvirtName: controller3
-  libvirtTemplate: templates/virtual_environment/vms/controller.xml
-- id: 4
-  libvirtName: compute1
-  libvirtTemplate: templates/virtual_environment/vms/compute.xml
-- id: 5
-  libvirtName: compute2
-  libvirtTemplate: templates/virtual_environment/vms/compute.xml
-- id: 6
-  libvirtName: compute3
-  libvirtTemplate: templates/virtual_environment/vms/compute.xml
-- id: 7
-  libvirtName: fuel-master
-  libvirtTemplate: templates/virtual_environment/vms/fuel.xml
-  isFuel: yes
-  username: root
-  password: r00tme
-
-virtNetConfDir: templates/virtual_environment/networks
-
-disks:
-  fuel: 30G
-  controller: 30G
-  compute: 30G
diff --git a/fuel/deploy/templates/virtual_environment/old_conf/multinode/dea.yaml b/fuel/deploy/templates/virtual_environment/old_conf/multinode/dea.yaml
deleted file mode 100644 (file)
index 471e141..0000000
+++ /dev/null
@@ -1,980 +0,0 @@
-title: Deployment Environment Adapter (DEA)
-# DEA API version supported
-version:
-created:
-comment: Small libvirt setup
-environment:
-  name: opnfv_virt
-  mode: multinode
-  net_segment_type: vlan
-wanted_release: Juno on Ubuntu 12.04.4
-nodes:
-- id: 1
-  interfaces: interfaces_1
-  transformations: transformations_1
-  role: ceph-osd,controller
-- id: 2
-  interfaces: interfaces_1
-  transformations: transformations_2
-  role: ceph-osd,compute
-- id: 3
-  interfaces: interfaces_1
-  transformations: transformations_2
-  role: ceph-osd,compute
-- id: 4
-  interfaces: interfaces_1
-  transformations: transformations_2
-  role: ceph-osd,compute
-- id: 5
-  interfaces: interfaces_1
-  transformations: transformations_2
-  role: ceph-osd,compute
-- id: 6
-  interfaces: interfaces_1
-  transformations: transformations_2
-  role: ceph-osd,compute
-opnfv:
-  hosts:
-  - name:
-    address:
-    fqdn:
-fuel:
-  ADMIN_NETWORK:
-    ipaddress: 10.20.0.2
-    netmask: 255.255.255.0
-    dhcp_pool_start: 10.20.0.3
-    dhcp_pool_end: 10.20.0.254
-  DNS_UPSTREAM: 8.8.8.8
-  DNS_DOMAIN: domain.tld
-  DNS_SEARCH: domain.tld
-  FUEL_ACCESS:
-    user: admin
-    password: admin
-  HOSTNAME: opnfv_virt
-  NTP1: 0.pool.ntp.org
-  NTP2: 1.pool.ntp.org
-  NTP3: 2.pool.ntp.org
-interfaces_1:
-  eth0:
-  - fuelweb_admin
-  - management
-  eth1:
-  - storage
-  eth2:
-  - private
-  eth3:
-  - public
-transformations_1:
-  transformations:
-    - action: add-br
-      name: br-eth0
-    - action: add-port
-      bridge: br-eth0
-      name: eth0
-    - action: add-br
-      name: br-eth1
-    - action: add-port
-      bridge: br-eth1
-      name: eth1
-    - action: add-br
-      name: br-eth2
-    - action: add-port
-      bridge: br-eth2
-      name: eth2
-    - action: add-br
-      name: br-eth3
-    - action: add-port
-      bridge: br-eth3
-      name: eth3
-    - action: add-br
-      name: br-ex
-    - action: add-br
-      name: br-mgmt
-    - action: add-br
-      name: br-storage
-    - action: add-br
-      name: br-fw-admin
-    - action: add-patch
-      bridges:
-      - br-eth1
-      - br-storage
-      tags:
-      - 102
-      - 0
-      vlan_ids:
-      - 102
-      - 0
-    - action: add-patch
-      bridges:
-      - br-eth0
-      - br-mgmt
-      tags:
-      - 101
-      - 0
-      vlan_ids:
-      - 101
-      - 0
-    - action: add-patch
-      bridges:
-      - br-eth0
-      - br-fw-admin
-      trunks:
-      - 0
-    - action: add-patch
-      bridges:
-      - br-eth3
-      - br-ex
-      trunks:
-      - 0
-    - action: add-br
-      name: br-prv
-    - action: add-patch
-      bridges:
-      - br-eth2
-      - br-prv
-transformations_2:
-  transformations:
-    - action: add-br
-      name: br-eth0
-    - action: add-port
-      bridge: br-eth0
-      name: eth0
-    - action: add-br
-      name: br-eth1
-    - action: add-port
-      bridge: br-eth1
-      name: eth1
-    - action: add-br
-      name: br-eth2
-    - action: add-port
-      bridge: br-eth2
-      name: eth2
-    - action: add-br
-      name: br-eth3
-    - action: add-port
-      bridge: br-eth3
-      name: eth3
-    - action: add-br
-      name: br-mgmt
-    - action: add-br
-      name: br-storage
-    - action: add-br
-      name: br-fw-admin
-    - action: add-patch
-      bridges:
-      - br-eth1
-      - br-storage
-      tags:
-      - 102
-      - 0
-      vlan_ids:
-      - 102
-      - 0
-    - action: add-patch
-      bridges:
-      - br-eth0
-      - br-mgmt
-      tags:
-      - 101
-      - 0
-      vlan_ids:
-      - 101
-      - 0
-    - action: add-patch
-      bridges:
-      - br-eth0
-      - br-fw-admin
-      trunks:
-      - 0
-    - action: add-br
-      name: br-prv
-    - action: add-patch
-      bridges:
-      - br-eth2
-      - br-prv
-network:
-  networking_parameters:
-    base_mac: fa:16:3e:00:00:00
-    dns_nameservers:
-    - 8.8.4.4
-    - 8.8.8.8
-    floating_ranges:
-    - - 172.16.0.130
-      - 172.16.0.254
-    gre_id_range:
-    - 2
-    - 65535
-    internal_cidr: 192.168.111.0/24
-    internal_gateway: 192.168.111.1
-    net_l23_provider: ovs
-    segmentation_type: vlan
-    vlan_range:
-    - 1000
-    - 1030
-  networks:
-  - cidr: 172.16.0.0/24
-    gateway: 172.16.0.1
-    ip_ranges:
-    - - 172.16.0.2
-      - 172.16.0.126
-    meta:
-      assign_vip: true
-      cidr: 172.16.0.0/24
-      configurable: true
-      floating_range_var: floating_ranges
-      ip_range:
-      - 172.16.0.2
-      - 172.16.0.126
-      map_priority: 1
-      name: public
-      notation: ip_ranges
-      render_addr_mask: public
-      render_type: null
-      use_gateway: true
-      vlan_start: null
-    name: public
-    vlan_start: null
-  - cidr: 192.168.0.0/24
-    gateway: null
-    ip_ranges:
-    - - 192.168.0.1
-      - 192.168.0.254
-    meta:
-      assign_vip: true
-      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
-      vlan_start: 101
-    name: management
-    vlan_start: 101
-  - cidr: 192.168.1.0/24
-    gateway: null
-    ip_ranges:
-    - - 192.168.1.1
-      - 192.168.1.254
-    meta:
-      assign_vip: false
-      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: null
-    gateway: null
-    ip_ranges: []
-    meta:
-      assign_vip: false
-      configurable: false
-      map_priority: 2
-      name: private
-      neutron_vlan_range: true
-      notation: null
-      render_addr_mask: null
-      render_type: null
-      seg_type: vlan
-      use_gateway: false
-      vlan_start: null
-    name: private
-    vlan_start: null
-  - cidr: 10.20.0.0/24
-    gateway: null
-    ip_ranges:
-    - - 10.20.0.3
-      - 10.20.0.254
-    meta:
-      assign_vip: false
-      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
-        type: text
-        value: admin@localhost
-        weight: 40
-      metadata:
-        label: Access
-        weight: 10
-      password:
-        description: Password for Administrator
-        label: password
-        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$)(?![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$)(?![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: 40
-      heat:
-        description: ''
-        label: ''
-        type: hidden
-        value: true
-        weight: 30
-      metadata:
-        label: Additional Components
-        weight: 20
-      murano:
-        description: If selected, Murano component will be installed
-        label: Install Murano
-        restrictions:
-        - cluster:net_provider != 'neutron'
-        type: checkbox
-        value: false
-        weight: 20
-      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
-        label: Public Key
-        type: text
-        value: ''
-        weight: 70
-      auto_assign_floating_ip:
-        description: If selected, OpenStack will automatically assign a floating IP
-          to a new instance
-        label: Auto assign floating IP
-        restrictions:
-        - cluster:net_provider == 'neutron'
-        type: checkbox
-        value: false
-        weight: 40
-      compute_scheduler_driver:
-        label: Scheduler driver
-        type: radio
-        value: nova.scheduler.filter_scheduler.FilterScheduler
-        values:
-        - data: nova.scheduler.filter_scheduler.FilterScheduler
-          description: Currently the most advanced OpenStack scheduler. See the OpenStack
-            documentation for details.
-          label: Filter scheduler
-        - data: nova.scheduler.simple.SimpleScheduler
-          description: This is 'naive' scheduler which tries to find the least loaded
-            host
-          label: Simple scheduler
-        weight: 40
-      debug:
-        description: Debug logging mode provides more information, but requires more
-          disk space.
-        label: OpenStack debug logging
-        type: checkbox
-        value: false
-        weight: 20
-      disable_offload:
-        description: If set, generic segmentation offload (gso) and generic receive
-          offload (gro) on physical nics will be disabled. See ethtool man.
-        label: Disable generic offload on physical nics
-        restrictions:
-        - action: hide
-          condition: cluster:net_provider == 'neutron' and networking_parameters:segmentation_type
-            == 'gre'
-        type: checkbox
-        value: true
-        weight: 80
-      libvirt_type:
-        label: Hypervisor type
-        type: radio
-        value: qemu
-        values:
-        - data: kvm
-          description: Choose this type of hypervisor if you run OpenStack on hardware
-          label: KVM
-          restrictions:
-          - settings:common.libvirt_type.value == 'vcenter'
-        - data: qemu
-          description: Choose this type of hypervisor if you run OpenStack on virtual
-            hosts.
-          label: QEMU
-          restrictions:
-          - settings:common.libvirt_type.value == 'vcenter'
-        - data: vcenter
-          description: Choose this type of hypervisor if you run OpenStack in a vCenter
-            environment.
-          label: vCenter
-          restrictions:
-          - settings:common.libvirt_type.value != 'vcenter' or cluster:net_provider
-            == 'neutron'
-        weight: 30
-      metadata:
-        label: Common
-        weight: 30
-      nova_quota:
-        description: Quotas are used to limit CPU and memory usage for tenants. Enabling
-          quotas will increase load on the Nova database.
-        label: Nova quotas
-        type: checkbox
-        value: false
-        weight: 25
-      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.
-        label: Resume guests state on host boot
-        type: checkbox
-        value: true
-        weight: 60
-      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.
-        label: Use qcow format for images
-        type: checkbox
-        value: true
-        weight: 50
-    corosync:
-      group:
-        description: ''
-        label: Group
-        type: text
-        value: 226.94.1.1
-        weight: 10
-      metadata:
-        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
-        type: text
-        value: 8.8.8.8, 8.8.4.4
-        weight: 10
-      metadata:
-        label: Upstream DNS
-        weight: 90
-    external_ntp:
-      metadata:
-        label: Upstream NTP
-        weight: 100
-      ntp_list:
-        description: List of upstream NTP servers, separated by comma
-        label: NTP servers list
-        type: text
-        value: 0.pool.ntp.org, 1.pool.ntp.org
-        weight: 10
-    kernel_params:
-      kernel:
-        description: Default kernel parameters
-        label: Initial parameters
-        type: text
-        value: console=ttyS0,9600 console=tty0 rootdelay=90 nomodeset
-        weight: 45
-      metadata:
-        label: Kernel parameters
-        weight: 40
-    neutron_mellanox:
-      metadata:
-        enabled: true
-        label: Mellanox Neutron components
-        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
-    nsx_plugin:
-      connector_type:
-        description: Default network transport type to use
-        label: NSX connector type
-        type: select
-        value: stt
-        values:
-        - data: gre
-          label: GRE
-        - data: ipsec_gre
-          label: GRE over IPSec
-        - data: stt
-          label: STT
-        - data: ipsec_stt
-          label: STT over IPSec
-        - data: bridge
-          label: Bridge
-        weight: 80
-      l3_gw_service_uuid:
-        description: UUID for the default L3 gateway service to use with this cluster
-        label: L3 service UUID
-        regex:
-          error: Invalid L3 gateway service UUID
-          source: '[a-f\d]{8}-[a-f\d]{4}-[a-f\d]{4}-[a-f\d]{4}-[a-f\d]{12}'
-        type: text
-        value: ''
-        weight: 50
-      metadata:
-        enabled: false
-        label: VMware NSX
-        restrictions:
-        - action: hide
-          condition: cluster:net_provider != 'neutron' or networking_parameters:net_l23_provider
-            != 'nsx'
-        weight: 20
-      nsx_controllers:
-        description: One or more IPv4[:port] addresses of NSX controller node, separated
-          by comma (e.g. 10.30.30.2,192.168.110.254:443)
-        label: NSX controller endpoint
-        regex:
-          error: Invalid controller endpoints, specify valid IPv4[:port] pair
-          source: ^(([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])\.){3}([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])(:(6553[0-5]|655[0-2][\d]|65[0-4][\d]{2}|6[0-4][\d]{3}|5[\d]{4}|[\d][\d]{0,3}))?(,(([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])\.){3}([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])(:(6553[0-5]|655[0-2][\d]|65[0-4][\d]{2}|6[0-4][\d]{3}|5[\d]{4}|[\d][\d]{0,3}))?)*$
-        type: text
-        value: ''
-        weight: 60
-      nsx_password:
-        description: Password for Administrator
-        label: NSX password
-        regex:
-          error: Empty password
-          source: \S
-        type: password
-        value: ''
-        weight: 30
-      nsx_username:
-        description: NSX administrator's username
-        label: NSX username
-        regex:
-          error: Empty username
-          source: \S
-        type: text
-        value: admin
-        weight: 20
-      packages_url:
-        description: URL to NSX specific packages
-        label: URL to NSX bits
-        regex:
-          error: Invalid URL, specify valid HTTP/HTTPS URL with IPv4 address (e.g.
-            http://10.20.0.2/nsx)
-          source: ^https?://(([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])\.){3}([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])(:(6553[0-5]|655[0-2][\d]|65[0-4][\d]{2}|6[0-4][\d]{3}|5[\d]{4}|[\d][\d]{0,3}))?(/.*)?$
-        type: text
-        value: ''
-        weight: 70
-      replication_mode:
-        description: ''
-        label: NSX cluster has Service nodes
-        type: checkbox
-        value: true
-        weight: 90
-      transport_zone_uuid:
-        description: UUID of the pre-existing default NSX Transport zone
-        label: Transport zone UUID
-        regex:
-          error: Invalid transport zone UUID
-          source: '[a-f\d]{8}-[a-f\d]{4}-[a-f\d]{4}-[a-f\d]{4}-[a-f\d]{12}'
-        type: text
-        value: ''
-        weight: 40
-    provision:
-      metadata:
-        label: Provision
-        restrictions:
-        - action: hide
-          condition: not ('experimental' in version:feature_groups)
-        weight: 80
-      method:
-        description: Which provision method to use for this cluster.
-        label: Provision method
-        type: radio
-        value: cobbler
-        values:
-        - data: image
-          description: Copying pre-built images on a disk.
-          label: Image
-        - data: cobbler
-          description: Install from scratch using anaconda or debian-installer.
-          label: Classic (use anaconda or debian-installer)
-    public_network_assignment:
-      assign_to_all_nodes:
-        description: When disabled, public network will be assigned to controllers
-          and zabbix-server only
-        label: Assign public network to all nodes
-        type: checkbox
-        value: false
-        weight: 10
-      metadata:
-        label: Public network assignment
-        restrictions:
-        - action: hide
-          condition: cluster:net_provider != 'neutron'
-        weight: 50
-    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)
-        restrictions:
-        - settings:common.libvirt_type.value == 'vcenter'
-        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)
-        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:
-        - settings:common.libvirt_type.value != 'vcenter'
-        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'
-        type: checkbox
-        value: false
-        weight: 11
-      metadata:
-        label: Storage
-        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)
-        restrictions:
-        - settings:storage.images_ceph.value == false
-        type: checkbox
-        value: false
-        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*$
-        restrictions:
-        - settings:common.libvirt_type.value == 'vcenter'
-        type: text
-        value: '2'
-        weight: 85
-      vc_datacenter:
-        description: Inventory path to a datacenter. If you want to use ESXi host
-          as datastore, it should be "ha-datacenter".
-        label: Datacenter name
-        regex:
-          error: Empty datacenter
-          source: \S
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: text
-        value: ''
-        weight: 65
-      vc_datastore:
-        description: Datastore associated with the datacenter.
-        label: Datastore name
-        regex:
-          error: Empty datastore
-          source: \S
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: text
-        value: ''
-        weight: 60
-      vc_host:
-        description: IP Address of vCenter/ESXi
-        label: vCenter/ESXi IP
-        regex:
-          error: Specify valid IPv4 address
-          source: ^(([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])\.){3}([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])$
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: text
-        value: ''
-        weight: 45
-      vc_image_dir:
-        description: The name of the directory where the glance images will be stored
-          in the VMware datastore.
-        label: Datastore Images directory
-        regex:
-          error: Empty images directory
-          source: \S
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: text
-        value: /openstack_glance
-        weight: 70
-      vc_password:
-        description: vCenter/ESXi admin password
-        label: Password
-        regex:
-          error: Empty password
-          source: \S
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: password
-        value: ''
-        weight: 55
-      vc_user:
-        description: vCenter/ESXi admin username
-        label: Username
-        regex:
-          error: Empty username
-          source: \S
-        restrictions:
-        - action: hide
-          condition: settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value
-            != 'vcenter'
-        type: text
-        value: ''
-        weight: 50
-      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:common.libvirt_type.value
-          == 'vcenter'
-        type: checkbox
-        value: true
-        weight: 20
-      volumes_lvm:
-        description: Requires 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
-      volumes_vmdk:
-        description: Configures Cinder to store volumes via VMware vCenter.
-        label: VMware vCenter for volumes (Cinder)
-        restrictions:
-        - settings:common.libvirt_type.value != 'vcenter' or settings:storage.volumes_lvm.value
-          == true
-        type: checkbox
-        value: false
-        weight: 15
-    syslog:
-      metadata:
-        label: Syslog
-        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
-        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
-    vcenter:
-      cluster:
-        description: vCenter cluster name. If you have multiple clusters, use comma
-          to separate names
-        label: Cluster
-        regex:
-          error: Invalid cluster list
-          source: ^([^,\ ]+([\ ]*[^,\ ])*)(,[^,\ ]+([\ ]*[^,\ ])*)*$
-        type: text
-        value: ''
-        weight: 40
-      datastore_regex:
-        description: The Datastore regexp setting specifies the data stores to use
-          with Compute. For example, "nas.*". If you want to use all available datastores,
-          leave this field blank
-        label: Datastore regexp
-        regex:
-          error: Invalid datastore regexp
-          source: ^(\S.*\S|\S|)$
-        type: text
-        value: ''
-        weight: 50
-      host_ip:
-        description: IP Address of vCenter
-        label: vCenter IP
-        regex:
-          error: Specify valid IPv4 address
-          source: ^(([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])\.){3}([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])$
-        type: text
-        value: ''
-        weight: 10
-      metadata:
-        label: vCenter
-        restrictions:
-        - action: hide
-          condition: settings:common.libvirt_type.value != 'vcenter'
-        weight: 20
-      use_vcenter:
-        description: ''
-        label: ''
-        type: hidden
-        value: true
-        weight: 5
-      vc_password:
-        description: vCenter admin password
-        label: Password
-        regex:
-          error: Empty password
-          source: \S
-        type: password
-        value: admin
-        weight: 30
-      vc_user:
-        description: vCenter admin username
-        label: Username
-        regex:
-          error: Empty username
-          source: \S
-        type: text
-        value: admin
-        weight: 20
-      vlan_interface:
-        description: Physical ESXi host ethernet adapter for VLAN networking (e.g.
-          vmnic1). If empty "vmnic0" is used by default
-        label: ESXi VLAN interface
-        restrictions:
-        - action: hide
-          condition: cluster:net_provider != 'nova_network' or networking_parameters:net_manager
-            != 'VlanManager'
-        type: text
-        value: ''
-        weight: 60
-    zabbix:
-      metadata:
-        label: Zabbix Access
-        restrictions:
-        - action: hide
-          condition: not ('experimental' in version:feature_groups)
-        weight: 70
-      password:
-        description: Password for Zabbix Administrator
-        label: password
-        type: password
-        value: zabbix
-        weight: 20
-      username:
-        description: Username for Zabbix Administrator
-        label: username
-        type: text
-        value: admin
-        weight: 10
\ No newline at end of file
diff --git a/fuel/deploy/templates/virtual_environment/old_conf/multinode/dha.yaml b/fuel/deploy/templates/virtual_environment/old_conf/multinode/dha.yaml
deleted file mode 100644 (file)
index 75cff2a..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-title: Deployment Hardware Adapter (DHA)
-# DHA API version supported
-version:
-created:
-comment: Small libvirt setup
-
-# Adapter to use for this definition
-adapter: libvirt
-
-# Node list.
-# Mandatory property is id, all other properties are adapter specific.
-
-nodes:
-- id: 1
-  libvirtName: controller1
-  libvirtTemplate: templates/virtual_environment/vms/controller.xml
-- id: 2
-  libvirtName: compute1
-  libvirtTemplate: templates/virtual_environment/vms/compute.xml
-- id: 3
-  libvirtName: compute2
-  libvirtTemplate: templates/virtual_environment/vms/compute.xml
-- id: 4
-  libvirtName: compute3
-  libvirtTemplate: templates/virtual_environment/vms/compute.xml
-- id: 5
-  libvirtName: compute4
-  libvirtTemplate: templates/virtual_environment/vms/compute.xml
-- id: 6
-  libvirtName: compute5
-  libvirtTemplate: templates/virtual_environment/vms/compute.xml
-- id: 7
-  libvirtName: fuel-master
-  libvirtTemplate: templates/virtual_environment/vms/fuel.xml
-  isFuel: yes
-  username: root
-  password: r00tme
-
-virtNetConfDir: templates/virtual_environment/networks
-
-disks:
-  fuel: 30G
-  controller: 30G
-  compute: 30G