Add plugin stub

This commit is contained in:
Igor Zinovik 2016-07-25 17:50:26 +03:00
parent edf068d592
commit 19755eb391
14 changed files with 199 additions and 1 deletions

4
.gitignore vendored Normal file
View File

@ -0,0 +1,4 @@
.tox
.build
_build
*.pyc

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.

4
README.md Normal file
View File

@ -0,0 +1,4 @@
nsx
============
Plugin description

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:nsx
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 nsx > /tmp/nsx

62
deployment_tasks.yaml Normal file
View File

@ -0,0 +1,62 @@
# These tasks will be merged into deployment graph. Here you
# can specify new tasks for any roles, even built-in ones.
- id: nsx_role
type: group
role: [nsx_role]
parameters:
strategy:
type: parallel
- id: nsx-deployment-puppet
type: puppet
role: [nsx_role]
# If you do not want to use task-based deployment that is introduced as experimental
# in fuel v8.0 comment code section below this comment, uncomment two lines below it
# and do the same for tasks below.
version: 2.0.0
cross-depends:
- name: deploy_start
cross-depended-by:
- name: deploy_end
# requires: [deploy_start] # version 1.0.0
# required_for: [deploy_end]
parameters:
puppet_manifest: "deploy.pp"
puppet_modules: "."
timeout: 3600
#- id: nsx-post-deployment-sh
# type: shell
# role: [nsx_role]
# version: 2.0.0
# cross-depends:
# - name: post_deployment_start
# cross-depended-by:
# - name: post_deployment_end
# # 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: nsx-pre-deployment-sh
# type: shell
# role: [nsx_role]
# version: 2.0.0
# cross-depends:
# - name: pre_deployment_start
# cross-depended-by:
# - name: pre_deployment_end
# # 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'
nsx_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: nsx
# Human-readable name for your plugin
title: Title for nsx 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: mitaka-9.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 @@
nsx_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

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 instead.
# 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
nsx_role:
- {allocate_size: "min", id: "os"}
# Set here new volumes for your role
volumes: []