On Mon, Sep 29, 2014 at 7:26 PM, Yuto KAWAMURA(kawamuray) < [email protected]> wrote:
> Add the function _CreateBlankFile which can be used to create blank file. > create a blank file > Replace existing code that uses utils.WriteFile to create blank file by > s/create blank file by/use/ > this function. > > Signed-off-by: Yuto KAWAMURA(kawamuray) <[email protected]> > --- > lib/hypervisor/hv_lxc.py | 27 +++++++++++++++------------ > 1 file changed, 15 insertions(+), 12 deletions(-) > > diff --git a/lib/hypervisor/hv_lxc.py b/lib/hypervisor/hv_lxc.py > index 4c09d8e..475ba18 100644 > --- a/lib/hypervisor/hv_lxc.py > +++ b/lib/hypervisor/hv_lxc.py > @@ -139,6 +139,19 @@ class LXCHypervisor(hv_base.BaseHypervisor): > (self._LOG_DIR, 0750), > ]) > > + @classmethod > + def _CreateBlankFile(cls, path, mode): > Note that this function should not be in the class as it does not actually use anything from the class. It should remain in the file though. > + """Create blank file. > + > + Create a blank file for the path with specified mode. > + An existing file will be overwritten. > + > + """ > + try: > + utils.WriteFile(path, data="", mode=mode) > + except EnvironmentError, err: > + raise HypervisorError("Failed to create file %s: %s" % (path, err)) > + > By introducing this class, we do save on code being replicated, but we lower the quality of the error reports. I suggest an obligatory argument called "description" which is added to the error desc, e.g.: "Failed to create %s file: %s" > def _SaveInstanceStash(self, instance_name, data): > """Save data to the instance stash file in serialized format. > > @@ -466,12 +479,7 @@ class LXCHypervisor(hv_base.BaseHypervisor): > out.append("lxc.tty = %s" % lxc_ttys) > # console log file > console_log = utils.PathJoin(self._ROOT_DIR, instance.name + > ".console") > - try: > - utils.WriteFile(console_log, data="", > mode=constants.SECURE_FILE_MODE) > - except EnvironmentError, err: > - raise errors.HypervisorError("Creating console log file %s for" > - " instance %s failed: %s" % > - (console_log, instance.name, err)) > + self._CreateBlankFile(console_log, constants.SECURE_FILE_MODE) > out.append("lxc.console = %s" % console_log) > > # root FS > @@ -667,12 +675,7 @@ class LXCHypervisor(hv_base.BaseHypervisor): > > log_file = self._InstanceLogFilePath(instance) > if not os.path.exists(log_file): > - try: > - utils.WriteFile(log_file, data="", > mode=constants.SECURE_FILE_MODE) > - except EnvironmentError, err: > - raise errors.HypervisorError("Creating hypervisor log file %s for" > - " instance %s failed: %s" % > - (log_file, instance.name, err)) > + self._CreateBlankFile(log_file, constants.SECURE_FILE_MODE) > > try: > if not block_devices: > -- > 1.8.5.5 > >
