commit
2fe98047fb
@ -1,4 +1,4 @@
|
||||
# helm_drydock
|
||||
# drydock_provisioner
|
||||
A python REST orchestrator to translate a YAML host topology to a provisioned set of hosts and provide a set of cloud-init post-provisioning instructions.
|
||||
|
||||
To run:
|
||||
@ -6,7 +6,7 @@ To run:
|
||||
$ virtualenv -p python3 /var/tmp/drydock
|
||||
$ . /var/tmp/drydock/bin/activate
|
||||
$ python setup.py install
|
||||
$ uwsgi --http :9000 -w helm_drydock.drydock --callable drydock --enable-threads -L
|
||||
$ uwsgi --http :9000 -w drydock_provisioner.drydock --callable drydock --enable-threads -L
|
||||
|
||||
## Modular service
|
||||
|
||||
|
@ -33,12 +33,12 @@ class DrydockConfig(object):
|
||||
}
|
||||
|
||||
ingester_config = {
|
||||
'plugins': ['helm_drydock.ingester.plugins.yaml.YamlIngester'],
|
||||
'plugins': ['drydock_provisioner.ingester.plugins.yaml.YamlIngester'],
|
||||
}
|
||||
|
||||
orchestrator_config = {
|
||||
'drivers': {
|
||||
'oob': 'helm_drydock.drivers.oob.pyghmi_driver.PyghmiDriver',
|
||||
'node': 'helm_drydock.drivers.node.maasdriver.driver.MaasNodeDriver',
|
||||
'oob': 'drydock_provisioner.drivers.oob.pyghmi_driver.PyghmiDriver',
|
||||
'node': 'drydock_provisioner.drivers.node.maasdriver.driver.MaasNodeDriver',
|
||||
}
|
||||
}
|
@ -23,9 +23,9 @@ def start_api(state_manager=None, ingester=None, orchestrator=None):
|
||||
"""
|
||||
Start the Drydock API service
|
||||
|
||||
:param state_manager: Instance of helm_drydock.statemgmt.manager.DesignState for accessing
|
||||
:param state_manager: Instance of drydock_provisioner.statemgmt.manager.DesignState for accessing
|
||||
state persistence
|
||||
:param ingester: Instance of helm_drydock.ingester.ingester.Ingester for handling design
|
||||
:param ingester: Instance of drydock_provisioner.ingester.ingester.Ingester for handling design
|
||||
part input
|
||||
"""
|
||||
control_api = falcon.API(request_type=DrydockRequest,
|
@ -16,7 +16,7 @@ import uuid
|
||||
import json
|
||||
import logging
|
||||
|
||||
import helm_drydock.error as errors
|
||||
import drydock_provisioner.error as errors
|
||||
|
||||
class BaseResource(object):
|
||||
|
@ -16,8 +16,8 @@ import json
|
||||
import uuid
|
||||
import logging
|
||||
|
||||
import helm_drydock.objects as hd_objects
|
||||
import helm_drydock.error as errors
|
||||
import drydock_provisioner.objects as hd_objects
|
||||
import drydock_provisioner.error as errors
|
||||
|
||||
from .base import StatefulResource
|
||||
|
@ -16,7 +16,7 @@ import falcon
|
||||
import logging
|
||||
import uuid
|
||||
|
||||
import helm_drydock.config as config
|
||||
import drydock_provisioner.config as config
|
||||
|
||||
class AuthMiddleware(object):
|
||||
|
@ -16,7 +16,7 @@ import json
|
||||
import threading
|
||||
import traceback
|
||||
|
||||
import helm_drydock.objects.task as obj_task
|
||||
import drydock_provisioner.objects.task as obj_task
|
||||
from .base import StatefulResource
|
||||
|
||||
class TasksResource(StatefulResource):
|
@ -15,10 +15,10 @@ from threading import Thread, Lock
|
||||
import uuid
|
||||
import time
|
||||
|
||||
import helm_drydock.objects.fields as hd_fields
|
||||
import helm_drydock.statemgmt as statemgmt
|
||||
import helm_drydock.objects.task as tasks
|
||||
import helm_drydock.error as errors
|
||||
import drydock_provisioner.objects.fields as hd_fields
|
||||
import drydock_provisioner.statemgmt as statemgmt
|
||||
import drydock_provisioner.objects.task as tasks
|
||||
import drydock_provisioner.error as errors
|
||||
|
||||
# This is the interface for the orchestrator to access a driver
|
||||
# TODO Need to have each driver spin up a seperate thread to manage
|
@ -13,10 +13,10 @@
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
import helm_drydock.objects.fields as hd_fields
|
||||
import helm_drydock.error as errors
|
||||
import drydock_provisioner.objects.fields as hd_fields
|
||||
import drydock_provisioner.error as errors
|
||||
|
||||
from helm_drydock.drivers import ProviderDriver
|
||||
from drydock_provisioner.drivers import ProviderDriver
|
||||
|
||||
class NodeDriver(ProviderDriver):
|
||||
|
@ -11,17 +11,17 @@
|
||||
# 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.
|
||||
import helm_drydock.error as errors
|
||||
import helm_drydock.config as config
|
||||
import helm_drydock.drivers as drivers
|
||||
import helm_drydock.objects.fields as hd_fields
|
||||
import helm_drydock.objects.task as task_model
|
||||
import drydock_provisioner.error as errors
|
||||
import drydock_provisioner.config as config
|
||||
import drydock_provisioner.drivers as drivers
|
||||
import drydock_provisioner.objects.fields as hd_fields
|
||||
import drydock_provisioner.objects.task as task_model
|
||||
|
||||
from helm_drydock.drivers.node import NodeDriver
|
||||
from drydock_provisioner.drivers.node import NodeDriver
|
||||
from .api_client import MaasRequestFactory
|
||||
import helm_drydock.drivers.node.maasdriver.models.fabric as maas_fabric
|
||||
import helm_drydock.drivers.node.maasdriver.models.vlan as maas_vlan
|
||||
import helm_drydock.drivers.node.maasdriver.models.subnet as maas_subnet
|
||||
import drydock_provisioner.drivers.node.maasdriver.models.fabric as maas_fabric
|
||||
import drydock_provisioner.drivers.node.maasdriver.models.vlan as maas_vlan
|
||||
import drydock_provisioner.drivers.node.maasdriver.models.subnet as maas_subnet
|
||||
|
||||
class MaasNodeDriver(NodeDriver):
|
||||
|
||||
@ -283,7 +283,9 @@ class MaasTaskRunner(drivers.DriverTaskRunner):
|
||||
|
||||
subnet_list = maas_subnet.Subnets(self.maas_client)
|
||||
subnet = subnet_list.add(subnet)
|
||||
|
||||
except ValueError as vex:
|
||||
raise errors.DriverError("Inconsistent data from MaaS")
|
||||
|
||||
subnet_list = maas_subnet.Subnets(self.maas_client)
|
||||
subnet_list.refresh()
|
||||
|
@ -14,7 +14,7 @@
|
||||
import json
|
||||
import re
|
||||
|
||||
import helm_drydock.error as errors
|
||||
import drydock_provisioner.error as errors
|
||||
"""
|
||||
A representation of a MaaS REST resource. Should be subclassed
|
||||
for different resources and augmented with operations specific
|
@ -13,8 +13,8 @@
|
||||
# limitations under the License.
|
||||
import json
|
||||
|
||||
import helm_drydock.drivers.node.maasdriver.models.base as model_base
|
||||
import helm_drydock.drivers.node.maasdriver.models.vlan as model_vlan
|
||||
import drydock_provisioner.drivers.node.maasdriver.models.base as model_base
|
||||
import drydock_provisioner.drivers.node.maasdriver.models.vlan as model_vlan
|
||||
|
||||
class Fabric(model_base.ResourceBase):
|
||||
|
@ -12,7 +12,7 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
import helm_drydock.drivers.node.maasdriver.models.base as model_base
|
||||
import drydock_provisioner.drivers.node.maasdriver.models.base as model_base
|
||||
|
||||
class Subnet(model_base.ResourceBase):
|
||||
|
@ -13,8 +13,8 @@
|
||||
# limitations under the License.
|
||||
import json
|
||||
|
||||
import helm_drydock.error as errors
|
||||
import helm_drydock.drivers.node.maasdriver.models.base as model_base
|
||||
import drydock_provisioner.error as errors
|
||||
import drydock_provisioner.drivers.node.maasdriver.models.base as model_base
|
||||
|
||||
class Vlan(model_base.ResourceBase):
|
||||
|
@ -12,10 +12,10 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
import helm_drydock.objects.fields as hd_fields
|
||||
import helm_drydock.error as errors
|
||||
import drydock_provisioner.objects.fields as hd_fields
|
||||
import drydock_provisioner.error as errors
|
||||
|
||||
from helm_drydock.drivers import ProviderDriver
|
||||
from drydock_provisioner.drivers import ProviderDriver
|
||||
|
||||
class OobDriver(ProviderDriver):
|
||||
|
@ -15,14 +15,14 @@ import time
|
||||
|
||||
from pyghmi.ipmi.command import Command
|
||||
|
||||
import helm_drydock.error as errors
|
||||
import helm_drydock.config as config
|
||||
import drydock_provisioner.error as errors
|
||||
import drydock_provisioner.config as config
|
||||
|
||||
import helm_drydock.objects.fields as hd_fields
|
||||
import helm_drydock.objects.task as task_model
|
||||
import drydock_provisioner.objects.fields as hd_fields
|
||||
import drydock_provisioner.objects.task as task_model
|
||||
|
||||
import helm_drydock.drivers.oob as oob
|
||||
import helm_drydock.drivers as drivers
|
||||
import drydock_provisioner.drivers.oob as oob
|
||||
import drydock_provisioner.drivers as drivers
|
||||
|
||||
|
||||
class PyghmiDriver(oob.OobDriver):
|
@ -13,12 +13,12 @@
|
||||
# limitations under the License.
|
||||
import logging
|
||||
|
||||
import helm_drydock.config as config
|
||||
import helm_drydock.objects as objects
|
||||
import helm_drydock.ingester as ingester
|
||||
import helm_drydock.statemgmt as statemgmt
|
||||
import helm_drydock.orchestrator as orch
|
||||
import helm_drydock.control.api as api
|
||||
import drydock_provisioner.config as config
|
||||
import drydock_provisioner.objects as objects
|
||||
import drydock_provisioner.ingester as ingester
|
||||
import drydock_provisioner.statemgmt as statemgmt
|
||||
import drydock_provisioner.orchestrator as orch
|
||||
import drydock_provisioner.control.api as api
|
||||
|
||||
def start_drydock():
|
||||
objects.register_all()
|
@ -20,14 +20,14 @@ import yaml
|
||||
import uuid
|
||||
import importlib
|
||||
|
||||
import helm_drydock.objects as objects
|
||||
import helm_drydock.objects.site as site
|
||||
import helm_drydock.objects.network as network
|
||||
import helm_drydock.objects.hwprofile as hwprofile
|
||||
import helm_drydock.objects.node as node
|
||||
import helm_drydock.objects.hostprofile as hostprofile
|
||||
import drydock_provisioner.objects as objects
|
||||
import drydock_provisioner.objects.site as site
|
||||
import drydock_provisioner.objects.network as network
|
||||
import drydock_provisioner.objects.hwprofile as hwprofile
|
||||
import drydock_provisioner.objects.node as node
|
||||
import drydock_provisioner.objects.hostprofile as hostprofile
|
||||
|
||||
from helm_drydock.statemgmt import DesignState
|
||||
from drydock_provisioner.statemgmt import DesignState
|
||||
|
||||
class Ingester(object):
|
||||
|
||||
@ -42,7 +42,7 @@ class Ingester(object):
|
||||
:params plugins: - A list of strings naming class objects denoting the ingester plugins to be enabled
|
||||
|
||||
Enable plugins that can be used for ingest_data calls. Each plugin should use
|
||||
helm_drydock.ingester.plugins.IngesterPlugin as its base class. As long as one
|
||||
drydock_provisioner.ingester.plugins.IngesterPlugin as its base class. As long as one
|
||||
enabled plugin successfully initializes, the call is considered successful. Otherwise
|
||||
it will throw an exception
|
||||
"""
|
@ -19,10 +19,10 @@
|
||||
import yaml
|
||||
import logging
|
||||
|
||||
import helm_drydock.objects.fields as hd_fields
|
||||
import drydock_provisioner.objects.fields as hd_fields
|
||||
|
||||
from helm_drydock import objects
|
||||
from helm_drydock.ingester.plugins import IngesterPlugin
|
||||
from drydock_provisioner import objects
|
||||
from drydock_provisioner.ingester.plugins import IngesterPlugin
|
||||
|
||||
class YamlIngester(IngesterPlugin):
|
||||
|
||||
@ -38,7 +38,7 @@ class YamlIngester(IngesterPlugin):
|
||||
|
||||
filenames - Array of absolute path to the YAML files to ingest
|
||||
|
||||
returns an array of objects from helm_drydock.model
|
||||
returns an array of objects from drydock_provisioner.model
|
||||
|
||||
"""
|
||||
def ingest_data(self, **kwargs):
|
@ -6,7 +6,7 @@ different sources.
|
||||
|
||||
Each ingester plugin should be able source data
|
||||
based on user-provided parameters and parse that data
|
||||
into the Drydock internal model (helm_drydock.model).
|
||||
into the Drydock internal model (drydock_provisioner.model).
|
||||
|
||||
Each plugin does not need to support every type of design
|
||||
data as a single site design may be federated from multiple
|
@ -12,7 +12,7 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# Models for helm_drydock
|
||||
# Models for drydock_provisioner
|
||||
#
|
||||
import logging
|
||||
|
||||
@ -23,11 +23,11 @@ def register_all():
|
||||
# NOTE(sh8121att) - Import all versioned objects so
|
||||
# they are available via RPC. Any new object definitions
|
||||
# need to be added here.
|
||||
__import__('helm_drydock.objects.network')
|
||||
__import__('helm_drydock.objects.node')
|
||||
__import__('helm_drydock.objects.hostprofile')
|
||||
__import__('helm_drydock.objects.hwprofile')
|
||||
__import__('helm_drydock.objects.site')
|
||||
__import__('drydock_provisioner.objects.network')
|
||||
__import__('drydock_provisioner.objects.node')
|
||||
__import__('drydock_provisioner.objects.hostprofile')
|
||||
__import__('drydock_provisioner.objects.hwprofile')
|
||||
__import__('drydock_provisioner.objects.site')
|
||||
|
||||
# Utility class for calculating inheritance
|
||||
|
@ -16,12 +16,12 @@ import datetime
|
||||
from oslo_versionedobjects import base
|
||||
from oslo_versionedobjects import fields as obj_fields
|
||||
|
||||
import helm_drydock.objects as objects
|
||||
import drydock_provisioner.objects as objects
|
||||
|
||||
class DrydockObjectRegistry(base.VersionedObjectRegistry):
|
||||
|
||||
# Steal this from Cinder to bring all registered objects
|
||||
# into the helm_drydock.objects namespace
|
||||
# into the drydock_provisioner.objects namespace
|
||||
|
||||
def registration_hook(self, cls, index):
|
||||
setattr(objects, cls.obj_name(), cls)
|
||||
@ -30,7 +30,7 @@ class DrydockObject(base.VersionedObject):
|
||||
|
||||
VERSION = '1.0'
|
||||
|
||||
OBJ_PROJECT_NAMESPACE = 'helm_drydock.objects'
|
||||
OBJ_PROJECT_NAMESPACE = 'drydock_provisioner.objects'
|
||||
|
||||
# Return None for undefined attributes
|
||||
def obj_load_attr(self, attrname):
|
@ -16,9 +16,9 @@ from copy import deepcopy
|
||||
|
||||
import oslo_versionedobjects.fields as obj_fields
|
||||
|
||||
import helm_drydock.objects as objects
|
||||
import helm_drydock.objects.base as base
|
||||
import helm_drydock.objects.fields as hd_fields
|
||||
import drydock_provisioner.objects as objects
|
||||
import drydock_provisioner.objects.base as base
|
||||
import drydock_provisioner.objects.fields as hd_fields
|
||||
|
||||
|
||||
@base.DrydockObjectRegistry.register
|
@ -16,9 +16,9 @@ from copy import deepcopy
|
||||
|
||||
from oslo_versionedobjects import fields as ovo_fields
|
||||
|
||||
import helm_drydock.objects as objects
|
||||
import helm_drydock.objects.base as base
|
||||
import helm_drydock.objects.fields as hd_fields
|
||||
import drydock_provisioner.objects as objects
|
||||
import drydock_provisioner.objects.base as base
|
||||
import drydock_provisioner.objects.fields as hd_fields
|
||||
|
||||
@base.DrydockObjectRegistry.register
|
||||
class HardwareProfile(base.DrydockPersistentObject, base.DrydockObject):
|
@ -12,7 +12,7 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# Models for helm_drydock
|
||||
# Models for drydock_provisioner
|
||||
#
|
||||
import logging
|
||||
|
||||
@ -20,9 +20,9 @@ from copy import deepcopy
|
||||
|
||||
import oslo_versionedobjects.fields as ovo_fields
|
||||
|
||||
import helm_drydock.objects as objects
|
||||
import helm_drydock.objects.base as base
|
||||
import helm_drydock.objects.fields as hd_fields
|
||||
import drydock_provisioner.objects as objects
|
||||
import drydock_provisioner.objects.base as base
|
||||
import drydock_provisioner.objects.fields as hd_fields
|
||||
|
||||
@base.DrydockObjectRegistry.register
|
||||
class NetworkLink(base.DrydockPersistentObject, base.DrydockObject):
|
@ -12,7 +12,7 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# Models for helm_drydock
|
||||
# Models for drydock_provisioner
|
||||
#
|
||||
import logging
|
||||
|
||||
@ -20,13 +20,13 @@ from copy import deepcopy
|
||||
|
||||
from oslo_versionedobjects import fields as ovo_fields
|
||||
|
||||
import helm_drydock.objects as objects
|
||||
import helm_drydock.objects.hostprofile
|
||||
import helm_drydock.objects.base as base
|
||||
import helm_drydock.objects.fields as hd_fields
|
||||
import drydock_provisioner.objects as objects
|
||||
import drydock_provisioner.objects.hostprofile
|
||||
import drydock_provisioner.objects.base as base
|
||||
import drydock_provisioner.objects.fields as hd_fields
|
||||
|
||||
@base.DrydockObjectRegistry.register
|
||||
class BaremetalNode(helm_drydock.objects.hostprofile.HostProfile):
|
||||
class BaremetalNode(drydock_provisioner.objects.hostprofile.HostProfile):
|
||||
|
||||
VERSION = '1.0'
|
||||
|
@ -12,7 +12,7 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# Models for helm_drydock
|
||||
# Models for drydock_provisioner
|
||||
#
|
||||
from copy import deepcopy
|
||||
import uuid
|
||||
@ -20,9 +20,9 @@ import datetime
|
||||
|
||||
import oslo_versionedobjects.fields as ovo_fields
|
||||
|
||||
import helm_drydock.objects as objects
|
||||
import helm_drydock.objects.base as base
|
||||
import helm_drydock.objects.fields as hd_fields
|
||||
import drydock_provisioner.objects as objects
|
||||
import drydock_provisioner.objects.base as base
|
||||
import drydock_provisioner.objects.fields as hd_fields
|
||||
|
||||
|
||||
@base.DrydockObjectRegistry.register
|
@ -15,9 +15,9 @@ import uuid
|
||||
|
||||
from threading import Lock
|
||||
|
||||
import helm_drydock.error as errors
|
||||
import drydock_provisioner.error as errors
|
||||
|
||||
import helm_drydock.objects.fields as hd_fields
|
||||
import drydock_provisioner.objects.fields as hd_fields
|
||||
|
||||
class Task(object):
|
||||
|
@ -19,10 +19,10 @@ import importlib
|
||||
|
||||
from copy import deepcopy
|
||||
|
||||
import helm_drydock.drivers as drivers
|
||||
import helm_drydock.objects.task as tasks
|
||||
import helm_drydock.error as errors
|
||||
import helm_drydock.objects.fields as hd_fields
|
||||
import drydock_provisioner.drivers as drivers
|
||||
import drydock_provisioner.objects.task as tasks
|
||||
import drydock_provisioner.error as errors
|
||||
import drydock_provisioner.objects.fields as hd_fields
|
||||
|
||||
class Orchestrator(object):
|
||||
|
@ -18,10 +18,10 @@ from threading import Lock
|
||||
|
||||
import uuid
|
||||
|
||||
import helm_drydock.objects as objects
|
||||
import helm_drydock.objects.task as tasks
|
||||
import drydock_provisioner.objects as objects
|
||||
import drydock_provisioner.objects.task as tasks
|
||||
|
||||
from helm_drydock.error import DesignError, StateError
|
||||
from drydock_provisioner.error import DesignError, StateError
|
||||
|
||||
class DesignState(object):
|
||||
|
@ -153,7 +153,7 @@ metadata:
|
||||
description: Describe server configuration attributes. Not a specific server, but profile adopted by a server definition
|
||||
spec:
|
||||
# The HostProfile this profile adopts initial state from. No default.
|
||||
# See helm_drydock/objects/readme.md for information on how HostProfile and BaremetalNode inheritance works
|
||||
# See drydock_provisioner/objects/readme.md for information on how HostProfile and BaremetalNode inheritance works
|
||||
host_profile: 'defaults'
|
||||
# The HardwareProfile describing the node hardware. No default.
|
||||
hardware_profile: 'DellR720v1'
|
||||
@ -242,7 +242,7 @@ metadata:
|
||||
description: Specify a physical server.
|
||||
spec:
|
||||
# The HostProfile this server adopts initial state from. No default.
|
||||
# See helm_drydock/objects/readme.md for information on how HostProfile and BaremetalNode inheritance works
|
||||
# See drydock_provisioner/objects/readme.md for information on how HostProfile and BaremetalNode inheritance works
|
||||
host_profile: 'defaults'
|
||||
# The HardwareProfile describing the node hardware. No default.
|
||||
hardware_profile: 'DellR720v1'
|
||||
|
32
setup.py
32
setup.py
@ -12,7 +12,7 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# helm_drydock - A tool to consume a host topology and orchestrate
|
||||
# drydock_provisioner - A tool to consume a host topology and orchestrate
|
||||
# and monitor the provisioning of those hosts and execution of bootstrap
|
||||
# scripts
|
||||
#
|
||||
@ -32,27 +32,27 @@
|
||||
|
||||
from setuptools import setup
|
||||
|
||||
setup(name='helm_drydock',
|
||||
setup(name='drydock_provisioner',
|
||||
version='0.1a1',
|
||||
description='Bootstrapper for Kubernetes infrastructure',
|
||||
url='http://github.com/att-comdev/drydock',
|
||||
author='Scott Hussey - AT&T',
|
||||
author_email='sh8121@att.com',
|
||||
license='Apache 2.0',
|
||||
packages=['helm_drydock',
|
||||
'helm_drydock.objects',
|
||||
'helm_drydock.ingester',
|
||||
'helm_drydock.ingester.plugins',
|
||||
'helm_drydock.statemgmt',
|
||||
'helm_drydock.orchestrator',
|
||||
'helm_drydock.control',
|
||||
'helm_drydock.drivers',
|
||||
'helm_drydock.drivers.oob',
|
||||
'helm_drydock.drivers.oob.pyghmi_driver',
|
||||
'helm_drydock.drivers.node',
|
||||
'helm_drydock.drivers.node.maasdriver',
|
||||
'helm_drydock.drivers.node.maasdriver.models',
|
||||
'helm_drydock.control'],
|
||||
packages=['drydock_provisioner',
|
||||
'drydock_provisioner.objects',
|
||||
'drydock_provisioner.ingester',
|
||||
'drydock_provisioner.ingester.plugins',
|
||||
'drydock_provisioner.statemgmt',
|
||||
'drydock_provisioner.orchestrator',
|
||||
'drydock_provisioner.control',
|
||||
'drydock_provisioner.drivers',
|
||||
'drydock_provisioner.drivers.oob',
|
||||
'drydock_provisioner.drivers.oob.pyghmi_driver',
|
||||
'drydock_provisioner.drivers.node',
|
||||
'drydock_provisioner.drivers.node.maasdriver',
|
||||
'drydock_provisioner.drivers.node.maasdriver.models',
|
||||
'drydock_provisioner.control'],
|
||||
install_requires=[
|
||||
'PyYAML',
|
||||
'pyghmi>=1.0.18',
|
||||
|
@ -13,8 +13,8 @@
|
||||
# limitations under the License.
|
||||
import json
|
||||
|
||||
import helm_drydock.config as config
|
||||
import helm_drydock.drivers.node.maasdriver.api_client as client
|
||||
import drydock_provisioner.config as config
|
||||
import drydock_provisioner.drivers.node.maasdriver.api_client as client
|
||||
|
||||
class TestClass(object):
|
||||
|
||||
|
@ -14,10 +14,10 @@
|
||||
import json
|
||||
import uuid
|
||||
|
||||
import helm_drydock.config as config
|
||||
import helm_drydock.drivers.node.maasdriver.api_client as client
|
||||
import helm_drydock.drivers.node.maasdriver.models.fabric as maas_fabric
|
||||
import helm_drydock.drivers.node.maasdriver.models.subnet as maas_subnet
|
||||
import drydock_provisioner.config as config
|
||||
import drydock_provisioner.drivers.node.maasdriver.api_client as client
|
||||
import drydock_provisioner.drivers.node.maasdriver.models.fabric as maas_fabric
|
||||
import drydock_provisioner.drivers.node.maasdriver.models.subnet as maas_subnet
|
||||
|
||||
class TestClass(object):
|
||||
|
||||
|
@ -17,23 +17,23 @@ import shutil
|
||||
import os
|
||||
import uuid
|
||||
|
||||
import helm_drydock.config as config
|
||||
import helm_drydock.drivers.node.maasdriver.api_client as client
|
||||
import helm_drydock.ingester.plugins.yaml
|
||||
import helm_drydock.statemgmt as statemgmt
|
||||
import helm_drydock.objects as objects
|
||||
import helm_drydock.orchestrator as orch
|
||||
import helm_drydock.objects.fields as hd_fields
|
||||
import helm_drydock.objects.task as task
|
||||
import helm_drydock.drivers as drivers
|
||||
from helm_drydock.ingester import Ingester
|
||||
import drydock_provisioner.config as config
|
||||
import drydock_provisioner.drivers.node.maasdriver.api_client as client
|
||||
import drydock_provisioner.ingester.plugins.yaml
|
||||
import drydock_provisioner.statemgmt as statemgmt
|
||||
import drydock_provisioner.objects as objects
|
||||
import drydock_provisioner.orchestrator as orch
|
||||
import drydock_provisioner.objects.fields as hd_fields
|
||||
import drydock_provisioner.objects.task as task
|
||||
import drydock_provisioner.drivers as drivers
|
||||
from drydock_provisioner.ingester import Ingester
|
||||
|
||||
class TestClass(object):
|
||||
|
||||
def test_client_verify(self):
|
||||
design_state = statemgmt.DesignState()
|
||||
orchestrator = orch.Orchestrator(state_manager=design_state,
|
||||
enabled_drivers={'node': 'helm_drydock.drivers.node.maasdriver.driver.MaasNodeDriver'})
|
||||
enabled_drivers={'node': 'drydock_provisioner.drivers.node.maasdriver.driver.MaasNodeDriver'})
|
||||
|
||||
orch_task = orchestrator.create_task(task.OrchestratorTask,
|
||||
site='sitename',
|
||||
@ -57,14 +57,14 @@ class TestClass(object):
|
||||
design_state.post_design(design_data)
|
||||
|
||||
ingester = Ingester()
|
||||
ingester.enable_plugins([helm_drydock.ingester.plugins.yaml.YamlIngester])
|
||||
ingester.enable_plugins([drydock_provisioner.ingester.plugins.yaml.YamlIngester])
|
||||
ingester.ingest_data(plugin_name='yaml', design_state=design_state,
|
||||
filenames=[str(input_file)], design_id=design_id)
|
||||
|
||||
design_data = design_state.get_design(design_id)
|
||||
|
||||
orchestrator = orch.Orchestrator(state_manager=design_state,
|
||||
enabled_drivers={'node': 'helm_drydock.drivers.node.maasdriver.driver.MaasNodeDriver'})
|
||||
enabled_drivers={'node': 'drydock_provisioner.drivers.node.maasdriver.driver.MaasNodeDriver'})
|
||||
|
||||
orch_task = orchestrator.create_task(task.OrchestratorTask,
|
||||
site='sitename',
|
||||
|
@ -12,16 +12,16 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
from helm_drydock.ingester import Ingester
|
||||
from helm_drydock.statemgmt import DesignState
|
||||
from helm_drydock.orchestrator import Orchestrator
|
||||
from drydock_provisioner.ingester import Ingester
|
||||
from drydock_provisioner.statemgmt import DesignState
|
||||
from drydock_provisioner.orchestrator import Orchestrator
|
||||
|
||||
from copy import deepcopy
|
||||
|
||||
import pytest
|
||||
import shutil
|
||||
import os
|
||||
import helm_drydock.ingester.plugins.yaml
|
||||
import drydock_provisioner.ingester.plugins.yaml
|
||||
import yaml
|
||||
|
||||
class TestClass(object):
|
||||
@ -32,7 +32,7 @@ class TestClass(object):
|
||||
|
||||
def test_design_inheritance(self, loaded_design):
|
||||
orchestrator = Orchestrator(state_manager=loaded_design,
|
||||
enabled_drivers={'oob': 'helm_drydock.drivers.oob.pyghmi_driver.PyghmiDriver'})
|
||||
enabled_drivers={'oob': 'drydock_provisioner.drivers.oob.pyghmi_driver.PyghmiDriver'})
|
||||
|
||||
design_data = orchestrator.load_design_data("sitename")
|
||||
|
||||
@ -63,7 +63,7 @@ class TestClass(object):
|
||||
design_state.post_design_base(design_data)
|
||||
|
||||
ingester = Ingester()
|
||||
ingester.enable_plugins([helm_drydock.ingester.plugins.yaml.YamlIngester])
|
||||
ingester.enable_plugins([drydock_provisioner.ingester.plugins.yaml.YamlIngester])
|
||||
ingester.ingest_data(plugin_name='yaml', design_state=design_state, filenames=[str(input_file)])
|
||||
|
||||
return design_state
|
||||
|
@ -12,14 +12,14 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
from helm_drydock.ingester import Ingester
|
||||
from helm_drydock.statemgmt import DesignState
|
||||
import helm_drydock.objects as objects
|
||||
from drydock_provisioner.ingester import Ingester
|
||||
from drydock_provisioner.statemgmt import DesignState
|
||||
import drydock_provisioner.objects as objects
|
||||
|
||||
import pytest
|
||||
import shutil
|
||||
import os
|
||||
import helm_drydock.ingester.plugins.yaml
|
||||
import drydock_provisioner.ingester.plugins.yaml
|
||||
|
||||
class TestClass(object):
|
||||
|
||||
@ -37,7 +37,7 @@ class TestClass(object):
|
||||
design_state.post_design(design_data)
|
||||
|
||||
ingester = Ingester()
|
||||
ingester.enable_plugins([helm_drydock.ingester.plugins.yaml.YamlIngester])
|
||||
ingester.enable_plugins([drydock_provisioner.ingester.plugins.yaml.YamlIngester])
|
||||
ingester.ingest_data(plugin_name='yaml', design_state=design_state,
|
||||
filenames=[str(input_file)], design_id=design_id)
|
||||
|
||||
@ -59,7 +59,7 @@ class TestClass(object):
|
||||
design_state.post_design(design_data)
|
||||
|
||||
ingester = Ingester()
|
||||
ingester.enable_plugins([helm_drydock.ingester.plugins.yaml.YamlIngester])
|
||||
ingester.enable_plugins([drydock_provisioner.ingester.plugins.yaml.YamlIngester])
|
||||
ingester.ingest_data(plugin_name='yaml', design_state=design_state, design_id=design_id,
|
||||
filenames=[str(profiles_file), str(networks_file), str(nodes_file)])
|
||||
|
||||
|
@ -16,7 +16,7 @@ import shutil
|
||||
import os
|
||||
import uuid
|
||||
|
||||
from helm_drydock.ingester.plugins.yaml import YamlIngester
|
||||
from drydock_provisioner.ingester.plugins.yaml import YamlIngester
|
||||
|
||||
class TestClass(object):
|
||||
|
||||
|
@ -14,8 +14,8 @@
|
||||
|
||||
import pytest
|
||||
|
||||
import helm_drydock.objects as objects
|
||||
from helm_drydock.objects import fields
|
||||
import drydock_provisioner.objects as objects
|
||||
from drydock_provisioner.objects import fields
|
||||
|
||||
class TestClass(object):
|
||||
|
||||
@ -23,7 +23,7 @@ class TestClass(object):
|
||||
objects.register_all()
|
||||
|
||||
model_attr = {
|
||||
'versioned_object.namespace': 'helm_drydock.objects',
|
||||
'versioned_object.namespace': 'drydock_provisioner.objects',
|
||||
'versioned_object.name': 'HardwareProfile',
|
||||
'versioned_object.version': '1.0',
|
||||
'versioned_object.data': {
|
||||
@ -38,13 +38,13 @@ class TestClass(object):
|
||||
'bootstrap_protocol': 'pxe',
|
||||
'pxe_interface': '0',
|
||||
'devices': {
|
||||
'versioned_object.namespace': 'helm_drydock.objects',
|
||||
'versioned_object.namespace': 'drydock_provisioner.objects',
|
||||
'versioned_object.name': 'HardwareDeviceAliasList',
|
||||
'versioned_object.version': '1.0',
|
||||
'versioned_object.data': {
|
||||
'objects': [
|
||||
{
|
||||
'versioned_object.namespace': 'helm_drydock.objects',
|
||||
'versioned_object.namespace': 'drydock_provisioner.objects',
|
||||
'versioned_object.name': 'HardwareDeviceAlias',
|
||||
'versioned_object.version': '1.0',
|
||||
'versioned_object.data': {
|
||||
@ -56,7 +56,7 @@ class TestClass(object):
|
||||
}
|
||||
},
|
||||
{
|
||||
'versioned_object.namespace': 'helm_drydock.objects',
|
||||
'versioned_object.namespace': 'drydock_provisioner.objects',
|
||||
'versioned_object.name': 'HardwareDeviceAlias',
|
||||
'versioned_object.version': '1.0',
|
||||
'versioned_object.data': {
|
||||
|
@ -18,11 +18,11 @@
|
||||
import threading
|
||||
import time
|
||||
|
||||
import helm_drydock.orchestrator as orch
|
||||
import helm_drydock.objects.fields as hd_fields
|
||||
import helm_drydock.statemgmt as statemgmt
|
||||
import helm_drydock.objects.task as task
|
||||
import helm_drydock.drivers as drivers
|
||||
import drydock_provisioner.orchestrator as orch
|
||||
import drydock_provisioner.objects.fields as hd_fields
|
||||
import drydock_provisioner.statemgmt as statemgmt
|
||||
import drydock_provisioner.objects.task as task
|
||||
import drydock_provisioner.drivers as drivers
|
||||
|
||||
|
||||
class TestClass(object):
|
||||
|
@ -23,15 +23,15 @@ import os
|
||||
import shutil
|
||||
import uuid
|
||||
|
||||
from helm_drydock.ingester import Ingester
|
||||
from drydock_provisioner.ingester import Ingester
|
||||
|
||||
import helm_drydock.orchestrator as orch
|
||||
import helm_drydock.objects.fields as hd_fields
|
||||
import helm_drydock.statemgmt as statemgmt
|
||||
import helm_drydock.objects as objects
|
||||
import helm_drydock.objects.task as task
|
||||
import helm_drydock.drivers as drivers
|
||||
import helm_drydock.ingester.plugins.yaml as yaml_ingester
|
||||
import drydock_provisioner.orchestrator as orch
|
||||
import drydock_provisioner.objects.fields as hd_fields
|
||||
import drydock_provisioner.statemgmt as statemgmt
|
||||
import drydock_provisioner.objects as objects
|
||||
import drydock_provisioner.objects.task as task
|
||||
import drydock_provisioner.drivers as drivers
|
||||
import drydock_provisioner.ingester.plugins.yaml as yaml_ingester
|
||||
|
||||
class TestClass(object):
|
||||
|
||||
@ -44,7 +44,7 @@ class TestClass(object):
|
||||
#mocker.patch.object('pyghmi.ipmi.command.Command','get_asset_tag')
|
||||
|
||||
orchestrator = orch.Orchestrator(state_manager=loaded_design,
|
||||
enabled_drivers={'oob': 'helm_drydock.drivers.oob.pyghmi_driver.PyghmiDriver'})
|
||||
enabled_drivers={'oob': 'drydock_provisioner.drivers.oob.pyghmi_driver.PyghmiDriver'})
|
||||
|
||||
orch_task = orchestrator.create_task(task.OrchestratorTask,
|
||||
site='sitename',
|
||||
@ -63,7 +63,7 @@ class TestClass(object):
|
||||
#mocker.patch.object('pyghmi.ipmi.command.Command','set_bootdev')
|
||||
|
||||
orchestrator = orch.Orchestrator(state_manager=loaded_design,
|
||||
enabled_drivers={'oob': 'helm_drydock.drivers.oob.pyghmi_driver.PyghmiDriver'})
|
||||
enabled_drivers={'oob': 'drydock_provisioner.drivers.oob.pyghmi_driver.PyghmiDriver'})
|
||||
|
||||
orch_task = orchestrator.create_task(task.OrchestratorTask,
|
||||
site='sitename',
|
||||
|
@ -15,8 +15,8 @@ import pytest
|
||||
import shutil
|
||||
|
||||
|
||||
import helm_drydock.objects as objects
|
||||
import helm_drydock.statemgmt as statemgmt
|
||||
import drydock_provisioner.objects as objects
|
||||
import drydock_provisioner.statemgmt as statemgmt
|
||||
|
||||
class TestClass(object):
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user