Merge "Fixes Tacker auth and fernet keys dir"
authorTim Rozet <trozet@redhat.com>
Sat, 23 Sep 2017 04:37:48 +0000 (04:37 +0000)
committerGerrit Code Review <gerrit@opnfv.org>
Sat, 23 Sep 2017 04:37:48 +0000 (04:37 +0000)
apex/deploy.py
apex/virtual/virtual_utils.py
build/opnfv-environment.yaml
build/overcloud-full.sh

index 3742977..a056138 100644 (file)
@@ -280,10 +280,8 @@ def main():
         ansible_args = {
             'virsh_enabled_networks': net_settings.enabled_network_list
         }
-        ansible_path = os.path.join(args.lib_dir, ANSIBLE_PATH)
         utils.run_ansible(ansible_args,
-                          os.path.join(args.lib_dir,
-                                       ansible_path,
+                          os.path.join(args.lib_dir, ANSIBLE_PATH,
                                        'deploy_dependencies.yml'))
         uc_external = False
         if 'external' in net_settings.enabled_network_list:
@@ -328,8 +326,7 @@ def main():
                                        args.deploy_dir, APEX_TEMP_DIR)
         # Install Undercloud
         undercloud.configure(net_settings,
-                             os.path.join(args.lib_dir,
-                                          ansible_path,
+                             os.path.join(args.lib_dir, ANSIBLE_PATH,
                                           'configure_undercloud.yml'),
                              APEX_TEMP_DIR)
 
@@ -344,7 +341,7 @@ def main():
         overcloud_deploy.create_deploy_cmd(deploy_settings, net_settings,
                                            inventory, APEX_TEMP_DIR,
                                            args.virtual, args.env_file)
-        deploy_playbook = os.path.join(args.lib_dir, ansible_path,
+        deploy_playbook = os.path.join(args.lib_dir, ANSIBLE_PATH,
                                        'deploy_overcloud.yml')
         virt_env = 'virtual-environment.yaml'
         bm_env = 'baremetal-environment.yaml'
@@ -415,7 +412,7 @@ def main():
             deploy_vars['external_network_ipv6'] = True
         else:
             deploy_vars['external_network_ipv6'] = False
-        post_undercloud = os.path.join(args.lib_dir, ansible_path,
+        post_undercloud = os.path.join(args.lib_dir, ANSIBLE_PATH,
                                        'post_deploy_undercloud.yml')
         logging.info("Executing post deploy configuration undercloud playbook")
         try:
@@ -432,7 +429,7 @@ def main():
         deploy_vars['vpn'] = ds_opts['vpn']
         # TODO(trozet): pull all logs and store in tmp dir in overcloud
         # playbook
-        post_overcloud = os.path.join(args.lib_dir, ansible_path,
+        post_overcloud = os.path.join(args.lib_dir, ANSIBLE_PATH,
                                       'post_deploy_overcloud.yml')
         # Run per overcloud node
         for node, ip in deploy_vars['overcloud_nodes'].items():
index 255d2c6..1fe2c39 100644 (file)
@@ -14,6 +14,7 @@ import os
 import platform
 import pprint
 import subprocess
+import xml.etree.ElementTree as ET
 
 from apex.common import utils
 from apex.virtual import configure_vm as vm_lib
@@ -26,6 +27,28 @@ DEFAULT_PASS = 'password'
 DEFAULT_VIRT_IP = '192.168.122.1'
 
 
+def get_virt_ip():
+    try:
+        virsh_net_xml = subprocess.check_output(['virsh', 'net-dumpxml',
+                                                 'default'],
+                                                stderr=subprocess.STDOUT)
+    except subprocess.CalledProcessError:
+        logging.warning('Unable to detect default virsh network IP.  Will '
+                        'use 192.168.122.1')
+        return DEFAULT_VIRT_IP
+
+    tree = ET.fromstring(virsh_net_xml)
+    ip_tag = tree.find('ip')
+    if ip_tag:
+        virsh_ip = ip_tag.get('address')
+        if virsh_ip:
+            logging.debug("Detected virsh default network ip: "
+                          "{}".format(virsh_ip))
+            return virsh_ip
+
+    return DEFAULT_VIRT_IP
+
+
 def generate_inventory(target_file, ha_enabled=False, num_computes=1,
                        controller_ram=DEFAULT_RAM, arch=platform.machine(),
                        compute_ram=DEFAULT_RAM, vcpus=4):
@@ -42,7 +65,7 @@ def generate_inventory(target_file, ha_enabled=False, num_computes=1,
     """
 
     node = {'mac_address': '',
-            'ipmi_ip': DEFAULT_VIRT_IP,
+            'ipmi_ip': get_virt_ip(),
             'ipmi_user': DEFAULT_USER,
             'ipmi_pass': DEFAULT_PASS,
             'pm_type': 'pxe_ipmitool',
@@ -86,7 +109,7 @@ def host_setup(node):
     vbmc_manager = vbmc_lib.VirtualBMCManager()
     for name, port in node.items():
         vbmc_manager.add(username=DEFAULT_USER, password=DEFAULT_PASS,
-                         port=port, address=DEFAULT_VIRT_IP, domain_name=name,
+                         port=port, address=get_virt_ip(), domain_name=name,
                          libvirt_uri='qemu:///system',
                          libvirt_sasl_password=False,
                          libvirt_sasl_username=False)
index 5b5d450..7da252e 100644 (file)
@@ -132,6 +132,7 @@ parameter_defaults:
     - OS::TripleO::Services::NeutronVppAgent
     - OS::TripleO::Services::OVNDBs
     - OS::TripleO::Services::Vpp
+    - OS::TripleO::Services::NeutronBgpvpnApi
   ComputeServices:
     - OS::TripleO::Services::Barometer
     - OS::TripleO::Services::CACerts
index cc335c8..b7711a0 100755 (executable)
@@ -115,6 +115,18 @@ enabled=1
 gpgcheck=0
 EOF
 
+# Kubernetes Repo
+cat > ${BUILD_DIR}/kubernetes.repo << EOF
+[kubernetes]
+name=Kubernetes
+baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
+enabled=1
+gpgcheck=1
+repo_gpgcheck=1
+gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg
+        https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
+EOF
+
 # Get Real Time Kernel from kvm4nfv
 populate_cache $kvmfornfv_uri_base/$kvmfornfv_kernel_rpm
 
@@ -136,6 +148,7 @@ LIBGUESTFS_BACKEND=direct virt-customize \
     --upload ${BUILD_DIR}/puppet-fdio.tar.gz:/etc/puppet/modules \
     --run-command "cd /etc/puppet/modules && tar xzf puppet-fdio.tar.gz" \
     --upload ${BUILD_DIR}/fdio.repo:/etc/yum.repos.d/ \
+    --upload ${BUILD_DIR}/kubernetes.repo:/etc/yum.repos.d/ \
     --run-command "mkdir /root/fdio" \
     --upload ${BUILD_DIR}/noarch/$netvpp_pkg:/root/fdio \
     $fdio_pkg_str \
@@ -147,6 +160,7 @@ LIBGUESTFS_BACKEND=direct virt-customize \
     --install python2-networking-sfc \
     --install python-etcd,puppet-etcd \
     --install patch \
+    --install docker,kubelet,kubeadm,kubectl,kubernetes-cni \
     -a overcloud-full_build.qcow2
 
     # upload and install barometer packages