def take_action(self, parsed_args):
        self.log.debug('take_action(%s)', parsed_args)

        client = self.app.client_manager.orchestration

        config = {}
        if parsed_args.config:
            try:
                config = client.software_configs.get(parsed_args.config)
            except heat_exc.HTTPNotFound:
                msg = (_('Software configuration not found: %s') %
                       parsed_args.config)
                raise exc.CommandError(msg)

        derived_params = deployment_utils.build_derived_config_params(
            parsed_args.action,
            config,
            parsed_args.name,
            heat_utils.format_parameters(parsed_args.input_value, False),
            parsed_args.server,
            parsed_args.signal_transport,
            signal_id=deployment_utils.build_signal_id(client, parsed_args))
        derived_config = client.software_configs.create(**derived_params)

        sd = client.software_deployments.create(config_id=derived_config.id,
                                                server_id=parsed_args.server,
                                                action=parsed_args.action,
                                                status='IN_PROGRESS')

        return zip(*sorted(sd.to_dict().items()))
    def take_action(self, parsed_args):
        self.log.debug('take_action(%s)', parsed_args)

        client = self.app.client_manager.orchestration

        config = {}
        if parsed_args.config:
            try:
                config = client.software_configs.get(parsed_args.config)
            except heat_exc.HTTPNotFound:
                msg = (_('Software configuration not found: %s') %
                       parsed_args.config)
                raise exc.CommandError(msg)

        derived_params = deployment_utils.build_derived_config_params(
            parsed_args.action,
            config,
            parsed_args.name,
            heat_utils.format_parameters(parsed_args.input_value, False),
            parsed_args.server,
            parsed_args.signal_transport,
            signal_id=deployment_utils.build_signal_id(client, parsed_args)
        )
        derived_config = client.software_configs.create(**derived_params)

        sd = client.software_deployments.create(
            config_id=derived_config.id,
            server_id=parsed_args.server,
            action=parsed_args.action,
            status='IN_PROGRESS'
        )

        return zip(*sorted(sd.to_dict().items()))
Example #3
0
def do_deployment_create(hc, args):
    try:
        config = hc.software_configs.get(config_id=args.config)
    except exc.HTTPNotFound:
        raise exc.CommandError(_('Configuration not found: %s') % args.id)

    derrived_params = deployment_utils.build_derived_config_params(
        action=args.action,
        source=config,
        name=args.name,
        input_values=utils.format_parameters(args.input_value, False),
        server_id=args.server,
        signal_transport=args.signal_transport,
        signal_id=deployment_utils.build_signal_id(hc, args)
    )
    derived_config = hc.software_configs.create(**derrived_params)

    sd = hc.software_deployments.create(
        tenant_id='asdf',
        config_id=derived_config.id,
        server_id=args.server,
        action=args.action,
        status='IN_PROGRESS'
    )
    print(jsonutils.dumps(sd.to_dict(), indent=2))
Example #4
0
 def _build_sc_params(self, swift_url):
     source = {
         'config': self.config,
         'group': self.group,
     }
     return deployment_utils.build_derived_config_params(
         action=self.action,
         source=source,
         name=self.name,
         input_values=self.input_values,
         server_id=self.server_id,
         signal_transport=self.signal_transport,
         signal_id=swift_url)
 def _build_sc_params(self, swift_url):
     source = {
         'config': self.config,
         'group': self.group,
     }
     return deployment_utils.build_derived_config_params(
         action=self.action,
         source=source,
         name=self.name,
         input_values=self.input_values,
         server_id=self.server_id,
         signal_transport=self.signal_transport,
         signal_id=swift_url
     )
 def test_build_derived_config_params(self):
     try:
         self.assertEqual(
             self.result,
             deployment_utils.build_derived_config_params(
                 action=self.action,
                 source=self.source,
                 name=self.name,
                 input_values=self.input_values,
                 server_id=self.server_id,
                 signal_transport=self.signal_transport,
                 signal_id=self.signal_id))
     except Exception as e:
         if not self.result_error:
             raise e
         self.assertIsInstance(e, self.result_error)
         self.assertEqual(self.result_error_msg, str(e))
 def test_build_derived_config_params(self):
     try:
         self.assertEqual(
             self.result,
             deployment_utils.build_derived_config_params(
                 action=self.action,
                 source=self.source,
                 name=self.name,
                 input_values=self.input_values,
                 server_id=self.server_id,
                 signal_transport=self.signal_transport,
                 signal_id=self.signal_id))
     except Exception as e:
         if not self.result_error:
             raise e
         self.assertIsInstance(e, self.result_error)
         self.assertEqual(self.result_error_msg, six.text_type(e))