← Back to team overview

group.of.nepali.translators team mailing list archive

[Bug 1615780] Re: Confusing 'success' message when apply_net fails.

 

** Also affects: curtin (Ubuntu)
   Importance: Undecided
       Status: New

** Also affects: curtin (Ubuntu Xenial)
   Importance: Undecided
       Status: New

** Changed in: curtin (Ubuntu)
       Status: New => Fix Released

** Changed in: curtin (Ubuntu Xenial)
       Status: New => Fix Committed

-- 
You received this bug notification because you are a member of नेपाली
भाषा समायोजकहरुको समूह, which is subscribed to Xenial.
Matching subscriptions: Ubuntu 16.04 Bugs
https://bugs.launchpad.net/bugs/1615780

Title:
  Confusing 'success' message when apply_net fails.

Status in curtin:
  In Progress
Status in curtin package in Ubuntu:
  Fix Released
Status in curtin source package in Xenial:
  Fix Committed

Bug description:
  [Impact]

   * Curtin produced a configusing 'success' message when failying to apply
     a provided network configuration.

     Curtin has been updated to ensure that if 'apply_net' commands fail
     the return code is propagated up to the invocation and no longer 
     prints both a success and failure message when a failure occurs.
     
  [Test Case]

   * Install proposed curtin package and run the command
     - # curtin apply_net -t target -c bad.yaml

    PASS: Curtin does not emit successful message:
          'Applied network configuration successfully'

    FAIL: Curtin emits both
          'Applied network configuration successfully' and
          'failed to apply network config'

  [Regression Potential]

   * Users of apply_net cli command may have examined the output of the
     command which is now modified, as well as the return code.

  
  [Original Description]

  When apply_net fails, the user both a fail message and a success
  message.. a bit confusing.

  root@x1:~# curtin apply_net -t target -c bad.yaml
  Applying network configuration
  failed to apply network config
  Traceback (most recent call last):
    File "/usr/lib/python3/dist-packages/curtin/commands/apply_net.py", line 78, in apply_net_main
      network_config=state['network_config'])
    File "/usr/lib/python3/dist-packages/curtin/commands/apply_net.py", line 44, in apply_net
      ns = net.parse_net_config(network_config)
    File "/usr/lib/python3/dist-packages/curtin/net/__init__.py", line 283, in parse_net_config
      net_config = config.load_config(path)
    File "/usr/lib/python3/dist-packages/curtin/config.py", line 117, in load_config
      return yaml.safe_load(content)
    File "/usr/lib/python3/dist-packages/yaml/__init__.py", line 94, in safe_load
      return load(stream, SafeLoader)
    File "/usr/lib/python3/dist-packages/yaml/__init__.py", line 72, in load
      return loader.get_single_data()
    File "/usr/lib/python3/dist-packages/yaml/constructor.py", line 35, in get_single_data
      node = self.get_single_node()
    File "/usr/lib/python3/dist-packages/yaml/composer.py", line 36, in get_single_node
      document = self.compose_document()
    File "/usr/lib/python3/dist-packages/yaml/composer.py", line 55, in compose_document
      node = self.compose_node(None, None)
    File "/usr/lib/python3/dist-packages/yaml/composer.py", line 84, in compose_node
      node = self.compose_mapping_node(anchor)
    File "/usr/lib/python3/dist-packages/yaml/composer.py", line 133, in compose_mapping_node
      item_value = self.compose_node(node, item_key)
    File "/usr/lib/python3/dist-packages/yaml/composer.py", line 84, in compose_node
      node = self.compose_mapping_node(anchor)
    File "/usr/lib/python3/dist-packages/yaml/composer.py", line 127, in compose_mapping_node
      while not self.check_event(MappingEndEvent):
    File "/usr/lib/python3/dist-packages/yaml/parser.py", line 98, in check_event
      self.current_event = self.state()
    File "/usr/lib/python3/dist-packages/yaml/parser.py", line 428, in parse_block_mapping_key
      if self.check_token(KeyToken):
    File "/usr/lib/python3/dist-packages/yaml/scanner.py", line 116, in check_token
      self.fetch_more_tokens()
    File "/usr/lib/python3/dist-packages/yaml/scanner.py", line 257, in fetch_more_tokens
      self.get_mark())
  yaml.scanner.ScannerError: while scanning for the next token
  found character '\t' that cannot start any token
    in "<unicode string>", line 4, column 5:
                config:
          ^
  Applied network configuration successfully

  Note the emitting of messages

  "failed to apply network config"
  AND
  "Applied network configuration successfully"

  Really a minor issue.

To manage notifications about this bug go to:
https://bugs.launchpad.net/curtin/+bug/1615780/+subscriptions