settingsLogin | Registersettings

[openstack-announce] [new][ironic] ironic 6.1.0 release (newton)

0 votes

We are excited to announce the release of:

ironic 6.1.0: OpenStack Bare Metal Provisioning

This release is part of the newton release series.

With source available at:

http://git.openstack.org/cgit/openstack/ironic

Please report issues through launchpad:

http://bugs.launchpad.net/ironic

For more details, please see below.

6.1.0
^^^^^

New Features


  • OneView drivers now support dynamic allocation of nodes in
    OneView, allowing for better resource sharing with non-OpenStack
    users since Server Hardware will be allocated only when the node is
    scheduled to be used. To enable the new allocation feature for a
    node, set the flag "dynamicallocation=True" on the node's
    "driver
    info". More information is available at
    http://docs.openstack.org/developer/ironic/drivers/oneview.html.

  • Adds a "resource_class" field to the node resource, which will be
    used by Nova to define which nodes may quantitatively match a Nova
    flavor. Operators should populate this accordingly before deploying
    the Ocata version of Nova.

  • Exposes the "locallinkconnection" and "pxe_enabled" properties
    of the Port resource to the REST API, raising the API maximum
    version to 1.19.

    • The "pxe_enabled" field indicates whether this Port should be
      used when PXE booting this Node.

    • The "locallinkconnection" field may be used to supply the port
      binding profile.

  • A new dictionary field "internalinfo" is added to the port API
    object. It is readonly from the API side, and can contain any
    internal information ironic needs to store for the port.
    "cleaning
    vifportid" is being stored inside this dictionary.

  • Adds support for socat-based serial console to ipmitool-based
    drivers. These are available by using the "agentipmitoolsocat" and
    "pxeipmitoolsocat" drivers.

  • The ironic-api service now supports logging audit messages of API
    calls. The following configuration parameters have been added. By
    default auditing of ironic-api service is turned off.

    • "[audit]/enabled"

    • "[audit]/ignorereqlist"

    • "[audit]/auditmapfile"

    Further documentation for this feature is available at
    http://docs.openstack.org/developer/ironic/deploy/api-audit-
    support.html.

  • Adds support for collecting deployment logs from the IPA ramdisk.
    Five new configuration options were added:

    • "[agent]/deploylogscollect"

    • "[agent]/deploylogsstorage_backend"

    • "[agent]/deploylogslocal_path"

    • "[agent]/deploylogsswift_container"

    • "[agent]/deploylogsswiftdaysto_expire".

  • Ironic now emits timing metrics for all API methods to statsd, if
    enabled by the "[metrics]" and "[metrics_statsd]" configuration
    sections.

  • RESTful access to every API resource may now be controlled by
    adjusting policy settings. Defaults are set in code, and remain
    backwards compatible with the previously-included policy.json file.
    Two new roles are checked by default, "baremetaladmin" and
    "baremetal
    observer", though these may be replaced or overridden by
    configuration. The "baremetal_observer" role grants read-only
    access to Ironic's API.

  • New API endpoint for deploy ramdisk lookup "/v1/lookup". This
    endpoint is not authenticated to allow ramdisks to access it without
    passing the credentials to them.

  • New API endpoint for deploy ramdisk heartbeat
    "/v1/heartbeat/". This endpoint is not authenticated to allow
    ramdisks to access it without passing the credentials to them.

  • Adds multitenant networking support.

    Ironic now has the concept of "network interfaces" for a node, which
    represent a networking driver.

    There are three network interfaces available:

    • "flat": this replicates the old flat network behavior and is the
      default when using neutron for DHCP.

    • "noop": this replicates the old flat behavior when not using
      neutron for DHCP, and is the default when the configuration option
      "[DHCP]/dhcp_provider" is set to "none".

    • "neutron": this allows for separating the provisioning and
      cleaning networks from the tenant networks, and provides isolation
      from tenant network to tenant network, and tenant network to
      control plane. The following configuration options must be set if
      the neutron interface is enabled, or ironic-conductor will fail to
      start:

    • "[neutron]/provisioningnetworkuuid"

    • "[neutron]/cleaningnetworkuuid"

    A "[DEFAULT]/enablednetworkinterfaces" option (which must be set
    for both ironic-api and ironic-conductor services) controls which
    network interfaces are available for use.

    A network interface is set for a node by setting the
    "network_interface" field for the node via the REST API. This field
    is available in API version 1.20 and above. Changing the network
    interface may only be done in the "enroll", "inspecting", and
    "manageable" states.

    The configuration option "[DEFAULT]/defaultnetworkinterface" may
    be used to specify which network interface is defined when a node is
    created.

    WARNING: don't set the option
    [DEFAULT]/default_network_interface before upgrading to this
    release without reading the upgrade notes about it, due to data
    migrations depending on the value.

  • Adds the ability for ironic conductor to pass configurations for
    agent metrics on lookup. When paired with a sufficiently new ironic
    python agent, this will configure the metrics backends.

  • Extend the root device hints to identify whether a disk is
    rotational or not.

  • Added support to validate iLO SSL certificate in iLO drivers. A
    new configuration option "[ilo]/cafile" is added to specify the iLO
    CA certificate file. If "[ilo]/ca
    file" is specified, the iLO
    drivers will validate iLO SSL certificates.

Upgrade Notes


  • Adds a "resource_class" field to the node resource, which will be
    used by Nova to define which nodes may quantitatively match a Nova
    flavor. Operators should populate this accordingly before deploying
    the Ocata version of Nova.

  • Collecting logs on deploy failure is enabled by default and the
    logs will be saved to the local disk at the location specified by
    the configuration option "[agent]/deploylogslocal_path" (by
    default, "/var/log/ironic/deploy"). Operators upgrading may want to
    disable this feature, enable some form of rotation for the logs or
    change the configuration to store the logs in Swift to avoid disk
    space problems.

  • During an upgrade, it is recommended that all deployers re-
    evaluate the settings in their "/etc/ironic/policy.json" file. This
    file should now be used only to override default configuration, such
    as by limiting access to the ironic service to specific tenants or
    restricting access to specific API endpoints. A "policy.json.sample"
    file is provided that lists all supported policies.

  • Changes the way to configure access credentials for OpenStack
    services clients. For each service, both Keystone session options
    (timeout, SSL-related ones) and Keystone authplugin options
    (auth
    url, authtype and corresponding authplugin options) should
    be specified in the configuration section for this service.
    Configuration sections affected are:

    • "[neutron]" for Neutron service user

    • "[glance]" for Glance service user

    • "[swift]" for Swift service user

    • "[inspector]" for Ironic Inspector service user

    • "[service_catalog]" *new section* for Ironic service user, used
      to discover Ironic endpoint from Keystone Catalog

    This enables fine tuning of authentication for each service.

    Backward-compatible options handling is provided using values from
    "[keystone_authtoken]" config section, but operators are advised to
    switch to the new config options as the old options are deprecated.
    The old options will be removed during the Ocata cycle. For more
    information on sessions, auth plugins and their settings, please
    refer to http://docs.openstack.org/developer/keystoneauth/.

  • Small change in semantics of default for "[neutron]/url" option

    • default is changed to None.

    • For the case when "[neutron]/auth_strategy" is "noauth", default
      means use "http://$my_ip:9696".

    • For the case when "[neutron]/auth_strategy" is "keystone",
      default means to resolve the endpoint from Keystone Catalog.

  • New config section "[servicecatalog]" for access credentials used
    to discover Ironic API URL from Keystone Catalog. Previously
    credentials from "[keystone
    authtoken]" section were used, which is
    now deprecated for such purpose.

  • A new configuration option "[api]/restrict_lookup" is added, which
    restricts the lookup API (normally only used by ramdisks) to only
    work when the node is in specific states used by the ramdisk, and
    defaults to True. Operators that need this endpoint to work in any
    state may set this to False, though this is insecure and should not
    be used in normal operation.

  • "[DEFAULT]/defaultnetworkinterface" configuration option is
    introduced, with empty default value. If set, the specified
    interface will be used as the network interface for nodes that don't
    have "networkinterface" field set. If it is not set, the network
    interface is determined by looking at the "[dhcp]/dhcp
    provider"
    value. If it is "neutron" - "flat" network interface is the default,
    "noop" otherwise.

    The network interface will be set for all nodes without
    networkinterface already set via a database migration. This will be
    set following the logic above. When running database migrations for
    an existing deployment, it's important to check the above
    configuration options to ensure the existing nodes will have the
    expected network
    interface. If "[DEFAULT]/defaultnetworkinterface"
    is not set, everything should go as expected. If it is set, ensure
    that it is set to the value that you wish existing nodes to use.

  • Note that if the configuration option
    "[DEFAULT]/defaultnetworkinterface" is set, it must be set in the
    configuration file for both the API and conductor hosts.

  • If "neutron" network interface is specified for the configuration
    option "[DEFAULT]/enablednetworkinterfaces", then
    "[neutron]/provisioningnetworkuuid" and
    "[neutron]/cleaningnetworkuuid" configuration options are
    required. If either of them is not specified, the ironic-conductor
    service will fail to start.

Deprecation Notes


  • Deprecates pre-allocation feature for the OneView drivers since it
    requires resource allocation to Ironic prior to boot time, which
    makes Server Hardware unavailable to non-OpenStack OneView users.
    Pre-allocation will be removed in the OpenStack "P" release. All
    nodes with "dynamicallocation=False" set, or that don't have the
    "dynamic
    allocation" flag set, will be assumed to be in pre-
    allocation. Users may use the REST API or the "ironic-oneview-cli"
    to migrate nodes from pre-allocation to dynamic allocation. More
    information is available at
    http://docs.openstack.org/developer/ironic/drivers/oneview.html.

  • Agent vendor passthru is deprecated and will be removed in Ocata
    release. Operators should update their IPA image to the Newton
    version to use the new replacement API. Driver developers should
    stop using the agent vendor passthru.

  • The "[ilo]/cleanpriorityerasedevices" configuration option is
    deprecated and will be removed in the Ocata cycle. Please use the
    "[deploy]/erase
    devices_priority" option instead.

  • The "[keystoneauthtoken]" configuration section is deprecated for
    configuring clients for other services (but is still used for
    configuring API token authentication), in favor of the
    "[service
    catalog]" section. The ability to configure clients for
    other services via the "[keystone_authtoken]" section will be
    removed during the Ocata cycle.

  • The configuration option "[agent]/heartbeattimeout" was renamed
    to "[api]/ramdisk
    heartbeat_timeout". The old variant is deprecated.

  • "createcleaningports" and "deletecleaningports" methods in
    DHCP providers are deprecated and will be removed completely in the
    Ocata release. The logic they are implementing should be moved to a
    custom network interface's "addcleaningnetwork" and
    "removecleaningnetwork" methods respectively. After that, the
    methods themselves should be removed from DHCP provider so that the
    custom network interface is used instead. "flat" network interface
    does not require "[neutron]/cleaningnetworkuuid" for now so as not
    to break standalone deployments upon upgrade, but it will be
    required in the Ocata release if the "flat" network interface is
    enabled.

  • Putting periodic tasks on a driver object (rather than interface)
    is deprecated. Driver developers should move periodic tasks from
    driver objects to interface objects.

Security Issues


  • Previously, access to Ironic's REST API was "all or nothing".
    With this release, it is now possible to restrict read and write
    access to API resources to specific cloud roles.

Bug Fixes


  • Adoption feature logic was updated to prevent ramdisk creation and
    default to instance creation where appropriate based on the driver.

  • Adoption documentation has been updated to note that the
    boot_option should likely be defined for nodes by a user leveraging
    the feature.

  • Adoption documentation has been updated to note that a user may
    wish to utilize the "noop" network interface that arrived with API
    version 1.20.

  • Fixes the issue of not attaching virtual media during cleaning
    operation for vmedia based drivers.

  • A node using the "agentilo" or "iscsiilo" driver now has its
    "driverinfo/ilodeploy_iso" field validated during node validation.

  • Clear targetpowerstate of the nodes locked by the conductor on
    its startup.

  • Fixed a bug where the ironic python agent ramdisk was not creating
    an ephemeral partition because the ephemeral partition size was not
    being passed correctly to the agent.

  • Do not rely on keystonemiddleware config options for instantiating
    clients for other OpenStack services. This allows changing
    keystonemiddleware options from legacy ones and thus support
    Keystone V3 for token validation.

Other Notes


  • The "continuedeploy" and "rebootto_instance" methods in the
    "BaseAgentVendor" class stopped accepting ** arguments. They were
    never used anyway; drivers should stop passing anything there.

Changes in ironic 6.0.0..6.1.0


9f24731 Refactor OneView dynamic allocation release notes
0fe585a Clean up release notes for 6.1.0
0594cce Refactor multitenant networking release notes
e362836 Updated Dev quickstart for viewing doc changes
eeb81dd Remove duplicate parameters from local.conf example
054eeb6 Check keyword arguments
8c842ec Deprecate putting periodic tasks on a driver object
2f94f9e Updated from global requirements
600e2e4 Update devstack configureironicsshkeypair
a5291b9 Trivial: Remove useless function call in glance service test
0a8d39a Simplify code by using mask
dictpassword (again)
2f84daa Officially deprecate agent passthru classes and API
8af7429 Timing metrics: pxe boot and iscsi deploy driver
5a3c91b Fix the mistakes in Installation Guide doc
dcd93a5 Use devstack test-config phase
4f34242 Rename BaseApiTest.config to app
config
ce19e50 Documentation fixes for iLO SSL Certificate feature
93d2ba4 Metrics for agent client
6ad8529 Simplify code by using maskdictpassword
fd8192b OneView driver docs explaining Dynamic Allocation
6cbea41 Docs: Run py34 tox test before py27
cd7507f Collect deployment logs from IPA
a580593 Fix typo
7eb2b4a Remove oslo-incubator references
8bdd538 Promote agent vendor passthru to core API
fc92d5c Update add nova user to baremetaladmin behaviour
15ab363 Fix typo in Install-guide.rst file
bfdf369 Replacing generic OneViewError w/ InvalidNodeParameter
4483de3 Add Dynamic Allocation feature for the OneView drivers
fd9614d Fix all module attributes
24e02f9 Fix tempest realted exceptions during docs build
c7da7a6 Add keystone policy support to Ironic
e481aab Follow up to keystoneauth patch
1514b2a Add a data migration to fill node.network
interface
906af9e Test that networkinterface is explicitly set on POST/PATCH
bedfbf3 Updated from global requirements
e9ea064 Create a custom StringField that can process functions
30fc692 Revert "Devstack should use a prebuilt ramdisk by default"
288f4e6 Fix for "db type could not be determined" error message
ff5347b Update devstack plugin with new auth options
f9ea26e Migrate to using keystoneauth Sessions
be8577b Updating dev quickstart to include compatiblity for newest distros
ced53d5 Update nova scheduler
hostmanager config docs
bacc872 Extend the "configuring ironic-api behind mod
wsgi" guide
204a6b2 Add metrics for the ipmitool driver
92edcab Timing metrics for agent deploy classes
84bf484 Pass agent metrics config via conductor
c81bd9e Minor docstring and unittests fixes for IPMIConsole
cedff4e Move default networkinterface logic in node object
10ba46f Updated from global requirements
5b752d2 Devstack should use a prebuilt ramdisk by default
8baf29f Updated tests for db migration scripts
46fcfb3 Centralize config options - [agent]
ae6e628 Log full config only once in conductor
f16c657 Add node.resource
class field
395069c Add api-ref for new port fields
295b35c Add support for the audit middleware
641ab43 Change comment regarding networkinterface
7706af3 Fix rendering for version 1.14
c5a7385 Use 'UUID', not 'uuid' in exception strings
857372a IPMITool: add IPMISocatConsole and IPMIConsole class
cd88db1 Use assertEqual() instead of assertDictEqual()
4ae92b4 Remove unused code when failing to start console
b90f3c3 Trivial: Fix a trivial flake8 error
a351fd6 Centralize config options - [deploy]
2de6e17 Centralize config options - [api]
7a0d22c Added note to local.conf addressing firewall/proxy blocking Git protocol
f95be90 Bug fixes and doc updates for adoption
56d75b9 Do the VM setup only when requested
2f3864f Remove unused import
4136f65 Remove duplicate copyright.
a9e48a3 Add build-essential to required packages for development
a9216bb Implement new heartbeat for AgentDeploy
430b815 Add Python 3.5 tox venv
f2eda99 Updated from global requirements
67f2eaf Doc update for in-band cleaning support on more drivers
662c566 Updated from global requirements
d36bd6f Support to validate iLO SSL certificate in iLO drivers
4cb3365 Update {configure|cleanup}ironic
provisionnetwork.
9084c64 Add test to verify ironic multitenancy
ad5a06c Add multitenancy devstack configuration examples.
598dee2 Following the hacking rule for string interpolation at logging
6f0aea9 Centralize config options - [DEFAULT]
dac5aee Add py35 to tox environments
15c3665 Metric chassis, driver, node, and port API calls
6c1aa56 Fix fake.FakeBoot.prepare
ramdisk() signature
47985ea Follow-up to 317392
c46da47 Follow-up patch of 0fcf2e8b51e7dbbcde6d4480b8a7b9c807651546
b9ff262 Updated from global requirements
c62e1be Expose node's networkinterface field in API
8b2a7bd Update devstack section of quickstart to use agent
ipmitool
2bfd136 Grammar fix in code contribution guide
0fcf2e8 Deprecate [ilo]/cleanpriorityerasedevices config
75fc071 Add configure
provisionnetwork function
8fe3207 Update Ironic VM network connection
af78314 Centralize config options - [neutron]
6d84659 Follow-up fixes to 206244
22a80f7 Nova-compatible serial console: socat console
utils
787b9de Updated from global requirements
0a55496 Add multitenancy-related fields to port API object
5041703 Update the deploy drivers with network flipping logic
ab97fa0 Add 'neutron' network interface
f146610 Fix docstring warnings
170ba4f Add and document the "rotational" root device hint
cde1161 Add network interface to base driver class
1805765 Increase devstack BM VM RAM for coreos to boot
8abcf2e Config variable to configure [glance] section
6edfdfa Add support for building ISO for deploy ramdisk
3bc5ebf Add a doc about appending kernel parameters to boot instances
b287c6a Trivial grammar fixes to the upgrade guide
b56f168 Remove unused expectedfilter in the unit test
9e9ceec Updated from global requirements
32ac108 Remove white space between print and ()
3ca8ab0 Remove IBootOperationError exception
068c4be Delete bios
wsmanmock.py from DRAC driver
4359979 Correct reraising of exception
219a690 Allow to enroll nodes with oneview driver
0a5bb69 Add internal
info field to ports and portgroups
dbdd01b Centralize config options - [glance]
8458f9b Document API maxlimit configuration option
e5c23a2 Fix two types in ironic.conf.sample
790fcef Remove unused LOG
e65fb13 Remove iterated form of side effects
1bdf197 Improve the readability of configuration drive doc part
f30f48e Drop IRONIC
DEPLOYDRIVERISCSIWITHIPA from documentation
58fbfab Allow to use network interfaces in devstack
648f00a Updated from global requirements
28f74a8 Centralize config options - [virtualbox]
4938c8e Centralize config options - [swift]
b054914 Centralize config options - [ssh]
c3d8918 Centralize config options - [snmp]
b203d98 Add Ironic specs process to the code contribution guide
b186297 Add networkinterface node field to DB and object
1e2e413 Fix typo in inspection.rst
e5a13e3 Add missing translation marker to clear
nodetargetpowerstate
957e8d1 Throwing an exception when creating a node with tags
e75ff03 Follow-up patch of 9a1aeb76da2ed53e042a94ead8640af9374a10bf
41a489d Fix releasenotes formatting error
86666e7 Improve tests for driver's parse
driverinfo()
31e80ab Centralize config options - [seamicro]
de43a33 Centralize config options - [oneview]
d6a9f08 Centralize config options - [keystone]
038d600 Centralize config options - [irmc]
700ad05 Centralize config options - [ipmi]
fffd741 Centralize config options - [inspector]
ba30be8 Centralize config options - [ilo]
97f9664 Introduce new driver call and RPC for heartbeat
f5e6e79 Remove unnecessary calls to dict.keys()
13d25d4 Fail early if ramdisk type is dib, and not building
088f099 Add dbapi and objects functions to get a node by associated MAC addresses
dd0420c Drop references to RPC calls from user-visible errors
0c50ee3 Centralize config options - [iboot]
474251e Updated from global requirements
8e95cdf Replace dict.get(key) in api & conductor tests
b0565fa Use PRIVATE
NETWORKNAME for devstack plugin
e6c1c16 Create common neutron module
9721dad Updated from global requirements
2e07167 Properly set ephemeral size in agent drivers
2eab1ee Add validation of 'ilo
deployiso' in deploy.validate()
e84051e Restore diskimage-builder install
146f6b4 Updated from global requirements
d52077f Clear target
powerstate on conductor startup
5f22364 Fix test in test
agent_client.py
9a1aeb7 Fix parameter create-node.sh
b9cf7d4 Add Link-Local-Connection info to ironic port
b12d184 Deployment vmedia operations to run when cleaning

Diffstat (except docs and test files)


api-ref/source/baremetal-api-v1-nodes-ports.inc | 3 +
api-ref/source/baremetal-api-v1-ports.inc | 17 +
api-ref/source/parameters.yaml | 37 +-
.../source/samples/node-port-detail-response.json | 9 +-
api-ref/source/samples/port-create-request.json | 7 +-
api-ref/source/samples/port-create-response.json | 9 +-
.../source/samples/port-list-detail-response.json | 9 +-
api-ref/source/samples/port-update-response.json | 9 +-
devstack/files/debs/ironic | 1 +
devstack/files/rpms/ironic | 1 +
devstack/lib/ironic | 394 +++++++--
devstack/plugin.sh | 15 +
devstack/tools/ironic/scripts/configure-vm.py | 9 +-
devstack/tools/ironic/scripts/create-node.sh | 47 +-
devstack/tools/ironic/templates/vm.xml | 5 +-
etc/ironic/ironic.conf.sample | 924 +++++++++++++++++----
etc/ironic/ironicapiauditmap.conf.sample | 29 +
etc/ironic/policy.json | 6 +-
etc/ironic/policy.json.sample | 72 ++
ironic/api/init.py | 57 --
ironic/api/acl.py | 34 -
ironic/api/app.py | 52 +-
ironic/api/config.py | 4 +-
ironic/api/controllers/v1/init.py | 28 +-
ironic/api/controllers/v1/chassis.py | 34 +
ironic/api/controllers/v1/driver.py | 31 +
ironic/api/controllers/v1/node.py | 207 ++++-
ironic/api/controllers/v1/port.py | 97 ++-
ironic/api/controllers/v1/ramdisk.py | 150 ++++
ironic/api/controllers/v1/types.py | 94 +++
ironic/api/controllers/v1/utils.py | 101 +++
ironic/api/controllers/v1/versions.py | 12 +-
ironic/api/hooks.py | 29 +-
ironic/api/middleware/init.py | 4 +-
ironic/cmd/conductor.py | 31 +-
ironic/cmd/dbsync.py | 4 +-
ironic/common/context.py | 5 +-
ironic/common/driver
factory.py | 91 +-
ironic/common/exception.py | 62 +-
ironic/common/fsm.py | 2 +-
ironic/common/glanceservice/v2/imageservice.py | 97 +--
ironic/common/hashring.py | 33 +-
ironic/common/image
service.py | 54 +-
ironic/common/images.py | 23 +-
ironic/common/keystone.py | 194 ++---
ironic/common/network.py | 12 +-
ironic/common/neutron.py | 259 ++++++
ironic/common/paths.py | 22 +-
ironic/common/policy.py | 210 ++++-
ironic/common/rpc.py | 5 -
ironic/common/service.py | 19 +-
ironic/common/swift.py | 94 +--
ironic/common/utils.py | 50 +-
ironic/conductor/basemanager.py | 10 +-
ironic/conductor/manager.py | 70 +-
ironic/conductor/rpcapi.py | 15 +-
ironic/conf/init.py | 44 +
ironic/conf/agent.py | 91 ++
ironic/conf/api.py | 68 ++
ironic/conf/audit.py | 38 +
ironic/conf/auth.py | 79 ++
ironic/conf/console.py | 8 +-
ironic/conf/default.py | 203 +++++
ironic/conf/deploy.py | 68 ++
ironic/conf/glance.py | 153 ++++
ironic/conf/iboot.py | 42 +
ironic/conf/ilo.py | 87 ++
ironic/conf/inspector.py | 39 +
ironic/conf/ipmi.py | 41 +
ironic/conf/irmc.py | 73 ++
ironic/conf/keystone.py | 27 +
ironic/conf/metrics.py | 55 ++
ironic/conf/metrics
statsd.py | 36 +
ironic/conf/neutron.py | 66 ++
ironic/conf/oneview.py | 53 ++
ironic/conf/opts.py | 103 +--
ironic/conf/seamicro.py | 34 +
ironic/conf/servicecatalog.py | 33 +
ironic/conf/snmp.py | 41 +
ironic/conf/ssh.py | 38 +
ironic/conf/swift.py | 36 +
ironic/conf/virtualbox.py | 27 +
ironic/db/api.py | 10 +
...0b163d4481e
addportportgroupinternalinfo.py | 35 +
...c14cef6dfedfpopulatenodenetworkinterface.py | 44 +
.../dd34e1f1303baddresourceclasstonode.py | 33 +
.../e294876e8028
addnodenetworkinterface.py | 31 +
ironic/db/sqlalchemy/api.py | 49 +-
ironic/db/sqlalchemy/models.py | 5 +
ironic/dhcp/neutron.py | 222 ++---
ironic/drivers/agent.py | 19 +
ironic/drivers/base.py | 97 ++-
ironic/drivers/fake.py | 11 +
ironic/drivers/modules/agent.py | 399 ++++-----
ironic/drivers/modules/agent
basevendor.py | 652 ++++++++-------
ironic/drivers/modules/agent
client.py | 37 +-
ironic/drivers/modules/amt/vendor.py | 4 +-
ironic/drivers/modules/consoleutils.py | 133 ++-
ironic/drivers/modules/deploy
utils.py | 197 +++--
ironic/drivers/modules/drac/management.py | 7 +-
ironic/drivers/modules/fake.py | 2 +-
ironic/drivers/modules/iboot.py | 26 +-
ironic/drivers/modules/ilo/boot.py | 7 +-
ironic/drivers/modules/ilo/common.py | 42 +-
ironic/drivers/modules/ilo/deploy.py | 86 +-
ironic/drivers/modules/ilo/management.py | 30 +-
ironic/drivers/modules/ilo/power.py | 17 +-
ironic/drivers/modules/ilo/vendor.py | 4 +-
ironic/drivers/modules/imagecache.py | 13 +-
ironic/drivers/modules/inspector.py | 29 +-
ironic/drivers/modules/ipminative.py | 22 +-
ironic/drivers/modules/ipmitool.py | 117 ++-
ironic/drivers/modules/irmc/boot.py | 36 +-
ironic/drivers/modules/irmc/common.py | 37 +-
ironic/drivers/modules/irmc/inspect.py | 38 +-
ironic/drivers/modules/iscsi
deploy.py | 122 ++-
ironic/drivers/modules/network/init.py | 0
ironic/drivers/modules/network/flat.py | 121 +++
ironic/drivers/modules/network/neutron.py | 212 +++++
ironic/drivers/modules/network/noop.py | 59 ++
ironic/drivers/modules/oneview/common.py | 88 +-
ironic/drivers/modules/oneview/deploy.py | 264 ++++++
ironic/drivers/modules/oneview/deployutils.py | 317 +++++++
ironic/drivers/modules/oneview/management.py | 4 -
ironic/drivers/modules/oneview/power.py | 14 +-
ironic/drivers/modules/oneview/vendor.py | 3 +-
ironic/drivers/modules/pxe.py | 10 +
ironic/drivers/modules/seamicro.py | 20 +-
ironic/drivers/modules/snmp.py | 18 +-
ironic/drivers/modules/ssh.py | 20 +-
ironic/drivers/modules/virtualbox.py | 10 +-
ironic/drivers/oneview.py | 31 +-
ironic/drivers/pxe.py | 19 +
ironic/drivers/utils.py | 109 +++
ironic/netconf.py | 34 -
ironic/objects/fields.py | 33 +
ironic/objects/node.py | 33 +-
ironic/objects/port.py | 6 +-
ironic/objects/portgroup.py | 4 +-
.../unit/drivers/modules/amt/test
management.py | 3 +-
.../unit/drivers/modules/drac/bioswsmanmock.py | 273 ------
.../unit/drivers/modules/irmc/testmanagement.py | 2 +-
.../drivers/modules/msftocs/test
management.py | 3 +-
.../drivers/modules/msftocs/testmsftocsclient.py | 2 +-
.../unit/drivers/modules/msftocs/test
power.py | 3 +-
.../unit/drivers/modules/network/testflat.py | 85 ++
.../unit/drivers/modules/network/test
neutron.py | 231 ++++++
.../unit/drivers/modules/oneview/testcommon.py | 142 +++-
.../unit/drivers/modules/oneview/test
deploy.py | 144 ++++
.../drivers/modules/oneview/testdeployutils.py | 349 ++++++++
.../unit/drivers/modules/oneview/testvendor.py | 11 +-
.../unit/drivers/modules/test
agentbasevendor.py | 425 ++++++----
.../unit/drivers/modules/testagentclient.py | 5 +-
.../unit/drivers/modules/testconsoleutils.py | 136 ++-
.../unit/drivers/modules/testdeployutils.py | 249 ++++--
.../unit/drivers/modules/testiscsideploy.py | 109 ++-
.../unit/drivers/thirdpartydrivermockspecs.py | 2 +
ironictempestplugin/config.py | 3 +
.../add-agent-erase-fallback-b07613a7042fe236.yaml | 2 +-
...ynamic-allocation-feature-2fd6b4df7943f178.yaml | 20 +
.../add-node-resource-class-c31e26df4196293e.yaml | 13 +
...-port-advanced-net-fields-55465091f019d962.yaml | 10 +
.../add-port-internal-info-b7e02889416570f7.yaml | 6 +
...dd-socat-console-ipmitool-ab4402ec976c5c96.yaml | 5 +
.../adding-audit-middleware-b95f2a00baed9750.yaml | 13 +
.../adoption-feature-update-d2160954a2c36b0a.yaml | 11 +
releasenotes/notes/agent-api-bf9f18d8d38075e4.yaml | 5 +
.../notes/bug-1570283-6cdc62e4ef43cb02.yaml | 4 +
.../notes/bug-1592335-7c5835868fe364ea.yaml | 5 +
...r-node-target-power-state-de1f25be46d3e6d7.yaml | 4 +
.../collect-deployment-logs-2ec1634847c3f6a5.yaml | 18 +
.../deprecate-agent-passthru-67d1e2cf25b30a30.yaml | 6 +
...mit-metrics-for-api-calls-69f18fd1b9d54b05.yaml | 5 +
...x-ipa-ephemeral-partition-1f1e020727a49078.yaml | 5 +
...se-device-priority-config-509661955a11c28e.yaml | 5 +
.../implement-policy-in-code-cbb0216ef5f8224f.yaml | 22 +
.../notes/keystone-auth-3155762c524e44df.yaml | 51 ++
.../notes/lookup-heartbeat-f9772521d12a0549.yaml | 17 +
.../multitenant-networking-0a13c4aba252573e.yaml | 77 ++
...config-to-agent-on-lookup-6db9ae187c4e8151.yaml | 7 +
.../periodic-tasks-drivers-ae9cddab88b546c6.yaml | 5 +
...t-device-hints-rotational-c21f02130394e1d4.yaml | 4 +
...validate-ilo-certificates-3ab98bb8cfad7d60.yaml | 7 +
requirements.txt | 18 +-
setup.cfg | 13 +
test-requirements.txt | 8 +-
tools/config/ironic-config-generator.conf | 2 +
tox.ini | 8 +-
278 files changed, 13318 insertions(+), 3921 deletions(-)

Requirements updates


diff --git a/requirements.txt b/requirements.txt
index 94e5339..fc37041 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -12 +12 @@ netaddr!=0.7.16,>=0.7.12 # BSD
-paramiko>=2.0 # LGPL
+paramiko>=2.0 # LGPLv2.1+
@@ -15,2 +15,2 @@ python-glanceclient>=2.0.0 # Apache-2.0
-python-keystoneclient!=1.8.0,!=2.1.0,>=1.7.0 # Apache-2.0
-ironic-lib>=1.3.0 # Apache-2.0
+keystoneauth1>=2.10.0 # Apache-2.0
+ironic-lib>=2.0.0 # Apache-2.0
@@ -19 +19 @@ pytz>=2013.6 # MIT
-stevedore>=1.10.0 # Apache-2.0
+stevedore>=1.16.0 # Apache-2.0
@@ -23 +23 @@ oslo.concurrency>=3.8.0 # Apache-2.0
-oslo.config>=3.10.0 # Apache-2.0
+oslo.config>=3.14.0 # Apache-2.0
@@ -26 +26 @@ oslo.db>=4.1.0 # Apache-2.0
-oslo.rootwrap>=2.0.0 # Apache-2.0
+oslo.rootwrap>=5.0.0 # Apache-2.0
@@ -33 +33 @@ oslo.service>=1.10.0 # Apache-2.0
-oslo.utils>=3.11.0 # Apache-2.0
+oslo.utils>=3.16.0 # Apache-2.0
@@ -43 +43 @@ retrying!=1.3.0,>=1.2.3 # Apache-2.0
-oslo.versionedobjects>=1.9.1 # Apache-2.0
+oslo.versionedobjects>=1.13.0 # Apache-2.0
@@ -46 +46 @@ psutil<2.0.0,>=1.1.1 # BSD
-futurist>=0.11.0 # Apache-2.0
+futurist!=0.15.0,>=0.11.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index a470e5e..86db171 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -14 +14 @@ psycopg2>=2.5 # LGPL/ZPL
-python-ironicclient>=1.1.0 # Apache-2.0
+python-ironicclient>=1.6.0 # Apache-2.0
@@ -24 +24 @@ bashate>=0.2 # Apache-2.0
-sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2 # BSD
+sphinx!=1.3b1,<1.3,>=1.2.1 # BSD
@@ -28,2 +28,2 @@ oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0
-reno>=1.6.2 # Apache2
-os-api-ref>=0.1.0 # Apache-2.0
+reno>=1.8.0 # Apache2
+os-api-ref>=0.4.0 # Apache-2.0


OpenStack-announce mailing list
OpenStack-announce@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-announce
asked Aug 11, 2016 in openstack-announce by no-reply_at_openstac (33,960 points)   2 16 39
retagged Jan 26, 2017 by admin
...