← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1506356] [NEW] There is no "[vnc]" option group in nova.conf.sample

 

Public bug reported:

I try to generate the sample nova.conf file, run the following.
$ tox -egenconfig

But, there is no "[vnc]" option group nova.conf.sample.

"[vnc]" option group is defined in "vnc/__init__.py",
but "nova.vnc" namespace is not defined in "etc/nova/nova-config-generator.conf".

vnc/__init__.py
```
vnc_opts = [
     cfg.StrOpt('novncproxy_base_url',
                default='http://127.0.0.1:6080/vnc_auto.html',
                help='Location of VNC console proxy, in the form '
                     '"http://127.0.0.1:6080/vnc_auto.html";',
                deprecated_group='DEFAULT',
                deprecated_name='novncproxy_base_url'),
    ...
]

CONF = cfg.CONF
CONF.register_opts(vnc_opts, group='vnc')
```


I resolved this, following 3 steps.
Not sure if this is the correct fix or not.

1. Define "nova.vnc" namespace in "etc/nova/nova-config-generator.conf",
```
   [DEFAULT]
   output_file = etc/nova/nova.conf.sample
   ...
   namespace = nova.virt
 > namespace = nova.vnc
   namespace = nova.openstack.common.memorycache
   ...
```


2. Define "nova.vnc" entry_point in setup.cfg.

```
   [entry_points]
   oslo.config.opts =
       nova = nova.opts:list_opts
       nova.api = nova.api.opts:list_opts
       nova.cells = nova.cells.opts:list_opts
       nova.compute = nova.compute.opts:list_opts
       nova.network = nova.network.opts:list_opts
       nova.network.neutronv2 = nova.network.neutronv2.api:list_opts
       nova.scheduler = nova.scheduler.opts:list_opts
       nova.virt = nova.virt.opts:list_opts
 >     nova.vnc = nova.vnc.opts:list_opts
 ...
```


3. Create "nova/vnc/opts.py".

```
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
# use this file except in compliance with the License. You may obtain a copy
# of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# 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 nova.vnc


def list_opts():
    return [
        ('vnc', nova.vnc.vnc_opts),
    ]
```

** Affects: nova
     Importance: Undecided
     Assignee: shunya kitada (skitada)
         Status: New

** Changed in: nova
     Assignee: (unassigned) => shunya kitada (skitada)

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1506356

Title:
  There is no "[vnc]" option group in nova.conf.sample

Status in OpenStack Compute (nova):
  New

Bug description:
  I try to generate the sample nova.conf file, run the following.
  $ tox -egenconfig

  But, there is no "[vnc]" option group nova.conf.sample.

  "[vnc]" option group is defined in "vnc/__init__.py",
  but "nova.vnc" namespace is not defined in "etc/nova/nova-config-generator.conf".

  vnc/__init__.py
  ```
  vnc_opts = [
       cfg.StrOpt('novncproxy_base_url',
                  default='http://127.0.0.1:6080/vnc_auto.html',
                  help='Location of VNC console proxy, in the form '
                       '"http://127.0.0.1:6080/vnc_auto.html";',
                  deprecated_group='DEFAULT',
                  deprecated_name='novncproxy_base_url'),
      ...
  ]

  CONF = cfg.CONF
  CONF.register_opts(vnc_opts, group='vnc')
  ```

  
  I resolved this, following 3 steps.
  Not sure if this is the correct fix or not.

  1. Define "nova.vnc" namespace in "etc/nova/nova-config-generator.conf",
  ```
     [DEFAULT]
     output_file = etc/nova/nova.conf.sample
     ...
     namespace = nova.virt
   > namespace = nova.vnc
     namespace = nova.openstack.common.memorycache
     ...
  ```

  
  2. Define "nova.vnc" entry_point in setup.cfg.

  ```
     [entry_points]
     oslo.config.opts =
         nova = nova.opts:list_opts
         nova.api = nova.api.opts:list_opts
         nova.cells = nova.cells.opts:list_opts
         nova.compute = nova.compute.opts:list_opts
         nova.network = nova.network.opts:list_opts
         nova.network.neutronv2 = nova.network.neutronv2.api:list_opts
         nova.scheduler = nova.scheduler.opts:list_opts
         nova.virt = nova.virt.opts:list_opts
   >     nova.vnc = nova.vnc.opts:list_opts
   ...
  ```

  
  3. Create "nova/vnc/opts.py".

  ```
  # Licensed under the Apache License, Version 2.0 (the "License"); you may not
  # use this file except in compliance with the License. You may obtain a copy
  # of the License at
  #
  # http://www.apache.org/licenses/LICENSE-2.0
  #
  # Unless required by applicable law or agreed to in writing, software
  # distributed under the License is distributed on an "AS IS" BASIS,
  # 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 nova.vnc

  
  def list_opts():
      return [
          ('vnc', nova.vnc.vnc_opts),
      ]
  ```

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


Follow ups