---
.packet: &packet
  extends: .testcases
  variables:
    CI_PLATFORM: "packet"
    SSH_USER: "kubespray"
  tags:
    - packet
  only: [/^pr-.*$/]
  except: ['triggers']

packet_ubuntu18-calico-aio:
  stage: deploy-part1
  extends: .packet
  when: on_success

# Future AIO job
packet_ubuntu20-calico-aio:
  stage: deploy-part1
  extends: .packet
  when: manual

# ### PR JOBS PART2

packet_centos7-flannel-containerd-addons-ha:
  extends: .packet
  stage: deploy-part2
  when: on_success
  variables:
    MITOGEN_ENABLE: "true"

packet_centos7-crio:
  extends: .packet
  stage: deploy-part2
  when: on_success
  variables:
    MITOGEN_ENABLE: "true"

packet_ubuntu18-crio:
  extends: .packet
  stage: deploy-part2
  when: manual
  variables:
    MITOGEN_ENABLE: "true"

packet_ubuntu16-canal-kubeadm-ha:
  stage: deploy-part2
  extends: .packet
  when: on_success

packet_ubuntu16-canal-sep:
  stage: deploy-special
  extends: .packet
  when: manual

packet_ubuntu16-flannel-ha:
  stage: deploy-part2
  extends: .packet
  when: manual

packet_ubuntu16-kube-router-sep:
  stage: deploy-part2
  extends: .packet
  when: manual

packet_debian10-containerd:
  stage: deploy-part2
  extends: .packet
  when: on_success
  variables:
    MITOGEN_ENABLE: "true"

packet_centos7-calico-ha-once-localhost:
  stage: deploy-part2
  extends: .packet
  when: on_success
  variables:
    # This will instruct Docker not to start over TLS.
    DOCKER_TLS_CERTDIR: ""
  services:
    - docker:19.03.9-dind

packet_centos8-kube-ovn:
  stage: deploy-part2
  extends: .packet
  when: on_success

packet_centos8-calico:
  stage: deploy-part2
  extends: .packet
  when: on_success

packet_fedora30-weave:
  stage: deploy-part2
  extends: .packet
  when: on_success

packet_opensuse-canal:
  stage: deploy-part2
  extends: .packet
  when: on_success

# Contiv does not work in k8s v1.16
# packet_ubuntu16-contiv-sep:
#   stage: deploy-part2
#   extends: .packet
#   when: on_success

# ### MANUAL JOBS

packet_ubuntu16-weave-sep:
  stage: deploy-part2
  extends: .packet
  when: manual

packet_ubuntu18-cilium-sep:
  stage: deploy-special
  extends: .packet
  when: manual

packet_ubuntu18-flannel-containerd-ha:
  stage: deploy-part2
  extends: .packet
  when: manual

packet_ubuntu18-flannel-containerd-ha-once:
  stage: deploy-part2
  extends: .packet
  when: manual

packet_debian9-macvlan:
  stage: deploy-part2
  extends: .packet
  when: manual

packet_centos7-calico-ha:
  stage: deploy-part2
  extends: .packet
  when: manual

packet_centos7-kube-router:
  stage: deploy-part2
  extends: .packet
  when: manual

packet_centos7-multus-calico:
  stage: deploy-part2
  extends: .packet
  when: manual

packet_oracle7-canal-ha:
  stage: deploy-part2
  extends: .packet
  when: manual

packet_fedora31-flannel:
  stage: deploy-part2
  extends: .packet
  when: on_success
  variables:
    MITOGEN_ENABLE: "true"

packet_amazon-linux-2-aio:
  stage: deploy-part2
  extends: .packet
  when: manual

# ### PR JOBS PART3
# Long jobs (45min+)

packet_centos7-weave-upgrade-ha:
  stage: deploy-part3
  extends: .packet
  when: manual
  variables:
    UPGRADE_TEST: basic
    MITOGEN_ENABLE: "false"

packet_debian9-calico-upgrade:
  stage: deploy-part3
  extends: .packet
  when: manual
  variables:
    UPGRADE_TEST: graceful
    MITOGEN_ENABLE: "false"

packet_debian9-calico-upgrade-once:
  stage: deploy-part3
  extends: .packet
  when: manual
  variables:
    UPGRADE_TEST: graceful
    MITOGEN_ENABLE: "false"

packet_ubuntu18-calico-ha-recover:
  stage: deploy-part3
  extends: .packet
  when: on_success
  variables:
    RECOVER_CONTROL_PLANE_TEST: "true"
    RECOVER_CONTROL_PLANE_TEST_GROUPS: "etcd[2:],kube-master[1:]"

packet_ubuntu18-calico-ha-recover-noquorum:
  stage: deploy-part3
  extends: .packet
  when: on_success
  variables:
    RECOVER_CONTROL_PLANE_TEST: "true"
    RECOVER_CONTROL_PLANE_TEST_GROUPS: "etcd[1:],kube-master[1:]"
