mirror of
https://github.com/OpenNebula/one.git
synced 2025-01-21 18:03:38 +03:00
F #5076: New provision template names
- provisions (top level) are now edge-clusters - New edge-clusters: metal and virtual - New qemu IM driver - Removed previous templates (hybrid+)
This commit is contained in:
parent
e5be998b43
commit
277ee87f1f
55
install.sh
55
install.sh
@ -337,6 +337,13 @@ VAR_DIRS="$VAR_LOCATION/remotes \
|
||||
$VAR_LOCATION/remotes/im/kvm-probes.d/vm/monitor \
|
||||
$VAR_LOCATION/remotes/im/kvm-probes.d/vm/status \
|
||||
$VAR_LOCATION/remotes/im/kvm-probes.d/vm/snapshot \
|
||||
$VAR_LOCATION/remotes/im/qemu.d \
|
||||
$VAR_LOCATION/remotes/im/qemu-probes.d/host/beacon \
|
||||
$VAR_LOCATION/remotes/im/qemu-probes.d/host/monitor \
|
||||
$VAR_LOCATION/remotes/im/qemu-probes.d/host/system \
|
||||
$VAR_LOCATION/remotes/im/qemu-probes.d/vm/monitor \
|
||||
$VAR_LOCATION/remotes/im/qemu-probes.d/vm/status \
|
||||
$VAR_LOCATION/remotes/im/qemu-probes.d/vm/snapshot \
|
||||
$VAR_LOCATION/remotes/im/dummy.d \
|
||||
$VAR_LOCATION/remotes/im/dummy-probes.d/host/beacon \
|
||||
$VAR_LOCATION/remotes/im/dummy-probes.d/host/monitor \
|
||||
@ -558,6 +565,7 @@ INSTALL_FILES=(
|
||||
IM_PROBES_FILES:$VAR_LOCATION/remotes/im
|
||||
IM_PROBES_LIB_FILES:$VAR_LOCATION/remotes/im/lib
|
||||
IM_PROBES_KVM_FILES:$VAR_LOCATION/remotes/im/kvm.d
|
||||
IM_PROBES_QEMU_FILES:$VAR_LOCATION/remotes/im/qemu.d
|
||||
IM_PROBES_FIRECRACKER_FILES:$VAR_LOCATION/remotes/im/firecracker.d
|
||||
IM_PROBES_DUMMY_FILES:$VAR_LOCATION/remotes/im/dummy.d
|
||||
IM_PROBES_LXD_FILES:$VAR_LOCATION/remotes/im/lxd.d
|
||||
@ -573,6 +581,13 @@ INSTALL_FILES=(
|
||||
IM_PROBES_KVM_VM_STATUS_FILES:$VAR_LOCATION/remotes/im/kvm-probes.d/vm/status
|
||||
IM_PROBES_KVM_VM_SNAPSHOT_FILES:$VAR_LOCATION/remotes/im/kvm-probes.d/vm/snapshot
|
||||
IM_PROBES_ETC_KVM_PROBES_FILES:$VAR_LOCATION/remotes/etc/im/kvm-probes.d
|
||||
IM_PROBES_QEMU_HOST_BEACON_FILES:$VAR_LOCATION/remotes/im/kvm-probes.d/host/beacon
|
||||
IM_PROBES_QEMU_HOST_MONITOR_FILES:$VAR_LOCATION/remotes/im/kvm-probes.d/host/monitor
|
||||
IM_PROBES_QEMU_HOST_SYSTEM_FILES:$VAR_LOCATION/remotes/im/kvm-probes.d/host/system
|
||||
IM_PROBES_QEMU_VM_MONITOR_FILES:$VAR_LOCATION/remotes/im/kvm-probes.d/vm/monitor
|
||||
IM_PROBES_QEMU_VM_STATUS_FILES:$VAR_LOCATION/remotes/im/kvm-probes.d/vm/status
|
||||
IM_PROBES_QEMU_VM_SNAPSHOT_FILES:$VAR_LOCATION/remotes/im/kvm-probes.d/vm/snapshot
|
||||
IM_PROBES_ETC_QEMU_PROBES_FILES:$VAR_LOCATION/remotes/etc/im/kvm-probes.d
|
||||
IM_PROBES_DUMMY_HOST_BEACON_FILES:$VAR_LOCATION/remotes/im/dummy-probes.d/host/beacon
|
||||
IM_PROBES_DUMMY_HOST_MONITOR_FILES:$VAR_LOCATION/remotes/im/dummy-probes.d/host/monitor
|
||||
IM_PROBES_DUMMY_HOST_SYSTEM_FILES:$VAR_LOCATION/remotes/im/dummy-probes.d/host/system
|
||||
@ -1314,6 +1329,44 @@ IM_PROBES_ETC_KVM_PROBES_FILES="\
|
||||
src/im_mad/remotes/kvm-probes.d/pci.conf \
|
||||
src/im_mad/remotes/lib/probe_db.conf"
|
||||
|
||||
IM_PROBES_QEMU_FILES="\
|
||||
src/im_mad/remotes/qemu.d/monitord-client_control.sh \
|
||||
src/im_mad/remotes/qemu.d/monitord-client.rb"
|
||||
|
||||
IM_PROBES_QEMU_HOST_BEACON_FILES="\
|
||||
src/im_mad/remotes/qemu-probes.d/host/beacon/monitord-client-shepherd.sh \
|
||||
src/im_mad/remotes/qemu-probes.d/host/beacon/date.sh"
|
||||
|
||||
IM_PROBES_QEMU_HOST_MONITOR_FILES="\
|
||||
src/im_mad/remotes/qemu-probes.d/host/monitor/linux_usage.rb \
|
||||
src/im_mad/remotes/qemu-probes.d/host/monitor/numa_usage.rb"
|
||||
|
||||
IM_PROBES_QEMU_HOST_SYSTEM_FILES="\
|
||||
src/im_mad/remotes/qemu-probes.d/host/system/architecture.sh \
|
||||
src/im_mad/remotes/qemu-probes.d/host/system/cpu.sh \
|
||||
src/im_mad/remotes/qemu-probes.d/host/system/linux_host.rb \
|
||||
src/im_mad/remotes/qemu-probes.d/host/system/machines_models.rb \
|
||||
src/im_mad/remotes/qemu-probes.d/host/system/monitor_ds.rb \
|
||||
src/im_mad/remotes/qemu-probes.d/host/system/name.sh \
|
||||
src/im_mad/remotes/qemu-probes.d/host/system/numa_host.rb \
|
||||
src/im_mad/remotes/qemu-probes.d/host/system/wild_vm.rb \
|
||||
src/im_mad/remotes/qemu-probes.d/host/system/pci.rb \
|
||||
src/im_mad/remotes/qemu-probes.d/host/system/version.sh"
|
||||
|
||||
IM_PROBES_QEMU_VM_MONITOR_FILES="\
|
||||
src/im_mad/remotes/qemu-probes.d/vm/monitor/poll.rb \
|
||||
src/im_mad/remotes/qemu-probes.d/vm/monitor/monitor_ds_vm.rb"
|
||||
|
||||
IM_PROBES_QEMU_VM_STATUS_FILES="\
|
||||
src/im_mad/remotes/qemu-probes.d/vm/status/state.rb"
|
||||
|
||||
IM_PROBES_QEMU_VM_SNAPSHOT_FILES="\
|
||||
src/im_mad/remotes/qemu-probes.d/vm/snapshot/recovery.rb"
|
||||
|
||||
IM_PROBES_ETC_QEMU_PROBES_FILES="\
|
||||
src/im_mad/remotes/qemu-probes.d/pci.conf \
|
||||
src/im_mad/remotes/lib/probe_db.conf"
|
||||
|
||||
# DUMMY PROBES
|
||||
IM_PROBES_DUMMY_FILES="\
|
||||
src/im_mad/remotes/dummy.d/monitord-client_control.sh \
|
||||
@ -2277,7 +2330,7 @@ ONEPROVISION_CONF_FILES="src/cli/etc/oneprovision.yaml \
|
||||
|
||||
ONEPROVISION_ANSIBLE_FILES="share/oneprovision/ansible"
|
||||
|
||||
ONEPROVISION_TEMPLATES_FILES="share/oneprovision/provisions/"
|
||||
ONEPROVISION_TEMPLATES_FILES="share/oneprovision/edge-clusters/"
|
||||
|
||||
ONEPROVISION_LIB_FILES="src/oneprovision/lib/oneprovision.rb \
|
||||
src/oneprovision/lib/provision_element.rb"
|
||||
|
8
share/oneprovision/edge-clusters/metal/description.md
Normal file
8
share/oneprovision/edge-clusters/metal/description.md
Normal file
@ -0,0 +1,8 @@
|
||||
The metal edge provision uses bare-metal instances to build an **edge cluster**. This provision will give you the best performance. It features the following characteristics:
|
||||
|
||||
* Hosts are provisioned as metal instances in the selected provider.
|
||||
* Supported virtualization technologies: QEMU/KVM and Firecracker/KVM
|
||||
* The provision includes a public network (Internet reachable IPs)
|
||||
* It also includes a virtual network template to create private VLANs. You need to instantiate this network template.
|
||||
|
||||
More information [about](about) using this provision can be found in the [OpenNebula documentation](https://opennebula.io)
|
@ -1,12 +1,12 @@
|
||||
name: 'aws-frankfurt'
|
||||
|
||||
description: 'Elastic cluster on AWS in Frankfurt'
|
||||
description: 'Edge cluster in AWS Frankfurt'
|
||||
provider: 'aws'
|
||||
|
||||
plain:
|
||||
image: 'AWS'
|
||||
location_key: 'region'
|
||||
provision_type: 'hybrid+_firecracker'
|
||||
provision_type: 'metal'
|
||||
|
||||
connection:
|
||||
access_key: 'AWS access key'
|
||||
@ -21,6 +21,7 @@ inputs:
|
||||
- name: 'aws_instance_type'
|
||||
type: 'list'
|
||||
options:
|
||||
- 'c5n.metal'
|
||||
- 'c5.metal'
|
||||
- 'i3.metal'
|
||||
- 'm5.metal'
|
||||
- 'r5.metal'
|
@ -1,12 +1,12 @@
|
||||
name: 'aws-london'
|
||||
|
||||
description: 'Elastic cluster on AWS in London'
|
||||
description: 'Edge cluster in AWS London'
|
||||
provider: 'aws'
|
||||
|
||||
plain:
|
||||
image: 'AWS'
|
||||
location_key: 'region'
|
||||
provision_type: 'hybrid+_firecracker'
|
||||
provision_type: 'metal'
|
||||
|
||||
connection:
|
||||
access_key: 'AWS access key'
|
||||
@ -21,6 +21,7 @@ inputs:
|
||||
- name: 'aws_instance_type'
|
||||
type: 'list'
|
||||
options:
|
||||
- 'c5n.metal'
|
||||
- 'c5.metal'
|
||||
- 'i3.metal'
|
||||
- 'm5.metal'
|
||||
- 'r5.metal'
|
@ -1,12 +1,12 @@
|
||||
name: 'aws-north-virginia'
|
||||
|
||||
description: 'Elastic cluster on AWS in North Virginia'
|
||||
description: 'Edge cluster in AWS North Virginia'
|
||||
provider: 'aws'
|
||||
|
||||
plain:
|
||||
image: 'AWS'
|
||||
location_key: 'region'
|
||||
provision_type: 'hybrid+_firecracker'
|
||||
provision_type: 'metal'
|
||||
|
||||
connection:
|
||||
access_key: 'AWS access key'
|
||||
@ -21,6 +21,7 @@ inputs:
|
||||
- name: 'aws_instance_type'
|
||||
type: 'list'
|
||||
options:
|
||||
- 'c5n.metal'
|
||||
- 'c5.metal'
|
||||
- 'i3.metal'
|
||||
- 'm5.metal'
|
||||
- 'r5.metal'
|
@ -1,12 +1,12 @@
|
||||
name: 'aws-north-california'
|
||||
|
||||
description: 'Elastic cluster on AWS in North California'
|
||||
description: 'Edge cluster in AWS North California'
|
||||
provider: 'aws'
|
||||
|
||||
plain:
|
||||
image: 'AWS'
|
||||
location_key: 'region'
|
||||
provision_type: 'hybrid+_firecracker'
|
||||
provision_type: 'metal'
|
||||
|
||||
connection:
|
||||
access_key: 'AWS access key'
|
||||
@ -21,6 +21,7 @@ inputs:
|
||||
- name: 'aws_instance_type'
|
||||
type: 'list'
|
||||
options:
|
||||
- 'c5n.metal'
|
||||
- 'c5.metal'
|
||||
- 'i3.metal'
|
||||
- 'm5.metal'
|
||||
- 'r5.metal'
|
@ -1,12 +1,12 @@
|
||||
name: 'packet-amsterdam'
|
||||
|
||||
description: 'Elastic cluster on Packet in Amsterdam'
|
||||
description: 'Edge cluster in Equinix Amsterdam'
|
||||
provider: 'packet'
|
||||
|
||||
plain:
|
||||
image: 'EQUINIX'
|
||||
location_key: 'facility'
|
||||
provision_type: 'hybrid+'
|
||||
provision_type: 'metal'
|
||||
|
||||
connection:
|
||||
token: 'Packet token'
|
@ -1,12 +1,12 @@
|
||||
name: 'packet-ewr1'
|
||||
|
||||
description: 'Elastic cluster on Packet in Parsippany, USA, NJ'
|
||||
description: 'Edge cluster in Equinix Parsippany, USA, NJ'
|
||||
provider: 'packet'
|
||||
|
||||
plain:
|
||||
image: 'EQUINIX'
|
||||
location_key: 'facility'
|
||||
provision_type: 'hybrid+'
|
||||
provision_type: 'metal'
|
||||
|
||||
connection:
|
||||
token: 'Packet token'
|
@ -1,12 +1,12 @@
|
||||
name: 'packet-nrt1'
|
||||
|
||||
description: 'Elastic cluster on Packet in Tokyo, Japan'
|
||||
description: 'Edge cluster in Equinix Tokyo, Japan'
|
||||
provider: 'packet'
|
||||
|
||||
plain:
|
||||
image: 'EQUINIX'
|
||||
location_key: 'facility'
|
||||
provision_type: 'hybrid+'
|
||||
provision_type: 'metal'
|
||||
|
||||
connection:
|
||||
token: 'Packet token'
|
@ -1,12 +1,12 @@
|
||||
name: 'packet-sjc1'
|
||||
|
||||
description: 'Elastic cluster on Packet in Sunnyvale, USA, CA'
|
||||
description: 'Edge cluster in Equinix, USA, CA'
|
||||
provider: 'packet'
|
||||
|
||||
plain:
|
||||
image: 'EQUINIX'
|
||||
location_key: 'facility'
|
||||
provision_type: 'hybrid+'
|
||||
provision_type: 'metal'
|
||||
|
||||
connection:
|
||||
token: 'Packet token'
|
@ -20,6 +20,7 @@
|
||||
# drivers. It creates the following datastores, using Replica driver:
|
||||
# 1. Image datastore, ${cluster_name}-image
|
||||
# 2. System datastore, ${cluster_name}-system
|
||||
# 3. File datastore, ${cluster_name}-files
|
||||
#
|
||||
# Configuration/Input attributes:
|
||||
# - replica_host: The host that will hold the cluster replicas and snapshots.
|
@ -17,4 +17,4 @@
|
||||
|
||||
image: 'OPENNEBULA-AWS'
|
||||
provider: 'aws'
|
||||
provision_type: 'hybrid+'
|
||||
provision_type: 'metal'
|
@ -35,4 +35,12 @@ inputs:
|
||||
type: text
|
||||
description: "AWS instance type, use bare-metal instances"
|
||||
default: ''
|
||||
|
||||
- name: 'one_hypervisor'
|
||||
type: list
|
||||
description: "Virtualization technology for the cluster hosts"
|
||||
options:
|
||||
- 'kvm'
|
||||
- 'firecracker'
|
||||
|
||||
...
|
@ -25,23 +25,15 @@ name: 'aws-cluster'
|
||||
extends:
|
||||
- common.d/defaults.yml
|
||||
- common.d/resources.yml
|
||||
- common.d/kvm_hosts.yml
|
||||
- common.d/hosts.yml
|
||||
- aws.d/datastores.yml
|
||||
- aws.d/defaults.yml
|
||||
- aws.d/fireedge.yml
|
||||
- aws.d/inputs.yml
|
||||
- aws.d/networks.yml
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# playbook: Ansible playbook used for hosts configuration.The aws playbook
|
||||
# include the following roles:
|
||||
# - ddc
|
||||
# - opennebula-repository
|
||||
# - opennebula-node-kvm
|
||||
# - opennebula-ssh
|
||||
# - tuntap
|
||||
# - bridged-networking
|
||||
# - iptables
|
||||
# playbook: Ansible playbook used for hosts configuration. Check ansible/aws.yml
|
||||
# for the specific roles applied.
|
||||
#-------------------------------------------------------------------------------
|
||||
playbook:
|
||||
- aws
|
||||
@ -68,10 +60,11 @@ defaults:
|
||||
#--------------------------------------------------------------------------------
|
||||
cluster:
|
||||
name: "${provision}"
|
||||
description: 'AWS cluster'
|
||||
description: 'AWS edge cluster'
|
||||
reserved_cpu: '0'
|
||||
reserved_mem: '0'
|
||||
datastores:
|
||||
- 1
|
||||
- 2
|
||||
provision:
|
||||
cidr: '10.0.0.0/16'
|
@ -21,7 +21,8 @@
|
||||
|
||||
defaults:
|
||||
configuration:
|
||||
oneprovision_hypervisor: 'firecracker'
|
||||
# Select the hypervisor package to install
|
||||
oneprovision_hypervisor: "${input.one_hypervisor}"
|
||||
|
||||
# required for copying recovery VM snaphosts to the replica host
|
||||
opennebula_ssh_deploy_private_key: true
|
@ -27,9 +27,9 @@
|
||||
#-------------------------------------------------------------------------------
|
||||
hosts:
|
||||
|
||||
- im_mad: 'kvm'
|
||||
vm_mad: 'qemu'
|
||||
- im_mad: "${input.one_hypervisor}"
|
||||
vm_mad: "${input.one_hypervisor}"
|
||||
provision:
|
||||
count: "${input.number_hosts}"
|
||||
hostname: "qemu-host${index}"
|
||||
hostname: "edge-host${index}"
|
||||
...
|
@ -29,10 +29,3 @@
|
||||
# - by index, eg. ${datastore.0.id} to get the OpenNebula ID of the **first**
|
||||
# datastore defined in the provision
|
||||
#-------------------------------------------------------------------------------
|
||||
marketplaceapps:
|
||||
- appname: "Alpine Linux 3.10"
|
||||
name: "alpine"
|
||||
dsid: "${datastore.0.id}"
|
||||
meta:
|
||||
wait: true
|
||||
wait_timeout: 60
|
@ -20,6 +20,7 @@
|
||||
# drivers. It creates the following datastores, using Replica driver:
|
||||
# 1. Image datastore, ${cluster_name}-image
|
||||
# 2. System datastore, ${cluster_name}-system
|
||||
# 3. File datastore, ${cluster_name}-files
|
||||
#
|
||||
# Configuration/Input attributes:
|
||||
# - replica_host: The host that will hold the cluster replicas and snapshots.
|
@ -17,4 +17,4 @@
|
||||
|
||||
image: 'OPENNEBULA-EQUINIX'
|
||||
provider: 'packet'
|
||||
provision_type: 'hybrid+'
|
||||
provision_type: 'metal'
|
@ -36,3 +36,11 @@ inputs:
|
||||
description: "Packet host operating system"
|
||||
default: 'centos_8'
|
||||
|
||||
- name: 'one_hypervisor'
|
||||
type: list
|
||||
description: "Virtualization technology for the cluster hosts"
|
||||
options:
|
||||
- 'kvm'
|
||||
- 'firecracker'
|
||||
|
||||
...
|
@ -25,23 +25,15 @@ name: 'packet-cluster'
|
||||
extends:
|
||||
- common.d/defaults.yml
|
||||
- common.d/resources.yml
|
||||
- common.d/kvm_hosts.yml
|
||||
- common.d/hosts.yml
|
||||
- packet.d/datastores.yml
|
||||
- packet.d/defaults.yml
|
||||
- packet.d/fireedge.yml
|
||||
- packet.d/inputs.yml
|
||||
- packet.d/networks.yml
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# playbook: Ansible playbook used for hosts configuration.The packet playbook
|
||||
# include the following roles:
|
||||
# - ddc
|
||||
# - opennebula-repository
|
||||
# - opennebula-node-kvm
|
||||
# - opennebula-ssh
|
||||
# - tuntap
|
||||
# - bridged-networking
|
||||
# - iptables
|
||||
# playbook: Ansible playbook used for hosts configuration. Check
|
||||
# ansible/packet.yml for the specific roles applied.
|
||||
#-------------------------------------------------------------------------------
|
||||
playbook:
|
||||
- packet
|
||||
@ -65,8 +57,9 @@ defaults:
|
||||
#--------------------------------------------------------------------------------
|
||||
cluster:
|
||||
name: "${provision}"
|
||||
description: 'Packet cluster'
|
||||
description: 'Equinix edge cluster'
|
||||
datastores:
|
||||
- 1
|
||||
- 2
|
||||
reserved_cpu: '0'
|
||||
reserved_mem: '0'
|
8
share/oneprovision/edge-clusters/virtual/description.md
Normal file
8
share/oneprovision/edge-clusters/virtual/description.md
Normal file
@ -0,0 +1,8 @@
|
||||
The virtual edge provision uses virtual instances (VMs) to build an **edge cluster**. This provision is useful for developing and testing or light workloads. It features the following characteristics:
|
||||
|
||||
* Hosts are provisioned as metal instances in the selected provider.
|
||||
* Supported virtualization technologies: QEMU (nested virtualization) and LXC (system containers)
|
||||
* The provision includes a public network (Internet reachable IPs)
|
||||
* It also includes a virtual network template to create private VLANs. You need to instantiate this network template.
|
||||
|
||||
More information [about](about) using this provision can be found in the [OpenNebula documentation](https://opennebula.io)
|
@ -1,12 +1,12 @@
|
||||
name: 'aws-frankfurt'
|
||||
|
||||
description: 'Elastic cluster on AWS in Frankfurt'
|
||||
description: 'Elastic cluster in AWS Frankfurt'
|
||||
provider: 'aws'
|
||||
|
||||
plain:
|
||||
image: 'AWS'
|
||||
location_key: 'region'
|
||||
provision_type: 'hybrid+_qemu'
|
||||
provision_type: 'virtual'
|
||||
|
||||
connection:
|
||||
access_key: 'AWS access key'
|
@ -1,12 +1,12 @@
|
||||
name: 'aws-london'
|
||||
|
||||
description: 'Elastic cluster on AWS in London'
|
||||
description: 'Elastic cluster in AWS London'
|
||||
provider: 'aws'
|
||||
|
||||
plain:
|
||||
image: 'AWS'
|
||||
location_key: 'region'
|
||||
provision_type: 'hybrid+_qemu'
|
||||
provision_type: 'virtual'
|
||||
|
||||
connection:
|
||||
access_key: 'AWS access key'
|
@ -1,12 +1,12 @@
|
||||
name: 'aws-north-virginia'
|
||||
|
||||
description: 'Elastic cluster on AWS in North Virginia'
|
||||
description: 'Elastic cluster in AWS North Virginia'
|
||||
provider: 'aws'
|
||||
|
||||
plain:
|
||||
image: 'AWS'
|
||||
location_key: 'region'
|
||||
provision_type: 'hybrid+_qemu'
|
||||
provision_type: 'virtual'
|
||||
|
||||
connection:
|
||||
access_key: 'AWS access key'
|
@ -1,12 +1,12 @@
|
||||
name: 'aws-north-california'
|
||||
|
||||
description: 'Elastic cluster on AWS in North California'
|
||||
description: 'Elastic cluster in AWS North California'
|
||||
provider: 'aws'
|
||||
|
||||
plain:
|
||||
image: 'AWS'
|
||||
location_key: 'region'
|
||||
provision_type: 'hybrid+_qemu'
|
||||
provision_type: 'virtual'
|
||||
|
||||
connection:
|
||||
access_key: 'AWS access key'
|
@ -17,4 +17,4 @@
|
||||
|
||||
image: 'OPENNEBULA-AWS'
|
||||
provider: 'aws'
|
||||
provision_type: 'hybrid+_qemu'
|
||||
provision_type: 'virtual'
|
@ -33,6 +33,13 @@ inputs:
|
||||
|
||||
- name: 'aws_instance_type'
|
||||
type: text
|
||||
description: "AWS instance type, use bare-metal instances, otherwise use QEMU"
|
||||
description: "AWS instance type, use virtual instances"
|
||||
default: ''
|
||||
|
||||
- name: 'one_hypervisor'
|
||||
type: list
|
||||
description: "Virtualization technology for the cluster hosts"
|
||||
options:
|
||||
- 'qemu'
|
||||
- 'lxc'
|
||||
...
|
@ -25,23 +25,15 @@ name: 'aws-cluster'
|
||||
extends:
|
||||
- common.d/defaults.yml
|
||||
- common.d/resources.yml
|
||||
- common.d/qemu_hosts.yml
|
||||
- common.d/hosts.yml
|
||||
- aws.d/datastores.yml
|
||||
- aws.d/defaults.yml
|
||||
- aws.d/fireedge.yml
|
||||
- aws.d/inputs.yml
|
||||
- aws.d/networks.yml
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# playbook: Ansible playbook used for hosts configuration.The aws playbook
|
||||
# include the following roles:
|
||||
# - ddc
|
||||
# - opennebula-repository
|
||||
# - opennebula-node-kvm
|
||||
# - opennebula-ssh
|
||||
# - tuntap
|
||||
# - bridged-networking
|
||||
# - iptables
|
||||
# playbook: Ansible playbook used for hosts configuration. Check ansible/aws.yml
|
||||
# for the specific roles applied.
|
||||
#-------------------------------------------------------------------------------
|
||||
playbook:
|
||||
- aws
|
||||
@ -68,10 +60,11 @@ defaults:
|
||||
#--------------------------------------------------------------------------------
|
||||
cluster:
|
||||
name: "${provision}"
|
||||
description: 'AWS cluster'
|
||||
description: 'AWS virtual edge cluster'
|
||||
reserved_cpu: '0'
|
||||
reserved_mem: '0'
|
||||
datastores:
|
||||
- 1
|
||||
- 2
|
||||
provision:
|
||||
cidr: '10.0.0.0/16'
|
@ -21,14 +21,15 @@
|
||||
|
||||
defaults:
|
||||
configuration:
|
||||
oneprovision_hypervisor: 'kvm'
|
||||
|
||||
opennebula_node_kvm_use_ev: true
|
||||
# Select the hypervisor package to install
|
||||
oneprovision_hypervisor: "${input.one_hypervisor}"
|
||||
|
||||
# required for copying recovery VM snaphosts to the replica host
|
||||
opennebula_ssh_deploy_private_key: true
|
||||
|
||||
# Options to enable nested virtualization
|
||||
# Options to enable nested virtualization used for QEMU/KVM
|
||||
opennebula_node_kvm_use_ev: true
|
||||
|
||||
opennebula_node_kvm_param_nested: True
|
||||
|
||||
opennebula_node_kvm_manage_kvm: False
|
@ -27,9 +27,9 @@
|
||||
#-------------------------------------------------------------------------------
|
||||
hosts:
|
||||
|
||||
- im_mad: 'kvm'
|
||||
vm_mad: 'kvm'
|
||||
- im_mad: "${input.one_hypervisor}"
|
||||
vm_mad: "${input.one_hypervisor}"
|
||||
provision:
|
||||
count: "${input.number_hosts}"
|
||||
hostname: "kvm-host${index}"
|
||||
hostname: "edge-vhost${index}"
|
||||
...
|
@ -29,10 +29,3 @@
|
||||
# - by index, eg. ${datastore.0.id} to get the OpenNebula ID of the **first**
|
||||
# datastore defined in the provision
|
||||
#-------------------------------------------------------------------------------
|
||||
marketplaceapps:
|
||||
- appname: "Alpine Linux 3.10"
|
||||
name: "alpine"
|
||||
dsid: "${datastore.0.id}"
|
||||
meta:
|
||||
wait: true
|
||||
wait_timeout: 60
|
@ -1,3 +0,0 @@
|
||||
These templates deploy an infrastructure in a remote provider.
|
||||
|
||||
They follow our elastic architecture specification, you can check more information [here](https://opennebula.io/get-true-hybrid-cloud-architecture).
|
@ -1,24 +0,0 @@
|
||||
name: 'aws-frankfurt'
|
||||
|
||||
description: 'Elastic cluster on AWS in Frankfurt'
|
||||
provider: 'aws'
|
||||
|
||||
plain:
|
||||
image: 'AWS'
|
||||
location_key: 'region'
|
||||
provision_type: 'hybrid+'
|
||||
|
||||
connection:
|
||||
access_key: 'AWS access key'
|
||||
secret_key: 'AWS secret key'
|
||||
region: 'eu-central-1'
|
||||
|
||||
inputs:
|
||||
- name: 'aws_ami_image'
|
||||
type: 'list'
|
||||
options:
|
||||
- 'ami-04c21037b3f953d37'
|
||||
- name: 'aws_instance_type'
|
||||
type: 'list'
|
||||
options:
|
||||
- 'i3.metal'
|
@ -1,24 +0,0 @@
|
||||
name: 'aws-london'
|
||||
|
||||
description: 'Elastic cluster on AWS in London'
|
||||
provider: 'aws'
|
||||
|
||||
plain:
|
||||
image: 'AWS'
|
||||
location_key: 'region'
|
||||
provision_type: 'hybrid+'
|
||||
|
||||
connection:
|
||||
access_key: 'AWS access key'
|
||||
secret_key: 'AWS secret key'
|
||||
region: 'eu-west-2'
|
||||
|
||||
inputs:
|
||||
- name: 'aws_ami_image'
|
||||
type: 'list'
|
||||
options:
|
||||
- 'ami-0bab5c8be0975423b'
|
||||
- name: 'aws_instance_type'
|
||||
type: 'list'
|
||||
options:
|
||||
- 'i3.metal'
|
@ -1,24 +0,0 @@
|
||||
name: 'aws-north-virginia'
|
||||
|
||||
description: 'Elastic cluster on AWS in North Virginia'
|
||||
provider: 'aws'
|
||||
|
||||
plain:
|
||||
image: 'AWS'
|
||||
location_key: 'region'
|
||||
provision_type: 'hybrid+'
|
||||
|
||||
connection:
|
||||
access_key: 'AWS access key'
|
||||
secret_key: 'AWS secret key'
|
||||
region: 'us-east-1'
|
||||
|
||||
inputs:
|
||||
- name: 'aws_ami_image'
|
||||
type: 'list'
|
||||
options:
|
||||
- 'ami-0d6e9a57f6259ba3a'
|
||||
- name: 'aws_instance_type'
|
||||
type: 'list'
|
||||
options:
|
||||
- 'i3.metal'
|
@ -1,24 +0,0 @@
|
||||
name: 'aws-north-california'
|
||||
|
||||
description: 'Elastic cluster on AWS in North California'
|
||||
provider: 'aws'
|
||||
|
||||
plain:
|
||||
image: 'AWS'
|
||||
location_key: 'region'
|
||||
provision_type: 'hybrid+'
|
||||
|
||||
connection:
|
||||
access_key: 'AWS access key'
|
||||
secret_key: 'AWS secret key'
|
||||
region: 'us-west-1'
|
||||
|
||||
inputs:
|
||||
- name: 'aws_ami_image'
|
||||
type: 'list'
|
||||
options:
|
||||
- 'ami-00008506813cea27a'
|
||||
- name: 'aws_instance_type'
|
||||
type: 'list'
|
||||
options:
|
||||
- 'i3.metal'
|
@ -1,26 +0,0 @@
|
||||
---
|
||||
# ---------------------------------------------------------------------------- #
|
||||
# Copyright 2002-2021, OpenNebula Project, OpenNebula Systems #
|
||||
# #
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
||||
# not use this file except in compliance with the License. You may obtain #
|
||||
# a copy of the License at #
|
||||
# #
|
||||
# http://www.apache.org/licenses/LICENSE-2.0 #
|
||||
# #
|
||||
# Unless required by applicable law or agreed to in writing, software #
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, #
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
|
||||
# See the License for the specific language governing permissions and #
|
||||
# limitations under the License. #
|
||||
# ---------------------------------------------------------------------------- #
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# defaults: Common configuration attributes for provision objects
|
||||
#--------------------------------------------------------------------------------
|
||||
# configuration: Ansible role parameters.
|
||||
#--------------------------------------------------------------------------------
|
||||
# Check defaults/main.yml in each role for the available variables
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
...
|
@ -1,38 +0,0 @@
|
||||
---
|
||||
# ---------------------------------------------------------------------------- #
|
||||
# Copyright 2002-2021, OpenNebula Project, OpenNebula Systems #
|
||||
# #
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
||||
# not use this file except in compliance with the License. You may obtain #
|
||||
# a copy of the License at #
|
||||
# #
|
||||
# http://www.apache.org/licenses/LICENSE-2.0 #
|
||||
# #
|
||||
# Unless required by applicable law or agreed to in writing, software #
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, #
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
|
||||
# See the License for the specific language governing permissions and #
|
||||
# limitations under the License. #
|
||||
# ---------------------------------------------------------------------------- #
|
||||
|
||||
inputs:
|
||||
- name: 'number_hosts'
|
||||
type: text
|
||||
description: 'Number of AWS instances to create'
|
||||
default: '1'
|
||||
|
||||
- name: 'number_public_ips'
|
||||
type: text
|
||||
description: 'Number of public IPs to get'
|
||||
default: '1'
|
||||
|
||||
- name: 'aws_ami_image'
|
||||
type: text
|
||||
description: "AWS ami image used for host deployments"
|
||||
default: ''
|
||||
|
||||
- name: 'aws_instance_type'
|
||||
type: text
|
||||
description: "AWS instance type, use bare-metal instances, otherwise use QEMU"
|
||||
default: ''
|
||||
...
|
@ -1,29 +0,0 @@
|
||||
---
|
||||
# ---------------------------------------------------------------------------- #
|
||||
# Copyright 2002-2021, OpenNebula Project, OpenNebula Systems #
|
||||
# #
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
||||
# not use this file except in compliance with the License. You may obtain #
|
||||
# a copy of the License at #
|
||||
# #
|
||||
# http://www.apache.org/licenses/LICENSE-2.0 #
|
||||
# #
|
||||
# Unless required by applicable law or agreed to in writing, software #
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, #
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
|
||||
# See the License for the specific language governing permissions and #
|
||||
# limitations under the License. #
|
||||
# ---------------------------------------------------------------------------- #
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# defaults: Common configuration attributes for provision objects
|
||||
#--------------------------------------------------------------------------------
|
||||
|
||||
defaults:
|
||||
configuration:
|
||||
oneprovision_hypervisor: 'kvm'
|
||||
|
||||
opennebula_node_kvm_use_ev: true
|
||||
|
||||
# required for copying recovery VM snaphosts to the replica host
|
||||
opennebula_ssh_deploy_private_key: true
|
@ -1,24 +0,0 @@
|
||||
---
|
||||
# ---------------------------------------------------------------------------- #
|
||||
# Copyright 2002-2021, OpenNebula Project, OpenNebula Systems #
|
||||
# #
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
||||
# not use this file except in compliance with the License. You may obtain #
|
||||
# a copy of the License at #
|
||||
# #
|
||||
# http://www.apache.org/licenses/LICENSE-2.0 #
|
||||
# #
|
||||
# Unless required by applicable law or agreed to in writing, software #
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, #
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
|
||||
# See the License for the specific language governing permissions and #
|
||||
# limitations under the License. #
|
||||
# ---------------------------------------------------------------------------- #
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# defaults: Common configuration attributes for provision objects
|
||||
#--------------------------------------------------------------------------------
|
||||
# configuration: Ansible role parameters.
|
||||
#--------------------------------------------------------------------------------
|
||||
# Check defaults/main.yml in each role for the available variables
|
||||
#-------------------------------------------------------------------------------
|
@ -1,7 +0,0 @@
|
||||
The Firecracker provision uses the Firecracker virtualization technology to start VMs in virtualized hosts. It is useful for developing and testing purposes. It features the following characteristics:
|
||||
|
||||
* Hosts are provisioned as VMs in the selected provider
|
||||
* The provision includes a public network (Internet reachable IPs)
|
||||
* It also includes a virtual network template to create private VLANs. You need to instantiate this network template.
|
||||
|
||||
More information about using this provision can be found in the [OpenNebula documentation](https://opennebula.io)
|
@ -1,24 +0,0 @@
|
||||
name: 'packet-amsterdam'
|
||||
|
||||
description: 'Elastic cluster on Packet in Amsterdam'
|
||||
provider: 'packet'
|
||||
|
||||
plain:
|
||||
image: 'EQUINIX'
|
||||
location_key: 'facility'
|
||||
provision_type: 'hybrid+_firecracker'
|
||||
|
||||
connection:
|
||||
token: 'Packet token'
|
||||
project: 'Packet project'
|
||||
facility: 'ams1'
|
||||
|
||||
inputs:
|
||||
- name: 'packet_os'
|
||||
type: 'list'
|
||||
options:
|
||||
- 'centos_8'
|
||||
- name: 'packet_plan'
|
||||
type: 'list'
|
||||
options:
|
||||
- 'baremetal_0'
|
@ -1,26 +0,0 @@
|
||||
name: 'packet-ewr1'
|
||||
|
||||
description: 'Elastic cluster on Packet in Parsippany, USA, NJ'
|
||||
provider: 'packet'
|
||||
|
||||
plain:
|
||||
image: 'EQUINIX'
|
||||
location_key: 'facility'
|
||||
provision_type: 'hybrid+_firecracker'
|
||||
|
||||
connection:
|
||||
token: 'Packet token'
|
||||
project: 'Packet project'
|
||||
facility: 'ewr1'
|
||||
|
||||
inputs:
|
||||
- name: 'packet_os'
|
||||
type: 'list'
|
||||
options:
|
||||
- 'centos_8'
|
||||
- name: 'packet_plan'
|
||||
type: 'list'
|
||||
options:
|
||||
- 't1.small'
|
||||
- 'c1.small'
|
||||
- 'm1.xlarge'
|
@ -1,26 +0,0 @@
|
||||
name: 'packet-nrt1'
|
||||
|
||||
description: 'Elastic cluster on Packet in Tokyo, Japan'
|
||||
provider: 'packet'
|
||||
|
||||
plain:
|
||||
image: 'EQUINIX'
|
||||
location_key: 'facility'
|
||||
provision_type: 'hybrid+_firecracker'
|
||||
|
||||
connection:
|
||||
token: 'Packet token'
|
||||
project: 'Packet project'
|
||||
facility: 'nrt1'
|
||||
|
||||
inputs:
|
||||
- name: 'packet_os'
|
||||
type: 'list'
|
||||
options:
|
||||
- 'centos_8'
|
||||
- name: 'packet_plan'
|
||||
type: 'list'
|
||||
options:
|
||||
- 't1.small'
|
||||
- 'c1.small'
|
||||
- 'm1.xlarge'
|
@ -1,26 +0,0 @@
|
||||
name: 'packet-sjc1'
|
||||
|
||||
description: 'Elastic cluster on Packet in Sunnyvale, USA, CA'
|
||||
provider: 'packet'
|
||||
|
||||
plain:
|
||||
image: 'EQUINIX'
|
||||
location_key: 'facility'
|
||||
provision_type: 'hybrid+_firecracker'
|
||||
|
||||
connection:
|
||||
token: 'Packet token'
|
||||
project: 'Packet project'
|
||||
facility: 'sjc1'
|
||||
|
||||
inputs:
|
||||
- name: 'packet_os'
|
||||
type: 'list'
|
||||
options:
|
||||
- 'centos_8'
|
||||
- name: 'packet_plan'
|
||||
type: 'list'
|
||||
options:
|
||||
- 't1.small'
|
||||
- 'c1.small'
|
||||
- 'm1.xlarge'
|
@ -1,46 +0,0 @@
|
||||
---
|
||||
# ---------------------------------------------------------------------------- #
|
||||
# Copyright 2002-2021, OpenNebula Project, OpenNebula Systems #
|
||||
# #
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
||||
# not use this file except in compliance with the License. You may obtain #
|
||||
# a copy of the License at #
|
||||
# #
|
||||
# http://www.apache.org/licenses/LICENSE-2.0 #
|
||||
# #
|
||||
# Unless required by applicable law or agreed to in writing, software #
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, #
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
|
||||
# See the License for the specific language governing permissions and #
|
||||
# limitations under the License. #
|
||||
# ---------------------------------------------------------------------------- #
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# datastores: Defines the storage area for the cluster using the SSH replication
|
||||
# drivers. It creates the following datastores, using Replica driver:
|
||||
# 1. Image datastore, ${cluster_name}-image
|
||||
# 2. System datastore, ${cluster_name}-system
|
||||
# 3. File datastore, ${cluster_name}-files
|
||||
#
|
||||
# Configuration/Input attributes:
|
||||
# - replica_host: The host that will hold the cluster replicas and snapshots.
|
||||
#-------------------------------------------------------------------------------
|
||||
datastores:
|
||||
|
||||
- name: "${provision}-image"
|
||||
type: 'image_ds'
|
||||
ds_mad: 'fs'
|
||||
tm_mad: 'ssh'
|
||||
safe_dirs: "/var/tmp /tmp"
|
||||
|
||||
- name: "${provision}-system"
|
||||
type: 'system_ds'
|
||||
tm_mad: 'ssh'
|
||||
safe_dirs: "/var/tmp /tmp"
|
||||
replica_host: "use-first-host"
|
||||
|
||||
- name: "${provision}-files"
|
||||
type: 'file_ds'
|
||||
ds_mad: 'fs'
|
||||
tm_mad: 'ssh'
|
||||
safe_dirs: "/var/tmp /tmp"
|
@ -1,26 +0,0 @@
|
||||
---
|
||||
# ---------------------------------------------------------------------------- #
|
||||
# Copyright 2002-2021, OpenNebula Project, OpenNebula Systems #
|
||||
# #
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
||||
# not use this file except in compliance with the License. You may obtain #
|
||||
# a copy of the License at #
|
||||
# #
|
||||
# http://www.apache.org/licenses/LICENSE-2.0 #
|
||||
# #
|
||||
# Unless required by applicable law or agreed to in writing, software #
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, #
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
|
||||
# See the License for the specific language governing permissions and #
|
||||
# limitations under the License. #
|
||||
# ---------------------------------------------------------------------------- #
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# defaults: Common configuration attributes for provision objects
|
||||
#--------------------------------------------------------------------------------
|
||||
# configuration: Ansible role parameters.
|
||||
#--------------------------------------------------------------------------------
|
||||
# Check defaults/main.yml in each role for the available variables
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
...
|
@ -1,20 +0,0 @@
|
||||
---
|
||||
# ---------------------------------------------------------------------------- #
|
||||
# Copyright 2002-2021, OpenNebula Project, OpenNebula Systems #
|
||||
# #
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
||||
# not use this file except in compliance with the License. You may obtain #
|
||||
# a copy of the License at #
|
||||
# #
|
||||
# http://www.apache.org/licenses/LICENSE-2.0 #
|
||||
# #
|
||||
# Unless required by applicable law or agreed to in writing, software #
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, #
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
|
||||
# See the License for the specific language governing permissions and #
|
||||
# limitations under the License. #
|
||||
# ---------------------------------------------------------------------------- #
|
||||
|
||||
image: 'OPENNEBULA-AWS'
|
||||
provider: 'aws'
|
||||
provision_type: 'hybrid+_firecracker'
|
@ -1,78 +0,0 @@
|
||||
---
|
||||
# ---------------------------------------------------------------------------- #
|
||||
# Copyright 2002-2021, OpenNebula Project, OpenNebula Systems #
|
||||
# #
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
||||
# not use this file except in compliance with the License. You may obtain #
|
||||
# a copy of the License at #
|
||||
# #
|
||||
# http://www.apache.org/licenses/LICENSE-2.0 #
|
||||
# #
|
||||
# Unless required by applicable law or agreed to in writing, software #
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, #
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
|
||||
# See the License for the specific language governing permissions and #
|
||||
# limitations under the License. #
|
||||
# ---------------------------------------------------------------------------- #
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# This is the canonical description file for a cluster build with 'AWS'
|
||||
# resources using the KVM hypervisor.
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
name: 'aws-cluster'
|
||||
|
||||
extends:
|
||||
- common.d/defaults.yml
|
||||
- common.d/resources.yml
|
||||
- common.d/firecracker_hosts.yml
|
||||
- aws.d/datastores.yml
|
||||
- aws.d/defaults.yml
|
||||
- aws.d/fireedge.yml
|
||||
- aws.d/inputs.yml
|
||||
- aws.d/networks.yml
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# playbook: Ansible playbook used for hosts configuration.The aws playbook
|
||||
# include the following roles:
|
||||
# - ddc
|
||||
# - opennebula-repository
|
||||
# - opennebula-node-kvm
|
||||
# - opennebula-ssh
|
||||
# - tuntap
|
||||
# - bridged-networking
|
||||
# - iptables
|
||||
#-------------------------------------------------------------------------------
|
||||
playbook:
|
||||
- aws
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# defaults: Common configuration attributes for provision objects
|
||||
#--------------------------------------------------------------------------------
|
||||
defaults:
|
||||
provision:
|
||||
provider_name: 'aws'
|
||||
ami: "${input.aws_ami_image}"
|
||||
instancetype: "${input.aws_instance_type}"
|
||||
cloud_init: true
|
||||
connection:
|
||||
remote_user: 'centos'
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# cluster: Parameters for the OpenNebula cluster. Applies to all the Hosts
|
||||
#--------------------------------------------------------------------------------
|
||||
# name: of the cluster
|
||||
# description: Additional information
|
||||
# reserved_cpu: In percentage. It will be subtracted from the TOTAL CPU
|
||||
# reserved_memory: In percentage. It will be subtracted from the TOTAL MEM
|
||||
#--------------------------------------------------------------------------------
|
||||
cluster:
|
||||
name: "${provision}"
|
||||
description: 'AWS cluster'
|
||||
reserved_cpu: '0'
|
||||
reserved_mem: '0'
|
||||
datastores:
|
||||
- 1
|
||||
- 2
|
||||
provision:
|
||||
cidr: '10.0.0.0/16'
|
@ -1,35 +0,0 @@
|
||||
---
|
||||
# ---------------------------------------------------------------------------- #
|
||||
# Copyright 2002-2021, OpenNebula Project, OpenNebula Systems #
|
||||
# #
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
||||
# not use this file except in compliance with the License. You may obtain #
|
||||
# a copy of the License at #
|
||||
# #
|
||||
# http://www.apache.org/licenses/LICENSE-2.0 #
|
||||
# #
|
||||
# Unless required by applicable law or agreed to in writing, software #
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, #
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
|
||||
# See the License for the specific language governing permissions and #
|
||||
# limitations under the License. #
|
||||
# ---------------------------------------------------------------------------- #
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# hosts: Packet or AWS metal servers
|
||||
# provision:
|
||||
# - count: Number of servers to create
|
||||
# - hostname: kvm-host1, kvm-host2 .... of the server
|
||||
#
|
||||
# You can define specific OpenNebula configuration attributes for all the hosts:
|
||||
# - reserved_cpu: In percentage. It will be subtracted from the TOTAL CPU
|
||||
# - reserved_memory: In percentage. It will be subtracted from the TOTAL MEM
|
||||
#-------------------------------------------------------------------------------
|
||||
hosts:
|
||||
|
||||
- im_mad: 'firecracker'
|
||||
vm_mad: 'firecracker'
|
||||
provision:
|
||||
count: "${input.number_hosts}"
|
||||
hostname: "firecracker-host${index}"
|
||||
...
|
@ -1,36 +0,0 @@
|
||||
---
|
||||
# ---------------------------------------------------------------------------- #
|
||||
# Copyright 2002-2021, OpenNebula Project, OpenNebula Systems #
|
||||
# #
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
||||
# not use this file except in compliance with the License. You may obtain #
|
||||
# a copy of the License at #
|
||||
# #
|
||||
# http://www.apache.org/licenses/LICENSE-2.0 #
|
||||
# #
|
||||
# Unless required by applicable law or agreed to in writing, software #
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, #
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
|
||||
# See the License for the specific language governing permissions and #
|
||||
# limitations under the License. #
|
||||
# ---------------------------------------------------------------------------- #
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Use this file to define custom resources associated to the cluster, example:
|
||||
# - images
|
||||
# - marketplaceapps
|
||||
# - templates
|
||||
# - vntemplates
|
||||
# - flowtemplates
|
||||
#
|
||||
# Cross-references to other objects can be made:
|
||||
# - by name, eg. ${datastore.images.id} to get the OpenNebula ID of the
|
||||
# datastore with name "images"
|
||||
# - by index, eg. ${datastore.0.id} to get the OpenNebula ID of the **first**
|
||||
# datastore defined in the provision
|
||||
#-------------------------------------------------------------------------------
|
||||
images:
|
||||
- name: fc_kernel
|
||||
ds_id: "${datastore.2.id}"
|
||||
type: kernel
|
||||
path: https://marketplace.opennebula.io/appliance/634c654e-e32c-43d4-9370-20d0e97a3de2/download/0
|
@ -1,46 +0,0 @@
|
||||
---
|
||||
# ---------------------------------------------------------------------------- #
|
||||
# Copyright 2002-2021, OpenNebula Project, OpenNebula Systems #
|
||||
# #
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
||||
# not use this file except in compliance with the License. You may obtain #
|
||||
# a copy of the License at #
|
||||
# #
|
||||
# http://www.apache.org/licenses/LICENSE-2.0 #
|
||||
# #
|
||||
# Unless required by applicable law or agreed to in writing, software #
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, #
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
|
||||
# See the License for the specific language governing permissions and #
|
||||
# limitations under the License. #
|
||||
# ---------------------------------------------------------------------------- #
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# datastores: Defines the storage area for the cluster using the SSH replication
|
||||
# drivers. It creates the following datastores, using Replica driver:
|
||||
# 1. Image datastore, ${cluster_name}-image
|
||||
# 2. System datastore, ${cluster_name}-system
|
||||
# 3. File datastore, ${cluster_name}-files
|
||||
#
|
||||
# Configuration/Input attributes:
|
||||
# - replica_host: The host that will hold the cluster replicas and snapshots.
|
||||
#-------------------------------------------------------------------------------
|
||||
datastores:
|
||||
|
||||
- name: "${provision}-image"
|
||||
type: 'image_ds'
|
||||
ds_mad: 'fs'
|
||||
tm_mad: 'ssh'
|
||||
safe_dirs: "/var/tmp /tmp"
|
||||
|
||||
- name: "${provision}-system"
|
||||
type: 'system_ds'
|
||||
tm_mad: 'ssh'
|
||||
safe_dirs: "/var/tmp /tmp"
|
||||
replica_host: "use-first-host"
|
||||
|
||||
- name: "${provision}-files"
|
||||
type: 'file_ds'
|
||||
ds_mad: 'fs'
|
||||
tm_mad: 'ssh'
|
||||
safe_dirs: "/var/tmp /tmp"
|
@ -1,24 +0,0 @@
|
||||
---
|
||||
# ---------------------------------------------------------------------------- #
|
||||
# Copyright 2002-2021, OpenNebula Project, OpenNebula Systems #
|
||||
# #
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
||||
# not use this file except in compliance with the License. You may obtain #
|
||||
# a copy of the License at #
|
||||
# #
|
||||
# http://www.apache.org/licenses/LICENSE-2.0 #
|
||||
# #
|
||||
# Unless required by applicable law or agreed to in writing, software #
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, #
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
|
||||
# See the License for the specific language governing permissions and #
|
||||
# limitations under the License. #
|
||||
# ---------------------------------------------------------------------------- #
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# defaults: Common configuration attributes for provision objects
|
||||
#--------------------------------------------------------------------------------
|
||||
# configuration: Ansible role parameters.
|
||||
#--------------------------------------------------------------------------------
|
||||
# Check defaults/main.yml in each role for the available variables
|
||||
#-------------------------------------------------------------------------------
|
@ -1,20 +0,0 @@
|
||||
---
|
||||
# ---------------------------------------------------------------------------- #
|
||||
# Copyright 2002-2021, OpenNebula Project, OpenNebula Systems #
|
||||
# #
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
||||
# not use this file except in compliance with the License. You may obtain #
|
||||
# a copy of the License at #
|
||||
# #
|
||||
# http://www.apache.org/licenses/LICENSE-2.0 #
|
||||
# #
|
||||
# Unless required by applicable law or agreed to in writing, software #
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, #
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
|
||||
# See the License for the specific language governing permissions and #
|
||||
# limitations under the License. #
|
||||
# ---------------------------------------------------------------------------- #
|
||||
|
||||
image: 'OPENNEBULA-EQUINIX'
|
||||
provider: 'packet'
|
||||
provision_type: 'hybrid+_firecracker'
|
@ -1,38 +0,0 @@
|
||||
---
|
||||
# ---------------------------------------------------------------------------- #
|
||||
# Copyright 2002-2021, OpenNebula Project, OpenNebula Systems #
|
||||
# #
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
||||
# not use this file except in compliance with the License. You may obtain #
|
||||
# a copy of the License at #
|
||||
# #
|
||||
# http://www.apache.org/licenses/LICENSE-2.0 #
|
||||
# #
|
||||
# Unless required by applicable law or agreed to in writing, software #
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, #
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
|
||||
# See the License for the specific language governing permissions and #
|
||||
# limitations under the License. #
|
||||
# ---------------------------------------------------------------------------- #
|
||||
|
||||
inputs:
|
||||
- name: 'number_hosts'
|
||||
type: text
|
||||
description: "Number of metal servers to create"
|
||||
default: '1'
|
||||
|
||||
- name: 'number_public_ips'
|
||||
type: text
|
||||
description: 'Number of public IPs to get'
|
||||
default: '1'
|
||||
|
||||
- name: 'packet_plan'
|
||||
type: text
|
||||
description: "Packet plan (device type)"
|
||||
default: 'baremetal_0'
|
||||
|
||||
- name: 'packet_os'
|
||||
type: text
|
||||
description: "Packet host operating system"
|
||||
default: 'centos_8'
|
||||
|
@ -1,40 +0,0 @@
|
||||
---
|
||||
# ---------------------------------------------------------------------------- #
|
||||
# Copyright 2002-2021, OpenNebula Project, OpenNebula Systems #
|
||||
# #
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
||||
# not use this file except in compliance with the License. You may obtain #
|
||||
# a copy of the License at #
|
||||
# #
|
||||
# http://www.apache.org/licenses/LICENSE-2.0 #
|
||||
# #
|
||||
# Unless required by applicable law or agreed to in writing, software #
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, #
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
|
||||
# See the License for the specific language governing permissions and #
|
||||
# limitations under the License. #
|
||||
# ---------------------------------------------------------------------------- #
|
||||
|
||||
networks:
|
||||
- name: "${provision}-public"
|
||||
vn_mad: 'elastic'
|
||||
bridge: 'br0'
|
||||
netrole: 'public'
|
||||
provision:
|
||||
count: "${input.number_public_ips}"
|
||||
ar:
|
||||
- provison_id: "${provision_id}"
|
||||
size: '1'
|
||||
packet_ip_type: 'public_ipv4'
|
||||
ipam_mad: 'packet'
|
||||
|
||||
vntemplates:
|
||||
- name: "${provision}-private"
|
||||
vn_mad: 'vxlan'
|
||||
phydev: 'bond0'
|
||||
automatic_vlan_id: 'yes'
|
||||
netrole: 'private'
|
||||
vxlan_mode: 'evpn'
|
||||
vxlan_tep: 'dev'
|
||||
ip_link_conf: 'nolearning='
|
||||
cluster_ids: "${cluster.0.id}"
|
@ -1,73 +0,0 @@
|
||||
---
|
||||
# ---------------------------------------------------------------------------- #
|
||||
# Copyright 2002-2021, OpenNebula Project, OpenNebula Systems #
|
||||
# #
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
||||
# not use this file except in compliance with the License. You may obtain #
|
||||
# a copy of the License at #
|
||||
# #
|
||||
# http://www.apache.org/licenses/LICENSE-2.0 #
|
||||
# #
|
||||
# Unless required by applicable law or agreed to in writing, software #
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, #
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
|
||||
# See the License for the specific language governing permissions and #
|
||||
# limitations under the License. #
|
||||
# ---------------------------------------------------------------------------- #
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# This is the canonical description file for a cluster build with 'Packet'
|
||||
# resources using the KVM hypervisor.
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
name: 'packet-cluster'
|
||||
|
||||
extends:
|
||||
- common.d/defaults.yml
|
||||
- common.d/resources.yml
|
||||
- common.d/firecracker_hosts.yml
|
||||
- packet.d/defaults.yml
|
||||
- packet.d/datastores.yml
|
||||
- packet.d/fireedge.yml
|
||||
- packet.d/inputs.yml
|
||||
- packet.d/networks.yml
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# playbook: Ansible playbook used for hosts configuration.The packet playbook
|
||||
# include the following roles:
|
||||
# - ddc
|
||||
# - opennebula-repository
|
||||
# - opennebula-node-kvm
|
||||
# - opennebula-ssh
|
||||
# - tuntap
|
||||
# - bridged-networking
|
||||
# - iptables
|
||||
#-------------------------------------------------------------------------------
|
||||
playbook:
|
||||
- packet
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# defaults: Common configuration attributes for provision objects
|
||||
#--------------------------------------------------------------------------------
|
||||
defaults:
|
||||
provision:
|
||||
provider_name: 'packet'
|
||||
plan: "${input.packet_plan}"
|
||||
os: "${input.packet_os}"
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# cluster: Parameters for the OpenNebula cluster. Applies to all the Hosts
|
||||
#--------------------------------------------------------------------------------
|
||||
# name: of the cluster
|
||||
# description: Additional information
|
||||
# reserved_cpu: In percentage. It will be subtracted from the TOTAL CPU
|
||||
# reserved_memory: In percentage. It will be subtracted from the TOTAL MEM
|
||||
#--------------------------------------------------------------------------------
|
||||
cluster:
|
||||
name: "${provision}"
|
||||
description: 'Packet cluster'
|
||||
datastores:
|
||||
- 1
|
||||
- 2
|
||||
reserved_cpu: '0'
|
||||
reserved_mem: '0'
|
@ -1,7 +0,0 @@
|
||||
The QEMU provision uses nested virtualization (KVM) to start emulated VMs in virtualized hosts. It is useful for developing and testing purposes. It features the following characteristics:
|
||||
|
||||
* Hosts are provisioned as VMs in the selected provider
|
||||
* The provision includes a public network (Internet reachable IPs)
|
||||
* It also includes a virtual network template to create private VLANs. You need to instantiate this network template.
|
||||
|
||||
More information about using this provision can be found in the [OpenNebula documentation](https://opennebula.io)
|
@ -1,26 +0,0 @@
|
||||
---
|
||||
# ---------------------------------------------------------------------------- #
|
||||
# Copyright 2002-2021, OpenNebula Project, OpenNebula Systems #
|
||||
# #
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
||||
# not use this file except in compliance with the License. You may obtain #
|
||||
# a copy of the License at #
|
||||
# #
|
||||
# http://www.apache.org/licenses/LICENSE-2.0 #
|
||||
# #
|
||||
# Unless required by applicable law or agreed to in writing, software #
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, #
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
|
||||
# See the License for the specific language governing permissions and #
|
||||
# limitations under the License. #
|
||||
# ---------------------------------------------------------------------------- #
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# defaults: Common configuration attributes for provision objects
|
||||
#--------------------------------------------------------------------------------
|
||||
# configuration: Ansible role parameters.
|
||||
#--------------------------------------------------------------------------------
|
||||
# Check defaults/main.yml in each role for the available variables
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
...
|
@ -1,40 +0,0 @@
|
||||
---
|
||||
# ---------------------------------------------------------------------------- #
|
||||
# Copyright 2002-2021, OpenNebula Project, OpenNebula Systems #
|
||||
# #
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
||||
# not use this file except in compliance with the License. You may obtain #
|
||||
# a copy of the License at #
|
||||
# #
|
||||
# http://www.apache.org/licenses/LICENSE-2.0 #
|
||||
# #
|
||||
# Unless required by applicable law or agreed to in writing, software #
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, #
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
|
||||
# See the License for the specific language governing permissions and #
|
||||
# limitations under the License. #
|
||||
# ---------------------------------------------------------------------------- #
|
||||
|
||||
networks:
|
||||
- name: "${provision}-public"
|
||||
vn_mad: 'elastic'
|
||||
bridge: 'br0'
|
||||
netrole: 'public'
|
||||
provision:
|
||||
count: "${input.number_public_ips}"
|
||||
ar:
|
||||
- provison_id: "${provision_id}"
|
||||
size: '1'
|
||||
ipam_mad: 'aws'
|
||||
cidr: "${cluster.0.cidr}"
|
||||
|
||||
vntemplates:
|
||||
- name: "${provision}-private"
|
||||
vn_mad: 'vxlan'
|
||||
phydev: 'eth0'
|
||||
automatic_vlan_id: 'yes'
|
||||
netrole: 'private'
|
||||
vxlan_mode: 'evpn'
|
||||
vxlan_tep: 'dev'
|
||||
ip_link_conf: 'nolearning='
|
||||
cluster_ids: "${cluster.0.id}"
|
1
src/im_mad/remotes/qemu-probes.d
Symbolic link
1
src/im_mad/remotes/qemu-probes.d
Symbolic link
@ -0,0 +1 @@
|
||||
kvm-probes.d/
|
1
src/im_mad/remotes/qemu.d
Symbolic link
1
src/im_mad/remotes/qemu.d
Symbolic link
@ -0,0 +1 @@
|
||||
kvm.d/
|
Loading…
x
Reference in New Issue
Block a user