Commit Graph

115 Commits (2d612cde4d73cb036c8e7d33f4df93e1ae13741f)

Author SHA1 Message Date
Maxime Guyot 3134dd4c0d
Drop support for Fedora 28 and add Fedora 30 and 31 (#5969) 2020-04-18 06:35:36 -07:00
Maxime Guyot 56a9c7a802
Add Vagrant CI (#5487) 2020-04-18 06:09:35 -07:00
Maxime Guyot 7eaa7c957a
Fix conntrack for opensuse and docker support (#5880) 2020-04-08 07:37:44 -07:00
Maxime Guyot b2d740dd1f
Add Ubuntu 20.04 RC image and test job (#5836) 2020-03-27 02:14:23 -07:00
Woohyung Han d0d9967457
Fix to Vagrant config.rb apply correctly (#5525) 2020-02-18 00:13:28 -08:00
Maxime Guyot cad3bf3e8c
Add CentOS 8 image for testing (#5589) 2020-01-29 02:06:16 -08:00
ewtang d4f094cc11 Add localhost to ansible.limit. (#5037)
Upgrade to Kubernetes 1.15.3 (#5091)
2019-08-22 01:14:32 -07:00
Jeff Bornemann 728155a2a1 Support for Oracle Linux (#3655)
Fixed Issue #1032

test case for OEL7 AIL with kubeadm

Add packet CI stuff for oracle 7
2019-07-11 23:17:05 -07:00
Johnny Halfmoon 23c9071c30 Added file and container image caching (#4828)
* File and container image downloads are now cached localy, so that repeated vagrant up/down runs do not trigger downloading of those files. This is especially useful on laptops with kubernetes runnig locally on vm's. The total size of the cache, after an ansible run, is currently around 800MB, so bandwidth (=time) savings can be quite significant.

* When download_run_once is false, the default is still not to cache, but setting download_force_cache will still enable caching.

* The local cache location can be set with download_cache_dir and defaults to /tmp/kubernetes_cache

* A local docker instance is no longer required to cache docker images; Images are cached to file. A local docker instance is still required, though, if you wish to download images on localhost.

* Fixed a FIXME, wher the argument was that delegate_to doesn't play nice with omit. That is a correct observation and the fix is to use default(inventory_host) instead of default(omit). See ansible/ansible#26009

* Removed "Register docker images info" task from download_container and set_docker_image_facts because it was faulty and unused.

* Removed redundant when:download.{container,enabled,run_once} conditions from {sync,download}_container.yml

* All features of commit d6fd0d2aca by Timoses <timosesu@gmail.com>, merged May 1st 2019, are included in this patch. Not all code was included verbatim, but each feature of that commit was checked to be working in this patch. One notable change: The actual downloading of the kubeadm images was moved to {download,sync)_container, to enable caching.

Note 1: I considered splitting this patch, but most changes that are not directly related to caching, are a pleasant by-product of implementing the caching code, so splitting would be impractical.

Note 2: I have my doubts about the usefulness of the upload, download and upgrade tags in the download role. Must they remain or can they be removed? If anybody knows, then please speak up.
2019-06-10 11:21:07 -07:00
Andreas Krüger 86d0e12695 Add missing comma (#4636) 2019-04-24 07:10:02 -07:00
iwankgb 4e81bcc147 Fixing Vagrant cluster provisioning (#4218)
* Pass ansible_ssh_user as host_var

Co-authored-by: Damian Darczuk <damian.darczuk@intel.com>
Co-authored-by: Paweł Pałucki <pawel.palucki@intel.com>

* Create a directory before downloading container images to ansible host

Co-authored-by: Damian Darczuk <damian.darczuk@intel.com>
Co-authored-by: Paweł Pałucki <pawel.palucki@intel.com>

* Set private key usuing synchronize task options

Co-authored-by: Damian Darczuk <damian.darczuk@intel.com>
Co-authored-by: Paweł Pałucki <pawel.palucki@intel.com>
2019-04-24 05:42:05 -07:00
Maxime Guyot b2fa84af61 Vagrant fix password prompt (#4457) 2019-04-09 00:59:05 -07:00
Maxime Guyot 80ea18bd28 Disable download_once in Vagrant to workaround rsync error (#4448) 2019-04-09 00:19:05 -07:00
Markos Chandras 12c6b5c3eb openSUSE: Use Leap 15.0 instead of 42.3 (#4442)
* Vagrantfile: Bump openSUSE to Leap 15.0

* roles: container-engine: Add 'containerd' package for openSUSE

The 'containerd' package contains the docker-containerd and
docker-containerd-shim binaries. We also need to ensure that the latest
version is installed since an older version may already be present (eg GCE
images)

* Remove docker log-opts for opensuse

* roles: bootstrap-os: Use lowercase 'o' for openSUSE

OpenSUSE is not a valid family name. The correct one is openSUSE

* roles: bootstrap-os: Update zypper cache before first installation

The zypper cache may be outdated so ensure that it's fully updated
before we try and install the bootstrap packages.
2019-04-09 00:17:05 -07:00
Peter Metz 26ca58419f feat(external-provisioner): adds support for local-path-provisioner (#4232)
* feat(external-provisioner/local-path-provisioner): adds support for local path provisioner

Helpful for local development but also in production workloads (once the
permission model is worked out) where you have redundancy built into the
software uses the PVCs (e.g. database cluster with synchronous
replication)

* feat(local-path-provisioner): adds debug flag, image tag group var

* fix(local-path-provisioner): moves image repo/tag to download role

* test(gce_centos7-flannel): enables local-path-provisioner in test case

* fix(addons): add image repo/tag to commented default values

* fix(local-path-provisioner): typo in jinja template for local path provisioner

* style(local-path-provisioner): debug flag condition re-formatted

* fix(local-path-provisioner): adds missing default value for debug flag

* fix(local-path-provisioner): syntax fix for debug if condition end

* fix(local-path-provisioner): jinja template syntax: if condition white space
2019-02-25 22:45:30 -08:00
Peter Metz f81bafa07b feat(vagrant/virtualbox): adds parameter to resize vbox disks (#4231)
Useful if the default 20GB is not enough in cases where you are using
the local path provisioner of rancher for example
2019-02-20 06:37:18 -08:00
Peter Metz 94892ab3a4 fix(vagrant): sets video RAM to 8 MB, avoids large default (256) (#4230) 2019-02-20 06:35:21 -08:00
Peter Metz e245e935aa fix(vagrant): sets ansible.inventory_path to file not dir (#4153)
This fixes the issue where if there was a hosts.ini file present in the
inventory directory, then Vagrant would set an incorrect path as
ansible.inventory_path
2019-01-31 23:46:52 -08:00
Peter Metz fcd895d032 fix(vagrant): forces flannel interface as eth1 (#4070)
Without this pods cannot communicate with each other by default (broken
networking)

Closes #2114
2019-01-26 13:38:37 -08:00
Johnny Halfmoon 9d0786cbb0 cleaned up vagrantfile (#3717) 2018-11-16 15:28:29 +01:00
Louis Woods bc9e14a762 Adds support for Multus (multiple interfaces) CNI plugin (#3166)
* Adds support for Multus (multiple interfaces) CNI plugin

Multus is a latin word for "Multi". As the name suggests, it acts as a
Multi plugin in Kubernetes and provides multiple network interface
support in a pod. Multus uses the concept of invoking delegates by
grouping multiple plugins into delegates and invoking them in the
sequential order of the CNI configuration file provided in json format.

* Change CNI version (0.1.0->0.3.1) of Contiv to be compatible with Multus
2018-11-04 01:07:38 -08:00
Giacomo Longo 3f786542d3 Automatically infer bootstrap_os (#3498)
* Automatically infer bootstrap_os

* Rename bootstrap os to os_family
2018-10-10 23:32:10 -07:00
Giacomo Longo 0d89db5141 Split Vagrantfile Ubuntu versions into 1604 and 1804 (#3440)
Split Vagrantfile Ubuntu versions into 1604 and 1804 (#3440)
2018-10-08 12:40:20 +02:00
Giacomo Longo 492b3e525d Support Fedora 28 2018-09-19 20:11:07 +02:00
edemsea 80c87db148 Define custom playbook in Vagrantfile
This change allows the playbook used in Vagrant to be
defined by the end user.

This is useful in the case where a developer may want to use
their own playbook that imports Kubespray, but also leverage
the Kubespray Vagrantfile.
2018-08-14 12:12:07 -04:00
Markos Chandras 9168c71359 Revert "Revert "Add openSUSE support" (#2697)" (#2699)
This reverts commit 51f4e6585a.
2018-04-26 12:52:06 +03:00
Matthew Mosesohn 51f4e6585a
Revert "Add openSUSE support" (#2697) 2018-04-23 14:28:24 +03:00
Ganesh Maharaj Mahalingam afcd5997b9 Vagrantfile: Fix default inventory path.
Change to support multiple inventory path led to Vagrant environment not
getting a default group_vars in it's inventory path. Using sample as the
default path if none specified.

Fix issue #2541

Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
2018-04-12 14:24:41 -07:00
Markos Chandras e113d1ccab Vagrantfile: Use rsync to copy working directory to VM
Depending on the VM configuration, vagrant may either use 'rsync' or
vboxfs for populating the working directory to the VM. However, vboxfs
means that any files created by the VM will also be present on the host.
As such, lets be explicit and always use 'rsync' to copy the directory
to the VM so we can keep the host copy clean. Moreover, the default
rsync options include '--copy-links' and this breaks rsync if there are
missing symlinks in the working directory like the following one:

Error: symlink has no referent:
"/home/user/kubespray/contrib/network-storage/glusterfs/group_vars"

As such, we override the default options to drop --copy-links.
2018-04-11 17:44:55 +01:00
Nirmoy Das 112ccfa9db Vagrantfile: Add support for openSUSE Tumbleweed
Add support for provisioning kubespray on openSUSE Tumbleweed virtual
machines.
2018-04-11 16:58:03 +01:00
Markos Chandras 0ed1919a38 Vagrantfile: Add support for openSUSE Leap 42.3
Add support for provisioning kubespray on openSUSE Leap 42.3 virtual
machines.
2018-04-11 16:58:03 +01:00
Erwan SEITE 31705a502d change vagrant version 2018-03-26 18:02:14 +02:00
Erwan SEITE 5f5d0ffe14 replace sudo by become 2018-03-26 18:02:14 +02:00
Gerben Meijer e662ed4adc Fix symlinking vagrant inventory
The default path assumes that the vagrant dir is called 'inventory'.
With custom defined inventory dirs that are not called 'inventory' this
fails to create the correct symlink under .vagrant.d.
2018-02-07 16:50:05 +01:00
Sébastien Han dfcd60a9e2 vagrant: use "centos/7" box to support libvirt provider
The "centos/7" box is the official centos box and supports all the major
providers:

virtualbox Externally hosted (cloud.centos.org)
vmware_desktop Externally hosted (cloud.centos.org)
libvirt Externally hosted (cloud.centos.org)
hyperv Externally hosted (cloud.centos.org)

Where  bento/centos-7.3 only supports:

parallels Hosted by Vagrant Cloud (570 MB)
virtualbox Hosted by Vagrant Cloud (525 MB)
vmware_desktop Hosted by Vagrant Cloud (608 MB)

Signed-off-by: Sébastien Han <seb@redhat.com>
2018-02-06 18:20:11 +01:00
Sébastien Han 0684df804d vagrant: libvirt add vm_memory support
Signed-off-by: Sébastien Han <seb@redhat.com>
2018-02-06 18:20:11 +01:00
Sébastien Han f8d6b84cb6 vagrant: add ability to use drives in the VMs
When testing deployments of SDS, it is quite useful to get a Kubernetes
env with nodes having dedicated drives.
You can now enable this by setting: kube_node_instances_with_disks: true

Also you can chose the amount of drives per machine and their respective
size:

* kube_node_instances_with_disks_number: 10
* kube_node_instances_with_disks_size: "20G"

Signed-off-by: Sébastien Han <seb@redhat.com>
2018-02-06 18:20:11 +01:00
Sébastien Han a980731bed vagrant: remove trailing line
Signed-off-by: Sébastien Han <seb@redhat.com>
2018-02-06 18:20:10 +01:00
Maxim Krasilnikov 0d8de289dd Revert "Change deprecated vagrant ansible flag 'sudo' to 'become'" (#1960) 2017-11-12 09:20:30 +00:00
guenhter 97c68810e0 Change deprecated vagrant ansible flag 'sudo' to 'become' 2017-10-30 14:37:06 +01:00
mkrasilnikov 2c7c956be9 Disable swap in vagrant vms 2017-10-27 19:57:54 +03:00
Maxim Krasilnikov da61b8e7c9 Added workaround for vagrant 1.9 and centos vm box (#1738) 2017-10-03 11:32:19 +01:00
Maxim Krasilnikov d6d58bc938 Fixed vagrant up with flannel network, removed old config values (#1737) 2017-10-03 11:16:13 +01:00
mkrasilnikov 5fd4b4afae Increase vagrant vm's memory size 2017-10-02 23:16:39 +03:00
Kyle Bai 8373129588 Support CentOS 7 through Vagrant (#1542) 2017-08-18 09:16:47 +03:00
Abdelsalam Abbas e7f794531e make sure every instance is a node if user changed defauls of num_instances 2017-07-07 09:20:14 +02:00
Abdelsalam Abbas a69de8be40 changing username from "ubuntu" to the correct one "vagrant" for ubuntu 2017-06-27 16:42:18 +02:00
Kevin Jing Qiu 3e97299a46 Sync folders on the vagrant machine 2017-06-09 17:19:28 -04:00
Kevin Jing Qiu 66d8b2c18a Specify coreos vagrant box url 2017-06-04 11:31:39 -04:00
Kevin Jing Qiu dad268a686 Add default ssh user for different OSes 2017-06-02 19:51:09 -04:00
Kevin Jing Qiu e7acc2fddf Update doc for Vagrant install 2017-06-02 19:03:43 -04:00
Kevin Jing Qiu 6fb17a813c Support provisioning vagrant k8s clusters with coreos 2017-06-02 18:53:47 -04:00
Vijay Katam a0b1eda1d0 Add support for atomic host
Updates based on feedback

Simplify checks for file exists

remove invalid char

Review feedback. Use regular systemd file.

Add template for docker systemd atomic
2017-03-01 09:38:19 -08:00
John Dewey f877278075
Ensure vagrant uses flannel
The Vagrantfile is setup to use flannel.  The default network
was changed to Calico (#1031).  However, the Vagrantfile was
not updated to reflect this.  Ensuring the Vagrantfile remains
functional on master, until someone decides to make it work
with Calico.
2017-02-28 13:31:28 -08:00
John Dewey 45dbe6d542
Better control instance sizing
* Git ignore the user controlled config.rb.
* Ability to better control the number of instances running.
2017-02-16 13:09:34 -08:00
Sam Stoelinga 5a2c75a3cb Fix #781 prevent vagrant asking for password
When download_run_once=True it will try to first download images to host
running vagrant, then upload the images from vagrant host to the vagrant
vms. While trying to upload the images it will ask for a the vagrant
linux user password.

For small environments this behaviour is unnecessary hence changing the
default to download_run_once=False inside the Vagrantfile seems like a
good fix.
2016-12-19 11:52:18 -08:00
Bogdan Dobrelya 437372021d Merge pull request #574 from kad/vagrant-proxy
Vagrantfile: setup proxy inside virtual machines
2016-11-01 11:40:17 +01:00
Alexander Kanevskiy 9f976e568d Vagrantfile: setup proxy inside virtual machines
In corporate networks, it is good to pre-configure proxy variables.
2016-10-29 00:32:56 +03:00
Alexander Kanevskiy 9d7142f476 Vagrantfile: use Ubuntu 16.04 LTS
Use recent supported version of Ubuntu for local development setup
with Vagrant.
2016-10-28 23:26:25 +03:00
Andrey Sokolov 9339903a85 Fix vagrant custom instance name prefix 2016-08-30 19:24:17 +06:00
Matthew Mosesohn 0c953101ff Fix init scripts for etcd. Fixes #383
Fixes Ubuntu 14.04 deployment of etcd.
2016-08-15 14:09:42 +03:00
Paul Czarkowski ba615ff94e race condition in download role under vagrant
using a shared folder can cause race conditions for the download
role as it tries to download files on all the nodes to the same
shared path.  This adds a flag to run the tasks in the download
role on just one node.
2016-05-20 17:04:38 -05:00
Paul Czarkowski 5240465f39 set vm box to be hashicorp hosted trusty
I accidently left in the old download URL for coreos
even after I switched the box name to be ubuntu, it
worked fine for me because I already had that box
locally so it didn't try to download.  This should
resolve this by using the official bento/ubuntu-14.04
box which is a nice minimal image.

We also allow the default behaviour of sharing folder to VMs

By doing this we can stage our download files in a shared location
and speed up subsequent runs significantly.

Finally will create more verbose documentation.
2016-05-20 17:04:03 -05:00
Paul Czarkowski bd064e8094 fix flannel's cross vm networking for vagrant
* set flannel backend type to `host-gw`
* set flannel interface to be eth1 ip
2016-05-08 23:42:42 -05:00
Paul Czarkowski 8f4e879ca7 Add native Vagrant support
This allows you to simply run `vagrant up` to get a 3 node HA cluster.

* Creates a dynamic inventory and uses the inventory/group_vars/all.yml
* commented lines in inventory.example so that ansible doesn't try to use it.
* added requirements.txt to give easy way to install ansible/ipaddr
* added gitignore files to stop attempts to save unwated files
* changed `Check if kube-system exists` to `failed_when: false` instead of
`ignore_errors`
2016-05-08 10:17:11 -05:00