Commit graph

172 commits

Author SHA1 Message Date
Anders Ingemann
85a0e6a191
Make trusted-keys paths in manifest relative to manifest 2017-07-14 18:25:07 +02:00
NeatNerdPrime
1f1ebcedb8 Puppet module update (#365)
* #347 - Fix for debconf validator pointing to wrong file.

* reported in https://github.com/andsens/bootstrap-vz/issues/347

  flake8: commands succeeded
  congratulations :)

* # development commit

* trying to fix the packages install with a forced apt-update prior to
installing packages. should fix any issues prior to

* # dev commit

* Trying to parse the commands with a chrotted log_check_call

* # dev commit

* "TypeError: sequence item 2: expected string, list found" , trying to
fix this

* # dev commit - changed the way local packages get installed

This commit changes the way local deb packages get installed.

* rationale: a local deb package mostly includes a deb to configure apt,
e.g.: Puppet apt package. Therefore, after a local dep pkg install , apt
should update itself to be able to install packages that come with the
repo's configured from the local deb package. This assumes you install
LOCAL packages (deb files) first (as a rule of thumb) and AFTER the
REMOTE packages (you include other packages by name)

* reverted command plugin tasks code

* # Dev commit - puppet module update

Goal is to install a puppet 4 agent on the bootstrapped image

* limitations: Only for debian Jessie, installs only puppet4

* # Feature improvement - Puppet module

* a new way to install and configure puppet on a debian jessie
* only tested on debian jessie, for now it only installs the PC1 agent
package.
* future endeavors include all mentioned todo's:
* TODO: plugin must be able to install on any debian release
* TODO: plugin must be able to offer choice of distro package or
apt.puppetlabs.com package
* TODO: plugin must be able to select release version package (vanilla
or PC1)
* TODO: plugin must be able to set up a puppet SERVER , puppetDB
optional
* TODO: plugin have proper linting
* TODO: write test cases

* # Derp commit

* added project files in GitIgnore

* # Dev commit

* added release detection and installs appropriate package.

* # derp commit

* removed unnecessary class parameter.

* # derp dev commit

* add predecessor to ensure repo package gets installed BEFORE the
agent.

* # derp fixes commit

* i must use info.manifest.release
* a little bit refactoring

* # derp commit

* fixed correct predecessor

* # feature & derp dev commit

* added feature to install puppet modules with the plugin

* # Version upgrade commit

New puppet plugin module update

* Plugin can select proper debian release package to install
* Plugin can install modules directly from forge.puppetlabs.com
* Updated documentation with working example 
* Limitations TL;DR: agent software only, PC1 package only, Absolute
pathing, wheezy/jessie only, assumes production environment for modules.
* Several ugly derp bugs squashed.

* * PR fix commit

* Modified puppet readme file as recommended
* added small description in changelog
https://github.com/andsens/bootstrap-vz/pull/365#discussion_r101378921
https://github.com/andsens/bootstrap-vz/pull/365#discussion_r101379039

* # PR fix commit

* Cleaned debugging leftovers
https://github.com/andsens/bootstrap-vz/pull/365#discussion_r101379293

* # PR fix commit

* Removed todo's from code, creating issues on the project issue
tracker.
https://github.com/andsens/bootstrap-vz/pull/365#discussion_r101381742

* # PR fix commit

* Moved EnableAgent task to the bottom as requested
https://github.com/andsens/bootstrap-vz/pull/365#discussion_r101382775

* # PR fix commit

* Removed gitignore file, I have absolutely no idea how that got there.

* # PR fix commit

* Fixed several TOX issues, it's all green now

* #MR-365 - dev commit 

* first try at installing agent with sources/key injection
* New tasks in puppet module: AddPuppetlabsPC1SourcesList;
InstallPuppetlabsPC1ReleaseKey
* it does NOT do any checks. it assumes the url is correct.

* #MR-365 - derp commit

* removed some unused code in tasks

* #365 - tox fix commit

* fixed several tox warnings

* #365 - tox fix commit

* missed one line...

* #365 - tox fix commit

* Noticed the nature of the tox warnings of 'undefined name', fixed.

* # 365 - Task order fix commit

* Some tasks had some invalid predecessors defined, removed.
* when running a test manifest, it fails due to 'NO_PUBKEY
7F438280EF8D349F', trying a hacky way to address this

* #365 - Puppet module update - install with source-key combo

* It now properly installs puppet agent package with sources/keys
instead of package
* Tox is green

* Delete .project

* Delete .pydevproject

* #365 - Puppet module update 

General puppet module update.

* Fixed several issues discussed in the pull request.
* Tox is all green

* General puppet module update.

* This update allows for the installation of the puppetlabs.com agent VERSION 4 from the official apt.puppetlabs.com repo
* Allows for the installation of puppet modules. Useful for masterless setups.
* Puppet modules you declare in your bootstrap-vz manifest are installed with the --force flag.

Limitations and gotcha's:

* Only works for Debian Wheezy & Jessie.
* The Puppetlabs.com agents are only released for i386 and amd64 architectures.
* If you require the puppet 3.x agent, you should not use this module but add "puppet-agent" into the packages list
* You need to add your own puppet.conf file to fit your needs, this can be easily included in the assets directive.
* Assets path is absolute.

* General puppet module update.

* This update allows for the installation of the puppetlabs.com agent VERSION 4 from the official apt.puppetlabs.com repo
* Allows for the installation of puppet modules. Useful for masterless setups.
* Puppet modules you declare in your bootstrap-vz manifest are installed with the --force flag.

Limitations and gotcha's:

* Only works for Debian Wheezy & Jessie.
* The Puppetlabs.com agents are only released for i386 and amd64 architectures.
* If you require the puppet 3.x agent, you should not use this module but add "puppet-agent" into the packages list
* You need to add your own puppet.conf file to fit your needs, this can be easily included in the assets directive.
* Assets path is absolute.

* #365 - Changed the way trusted keys are fetched.

* @andsens is right, keyrings are better added by injecting them into
the image, removing the need to install package 'ca-certificates'

* * Added new feature: puppet module version can now be included in the
manifest.
* modified manifest-schema to reflect proper module installation
* Updated documentation.
* Example manifest added to demonstrate changes
* @andsens is right, keyrings are better added by injecting them into
the image, removing the need to install package 'ca-certificates'

* Fix several requests

* Example manifest moved to a more suitable location, documentation
changed as well.
* A bit more efficient programming.
* reverted file_copy to it's proper state
2017-06-25 00:29:00 +02:00
Brendan Harley
cc69173e52 Add qcow2 as a disk backend for KVM
This allows to build an image with qcow2 as a disk backend.

The update implements a new class that inherits from QEMUVolume and just
needs the extention and file format.
2017-06-16 15:54:51 +02:00
Anders Ingemann
3e5c94f0d4 Merge pull request #381 from Exy13/lvm
Add LVM as a disk backend
2017-06-08 21:55:34 +02:00
Brendan Harley
511a44f72e Add LVM as a disk backend
Enables the use of Logical Volumes as disk backends.

It uses an existing volume group and has no support for creating a new one.
It will not override an existing logical volume and fail gracefully.

The lv is created, activated and then mounted as a loop device.
The boostraping process is then launched on the loop device.
Once the process is completed, the lv is unmounted and desactivated.

The created lv will be deleted should the boostraping process fail.

The lv must be activated before use.

A manifest has been included for testing purposes.
2017-06-08 17:05:48 +02:00
Tomasz Melcer
9b15c52ed6 fix some typos in documentation 2017-04-23 16:59:37 +02:00
Zach Marano
4d979dfb6b Add the file package which many tests expect to exist- it seems to have
disappeared in some recent upstream dependency change.
2017-03-07 09:54:50 -08:00
Anders Ingemann
a4e4ad9954 Merge pull request #355 from n3ph/master
Add mountopts and enable definition of additional partitions
2017-02-13 23:16:08 +01:00
Michael Gerlach
029fc221a1 add additional partitions to docs 2017-01-31 21:54:10 +01:00
Zach Marano
74a58c6829 Create a plugin for expand_root to replace the internal common task.
Switch GCE to use this plugin.
2017-01-26 10:18:04 -08:00
Marcin Kulisz
d92123c9dd Small update to Stretch EC2 manifest 2017-01-21 21:14:12 +00:00
Zach Marano
84f258e748 Fixes to create stretch images. Add stretch manifest for GCE. 2017-01-10 13:30:31 -08:00
Michael Gerlach
3b0b8f2aeb switch to stretch release and add boot and swap parttition 2016-12-12 20:01:39 +01:00
Michael Gerlach
22d3d3e235 Add new example for kvm virtio stretch version with granular partitions 2016-12-10 16:45:40 +01:00
Michael Gerlach
b6bd3c7b12 Add description for mount_opts with examples 2016-12-10 16:42:52 +01:00
James Bromberger
0664bdd2ac
Get new SR IOV network driver. Update official manifest to generate tags on AMIs. 2016-12-01 15:03:22 +01:00
Marcin Kulisz
5267d95360 Added AMI tagging for AWS provider +
* minor syntax fixes
* added official Stretch manifest
2016-10-31 15:26:17 +00:00
Marcin Kulisz
d3b954cf82 Fixing andsens/bootstrap-vz#338 2016-09-23 09:30:41 +01:00
Zach Marano
1f747788c1 Fix missing source repo in GCE images. Add back baseline apt cache as
well. Add in additional GCE guest package into manifests (init files
were split into their own package to make the python package adhere to
pypi standards).
2016-07-21 14:14:42 -07:00
Anders Ingemann
70402229c5 docker: no need for date in reponame of example manifest
It's part of the docker image itself
2016-06-07 22:28:53 +02:00
Anders Ingemann
feea266210 docker: Add some more labeling to the example manifest
Also remove netbase as an explicit install.
It's only there because of the ping pkg
2016-06-07 22:02:39 +02:00
Anders Ingemann
07bc3ddd8d docker: Add packages that are available in the official image (to the manifest) 2016-06-05 18:52:37 +02:00
Anders Ingemann
49ddd3879f docker: Fix dockerfile creation 2016-06-05 17:19:27 +02:00
Anders Ingemann
4031fd6f84 ec2: Update official jessie 64-bit hvm manifest
Snatched from PR #256 by @JamesBromberger
2016-06-05 10:45:19 +02:00
Anders Ingemann
4cbeed5263 Add manifest, kernel and NIC config for stretch 2016-06-04 18:19:49 +02:00
Anders Ingemann
2d6a026160 Fix a slew of indentation & spacing issues 2016-06-04 11:38:16 +02:00
Zach Marano
40ec27ad16 Overhaul GCE image build. 2016-06-02 18:16:57 -07:00
Tiago Ilieve
bc1d5464f4 Add jessie-virtio.yml KVM example manifest 2016-05-09 22:07:32 -03:00
Tiago Ilieve
5d4036d938 Remove GCE's 'jessie-backports.yml'
This file was duplicated, as there was never a GCE Jessie image with
backports.

This closes #310.
2016-04-13 13:56:29 -03:00
The Fox in the Shell
4cc9ec0d1b Add the 'apt.conf.d' manifest subsection 2016-03-15 18:01:41 +01:00
The Fox in the Shell
5dba70cf36 manifests: Fix documentation
The documentation for packages.sources didn't mention
  that the key “main” is special.
2016-03-15 17:52:12 +01:00
Zach Marano
c34d7d11c8 Only include bare essential packages in the GCE provider task. Move
extras to the manifest files.
2016-02-29 10:38:34 -08:00
Tiago Ilieve
26d09d3776 Oracle Compute Cloud Service images are official
- Update main README
- Move manifest to the appropriate folder
2016-02-06 19:52:46 -02:00
Tiago Ilieve
992100d00a oracle: remove custom gzipped kernel
Since Xen HVM is supported on Oracle Cloud, the default kernels
compressed with XZ can be booted with no problem.
2016-02-06 19:13:55 -02:00
Tiago Ilieve
c22247be81 oracle: remove cloud-init customization
It is working now out-of-the-box with "Ec2" metadata source.
2016-02-06 19:13:55 -02:00
Tiago Ilieve
7786b9362d Add Oracle provider (Work-In-Progress) 2016-02-06 19:13:55 -02:00
Tiago Ilieve
72699d09c8 packages: fix sources section example
This closes #272.
2016-01-26 19:54:01 -02:00
Clark Laughlin
46594b1ef0 enable support for creating kvm images for jessie on arm64 2016-01-08 13:06:57 -06:00
Anders Ingemann
51144f7456 Rename minimized-jessie.yml to jessie-minimized.yml 2015-12-13 23:32:26 +01:00
Anders Ingemann
daedb0e177 Add jessie-vagrant manifest example 2015-12-13 23:30:10 +01:00
Anders Ingemann
6cca4ae2e1 Allow manifest vars in docker image name 2015-12-13 19:42:15 +01:00
Anders Ingemann
d0bb9f75d3 The image name is now the repo + tag. Also:Improve labeling 2015-12-13 19:42:15 +01:00
Anders Ingemann
5dada603eb Add dockerfile to image, support labels, add documentation 2015-12-13 19:41:18 +01:00
Anders Ingemann
cba496d761 Improve providers docs and add loads of manifest examples 2015-12-13 19:41:18 +01:00
Anders Ingemann
c880a6849a Remove image section in manifest
All provider specific settings have been moved to the
provider section. The image name itself is now located
at the top level and called "name". It is required for all providers.
2015-12-13 19:41:18 +01:00
Anders Ingemann
52c05e5df6 Move docs about image description to gce & ec2 providers 2015-12-13 19:41:18 +01:00
Anders Ingemann
ff3582216f Remove image.description from various manifests
Only ec2 and gce support image.description, adding it to
other providers is misleading.
2015-12-13 19:41:18 +01:00
Anders Ingemann
9d0356f4fa Disable locale generation when no locales selected 2015-12-13 19:41:17 +01:00
Anders Ingemann
b95e71c4c8 Move dpkg specific settings to dpkg subsection 2015-12-13 19:41:17 +01:00
Anders Ingemann
1df2588b23 Add option to exclude /usr/share/doc
The bootstrap exclude script has also been generalize in the process
2015-12-13 19:41:17 +01:00