ZFS record size for oVirt
by Johan Kooijman
Hi all,
I'm using an NFS storage domain, backed by a ZFS cluster. I need to deploy
a new storage domain, what would the recommended record size be in this?
--
Met vriendelijke groeten / With kind regards,
Johan Kooijman
9 years
3.6: GlusterFS data domain failover?
by Wee Sritippho
------5YHBUFYRT5GVBTR0JVW5A916EMFQ77
Content-Transfer-Encoding: 8bit
Content-Type: text/plain;
charset=UTF-8
Hi,
My POC environment have 2 hosts - host A and host B, both are CentOS7.
Installed oVirt 3.6 self-hosted engine. I manually created a 2-brick
GlusterFS volume using both hosts and added it to my datacenter.
I tried shutting down host A. The hosted-engine restarted in host B
within 3 minutes, which is very cool. However, the GlusterFS data
domain, which I set both 'Use Host' and 'Path' to the host A, is down
along with it.
Here comes my questions:
1. How can I enable failover GlusterFS data domain?
2. How can I reverse back to the state before adding the data domain?
The data domain is super persistent - I can't edit or delete it. I put
it to maintenance mode but still unable to detach or destroy it because
it requires me to remove the datacenter first. I tried but can't remove
the datacenter either.
3. Why can't I add another GlusterFS data domain? When I choose
'GlusterFS' as my 'Storage Type' every text field become grayed-out.
4. When host A restarted again, I notice that 'Use Host' was changed
from host A to host B instead. Is this an expected behavior?
Regards,
Wee Sritippho
P.S: Please excuse my poor English.
------5YHBUFYRT5GVBTR0JVW5A916EMFQ77
Content-Type: text/html;
charset=utf-8
Content-Transfer-Encoding: 8bit
Hi,<br>
<br>
My POC environment have 2 hosts - host A and host B, both are CentOS7. <br>
Installed oVirt 3.6 self-hosted engine. I manually created a 2-brick <br>
GlusterFS volume using both hosts and added it to my datacenter.<br>
<br>
I tried shutting down host A. The hosted-engine restarted in host B <br>
within 3 minutes, which is very cool. However, the GlusterFS data <br>
domain, which I set both 'Use Host' and 'Path' to the host A, is down <br>
along with it.<br>
<br>
Here comes my questions:<br>
1. How can I enable failover GlusterFS data domain?<br>
2. How can I reverse back to the state before adding the data domain? <br>
The data domain is super persistent - I can't edit or delete it. I put <br>
it to maintenance mode but still unable to detach or destroy it because <br>
it requires me to remove the datacenter first. I tried but can't remove <br>
the datacenter either.<br>
3. Why can't I add another GlusterFS data domain? When I choose <br>
'GlusterFS' as my 'Storage Type' every text field become grayed-out.<br>
4. When host A restarted again, I notice that 'Use Host' was changed <br>
from host A to host B instead. Is this an expected behavior?<br>
<br>
Regards,<br>
Wee Sritippho<br>
<br>
P.S: Please excuse my poor English.
------5YHBUFYRT5GVBTR0JVW5A916EMFQ77--
9 years
MAC OS
by Budur Nagaraju
HI
Does oVirt supports Mac OS ? if so which option do I need to select under
"operating system " .
Thanks,
Nagaraju
9 years
report option gone missing
by Rik Theys
Hi,
At some point I had the oVirt reporting configured on my engine and it
worked. I had a "reports" option in the menu and could generate reports
for various resources.
At some point I've noticed that the "reports" option was no longer there
but did not have time to investigate. I believe it happened when I
migrated the engine host from CentOS 6 to 7 using engine-backup and restore.
How can I debug this?
In the ovirt-engine-dwh log I used to see the following error:
Exception in component tJDBCRollback_4
org.postgresql.util.PSQLException: FATAL: terminating connection due to
administrator command
at
org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2157)
at
org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1886)
at
org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)
at
org.postgresql.jdbc2.AbstractJdbc2Connection.executeTransactionCommand(AbstractJdbc2Connection.java:793)
at
org.postgresql.jdbc2.AbstractJdbc2Connection.rollback(AbstractJdbc2Connection.java:846)
at
ovirt_engine_dwh.historyetl_3_5.HistoryETL.tJDBCRollback_4Process(HistoryETL.java:2079)
at
ovirt_engine_dwh.historyetl_3_5.HistoryETL.tJDBCRollback_3Process(HistoryETL.java:1997)
at
ovirt_engine_dwh.historyetl_3_5.HistoryETL.tJDBCRollback_2Process(HistoryETL.java:1882)
at
ovirt_engine_dwh.historyetl_3_5.HistoryETL.tJDBCRollback_1Process(HistoryETL.java:1767)
at
ovirt_engine_dwh.historyetl_3_5.HistoryETL.tPostjob_1Process(HistoryETL.java:1647)
at
ovirt_engine_dwh.historyetl_3_5.HistoryETL.runJobInTOS(HistoryETL.java:10785)
at
ovirt_engine_dwh.historyetl_3_5.HistoryETL.main(HistoryETL.java:10277)
2015-11-19
15:42:02|rza8ri|rza8ri|rza8ri|OVIRT_ENGINE_DWH|HistoryETL|Default|6|Java
Exception|tJDBCRollback_4|org.postgresql.util.PSQLException:FATAL: term
But after rebooting the engine host it now only lists 'Service Started'.
The ovirt-engine-reportsd is also running.
Which of these two processes (reportsd vs dwhd) is generating the
reports (and showing it in the engine admin interface)?
In /var/log/ovirt-engine-reports, the reports.log file is empty, the
server.log reports Deployed ovirt-engine-reports.war as the last line
(without any obvious errors). Only jasperserver.log shows:
015-11-19 15:41:53,304 ERROR DiskStorageFactory,MSC service thread
1-2:948 - Could not flush disk cache. Initial cause was
/tmp/dataSnapshots/snapshot%0043ontents.index (No such file or directory)
java.io.FileNotFoundException:
/tmp/dataSnapshots/snapshot%0043ontents.index (No such file or directory)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:221)
at java.io.FileOutputStream.<init>(FileOutputStream.java:171)
at
net.sf.ehcache.store.disk.DiskStorageFactory$IndexWriteTask.call(DiskStorageFactory.java:1120)
at
net.sf.ehcache.store.disk.DiskStorageFactory.unbind(DiskStorageFactory.java:946)
at net.sf.ehcache.store.disk.DiskStore.dispose(DiskStore.java:616)
at
net.sf.ehcache.store.FrontEndCacheTier.dispose(FrontEndCacheTier.java:521)
at net.sf.ehcache.Cache.dispose(Cache.java:2473)
at net.sf.ehcache.CacheManager.shutdown(CacheManager.java:1446)
at
org.springframework.cache.ehcache.EhCacheManagerFactoryBean.destroy(EhCacheManagerFactoryBean.java:134)
at
org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:211)
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:498)
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:474)
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:442)
at
org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1066)
at
org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1040)
at
org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:988)
at
org.springframework.web.context.ContextLoader.closeWebApplicationContext(ContextLoader.java:541)
at
org.springframework.web.context.ContextLoaderListener.contextDestroyed(ContextLoaderListener.java:142)
at
org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:3489)
at
org.apache.catalina.core.StandardContext.stop(StandardContext.java:3999)
at
org.jboss.as.web.deployment.WebDeploymentService.stop(WebDeploymentService.java:108)
at
org.jboss.msc.service.ServiceControllerImpl$StopTask.stopService(ServiceControllerImpl.java:1911)
at
org.jboss.msc.service.ServiceControllerImpl$StopTask.run(ServiceControllerImpl.java:1874)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
I have no idea on how to proceed debugging this. How is the reporting
connected to the engine?
Rik
--
Rik Theys
System Engineer
KU Leuven - Dept. Elektrotechniek (ESAT)
Kasteelpark Arenberg 10 bus 2440 - B-3001 Leuven-Heverlee
+32(0)16/32.11.07
----------------------------------------------------------------
<<Any errors in spelling, tact or fact are transmission errors>>
9 years
[3.6] Unable to create VM in user portal
by Maksim Naumov
Hello
User in the User portal un able to create virtual machine. Everytime I see
en error "User is not authorized to perform this action."
I tried different roles: VmCreator + DiskCreator, PowerUserRole,
UserVmManager .... even a new role with all the permissions - no way!
Can you give a 100% working example how should I setup role for user to be
abte to create a VM?
Thank you
--
Maksim Naumov
Hitmeister GmbH
Softwareentwickler
Habsburgerring 2
50674 Köln
E: maksim.naumov(a)hitmeister.de
www.hitmeister.de
HRB 59046, Amtsgericht Köln
Geschäftsführer: Dr. Gerald Schönbucher
9 years
cluster
by Budur Nagaraju
HI
Can I get the document to configure cluster for the Engine ?
Thanks,,
Nagaraju
9 years
UUID error
by Budur Nagaraju
HI
Getting below error while adding a host,
2015-11-20 18:40:36,397 INFO
[org.ovirt.engine.core.vdsbroker.vdsbroker.FenceVdsVDSCommand]
(ajp--127.0.0.1-8702-7) FINISH, FenceVdsVDSCommand, return: Test Succeeded,
on, log id: 6495791f
2015-11-20 18:40:40,588 WARN [org.ovirt.engine.core.bll.AddVdsCommand]
(ajp--127.0.0.1-8702-6) [2933038a] CanDoAction of action AddVds failed for
user admin@internal. Reasons: VAR__ACTION__ADD,VAR__TYPE__HOST,$server
pbuovirt2.bnglab.psecure.net,ACTION_TYPE_FAILED_VDS_WITH_SAME_UUID_EXIST
Thanks,
Nagaraju
9 years
oVirt 4.0 wishlist: VDSM
by Giuseppe Ragusa
Hi all,
I go on with my wishlist, derived from both solitary mumblings and community talks at the the first Italian oVirt Meetup.
I offer to help in coding (work/family schedules permitting) but keep in mind that I'm a sysadmin with mainly C and bash-scripting skills (but hoping to improve my less-than-newbie Python too...)
I've sent separate wishlist messages for oVirt Node and Engine.
VDSM:
*) allow VDSM to configure/manage Samba, CTDB and Ganesha (specifically, I'm thinking of the GlusterFS integration); there are related wishlist items on configuring/managing Samba/CTDB/Ganesha on the Engine and on oVirt Node
*) add Open vSwitch direct support (not Neutron-mediated); there are related wishlist items on configuring/managing Open vSwitch on oVirt Node and on the Engine
*) add DRBD9 as a supported Storage Domain type; there are related wishlist items on configuring/managing DRBD9 on the Engine and on oVirt Node
*) allow VDSM to configure/manage containers (maybe extend it by use of the LXC libvirt driver, similarly to the experimental work that has been put up to allow Xen vm management); there are related wishlist items on configuring/managing containers on the Engine and on oVirt Node
*) add a VDSM_remote mode (for lack of a better name, but mainly inspired by pacemaker_remote) to be used inside a guest by the above mentioned container support (giving to the Engine the required visibility on the managed containers, but excluding the "virtual node" from power management and other unsuitable actions)
Regards,
Giuseppe
9 years
ovirt-freeipa authentication howto
by Rob Verduijn
Hi all,
I found that for some reason it is hard to find a working example for
integrating ovirt3.5 with freeipa using the generic aaa ldap
extension.
Here's what I did to get it to work:
The ovirt os is centos 6 x86_64
All the latest patches have been applied.
the ovirt machinet can be a member of the freeipa domain but this is
not required for the ovirt-freeipa authentication to work.
personally I think its nice to have the ovirt machine under freeipa
supervision as wel.
the freeipa os is centos7 x*86_64
All the latest patches have been applied.
The ovirt environment is configured, up and running.
There are two ways of single sign on for ovirt.
see https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Virtuali...
This howto is for the first option
you require a search account in the freeipa domain.
add a user account to the freeipa domain
login with that account so it asks you to set a new password for it
then reset the experation date for the password to somewhere in the
far future with the procedure below
#
# Add the search account for ovirt to the freeipa domain.
#
# executed these commands on the freeipa server as root.
#
# first set the variables
export SUFFIX='dc=example,dc=com'
export OVIRT_SERVER=ovirt.example.com
export FREEIPA_DOMAIN=EXAMPLE.COM
export USERNAME=ovirt
export YOUR_PASSWORD='top_secret_random_very_long_password'
# create an ldif file
cat > resetexperation.ldif << EOF
dn: uid=$USERNAME,cn=users,cn=accounts,$SUFFIX
changetype: modify
replace: krbpasswordexpiration
krbpasswordexpiration: 20380119031407Z
EOF
# apply the ldif file
# the password requested is the directory admin password, this is NOT
the same account as the freeipa admin
ldapmodify -x -D "cn=directory manager" -W -vv -f resetexperation.ldif
# for the second option also :
# add the service for http to freeipa
kinit admin
ipa service-add HTTP/$OVIRT_SERVER@$FREEIPA_DOMAIN
#
# The following commands are executed as root on the ovirt-engine machine.
#
#
# first install the required package :
#
yum install -y ovirt-engine-extension-aaa-ldap
#
# ovirt configuration files
# examples can be found here :
# /usr/share/ovirt-engine-extension-aaa-ldap/examples/simple/.
#
mkdir /etc/ovirt-engine/aaa
mkdir /etc/ovirt-engine/extenstions.d
#
# set the vars again ( exports do not work between vm's)
#
export SUFFIX='dc=example,dc=com'
export YOUR_PASSWORD='top_secret_random_very_long_password'
export FREEIPA_SERVER=freeipa.example.com
export PROFILE_NAME=profile1
#
# create the config files
#
cat > /etc/ovirt-engine/aaa/$PROFILE_NAME.properties << EOF
include = <ipa.properties>
vars.server = $FREEIPA_SERVER
vars.user = uid=ovirt,cn=users,cn=accounts,$SUFFIX
vars.password = $YOUR_PASSWORD
pool.default.serverset.single.server = \${global:vars.server}
pool.default.auth.simple.bindDN = \${global:vars.user}
pool.default.auth.simple.password = \${global:vars.password}
EOF
cat > /etc/ovirt-engine/extensions.d/$PROFILE_NAME-authz.properties << EOF
ovirt.engine.extension.name = $PROFILE_NAME-authz
ovirt.engine.extension.bindings.method = jbossmodule
ovirt.engine.extension.binding.jbossmodule.module =
org.ovirt.engine-extensions.aaa.ldap
ovirt.engine.extension.binding.jbossmodule.class =
org.ovirt.engineextensions.aaa.ldap.AuthzExtension
ovirt.engine.extension.provides = org.ovirt.engine.api.extensions.aaa.Authz
config.profile.file.1 = ../aaa/$PROFILE_NAME.properties
EOF
cat > /etc/ovirt-engine/extensions.d/$PROFILE_NAME-authn.properties << EOF
ovirt.engine.extension.name = $PROFILE_NAME-authn
ovirt.engine.extension.bindings.method = jbossmodule
ovirt.engine.extension.binding.jbossmodule.module =
org.ovirt.engine-extensions.aaa.ldap
ovirt.engine.extension.binding.jbossmodule.class =
org.ovirt.engineextensions.aaa.ldap.AuthnExtension
ovirt.engine.extension.provides = org.ovirt.engine.api.extensions.aaa.Authn
ovirt.engine.aaa.authn.profile.name = $PROFILE_NAME
ovirt.engine.aaa.authn.authz.plugin = $PROFILE_NAME-authz
config.profile.file.1 = ../aaa/$PROFILE_NAME.properties
EOF
#
# change owner and permissions of the profile file
#
chown ovirt:ovirt /etc/ovirt-engine/extensions.d/$PROFILE_NAME-authn.properties
chmod 400 /etc/ovirt-engine/extensions.d/$PROFILE_NAME-authn.properties
#
# restart the ovirt engine
#
service ovirt-engine restart
#
# done you can now add freeipa users to the rhevm portal in the users menu
# after the users have been added you can assign permissions for them
on the vm's
#
Cheers
Rob Verduijn
9 years
Allowing a user to manage all machines in a pool
by Nicolás
Hi,
We're running oVirt 3.5.3.1-1, and we're currently deploying some Pools
for students and teachers, so each has access to one machine in the
pool. Thus, each of them is granted the UserRole in the pool. Now the
teacher is asking us to allow him access to all students' VMs via the
Web GUI to evaluate their work.
Is there a permission to accomplish that? In worst of cases I will
detach the VMs from the pool and grant the teacher the UserRole on each
of them, but I'd like to know if there's a "cleaner" way.
Thanks.
Regards,
Nicolás
9 years