SlideShare a Scribd company logo
Deploy Mediawiki using Fiware Lab facilities
José Ignacio Carretero Guarde
R&D Engineer at Telefonica I+D. In charge of Spain FIWARE Lab Node
joseignacio.carreteroguarde@telefonica.com
@jicarreterogu
Mediawiki and FIWARE Lab APIs (Openstack)
2
3
What Mediawiki has to do with FIWARE Lab (I)
Nothing?
4
...But it could be good vehicle to show some things about FIWARE
Lab IaaS reference Implementation GE.
What Mediawiki has to do with FIWARE Lab (II)
5
●
Why Wikimedia? – If it has nothing to do with FIWARE.
●
It has a backend Database (Mysql)
●
It has a Frontend Web Server (Apache)
●
I Allows me to show some tools: IaaS GE.
●
I Know how it Works, So I can automate it.
●
Images and files are stored in Apache (…/wiki/images)
●
Data in the database is stored in /var/lib/mysql
Installing an Applicacion: Mediawiki
6
●
https://catalogue.fiware.org/enablers/iaas-ge-fiware-reference-implement
●
“We are using OpenStack Vanilla release for the IaaS GE.”
●
Openstack APIs work:
●
Compute APIs
●
Block Storage APIs
●
Image Service
●
Object Storage
●
There are CLIs writen in Python...
IaaS GE – FIWARE Reference Implementation
7
# Assuming Python 2.7, pip and virtualenv installed
virtualenv osdemo
source osdemo/bin/activate
pip install python-openstackclient
pip install python-swiftclient
How to locally install the CLIs
A First Approach to the Installation Process
8
9
Installing an Applicacion: Mediawiki (I)
10
●
Virtual Machines – Instances
●
Instances are managed by Nova.
●
We need a few things before deploying an instance
●
A Keypair
●
In order to be Able to SSH our instances
●
Security Groups/Rules
●
Because OpenStack acts like a closed Firewall for every
instance.
Create a first VM
11
# Creating the keypair
nova keypair-add summitkp | tee summitkp && chmod 400 summitkp
# Creating the security group and rules
nova secgroup-create openthings opens_some_ports
nova secgroup-add-rule openthings tcp 22 22 0/0
nova secgroup-add-rule openthings tcp 80 80 0/0
nova secgroup-add-rule openthings icmp -1 -1 0/0
# Creating the security group and rules (What I did!):
nova secgroup-create allopen open_everything
nova secgroup-add-rule allopen tcp 1 65535 0/0
nova secgroup-add-rule allopen ucp 1 65535 0/0
nova secgroup-add-rule allopen icmp -1 -1 0/0
Nova: Key Pairs and Security Groups
12
●
Boot our first instance with some parameters
●
(At least) One network ID to allow networking
●
Flavor – The size of the Instance
●
Our Security Group – our firewall configuration.
●
A Keypair – To SSH our instance
●
The base image – I’ll use an Ubuntu in the demos.
●
Assign a floating IP to some of our instances
●
A Floating IP is needed to SSH our instances. We might not be
able to SSH private IPs
●
1 Floating IP is allowed per User.
Create a first VM (ii)
13
# Find the network ID
NETUUID=$(openstack network list | awk '/ node-int-net-01 / {print $2}')
# Boot Virtual Machine
nova boot --nic net-id=$NETUUID --image base_ubuntu_14.04 
--key-name summitkp 
--security-groups allopen 
--flavor m1.small mydatabase
# Creating a floating IP:
PUBLIC_EXT_NET=public-ext-net-01
openstack floating ip create $PUBLIC_EXT_NET
# Associate the IP to our instance:
nova list floating ip create $PUBLIC_EXT_NET
openstack floating list
nova floating-ip-associate mydatabase 130.206.112.0
Nova: Boot and add a floating IP
14
# Get console URL
nova get-vnc-console mydatabase novnc
# Creating the security group and rules
nova console-log mydatabase
Nova: Consoles
15
●
Compute is thought to Compute
●
When Instances die, Ephemeral disks die
●
Persistent Disk – Block Storage
●
Cinder manages Persistent Disks
●
The disks, once created can be attached to instances
●
Instances must format (once) and mount the disks before use
●
Persistent disk will survive Instances.
●
A way to Keep data apart from computation.
Cinder: Ephemeral Vs Persistent disks
16
# Create a Persistent disk
openstack volume create --size 1 myvolume
openstack volume list
VOLUMEID=$(openstack volume list | awk '/ myvolume / {print $2}')
# Attaching the volume to the instance
nova volume-attach mydatabase $VOLUMEID
# Or attaching at boot time…
nova boot --nic net-id=$NETUUID --image base_ubuntu_14.04 
--key-name summitkp 
--security-groups allopen 
--block-device-mapping vdb=$VOLUMEID
--flavor m1.small mydatabase
Cinder: Persistent Disk Creation
Automate!!!
17
18
●
Increase Productivity
●
Automated processes reduce defects
●
Reduce Human Errors
●
Processes are run effortlessly
●
Processes are more flexible => Changes are easier
●
Increase satisfaction
●
… You can write many other things here
●
… And here.
Automate: Why?
19
Automate: Using GUI (Cloud Portal)
(maybe... )
Too many clicks
(maybe)...
Too error prone
(almost)...
Impossible automation
Easy to use
20
●
Tools to automate
●
Puppet/Chef
●
An Agent is required in the instance
●
Ansible
●
Many features, even some for OpenStack
●
Some OpenStack Tools
●
Heat / Murano
●
Ad Hoc Scripts
●
This time it was my option, so I can show some CLI
commands
Automate: How?
21
Installing an Applicacion: Mediawiki (II)
/var/www/html/wiki/images /var/lib/mysql
apache-vol kmysql-vol
22
●
Create the Persistent Disk (if it doesn’t exists)
●
Boot the VM attaching the Persistent Disk and injecting a Script
●
The Script
●
Formats the Persistent Disk and mounts it (using /etc/fstab)
●
/var/lib/mysql
●
Installs MySQL-Server software
●
Creates Database and user for the Wiki.
One Installation Process: Database
23
●
Create the Persistent Disk (if it doesn’t exists)
●
Boot the VM attaching the Persistent Disk and injecting a Script
●
The Script
●
Formats the Persistent Disk
●
Installs Apache, php5, libs, etc
●
Downloads Wikimedia and untars it /var/www/html
●
Downloads SyntaxHighlight_plugin and untars it.
●
Mounts the disk (/var/www/html/wiki/images)
●
Creates a FloatingIP and associates it to the instance
One Installation Process: Apache
24
# Or attaching at boot time…
nova boot --nic net-id=$NETUUID --image base_ubuntu_14.04 
--key-name summitkp 
--security-groups allopen 
--block-device-mapping vdb=$VOLUMEID
--user-data oneScript
--flavor m1.small mydatabase
The new boot command for Nova
25
The Mediawiki Wizard
26
●
Mediawiki installation can’t be automated… but
●
I can automate LocalSettings.php configuration
●
The Script
●
Gets the Public IP of our apache
●
Sets the Logo, Extensions of Documents which can be uploaded
●
Configures SyntaxHighlight extension
●
Uploads LocalSettings.php and logo.jpg
Can’t automate everything... but almost
Some other tools: Images and Object Storage
27
28
●
I can take Snapshots of my instances
●
So I can boot a preconfigured Instance
●
Glance - The image service is used to create Snapshots
●
I’ve taken an Snapshot of my Database Instance
●
The process takes some time...
●
It is a complicated process that involves many subprocesses
Snapshots from instances
29
# Create an Snapshot from an Instance
nova image-create krtmysql krtmysql-snp
# List images
openstack image list
# Delete images
openstack image delete $IMAGE_ID
Image Commands
30
●
It stores static Objects
●
We can retrieve the objects in the future
●
Swift is the reference implementation of FIWARE’s Object
Storage GE
●
https://catalogue.fiware.org/enablers/object-storage-ge-fiware-imple
●
Objects are Stored in containers
●
I’ve uploaded my Preconfigured Mediawiki in a .tgz file to Object
Store
●
Let’s use this in next Mediawiki installations (as a demo)
Object Storage
31
# Create a new Container
swift post summit
# Upload an object to the Container
swift upload summit wiki.tgz
# List Containers, list objects from a container
swift list
swift list summit
# Retrieve an object from a container
swift download summit wiki.tgz
Swift Commands
32
# Retrieve an object from a container… In some scripts.
token=($(openstack token issue | 
awk '/ id / || / project_id / {print $4}'))
TOKEN=${token[0]}
TENANT_ID=${token[1]}
URL=http://130.206.112.3:8080/v1
…
# Use the token, and the tenant.
swift --os-auth-token $TOKEN --os-storage-
url=$URL/AUTH_$TENANT_ID download summit wiki.tgz
Swift Commands (to automate)
https://github.com/jicarretero/SummitMalaga2016
33
Thank you!
http://fiware.org
Follow @FIWARE on Twitter
Ad

More Related Content

What's hot (20)

nginx + uwsgi emperor + bottle
nginx + uwsgi emperor + bottlenginx + uwsgi emperor + bottle
nginx + uwsgi emperor + bottle
Jordi Soucheiron
 
2016/12/10: Ourense MakersLab workshop
2016/12/10: Ourense MakersLab workshop2016/12/10: Ourense MakersLab workshop
2016/12/10: Ourense MakersLab workshop
JesusArroyoTorrens
 
Puppet Camp Seattle 2014: Docker and Puppet: 1+1=3
Puppet Camp Seattle 2014: Docker and Puppet: 1+1=3 Puppet Camp Seattle 2014: Docker and Puppet: 1+1=3
Puppet Camp Seattle 2014: Docker and Puppet: 1+1=3
Puppet
 
Introduction to Node js
Introduction to Node jsIntroduction to Node js
Introduction to Node js
Akshay Mathur
 
Puppet and Vagrant in development
Puppet and Vagrant in developmentPuppet and Vagrant in development
Puppet and Vagrant in development
Adam Culp
 
PuppetConf 2016: Building Nano Server Images with Puppet and DSC – Michael Sm...
PuppetConf 2016: Building Nano Server Images with Puppet and DSC – Michael Sm...PuppetConf 2016: Building Nano Server Images with Puppet and DSC – Michael Sm...
PuppetConf 2016: Building Nano Server Images with Puppet and DSC – Michael Sm...
Puppet
 
Cialug August 2021
Cialug August 2021Cialug August 2021
Cialug August 2021
Andrew Denner
 
Simple webapps with nginx, uwsgi emperor and bottle
Simple webapps with nginx, uwsgi emperor and bottleSimple webapps with nginx, uwsgi emperor and bottle
Simple webapps with nginx, uwsgi emperor and bottle
Jordi Soucheiron
 
openQA hands on with openSUSE Leap 42.1 - openSUSE.Asia Summit ID 2016
openQA hands on with openSUSE Leap 42.1 - openSUSE.Asia Summit ID 2016openQA hands on with openSUSE Leap 42.1 - openSUSE.Asia Summit ID 2016
openQA hands on with openSUSE Leap 42.1 - openSUSE.Asia Summit ID 2016
Ben Chou
 
Configuration Surgery with Augeas
Configuration Surgery with AugeasConfiguration Surgery with Augeas
Configuration Surgery with Augeas
Puppet
 
PuppetConf 2016: Puppet 4.x: The Low WAT-tage Edition – Nick Fagerlund, Puppet
PuppetConf 2016: Puppet 4.x: The Low WAT-tage Edition – Nick Fagerlund, PuppetPuppetConf 2016: Puppet 4.x: The Low WAT-tage Edition – Nick Fagerlund, Puppet
PuppetConf 2016: Puppet 4.x: The Low WAT-tage Edition – Nick Fagerlund, Puppet
Puppet
 
Booting Weblogic - OOW14
Booting Weblogic - OOW14Booting Weblogic - OOW14
Booting Weblogic - OOW14
Jon Petter Hjulstad
 
Docker puppetcamp london 2013
Docker puppetcamp london 2013Docker puppetcamp london 2013
Docker puppetcamp london 2013
Tomas Doran
 
Coroutines for Kotlin Multiplatform in Practise
Coroutines for Kotlin Multiplatform in PractiseCoroutines for Kotlin Multiplatform in Practise
Coroutines for Kotlin Multiplatform in Practise
Christian Melchior
 
Introduce about Nodejs - duyetdev.com
Introduce about Nodejs - duyetdev.comIntroduce about Nodejs - duyetdev.com
Introduce about Nodejs - duyetdev.com
Van-Duyet Le
 
【Unite 2017 Tokyo】もっと気軽に、動的なコンテンツ配信を ~アセットバンドルの未来と開発ロードマップ
【Unite 2017 Tokyo】もっと気軽に、動的なコンテンツ配信を ~アセットバンドルの未来と開発ロードマップ【Unite 2017 Tokyo】もっと気軽に、動的なコンテンツ配信を ~アセットバンドルの未来と開発ロードマップ
【Unite 2017 Tokyo】もっと気軽に、動的なコンテンツ配信を ~アセットバンドルの未来と開発ロードマップ
Unite2017Tokyo
 
Automate with Ansible basic (2/e, English)
Automate with Ansible basic (2/e, English)Automate with Ansible basic (2/e, English)
Automate with Ansible basic (2/e, English)
Chu-Siang Lai
 
SCasia 2018 MSFT hands on session for Azure Batch AI
SCasia 2018 MSFT hands on session for Azure Batch AISCasia 2018 MSFT hands on session for Azure Batch AI
SCasia 2018 MSFT hands on session for Azure Batch AI
Hiroshi Tanaka
 
Vagrant + Docker provider [+Puppet]
Vagrant + Docker provider [+Puppet]Vagrant + Docker provider [+Puppet]
Vagrant + Docker provider [+Puppet]
Nicolas Poggi
 
NodeJS
NodeJSNodeJS
NodeJS
LinkMe Srl
 
nginx + uwsgi emperor + bottle
nginx + uwsgi emperor + bottlenginx + uwsgi emperor + bottle
nginx + uwsgi emperor + bottle
Jordi Soucheiron
 
2016/12/10: Ourense MakersLab workshop
2016/12/10: Ourense MakersLab workshop2016/12/10: Ourense MakersLab workshop
2016/12/10: Ourense MakersLab workshop
JesusArroyoTorrens
 
Puppet Camp Seattle 2014: Docker and Puppet: 1+1=3
Puppet Camp Seattle 2014: Docker and Puppet: 1+1=3 Puppet Camp Seattle 2014: Docker and Puppet: 1+1=3
Puppet Camp Seattle 2014: Docker and Puppet: 1+1=3
Puppet
 
Introduction to Node js
Introduction to Node jsIntroduction to Node js
Introduction to Node js
Akshay Mathur
 
Puppet and Vagrant in development
Puppet and Vagrant in developmentPuppet and Vagrant in development
Puppet and Vagrant in development
Adam Culp
 
PuppetConf 2016: Building Nano Server Images with Puppet and DSC – Michael Sm...
PuppetConf 2016: Building Nano Server Images with Puppet and DSC – Michael Sm...PuppetConf 2016: Building Nano Server Images with Puppet and DSC – Michael Sm...
PuppetConf 2016: Building Nano Server Images with Puppet and DSC – Michael Sm...
Puppet
 
Simple webapps with nginx, uwsgi emperor and bottle
Simple webapps with nginx, uwsgi emperor and bottleSimple webapps with nginx, uwsgi emperor and bottle
Simple webapps with nginx, uwsgi emperor and bottle
Jordi Soucheiron
 
openQA hands on with openSUSE Leap 42.1 - openSUSE.Asia Summit ID 2016
openQA hands on with openSUSE Leap 42.1 - openSUSE.Asia Summit ID 2016openQA hands on with openSUSE Leap 42.1 - openSUSE.Asia Summit ID 2016
openQA hands on with openSUSE Leap 42.1 - openSUSE.Asia Summit ID 2016
Ben Chou
 
Configuration Surgery with Augeas
Configuration Surgery with AugeasConfiguration Surgery with Augeas
Configuration Surgery with Augeas
Puppet
 
PuppetConf 2016: Puppet 4.x: The Low WAT-tage Edition – Nick Fagerlund, Puppet
PuppetConf 2016: Puppet 4.x: The Low WAT-tage Edition – Nick Fagerlund, PuppetPuppetConf 2016: Puppet 4.x: The Low WAT-tage Edition – Nick Fagerlund, Puppet
PuppetConf 2016: Puppet 4.x: The Low WAT-tage Edition – Nick Fagerlund, Puppet
Puppet
 
Docker puppetcamp london 2013
Docker puppetcamp london 2013Docker puppetcamp london 2013
Docker puppetcamp london 2013
Tomas Doran
 
Coroutines for Kotlin Multiplatform in Practise
Coroutines for Kotlin Multiplatform in PractiseCoroutines for Kotlin Multiplatform in Practise
Coroutines for Kotlin Multiplatform in Practise
Christian Melchior
 
Introduce about Nodejs - duyetdev.com
Introduce about Nodejs - duyetdev.comIntroduce about Nodejs - duyetdev.com
Introduce about Nodejs - duyetdev.com
Van-Duyet Le
 
【Unite 2017 Tokyo】もっと気軽に、動的なコンテンツ配信を ~アセットバンドルの未来と開発ロードマップ
【Unite 2017 Tokyo】もっと気軽に、動的なコンテンツ配信を ~アセットバンドルの未来と開発ロードマップ【Unite 2017 Tokyo】もっと気軽に、動的なコンテンツ配信を ~アセットバンドルの未来と開発ロードマップ
【Unite 2017 Tokyo】もっと気軽に、動的なコンテンツ配信を ~アセットバンドルの未来と開発ロードマップ
Unite2017Tokyo
 
Automate with Ansible basic (2/e, English)
Automate with Ansible basic (2/e, English)Automate with Ansible basic (2/e, English)
Automate with Ansible basic (2/e, English)
Chu-Siang Lai
 
SCasia 2018 MSFT hands on session for Azure Batch AI
SCasia 2018 MSFT hands on session for Azure Batch AISCasia 2018 MSFT hands on session for Azure Batch AI
SCasia 2018 MSFT hands on session for Azure Batch AI
Hiroshi Tanaka
 
Vagrant + Docker provider [+Puppet]
Vagrant + Docker provider [+Puppet]Vagrant + Docker provider [+Puppet]
Vagrant + Docker provider [+Puppet]
Nicolas Poggi
 

Viewers also liked (20)

La geoinformació a Catalunya, reptes i oportunitats
La geoinformació a Catalunya, reptes i oportunitatsLa geoinformació a Catalunya, reptes i oportunitats
La geoinformació a Catalunya, reptes i oportunitats
Albert Castellanos Maduell
 
Digital marketing trends final plymouth Chamber 06.08
Digital marketing trends final plymouth Chamber 06.08Digital marketing trends final plymouth Chamber 06.08
Digital marketing trends final plymouth Chamber 06.08
Get up to Speed
 
Input devices 2 Easy To understand
Input devices 2  Easy To understand Input devices 2  Easy To understand
Input devices 2 Easy To understand
shikhar199
 
How is silicon useful to us?
How is silicon useful to us?How is silicon useful to us?
How is silicon useful to us?
Heet29
 
How to record screen activity
How to record screen activityHow to record screen activity
How to record screen activity
samkhann
 
The future of work 4th June
The future of work 4th JuneThe future of work 4th June
The future of work 4th June
Get up to Speed
 
Financial statements with and without
Financial statements with and withoutFinancial statements with and without
Financial statements with and without
shikhar199
 
My time capsule
My  time capsuleMy  time capsule
My time capsule
KarlaJonas3
 
Swing !!! y shikhar!!
Swing !!! y shikhar!!Swing !!! y shikhar!!
Swing !!! y shikhar!!
shikhar199
 
Bab 1: Dasar-dasar Internet
Bab 1: Dasar-dasar InternetBab 1: Dasar-dasar Internet
Bab 1: Dasar-dasar Internet
devikasr08
 
Nazarenko Best Urban Start UP
Nazarenko Best Urban Start UPNazarenko Best Urban Start UP
Nazarenko Best Urban Start UP
LupusV
 
Intro to Data Analytics
Intro to Data AnalyticsIntro to Data Analytics
Intro to Data Analytics
Lexi Sydow
 
Reconstruction of Belle Harbor 3-24-15 presentation
Reconstruction of Belle Harbor  3-24-15 presentationReconstruction of Belle Harbor  3-24-15 presentation
Reconstruction of Belle Harbor 3-24-15 presentation
Rose Klein
 
khizar saeed
khizar saeedkhizar saeed
khizar saeed
khizarsaeed
 
Get up to speed getting the most out of online marketing weston super mare
Get up to speed getting the most out of online marketing weston super mareGet up to speed getting the most out of online marketing weston super mare
Get up to speed getting the most out of online marketing weston super mare
Get up to Speed
 
Output devices !!!! by shikhar
Output devices !!!! by shikharOutput devices !!!! by shikhar
Output devices !!!! by shikhar
shikhar199
 
Creation for kids
Creation for kidsCreation for kids
Creation for kids
Fred Williams
 
Bible Evidences - Fred Williams
Bible Evidences - Fred WilliamsBible Evidences - Fred Williams
Bible Evidences - Fred Williams
Fred Williams
 
Pio baroja
Pio barojaPio baroja
Pio baroja
Elena Frías León
 
Makalahku
MakalahkuMakalahku
Makalahku
Winda nawangasari
 
La geoinformació a Catalunya, reptes i oportunitats
La geoinformació a Catalunya, reptes i oportunitatsLa geoinformació a Catalunya, reptes i oportunitats
La geoinformació a Catalunya, reptes i oportunitats
Albert Castellanos Maduell
 
Digital marketing trends final plymouth Chamber 06.08
Digital marketing trends final plymouth Chamber 06.08Digital marketing trends final plymouth Chamber 06.08
Digital marketing trends final plymouth Chamber 06.08
Get up to Speed
 
Input devices 2 Easy To understand
Input devices 2  Easy To understand Input devices 2  Easy To understand
Input devices 2 Easy To understand
shikhar199
 
How is silicon useful to us?
How is silicon useful to us?How is silicon useful to us?
How is silicon useful to us?
Heet29
 
How to record screen activity
How to record screen activityHow to record screen activity
How to record screen activity
samkhann
 
The future of work 4th June
The future of work 4th JuneThe future of work 4th June
The future of work 4th June
Get up to Speed
 
Financial statements with and without
Financial statements with and withoutFinancial statements with and without
Financial statements with and without
shikhar199
 
Swing !!! y shikhar!!
Swing !!! y shikhar!!Swing !!! y shikhar!!
Swing !!! y shikhar!!
shikhar199
 
Bab 1: Dasar-dasar Internet
Bab 1: Dasar-dasar InternetBab 1: Dasar-dasar Internet
Bab 1: Dasar-dasar Internet
devikasr08
 
Nazarenko Best Urban Start UP
Nazarenko Best Urban Start UPNazarenko Best Urban Start UP
Nazarenko Best Urban Start UP
LupusV
 
Intro to Data Analytics
Intro to Data AnalyticsIntro to Data Analytics
Intro to Data Analytics
Lexi Sydow
 
Reconstruction of Belle Harbor 3-24-15 presentation
Reconstruction of Belle Harbor  3-24-15 presentationReconstruction of Belle Harbor  3-24-15 presentation
Reconstruction of Belle Harbor 3-24-15 presentation
Rose Klein
 
Get up to speed getting the most out of online marketing weston super mare
Get up to speed getting the most out of online marketing weston super mareGet up to speed getting the most out of online marketing weston super mare
Get up to speed getting the most out of online marketing weston super mare
Get up to Speed
 
Output devices !!!! by shikhar
Output devices !!!! by shikharOutput devices !!!! by shikhar
Output devices !!!! by shikhar
shikhar199
 
Bible Evidences - Fred Williams
Bible Evidences - Fred WilliamsBible Evidences - Fred Williams
Bible Evidences - Fred Williams
Fred Williams
 
Ad

Similar to Deploy MediaWiki usgin Fiware Lab Facilities (20)

ApacheCloudStack
ApacheCloudStackApacheCloudStack
ApacheCloudStack
Puppet
 
Infrastructure as code with Puppet and Apache CloudStack
Infrastructure as code with Puppet and Apache CloudStackInfrastructure as code with Puppet and Apache CloudStack
Infrastructure as code with Puppet and Apache CloudStack
ke4qqq
 
Puppet and CloudStack
Puppet and CloudStackPuppet and CloudStack
Puppet and CloudStack
ke4qqq
 
Puppet and Apache CloudStack
Puppet and Apache CloudStackPuppet and Apache CloudStack
Puppet and Apache CloudStack
Puppet
 
Infrastructure as code with Puppet and Apache CloudStack
Infrastructure as code with Puppet and Apache CloudStackInfrastructure as code with Puppet and Apache CloudStack
Infrastructure as code with Puppet and Apache CloudStack
ke4qqq
 
OpenNebulaConf 2013 - Hands-on Tutorial: 2. Installing and Basic Usage
OpenNebulaConf 2013 - Hands-on Tutorial: 2. Installing and Basic UsageOpenNebulaConf 2013 - Hands-on Tutorial: 2. Installing and Basic Usage
OpenNebulaConf 2013 - Hands-on Tutorial: 2. Installing and Basic Usage
OpenNebula Project
 
FIWARE Lab Cloud Portal
FIWARE Lab Cloud PortalFIWARE Lab Cloud Portal
FIWARE Lab Cloud Portal
José Ignacio Carretero Guarde
 
OpenNebula 5.4 Hands-on Tutorial
OpenNebula 5.4 Hands-on TutorialOpenNebula 5.4 Hands-on Tutorial
OpenNebula 5.4 Hands-on Tutorial
OpenNebula Project
 
Puppetpreso
PuppetpresoPuppetpreso
Puppetpreso
ke4qqq
 
Automating Complex Setups with Puppet
Automating Complex Setups with PuppetAutomating Complex Setups with Puppet
Automating Complex Setups with Puppet
Kris Buytaert
 
Locally run a FIWARE Lab Instance In another Hypervisors
Locally run a FIWARE Lab Instance In another HypervisorsLocally run a FIWARE Lab Instance In another Hypervisors
Locally run a FIWARE Lab Instance In another Hypervisors
José Ignacio Carretero Guarde
 
Crikeycon 2019 Velociraptor Workshop
Crikeycon 2019 Velociraptor WorkshopCrikeycon 2019 Velociraptor Workshop
Crikeycon 2019 Velociraptor Workshop
Velocidex Enterprises
 
Beyond Puppet
Beyond PuppetBeyond Puppet
Beyond Puppet
Kris Buytaert
 
New Jersey Red Hat Users Group Presentation: Provisioning anywhere
New Jersey Red Hat Users Group Presentation: Provisioning anywhereNew Jersey Red Hat Users Group Presentation: Provisioning anywhere
New Jersey Red Hat Users Group Presentation: Provisioning anywhere
Rodrique Heron
 
Diving into SWUpdate: adding new platform support in 30minutes with Yocto/OE !
Diving into SWUpdate: adding new platform support in 30minutes with Yocto/OE !Diving into SWUpdate: adding new platform support in 30minutes with Yocto/OE !
Diving into SWUpdate: adding new platform support in 30minutes with Yocto/OE !
Pierre-jean Texier
 
The State of the Veil Framework
The State of the Veil FrameworkThe State of the Veil Framework
The State of the Veil Framework
VeilFramework
 
Using Puppet in Small Infrastructures
Using Puppet in Small InfrastructuresUsing Puppet in Small Infrastructures
Using Puppet in Small Infrastructures
Rachel Andrew
 
One-Man Ops
One-Man OpsOne-Man Ops
One-Man Ops
Jos Boumans
 
How to Deploy Spark Instance Using Ansible 2.0 in FIWARE Lab
How to Deploy Spark Instance Using Ansible 2.0 in FIWARE LabHow to Deploy Spark Instance Using Ansible 2.0 in FIWARE Lab
How to Deploy Spark Instance Using Ansible 2.0 in FIWARE Lab
FIWARE
 
Devops with Python by Yaniv Cohen DevopShift
Devops with Python by Yaniv Cohen DevopShiftDevops with Python by Yaniv Cohen DevopShift
Devops with Python by Yaniv Cohen DevopShift
Yaniv cohen
 
ApacheCloudStack
ApacheCloudStackApacheCloudStack
ApacheCloudStack
Puppet
 
Infrastructure as code with Puppet and Apache CloudStack
Infrastructure as code with Puppet and Apache CloudStackInfrastructure as code with Puppet and Apache CloudStack
Infrastructure as code with Puppet and Apache CloudStack
ke4qqq
 
Puppet and CloudStack
Puppet and CloudStackPuppet and CloudStack
Puppet and CloudStack
ke4qqq
 
Puppet and Apache CloudStack
Puppet and Apache CloudStackPuppet and Apache CloudStack
Puppet and Apache CloudStack
Puppet
 
Infrastructure as code with Puppet and Apache CloudStack
Infrastructure as code with Puppet and Apache CloudStackInfrastructure as code with Puppet and Apache CloudStack
Infrastructure as code with Puppet and Apache CloudStack
ke4qqq
 
OpenNebulaConf 2013 - Hands-on Tutorial: 2. Installing and Basic Usage
OpenNebulaConf 2013 - Hands-on Tutorial: 2. Installing and Basic UsageOpenNebulaConf 2013 - Hands-on Tutorial: 2. Installing and Basic Usage
OpenNebulaConf 2013 - Hands-on Tutorial: 2. Installing and Basic Usage
OpenNebula Project
 
OpenNebula 5.4 Hands-on Tutorial
OpenNebula 5.4 Hands-on TutorialOpenNebula 5.4 Hands-on Tutorial
OpenNebula 5.4 Hands-on Tutorial
OpenNebula Project
 
Puppetpreso
PuppetpresoPuppetpreso
Puppetpreso
ke4qqq
 
Automating Complex Setups with Puppet
Automating Complex Setups with PuppetAutomating Complex Setups with Puppet
Automating Complex Setups with Puppet
Kris Buytaert
 
Locally run a FIWARE Lab Instance In another Hypervisors
Locally run a FIWARE Lab Instance In another HypervisorsLocally run a FIWARE Lab Instance In another Hypervisors
Locally run a FIWARE Lab Instance In another Hypervisors
José Ignacio Carretero Guarde
 
Crikeycon 2019 Velociraptor Workshop
Crikeycon 2019 Velociraptor WorkshopCrikeycon 2019 Velociraptor Workshop
Crikeycon 2019 Velociraptor Workshop
Velocidex Enterprises
 
New Jersey Red Hat Users Group Presentation: Provisioning anywhere
New Jersey Red Hat Users Group Presentation: Provisioning anywhereNew Jersey Red Hat Users Group Presentation: Provisioning anywhere
New Jersey Red Hat Users Group Presentation: Provisioning anywhere
Rodrique Heron
 
Diving into SWUpdate: adding new platform support in 30minutes with Yocto/OE !
Diving into SWUpdate: adding new platform support in 30minutes with Yocto/OE !Diving into SWUpdate: adding new platform support in 30minutes with Yocto/OE !
Diving into SWUpdate: adding new platform support in 30minutes with Yocto/OE !
Pierre-jean Texier
 
The State of the Veil Framework
The State of the Veil FrameworkThe State of the Veil Framework
The State of the Veil Framework
VeilFramework
 
Using Puppet in Small Infrastructures
Using Puppet in Small InfrastructuresUsing Puppet in Small Infrastructures
Using Puppet in Small Infrastructures
Rachel Andrew
 
How to Deploy Spark Instance Using Ansible 2.0 in FIWARE Lab
How to Deploy Spark Instance Using Ansible 2.0 in FIWARE LabHow to Deploy Spark Instance Using Ansible 2.0 in FIWARE Lab
How to Deploy Spark Instance Using Ansible 2.0 in FIWARE Lab
FIWARE
 
Devops with Python by Yaniv Cohen DevopShift
Devops with Python by Yaniv Cohen DevopShiftDevops with Python by Yaniv Cohen DevopShift
Devops with Python by Yaniv Cohen DevopShift
Yaniv cohen
 
Ad

Recently uploaded (20)

PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025
mu394968
 
Expand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchangeExpand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchange
Fexle Services Pvt. Ltd.
 
Download Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With LatestDownload Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With Latest
tahirabibi60507
 
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
University of Hawai‘i at Mānoa
 
Exploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the FutureExploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the Future
ICS
 
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfMicrosoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
TechSoup
 
Adobe Illustrator Crack FREE Download 2025 Latest Version
Adobe Illustrator Crack FREE Download 2025 Latest VersionAdobe Illustrator Crack FREE Download 2025 Latest Version
Adobe Illustrator Crack FREE Download 2025 Latest Version
kashifyounis067
 
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Andre Hora
 
FL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full VersionFL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full Version
tahirabibi60507
 
How can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptxHow can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptx
laravinson24
 
The Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdfThe Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdf
drewplanas10
 
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& ConsiderationsDesigning AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Dinusha Kumarasiri
 
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Ranjan Baisak
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software DevelopmentSecure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Shubham Joshi
 
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage DashboardsAdobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
BradBedford3
 
Adobe Lightroom Classic Crack FREE Latest link 2025
Adobe Lightroom Classic Crack FREE Latest link 2025Adobe Lightroom Classic Crack FREE Latest link 2025
Adobe Lightroom Classic Crack FREE Latest link 2025
kashifyounis067
 
Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025
kashifyounis067
 
Solidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license codeSolidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license code
aneelaramzan63
 
Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025
kashifyounis067
 
PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025
mu394968
 
Expand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchangeExpand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchange
Fexle Services Pvt. Ltd.
 
Download Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With LatestDownload Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With Latest
tahirabibi60507
 
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
University of Hawai‘i at Mānoa
 
Exploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the FutureExploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the Future
ICS
 
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfMicrosoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
TechSoup
 
Adobe Illustrator Crack FREE Download 2025 Latest Version
Adobe Illustrator Crack FREE Download 2025 Latest VersionAdobe Illustrator Crack FREE Download 2025 Latest Version
Adobe Illustrator Crack FREE Download 2025 Latest Version
kashifyounis067
 
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Andre Hora
 
FL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full VersionFL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full Version
tahirabibi60507
 
How can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptxHow can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptx
laravinson24
 
The Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdfThe Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdf
drewplanas10
 
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& ConsiderationsDesigning AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Dinusha Kumarasiri
 
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Ranjan Baisak
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software DevelopmentSecure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Shubham Joshi
 
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage DashboardsAdobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
BradBedford3
 
Adobe Lightroom Classic Crack FREE Latest link 2025
Adobe Lightroom Classic Crack FREE Latest link 2025Adobe Lightroom Classic Crack FREE Latest link 2025
Adobe Lightroom Classic Crack FREE Latest link 2025
kashifyounis067
 
Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025
kashifyounis067
 
Solidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license codeSolidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license code
aneelaramzan63
 
Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025
kashifyounis067
 

Deploy MediaWiki usgin Fiware Lab Facilities

  • 1. Deploy Mediawiki using Fiware Lab facilities José Ignacio Carretero Guarde R&D Engineer at Telefonica I+D. In charge of Spain FIWARE Lab Node [email protected] @jicarreterogu
  • 2. Mediawiki and FIWARE Lab APIs (Openstack) 2
  • 3. 3 What Mediawiki has to do with FIWARE Lab (I) Nothing?
  • 4. 4 ...But it could be good vehicle to show some things about FIWARE Lab IaaS reference Implementation GE. What Mediawiki has to do with FIWARE Lab (II)
  • 5. 5 ● Why Wikimedia? – If it has nothing to do with FIWARE. ● It has a backend Database (Mysql) ● It has a Frontend Web Server (Apache) ● I Allows me to show some tools: IaaS GE. ● I Know how it Works, So I can automate it. ● Images and files are stored in Apache (…/wiki/images) ● Data in the database is stored in /var/lib/mysql Installing an Applicacion: Mediawiki
  • 6. 6 ● https://catalogue.fiware.org/enablers/iaas-ge-fiware-reference-implement ● “We are using OpenStack Vanilla release for the IaaS GE.” ● Openstack APIs work: ● Compute APIs ● Block Storage APIs ● Image Service ● Object Storage ● There are CLIs writen in Python... IaaS GE – FIWARE Reference Implementation
  • 7. 7 # Assuming Python 2.7, pip and virtualenv installed virtualenv osdemo source osdemo/bin/activate pip install python-openstackclient pip install python-swiftclient How to locally install the CLIs
  • 8. A First Approach to the Installation Process 8
  • 10. 10 ● Virtual Machines – Instances ● Instances are managed by Nova. ● We need a few things before deploying an instance ● A Keypair ● In order to be Able to SSH our instances ● Security Groups/Rules ● Because OpenStack acts like a closed Firewall for every instance. Create a first VM
  • 11. 11 # Creating the keypair nova keypair-add summitkp | tee summitkp && chmod 400 summitkp # Creating the security group and rules nova secgroup-create openthings opens_some_ports nova secgroup-add-rule openthings tcp 22 22 0/0 nova secgroup-add-rule openthings tcp 80 80 0/0 nova secgroup-add-rule openthings icmp -1 -1 0/0 # Creating the security group and rules (What I did!): nova secgroup-create allopen open_everything nova secgroup-add-rule allopen tcp 1 65535 0/0 nova secgroup-add-rule allopen ucp 1 65535 0/0 nova secgroup-add-rule allopen icmp -1 -1 0/0 Nova: Key Pairs and Security Groups
  • 12. 12 ● Boot our first instance with some parameters ● (At least) One network ID to allow networking ● Flavor – The size of the Instance ● Our Security Group – our firewall configuration. ● A Keypair – To SSH our instance ● The base image – I’ll use an Ubuntu in the demos. ● Assign a floating IP to some of our instances ● A Floating IP is needed to SSH our instances. We might not be able to SSH private IPs ● 1 Floating IP is allowed per User. Create a first VM (ii)
  • 13. 13 # Find the network ID NETUUID=$(openstack network list | awk '/ node-int-net-01 / {print $2}') # Boot Virtual Machine nova boot --nic net-id=$NETUUID --image base_ubuntu_14.04 --key-name summitkp --security-groups allopen --flavor m1.small mydatabase # Creating a floating IP: PUBLIC_EXT_NET=public-ext-net-01 openstack floating ip create $PUBLIC_EXT_NET # Associate the IP to our instance: nova list floating ip create $PUBLIC_EXT_NET openstack floating list nova floating-ip-associate mydatabase 130.206.112.0 Nova: Boot and add a floating IP
  • 14. 14 # Get console URL nova get-vnc-console mydatabase novnc # Creating the security group and rules nova console-log mydatabase Nova: Consoles
  • 15. 15 ● Compute is thought to Compute ● When Instances die, Ephemeral disks die ● Persistent Disk – Block Storage ● Cinder manages Persistent Disks ● The disks, once created can be attached to instances ● Instances must format (once) and mount the disks before use ● Persistent disk will survive Instances. ● A way to Keep data apart from computation. Cinder: Ephemeral Vs Persistent disks
  • 16. 16 # Create a Persistent disk openstack volume create --size 1 myvolume openstack volume list VOLUMEID=$(openstack volume list | awk '/ myvolume / {print $2}') # Attaching the volume to the instance nova volume-attach mydatabase $VOLUMEID # Or attaching at boot time… nova boot --nic net-id=$NETUUID --image base_ubuntu_14.04 --key-name summitkp --security-groups allopen --block-device-mapping vdb=$VOLUMEID --flavor m1.small mydatabase Cinder: Persistent Disk Creation
  • 18. 18 ● Increase Productivity ● Automated processes reduce defects ● Reduce Human Errors ● Processes are run effortlessly ● Processes are more flexible => Changes are easier ● Increase satisfaction ● … You can write many other things here ● … And here. Automate: Why?
  • 19. 19 Automate: Using GUI (Cloud Portal) (maybe... ) Too many clicks (maybe)... Too error prone (almost)... Impossible automation Easy to use
  • 20. 20 ● Tools to automate ● Puppet/Chef ● An Agent is required in the instance ● Ansible ● Many features, even some for OpenStack ● Some OpenStack Tools ● Heat / Murano ● Ad Hoc Scripts ● This time it was my option, so I can show some CLI commands Automate: How?
  • 21. 21 Installing an Applicacion: Mediawiki (II) /var/www/html/wiki/images /var/lib/mysql apache-vol kmysql-vol
  • 22. 22 ● Create the Persistent Disk (if it doesn’t exists) ● Boot the VM attaching the Persistent Disk and injecting a Script ● The Script ● Formats the Persistent Disk and mounts it (using /etc/fstab) ● /var/lib/mysql ● Installs MySQL-Server software ● Creates Database and user for the Wiki. One Installation Process: Database
  • 23. 23 ● Create the Persistent Disk (if it doesn’t exists) ● Boot the VM attaching the Persistent Disk and injecting a Script ● The Script ● Formats the Persistent Disk ● Installs Apache, php5, libs, etc ● Downloads Wikimedia and untars it /var/www/html ● Downloads SyntaxHighlight_plugin and untars it. ● Mounts the disk (/var/www/html/wiki/images) ● Creates a FloatingIP and associates it to the instance One Installation Process: Apache
  • 24. 24 # Or attaching at boot time… nova boot --nic net-id=$NETUUID --image base_ubuntu_14.04 --key-name summitkp --security-groups allopen --block-device-mapping vdb=$VOLUMEID --user-data oneScript --flavor m1.small mydatabase The new boot command for Nova
  • 26. 26 ● Mediawiki installation can’t be automated… but ● I can automate LocalSettings.php configuration ● The Script ● Gets the Public IP of our apache ● Sets the Logo, Extensions of Documents which can be uploaded ● Configures SyntaxHighlight extension ● Uploads LocalSettings.php and logo.jpg Can’t automate everything... but almost
  • 27. Some other tools: Images and Object Storage 27
  • 28. 28 ● I can take Snapshots of my instances ● So I can boot a preconfigured Instance ● Glance - The image service is used to create Snapshots ● I’ve taken an Snapshot of my Database Instance ● The process takes some time... ● It is a complicated process that involves many subprocesses Snapshots from instances
  • 29. 29 # Create an Snapshot from an Instance nova image-create krtmysql krtmysql-snp # List images openstack image list # Delete images openstack image delete $IMAGE_ID Image Commands
  • 30. 30 ● It stores static Objects ● We can retrieve the objects in the future ● Swift is the reference implementation of FIWARE’s Object Storage GE ● https://catalogue.fiware.org/enablers/object-storage-ge-fiware-imple ● Objects are Stored in containers ● I’ve uploaded my Preconfigured Mediawiki in a .tgz file to Object Store ● Let’s use this in next Mediawiki installations (as a demo) Object Storage
  • 31. 31 # Create a new Container swift post summit # Upload an object to the Container swift upload summit wiki.tgz # List Containers, list objects from a container swift list swift list summit # Retrieve an object from a container swift download summit wiki.tgz Swift Commands
  • 32. 32 # Retrieve an object from a container… In some scripts. token=($(openstack token issue | awk '/ id / || / project_id / {print $4}')) TOKEN=${token[0]} TENANT_ID=${token[1]} URL=http://130.206.112.3:8080/v1 … # Use the token, and the tenant. swift --os-auth-token $TOKEN --os-storage- url=$URL/AUTH_$TENANT_ID download summit wiki.tgz Swift Commands (to automate)