Merge "Add release notes for Manila/CephFS with managed Ceph"
[apex-tripleo-heat-templates.git] / ci / scripts / freeipa_setup.sh
index f6a0f92..e699841 100644 (file)
@@ -8,11 +8,33 @@
 #   - AdminPassword
 #   - UndercloudFQDN
 #   - HostsSecret
+#   - ProvisioningCIDR: If set, it adds the given CIDR to the provisioning
+#                       interface (which is hardcoded to eth1)
+#   - UsingNovajoin: If unset, we pre-provision the service principals
+#                    needed for the overcloud deploy. If set, we skip this,
+#                    since novajoin will do it.
 #
 set -eux
 
 if [ -f "~/freeipa-setup.env" ]; then
     source ~/freeipa-setup.env
+elif [ -f "/tmp/freeipa-setup.env" ]; then
+    source /tmp/freeipa-setup.env
+fi
+
+export Hostname=${Hostname:-""}
+export FreeIPAIP=${FreeIPAIP:-""}
+export DirectoryManagerPassword=${DirectoryManagerPassword:-""}
+export AdminPassword=${AdminPassword:-""}
+export UndercloudFQDN=${UndercloudFQDN:-""}
+export HostsSecret=${HostsSecret:-""}
+export ProvisioningCIDR=${ProvisioningCIDR:-""}
+export UsingNovajoin=${UsingNovajoin:-""}
+
+if [ -n "$ProvisioningCIDR" ]; then
+    # Add address to provisioning network interface
+    ip link set dev eth1 up
+    ip addr add $ProvisioningCIDR dev eth1
 fi
 
 # Set DNS servers
@@ -22,7 +44,7 @@ echo "nameserver 8.8.4.4" >> /etc/resolv.conf
 yum -q -y remove openstack-dashboard
 
 # Install the needed packages
-yum -q install -y ipa-server ipa-server-dns epel-release rng-tools mod_nss
+yum -q install -y ipa-server ipa-server-dns epel-release rng-tools mod_nss git
 yum -q install -y haveged
 
 # Prepare hostname
@@ -72,7 +94,9 @@ rm -f /etc/httpd/conf.d/ssl.conf
 # Set up FreeIPA
 ipa-server-install -U -r `hostname -d|tr "[a-z]" "[A-Z]"` \
                    -p $DirectoryManagerPassword -a $AdminPassword \
-                   --hostname `hostname -f`
+                   --hostname `hostname -f` \
+                   --ip-address=$FreeIPAIP \
+                   --setup-dns --auto-forwarders --auto-reverse
 
 # Authenticate
 echo $AdminPassword | kinit admin
@@ -84,11 +108,13 @@ if [ "$?" = '1' ]; then
     exit 1
 fi
 
-# Create undercloud host
-ipa host-add $UndercloudFQDN --password=$HostsSecret --force
+if [ -z "$UsingNovajoin" ]; then
+    # Create undercloud host
+    ipa host-add $UndercloudFQDN --password=$HostsSecret --force
 
-# Create overcloud nodes and services
-git clone https://github.com/JAORMX/freeipa-tripleo-incubator.git
-cd freeipa-tripleo-incubator
-python create_ipa_tripleo_host_setup.py -w $HostsSecret -d $(hostname -d) \
-    --controller-count 1 --compute-count 1
+    # Create overcloud nodes and services
+    git clone https://github.com/JAORMX/freeipa-tripleo-incubator.git
+    cd freeipa-tripleo-incubator
+    python create_ipa_tripleo_host_setup.py -w $HostsSecret -d $(hostname -d) \
+        --controller-count 1 --compute-count 1
+fi