Update git submodules
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>
Sat, 25 Aug 2018 21:57:09 +0000 (23:57 +0200)
committerGerrit Code Review <gerrit@opnfv.org>
Fri, 31 Aug 2018 14:03:47 +0000 (14:03 +0000)
commit865277fff3141279e89016f3e8e86a9b129ee3b1
treedff1c3485532e86e8fd4d64d22e5f4105ecaab0f
parent4fb4aa90724d340318ce8f437bf027e5b9a3e4c0
Update git submodules

* Update docs/submodules/fuel from branch 'master'
  - [AArch64] salt.control.virt support

    Salt relies on a limiting libvirt_domain j2 template to generate the
    XML it passes to libvirt for salt.control managed virtual machines.
    For AArch64, we need to set up 3 XML nodes in a non-default way:
    1. UEFI firmware (AAVMF) should be enabled by passing a pflash loader;
    2. CPU mode should be 'host-passthrough';
    3. QEMU machine type should be 'virt';

    To allow configuring the above using pillar data:
    - virtng module: implement functionality similar to upstream changes:
      * 219b84a512 virt module: Allow NVRAM unlinking on DOM undefine
        in develop, not in 2018.2;
      * 9cace9adb9 Add support to virt for libvirt loader
        in develop, not in 2018.2;
    - virtng module: extend it with:
      * pass virt machine type to vm;
      * pass cpu_mode to vm;

    JIRA: ARMBAND-404

    Change-Id: Ib2123e7170991b3dfbdb42bd1a2baa5a4360b200
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
  - [AArch64] Align armband repo name with MaaS nodes

    curtin generates armband_3.list, which we aligned in the reclass
    model before, but not in the defaults yml used by cfg01/VCP VMs.

    Change-Id: Ibe8d5b79465b508e41c20ec08a98a96a1510da8d
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
  - Add noifupdown for all br-floating

    Since we reboot all nodes, applying the network configuration via
    Salt before reboot is pointless and creates a race condition with
    OVS.

    While at it, add `--ignore-errors` to ifup call for OVS bridge to
    prevent a race condition during linux.network state apply.

    Change-Id: I22fe0afaffecd7b850a6b77d7b810ed296bfc9ca
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
  - [salt-formulas] Add & enable armband formula

    AArch64 specific formula, mostly tweaking nova conf / installing
    virtualization layer prerequisites:
    - install qemu-efi;
    - install vgabios;
    - fix missing link for vgabios binary blob;
    - nova conf: cpu_model=cortex-a57 (only for virtual deploys);
    - nova conf: virt_type=qemu (only for virtual deploys);
    - nova compute conf: virt_type=qemu (only for virtual deploys);
    - nova conf: pointer_model=ps2mouse since AArch64 has no USB tablet;

    [1] https://github.com/openstack/nova/commit/f0f0953

    Change-Id: I40515bdbd941850b103a86d51b347cc8610f5741
Signed-off-by: Guillermo Herrero <Guillermo.Herrero@enea.com>
Signed-off-by: Charalampos Kominos <Charalampos.Kominos@enea.com>
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
  - [deploy.sh] Cleanup deploy arguments, rework -ff

    * refactor & extend `-f` deploy argument;
    * retire INFRA_CREATION_ONLY env var, duplicated by
      NO_DEPLOY_ENVIRONMENT;
    * `-F` and `-e` deploy arguments are now equivalent;

    JIRA: FUEL-383

    Change-Id: Ifc1527fa1e7d7486d1b7600772e2c5de34b1e52c
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
  - [submodule] Cleanup: Retire scripts sub & patches

    Salt bootstrap scripts are no longer used directly, so it is now safe
    to retire the whole git submodule and its related patches.

    JIRA: FUEL-383

    Change-Id: I1fbdfe4fbd4930bfb3c999a3a68033d12565682b
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
  - [docker] Switch to containerized Salt Master

    * Refactor OPNFV salt-formulas mechanism to resemble upstream git
      structure:
      - git submodules: add new submodule for each formula we patch;
      - create salt-formula-x directories for OPNFV formulas;
      - move mcp/metadata/service contents to their each formula subdir;
      - use `make patches-import` for patches previously handled by
        patch.sh;
      - retire patch.sh
    * states: add virtual_init:
      - mostly based on old salt.sh, which is now obsolete;
      - exclude salt-master service restart (it would kill the container);
    * scenarios: cleanup (rm cfg01 virtual node def), adopt virtual_init;
    * reclass: align our model with prebuilt container's Salt config:
      - drop linux:network pillar data (handled by Docker);
      - stop applying linux.system state on cfg01;
      - align salt user homedir;
      - drop salt-formula packages (preprovisioned);
    * minor plumbing in deploy.sh and lib.sh;

    JIRA: FUEL-383

    Change-Id: I28708a9b399d3f19012212c71966ebda9d6fc0ac
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
  - [docker] Add docker-compose definitions

    Add configuration items for bringing up the Salt master Docker
    container using docker-compose:
    - mount <storage dir>/hosts as /etc/hosts
    - mount <storage dir>/salt as /etc/salt:
      * semi-persistent generated Salt information;
    - mount <storage dir>/nodes as /srv/salt/reclass/nodes:
      * semi-persistent generated reclass node data storage;
    - mount Fuel@OPNFV git repo in /root/fuel;
    - mount all other previously rsynced artifacts;
    - hook container to 3 networks/bridges: mcpcontrol, PXE/admin and
      management:
      * container IP addresses are managed by Docker, so no DHCP is used;
    - override upstream entrypoint.sh by mounting our own version on top;
      * run-time patch Salt to fix certain init system interactions due
        to 'Tini' looking like Upstart but behaving a bit differently;
      * work around directory traversal issues in Salt/reclass by using
        extensive `cp` (to be later mitigated at container build time);
      * overwrite reclass.system with our own version (patched), later to
        fetched pre-patched during container build;
      * overwrite salt-formulas with our patched versions;
      * create missing links for salt-formulas-* packages (e.g. gnocchi)
        which are not available as git repos upstream;
    - add mcp.rsa.pub to 'ubuntu' user's authorized_keys for SSH login
      to master node to remain backwards compatible;
    - mount configuration files for semi-persistent state preservation
      at container destroy/rebuild (using '-f' deploy argument);

    JIRA: FUEL-383

    Change-Id: Ie17e578a7ebeb071b1c0e0a49ad58ffa6bbc89bb
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
docs/submodules/fuel