Add support for Debian 8 in GCE.

Add support for GPT disks.
Change the default block scheduler to noop for improved performance.
This commit is contained in:
Zach Marano 2015-05-18 10:51:26 -07:00
parent f3be3e4543
commit d3a1d22290
7 changed files with 72 additions and 3 deletions

View file

@ -26,4 +26,5 @@ properties:
type:
enum:
- msdos
- gpt
required: [partitions]

View file

@ -13,5 +13,5 @@ class ConfigureGrub(Task):
def run(cls, info):
from bootstrapvz.common.tools import sed_i
grub_config = os.path.join(info.root, 'etc/default/grub')
sed_i(grub_config, r'^(GRUB_CMDLINE_LINUX*=".*)"\s*$', r'\1console=ttyS0,38400n8"')
sed_i(grub_config, r'^(GRUB_CMDLINE_LINUX*=".*)"\s*$', r'\1console=ttyS0,38400n8 elevator=noop"')
sed_i(grub_config, r'^.*(GRUB_TIMEOUT=).*$', r'GRUB_TIMEOUT=0')

View file

@ -1,6 +1,7 @@
from bootstrapvz.base import Task
from bootstrapvz.common import phases
from bootstrapvz.common.tasks import apt
from bootstrapvz.common.tools import config_get
import logging
import os
@ -22,7 +23,6 @@ class DefaultPackages(Task):
info.packages.add('ca-certificates')
kernel_packages_path = os.path.join(os.path.dirname(__file__), 'packages-kernels.yml')
from bootstrapvz.common.tools import config_get
kernel_package = config_get(kernel_packages_path, [info.manifest.release.codename,
info.manifest.system['architecture']])
info.packages.add(kernel_package)
@ -36,7 +36,9 @@ class ReleasePackages(Task):
@classmethod
def run(cls, info):
# Add release-specific packages, if available.
if info.source_lists.target_exists('wheezy-backports'):
if (info.source_lists.target_exists('wheezy-backports') or
info.source_lists.target_exists('jessie') or
info.source_lists.target_exists('jessie-backports')):
info.packages.add('cloud-initramfs-growroot')
else:
msg = ('No release-specific packages found for {system.release}').format(**info.manifest_vars)

View file

@ -0,0 +1,33 @@
---
provider:
name: gce
bootstrapper:
workspace: /target
image:
name: disk
description: Debian {system.release} {system.architecture}
system:
release: jessie
architecture: amd64
bootloader: grub
charmap: UTF-8
locale: en_US
timezone: UTC
volume:
backing: raw
partitions:
type: msdos
root:
filesystem: ext4
size: 10GiB
packages:
mirror: http://gce_debian_mirror.storage.googleapis.com/
components:
- main
- contrib
- non-free
plugins:
google_cloud_sdk: {}
ntp:
servers:
- metadata.google.internal

View file

@ -0,0 +1,33 @@
---
provider:
name: gce
bootstrapper:
workspace: /target
image:
name: disk
description: Debian {system.release} {system.architecture}
system:
release: jessie
architecture: amd64
bootloader: grub
charmap: UTF-8
locale: en_US
timezone: UTC
volume:
backing: raw
partitions:
type: msdos
root:
filesystem: ext4
size: 10GiB
packages:
mirror: http://gce_debian_mirror.storage.googleapis.com/
components:
- main
- contrib
- non-free
plugins:
google_cloud_sdk: {}
ntp:
servers:
- metadata.google.internal