Merge "Use clouds.yaml for openstack packer builders"
authorAnil Belur <abelur@linuxfoundation.org>
Thu, 13 Sep 2018 15:56:24 +0000 (15:56 +0000)
committerGerrit Code Review <gerrit@linuxfoundation.org>
Thu, 13 Sep 2018 15:56:24 +0000 (15:56 +0000)
1  2 
docs/jjb/lf-macros.rst
jjb/lf-macros.yaml

diff --combined docs/jjb/lf-macros.rst
@@@ -110,6 -110,14 +110,14 @@@ lf-infra-packer-buil
  
  Run `packer build` to build system images.
  
+ :Required parameters:
+     :openstack: Packer template uses an OpenStack builder (true|false).
+     :openstack-cloud: Sets OS_CLOUD variable to the value of this parameter.
+     :packer-version: Version of packer to use.
+     :platform: Build platform as found in the vars directory.
+     :template: Packer template to build as found in the templates directory.
  lf-infra-packer-validate
  ------------------------
  
@@@ -187,6 -195,27 +195,6 @@@ Cleanup maven settings.xml configuratio
  any macros that calles the
  :ref:`lf-provide-maven-settings <lf-provide-maven-settings>` macro.
  
 -.. _provide-sigul-config:
 -
 -lf-provide-sigul-configuration
 -------------------------------
 -
 -Provides sigual configuration to the Jenkins build node.
 -
 -Requires the following Config File Provider managed files in Jenkins
 -preconfigured.
 -
 -* sigul-config
 -* sigul-password
 -* sigul-pki
 -
 -.. _provide-sigul-config-cleanup:
 -
 -lf-provide-sigul-configuration-cleanup
 ---------------------------------------
 -
 -Cleanup configuration provided by `provide-sigul-config`.
 -
  lf-rtd-trigger-build
  --------------------
  
@@@ -197,17 -226,13 +205,17 @@@ lf-rtd-verif
  
  ReadTheDocs verify script.
  
 -lf-sigul-install
 -----------------
 +lf-sigul-sign-dir
 +-----------------
  
 -Install Sigul.
 +Use Sigul to sign a directory via {sign-dir}.
  
  Requires ``SIGUL_BRIDGE_IP`` configured as a global envvar.
  
 +:Required Parameters:
 +    :sign-artifacts: Whether or not to sign artifacts with Sigul.
 +    :sign-dir: Directory to sign.
 +
  lf-infra-provide-docker-cleanup
  -------------------------------
  
diff --combined jjb/lf-macros.yaml
  - builder:
      name: lf-infra-packer-build
      builders:
+       - conditional-step:
+           condition-kind: boolean-expression
+           condition-expression: '{openstack}'
+           steps:
+             - config-file-provider:
+                 files:
+                   - file-id: clouds-yaml
+                     target: '$HOME/.config/openstack/clouds.yaml'
+             - inject:
+                 properties-content: OS_CLOUD={openstack-cloud}
        - config-file-provider:
            files:
              - file-id: '{packer-cloud-settings}'
              - file-id: '{settings-file}'
                variable: 'SETTINGS_FILE'
  
 -- builder:
 -    name: lf-provide-sigul-configuration
 -    # Push configuration files to interact with sigul
 -    builders:
 -      - config-file-provider:
 -          files:
 -            - file-id: sigul-config
 -              variable: SIGUL_CONFIG
 -            - file-id: sigul-password
 -              variable: SIGUL_PASSWORD
 -            - file-id: sigul-pki
 -              variable: SIGUL_PKI
 -      - shell: !include-raw: ../shell/sigul-configuration.sh
 -
  - builder:
      name: lf-pip-install
      builders:
            # DO NOT fail build if any of the above lines fail.
            exit 0
  
 -- builder:
 -    name: lf-provide-sigul-configuration-cleanup
 -    # Clear sigul configuration files after we're done using them
 -    builders:
 -      - shell: !include-raw: ../shell/sigul-configuration-cleanup.sh
 -
  - builder:
      name: lf-rtd-trigger-build
      builders:
            - ../shell/rtd-verify.sh
  
  - builder:
 -    name: lf-sigul-install
 +    name: lf-sigul-sign-dir
      # Requires that Jenkins be configured with SIGUL_BRIDGE_IP as a global
      # Environment variable
      builders:
 -      - shell: !include-raw: ../shell/sigul-install.sh
 +      - conditional-step:
 +          condition-kind: boolean-expression
 +          condition-expression: '{sign-artifacts}'
 +          steps:
 +            - config-file-provider:
 +                files:
 +                  - file-id: sigul-config
 +                    variable: SIGUL_CONFIG
 +                  - file-id: sigul-password
 +                    variable: SIGUL_PASSWORD
 +                  - file-id: sigul-pki
 +                    variable: SIGUL_PKI
 +            - shell: !include-raw-escape: ../shell/sigul-configuration.sh
 +            - shell: !include-raw-escape: ../shell/sigul-install.sh
 +            - inject:
 +                properties-content: SIGN_DIR={sign-dir}
 +            - shell: !include-raw-escape:
 +                - ../shell/common-variables.sh
 +                - ../shell/sigul-sign-dir.sh
 +            - shell: !include-raw-escape: ../shell/sigul-configuration-cleanup.sh
  
  - builder:
      name: lf-infra-provide-docker-cleanup