How to use the metalsmith.InstanceState.ACTIVE function in metalsmith

To help you get started, we’ve selected a few metalsmith examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github openstack / tripleo-common / tripleo_common / actions / baremetal_deploy.py View on Github external
error="%s. %s: %s" % (message, type(exc).__name__, exc)
                )
            else:
                # NOTE(dtantsur): metalsmith can match instances by node names,
                # provide a safeguard to avoid conflicts.
                if (instance.hostname and
                        instance.hostname != request['hostname']):
                    error = ("Requested hostname %s was not found, but the "
                             "deployed node %s has a matching name. Refusing "
                             "to proceed to avoid confusing results. Please "
                             "either rename the node or use a different "
                             "hostname") % (request['hostname'], instance.uuid)
                    return actions.Result(error=error)

                if (not instance.allocation
                        and instance.state == metalsmith.InstanceState.ACTIVE
                        and 'name' in request):
                    # Existing node is missing an allocation record,
                    # so create one without triggering allocation
                    LOG.debug('Reserving existing %s' % request['name'])
                    self.get_baremetal_client(context).allocation.create(
                        resource_class=request.get('resource_class') or
                        self.default_resource_class,
                        name=request['hostname'],
                        node=request['name']
                    )
                found.append(_instance_to_dict(provisioner.connection,
                                               instance))

        if found:
            LOG.info('Found existing instances: %s',
                     ', '.join(r['hostname'] for r in found))

metalsmith

Deployment and Scheduling tool for Bare Metal

Apache-2.0
Latest version published 4 months ago

Package Health Score

52 / 100
Full package analysis