N->O upgrade, blanks ipv6 rules before activating it.
[apex-tripleo-heat-templates.git] / ci / scripts / freeipa_setup.sh
index 6906a2d..e699841 100644 (file)
@@ -8,6 +8,11 @@
 #   - 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
 
@@ -17,6 +22,21 @@ 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
 echo "nameserver 8.8.8.8" >> /etc/resolv.conf
 echo "nameserver 8.8.4.4" >> /etc/resolv.conf
@@ -74,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
@@ -86,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