From 30f389c70e8a0a8bd2ef27be09839eef243ab7f5 Mon Sep 17 00:00:00 2001 From: Parker Berberian Date: Wed, 20 Dec 2017 12:48:17 -0500 Subject: Initial Commit for new LaaS Software JIRA: PHAROS-318 The old code I had in here was super beta and no good. I reworked the code to use Stackstorm instead of trying to roll my own automation services. This commit adds a README, install scripts, and the skeleton of a stackstorm pack Change-Id: Ia1c0c29e23316ad0e635c9c181c9a68fdacee664 Signed-off-by: Parker Berberian --- laas-fog/pharoslaas/config.schema.yaml | 40 +++++++++++++++++++++++++++++ laas-fog/pharoslaas/hosts.json | 22 ++++++++++++++++ laas-fog/pharoslaas/pack.yaml | 28 ++++++++++++++++++++ laas-fog/pharoslaas/pharoslaas.yaml.example | 18 +++++++++++++ laas-fog/pharoslaas/requirements.txt | 3 +++ 5 files changed, 111 insertions(+) create mode 100644 laas-fog/pharoslaas/config.schema.yaml create mode 100644 laas-fog/pharoslaas/hosts.json create mode 100644 laas-fog/pharoslaas/pack.yaml create mode 100644 laas-fog/pharoslaas/pharoslaas.yaml.example create mode 100644 laas-fog/pharoslaas/requirements.txt (limited to 'laas-fog/pharoslaas') diff --git a/laas-fog/pharoslaas/config.schema.yaml b/laas-fog/pharoslaas/config.schema.yaml new file mode 100644 index 0000000..309afe8 --- /dev/null +++ b/laas-fog/pharoslaas/config.schema.yaml @@ -0,0 +1,40 @@ +--- +############################################################################## +# Copyright 2017 Parker Berberian and Others # +# # +# 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. # +############################################################################## + +fog: + description: "FOG server configuration" + type: "object" + required: true + properties: + address: + type: "string" + description: "where to reach the fog server" + required: true + api_key: + type: "string" + description: "FOG api key" + required: true + secret: true + user_key: + type: "string" + description: "FOG api user key" + required: true + secret: true + +vpn: + type: object + required: false diff --git a/laas-fog/pharoslaas/hosts.json b/laas-fog/pharoslaas/hosts.json new file mode 100644 index 0000000..a39616c --- /dev/null +++ b/laas-fog/pharoslaas/hosts.json @@ -0,0 +1,22 @@ +[ + { + "name": "pod1", + "value": "{\"pharos_id\": 999, \"fog_name\": \"fog_host1\", \"hostname\": \"pod1\", \"ubuntu_image\": 1, \"centos_image\": 2, \"suse_image\": 3}" + }, + { + "name": "pod2", + "value": "{\"pharos_id\": 998, \"fog_name\": \"fog_host2\", \"hostname\": \"pod2\", \"ubuntu_image\": 1, \"centos_image\": 2, \"suse_image\": 3}" + }, + { + "name": "pod3", + "value": "{\"pharos_id\": 997, \"fog_name\": \"fog_name3\", \"hostname\": \"pod3\", \"ubuntu_image\": 1, \"centos_image\": 2, \"suse_image\": 3}" + }, + { + "name": "hosts", + "value" : "[\"pod1\", \"pod2\", \"pod3\"]" + }, + { + "name": "bookings", + "value": "[]" + } +] diff --git a/laas-fog/pharoslaas/pack.yaml b/laas-fog/pharoslaas/pack.yaml new file mode 100644 index 0000000..7144a71 --- /dev/null +++ b/laas-fog/pharoslaas/pack.yaml @@ -0,0 +1,28 @@ +--- +############################################################################## +# Copyright 2017 Parker Berberian and Others # +# # +# 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. # +############################################################################## + +name: pharoslaas +description: Provides all tools needed to host your own OPNFV lab +keywords: + - OPNFV + - Lab-as-a-Service + - LaaS + - Linux + - Openstack +version: 0.0.1 +author: pberberian +email: pberberian@iol.unh.edu diff --git a/laas-fog/pharoslaas/pharoslaas.yaml.example b/laas-fog/pharoslaas/pharoslaas.yaml.example new file mode 100644 index 0000000..954e0d7 --- /dev/null +++ b/laas-fog/pharoslaas/pharoslaas.yaml.example @@ -0,0 +1,18 @@ +--- +fog: + address: "http://myfogserver.com/fog/" + api_key: "MySecretAPIKey" + user_key: "MySecretAPIUserKey" + +vpn: + server: "myvpn.ldap.server.org" + authentication: + pass: "password" + user: "cn=root,o=opnfv,dc=iol,dc=unh,dc=edu" + directory: + root: "o=opnfv,dc=iol,dc=unh,dc=edu" + user: "ou=People" + user: + objects: + - top + - inetOrgPerson diff --git a/laas-fog/pharoslaas/requirements.txt b/laas-fog/pharoslaas/requirements.txt new file mode 100644 index 0000000..697fe47 --- /dev/null +++ b/laas-fog/pharoslaas/requirements.txt @@ -0,0 +1,3 @@ +requests +libvirt-python +python-ldap -- cgit 1.2.3-korg