mirror of
https://github.com/kevingruesser/bootstrap-vz.git
synced 2025-08-24 07:26:29 +00:00
Introduce run_settings in build_servers.yml
Will be used when starting instances during integration testing.
This commit is contained in:
parent
35121f9c7f
commit
bd7675bedf
4 changed files with 35 additions and 5 deletions
|
@ -165,7 +165,26 @@ at ``/root/guest_additions.iso`` on server 1, while server 2 has it at
|
||||||
* ``guest_additions`` specifies the path to the VirtualBox guest additions ISO
|
* ``guest_additions`` specifies the path to the VirtualBox guest additions ISO
|
||||||
on the remote machine.
|
on the remote machine.
|
||||||
* ``apt_proxy`` sets the configuration for the `apt_proxy plugin <../plugins/apt_proxy>`.
|
* ``apt_proxy`` sets the configuration for the `apt_proxy plugin <../plugins/apt_proxy>`.
|
||||||
* ``ec2-credentials`` contains all the settings you know from EC2 manifests,
|
* ``ec2-credentials`` contains all the settings you know from EC2 manifests.
|
||||||
note that when running `integration tests <../../tests/integration>`__,
|
|
||||||
these credentials are also used when running instances.
|
|
||||||
* ``s3-region`` overrides the s3 bucket region when bootstrapping S3 backed images.
|
* ``s3-region`` overrides the s3 bucket region when bootstrapping S3 backed images.
|
||||||
|
|
||||||
|
|
||||||
|
Run settings
|
||||||
|
~~~~~~~~~~~~~~
|
||||||
|
The run settings hold information about how to start a bootstrapped image.
|
||||||
|
This is useful only when running integration tests.
|
||||||
|
|
||||||
|
.. code:: yaml
|
||||||
|
|
||||||
|
local:
|
||||||
|
type: local
|
||||||
|
can_bootstrap:
|
||||||
|
- ec2-s3
|
||||||
|
release: jessie
|
||||||
|
run_settings:
|
||||||
|
ec2-credentials:
|
||||||
|
access-key: AFAKEACCESSKEYFORAWS
|
||||||
|
secret-key: thes3cr3tkeyf0ryourawsaccount/FS4d8Qdva
|
||||||
|
|
||||||
|
* ``ec2-credentials`` contains the access key and secret key used to boot
|
||||||
|
an EC2 AMI.
|
||||||
|
|
|
@ -50,6 +50,16 @@ definitions:
|
||||||
port: {type: integer}
|
port: {type: integer}
|
||||||
persistent: {type: boolean}
|
persistent: {type: boolean}
|
||||||
required: [address, port]
|
required: [address, port]
|
||||||
|
run_settings:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
ec2-credentials:
|
||||||
|
required: [access-key, secret-key]
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
access-key: {type: string}
|
||||||
|
secret-key: {type: string}
|
||||||
|
additional_properties: false
|
||||||
|
|
||||||
ssh:
|
ssh:
|
||||||
type: object
|
type: object
|
||||||
|
|
|
@ -6,6 +6,7 @@ class BuildServer(object):
|
||||||
self.name = name
|
self.name = name
|
||||||
self.settings = settings
|
self.settings = settings
|
||||||
self.build_settings = settings.get('build_settings', {})
|
self.build_settings = settings.get('build_settings', {})
|
||||||
|
self.run_settings = settings.get('run_settings', {})
|
||||||
self.can_bootstrap = settings['can_bootstrap']
|
self.can_bootstrap = settings['can_bootstrap']
|
||||||
self.release = settings.get('release', None)
|
self.release = settings.get('release', None)
|
||||||
|
|
||||||
|
|
|
@ -29,8 +29,8 @@ def prepare_bootstrap(manifest, build_server):
|
||||||
@contextmanager
|
@contextmanager
|
||||||
def boot_image(manifest, build_server, bootstrap_info, instance_type=None):
|
def boot_image(manifest, build_server, bootstrap_info, instance_type=None):
|
||||||
|
|
||||||
credentials = {'access-key': build_server.build_settings['ec2-credentials']['access-key'],
|
credentials = {'access-key': build_server.run_settings['ec2-credentials']['access-key'],
|
||||||
'secret-key': build_server.build_settings['ec2-credentials']['secret-key']}
|
'secret-key': build_server.run_settings['ec2-credentials']['secret-key']}
|
||||||
from boto.ec2 import connect_to_region as ec2_connect
|
from boto.ec2 import connect_to_region as ec2_connect
|
||||||
ec2_connection = ec2_connect(bootstrap_info._ec2['region'],
|
ec2_connection = ec2_connect(bootstrap_info._ec2['region'],
|
||||||
aws_access_key_id=credentials['access-key'],
|
aws_access_key_id=credentials['access-key'],
|
||||||
|
|
Loading…
Add table
Reference in a new issue