From 167418991a4912ff6ac56e54f91c1370159f2725 Mon Sep 17 00:00:00 2001 From: Olivier Sallou Date: Tue, 25 Mar 2014 14:32:49 +0100 Subject: [PATCH] use opennebula package in Jessie or backports instead of local assets --- plugins/opennebula/README.md | 3 -- plugins/opennebula/__init__.py | 6 ++- .../opennebula/assets/one-context_3.8.1.deb | Bin 3790 -> 0 bytes plugins/opennebula/assets/one-ec2.sh | 14 ------ plugins/opennebula/assets/one-pubkey.sh | 17 ------- plugins/opennebula/tasks.py | 47 +++++++----------- 6 files changed, 22 insertions(+), 65 deletions(-) delete mode 100644 plugins/opennebula/assets/one-context_3.8.1.deb delete mode 100755 plugins/opennebula/assets/one-ec2.sh delete mode 100755 plugins/opennebula/assets/one-pubkey.sh diff --git a/plugins/opennebula/README.md b/plugins/opennebula/README.md index 1d96eaa..49ab0c9 100644 --- a/plugins/opennebula/README.md +++ b/plugins/opennebula/README.md @@ -11,6 +11,3 @@ It set ups the network and ssh keys. TO do so you should configure your virtual ETH0_NETWORK $NETWORK[NETWORK, NETWORK_ID=2] FILES path_to_my_ssh_public_key.pub -Provider will install all *.pub* files in the root authorized_keys file. - -In case of an EC2 start, if the USER_EC2_DATA element is a script it will be executed. diff --git a/plugins/opennebula/__init__.py b/plugins/opennebula/__init__.py index 3bb0a7f..4164c31 100644 --- a/plugins/opennebula/__init__.py +++ b/plugins/opennebula/__init__.py @@ -2,5 +2,7 @@ import tasks def resolve_tasks(taskset, manifest): - taskset.add(tasks.AddONEContextPackage) - taskset.add(tasks.OpenNebulaContext) + if manifest.system['release'] in ['wheezy', 'stable']: + taskset.add(tasks.AddBackports) + taskset.update([tasks.AddONEContextPackage]) + diff --git a/plugins/opennebula/assets/one-context_3.8.1.deb b/plugins/opennebula/assets/one-context_3.8.1.deb deleted file mode 100644 index 2e811888cea425ba65bfc79e38aaad169ce23bdb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3790 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 /root/.ssh/authorized_keys - -done diff --git a/plugins/opennebula/tasks.py b/plugins/opennebula/tasks.py index ecb5bb3..eb2ee60 100644 --- a/plugins/opennebula/tasks.py +++ b/plugins/opennebula/tasks.py @@ -1,42 +1,31 @@ from base import Task +from common.tasks import apt from common import phases import os -assets = os.path.normpath(os.path.join(os.path.dirname(__file__), 'assets')) - -class AddONEContextPackage(Task): - description = 'Adding the OpenNebula context package' +class AddBackports(Task): + description = 'Adding backports to the apt sources' phase = phases.preparation @classmethod def run(cls, info): - package = os.path.join(assets, 'one-context_3.8.1.deb') - info.packages.add_local(package) + if info.source_lists.target_exists('{system.release}-backports'): + import logging + msg = ('{system.release}-backports target already exists').format(**info.manifest_vars) + logging.getLogger(__name__).info(msg) + else: + info.source_lists.add('backports', 'deb {apt_mirror} {system.release}-backports main') + info.source_lists.add('backports', 'deb-src {apt_mirror} {system.release}-backports main') - -class OpenNebulaContext(Task): - description = 'Setup OpenNebula init context' - phase = phases.system_modification +class AddONEContextPackage(Task): + description = 'Adding the OpenNebula context package' + phase = phases.preparation + predecessors = [apt.AddDefaultSources, AddBackports] @classmethod def run(cls, info): - # Fix start - from common.tools import sed_i - vmcontext_def = os.path.join(info.root, 'etc/init.d/vmcontext') - sed_i(vmcontext_def, '# Default-Start:', '# Default-Start: 2 3 4 5') - - from common.tools import log_check_call - log_check_call(['/usr/sbin/chroot', info.root, 'update-rc.d', 'vmcontext', 'start', - '90', '2', '3', '4', '5', 'stop', '90', '0', '6']) - - from shutil import copy - # Load all pubkeys in root authorized_keys - script_src = os.path.join(assets, 'one-pubkey.sh') - script_dst = os.path.join(info.root, 'etc/one-context.d/one-pubkey.sh') - copy(script_src, script_dst) - - # If USER_EC2_DATA is a script, execute it - script_src = os.path.join(assets, 'one-ec2.sh') - script_dst = os.path.join(info.root, 'etc/one-context.d/one-ec2.sh') - copy(script_src, script_dst) + target = None + if info.manifest.system['release'] in ['wheezy', 'stable']: + target = '{system.release}-backports' + info.packages.add('opennebula-context', target)