cloud-init - a webinar on contextualization · egi-inspire cloud-init enolfernández...

36
EGI-InSPIRE cloud-init Enol Fernández 2014-12-15, EGI Webinar 1 EGI-InSPIRE RI-261323 www.egi.eu

Upload: others

Post on 19-Oct-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: cloud-init - A webinar on contextualization · EGI-InSPIRE cloud-init EnolFernández 2014-12-15,EGIWebinar 1 EGI-InSPIRERI-261323

EGI-InSPIRE

cloud-init

Enol Fernández

2014-12-15, EGI Webinar 1EGI-InSPIRE RI-261323 www.egi.eu

Page 2: cloud-init - A webinar on contextualization · EGI-InSPIRE cloud-init EnolFernández 2014-12-15,EGIWebinar 1 EGI-InSPIRERI-261323

Agenda

∙ Brief introduction to FedCloud∙ Contextualization?∙ Cloud-init

∙ Basic usage∙ Cloud-config∙ More use cases

∙ Preparing your own images∙ Windows contextualization∙ Q & A

2014-12-15, EGI Webinar 2EGI-InSPIRE RI-261323 www.egi.eu

Page 3: cloud-init - A webinar on contextualization · EGI-InSPIRE cloud-init EnolFernández 2014-12-15,EGIWebinar 1 EGI-InSPIRERI-261323

EGI FedCloudWhat is the EGI Federated Cloud

The EGI Federated Cloud is a federation of institutional privateClouds, offering Cloud Infrastructure as a Service to scientists inEurope and worldwide.

EGI Federated Cloud is based on:∙ Standards and validation: federation is

based on common Open-Standards –OCCI, CDMI, OVF, GLUE, etc...

∙ Heterogeneous implementation: nomandate on the cloud technology, theonly condition is to expose the choseninterfaces and services.

2014-12-15, EGI Webinar 3EGI-InSPIRE RI-261323 www.egi.eu

Page 4: cloud-init - A webinar on contextualization · EGI-InSPIRE cloud-init EnolFernández 2014-12-15,EGIWebinar 1 EGI-InSPIRERI-261323

EGI FedCloudCloud Infrastructure Platform

2014-12-15, EGI Webinar 4EGI-InSPIRE RI-261323 www.egi.eu

Page 5: cloud-init - A webinar on contextualization · EGI-InSPIRE cloud-init EnolFernández 2014-12-15,EGIWebinar 1 EGI-InSPIRERI-261323

EGI FedCloudUser workflows

2014-12-15, EGI Webinar 5EGI-InSPIRE RI-261323 www.egi.eu

Page 6: cloud-init - A webinar on contextualization · EGI-InSPIRE cloud-init EnolFernández 2014-12-15,EGIWebinar 1 EGI-InSPIRERI-261323

ContextualizationWhat – Why?

What?Contextualization is the process of installing, configuring andpreparing software upon boot time on a pre-defined virtualmachine image (e.g. hostname, IP address, ssh keys, . . . )

Why?

∙ Configuration not known until instantiation (e.g. datalocation).

∙ Private Information (e.g. host certs)∙ Software that changes frequently or under development.∙ Not practical to create a new VM image for every possible

configuration.

2014-12-15, EGI Webinar 6EGI-InSPIRE RI-261323 www.egi.eu

Page 7: cloud-init - A webinar on contextualization · EGI-InSPIRE cloud-init EnolFernández 2014-12-15,EGIWebinar 1 EGI-InSPIRERI-261323

ContextualizationHow?

How?∙ Contextualization requires passing some data to the VMs on

instantiation∙ Standard OCCI API lacks such feature∙ New mixins proposed and implemented in rOCCI-server,

OCCI-OS and Synnefo (i.e. all current RPs of EGI’sFedcloud!)

2014-12-15, EGI Webinar 7EGI-InSPIRE RI-261323 www.egi.eu

Page 8: cloud-init - A webinar on contextualization · EGI-InSPIRE cloud-init EnolFernández 2014-12-15,EGIWebinar 1 EGI-InSPIRERI-261323

ContextualizationOCCI extensions

User data:Category: user_data;

scheme="http://schemas.openstack.org/compute/instance#";class="mixin”

X-OCCI-Attribute: org.openstack.compute.user_data="<base64 encoded data>"

Public SSH keys:Category: public_key;

scheme="http://schemas.openstack.org/instance/credentials#";class="mixin"

X-OCCI-Attribute: org.openstack.credentials.publickey.name="<key name>"X-OCCI-Attribute: org.openstack.credentials.publickey.data="<the public key>"

2014-12-15, EGI Webinar 8EGI-InSPIRE RI-261323 www.egi.eu

Page 9: cloud-init - A webinar on contextualization · EGI-InSPIRE cloud-init EnolFernández 2014-12-15,EGIWebinar 1 EGI-InSPIRERI-261323

ContextualizationrOCCIclient

Use -T option with rOCCI-cli:~$ occi -e $ENDPOINT \

-n x509 -X -x $X509_USER_PROXY \-a create -r compute \-M $OS_TPL -M $RESOURCE_TPL \-t occi.core.title="MyTutorialContextVM_$(date +%s)" \-T public_key="<public key>" \-T user_data="<user data>"

2014-12-15, EGI Webinar 9EGI-InSPIRE RI-261323 www.egi.eu

Page 10: cloud-init - A webinar on contextualization · EGI-InSPIRE cloud-init EnolFernández 2014-12-15,EGIWebinar 1 EGI-InSPIRERI-261323

ContextualizationUsing the context data

∙ OCCI extensions specifies how to pass data to the VM∙ BUT not how the data will be available!∙ Each RP has different mechanisms to provide the data:

∙ metadata server at a fixed location∙ iso filesystem∙ file injection∙ . . .

∙ Need a way to abstract this mess!

2014-12-15, EGI Webinar 10EGI-InSPIRE RI-261323 www.egi.eu

Page 11: cloud-init - A webinar on contextualization · EGI-InSPIRE cloud-init EnolFernández 2014-12-15,EGIWebinar 1 EGI-InSPIRERI-261323

cloud-initWhat is cloud-init?

∙ Cloud-init abstracts these mechanisms and defines a formatfor the data

∙ It can:∙ configure network, users, ssh keys, filesystems, . . .∙ install packages,∙ execute arbitrary commands,∙ execute user provied scripts,∙ configure VM with puppet or chef,∙ . . .

∙ It also provides mechanisms for extension.

2014-12-15, EGI Webinar 11EGI-InSPIRE RI-261323 www.egi.eu

Page 12: cloud-init - A webinar on contextualization · EGI-InSPIRE cloud-init EnolFernández 2014-12-15,EGIWebinar 1 EGI-InSPIRERI-261323

cloud-initSupported platforms

∙ Supports:∙ EC2 metadata server (used by OpenStack)∙ NoCloud data format as used by Synnefo.∙ OpenNebula context.sh format included in v0.7.3

∙ Since v0.7.5 also supports base64 encoded data as provided inFedCloud.

∙ Packages available for most Linux distributions:ubuntu/debian, SL5/SL6 (in EPEL), SUSE, . . .

2014-12-15, EGI Webinar 12EGI-InSPIRE RI-261323 www.egi.eu

Page 13: cloud-init - A webinar on contextualization · EGI-InSPIRE cloud-init EnolFernández 2014-12-15,EGIWebinar 1 EGI-InSPIRERI-261323

Data available at the VMuser data vs meta data

meta data∙ Basic information on the

VM∙ VM Identifier∙ Hostname, IP∙ User Public Keys

user dataUser data is treated as opaquedata: what you give is what youget back. It is up to the instance(cloud-init) to be able tointerpret it.

~$ occi -e $ENDPOINT \-n x509 -X -x $X509_USER_PROXY \-a create -r compute \-M $OS_TPL -M $RESOURCE_TPL \-t occi.core.title="MyTutorialContextVM_$(date +%s)" \-T public_key="<public key>" \-T user_data="<user data>"

2014-12-15, EGI Webinar 13EGI-InSPIRE RI-261323 www.egi.eu

Page 14: cloud-init - A webinar on contextualization · EGI-InSPIRE cloud-init EnolFernández 2014-12-15,EGIWebinar 1 EGI-InSPIRERI-261323

cloud-initHandling the meta-data

Create key (if you don’t have one):~$ ssh-keygen -f test.key

Launch VM with rOCCI-cli:~$ occi -e $ENDPOINT \

-n x509 -X -x $X509_USER_PROXY \-a create -r compute \-M $OS_TPL -M $RESOURCE_TPL \-t occi.core.title="MyTutorialContextVM_$(date +%s)" \-T public_key="file://$PWD/test.key.pub"

Check results:~$ ssh -i test.key [email protected]@ip-193-144-35-84:~$

2014-12-15, EGI Webinar 14EGI-InSPIRE RI-261323 www.egi.eu

Page 15: cloud-init - A webinar on contextualization · EGI-InSPIRE cloud-init EnolFernández 2014-12-15,EGIWebinar 1 EGI-InSPIRERI-261323

cloud-inituser-data

cloud-init inspects the user-dataSome of the supported formats:

∙ user script: execute it. (begins with #!)∙ Cloud Config Data: cloud-config is the simplest way to

accomplish some things via user-data. Using cloud-configsyntax, the user can specify certain things in a human friendlyformat. (begins with #cloud-config)

∙ include file: contains a list of urls, one per line. Each of theURLs will be read, and their content will be passed throughthis same set of rules. (begins with #include)

∙ gzipped content → uncompress and use as it were notcompressed.

2014-12-15, EGI Webinar 15EGI-InSPIRE RI-261323 www.egi.eu

Page 16: cloud-init - A webinar on contextualization · EGI-InSPIRE cloud-init EnolFernández 2014-12-15,EGIWebinar 1 EGI-InSPIRERI-261323

cloud-initexecute script

Create simple script:#!/bin/shecho "Hello World." > /root/context.txtecho "The time is now $(date -R)!" >> /root/context.txt

Launch VM with rOCCI-cli:~$ occi -e $ENDPOINT -n x509 -X -x $X509_USER_PROXY \

-a create -r compute \[...]-T public_key="file://$PWD/test.key.pub" \-T user_data="file://$PWD/script.sh"

Check results:~$ ssh -i test.key [email protected] "sudo cat /root/context.txt"Hello WorldThe time is now Sat, 13 Dec 2014 16:01:29 +0100

2014-12-15, EGI Webinar 16EGI-InSPIRE RI-261323 www.egi.eu

Page 17: cloud-init - A webinar on contextualization · EGI-InSPIRE cloud-init EnolFernández 2014-12-15,EGIWebinar 1 EGI-InSPIRERI-261323

cloud-configWhat is cloud-config?

∙ Cloud-config is cloud-init own configuration format.∙ It uses a YAML (invalid syntax will make the

contextualization fail!)∙ Examples:

∙ apt upgrade should be run on first boot∙ a different apt mirror should be used∙ additional apt sources should be added∙ certain ssh keys should be imported∙ and many more...

2014-12-15, EGI Webinar 17EGI-InSPIRE RI-261323 www.egi.eu

Page 18: cloud-init - A webinar on contextualization · EGI-InSPIRE cloud-init EnolFernández 2014-12-15,EGIWebinar 1 EGI-InSPIRERI-261323

Groups and Users

# Add groups to the system# The following example adds the ubuntu group with members foo and bar and# the group cloud-users.groups:

- ubuntu: [foo,bar]- cloud-users

# Add users to the system. Users are added after groups are added.users:

- default- name: enol

sudo: ALL=(ALL) NOPASSWD:ALLlock-passwd: truessh-import-id: enolshell: /bin/bashgroups: cloud-usersssh-authorized-keys:

- ssh-rsa [...here goes the complete key...]

2014-12-15, EGI Webinar 18EGI-InSPIRE RI-261323 www.egi.eu

Page 19: cloud-init - A webinar on contextualization · EGI-InSPIRE cloud-init EnolFernández 2014-12-15,EGIWebinar 1 EGI-InSPIRERI-261323

Package ManagementUpgrade, install, repos

# run yum updatepackage_upgrade: true

# Install extra packagespackages:

- pwgen- pastebinit- [libpython2.7, 2.7.3-0ubuntu3.1]

# Add you repositoriesyum_repos:

EGI-trusanchors:name: EGI-trustanchorsbaseurl: http://repository.egi.eu/sw/production/cas/1/current/enabled: truegpgcheck: truegpgkey: http://repository.egi.eu/sw/production/cas/1/GPG-KEY-EUGridPMA-RPM-3

2014-12-15, EGI Webinar 19EGI-InSPIRE RI-261323 www.egi.eu

Page 20: cloud-init - A webinar on contextualization · EGI-InSPIRE cloud-init EnolFernández 2014-12-15,EGIWebinar 1 EGI-InSPIRERI-261323

Package Managementapt sources

# configure apt sourcesapt_sources:

- source: "deb http://repository.egi.eu/sw/production/cas/1/current egi-igtf core"key: |

-----BEGIN PGP PUBLIC KEY BLOCK-----Version: GnuPG v1.2.1 (GNU/Linux)

mQGiBELTiyYRBAD8goP2vWdf46e/stZvzgkBgJIFTMkHqZOpLqlCKTRGf4VHUAShhdaktDtPx44fVO4E3zmugc7FP6xz/Hj3SqrUKt98vzF1EMb3i4UMCOBif+jM6VFSN5N3gDEukNpP2h46LkNPbRPgAEeUmUZy4kTyB9xC/VA7d1sFx6sJZpCHiwCg7DNXbj4Wuk5b+FyyCOg9++xabokEAJwt4+iyDX3uYZrkzh9hOXgrbBiyGrorAz3jOpqM4L9+OKs5q9UsBwVXs5Zjei/irgxNjHNZCPo/V4f7o2CHxa88rn4GvstftSK6Oeey8PaV3vdb5C5SRSbRgvxoUOo6eGVBpv8bVpKm//tNkTboHVsEAKQ1rYzx/m89aCZjVCw5A/0c3E0rH4ZCeNg7yvta9ur3U7n/aFhzbU3wFLhcIndrPaufz5Sy/SYhOaS9RgH36GbsmOq6JskdtSpBLq0768BUmrjcosgWl3REpMAZc4vvtb55WRYsrNSrqmXZ/jHLjQkFHFdObIEcvxl+yIIwUxybMkvdxPZxnpGjF2gg6AoP7rQ5RVVHcmlkUE1BIERpc3RyaWJ1dGlvbiBTaWduaW5nIEtleSAzIDxpbmZvQGV1Z3JpZHBtYS5vcmc+iFkEExECABkFAkLTiyYECwcDAgMVAgMDFgIBAh4BAheAAAoJEMMtmcg827xx5PQAoON2EH0dqfwNjGr1GlGyt1o5bWkzAJ0Y4QOPWaCIJFABoluX5nifjKWV9w===qXx1-----END PGP PUBLIC KEY BLOCK-----

2014-12-15, EGI Webinar 20EGI-InSPIRE RI-261323 www.egi.eu

Page 21: cloud-init - A webinar on contextualization · EGI-InSPIRE cloud-init EnolFernández 2014-12-15,EGIWebinar 1 EGI-InSPIRERI-261323

Write Files

write_files:- encoding: b64

content: CiMgVGhpcyBmaWxlIGNvbnRyb2xzIHRoZSBzdGF0ZSBvZiBTRUxpbnV4...owner: root:rootpath: /etc/sysconfig/selinuxpermissions: ’0644’

- content: |# My new /etc/sysconfig/samba file

SMBDOPTIONS="-D"path: /etc/sysconfig/samba

- content: !!binary |f0VMRgIBAQAAAAAAAAAAAAIAPgABAAAAwARAAAAAAABAAAAAAAAAAJAVAAAAAAAAAAAAAEAAOAAIAEAAHgAdAAYAAAAFAAAAQAAAAAAAAABAAEAAAAAAAEAAQAAAAAAAwAEAAAAAAADAAQAAAAAAAAgAAAAAAAAAAwAAAAQAAAAAAgAAAAAAAAACQAAAAAAAAAJAAAAAAAAcAAAAAAAAABwAAAAAAAAAAQAA....

path: /bin/archpermissions: ’0555’

- encoding: gzipcontent: !!binary |

H4sIAIDb/U8C/1NW1E/KzNMvzuBKTc7IV8hIzcnJVyjPL8pJ4QIA6N+MVxsAAAA=path: /usr/bin/hellopermissions: ’0755’

2014-12-15, EGI Webinar 21EGI-InSPIRE RI-261323 www.egi.eu

Page 22: cloud-init - A webinar on contextualization · EGI-InSPIRE cloud-init EnolFernández 2014-12-15,EGIWebinar 1 EGI-InSPIRERI-261323

Run Commands

# run commands# runcmd contains a list of either lists or a string# each item will be executed in order at rc.local like level with# output to the consoleruncmd:- [ ls, -l, / ]- [ sh, -xc, "echo $(date) ’: hello world!’" ]- [ sh, -c, echo "=========hello world’=========" ]- ls -l /root- [ wget, "http://slashdot.org", -O, /tmp/index.html ]

# boot commands# this is very similar to runcmd, but commands run very early# in the boot processbootcmd:- echo 192.168.1.130 us.archive.ubuntu.com > /etc/hosts- [ cloud-init-per, once, mymkfs, mkfs, /dev/vdb ]

2014-12-15, EGI Webinar 22EGI-InSPIRE RI-261323 www.egi.eu

Page 23: cloud-init - A webinar on contextualization · EGI-InSPIRE cloud-init EnolFernández 2014-12-15,EGIWebinar 1 EGI-InSPIRERI-261323

Create a FedCloud client VM

∙ Create user enol with my ssh-key∙ Add EGI trust anchors and rOCCI yum repos∙ Update packages∙ Install ca-policy-egi-core, occi-cli & voms-clients∙ Write fedcloud.egi.eu VO configuration:

∙ .lsc files at /etc/grid-security/vomsdir/fedcloud.egi.eu∙ vo config files at /etc/vomses/

∙ Put my grid certificate at /home/enol/.globus∙ chmod -R /home/enol∙ Make sure cloud-init runs all the needed modules

2014-12-15, EGI Webinar 23EGI-InSPIRE RI-261323 www.egi.eu

Page 24: cloud-init - A webinar on contextualization · EGI-InSPIRE cloud-init EnolFernández 2014-12-15,EGIWebinar 1 EGI-InSPIRERI-261323

Create a FedCloud client VMdemo

_ _____ ______ __ __ ____ _/\| |/\| __ \| ____| \/ |/ __ \ /\| |/\\ ‘ ’ /| | | | |__ | \ / | | | |\ ‘ ’ /

|_ _| | | | __| | |\/| | | | |_ _|/ , . \| |__| | |____| | | | |__| |/ , . \\/|_|\/|_____/|______|_| |_|\____/ \/|_|\/

2014-12-15, EGI Webinar 24EGI-InSPIRE RI-261323 www.egi.eu

Page 25: cloud-init - A webinar on contextualization · EGI-InSPIRE cloud-init EnolFernández 2014-12-15,EGIWebinar 1 EGI-InSPIRERI-261323

More complex cloud-initMixing user data types

If user data is a MIME multi part archive:

∙ cloud-init will consider each of the parts∙ For example, both a script and a cloud-config type could be

specified.∙ Supported content-types:

∙ text/x-include-once-url∙ text/x-include-url∙ text/cloud-config-archive∙ text/upstart-job∙ text/cloud-config∙ text/part-handler∙ text/x-shellscript∙ text/cloud-boothook

2014-12-15, EGI Webinar 25EGI-InSPIRE RI-261323 www.egi.eu

Page 26: cloud-init - A webinar on contextualization · EGI-InSPIRE cloud-init EnolFernández 2014-12-15,EGIWebinar 1 EGI-InSPIRERI-261323

Mixing content typescloud-config + script

Content-Type: multipart/mixed; boundary="===============4393449873403893838=="MIME-Version: 1.0

--===============4393449873403893838==Content-Type: text/cloud-config; charset="us-ascii"MIME-Version: 1.0Content-Transfer-Encoding: 7bitContent-Disposition: attachment; filename="userdata.txt"

#cloud-configusers:

- name: cloudysudo: ALL=(ALL) NOPASSWD:ALLlock-passwd: truessh-import-id: cloudyssh-authorized-keys:

- <your SSH public key>

--===============4393449873403893838==Content-Type: text/x-shellscript; charset="us-ascii"MIME-Version: 1.0Content-Transfer-Encoding: 7bitContent-Disposition: attachment; filename="script.sh"

#!/bin/bash

echo "Hello" > /root/context.txt

2014-12-15, EGI Webinar 26EGI-InSPIRE RI-261323 www.egi.eu

Page 27: cloud-init - A webinar on contextualization · EGI-InSPIRE cloud-init EnolFernández 2014-12-15,EGIWebinar 1 EGI-InSPIRERI-261323

Part HandlersExtending cloud-init

∙ Some python code that is executed for a given mime-type∙ Two functions:

∙ list_types returns the mime-types accepted∙ handle_type receives any user-data metching the accepted

types.

2014-12-15, EGI Webinar 27EGI-InSPIRE RI-261323 www.egi.eu

Page 28: cloud-init - A webinar on contextualization · EGI-InSPIRE cloud-init EnolFernández 2014-12-15,EGIWebinar 1 EGI-InSPIRERI-261323

Part Handlerdemo

_ _____ ______ __ __ ____ _/\| |/\| __ \| ____| \/ |/ __ \ /\| |/\\ ‘ ’ /| | | | |__ | \ / | | | |\ ‘ ’ /

|_ _| | | | __| | |\/| | | | |_ _|/ , . \| |__| | |____| | | | |__| |/ , . \\/|_|\/|_____/|______|_| |_|\____/ \/|_|\/

2014-12-15, EGI Webinar 28EGI-InSPIRE RI-261323 www.egi.eu

Page 29: cloud-init - A webinar on contextualization · EGI-InSPIRE cloud-init EnolFernández 2014-12-15,EGIWebinar 1 EGI-InSPIRERI-261323

Some remarksFYI

Keep in mind:∙ You have root access to your virtual machines∙ Your virtual machines are often visible from the Internet∙ It is up to you to keep your virtual machines updated and

secure∙ DO NOT USE password-based authentication for remote

access∙ You should terminate your virtual machine as soon as it is not

needed anymore∙ cloud-init is NOT configuration management!

2014-12-15, EGI Webinar 29EGI-InSPIRE RI-261323 www.egi.eu

Page 30: cloud-init - A webinar on contextualization · EGI-InSPIRE cloud-init EnolFernández 2014-12-15,EGIWebinar 1 EGI-InSPIRERI-261323

Prepare your own imagesInstall image

Create your image∙ Install your OS:

∙ try to keep image size small, no need to store 0s∙ any partition schema should work, I personally use a single /

partition, no swap, nor /boot.∙ Install cloud-init (v0.7.5 fully supports all FedCloud RP)∙ Check cloud-init config (at /etc/cloud/)

2014-12-15, EGI Webinar 30EGI-InSPIRE RI-261323 www.egi.eu

Page 31: cloud-init - A webinar on contextualization · EGI-InSPIRE cloud-init EnolFernández 2014-12-15,EGIWebinar 1 EGI-InSPIRERI-261323

Prepare your own imagesConvert to OVA

Clean up

∙ Disable root password: passwd -d root∙ Clean-up hardware details (e.g. network devices):

∙ Manually: remove/etc/udev/rules.d/70-persistent-net.rules

∙ With virt-sysprep

Convert to OVA∙ FedCloud promotes the use of OVA packages.∙ VirtualBox does support exporting to OVA directly.∙ See https://github.com/enolfc/img-tools/ if you are

using KVM/Xen.

2014-12-15, EGI Webinar 31EGI-InSPIRE RI-261323 www.egi.eu

Page 32: cloud-init - A webinar on contextualization · EGI-InSPIRE cloud-init EnolFernández 2014-12-15,EGIWebinar 1 EGI-InSPIRERI-261323

Prepare your own imagesUpload to AppDB

Upload to AppDB

∙ A cloud-init script (user-data) can be attached to a VM inAppDB.

2014-12-15, EGI Webinar 32EGI-InSPIRE RI-261323 www.egi.eu

Page 33: cloud-init - A webinar on contextualization · EGI-InSPIRE cloud-init EnolFernández 2014-12-15,EGIWebinar 1 EGI-InSPIRERI-261323

Windows

Windows can also be contextualizated!∙ cloud-init is linux-only, but∙ cloudbase-init can help!∙ Features:

∙ setting hostname∙ user creation∙ group membership∙ static networking∙ SSH user’s public keys∙ user_data custom scripts running in various shells (CMD.exe /

Powershell / bash)

2014-12-15, EGI Webinar 33EGI-InSPIRE RI-261323 www.egi.eu

Page 34: cloud-init - A webinar on contextualization · EGI-InSPIRE cloud-init EnolFernández 2014-12-15,EGIWebinar 1 EGI-InSPIRERI-261323

Windowsusing cloudbase-init

Installation∙ Installer available at https:

//github.com/stackforge/cloudbase-init#binaries

∙ Installer can also execute sysprep if needed.

Contextualization∙ user-data can only be a script∙ but cloudbase-init will use all the meta-data

2014-12-15, EGI Webinar 34EGI-InSPIRE RI-261323 www.egi.eu

Page 35: cloud-init - A webinar on contextualization · EGI-InSPIRE cloud-init EnolFernández 2014-12-15,EGIWebinar 1 EGI-InSPIRERI-261323

Useful pointersFedCloud & Contextualization

FedCloud∙ Wiki site – http://go.egi.eu/fedcloud

∙ User support – https://wiki.egi.eu/wiki/Federated_Cloud_user_support

∙ User support e-mail – [email protected]

∙ Cloud Marketplace – https://appdb.egi.eu/browse/cloud

Contextualization∙ contextualization @ FedCloud –

https://wiki.egi.eu/wiki/Fedcloud-tf:WorkGroups:Contextualisation

∙ cloud-init – http://cloudinit.readthedocs.org/

∙ cloudbase-init – https://github.com/stackforge/cloudbase-init

2014-12-15, EGI Webinar 35EGI-InSPIRE RI-261323 www.egi.eu

Page 36: cloud-init - A webinar on contextualization · EGI-InSPIRE cloud-init EnolFernández 2014-12-15,EGIWebinar 1 EGI-InSPIRERI-261323

Q & A

?

2014-12-15, EGI Webinar 36EGI-InSPIRE RI-261323 www.egi.eu