Description of problem:
Using edit-node install ovirt-node-plugin-puppet into ovirt-node-iso,
then check that the file "/etc/ovirt-plugins.d/ovirt-node-plugin-puppet":
cat /etc/ovirt-plugins.d/ovirt-node-plugin-puppet
-----------------------------------
Name:ovirt-node-plugin-puppet
Version:ovirt-node-plugin-puppet-3.1.0-0.999.20130722032114git68f34db.fc18.noarch
Install Date:Mon Jul 22 05:21:52 2013
Then using the function "get_plugins_list" of plugins_page.py to get plugins list info
list_info=get_plugins_list()
print list_info
{'ovirt-node-plugin-puppet': ('ovirt-node-plugin-puppet-3.1.0-0.999.20130722032114git68f34db.fc18.noarch', 'Mon Jul 22 05:21:52 2013')}
But when clean the content of "/etc/ovirt-plugins.d/ovirt-node-plugin-puppet"
cat /dev/null >/etc/ovirt-plugins.d/ovirt-node-plugin-puppet
Couldn't get plugins list info by using "get_plugins_list"
According to the code of "get_plugins_list()" of plugins_page.py
124 def get_plugins_list(self):
125 plugin_dict = {}
126 plugin_dir = "/etc/ovirt-plugins.d/"
127 if os.path.exists(plugin_dir):
128 for f in os.listdir(plugin_dir):
129 if not f.endswith(".minimize"):
130 with open(plugin_dir + f) as p:
131 if re.compile(r'Name:.*?\nVer.*:.*?\nInstall Date:.*',
132 re.M | re.S).match(open(plugin_dir + f
133 ).read()):
134 #Hopefully a plugin metadata file
135 lines = p.readlines()
136 name = lines[0].strip().split(":")[1]
137 ver = lines[1].strip().split(":")[1]
138 install_date = lines[2].strip().replace(
139 "Install Date:", "")
140 else:
141 try:
142 cmd = '/bin/rpm -qf %s/%s --qf %%{name}' % \
143 (plugin_dir, f)
144 package = process.check_output(cmd.split(' ')
145 ).strip()
146 cmd = "rpm -q %s --qf 'NAME: %s DATE: \
147 %%{version}-%%{release}.%%{arch} INST: \
148 %%{INSTALLTIMEate}\\n'" %\
149 (package, package)
150 name, ver, install_date = re.match(
151 r'NAME: (.*?) DATE: (.*?) INST: (.*)',
152 process.check_output(cmd, shell=True
153 ).strip()).groups()
154 except CalledProcessError:
155 continue
156
157 plugin_dict[name] = (ver, install_date)
158 return plugin_dict
we should still get plugins list info when clean the content of "/etc/ovirt-plugins.d/ovirt-node-plugin-puppet".
Actually the issue happens in line 142-145:
[root@localhost admin]# /bin/rpm -qf /etc/ovirt-plugins.d/ovirt-node-plugin-puppet --qf %{name}
file /etc/ovirt-plugins.d/ovirt-node-plugin-puppet is not owned by any package
Version-Release number of selected component (if applicable):
ovirt-node-iso-3.1.0-0.999.999.20130807225755gitfa08ac6.59.fc18.iso
How reproducible:
100%
Steps to Reproduce:
Actual results:
Expected results:
Additional info: