Browse code

Merge "Add etcd3 support for s390x"

Jenkins authored on 2017/09/13 23:05:55
Showing 2 changed files
... ...
@@ -779,9 +779,15 @@ are needed::
779 779
     DOWNLOAD_DEFAULT_IMAGES=False
780 780
     IMAGE_URLS="https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-s390x-disk1.img"
781 781
 
782
+    # Provide a custom etcd3 binary download URL and ints sha256.
783
+    # The binary must be located under '/<etcd version>/etcd-<etcd-version>-linux-s390x.tar.gz'
784
+    # on this URL.
785
+    # Build instructions for etcd3: https://github.com/linux-on-ibm-z/docs/wiki/Building-etcd
786
+    ETCD_DOWNLOAD_URL=<your-etcd-download-url>
787
+    ETCD_SHA256=<your-etcd3-sha256>
788
+
782 789
     enable_service n-sproxy
783 790
     disable_service n-novnc
784
-    disable_service etcd3  # https://bugs.launchpad.net/devstack/+bug/1693192
785 791
 
786 792
     [[post-config|$NOVA_CONF]]
787 793
 
... ...
@@ -803,8 +809,11 @@ Reasoning:
803 803
   needed if you want to use the *serial console* outside of the all-in-one
804 804
   setup.
805 805
 
806
-* The service ``etcd3`` needs to be disabled as long as bug report
807
-  https://bugs.launchpad.net/devstack/+bug/1693192 is not resolved.
806
+* A link to an etcd3 binary and its sha256 needs to be provided as the
807
+  binary for s390x is not hosted on github like it is for other
808
+  architectures. For more details see
809
+  https://bugs.launchpad.net/devstack/+bug/1693192. Etcd3 can easily be
810
+  built along https://github.com/linux-on-ibm-z/docs/wiki/Building-etcd.
808 811
 
809 812
 .. note:: To run *Tempest* against this *Devstack* all-in-one, you'll need
810 813
    to use a guest image which is smaller than 1GB when uncompressed.
... ...
@@ -719,6 +719,7 @@ ETCD_SHA256_AMD64="4fde194bbcd259401e2b5c462dfa579ee7f6af539f13f130b8f5b4f52e3b3
719 719
 # NOTE(sdague): etcd v3.1.7 doesn't have anything for these architectures, though 3.2.0 does.
720 720
 ETCD_SHA256_ARM64=""
721 721
 ETCD_SHA256_PPC64=""
722
+ETCD_SHA256_S390X=""
722 723
 # Make sure etcd3 downloads the correct architecture
723 724
 if is_arch "x86_64"; then
724 725
     ETCD_ARCH="amd64"
... ...
@@ -729,6 +730,16 @@ elif is_arch "aarch64"; then
729 729
 elif is_arch "ppc64le"; then
730 730
     ETCD_ARCH="ppc64le"
731 731
     ETCD_SHA256=${ETCD_SHA256:-$ETCD_SHA256_PPC64}
732
+elif is_arch "s390x"; then
733
+    # An etcd3 binary for s390x is not available on github like it is
734
+    # for other arches. Only continue if a custom download URL was
735
+    # provided.
736
+    if [[ -n "${ETCD_DOWNLOAD_URL}" ]]; then
737
+        ETCD_ARCH="s390x"
738
+        ETCD_SHA256=${ETCD_SHA256:-$ETCD_SHA256_S390X}
739
+    else
740
+        exit_distro_not_supported "etcd3. No custom ETCD_DOWNLOAD_URL provided."
741
+    fi
732 742
 else
733 743
     exit_distro_not_supported "invalid hardware type - $ETCD_ARCH"
734 744
 fi