initial commit of plugin structure

This commit is contained in:
dirk 2016-05-24 10:26:46 +02:00
parent 4ba987021b
commit 54e6f7e292
14 changed files with 183 additions and 2 deletions

View File

@ -1,4 +1,4 @@
Apache License
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
@ -199,3 +199,4 @@
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.

View File

@ -1,2 +1,4 @@
# fuel-plugin-dynatrace
fuel-plugin-dynatrace
============
Plugin for OpenStack Fuel that installs the Dynatrace Ruxit agent

12
components.yaml Normal file
View File

@ -0,0 +1,12 @@
# This file contains wizard components descriptions that are pretty similar to
# the `environment_config.yaml`.
# Please, take a look at following link for the details:
# - https://blueprints.launchpad.net/fuel/+spec/component-registry
# - https://specs.openstack.org/openstack/fuel-specs/specs/8.0/component-registry.html
- name: additional_service:fuel-plugin-dynatrace
compatible: []
requires: []
incompatible: []
label: "Plugin label, that will be shown on UI"
description: "Component description (optional)"

4
deployment_scripts/deploy.sh Executable file
View File

@ -0,0 +1,4 @@
#!/bin/bash
# It's a script which deploys your plugin
echo fuel-plugin-dynatrace > /tmp/fuel-plugin-dynatrace

51
deployment_tasks.yaml Normal file
View File

@ -0,0 +1,51 @@
# These tasks will be merged into deployment graph. Here you
# can specify new tasks for any roles, even built-in ones.
- id: fuel-plugin-dynatrace_role
type: group
role: [fuel-plugin-dynatrace_role]
parameters:
strategy:
type: parallel
- id: fuel-plugin-dynatrace-deployment-puppet
type: puppet
role: [fuel-plugin-dynatrace_role]
requires: [deploy_start]
required_for: [deploy_end]
# version: 2.0.0 # tasks v2.0.0 is supporting task-based deployment
# cross-depends:
# - name: deploy_start
# cross-depended-by:
# - name: deploy_end
parameters:
puppet_manifest: "deploy.pp"
puppet_modules: "."
timeout: 3600
#- id: fuel-plugin-dynatrace-post-deployment-sh
# version: 2.0.0
# type: shell
# role: [fuel-plugin-dynatrace_role]
# requires: [post_deployment_start]
# required_for: [post_deployment_end]
# parameters:
# cmd: echo post_deployment_task_executed > /tmp/post_deployment
# retries: 3
# interval: 20
# timeout: 180
#- id: fuel-plugin-dynatrace-pre-deployment-sh
# version: 2.0.0
# type: shell
# role: [fuel-plugin-dynatrace_role]
# requires: [pre_deployment_start]
# required_for: [pre_deployment_end]
# parameters:
# cmd: echo pre_deployment_task_executed > /tmp/pre_deployment
# retries: 3
# interval: 20
# timeout: 180

11
environment_config.yaml Normal file
View File

@ -0,0 +1,11 @@
attributes:
metadata:
# Settings group can be one of "general", "security", "compute", "network",
# "storage", "logging", "openstack_services" and "other".
group: 'other'
fuel-plugin-dynatrace_text:
value: 'Set default value'
label: 'Text field'
description: 'Description for text field'
weight: 25
type: "text"

34
metadata.yaml Normal file
View File

@ -0,0 +1,34 @@
# Plugin name
name: fuel-plugin-dynatrace
# Human-readable name for your plugin
title: Title for fuel-plugin-dynatrace plugin
# Plugin version
version: '1.0.0'
# Description
description: Please describe your plugin here
# Required fuel version
fuel_version: ['8.0']
# Specify license of your plugin
licenses: ['Apache License Version 2.0']
# Specify author or company name
authors: ['Specify author or company name']
# A link to the plugin's page
homepage: 'https://github.com/openstack/fuel-plugins'
# Specify a group which your plugin implements, possible options:
# network, storage, storage::cinder, storage::glance, hypervisor,
# equipment
groups: []
# Change `false` to `true` if the plugin can be installed in the environment
# after the deployment.
is_hotpluggable: false
# The plugin is compatible with releases in the list
releases:
- os: ubuntu
version: liberty-8.0
mode: ['ha']
deployment_scripts_path: deployment_scripts/
repository_path: repositories/ubuntu
# Version of plugin package
package_version: '4.0.0'

15
network_roles.yaml Normal file
View File

@ -0,0 +1,15 @@
# Unique network role name
- id: "example_net_role"
# Role mapping to network
default_mapping: "public"
properties:
# Should be true if network role requires subnet being set
subnet: true
# Should be true if network role requires gateway being set
gateway: false
# List of VIPs to be allocated
vip:
# Unique VIP name
- name: "vip_name"
# Optional linux namespace for VIP
namespace: "haproxy"

13
node_roles.yaml Normal file
View File

@ -0,0 +1,13 @@
fuel-plugin-dynatrace_role:
# Role name
name: "Set here the name for the role. This name will be displayed in the Fuel web UI"
# Role description
description: "Write description for your role"
# If primary then during orchestration this role will be
# separated into primary-role and role
has_primary: false
# Assign public IP to node if true
public_ip_required: false
# Weight that will be used to sort out the
# roles on the Fuel web UI
weight: 1000

5
pre_build_hook Executable file
View File

@ -0,0 +1,5 @@
#!/bin/bash
# Add here any the actions which are required before plugin build
# like packages building, packages downloading from mirrors and so on.
# The script should return 0 if there were no errors.

View File

View File

26
tasks.yaml Normal file
View File

@ -0,0 +1,26 @@
# WARNING: `tasks.yaml` will be deprecated in further releases.
# Please, use `deployment_tasks.yaml` to describe tasks istead.
# This tasks will be applied on controller nodes,
# here you can also specify several roles, for example
# ['cinder', 'compute'] will be applied only on
# cinder and compute nodes
- role: ['controller']
stage: post_deployment
type: shell
parameters:
cmd: bash deploy.sh
timeout: 42
# Task is applied for all roles
- role: '*'
stage: pre_deployment
type: shell
parameters:
cmd: echo all > /tmp/plugin.all
timeout: 42
# "reboot" task reboots the nodes and waits until they get back online
# - role: '*'
# stage: pre_deployment
# type: reboot
# parameters:
# timeout: 600

7
volumes.yaml Normal file
View File

@ -0,0 +1,7 @@
volumes_roles_mapping:
# Default role mapping
fuel-plugin-dynatrace_role:
- {allocate_size: "min", id: "os"}
# Set here new volumes for your role
volumes: []