2014-01-22 17:46:11 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:11 DEBUG otopi.context context.dumpEnvironment:471 ENV BASE/log=bool:'True'
2014-01-22 17:46:11 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/logFileHandle=file:'<open file '/var/log/ovirt-engine/setup/ovirt-engine-setup-20140122174611.log', mode 'a' at 0x1c72300>'
2014-01-22 17:46:11 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/logFileName=str:'/var/log/ovirt-engine/setup/ovirt-engine-setup-20140122174611.log'
2014-01-22 17:46:11 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/logFilter=_MyLoggerFilter:'filter'
2014-01-22 17:46:11 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/logFilterKeys=list:'[]'
2014-01-22 17:46:11 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/logRemoveAtExit=bool:'False'
2014-01-22 17:46:11 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:11 DEBUG otopi.context context._executeMethod:138 Stage boot METHOD otopi.plugins.otopi.dialog.misc.Plugin._init
2014-01-22 17:46:11 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:11 DEBUG otopi.context context.dumpEnvironment:471 ENV DIALOG/dialect=str:'human'
2014-01-22 17:46:11 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:11 DEBUG otopi.context context._executeMethod:138 Stage boot METHOD otopi.plugins.otopi.dialog.human.Plugin._init
2014-01-22 17:46:11 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:11 DEBUG otopi.context context.dumpEnvironment:471 ENV DIALOG/boundary=str:'--=451b80dc-996f-432e-9e4f-2b29ef6d1141=--'
2014-01-22 17:46:11 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:11 DEBUG otopi.context context._executeMethod:138 Stage boot METHOD otopi.plugins.otopi.dialog.machine.Plugin._init
2014-01-22 17:46:11 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:46:11 DEBUG otopi.context context._executeMethod:138 Stage boot METHOD otopi.plugins.ovirt_engine_common.base.db.connection.Plugin._boot
2014-01-22 17:46:11 DEBUG otopi.context context._executeMethod:138 Stage boot METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.options.Plugin._boot
2014-01-22 17:46:11 DEBUG otopi.context context._executeMethod:138 Stage boot METHOD otopi.plugins.otopi.core.misc.Plugin._init
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:443 SEQUENCE DUMP - BEGIN
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:445 STAGE boot
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.core.misc.Plugin._preinit (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.base.core.misc.Plugin._preinit (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.core.log.Plugin._init (otopi.core.log.init)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.dialog.misc.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.dialog.human.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.dialog.machine.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.db.connection.Plugin._boot (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.options.Plugin._boot (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.core.misc.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.packagers.yumpackager.Plugin._boot (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.system.info.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:445 STAGE init
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.core.config.Plugin._init (otopi.core.config.init)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.packagers.yumpackager.Plugin._init (otopi.packagers.detection)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.system.command.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.core.misc.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.core.transaction.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.dialog.cli.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.network.firewalld.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.network.iptables.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.network.ssh.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.system.clock.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.system.reboot.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.core.answerfile.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.core.engine.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.core.offlinepackager.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.core.postinstall.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.core.protocols.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.core.uninstall.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.db.connection.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.db.pgpass.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.network.firewall_manager.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.network.firewall_manager_firewalld.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.system.apache.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.system.environment.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.system.hostile_services.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.base.core.misc.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.base.network.firewall_manager.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.base.network.hostname.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.core.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.cpu.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.sshd.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.storage.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.vdsm.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.engine.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.root.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.ssl.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.appmode.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.domain_type.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.iso_domain.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.macrange.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.options.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.preview.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.pki.ca.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.provisioning.postgres.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.exportfs.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.memcheck.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.nfs.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.selinux.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.sysctl.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.upgrade.asynctasks.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.upgrade.dbvalidations.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine_common.config.java.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine_common.config.jboss.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine_common.provisioning.postgres.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.websocket_proxy.config.Plugin._init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:445 STAGE setup
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.core.config.Plugin._post_init (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.core.log.Plugin._setup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.core.misc.Plugin._setup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.packagers.yumpackager.Plugin._setup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.cpu.Plugin._setup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.network.firewalld.Plugin._setup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.network.hostname.Plugin._setup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.network.ssh.Plugin._setup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.services.openrc.Plugin._setup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.services.rhel.Plugin._setup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.services.systemd.Plugin._setup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.system.clock.Plugin._setup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.system.reboot.Plugin._setup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.core.protocols.Plugin._setup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.db.connection.Plugin._commands (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.db.connection.Plugin._setup (osetup.db.connection.setup)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.distro-rpm.log_setup_event.Plugin._setup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.network.firewall_manager_firewalld.Plugin._setup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.network.firewall_manager_human.Plugin._setup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.network.firewall_manager_iptables.Plugin._setup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.system.apache.Plugin._setup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.system.hostile_services.Plugin._setup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.base.network.firewall_manager.Plugin._keep_only_valid_firewall_managers (osetup.keep.only.valid.firewall.managers)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.base.network.hostname.Plugin._setup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.core.Plugin._setup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.sshd.Plugin._setup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.root.Plugin._setup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.selinux.Plugin._setup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.ssl.Plugin._setup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.distro-rpm.packages.Plugin._setup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.pki.ca.Plugin._setup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.pki.ssh.Plugin._setup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.provisioning.postgres.Plugin._setup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.exportfs.Plugin._setup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.selinux.Plugin._setup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.sysctl.Plugin._setup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine_common.db.connection.Plugin._setup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages.Plugin._setup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.distro-rpm.log_setup_event.Plugin._log_setup_event_setup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:445 STAGE internal_packages
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.core.transaction.Plugin._pre_prepare (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.network.hostname.Plugin._internal_packages (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.packagers.yumpackager.Plugin._internal_packages_end (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.core.transaction.Plugin._pre_end (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:445 STAGE programs
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.system.command.Plugin._programs (otopi.system.command.detection)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.services.systemd.Plugin._programs (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.services.rhel.Plugin._programs (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.services.openrc.Plugin._programs (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:445 STAGE late_setup
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.nfs.Plugin._setup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.websocket_proxy.config.Plugin._late_setup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.websocket_proxy.config.Plugin._late_setup_service_state (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:445 STAGE customization
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.network.firewalld.Plugin._customization (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.core.config.Plugin._customize1 (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.dialog.cli.Plugin._customize (otopi.dialog.cli.customization)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.core.Plugin._continueSetupWithoutAIO (osetup.aio.config.not.available)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_s_product_options (osetup.dialog.titles.productoptions.start)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_e_product_options (osetup.dialog.titles.productoptions.end)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_s_packages (osetup.dialog.titles.packaging.start)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages.Plugin._customization (osetup.distro-rpm.package.update.check)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_e_packages (osetup.dialog.titles.packages.end)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_s_allinone (osetup.dialog.titles.allinone.start)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.core.Plugin._constomization (osetup.aio.config.available)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.storage.Plugin._customization (osetup.aio.config.storage)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.sshd.Plugin._customization (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_e_allinone (osetup.dialog.titles.allinone.end)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_s_network (osetup.dialog.titles.network.start)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.base.network.hostname.Plugin._customization (osetup.config.protocols.customization)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.base.network.firewall_manager.Plugin._customization_is_requested (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.base.network.firewall_manager.Plugin._customization (osetup.net.firewallmanager.available)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_e_network (osetup.dialog.titles.network.end)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_s_database (osetup.dialog.titles.database.start)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.provisioning.postgres.Plugin._customization (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine_common.db.connection.Plugin._customization (osetup.db.connection.customization)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_e_database (osetup.dialog.titles.database.end)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_s_engine (osetup.dialog.titles.engine.start)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.appmode.Plugin._customization (osetup.config.applicationMode.available)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.domain_type.Plugin._customization (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.options.Plugin._customization (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_e_engine (osetup.dialog.titles.engine.end)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_s_pki (osetup.dialog.titles.pki.start)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.pki.ca.Plugin._customization (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_e_pki (osetup.dialog.titles.pki.end)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_s_apache (osetup.dialog.titles.apache.start)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.ssl.Plugin._customization (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.root.Plugin._customization (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_e_apache (osetup.dialog.titles.apache.end)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.firewall.Plugin._configuration (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_s_system (osetup.dialog.titles.system.start)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.websocket_proxy.config.Plugin._customization (setup.config.websocket-proxy.customization)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.websocket_proxy.config.Plugin._customization_firewall (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.nfs.Plugin._customization (osetup.system.nfs.available)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.iso_domain.Plugin._customization (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_e_system (osetup.dialog.titles.system.end)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.firewall.Plugin._configuration (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.nfs.Plugin._firewall (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.core.config.Plugin._customize2 (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.provisioning.postgres.Plugin._customization_firewall (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:445 STAGE validation
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.core.misc.Plugin._validation (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.upgrade.asynctasks.Plugin._validateEnv (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.base.network.firewall_manager.Plugin._validation (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.network.firewalld.Plugin._validation (otopi.network.firealld.validation)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.network.hostname.Plugin._validation (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.network.iptables.Plugin._validate (otopi.network.iptables.validation)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.network.ssh.Plugin._validation (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.core.engine.Plugin._validation (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.db.pgpass.Plugin._validation (osetup.db.connection.credentials.early)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.cpu.Plugin._validation (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.sshd.Plugin._validation (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.vdsm.Plugin._validation (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.selinux.Plugin._validation (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.ssl.Plugin._validate_ssl (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.db.schema.Plugin._validation (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.provisioning.postgres.Plugin._validation (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.exportfs.Plugin._validation (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.memcheck.Plugin._validateMemory (osetup.memory.check)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.memcheck.Plugin._validateContinueLowMemory (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.selinux.Plugin._validation (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.sysctl.Plugin._validation (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.upgrade.asynctasks.Plugin._validateZombies (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine_common.config.java.Plugin._validation (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine_common.config.jboss.Plugin._validation (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.preview.Plugin._customization (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.upgrade.asynctasks.Plugin._validateAsyncTasks (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.upgrade.dbvalidations.Plugin._validation (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:445 STAGE transaction-prepare
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.core.transaction.Plugin._main_prepare (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.core.engine.Plugin._transactionBegin (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.system.hostile_services.Plugin._transaction_begin (osetup.system.hostile.detection)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.websocket_proxy.core.Plugin._transactionBegin (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:445 STAGE early_misc
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.network.firewalld.Plugin._early_misc (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.upgrade.dbvalidations.Plugin._misc (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:445 STAGE packages
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.network.iptables.Plugin._packages (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages.Plugin.packages (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.packagers.yumpackager.Plugin._packages (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:445 STAGE misc
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.system.command.Plugin._misc (otopi.system.command.redetection)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.sysctl.Plugin._misc (osetup.system.sysctl.available)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.network.firewalld.Plugin._misc (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.network.iptables.Plugin._store_iptables (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.network.ssh.Plugin._append_key (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.system.clock.Plugin._set_clock (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.provisioning.postgres.Plugin._misc (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.db.pgpass.Plugin._misc (osetup.db.connection.credentials.late)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.base.network.firewall_manager.Plugin._prepare_examples (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.core.Plugin._misc (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.storage.Plugin._misc (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.vdsm.Plugin._misc (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.engine.Plugin._misc (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.root.Plugin._misc (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.selinux.Plugin._misc (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.ssl.Plugin._misc (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.database.Plugin._misc (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.jboss.Plugin._misc (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.protocols.Plugin._misc (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.tools.Plugin._misc (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.db.schema.Plugin._miscInstall (osetup.db.schema)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.db.schema.Plugin._miscUpgrade (osetup.db.schema)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.pki.ca.Plugin._misc (osetup.pki.ca.available)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.pki.ssh.Plugin._misc (osetup.pki.ssh.available)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.sshd.Plugin._misc (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.localstate.Plugin._misc (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.nfs.Plugin._misc (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.upgrade.answerfile_fixup.Plugin._misc (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine_common.db.connection.Plugin._connection (osetup.db.connection.available)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.pki.ca.Plugin.miscOptions (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.legacy.osinfo.Plugin._misc (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.options.Plugin._miscNewDatabase (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.options.Plugin._miscAlways (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.macrange.Plugin._misc (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.iso_domain.Plugin._add_iso_domain_to_db (osetup.config.iso_domain.available)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.exportfs.Plugin._misc (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.domain_type.Plugin._misc (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.ca.Plugin._misc (osetup.config.encryption.available)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.options.Plugin._miscEncrypted (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.appmode.Plugin._misc (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.websocket_proxy.config.Plugin._misc (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.selinux.Plugin._misc (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.core.postinstall.Plugin._misc (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:445 STAGE cleanup
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.core.transaction.Plugin._main_end (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:445 STAGE closeup
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.network.firewalld.Plugin._closeup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.network.iptables.Plugin._closeup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.network.ssh.Plugin._cleanup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.dialog.titles.Plugin._title_s_summary (osetup.dialog.titles.summary.start)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.memcheck.Plugin._closeup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.exportfs.Plugin._closeup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.provisioning.postgres.Plugin._closeup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.pki.ssh.Plugin._closeup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.pki.ca.Plugin._closeup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.protocols.Plugin._closeup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.options.Plugin._closeup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.base.network.firewall_manager.Plugin._closeup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.dialog.titles.Plugin._title_e_summary (osetup.dialog.titles.summary.end)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.sshd.Plugin._closeup (osetup.aio.config.ssh)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.legacy.osinfo.Plugin._closeup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.engine.Plugin._closeup (osetup.core.engine.start)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.system.apache.Plugin._closeup (osetup.apache.core.restart)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.vdsm.Plugin._closeup (osetup.aio.config.vdsm)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.nfs.Plugin._closeup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.websocket_proxy.config.Plugin._closeup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.system.reboot.Plugin._closeup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.core.answerfile.Plugin._closeup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.distro-rpm.log_setup_event.Plugin._log_setup_event_closeup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:445 STAGE cleanup
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.core.misc.Plugin._cleanup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.system.hostile_services.Plugin._closeup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.core.uninstall.Plugin._cleanup (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:445 STAGE pre-terminate
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.core.misc.Plugin._preTerminate (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.dialog.cli.Plugin._pre_terminate (otopi.dialog.cli.termination)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:445 STAGE terminate
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.core.misc.Plugin._terminate (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.dialog.human.Plugin._terminate (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.dialog.machine.Plugin._terminate (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.core.log.Plugin._terminate (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:445 STAGE reboot
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.system.reboot.Plugin._reboot (None)
2014-01-22 17:46:11 DEBUG otopi.context context.dumpSequence:452 SEQUENCE DUMP - END
2014-01-22 17:46:11 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:11 DEBUG otopi.context context.dumpEnvironment:471 ENV BASE/aborted=bool:'False'
2014-01-22 17:46:11 DEBUG otopi.context context.dumpEnvironment:471 ENV BASE/debug=int:'0'
2014-01-22 17:46:11 DEBUG otopi.context context.dumpEnvironment:471 ENV BASE/error=bool:'False'
2014-01-22 17:46:11 DEBUG otopi.context context.dumpEnvironment:471 ENV BASE/exceptionInfo=list:'[]'
2014-01-22 17:46:11 DEBUG otopi.context context.dumpEnvironment:471 ENV BASE/executionDirectory=str:'/etc/yum.repos.d'
2014-01-22 17:46:11 DEBUG otopi.context context.dumpEnvironment:471 ENV BASE/log=bool:'True'
2014-01-22 17:46:11 DEBUG otopi.context context.dumpEnvironment:471 ENV BASE/pluginGroups=str:'otopi:ovirt-engine-common:ovirt-engine-setup'
2014-01-22 17:46:11 DEBUG otopi.context context.dumpEnvironment:471 ENV BASE/pluginPath=str:'/usr/share/otopi/plugins:/usr/share/ovirt-engine/setup/bin/../plugins'
2014-01-22 17:46:11 DEBUG otopi.context context.dumpEnvironment:471 ENV BASE/suppressEnvironmentKeys=list:'['OVESETUP_DB/password', 'OVESETUP_CONFIG/adminPassword']'
2014-01-22 17:46:11 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/configFileName=str:'/etc/ovirt-engine-setup.conf'
2014-01-22 17:46:11 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/logDir=str:'/var/log/ovirt-engine/setup'
2014-01-22 17:46:11 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/logFileHandle=file:'<open file '/var/log/ovirt-engine/setup/ovirt-engine-setup-20140122174611.log', mode 'a' at 0x1c72300>'
2014-01-22 17:46:11 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/logFileName=str:'/var/log/ovirt-engine/setup/ovirt-engine-setup-20140122174611.log'
2014-01-22 17:46:11 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/logFileNamePrefix=str:'ovirt-engine-setup'
2014-01-22 17:46:11 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/logFilter=_MyLoggerFilter:'filter'
2014-01-22 17:46:11 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/logFilterKeys=list:'[]'
2014-01-22 17:46:11 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/logRemoveAtExit=bool:'False'
2014-01-22 17:46:11 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/randomizeEvents=bool:'False'
2014-01-22 17:46:11 DEBUG otopi.context context.dumpEnvironment:471 ENV DIALOG/boundary=str:'--=451b80dc-996f-432e-9e4f-2b29ef6d1141=--'
2014-01-22 17:46:11 DEBUG otopi.context context.dumpEnvironment:471 ENV DIALOG/dialect=str:'human'
2014-01-22 17:46:11 DEBUG otopi.context context.dumpEnvironment:471 ENV INFO/PACKAGE_NAME=str:'otopi'
2014-01-22 17:46:11 DEBUG otopi.context context.dumpEnvironment:471 ENV INFO/PACKAGE_VERSION=str:'1.2.0_beta'
2014-01-22 17:46:11 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:11 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:11 DEBUG otopi.context context.dumpEnvironment:471 ENV INFO/PACKAGE_NAME=str:'otopi'
2014-01-22 17:46:11 DEBUG otopi.context context.dumpEnvironment:471 ENV INFO/PACKAGE_VERSION=str:'1.2.0_beta'
2014-01-22 17:46:11 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:11 DEBUG otopi.context context._executeMethod:138 Stage boot METHOD otopi.plugins.otopi.packagers.yumpackager.Plugin._boot
Loaded plugins: fastestmirror, versionlock
2014-01-22 17:46:12 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:12 DEBUG otopi.context context.dumpEnvironment:471 ENV BASE/log=bool:'True'
2014-01-22 17:46:12 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/logFileHandle=file:'<open file '/var/log/ovirt-engine/setup/ovirt-engine-setup-20140122174611.log', mode 'a' at 0x2a690c0>'
2014-01-22 17:46:12 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/logFileName=str:'/var/log/ovirt-engine/setup/ovirt-engine-setup-20140122174611.log'
2014-01-22 17:46:12 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/logFilter=_MyLoggerFilter:'filter'
2014-01-22 17:46:12 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/logFilterKeys=list:'[]'
2014-01-22 17:46:12 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/logRemoveAtExit=bool:'False'
2014-01-22 17:46:12 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:12 DEBUG otopi.context context._executeMethod:138 Stage boot METHOD otopi.plugins.otopi.dialog.misc.Plugin._init
2014-01-22 17:46:12 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:12 DEBUG otopi.context context.dumpEnvironment:471 ENV DIALOG/dialect=str:'human'
2014-01-22 17:46:12 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:12 DEBUG otopi.context context._executeMethod:138 Stage boot METHOD otopi.plugins.otopi.dialog.human.Plugin._init
2014-01-22 17:46:12 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:12 DEBUG otopi.context context.dumpEnvironment:471 ENV DIALOG/boundary=str:'--=451b80dc-996f-432e-9e4f-2b29ef6d1141=--'
2014-01-22 17:46:12 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:12 DEBUG otopi.context context._executeMethod:138 Stage boot METHOD otopi.plugins.otopi.dialog.machine.Plugin._init
2014-01-22 17:46:12 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:46:12 DEBUG otopi.context context._executeMethod:138 Stage boot METHOD otopi.plugins.ovirt_engine_common.base.db.connection.Plugin._boot
2014-01-22 17:46:12 DEBUG otopi.context context._executeMethod:138 Stage boot METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.options.Plugin._boot
2014-01-22 17:46:12 DEBUG otopi.context context._executeMethod:138 Stage boot METHOD otopi.plugins.otopi.core.misc.Plugin._init
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:443 SEQUENCE DUMP - BEGIN
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:445 STAGE boot
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.core.misc.Plugin._preinit (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.base.core.misc.Plugin._preinit (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.core.log.Plugin._init (otopi.core.log.init)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.dialog.misc.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.dialog.human.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.dialog.machine.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.db.connection.Plugin._boot (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.options.Plugin._boot (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.core.misc.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.packagers.yumpackager.Plugin._boot (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.system.info.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:445 STAGE init
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.core.config.Plugin._init (otopi.core.config.init)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.packagers.yumpackager.Plugin._init (otopi.packagers.detection)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.system.command.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.core.misc.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.core.transaction.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.dialog.cli.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.network.firewalld.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.network.iptables.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.network.ssh.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.system.clock.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.system.reboot.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.core.answerfile.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.core.engine.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.core.offlinepackager.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.core.postinstall.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.core.protocols.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.core.uninstall.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.db.connection.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.db.pgpass.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.network.firewall_manager.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.network.firewall_manager_firewalld.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.system.apache.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.system.environment.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.system.hostile_services.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.base.core.misc.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.base.network.firewall_manager.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.base.network.hostname.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.core.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.cpu.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.sshd.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.storage.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.vdsm.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.engine.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.root.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.ssl.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.appmode.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.domain_type.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.iso_domain.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.macrange.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.options.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.preview.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.pki.ca.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.provisioning.postgres.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.exportfs.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.memcheck.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.nfs.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.selinux.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.sysctl.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.upgrade.asynctasks.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.upgrade.dbvalidations.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine_common.config.java.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine_common.config.jboss.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine_common.provisioning.postgres.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.websocket_proxy.config.Plugin._init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:445 STAGE setup
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.core.config.Plugin._post_init (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.core.log.Plugin._setup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.core.misc.Plugin._setup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.packagers.yumpackager.Plugin._setup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.cpu.Plugin._setup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.network.firewalld.Plugin._setup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.network.hostname.Plugin._setup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.network.ssh.Plugin._setup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.services.openrc.Plugin._setup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.services.rhel.Plugin._setup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.services.systemd.Plugin._setup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.system.clock.Plugin._setup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.system.reboot.Plugin._setup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.core.protocols.Plugin._setup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.db.connection.Plugin._commands (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.db.connection.Plugin._setup (osetup.db.connection.setup)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.distro-rpm.log_setup_event.Plugin._setup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.network.firewall_manager_firewalld.Plugin._setup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.network.firewall_manager_human.Plugin._setup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.network.firewall_manager_iptables.Plugin._setup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.system.apache.Plugin._setup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.system.hostile_services.Plugin._setup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.base.network.firewall_manager.Plugin._keep_only_valid_firewall_managers (osetup.keep.only.valid.firewall.managers)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.base.network.hostname.Plugin._setup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.core.Plugin._setup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.sshd.Plugin._setup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.root.Plugin._setup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.selinux.Plugin._setup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.ssl.Plugin._setup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.distro-rpm.packages.Plugin._setup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.pki.ca.Plugin._setup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.pki.ssh.Plugin._setup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.provisioning.postgres.Plugin._setup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.exportfs.Plugin._setup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.selinux.Plugin._setup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.sysctl.Plugin._setup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine_common.db.connection.Plugin._setup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages.Plugin._setup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.distro-rpm.log_setup_event.Plugin._log_setup_event_setup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:445 STAGE internal_packages
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.core.transaction.Plugin._pre_prepare (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.network.hostname.Plugin._internal_packages (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.packagers.yumpackager.Plugin._internal_packages_end (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.core.transaction.Plugin._pre_end (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:445 STAGE programs
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.system.command.Plugin._programs (otopi.system.command.detection)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.services.systemd.Plugin._programs (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.services.rhel.Plugin._programs (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.services.openrc.Plugin._programs (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:445 STAGE late_setup
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.nfs.Plugin._setup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.websocket_proxy.config.Plugin._late_setup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.websocket_proxy.config.Plugin._late_setup_service_state (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:445 STAGE customization
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.network.firewalld.Plugin._customization (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.core.config.Plugin._customize1 (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.dialog.cli.Plugin._customize (otopi.dialog.cli.customization)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.core.Plugin._continueSetupWithoutAIO (osetup.aio.config.not.available)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_s_product_options (osetup.dialog.titles.productoptions.start)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_e_product_options (osetup.dialog.titles.productoptions.end)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_s_packages (osetup.dialog.titles.packaging.start)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages.Plugin._customization (osetup.distro-rpm.package.update.check)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_e_packages (osetup.dialog.titles.packages.end)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_s_allinone (osetup.dialog.titles.allinone.start)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.core.Plugin._constomization (osetup.aio.config.available)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.storage.Plugin._customization (osetup.aio.config.storage)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.sshd.Plugin._customization (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_e_allinone (osetup.dialog.titles.allinone.end)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_s_network (osetup.dialog.titles.network.start)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.base.network.hostname.Plugin._customization (osetup.config.protocols.customization)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.base.network.firewall_manager.Plugin._customization_is_requested (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.base.network.firewall_manager.Plugin._customization (osetup.net.firewallmanager.available)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_e_network (osetup.dialog.titles.network.end)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_s_database (osetup.dialog.titles.database.start)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.provisioning.postgres.Plugin._customization (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine_common.db.connection.Plugin._customization (osetup.db.connection.customization)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_e_database (osetup.dialog.titles.database.end)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_s_engine (osetup.dialog.titles.engine.start)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.appmode.Plugin._customization (osetup.config.applicationMode.available)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.domain_type.Plugin._customization (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.options.Plugin._customization (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_e_engine (osetup.dialog.titles.engine.end)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_s_pki (osetup.dialog.titles.pki.start)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.pki.ca.Plugin._customization (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_e_pki (osetup.dialog.titles.pki.end)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_s_apache (osetup.dialog.titles.apache.start)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.ssl.Plugin._customization (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.root.Plugin._customization (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_e_apache (osetup.dialog.titles.apache.end)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.firewall.Plugin._configuration (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_s_system (osetup.dialog.titles.system.start)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.websocket_proxy.config.Plugin._customization (setup.config.websocket-proxy.customization)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.websocket_proxy.config.Plugin._customization_firewall (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.nfs.Plugin._customization (osetup.system.nfs.available)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.iso_domain.Plugin._customization (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_e_system (osetup.dialog.titles.system.end)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.firewall.Plugin._configuration (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.nfs.Plugin._firewall (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.core.config.Plugin._customize2 (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.provisioning.postgres.Plugin._customization_firewall (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:445 STAGE validation
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.core.misc.Plugin._validation (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.upgrade.asynctasks.Plugin._validateEnv (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.base.network.firewall_manager.Plugin._validation (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.network.firewalld.Plugin._validation (otopi.network.firealld.validation)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.network.hostname.Plugin._validation (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.network.iptables.Plugin._validate (otopi.network.iptables.validation)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.network.ssh.Plugin._validation (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.core.engine.Plugin._validation (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.db.pgpass.Plugin._validation (osetup.db.connection.credentials.early)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.cpu.Plugin._validation (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.sshd.Plugin._validation (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.vdsm.Plugin._validation (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.selinux.Plugin._validation (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.ssl.Plugin._validate_ssl (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.db.schema.Plugin._validation (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.provisioning.postgres.Plugin._validation (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.exportfs.Plugin._validation (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.memcheck.Plugin._validateMemory (osetup.memory.check)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.memcheck.Plugin._validateContinueLowMemory (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.selinux.Plugin._validation (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.sysctl.Plugin._validation (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.upgrade.asynctasks.Plugin._validateZombies (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine_common.config.java.Plugin._validation (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine_common.config.jboss.Plugin._validation (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.preview.Plugin._customization (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.upgrade.asynctasks.Plugin._validateAsyncTasks (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.upgrade.dbvalidations.Plugin._validation (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:445 STAGE transaction-prepare
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.core.transaction.Plugin._main_prepare (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.core.engine.Plugin._transactionBegin (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.system.hostile_services.Plugin._transaction_begin (osetup.system.hostile.detection)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.websocket_proxy.core.Plugin._transactionBegin (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:445 STAGE early_misc
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.network.firewalld.Plugin._early_misc (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.upgrade.dbvalidations.Plugin._misc (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:445 STAGE packages
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.network.iptables.Plugin._packages (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages.Plugin.packages (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.packagers.yumpackager.Plugin._packages (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:445 STAGE misc
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.system.command.Plugin._misc (otopi.system.command.redetection)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.sysctl.Plugin._misc (osetup.system.sysctl.available)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.network.firewalld.Plugin._misc (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.network.iptables.Plugin._store_iptables (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.network.ssh.Plugin._append_key (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.system.clock.Plugin._set_clock (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.provisioning.postgres.Plugin._misc (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.db.pgpass.Plugin._misc (osetup.db.connection.credentials.late)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.base.network.firewall_manager.Plugin._prepare_examples (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.core.Plugin._misc (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.storage.Plugin._misc (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.vdsm.Plugin._misc (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.engine.Plugin._misc (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.root.Plugin._misc (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.selinux.Plugin._misc (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.ssl.Plugin._misc (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.database.Plugin._misc (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.jboss.Plugin._misc (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.protocols.Plugin._misc (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.tools.Plugin._misc (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.db.schema.Plugin._miscInstall (osetup.db.schema)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.db.schema.Plugin._miscUpgrade (osetup.db.schema)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.pki.ca.Plugin._misc (osetup.pki.ca.available)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.pki.ssh.Plugin._misc (osetup.pki.ssh.available)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.sshd.Plugin._misc (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.localstate.Plugin._misc (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.nfs.Plugin._misc (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.upgrade.answerfile_fixup.Plugin._misc (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine_common.db.connection.Plugin._connection (osetup.db.connection.available)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.pki.ca.Plugin.miscOptions (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.legacy.osinfo.Plugin._misc (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.options.Plugin._miscNewDatabase (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.options.Plugin._miscAlways (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.macrange.Plugin._misc (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.iso_domain.Plugin._add_iso_domain_to_db (osetup.config.iso_domain.available)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.exportfs.Plugin._misc (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.domain_type.Plugin._misc (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.ca.Plugin._misc (osetup.config.encryption.available)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.options.Plugin._miscEncrypted (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.appmode.Plugin._misc (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.websocket_proxy.config.Plugin._misc (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.selinux.Plugin._misc (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.core.postinstall.Plugin._misc (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:445 STAGE cleanup
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.core.transaction.Plugin._main_end (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:445 STAGE closeup
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.network.firewalld.Plugin._closeup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.network.iptables.Plugin._closeup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.network.ssh.Plugin._cleanup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.dialog.titles.Plugin._title_s_summary (osetup.dialog.titles.summary.start)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.memcheck.Plugin._closeup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.exportfs.Plugin._closeup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.provisioning.postgres.Plugin._closeup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.pki.ssh.Plugin._closeup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.pki.ca.Plugin._closeup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.protocols.Plugin._closeup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.options.Plugin._closeup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.base.network.firewall_manager.Plugin._closeup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.dialog.titles.Plugin._title_e_summary (osetup.dialog.titles.summary.end)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.sshd.Plugin._closeup (osetup.aio.config.ssh)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.legacy.osinfo.Plugin._closeup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.engine.Plugin._closeup (osetup.core.engine.start)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.system.apache.Plugin._closeup (osetup.apache.core.restart)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.vdsm.Plugin._closeup (osetup.aio.config.vdsm)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.nfs.Plugin._closeup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_setup.websocket_proxy.config.Plugin._closeup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.system.reboot.Plugin._closeup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.core.answerfile.Plugin._closeup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.distro-rpm.log_setup_event.Plugin._log_setup_event_closeup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:445 STAGE cleanup
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.core.misc.Plugin._cleanup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.system.hostile_services.Plugin._closeup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.core.uninstall.Plugin._cleanup (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:445 STAGE pre-terminate
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.core.misc.Plugin._preTerminate (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.dialog.cli.Plugin._pre_terminate (otopi.dialog.cli.termination)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:445 STAGE terminate
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.ovirt_engine_common.base.core.misc.Plugin._terminate (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.dialog.human.Plugin._terminate (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.dialog.machine.Plugin._terminate (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.core.log.Plugin._terminate (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:445 STAGE reboot
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:450     METHOD otopi.plugins.otopi.system.reboot.Plugin._reboot (None)
2014-01-22 17:46:12 DEBUG otopi.context context.dumpSequence:452 SEQUENCE DUMP - END
2014-01-22 17:46:12 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:12 DEBUG otopi.context context.dumpEnvironment:471 ENV BASE/aborted=bool:'False'
2014-01-22 17:46:12 DEBUG otopi.context context.dumpEnvironment:471 ENV BASE/debug=int:'0'
2014-01-22 17:46:12 DEBUG otopi.context context.dumpEnvironment:471 ENV BASE/error=bool:'False'
2014-01-22 17:46:12 DEBUG otopi.context context.dumpEnvironment:471 ENV BASE/exceptionInfo=list:'[]'
2014-01-22 17:46:12 DEBUG otopi.context context.dumpEnvironment:471 ENV BASE/executionDirectory=str:'/etc/yum.repos.d'
2014-01-22 17:46:12 DEBUG otopi.context context.dumpEnvironment:471 ENV BASE/log=bool:'True'
2014-01-22 17:46:12 DEBUG otopi.context context.dumpEnvironment:471 ENV BASE/pluginGroups=str:'otopi:ovirt-engine-common:ovirt-engine-setup'
2014-01-22 17:46:12 DEBUG otopi.context context.dumpEnvironment:471 ENV BASE/pluginPath=str:'/usr/share/otopi/plugins:/usr/share/ovirt-engine/setup/bin/../plugins'
2014-01-22 17:46:12 DEBUG otopi.context context.dumpEnvironment:471 ENV BASE/suppressEnvironmentKeys=list:'['OVESETUP_DB/password', 'OVESETUP_CONFIG/adminPassword']'
2014-01-22 17:46:12 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/configFileName=str:'/etc/ovirt-engine-setup.conf'
2014-01-22 17:46:12 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/logDir=str:'/var/log/ovirt-engine/setup'
2014-01-22 17:46:12 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/logFileHandle=file:'<open file '/var/log/ovirt-engine/setup/ovirt-engine-setup-20140122174611.log', mode 'a' at 0x2a690c0>'
2014-01-22 17:46:12 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/logFileName=str:'/var/log/ovirt-engine/setup/ovirt-engine-setup-20140122174611.log'
2014-01-22 17:46:12 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/logFileNamePrefix=str:'ovirt-engine-setup'
2014-01-22 17:46:12 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/logFilter=_MyLoggerFilter:'filter'
2014-01-22 17:46:12 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/logFilterKeys=list:'[]'
2014-01-22 17:46:12 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/logRemoveAtExit=bool:'False'
2014-01-22 17:46:12 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/randomizeEvents=bool:'False'
2014-01-22 17:46:12 DEBUG otopi.context context.dumpEnvironment:471 ENV DIALOG/boundary=str:'--=451b80dc-996f-432e-9e4f-2b29ef6d1141=--'
2014-01-22 17:46:12 DEBUG otopi.context context.dumpEnvironment:471 ENV DIALOG/dialect=str:'human'
2014-01-22 17:46:12 DEBUG otopi.context context.dumpEnvironment:471 ENV INFO/PACKAGE_NAME=str:'otopi'
2014-01-22 17:46:12 DEBUG otopi.context context.dumpEnvironment:471 ENV INFO/PACKAGE_VERSION=str:'1.2.0_beta'
2014-01-22 17:46:12 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:12 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:12 DEBUG otopi.context context.dumpEnvironment:471 ENV INFO/PACKAGE_NAME=str:'otopi'
2014-01-22 17:46:12 DEBUG otopi.context context.dumpEnvironment:471 ENV INFO/PACKAGE_VERSION=str:'1.2.0_beta'
2014-01-22 17:46:12 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:12 DEBUG otopi.context context._executeMethod:138 Stage boot METHOD otopi.plugins.otopi.packagers.yumpackager.Plugin._boot
Loaded plugins: fastestmirror, versionlock
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV PACKAGER/keepAliveInterval=int:'30'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV PACKAGER/yumDisabledPlugins=list:'[]'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV PACKAGER/yumEnabledPlugins=list:'[]'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV PACKAGER/yumExpireCache=bool:'True'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage boot METHOD otopi.plugins.otopi.system.info.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.plugins.otopi.system.info info._init:48 SYSTEM INFORMATION - BEGIN
2014-01-22 17:46:13 DEBUG otopi.plugins.otopi.system.info info._init:49 executable /usr/bin/python
2014-01-22 17:46:13 DEBUG otopi.plugins.otopi.system.info info._init:50 python /usr/bin/python
2014-01-22 17:46:13 DEBUG otopi.plugins.otopi.system.info info._init:51 platform linux2
2014-01-22 17:46:13 DEBUG otopi.plugins.otopi.system.info info._init:52 distribution ('CentOS', '6.5', 'Final')
2014-01-22 17:46:13 DEBUG otopi.plugins.otopi.system.info info._init:53 host 'cauldron.arclab'
2014-01-22 17:46:13 DEBUG otopi.plugins.otopi.system.info info._init:59 uid 0 euid 0 gid 0 egid 0
2014-01-22 17:46:13 DEBUG otopi.plugins.otopi.system.info info._init:61 SYSTEM INFORMATION - END
2014-01-22 17:46:13 INFO otopi.context context.runSequence:395 Stage: Initializing
2014-01-22 17:46:13 DEBUG otopi.context context.runSequence:399 STAGE init
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.otopi.core.config.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_AIO/enable=bool:'False'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_APACHE/configureRootRedirection=bool:'True'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_APACHE/configureRootRedirectionDefault=bool:'True'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_APACHE/configureSsl=bool:'True'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/firewallManager=str:'iptables'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/fqdn=str:'cauldron.arclab'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/isoDomainExists=bool:'True'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/isoDomainMountPoint=str:'/var/lib/exports/iso'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/isoDomainName=str:'ISO_DOMAIN'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/isoDomainSdUuid=str:'69ea8415-8d33-4d9b-a29b-057970984c99'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/websocketProxyConfig=bool:'True'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE/generatedByVersion=str:'3.4.0_master'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/nfsConfigEnabled=bool:'True'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.otopi.packagers.yumpackager.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager._init:204 Registering yum packager
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV PACKAGER/yumRollback=bool:'True'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV PACKAGER/yumpackagerEnabled=bool:'True'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.otopi.system.command.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV SYSTEM/commandPath=str:'/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.ovirt_engine_common.base.core.misc.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.plugins.ovirt_engine_common.base.core.misc misc._init:98 Package: ovirt-engine-3.4.0_beta1 (3.4.0-0.5.beta1.el6)
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE/developerMode=bool:'False'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE/generatedByVersion=str:'3.4.0_beta1'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE/originalGeneratedByVersion=str:'3.4.0_master'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE/setupAttributesModules=list:'[<module 'ovirt_engine_setup.constants' from '/usr/share/ovirt-engine/setup/ovirt_engine_setup/constants.pyc'>]'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE/upgradeSupportedVersions=str:'3.0,3.1,3.2,3.3,3.4'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.otopi.core.transaction.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/internalPackageTransaction=Transaction:'transaction'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/mainTransaction=Transaction:'transaction'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/modifiedFiles=list:'[]'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.otopi.dialog.cli.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV DIALOG/cliVersion=int:'1'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV DIALOG/customization=bool:'False'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.otopi.network.firewalld.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV NETWORK/firewalldAvailable=bool:'False'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV NETWORK/firewalldDisableServices=list:'[]'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV NETWORK/firewalldEnable=bool:'False'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.otopi.network.iptables.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV NETWORK/iptablesEnable=bool:'False'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.otopi.network.ssh.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV NETWORK/sshEnable=bool:'False'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV NETWORK/sshUser=str:''
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.otopi.system.clock.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV SYSTEM/clockMaxGap=int:'5'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV SYSTEM/clockSet=bool:'False'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.otopi.system.reboot.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV SYSTEM/reboot=bool:'False'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV SYSTEM/rebootAllow=bool:'True'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV SYSTEM/rebootDeferTime=int:'10'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.ovirt_engine_common.base.core.answerfile.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.ovirt_engine_common.base.core.engine.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.ovirt_engine_common.base.core.offlinepackager.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE/offlinePackager=bool:'False'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.ovirt_engine_common.base.core.postinstall.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE/generatePostInstall=bool:'True'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.ovirt_engine_common.base.core.protocols.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/httpPort=int:'80'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/httpsPort=int:'443'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/jbossAjpPort=int:'8702'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/jbossDebugAddress=str:'127.0.0.1:8787'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/jbossHttpPort=int:'8080'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/jbossHttpsPort=int:'8443'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.ovirt_engine_common.base.core.uninstall.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE/registerUninstallGroups=RegisterGroups:'<otopi.plugins.ovirt_engine_common.base.core.uninstall.RegisterGroups object at 0x228fe50>'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE/uninstallUnremovableFiles=list:'[]'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.ovirt_engine_common.base.db.connection.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_DB/newDatabase=bool:'True'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.ovirt_engine_common.base.db.pgpass.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.ovirt_engine_common.base.network.firewall_manager.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/firewallManagers=list:'[]'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.ovirt_engine_common.base.network.firewall_manager_firewalld.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_NETWORK/firewalldServices=list:'[]'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_NETWORK/firewalldSubst=dict:'{}'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.ovirt_engine_common.base.system.apache.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_APACHE/httpdService=str:'httpd'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_APACHE/needRestart=bool:'False'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.ovirt_engine_common.base.system.environment.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/groupEngine=str:'ovirt'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/groupKvm=str:'kvm'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/userApache=str:'apache'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/userEngine=str:'ovirt'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/userPostgres=str:'postgres'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/userRoot=str:'root'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/userVdsm=str:'vdsm'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.ovirt_engine_common.base.system.hostile_services.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/hostileServices=str:'ovirt-engine-dwhd,engine-notifierd,ovirt-engine-notifier'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.ovirt_engine_setup.base.core.misc.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE/action=str:'setup'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.ovirt_engine_setup.base.network.firewall_manager.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/validFirewallManagers=str:''
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.ovirt_engine_setup.base.network.hostname.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/fqdnNonLoopback=bool:'False'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/fqdnReverseValidation=bool:'False'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.core.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.cpu.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_AIO/supported=bool:'False'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.sshd.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.storage.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_AIO/storageDomainDefaultDir=str:'/var/lib/images'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.vdsm.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_AIO/localCluster=str:'local_cluster'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_AIO/localDataCenter=str:'local_datacenter'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_AIO/localHost=str:'local_host'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.engine.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_APACHE/configFileOvirtEngine=str:'/etc/httpd/conf.d/z-ovirt-engine-proxy.conf'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.root.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_APACHE/configFileOvirtRoot=str:'/etc/httpd/conf.d/ovirt-engine-root-redirect.conf'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.ssl.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_APACHE/configFileSsl=str:'/etc/httpd/conf.d/ssl.conf'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.appmode.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.domain_type.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.iso_domain.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/isoDomainDefaultMountPoint=str:'/var/lib/exports/iso'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.macrange.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/macRangePool=str:'00:1a:4a:75:56:00-00:1a:4a:75:56:ff'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.options.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.preview.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.pki.ca.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_PKI/country=str:'US'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_PKI/storePassword=str:'**FILTERED**'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.provisioning.postgres.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.exportfs.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.memcheck.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/memCheckEnabled=bool:'True'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/memCheckMinimumMB=int:'4096'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/memCheckRecommendedMB=int:'16384'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/memCheckThreshold=int:'90'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.nfs.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.selinux.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/selinuxContexts=list:'[]'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/selinuxRestorePaths=list:'[]'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.sysctl.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/shmmax=int:'41943040'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.upgrade.asynctasks.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_ASYNC/clearTasks=bool:'True'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_ASYNC/clearTasksWait=int:'20'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.upgrade.dbvalidations.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine_common.config.java.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine_common.config.jboss.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/jbossHome=str:'/usr/share/jboss-as'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OSETUP_RPMDISTRO/versionLockApply=list:'[]'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OSETUP_RPMDISTRO/versionLockFilter=list:'[]'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_RPMDISTRO/packagesSetup=list:'[]'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_RPMDISTRO/packagesUpgradeList=list:'[]'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine_common.provisioning.postgres.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_PROVISIONING/postgresConf=str:'/var/lib/pgsql/data/postgresql.conf'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_PROVISIONING/postgresMaxConn=int:'150'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_PROVISIONING/postgresPgHba=str:'/var/lib/pgsql/data/pg_hba.conf'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_PROVISIONING/postgresPgVersion=str:'/var/lib/pgsql/data/PG_VERSION'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_PROVISIONING/postgresService=str:'postgresql'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage init METHOD otopi.plugins.ovirt_engine_setup.websocket_proxy.config.Plugin._init
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/websocketProxyPort=int:'6100'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 INFO otopi.context context.runSequence:395 Stage: Environment setup
2014-01-22 17:46:13 DEBUG otopi.context context.runSequence:399 STAGE setup
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage setup METHOD otopi.plugins.otopi.core.config.Plugin._post_init
2014-01-22 17:46:13 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                 Configuration files: ['/etc/ovirt-engine-setup.conf.d/10-packaging-aio.conf', '/etc/ovirt-engine-setup.conf.d/10-packaging.conf', '/etc/ovirt-engine-setup.conf.d/20-setup-aio.conf', '/etc/ovirt-engine-setup.conf.d/20-setup-ovirt-post.conf']
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage setup METHOD otopi.plugins.otopi.core.log.Plugin._setup
2014-01-22 17:46:13 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                 Log file: /var/log/ovirt-engine/setup/ovirt-engine-setup-20140122174611.log
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage setup METHOD otopi.plugins.otopi.core.misc.Plugin._setup
2014-01-22 17:46:13 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                 Version: otopi-1.2.0_beta (otopi-1.2.0-0.1.beta.el6)
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage setup METHOD otopi.plugins.otopi.packagers.yumpackager.Plugin._setup
2014-01-22 17:46:13 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Cleaning caches: ['expire-cache'].
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage setup METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.cpu.Plugin._setup
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage setup METHOD otopi.plugins.otopi.network.firewalld.Plugin._setup
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage setup METHOD otopi.plugins.otopi.network.hostname.Plugin._setup
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage setup METHOD otopi.plugins.otopi.network.ssh.Plugin._setup
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage setup METHOD otopi.plugins.otopi.services.openrc.Plugin._setup
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage setup METHOD otopi.plugins.otopi.services.rhel.Plugin._setup
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage setup METHOD otopi.plugins.otopi.services.systemd.Plugin._setup
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage setup METHOD otopi.plugins.otopi.system.clock.Plugin._setup
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage setup METHOD otopi.plugins.otopi.system.reboot.Plugin._setup
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage setup METHOD otopi.plugins.ovirt_engine_common.base.core.protocols.Plugin._setup
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/publicHttpPort=int:'80'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/publicHttpsPort=int:'443'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage setup METHOD otopi.plugins.ovirt_engine_common.base.db.connection.Plugin._commands
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage setup METHOD otopi.plugins.ovirt_engine_common.base.db.connection.Plugin._setup
2014-01-22 17:46:13 DEBUG otopi.ovirt_engine_setup.database database.execute:132 Database: 'engine', Statement: '
                    select 1
                ', args: {}
2014-01-22 17:46:13 DEBUG otopi.ovirt_engine_setup.database database.execute:137 Creating own connection
2014-01-22 17:46:13 DEBUG otopi.ovirt_engine_setup.database database.execute:190 Result: [{'?column?': 1}]
2014-01-22 17:46:13 DEBUG otopi.ovirt_engine_setup.database database.tryDatabaseConnect:335 Connection succeeded
2014-01-22 17:46:13 DEBUG otopi.ovirt_engine_setup.database database.execute:132 Database: 'engine', Statement: '
                select count(*) as count
                from information_schema.tables
                where table_name=%(table)s
            ', args: {'table': 'schema_version'}
2014-01-22 17:46:13 DEBUG otopi.ovirt_engine_setup.database database.execute:137 Creating own connection
2014-01-22 17:46:13 DEBUG otopi.ovirt_engine_setup.database database.execute:190 Result: [{'count': 1L}]
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_DB/database=str:'engine'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_DB/host=str:'localhost'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_DB/newDatabase=bool:'False'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_DB/password=str:'***'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_DB/port=str:'5432'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_DB/secured=bool:'False'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_DB/securedHostValidation=bool:'False'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_DB/user=str:'engine'
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage setup METHOD otopi.plugins.ovirt_engine_common.base.distro-rpm.log_setup_event.Plugin._setup
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage setup METHOD otopi.plugins.ovirt_engine_common.base.network.firewall_manager_firewalld.Plugin._setup
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage setup METHOD otopi.plugins.ovirt_engine_common.base.network.firewall_manager_human.Plugin._setup
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage setup METHOD otopi.plugins.ovirt_engine_common.base.network.firewall_manager_iptables.Plugin._setup
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage setup METHOD otopi.plugins.ovirt_engine_common.base.system.apache.Plugin._setup
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage setup METHOD otopi.plugins.ovirt_engine_common.base.system.hostile_services.Plugin._setup
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage setup METHOD otopi.plugins.ovirt_engine_setup.base.network.firewall_manager.Plugin._keep_only_valid_firewall_managers
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage setup METHOD otopi.plugins.ovirt_engine_setup.base.network.hostname.Plugin._setup
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage setup METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.core.Plugin._setup
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage setup METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.sshd.Plugin._setup
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage setup METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.root.Plugin._setup
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage setup METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.selinux.Plugin._setup
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage setup METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.ssl.Plugin._setup
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage setup METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.distro-rpm.packages.Plugin._setup
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage setup METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.pki.ca.Plugin._setup
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage setup METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.pki.ssh.Plugin._setup
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage setup METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.provisioning.postgres.Plugin._setup
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage setup METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.exportfs.Plugin._setup
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage setup METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.selinux.Plugin._setup
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage setup METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.sysctl.Plugin._setup
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage setup METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine_common.db.connection.Plugin._setup
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage setup METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages.Plugin._setup
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:13 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:13 DEBUG otopi.context context._executeMethod:138 Stage setup METHOD otopi.plugins.ovirt_engine_common.base.distro-rpm.log_setup_event.Plugin._log_setup_event_setup
2014-01-22 17:46:13 DEBUG otopi.plugins.ovirt_engine_common.base.distro-rpm.log_setup_event plugin.executeRaw:366 execute: ('/usr/share/ovirt-engine/bin/ovirt-engine-log-setup-event.sh', '--notes=Start of setup'), executable='None', cwd='None', env=None
2014-01-22 17:46:15 DEBUG otopi.plugins.ovirt_engine_common.base.distro-rpm.log_setup_event plugin.executeRaw:383 execute-result: ('/usr/share/ovirt-engine/bin/ovirt-engine-log-setup-event.sh', '--notes=Start of setup'), rc=0
2014-01-22 17:46:15 DEBUG otopi.plugins.ovirt_engine_common.base.distro-rpm.log_setup_event plugin.execute:441 execute-output: ('/usr/share/ovirt-engine/bin/ovirt-engine-log-setup-event.sh', '--notes=Start of setup') stdout:


2014-01-22 17:46:15 DEBUG otopi.plugins.ovirt_engine_common.base.distro-rpm.log_setup_event plugin.execute:446 execute-output: ('/usr/share/ovirt-engine/bin/ovirt-engine-log-setup-event.sh', '--notes=Start of setup') stderr:


2014-01-22 17:46:15 INFO otopi.context context.runSequence:395 Stage: Environment packages setup
2014-01-22 17:46:15 DEBUG otopi.context context.runSequence:399 STAGE internal_packages
2014-01-22 17:46:15 DEBUG otopi.context context._executeMethod:138 Stage internal_packages METHOD otopi.plugins.otopi.core.transaction.Plugin._pre_prepare
2014-01-22 17:46:15 DEBUG otopi.transaction transaction._prepare:77 preparing 'Yum Transaction'
Loaded plugins: fastestmirror, versionlock
2014-01-22 17:46:15 DEBUG otopi.context context._executeMethod:138 Stage internal_packages METHOD otopi.plugins.otopi.network.hostname.Plugin._internal_packages
2014-01-22 17:46:15 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum queue package iproute for install
Loading mirror speeds from cached hostfile
2014-01-22 17:46:21 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: epel/metalink (0%)
2014-01-22 17:46:21 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: epel/metalink 22 k(100%)
 * base: mirrors.coreix.net
 * centosplus: mirrors.manchester.m247.com
 * epel: mirror.bytemark.co.uk
 * extras: mirrors.manchester.m247.com
 * updates: mirror.bytemark.co.uk
2014-01-22 17:46:22 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: repomdXKdCxmtmp.xml (0%)
2014-01-22 17:46:22 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: repomdXKdCxmtmp.xml 3.7 k(100%)
2014-01-22 17:46:23 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: repomdvJUcfXtmp.xml (0%)
2014-01-22 17:46:23 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: repomdvJUcfXtmp.xml 3.4 k(100%)
2014-01-22 17:46:26 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: repomdcKfzjxtmp.xml (0%)
2014-01-22 17:46:26 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: repomdcKfzjxtmp.xml 3.4 k(100%)
2014-01-22 17:46:28 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: repomd40QBD_tmp.xml (0%)
2014-01-22 17:46:28 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: repomd40QBD_tmp.xml 2.9 k(100%)
2014-01-22 17:46:28 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: repomdQPQKVctmp.xml (0%)
2014-01-22 17:46:28 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: repomdQPQKVctmp.xml 2.9 k(100%)
2014-01-22 17:46:29 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: repomd3azaJGtmp.xml (0%)
2014-01-22 17:46:29 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: repomd3azaJGtmp.xml 2.9 k(100%)
2014-01-22 17:46:40 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: repomdedWGeotmp.xml (0%)
2014-01-22 17:46:40 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: repomdedWGeotmp.xml 3.4 k(100%)
2014-01-22 17:46:42 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: repomdzqmWzdtmp.xml (0%)
2014-01-22 17:46:42 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: repomdzqmWzdtmp.xml 3.4 k(100%)
2014-01-22 17:46:45 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: repomdeGCtXdtmp.xml (0%)
2014-01-22 17:46:45 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: repomdeGCtXdtmp.xml 3.4 k(100%)
2014-01-22 17:46:46 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: repomdv9Zcd2tmp.xml (0%)
2014-01-22 17:46:46 INFO otopi.plugins.otopi.packagers.yumpackager yumpackager.info:92 Yum Downloading: repomdv9Zcd2tmp.xml (0%)
2014-01-22 17:46:46 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: repomdv9Zcd2tmp.xml 3.4 k(100%)
Package iproute-2.6.32-31.el6.x86_64 already installed and latest version
2014-01-22 17:46:47 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum package iproute queued
2014-01-22 17:46:47 DEBUG otopi.context context._executeMethod:138 Stage internal_packages METHOD otopi.plugins.otopi.packagers.yumpackager.Plugin._internal_packages_end
2014-01-22 17:46:47 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Building transaction
2014-01-22 17:46:47 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Empty transaction
2014-01-22 17:46:47 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Transaction Summary:
2014-01-22 17:46:47 DEBUG otopi.context context._executeMethod:138 Stage internal_packages METHOD otopi.plugins.otopi.core.transaction.Plugin._pre_end
2014-01-22 17:46:47 DEBUG otopi.transaction transaction.commit:159 committing 'Yum Transaction'
Loaded plugins: fastestmirror, versionlock
2014-01-22 17:46:47 INFO otopi.context context.runSequence:395 Stage: Programs detection
2014-01-22 17:46:47 DEBUG otopi.context context.runSequence:399 STAGE programs
2014-01-22 17:46:47 DEBUG otopi.context context._executeMethod:138 Stage programs METHOD otopi.plugins.otopi.system.command.Plugin._programs
2014-01-22 17:46:47 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:47 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/chkconfig=str:'/sbin/chkconfig'
2014-01-22 17:46:47 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/date=str:'/bin/date'
2014-01-22 17:46:47 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/dig=str:'/usr/bin/dig'
2014-01-22 17:46:47 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/exportfs=str:'/usr/sbin/exportfs'
2014-01-22 17:46:47 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/hwclock=str:'/sbin/hwclock'
2014-01-22 17:46:47 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/initctl=str:'/sbin/initctl'
2014-01-22 17:46:47 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/ip=str:'/sbin/ip'
2014-01-22 17:46:47 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/ntpq=str:'/usr/sbin/ntpq'
2014-01-22 17:46:47 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/pg_dump=str:'/usr/bin/pg_dump'
2014-01-22 17:46:47 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/psql=str:'/usr/bin/psql'
2014-01-22 17:46:47 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/reboot=str:'/sbin/reboot'
2014-01-22 17:46:47 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/restorecon=str:'/sbin/restorecon'
2014-01-22 17:46:47 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/rpm=str:'/bin/rpm'
2014-01-22 17:46:47 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/selinuxenabled=str:'/usr/sbin/selinuxenabled'
2014-01-22 17:46:47 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/semanage=str:'/usr/sbin/semanage'
2014-01-22 17:46:47 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/service=str:'/sbin/service'
2014-01-22 17:46:47 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/ssh-keygen=str:'/usr/bin/ssh-keygen'
2014-01-22 17:46:47 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/sshd=str:'/usr/sbin/sshd'
2014-01-22 17:46:47 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/sysctl=str:'/sbin/sysctl'
2014-01-22 17:46:47 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:47 DEBUG otopi.context context._executeMethod:138 Stage programs METHOD otopi.plugins.otopi.services.systemd.Plugin._programs
2014-01-22 17:46:47 DEBUG otopi.context context._executeMethod:138 Stage programs METHOD otopi.plugins.otopi.services.rhel.Plugin._programs
2014-01-22 17:46:47 DEBUG otopi.plugins.otopi.services.rhel rhel._programs:72 registering rhel provider
2014-01-22 17:46:47 DEBUG otopi.context context._executeMethod:138 Stage programs METHOD otopi.plugins.otopi.services.openrc.Plugin._programs
2014-01-22 17:46:47 INFO otopi.context context.runSequence:395 Stage: Environment setup
2014-01-22 17:46:47 DEBUG otopi.context context.runSequence:399 STAGE late_setup
2014-01-22 17:46:47 DEBUG otopi.context context._executeMethod:138 Stage late_setup METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.nfs.Plugin._setup
2014-01-22 17:46:47 DEBUG otopi.plugins.otopi.services.rhel rhel.exists:121 check if service nfs-server exists
2014-01-22 17:46:47 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/initctl', 'status', 'nfs-server'), executable='None', cwd='None', env=None
2014-01-22 17:46:47 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/initctl', 'status', 'nfs-server'), rc=1
2014-01-22 17:46:47 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/initctl', 'status', 'nfs-server') stdout:


2014-01-22 17:46:47 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/initctl', 'status', 'nfs-server') stderr:
initctl: Unknown job: nfs-server

2014-01-22 17:46:47 DEBUG otopi.plugins.otopi.services.rhel rhel.exists:133 service nfs-server exists False upstart=False
2014-01-22 17:46:47 DEBUG otopi.plugins.otopi.services.rhel rhel.exists:121 check if service nfs exists
2014-01-22 17:46:47 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/initctl', 'status', 'nfs'), executable='None', cwd='None', env=None
2014-01-22 17:46:47 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/initctl', 'status', 'nfs'), rc=1
2014-01-22 17:46:47 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/initctl', 'status', 'nfs') stdout:


2014-01-22 17:46:47 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/initctl', 'status', 'nfs') stderr:
initctl: Unknown job: nfs

2014-01-22 17:46:47 DEBUG otopi.plugins.otopi.services.rhel rhel.exists:133 service nfs exists True upstart=False
2014-01-22 17:46:47 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/nfsServiceName=str:'nfs'
2014-01-22 17:46:47 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:47 DEBUG otopi.context context._executeMethod:138 Stage late_setup METHOD otopi.plugins.ovirt_engine_setup.websocket_proxy.config.Plugin._late_setup
2014-01-22 17:46:47 DEBUG otopi.context context._executeMethod:138 Stage late_setup METHOD otopi.plugins.ovirt_engine_setup.websocket_proxy.config.Plugin._late_setup_service_state
2014-01-22 17:46:47 DEBUG otopi.plugins.otopi.services.rhel rhel.status:138 check service ovirt-websocket-proxy status
2014-01-22 17:46:47 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/initctl', 'status', 'ovirt-websocket-proxy'), executable='None', cwd='None', env=None
2014-01-22 17:46:47 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/initctl', 'status', 'ovirt-websocket-proxy'), rc=1
2014-01-22 17:46:47 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/initctl', 'status', 'ovirt-websocket-proxy') stdout:


2014-01-22 17:46:47 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/initctl', 'status', 'ovirt-websocket-proxy') stderr:
initctl: Unknown job: ovirt-websocket-proxy

2014-01-22 17:46:47 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/service', 'ovirt-websocket-proxy', 'status'), executable='None', cwd='None', env=None
2014-01-22 17:46:47 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/service', 'ovirt-websocket-proxy', 'status'), rc=0
2014-01-22 17:46:47 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/service', 'ovirt-websocket-proxy', 'status') stdout:
ovirt-websocket-proxy (pid  1873) is running...

2014-01-22 17:46:47 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/service', 'ovirt-websocket-proxy', 'status') stderr:


2014-01-22 17:46:47 DEBUG otopi.plugins.otopi.services.rhel rhel.status:147 service ovirt-websocket-proxy status True
2014-01-22 17:46:47 INFO otopi.context context.runSequence:395 Stage: Environment customization
2014-01-22 17:46:47 DEBUG otopi.context context.runSequence:399 STAGE customization
2014-01-22 17:46:47 DEBUG otopi.context context._executeMethod:138 Stage customization METHOD otopi.plugins.otopi.network.firewalld.Plugin._customization
2014-01-22 17:46:47 DEBUG otopi.plugins.otopi.services.rhel rhel.exists:121 check if service firewalld exists
2014-01-22 17:46:47 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/initctl', 'status', 'firewalld'), executable='None', cwd='None', env=None
2014-01-22 17:46:47 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/initctl', 'status', 'firewalld'), rc=1
2014-01-22 17:46:47 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/initctl', 'status', 'firewalld') stdout:


2014-01-22 17:46:47 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/initctl', 'status', 'firewalld') stderr:
initctl: Unknown job: firewalld

2014-01-22 17:46:47 DEBUG otopi.plugins.otopi.services.rhel rhel.exists:133 service firewalld exists False upstart=False
2014-01-22 17:46:47 DEBUG otopi.context context._executeMethod:138 Stage customization METHOD otopi.plugins.otopi.core.config.Plugin._customize1
2014-01-22 17:46:47 DEBUG otopi.context context._executeMethod:138 Stage customization METHOD otopi.plugins.otopi.dialog.cli.Plugin._customize
2014-01-22 17:46:47 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:46:47 DEBUG otopi.context context._executeMethod:138 Stage customization METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.core.Plugin._continueSetupWithoutAIO
2014-01-22 17:46:47 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:46:47 DEBUG otopi.context context._executeMethod:138 Stage customization METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_s_product_options
2014-01-22 17:46:47 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                
2014-01-22 17:46:47 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                 --== PRODUCT OPTIONS ==--
2014-01-22 17:46:47 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                
2014-01-22 17:46:47 DEBUG otopi.context context._executeMethod:138 Stage customization METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_e_product_options
2014-01-22 17:46:47 DEBUG otopi.context context._executeMethod:138 Stage customization METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_s_packages
2014-01-22 17:46:47 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                
2014-01-22 17:46:47 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                 --== PACKAGES ==--
2014-01-22 17:46:47 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                
2014-01-22 17:46:47 DEBUG otopi.context context._executeMethod:138 Stage customization METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages.Plugin._customization
2014-01-22 17:46:47 INFO otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._customization:340 Checking for product updates...
2014-01-22 17:46:48 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages.verbose:178 Yum: queue package ovirt-engine for install
2014-01-22 17:46:48 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages.verbose:178 Yum: package ovirt-engine queued
2014-01-22 17:46:48 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages.verbose:178 Yum: queue package ovirt-engine for update
2014-01-22 17:46:48 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages.verbose:178 Yum: package ovirt-engine queued
2014-01-22 17:46:48 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages.verbose:178 Yum: Building transaction
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages.verbose:178 Yum: Transaction built
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages.verbose:178 Yum: Transaction Summary:
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages.verbose:178 Yum:     updated    - ovirt-engine-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages.verbose:178 Yum:     update     - ovirt-engine-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages.verbose:178 Yum:     updated    - ovirt-engine-backend-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages.verbose:178 Yum:     update     - ovirt-engine-backend-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages.verbose:178 Yum:     updated    - ovirt-engine-dbscripts-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages.verbose:178 Yum:     update     - ovirt-engine-dbscripts-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages.verbose:178 Yum:     updated    - ovirt-engine-restapi-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages.verbose:178 Yum:     update     - ovirt-engine-restapi-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages.verbose:178 Yum:     updated    - ovirt-engine-tools-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages.verbose:178 Yum:     update     - ovirt-engine-tools-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages.verbose:178 Yum:     updated    - ovirt-engine-userportal-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages.verbose:178 Yum:     update     - ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages.verbose:178 Yum:     updated    - ovirt-engine-webadmin-portal-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages.verbose:178 Yum:     update     - ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:235 PACKAGE: [updated] ovirt-engine-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:235 PACKAGE: [update] ovirt-engine-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:235 PACKAGE: [updated] ovirt-engine-backend-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:235 PACKAGE: [update] ovirt-engine-backend-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:235 PACKAGE: [updated] ovirt-engine-dbscripts-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:235 PACKAGE: [update] ovirt-engine-dbscripts-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:235 PACKAGE: [updated] ovirt-engine-restapi-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:235 PACKAGE: [update] ovirt-engine-restapi-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:235 PACKAGE: [updated] ovirt-engine-tools-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:235 PACKAGE: [update] ovirt-engine-tools-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:235 PACKAGE: [updated] ovirt-engine-userportal-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:235 PACKAGE: [update] ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:235 PACKAGE: [updated] ovirt-engine-webadmin-portal-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:235 PACKAGE: [update] ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-3.3.2-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-3.4.0-0.2.master.20140110021614.git3e68aa7.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-3.4.0-0.2.master.20140109103300.git6524789.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-3.4.0-0.2.master.20140108220319.gitdf6a12c.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-3.4.0-0.2.master.20140112020439.git9ad8529.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-3.4.0-0.2.master.20140106163141.git3b0c561.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-3.3.0-4.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-3.3.2-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-3.3.1-2.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-3.3.1-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-3.3.0.1-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [installed] package ovirt-engine-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [reinstall_available] package ovirt-engine-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-3.3.2-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-3.4.0-0.2.master.20140110021614.git3e68aa7.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-3.4.0-0.2.master.20140109103300.git6524789.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-3.4.0-0.2.master.20140108220319.gitdf6a12c.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-3.4.0-0.2.master.20140112020439.git9ad8529.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-3.4.0-0.2.master.20140106163141.git3b0c561.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-3.3.0-4.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-3.3.2-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-3.3.1-2.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-3.3.1-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-3.3.0.1-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [installed] package ovirt-engine-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [reinstall_available] package ovirt-engine-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-backend-3.3.2-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-backend-3.4.0-0.2.master.20140110021614.git3e68aa7.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-backend-3.4.0-0.2.master.20140112020439.git9ad8529.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-backend-3.4.0-0.2.master.20140107190113.git8dbb307.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-backend-3.4.0-0.2.master.20140108220319.gitdf6a12c.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-backend-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-backend-3.3.0-2.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-backend-3.3.1-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-backend-3.3.0-4.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-backend-3.3.2-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-backend-3.3.0.1-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-backend-3.3.1-2.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [installed] package ovirt-engine-backend-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [reinstall_available] package ovirt-engine-backend-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-backend-3.3.2-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-backend-3.4.0-0.2.master.20140110021614.git3e68aa7.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-backend-3.4.0-0.2.master.20140112020439.git9ad8529.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-backend-3.4.0-0.2.master.20140107190113.git8dbb307.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-backend-3.4.0-0.2.master.20140108220319.gitdf6a12c.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-backend-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-backend-3.3.0-2.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-backend-3.3.1-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-backend-3.3.0-4.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-backend-3.3.2-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-backend-3.3.0.1-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-backend-3.3.1-2.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [installed] package ovirt-engine-backend-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [reinstall_available] package ovirt-engine-backend-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-dbscripts-3.3.2-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-dbscripts-3.4.0-0.2.master.20140112020439.git9ad8529.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-dbscripts-3.4.0-0.2.master.20140110021614.git3e68aa7.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-dbscripts-3.4.0-0.2.master.20140106163141.git3b0c561.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-dbscripts-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-dbscripts-3.3.1-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-dbscripts-3.3.1-2.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-dbscripts-3.3.2-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-dbscripts-3.3.0.1-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-dbscripts-3.3.0-4.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [installed] package ovirt-engine-dbscripts-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [reinstall_available] package ovirt-engine-dbscripts-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-dbscripts-3.3.2-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-dbscripts-3.4.0-0.2.master.20140112020439.git9ad8529.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-dbscripts-3.4.0-0.2.master.20140110021614.git3e68aa7.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-dbscripts-3.4.0-0.2.master.20140106163141.git3b0c561.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-dbscripts-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-dbscripts-3.3.1-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-dbscripts-3.3.1-2.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-dbscripts-3.3.2-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-dbscripts-3.3.0.1-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-dbscripts-3.3.0-4.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [installed] package ovirt-engine-dbscripts-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [reinstall_available] package ovirt-engine-dbscripts-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-restapi-3.3.2-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-restapi-3.4.0-0.2.master.20140108220319.gitdf6a12c.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-restapi-3.4.0-0.2.master.20140112020439.git9ad8529.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-restapi-3.4.0-0.2.master.20140109103300.git6524789.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-restapi-3.4.0-0.2.master.20140106163141.git3b0c561.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-restapi-3.4.0-0.2.master.20140110021614.git3e68aa7.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-restapi-3.4.0-0.2.master.20140107190113.git8dbb307.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-restapi-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-restapi-3.3.0.1-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-restapi-3.3.1-2.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-restapi-3.3.1-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-restapi-3.3.0-4.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-restapi-3.3.0-0.7.rc2.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-restapi-3.3.2-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [installed] package ovirt-engine-restapi-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [reinstall_available] package ovirt-engine-restapi-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-restapi-3.3.2-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-restapi-3.4.0-0.2.master.20140108220319.gitdf6a12c.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-restapi-3.4.0-0.2.master.20140112020439.git9ad8529.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-restapi-3.4.0-0.2.master.20140109103300.git6524789.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-restapi-3.4.0-0.2.master.20140106163141.git3b0c561.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-restapi-3.4.0-0.2.master.20140110021614.git3e68aa7.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-restapi-3.4.0-0.2.master.20140107190113.git8dbb307.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-restapi-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-restapi-3.3.0.1-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-restapi-3.3.1-2.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-restapi-3.3.1-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-restapi-3.3.0-4.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-restapi-3.3.0-0.7.rc2.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-restapi-3.3.2-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [installed] package ovirt-engine-restapi-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [reinstall_available] package ovirt-engine-restapi-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-tools-3.3.2-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-tools-3.4.0-0.2.master.20140110021614.git3e68aa7.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-tools-3.4.0-0.2.master.20140112020439.git9ad8529.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-tools-3.4.0-0.2.master.20140109103300.git6524789.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-tools-3.4.0-0.2.master.20140105210053.git61dcf14.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-tools-3.4.0-0.2.master.20140108220319.gitdf6a12c.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-tools-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-tools-3.3.2-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-tools-3.3.1-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-tools-3.3.0-4.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-tools-3.3.1-2.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-tools-3.3.0.1-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [installed] package ovirt-engine-tools-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [reinstall_available] package ovirt-engine-tools-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-tools-3.3.2-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-tools-3.4.0-0.2.master.20140110021614.git3e68aa7.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-tools-3.4.0-0.2.master.20140112020439.git9ad8529.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-tools-3.4.0-0.2.master.20140109103300.git6524789.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-tools-3.4.0-0.2.master.20140105210053.git61dcf14.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-tools-3.4.0-0.2.master.20140108220319.gitdf6a12c.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-tools-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-tools-3.3.2-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-tools-3.3.1-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-tools-3.3.0-4.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-tools-3.3.1-2.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-tools-3.3.0.1-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [installed] package ovirt-engine-tools-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [reinstall_available] package ovirt-engine-tools-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-userportal-3.3.2-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-userportal-3.4.0-0.2.master.20140106163141.git3b0c561.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-userportal-3.4.0-0.2.master.20140112020439.git9ad8529.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-userportal-3.4.0-0.2.master.20140105210053.git61dcf14.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-userportal-3.4.0-0.2.master.20140108220319.gitdf6a12c.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-userportal-3.4.0-0.2.master.20140109103300.git6524789.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-userportal-3.4.0-0.2.master.20140114020449.git55d889a.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-userportal-3.4.0-0.2.master.20140110021614.git3e68aa7.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-userportal-3.3.1-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-userportal-3.3.0-3.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-userportal-3.3.0.1-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-userportal-3.3.0-4.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-userportal-3.3.2-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-userportal-3.3.1-2.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [installed] package ovirt-engine-userportal-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [reinstall_available] package ovirt-engine-userportal-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-userportal-3.3.2-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-userportal-3.4.0-0.2.master.20140106163141.git3b0c561.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-userportal-3.4.0-0.2.master.20140112020439.git9ad8529.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-userportal-3.4.0-0.2.master.20140105210053.git61dcf14.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-userportal-3.4.0-0.2.master.20140108220319.gitdf6a12c.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-userportal-3.4.0-0.2.master.20140109103300.git6524789.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-userportal-3.4.0-0.2.master.20140114020449.git55d889a.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-userportal-3.4.0-0.2.master.20140110021614.git3e68aa7.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-userportal-3.3.1-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-userportal-3.3.0-3.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-userportal-3.3.0.1-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-userportal-3.3.0-4.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-userportal-3.3.2-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-userportal-3.3.1-2.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [installed] package ovirt-engine-userportal-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [reinstall_available] package ovirt-engine-userportal-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-webadmin-portal-3.3.2-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-webadmin-portal-3.4.0-0.2.master.20140109103300.git6524789.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-webadmin-portal-3.4.0-0.2.master.20140112020439.git9ad8529.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-webadmin-portal-3.4.0-0.2.master.20140107190113.git8dbb307.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-webadmin-portal-3.4.0-0.2.master.20140108220319.gitdf6a12c.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-webadmin-portal-3.4.0-0.2.master.20140106163141.git3b0c561.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-webadmin-portal-3.4.0-0.2.master.20140110021614.git3e68aa7.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-webadmin-portal-3.3.0.1-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-webadmin-portal-3.3.0-4.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-webadmin-portal-3.3.0-3.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-webadmin-portal-3.3.1-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-webadmin-portal-3.3.1-2.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-webadmin-portal-3.3.2-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [installed] package ovirt-engine-webadmin-portal-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [reinstall_available] package ovirt-engine-webadmin-portal-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-webadmin-portal-3.3.2-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-webadmin-portal-3.4.0-0.2.master.20140109103300.git6524789.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-webadmin-portal-3.4.0-0.2.master.20140112020439.git9ad8529.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-webadmin-portal-3.4.0-0.2.master.20140107190113.git8dbb307.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-webadmin-portal-3.4.0-0.2.master.20140108220319.gitdf6a12c.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-webadmin-portal-3.4.0-0.2.master.20140106163141.git3b0c561.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-webadmin-portal-3.4.0-0.2.master.20140110021614.git3e68aa7.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-webadmin-portal-3.3.0.1-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-webadmin-portal-3.3.0-4.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-webadmin-portal-3.3.0-3.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-webadmin-portal-3.3.1-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-webadmin-portal-3.3.1-2.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [available] package ovirt-engine-webadmin-portal-3.3.2-1.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [installed] package ovirt-engine-webadmin-portal-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._checkForProductUpdate:249 dupes: operation [reinstall_available] package ovirt-engine-webadmin-portal-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:46:49 DEBUG otopi.plugins.otopi.dialog.human human.queryString:153 query OVESETUP_RPMDISTRO_PACKAGE_UPGRADE
2014-01-22 17:46:49 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                 Setup has found updates for some packages, do you wish to update them now? (Yes, No) [Yes]: 
2014-01-22 17:46:53 INFO otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages._customization:366 Checking for an update for Setup...
2014-01-22 17:46:53 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages.verbose:178 Yum: queue package ovirt-engine-setup for update
2014-01-22 17:46:54 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages.verbose:178 Yum: package ovirt-engine-setup queued
2014-01-22 17:46:54 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages.verbose:178 Yum: Building transaction
2014-01-22 17:46:54 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages.verbose:178 Yum: Empty transaction
2014-01-22 17:46:54 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages packages.verbose:178 Yum: Transaction Summary:
2014-01-22 17:46:54 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:54 DEBUG otopi.context context.dumpEnvironment:471 ENV OSETUP_RPMDISTRO/enableUpgrade=bool:'True'
2014-01-22 17:46:54 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:54 DEBUG otopi.context context._executeMethod:138 Stage customization METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_e_packages
2014-01-22 17:46:54 DEBUG otopi.context context._executeMethod:138 Stage customization METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_s_allinone
2014-01-22 17:46:54 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:46:54 DEBUG otopi.context context._executeMethod:138 Stage customization METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.core.Plugin._constomization
2014-01-22 17:46:54 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:46:54 DEBUG otopi.context context._executeMethod:138 Stage customization METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.storage.Plugin._customization
2014-01-22 17:46:54 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:46:54 DEBUG otopi.context context._executeMethod:138 Stage customization METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.sshd.Plugin._customization
2014-01-22 17:46:54 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:46:54 DEBUG otopi.context context._executeMethod:138 Stage customization METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_e_allinone
2014-01-22 17:46:54 DEBUG otopi.context context._executeMethod:138 Stage customization METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_s_network
2014-01-22 17:46:54 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                
2014-01-22 17:46:54 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                 --== NETWORK CONFIGURATION ==--
2014-01-22 17:46:54 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                
2014-01-22 17:46:54 DEBUG otopi.context context._executeMethod:138 Stage customization METHOD otopi.plugins.ovirt_engine_setup.base.network.hostname.Plugin._customization
2014-01-22 17:46:54 DEBUG otopi.plugins.ovirt_engine_setup.base.network.hostname hostname._validateFQDNresolvability:196 cauldron.arclab resolves to: set(['192.168.1.107'])
2014-01-22 17:46:54 DEBUG otopi.plugins.ovirt_engine_setup.base.network.hostname plugin.executeRaw:366 execute: ['/usr/bin/dig', 'cauldron.arclab'], executable='None', cwd='None', env=None
2014-01-22 17:46:54 DEBUG otopi.plugins.ovirt_engine_setup.base.network.hostname plugin.executeRaw:383 execute-result: ['/usr/bin/dig', 'cauldron.arclab'], rc=0
2014-01-22 17:46:54 DEBUG otopi.plugins.ovirt_engine_setup.base.network.hostname plugin.execute:441 execute-output: ['/usr/bin/dig', 'cauldron.arclab'] stdout:

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.23.rc1.el6_5.1 <<>> cauldron.arclab
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62057
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:
;cauldron.arclab.		IN	A

;; ANSWER SECTION:
cauldron.arclab.	259200	IN	A	192.168.1.107

;; AUTHORITY SECTION:
arclab.			259200	IN	NS	horus.intra.arcnet.co.uk.

;; ADDITIONAL SECTION:
horus.intra.arcnet.co.uk. 259200 IN	A	192.168.1.3

;; Query time: 0 msec
;; SERVER: 192.168.1.3#53(192.168.1.3)
;; WHEN: Wed Jan 22 17:46:54 2014
;; MSG SIZE  rcvd: 103


2014-01-22 17:46:54 DEBUG otopi.plugins.ovirt_engine_setup.base.network.hostname plugin.execute:446 execute-output: ['/usr/bin/dig', 'cauldron.arclab'] stderr:


2014-01-22 17:46:54 DEBUG otopi.context context._executeMethod:138 Stage customization METHOD otopi.plugins.ovirt_engine_setup.base.network.firewall_manager.Plugin._customization_is_requested
2014-01-22 17:46:54 DEBUG otopi.plugins.otopi.services.rhel rhel.exists:121 check if service iptables exists
2014-01-22 17:46:54 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/initctl', 'status', 'iptables'), executable='None', cwd='None', env=None
2014-01-22 17:46:54 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/initctl', 'status', 'iptables'), rc=1
2014-01-22 17:46:54 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/initctl', 'status', 'iptables') stdout:


2014-01-22 17:46:54 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/initctl', 'status', 'iptables') stderr:
initctl: Unknown job: iptables

2014-01-22 17:46:54 DEBUG otopi.plugins.otopi.services.rhel rhel.exists:133 service iptables exists True upstart=False
2014-01-22 17:46:54 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                 Setup can automatically configure the firewall on this system.
2014-01-22 17:46:54 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                 Note: automatic configuration of the firewall may overwrite current settings.
2014-01-22 17:46:54 DEBUG otopi.plugins.otopi.dialog.human human.queryString:153 query OVESETUP_UPDATE_FIREWALL
2014-01-22 17:46:54 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                 Do you want Setup to configure the firewall? (Yes, No) [Yes]: 
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/updateFirewall=bool:'True'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:58 DEBUG otopi.context context._executeMethod:138 Stage customization METHOD otopi.plugins.ovirt_engine_setup.base.network.firewall_manager.Plugin._customization
2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.services.rhel rhel.status:138 check service iptables status
2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/initctl', 'status', 'iptables'), executable='None', cwd='None', env=None
2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/initctl', 'status', 'iptables'), rc=1
2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/initctl', 'status', 'iptables') stdout:


2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/initctl', 'status', 'iptables') stderr:
initctl: Unknown job: iptables

2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/service', 'iptables', 'status'), executable='None', cwd='None', env=None
2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/service', 'iptables', 'status'), rc=0
2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/service', 'iptables', 'status') stdout:
Table: filter
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
2    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           icmp type 255 
3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 
4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22 
5    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:5432 
6    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:443 
7    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:111 
8    ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           state NEW udp dpt:111 
9    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:662 
10   ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           state NEW udp dpt:662 
11   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:875 
12   ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           state NEW udp dpt:875 
13   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:892 
14   ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           state NEW udp dpt:892 
15   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:2049 
16   ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           state NEW udp dpt:32769 
17   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:32803 
18   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:80 
19   REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited 

Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination         


2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/service', 'iptables', 'status') stderr:


2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.services.rhel rhel.status:147 service iptables status True
2014-01-22 17:46:58 INFO otopi.plugins.ovirt_engine_setup.base.network.firewall_manager firewall_manager._customization:191 iptables will be configured as firewall manager.
2014-01-22 17:46:58 DEBUG otopi.context context._executeMethod:138 Stage customization METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_e_network
2014-01-22 17:46:58 DEBUG otopi.context context._executeMethod:138 Stage customization METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_s_database
2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                
2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                 --== DATABASE CONFIGURATION ==--
2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                
2014-01-22 17:46:58 DEBUG otopi.context context._executeMethod:138 Stage customization METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.provisioning.postgres.Plugin._customization
2014-01-22 17:46:58 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:46:58 DEBUG otopi.context context._executeMethod:138 Stage customization METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine_common.db.connection.Plugin._customization
2014-01-22 17:46:58 DEBUG otopi.ovirt_engine_setup.database database.execute:132 Database: 'engine', Statement: '
                select count(*) as count
                from information_schema.tables
                where table_name=%(table)s
            ', args: {'table': 'schema_version'}
2014-01-22 17:46:58 DEBUG otopi.ovirt_engine_setup.database database.execute:137 Creating own connection
2014-01-22 17:46:58 DEBUG otopi.ovirt_engine_setup.database database.execute:190 Result: [{'count': 1L}]
2014-01-22 17:46:58 DEBUG otopi.context context._executeMethod:138 Stage customization METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_e_database
2014-01-22 17:46:58 DEBUG otopi.context context._executeMethod:138 Stage customization METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_s_engine
2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                
2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                 --== OVIRT ENGINE CONFIGURATION ==--
2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                
2014-01-22 17:46:58 DEBUG otopi.context context._executeMethod:138 Stage customization METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.appmode.Plugin._customization
2014-01-22 17:46:58 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:46:58 DEBUG otopi.context context._executeMethod:138 Stage customization METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.domain_type.Plugin._customization
2014-01-22 17:46:58 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:46:58 DEBUG otopi.context context._executeMethod:138 Stage customization METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.options.Plugin._customization
2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                 Skipping storing options as database already prepared
2014-01-22 17:46:58 DEBUG otopi.context context._executeMethod:138 Stage customization METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_e_engine
2014-01-22 17:46:58 DEBUG otopi.context context._executeMethod:138 Stage customization METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_s_pki
2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                
2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                 --== PKI CONFIGURATION ==--
2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                
2014-01-22 17:46:58 DEBUG otopi.context context._executeMethod:138 Stage customization METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.pki.ca.Plugin._customization
2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                 PKI is already configured
2014-01-22 17:46:58 DEBUG otopi.context context._executeMethod:138 Stage customization METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_e_pki
2014-01-22 17:46:58 DEBUG otopi.context context._executeMethod:138 Stage customization METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_s_apache
2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                
2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                 --== APACHE CONFIGURATION ==--
2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                
2014-01-22 17:46:58 DEBUG otopi.context context._executeMethod:138 Stage customization METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.ssl.Plugin._customization
2014-01-22 17:46:58 DEBUG otopi.context context._executeMethod:138 Stage customization METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.root.Plugin._customization
2014-01-22 17:46:58 DEBUG otopi.context context._executeMethod:138 Stage customization METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_e_apache
2014-01-22 17:46:58 DEBUG otopi.context context._executeMethod:138 Stage customization METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.firewall.Plugin._configuration
2014-01-22 17:46:58 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:46:58 DEBUG otopi.context context._executeMethod:138 Stage customization METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_s_system
2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                
2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                 --== SYSTEM CONFIGURATION ==--
2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                
2014-01-22 17:46:58 DEBUG otopi.context context._executeMethod:138 Stage customization METHOD otopi.plugins.ovirt_engine_setup.websocket_proxy.config.Plugin._customization
2014-01-22 17:46:58 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:46:58 DEBUG otopi.context context._executeMethod:138 Stage customization METHOD otopi.plugins.ovirt_engine_setup.websocket_proxy.config.Plugin._customization_firewall
2014-01-22 17:46:58 DEBUG otopi.context context._executeMethod:138 Stage customization METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.nfs.Plugin._customization
2014-01-22 17:46:58 DEBUG otopi.context context._executeMethod:138 Stage customization METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.iso_domain.Plugin._customization
2014-01-22 17:46:58 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:46:58 DEBUG otopi.context context._executeMethod:138 Stage customization METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.titles.Plugin._title_e_system
2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                
2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                 --== END OF CONFIGURATION ==--
2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                
2014-01-22 17:46:58 DEBUG otopi.context context._executeMethod:138 Stage customization METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.firewall.Plugin._configuration
2014-01-22 17:46:58 DEBUG otopi.context context._executeMethod:138 Stage customization METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.nfs.Plugin._firewall
2014-01-22 17:46:58 DEBUG otopi.context context._executeMethod:138 Stage customization METHOD otopi.plugins.otopi.core.config.Plugin._customize2
2014-01-22 17:46:58 DEBUG otopi.context context._executeMethod:138 Stage customization METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.provisioning.postgres.Plugin._customization_firewall
2014-01-22 17:46:58 INFO otopi.context context.runSequence:395 Stage: Setup validation
2014-01-22 17:46:58 DEBUG otopi.context context.runSequence:399 STAGE validation
2014-01-22 17:46:58 DEBUG otopi.context context._executeMethod:138 Stage validation METHOD otopi.plugins.otopi.core.misc.Plugin._validation
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV BASE/aborted=bool:'False'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV BASE/debug=int:'0'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV BASE/error=bool:'False'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV BASE/exceptionInfo=list:'[]'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV BASE/executionDirectory=str:'/etc/yum.repos.d'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV BASE/log=bool:'True'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV BASE/pluginGroups=str:'otopi:ovirt-engine-common:ovirt-engine-setup'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV BASE/pluginPath=str:'/usr/share/otopi/plugins:/usr/share/ovirt-engine/setup/bin/../plugins'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV BASE/suppressEnvironmentKeys=list:'['OVESETUP_DB/password', 'OVESETUP_CONFIG/adminPassword']'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/chkconfig=str:'/sbin/chkconfig'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/chronyc=NoneType:'None'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/date=str:'/bin/date'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/dig=str:'/usr/bin/dig'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/exportfs=str:'/usr/sbin/exportfs'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/firewall-cmd=NoneType:'None'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/hwclock=str:'/sbin/hwclock'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/initctl=str:'/sbin/initctl'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/ip=str:'/sbin/ip'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/ntpq=str:'/usr/sbin/ntpq'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/pg_dump=str:'/usr/bin/pg_dump'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/psql=str:'/usr/bin/psql'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/rc=NoneType:'None'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/rc-update=NoneType:'None'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/reboot=str:'/sbin/reboot'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/restorecon=str:'/sbin/restorecon'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/rpm=str:'/bin/rpm'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/selinuxenabled=str:'/usr/sbin/selinuxenabled'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/semanage=str:'/usr/sbin/semanage'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/service=str:'/sbin/service'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/ssh-keygen=str:'/usr/bin/ssh-keygen'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/sshd=str:'/usr/sbin/sshd'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/sysctl=str:'/sbin/sysctl'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/systemctl=NoneType:'None'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/configFileAppend=NoneType:'None'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/configFileName=str:'/etc/ovirt-engine-setup.conf'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/internalPackageTransaction=Transaction:'transaction'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/logDir=str:'/var/log/ovirt-engine/setup'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/logFileHandle=file:'<open file '/var/log/ovirt-engine/setup/ovirt-engine-setup-20140122174611.log', mode 'a' at 0x2a690c0>'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/logFileName=str:'/var/log/ovirt-engine/setup/ovirt-engine-setup-20140122174611.log'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/logFileNamePrefix=str:'ovirt-engine-setup'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/logFilter=_MyLoggerFilter:'filter'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/logFilterKeys=list:'[]'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/logRemoveAtExit=bool:'False'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/mainTransaction=Transaction:'transaction'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/modifiedFiles=list:'[]'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/randomizeEvents=bool:'False'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV DIALOG/boundary=str:'--=451b80dc-996f-432e-9e4f-2b29ef6d1141=--'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV DIALOG/cliVersion=int:'1'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV DIALOG/customization=bool:'False'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV DIALOG/dialect=str:'human'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV INFO/PACKAGE_NAME=str:'otopi'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV INFO/PACKAGE_VERSION=str:'1.2.0_beta'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV NETWORK/firewalldAvailable=bool:'False'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV NETWORK/firewalldDisableServices=list:'[]'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV NETWORK/firewalldEnable=bool:'False'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV NETWORK/iptablesEnable=bool:'False'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV NETWORK/iptablesRules=NoneType:'None'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV NETWORK/sshEnable=bool:'False'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV NETWORK/sshKey=NoneType:'None'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV NETWORK/sshUser=str:''
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OSETUP_RPMDISTRO/enableUpgrade=bool:'True'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OSETUP_RPMDISTRO/requireRollback=NoneType:'None'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OSETUP_RPMDISTRO/versionLockApply=list:'['ovirt-engine', 'ovirt-engine-backend', 'ovirt-engine-dbscripts', 'ovirt-engine-restapi', 'ovirt-engine-tools', 'ovirt-engine-userportal', 'ovirt-engine-webadmin-portal']'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OSETUP_RPMDISTRO/versionLockFilter=list:'['ovirt-engine']'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_AIO/configure=NoneType:'None'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_AIO/continueWithoutAIO=NoneType:'None'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_AIO/enable=bool:'False'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_AIO/localCluster=str:'local_cluster'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_AIO/localDataCenter=str:'local_datacenter'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_AIO/localHost=str:'local_host'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_AIO/sshdPort=NoneType:'None'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_AIO/storageDomainDefaultDir=str:'/var/lib/images'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_AIO/storageDomainDir=NoneType:'None'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_AIO/storageDomainName=NoneType:'None'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_AIO/supported=bool:'False'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_AIO/vdsmCpu=NoneType:'None'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_APACHE/configFileOvirtEngine=str:'/etc/httpd/conf.d/z-ovirt-engine-proxy.conf'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_APACHE/configFileOvirtRoot=str:'/etc/httpd/conf.d/ovirt-engine-root-redirect.conf'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_APACHE/configFileSsl=str:'/etc/httpd/conf.d/ssl.conf'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_APACHE/configureRootRedirection=bool:'True'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_APACHE/configureRootRedirectionDefault=bool:'True'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_APACHE/configureSsl=bool:'True'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_APACHE/httpdService=str:'httpd'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_APACHE/needRestart=bool:'False'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_ASYNC/clearTasks=bool:'True'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_ASYNC/clearTasksWait=int:'20'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/adminPassword=NoneType:'***'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/applicationMode=NoneType:'None'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/firewallManager=str:'iptables'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/firewallManagers=list:'[<otopi.plugins.ovirt_engine_common.base.network.firewall_manager_firewalld._FirewalldManager object at 0x2f7b190>, <otopi.plugins.ovirt_engine_common.base.network.firewall_manager_human._HumanManager object at 0x2f7b810>, <otopi.plugins.ovirt_engine_common.base.network.firewall_manager_iptables._IpTablesManager object at 0x2f7b7d0>]'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/fqdn=str:'cauldron.arclab'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/fqdnNonLoopback=bool:'False'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/fqdnReverseValidation=bool:'False'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/httpPort=int:'80'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/httpsPort=int:'443'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/isoDomainACL=NoneType:'None'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/isoDomainDefaultMountPoint=str:'/var/lib/exports/iso'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/isoDomainExists=bool:'True'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/isoDomainMountPoint=str:'/var/lib/exports/iso'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/isoDomainName=str:'ISO_DOMAIN'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/isoDomainSdUuid=str:'69ea8415-8d33-4d9b-a29b-057970984c99'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/isoDomainStorageDir=NoneType:'None'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/javaHome=NoneType:'None'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/jbossAjpPort=int:'8702'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/jbossDebugAddress=str:'127.0.0.1:8787'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/jbossDirectHttpPort=NoneType:'None'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/jbossDirectHttpsPort=NoneType:'None'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/jbossHome=str:'/usr/share/jboss-as'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/jbossHttpPort=int:'8080'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/jbossHttpsPort=int:'8443'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/macRangePool=str:'00:1a:4a:75:56:00-00:1a:4a:75:56:ff'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/publicHttpPort=int:'80'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/publicHttpsPort=int:'443'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/storageType=NoneType:'None'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/updateFirewall=bool:'True'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/validFirewallManagers=str:''
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/websocketProxyConfig=bool:'True'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/websocketProxyPort=int:'6100'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE/action=str:'setup'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE/answerFile=NoneType:'None'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE/developerMode=bool:'False'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE/engineStop=NoneType:'None'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE/generatePostInstall=bool:'True'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE/generatedByVersion=str:'3.4.0_beta1'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE/offlinePackager=bool:'False'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE/originalGeneratedByVersion=str:'3.4.0_master'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE/registerUninstallGroups=RegisterGroups:'<otopi.plugins.ovirt_engine_common.base.core.uninstall.RegisterGroups object at 0x228fe50>'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE/setupAttributesModules=list:'[<module 'ovirt_engine_setup.constants' from '/usr/share/ovirt-engine/setup/ovirt_engine_setup/constants.pyc'>]'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE/uninstallUnremovableFiles=list:'['/etc/exports']'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE/upgradeSupportedVersions=str:'3.0,3.1,3.2,3.3,3.4'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_DB/connection=NoneType:'None'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_DB/database=str:'engine'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_DB/fixDbViolations=NoneType:'None'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_DB/host=str:'localhost'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_DB/newDatabase=bool:'False'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_DB/password=str:'***'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_DB/pgPassFile=NoneType:'None'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_DB/port=str:'5432'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_DB/secured=bool:'False'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_DB/securedHostValidation=bool:'False'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_DB/statement=NoneType:'None'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_DB/user=str:'engine'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_DIALOG/confirmSettings=NoneType:'None'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_NETWORK/firewalldServices=list:'[{'directory': 'websocket-proxy', 'name': 'ovirt-websocket-proxy'}, {'directory': 'ovirt-engine', 'name': 'ovirt-http'}, {'directory': 'ovirt-engine', 'name': 'ovirt-https'}, {'directory': 'ovirt-engine', 'name': 'ovirt-nfs'}, {'directory': 'ovirt-engine', 'name': 'ovirt-postgres'}]'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_NETWORK/firewalldSubst=dict:'{'@WEBSOCKET_PROXY_PORT@': 6100, '@HTTPS_PORT@': 443, '@JBOSS_HTTP_PORT@': None, '@HTTP_PORT@': 80, '@JBOSS_HTTPS_PORT@': None}'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_PKI/country=str:'US'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_PKI/organization=NoneType:'None'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_PKI/storePassword=str:'**FILTERED**'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_PROVISIONING/postgresConf=str:'/var/lib/pgsql/data/postgresql.conf'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_PROVISIONING/postgresMaxConn=int:'150'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_PROVISIONING/postgresPgHba=str:'/var/lib/pgsql/data/pg_hba.conf'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_PROVISIONING/postgresPgVersion=str:'/var/lib/pgsql/data/PG_VERSION'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_PROVISIONING/postgresProvisioningEnabled=NoneType:'None'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_PROVISIONING/postgresService=str:'postgresql'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_RPMDISTRO/packagesSetup=list:'['ovirt-engine-setup']'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_RPMDISTRO/packagesUpgradeList=list:'[{'packages': ('ovirt-engine',), 'group': 'ovirt-engine-3.4'}]'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/groupEngine=str:'ovirt'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/groupKvm=str:'kvm'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/hostileServices=str:'ovirt-engine-dwhd,engine-notifierd,ovirt-engine-notifier'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/memCheckEnabled=bool:'True'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/memCheckMinimumMB=int:'4096'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/memCheckRecommendedMB=int:'16384'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/memCheckThreshold=int:'90'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/nfsConfigEnabled=bool:'True'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/nfsServiceName=str:'nfs'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/selinuxContexts=list:'[]'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/selinuxRestorePaths=list:'[]'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/shmmax=int:'41943040'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/userApache=str:'apache'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/userEngine=str:'ovirt'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/userPostgres=str:'postgres'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/userRoot=str:'root'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/userVdsm=str:'vdsm'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV PACKAGER/keepAliveInterval=int:'30'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV PACKAGER/yumDisabledPlugins=list:'[]'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV PACKAGER/yumEnabledPlugins=list:'[]'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV PACKAGER/yumExpireCache=bool:'True'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV PACKAGER/yumRollback=bool:'True'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV PACKAGER/yumpackagerEnabled=bool:'True'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV SYSTEM/clockMaxGap=int:'5'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV SYSTEM/clockSet=bool:'False'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV SYSTEM/commandPath=str:'/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV SYSTEM/reboot=bool:'False'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV SYSTEM/rebootAllow=bool:'True'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV SYSTEM/rebootDeferTime=int:'10'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:58 DEBUG otopi.context context._executeMethod:138 Stage validation METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.upgrade.asynctasks.Plugin._validateEnv
2014-01-22 17:46:58 DEBUG otopi.context context._executeMethod:138 Stage validation METHOD otopi.plugins.ovirt_engine_setup.base.network.firewall_manager.Plugin._validation
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV NETWORK/iptablesEnable=bool:'True'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV NETWORK/iptablesRules=str:'# Generated by ovirt-engine installer
#filtering rules
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type any -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 5432 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 6100 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 111 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 111 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 662 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 662 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 875 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 875 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 892 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 892 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 2049 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 32769 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 32803 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

#drop all rule
-A INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV NETWORK_FIREWALLD_SERVICE/ovirt-http=str:'<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>ovirt-http</short>
  <description>oVirt configured http service</description>
  <port protocol="tcp" port="80"/>
</service>
'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV NETWORK_FIREWALLD_SERVICE/ovirt-https=str:'<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>ovirt-https</short>
  <description>oVirt configured https service</description>
  <port protocol="tcp" port="443"/>
</service>
'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV NETWORK_FIREWALLD_SERVICE/ovirt-nfs=str:'<?xml version="1.0" encoding="utf-8"?>
<service>
    <short>ovirt-nfs</short>
    <description>oVirt configured nfs service</description>
    <port protocol="tcp" port="111"/>
    <port protocol="udp" port="111"/>
    <port protocol="tcp" port="662"/>
    <port protocol="udp" port="662"/>
    <port protocol="tcp" port="875"/>
    <port protocol="udp" port="875"/>
    <port protocol="tcp" port="892"/>
    <port protocol="udp" port="892"/>
    <port protocol="tcp" port="2049"/>
    <port protocol="udp" port="32769"/>
    <port protocol="tcp" port="32803"/>
</service>
'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV NETWORK_FIREWALLD_SERVICE/ovirt-postgres=str:'<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>ovirt-postgres</short>
  <description>oVirt configured postgres service</description>
  <port protocol="tcp" port="5432"/>
</service>
'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:471 ENV NETWORK_FIREWALLD_SERVICE/ovirt-websocket-proxy=str:'<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>ovirt-websocket-proxy</short>
  <description>oVirt configured WebSocket Proxy service</description>
  <port protocol="tcp" port="6100"/>
</service>
'
2014-01-22 17:46:58 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:58 DEBUG otopi.context context._executeMethod:138 Stage validation METHOD otopi.plugins.otopi.network.firewalld.Plugin._validation
2014-01-22 17:46:58 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:46:58 DEBUG otopi.context context._executeMethod:138 Stage validation METHOD otopi.plugins.otopi.network.hostname.Plugin._validation
2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.network.hostname hostname._validation:73 my name: cauldron.arclab
2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.network.hostname plugin.executeRaw:366 execute: ('/sbin/ip', 'addr', 'show'), executable='None', cwd='None', env=None
2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.network.hostname plugin.executeRaw:383 execute-result: ('/sbin/ip', 'addr', 'show'), rc=0
2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.network.hostname plugin.execute:441 execute-output: ('/sbin/ip', 'addr', 'show') stdout:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master ovirtmgmt state UP qlen 1000
    link/ether 78:ac:c0:97:0c:02 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::7aac:c0ff:fe97:c02/64 scope link 
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 00:1b:78:58:d7:54 brd ff:ff:ff:ff:ff:ff
4: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 00:1b:78:58:d7:55 brd ff:ff:ff:ff:ff:ff
5: ovirtmgmt: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP 
    link/ether 78:ac:c0:97:0c:02 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.107/24 brd 192.168.1.255 scope global ovirtmgmt
    inet6 fe80::7aac:c0ff:fe97:c02/64 scope link 
       valid_lft forever preferred_lft forever
7: ;vdsmdummy;: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN 
    link/ether 62:af:27:6b:99:9a brd ff:ff:ff:ff:ff:ff
8: bond0: <BROADCAST,MULTICAST,MASTER> mtu 1500 qdisc noop state DOWN 
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
9: bond4: <BROADCAST,MULTICAST,MASTER> mtu 1500 qdisc noop state DOWN 
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
10: bond1: <BROADCAST,MULTICAST,MASTER> mtu 1500 qdisc noop state DOWN 
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
11: bond2: <BROADCAST,MULTICAST,MASTER> mtu 1500 qdisc noop state DOWN 
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
12: bond3: <BROADCAST,MULTICAST,MASTER> mtu 1500 qdisc noop state DOWN 
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff

2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.network.hostname plugin.execute:446 execute-output: ('/sbin/ip', 'addr', 'show') stderr:


2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.network.hostname hostname._validation:110 my addresses: ['192.168.1.107', '192.168.1.107', '192.168.1.107']
2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.network.hostname hostname._validation:111 local addresses: [u'fe80::7aac:c0ff:fe97:c02', u'192.168.1.107', u'fe80::7aac:c0ff:fe97:c02']
2014-01-22 17:46:58 DEBUG otopi.context context._executeMethod:138 Stage validation METHOD otopi.plugins.otopi.network.iptables.Plugin._validate
2014-01-22 17:46:58 DEBUG otopi.context context._executeMethod:138 Stage validation METHOD otopi.plugins.otopi.network.ssh.Plugin._validation
2014-01-22 17:46:58 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:46:58 DEBUG otopi.context context._executeMethod:138 Stage validation METHOD otopi.plugins.ovirt_engine_common.base.core.engine.Plugin._validation
2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.services.rhel rhel.exists:121 check if service ovirt-engine exists
2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/initctl', 'status', 'ovirt-engine'), executable='None', cwd='None', env=None
2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/initctl', 'status', 'ovirt-engine'), rc=1
2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/initctl', 'status', 'ovirt-engine') stdout:


2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/initctl', 'status', 'ovirt-engine') stderr:
initctl: Unknown job: ovirt-engine

2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.services.rhel rhel.exists:133 service ovirt-engine exists True upstart=False
2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.services.rhel rhel.status:138 check service ovirt-engine status
2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/initctl', 'status', 'ovirt-engine'), executable='None', cwd='None', env=None
2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/initctl', 'status', 'ovirt-engine'), rc=1
2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/initctl', 'status', 'ovirt-engine') stdout:


2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/initctl', 'status', 'ovirt-engine') stderr:
initctl: Unknown job: ovirt-engine

2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/service', 'ovirt-engine', 'status'), executable='None', cwd='None', env=None
2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/service', 'ovirt-engine', 'status'), rc=0
2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/service', 'ovirt-engine', 'status') stdout:
ovirt-engine (pid  1860) is running...

2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/service', 'ovirt-engine', 'status') stderr:


2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.services.rhel rhel.status:147 service ovirt-engine status True
2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.dialog.human human.queryString:153 query OVESETUP_CORE_ENGINE_STOP
2014-01-22 17:46:58 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                 During execution engine service will be stopped (OK, Cancel) [OK]: 
2014-01-22 17:46:59 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:59 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE/engineStop=bool:'True'
2014-01-22 17:46:59 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:59 DEBUG otopi.context context._executeMethod:138 Stage validation METHOD otopi.plugins.ovirt_engine_common.base.db.pgpass.Plugin._validation
2014-01-22 17:46:59 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:46:59 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_DB/pgPassFile=str:'/tmp/tmpaCnM4v'
2014-01-22 17:46:59 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:46:59 DEBUG otopi.context context._executeMethod:138 Stage validation METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.cpu.Plugin._validation
2014-01-22 17:46:59 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:46:59 DEBUG otopi.context context._executeMethod:138 Stage validation METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.sshd.Plugin._validation
2014-01-22 17:46:59 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:46:59 DEBUG otopi.context context._executeMethod:138 Stage validation METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.vdsm.Plugin._validation
2014-01-22 17:46:59 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:46:59 DEBUG otopi.context context._executeMethod:138 Stage validation METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.selinux.Plugin._validation
2014-01-22 17:46:59 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.selinux plugin.executeRaw:366 execute: ('/usr/sbin/selinuxenabled',), executable='None', cwd='None', env=None
2014-01-22 17:46:59 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.selinux plugin.executeRaw:383 execute-result: ('/usr/sbin/selinuxenabled',), rc=0
2014-01-22 17:46:59 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.selinux plugin.execute:441 execute-output: ('/usr/sbin/selinuxenabled',) stdout:


2014-01-22 17:46:59 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.selinux plugin.execute:446 execute-output: ('/usr/sbin/selinuxenabled',) stderr:


2014-01-22 17:46:59 DEBUG otopi.context context._executeMethod:138 Stage validation METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.ssl.Plugin._validate_ssl
2014-01-22 17:46:59 DEBUG otopi.context context._executeMethod:138 Stage validation METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.db.schema.Plugin._validation
2014-01-22 17:46:59 DEBUG otopi.ovirt_engine_setup.database database.execute:132 Database: 'engine', Statement: '
                select
                    nsp.nspname as object_schema,
                    cls.relname as object_name,
                    rol.rolname as owner,
                    case cls.relkind
                        when 'r' then 'TABLE'
                        when 'i' then 'INDEX'
                        when 'S' then 'SEQUENCE'
                        when 'v' then 'VIEW'
                        when 'c' then 'TYPE'
                    else
                        cls.relkind::text
                    end as object_type
                from
                    pg_class cls join
                    pg_roles rol on rol.oid = cls.relowner join
                    pg_namespace nsp on nsp.oid = cls.relnamespace
                where
                    nsp.nspname not in ('information_schema', 'pg_catalog') and
                    nsp.nspname not like 'pg_%%' and
                    rol.rolname != %(user)s
                order by
                    nsp.nspname,
                    cls.relname
            ', args: {'user': 'engine'}
2014-01-22 17:46:59 DEBUG otopi.ovirt_engine_setup.database database.execute:137 Creating own connection
2014-01-22 17:46:59 DEBUG otopi.ovirt_engine_setup.database database.execute:190 Result: []
2014-01-22 17:46:59 DEBUG otopi.context context._executeMethod:138 Stage validation METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.provisioning.postgres.Plugin._validation
2014-01-22 17:46:59 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:46:59 DEBUG otopi.context context._executeMethod:138 Stage validation METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.exportfs.Plugin._validation
2014-01-22 17:46:59 DEBUG otopi.context context._executeMethod:138 Stage validation METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.memcheck.Plugin._validateMemory
2014-01-22 17:46:59 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.system.memcheck memcheck._validateMemory:125 Checking total memory
2014-01-22 17:46:59 WARNING otopi.plugins.ovirt_engine_setup.ovirt_engine.system.memcheck memcheck._check_requirements:90 Less than 16384MB of memory is available
2014-01-22 17:46:59 DEBUG otopi.context context._executeMethod:138 Stage validation METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.memcheck.Plugin._validateContinueLowMemory
2014-01-22 17:46:59 DEBUG otopi.context context._executeMethod:138 Stage validation METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.selinux.Plugin._validation
2014-01-22 17:46:59 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.system.selinux plugin.executeRaw:366 execute: ('/usr/sbin/selinuxenabled',), executable='None', cwd='None', env=None
2014-01-22 17:46:59 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.system.selinux plugin.executeRaw:383 execute-result: ('/usr/sbin/selinuxenabled',), rc=0
2014-01-22 17:46:59 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.system.selinux plugin.execute:441 execute-output: ('/usr/sbin/selinuxenabled',) stdout:


2014-01-22 17:46:59 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.system.selinux plugin.execute:446 execute-output: ('/usr/sbin/selinuxenabled',) stderr:


2014-01-22 17:46:59 DEBUG otopi.context context._executeMethod:138 Stage validation METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.sysctl.Plugin._validation
2014-01-22 17:46:59 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.system.sysctl plugin.executeRaw:366 execute: ('/sbin/sysctl', '-n', 'kernel.shmmax'), executable='None', cwd='None', env=None
2014-01-22 17:47:00 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.system.sysctl plugin.executeRaw:383 execute-result: ('/sbin/sysctl', '-n', 'kernel.shmmax'), rc=0
2014-01-22 17:47:00 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.system.sysctl plugin.execute:441 execute-output: ('/sbin/sysctl', '-n', 'kernel.shmmax') stdout:
68719476736

2014-01-22 17:47:00 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.system.sysctl plugin.execute:446 execute-output: ('/sbin/sysctl', '-n', 'kernel.shmmax') stderr:


2014-01-22 17:47:00 DEBUG otopi.context context._executeMethod:138 Stage validation METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.upgrade.asynctasks.Plugin._validateZombies
2014-01-22 17:47:00 INFO otopi.plugins.ovirt_engine_setup.ovirt_engine.upgrade.asynctasks asynctasks._validateZombies:325 Cleaning stale zombie tasks
2014-01-22 17:47:00 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.upgrade.asynctasks plugin.executeRaw:366 execute: ('/usr/share/ovirt-engine/setup/dbutils/taskcleaner.sh', '-u', 'engine', '-s', 'localhost', '-p', '5432', '-d', 'engine', '-R', '-A', '-J', '-q'), executable='None', cwd='None', env={'LESSOPEN': '|/usr/bin/lesspipe.sh %s', 'SSH_CLIENT': '192.168.1.102 50397 22', 'CVS_RSH': 'ssh', 'LOGNAME': 'root', 'USER': 'root', 'HOME': '/root', 'PATH': '/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin', 'LANG': 'en_US.UTF-8', 'TERM': 'linux', 'SHELL': '/bin/bash', 'SHLVL': '1', 'G_BROKEN_FILENAMES': '1', 'HISTSIZE': '1000', 'ENGINE_PGPASS': '/tmp/tmpaCnM4v', 'PYTHONPATH': '/usr/share/ovirt-engine/setup/bin/..::', 'SSH_AUTH_SOCK': '/tmp/ssh-WsNEh11240/agent.11240', 'SELINUX_ROLE_REQUESTED': '', 'MAIL': '/var/spool/mail/root', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.tbz=01;31:*.tbz2=01;31:*.bz=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:', 'SSH_TTY': '/dev/pts/0', 'HOSTNAME': 'cauldron.arclab', 'SELINUX_LEVEL_REQUESTED': '', 'HISTCONTROL': 'ignoredups', 'PWD': '/etc/yum.repos.d', 'SELINUX_USE_CURRENT_RANGE': '', 'OTOPI_LOGFILE': '/var/log/ovirt-engine/setup/ovirt-engine-setup-20140122174611.log', 'SSH_CONNECTION': '192.168.1.102 50397 192.168.1.107 22', 'OTOPI_EXECDIR': '/etc/yum.repos.d'}
2014-01-22 17:47:00 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.upgrade.asynctasks plugin.executeRaw:383 execute-result: ('/usr/share/ovirt-engine/setup/dbutils/taskcleaner.sh', '-u', 'engine', '-s', 'localhost', '-p', '5432', '-d', 'engine', '-R', '-A', '-J', '-q'), rc=0
2014-01-22 17:47:00 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.upgrade.asynctasks plugin.execute:441 execute-output: ('/usr/share/ovirt-engine/setup/dbutils/taskcleaner.sh', '-u', 'engine', '-s', 'localhost', '-p', '5432', '-d', 'engine', '-R', '-A', '-J', '-q') stdout:
TRUNCATE TABLE

2014-01-22 17:47:00 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.upgrade.asynctasks plugin.execute:446 execute-output: ('/usr/share/ovirt-engine/setup/dbutils/taskcleaner.sh', '-u', 'engine', '-s', 'localhost', '-p', '5432', '-d', 'engine', '-R', '-A', '-J', '-q') stderr:


2014-01-22 17:47:00 DEBUG otopi.context context._executeMethod:138 Stage validation METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine_common.config.java.Plugin._validation
2014-01-22 17:47:00 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:47:00 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/javaHome=unicode:'/usr/lib/jvm/jre'
2014-01-22 17:47:00 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:47:00 DEBUG otopi.context context._executeMethod:138 Stage validation METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine_common.config.jboss.Plugin._validation
2014-01-22 17:47:00 DEBUG otopi.context context._executeMethod:138 Stage validation METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.dialog.preview.Plugin._customization
2014-01-22 17:47:00 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                
2014-01-22 17:47:00 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                 --== CONFIGURATION PREVIEW ==--
2014-01-22 17:47:00 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                
2014-01-22 17:47:00 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                 Engine database name                    : engine
2014-01-22 17:47:00 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                 Engine database secured connection      : False
2014-01-22 17:47:00 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                 Engine database host                    : localhost
2014-01-22 17:47:00 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                 Engine database user name               : engine
2014-01-22 17:47:00 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                 Engine database host name validation    : False
2014-01-22 17:47:00 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                 Engine database port                    : 5432
2014-01-22 17:47:00 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                 NFS setup                               : True
2014-01-22 17:47:00 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                 Firewall manager                        : iptables
2014-01-22 17:47:00 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                 Update Firewall                         : True
2014-01-22 17:47:00 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                 Configure WebSocket Proxy               : True
2014-01-22 17:47:00 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                 Host FQDN                               : cauldron.arclab
2014-01-22 17:47:00 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                 NFS mount point                         : /var/lib/exports/iso
2014-01-22 17:47:00 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                 Set application as default page         : True
2014-01-22 17:47:00 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                 Configure Apache SSL                    : True
2014-01-22 17:47:00 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                 Upgrade packages                        : True
2014-01-22 17:47:00 DEBUG otopi.plugins.otopi.dialog.human human.queryString:153 query OVESETUP_DIALOG_CONFIRM_SETTINGS
2014-01-22 17:47:00 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                
2014-01-22 17:47:00 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                 Please confirm installation settings (OK, Cancel) [OK]: 
2014-01-22 17:47:04 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:47:04 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_DIALOG/confirmSettings=bool:'True'
2014-01-22 17:47:04 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:47:04 DEBUG otopi.context context._executeMethod:138 Stage validation METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.upgrade.asynctasks.Plugin._validateAsyncTasks
2014-01-22 17:47:04 INFO otopi.plugins.ovirt_engine_setup.ovirt_engine.upgrade.asynctasks asynctasks._validateAsyncTasks:336 Cleaning async tasks and compensations
2014-01-22 17:47:04 DEBUG otopi.ovirt_engine_setup.database database.execute:132 Database: 'engine', Statement: '
                select
                async_tasks.action_type,
                async_tasks.task_id,
                async_tasks.started_at,
                storage_pool.name
                from async_tasks, storage_pool
                where async_tasks.storage_pool_id = storage_pool.id
            ', args: {}
2014-01-22 17:47:04 DEBUG otopi.ovirt_engine_setup.database database.execute:137 Creating own connection
2014-01-22 17:47:04 DEBUG otopi.ovirt_engine_setup.database database.execute:190 Result: []
2014-01-22 17:47:04 DEBUG otopi.ovirt_engine_setup.database database.execute:132 Database: 'engine', Statement: '
                select command_type, entity_type
                from business_entity_snapshot
            ', args: {}
2014-01-22 17:47:04 DEBUG otopi.ovirt_engine_setup.database database.execute:137 Creating own connection
2014-01-22 17:47:04 DEBUG otopi.ovirt_engine_setup.database database.execute:190 Result: []
2014-01-22 17:47:04 DEBUG otopi.context context._executeMethod:138 Stage validation METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.upgrade.dbvalidations.Plugin._validation
2014-01-22 17:47:04 INFO otopi.plugins.ovirt_engine_setup.ovirt_engine.upgrade.dbvalidations dbvalidations._validation:115 Checking the Engine database consistency
2014-01-22 17:47:04 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.upgrade.dbvalidations plugin.executeRaw:366 execute: ['/usr/share/ovirt-engine/setup/dbutils/validatedb.sh', '--user=engine', '--host=localhost', '--port=5432', '--database=engine'], executable='None', cwd='None', env={'LESSOPEN': '|/usr/bin/lesspipe.sh %s', 'SSH_CLIENT': '192.168.1.102 50397 22', 'CVS_RSH': 'ssh', 'LOGNAME': 'root', 'USER': 'root', 'HOME': '/root', 'PATH': '/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin', 'LANG': 'en_US.UTF-8', 'TERM': 'linux', 'SHELL': '/bin/bash', 'SHLVL': '1', 'G_BROKEN_FILENAMES': '1', 'HISTSIZE': '1000', 'ENGINE_PGPASS': '/tmp/tmpaCnM4v', 'PYTHONPATH': '/usr/share/ovirt-engine/setup/bin/..::', 'SSH_AUTH_SOCK': '/tmp/ssh-WsNEh11240/agent.11240', 'SELINUX_ROLE_REQUESTED': '', 'MAIL': '/var/spool/mail/root', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.tbz=01;31:*.tbz2=01;31:*.bz=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:', 'SSH_TTY': '/dev/pts/0', 'HOSTNAME': 'cauldron.arclab', 'SELINUX_LEVEL_REQUESTED': '', 'HISTCONTROL': 'ignoredups', 'PWD': '/etc/yum.repos.d', 'SELINUX_USE_CURRENT_RANGE': '', 'OTOPI_LOGFILE': '/var/log/ovirt-engine/setup/ovirt-engine-setup-20140122174611.log', 'SSH_CONNECTION': '192.168.1.102 50397 192.168.1.107 22', 'OTOPI_EXECDIR': '/etc/yum.repos.d'}
2014-01-22 17:47:04 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.upgrade.dbvalidations plugin.executeRaw:383 execute-result: ['/usr/share/ovirt-engine/setup/dbutils/validatedb.sh', '--user=engine', '--host=localhost', '--port=5432', '--database=engine'], rc=0
2014-01-22 17:47:04 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.upgrade.dbvalidations plugin.execute:441 execute-output: ['/usr/share/ovirt-engine/setup/dbutils/validatedb.sh', '--user=engine', '--host=localhost', '--port=5432', '--database=engine'] stdout:


2014-01-22 17:47:04 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.upgrade.dbvalidations plugin.execute:446 execute-output: ['/usr/share/ovirt-engine/setup/dbutils/validatedb.sh', '--user=engine', '--host=localhost', '--port=5432', '--database=engine'] stderr:


2014-01-22 17:47:04 INFO otopi.context context.runSequence:395 Stage: Transaction setup
2014-01-22 17:47:04 DEBUG otopi.context context.runSequence:399 STAGE transaction-prepare
2014-01-22 17:47:04 DEBUG otopi.context context._executeMethod:138 Stage transaction-prepare METHOD otopi.plugins.otopi.core.transaction.Plugin._main_prepare
2014-01-22 17:47:04 DEBUG otopi.transaction transaction._prepare:77 preparing 'Yum Transaction'
Loaded plugins: fastestmirror, versionlock
2014-01-22 17:47:04 DEBUG otopi.transaction transaction._prepare:77 preparing 'Database Transaction'
2014-01-22 17:47:04 DEBUG otopi.transaction transaction._prepare:77 preparing 'Version Lock Transaction'
2014-01-22 17:47:04 DEBUG otopi.context context._executeMethod:138 Stage transaction-prepare METHOD otopi.plugins.ovirt_engine_common.base.core.engine.Plugin._transactionBegin
2014-01-22 17:47:04 DEBUG otopi.plugins.otopi.services.rhel rhel.exists:121 check if service ovirt-engine exists
2014-01-22 17:47:04 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/initctl', 'status', 'ovirt-engine'), executable='None', cwd='None', env=None
2014-01-22 17:47:04 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/initctl', 'status', 'ovirt-engine'), rc=1
2014-01-22 17:47:04 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/initctl', 'status', 'ovirt-engine') stdout:


2014-01-22 17:47:04 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/initctl', 'status', 'ovirt-engine') stderr:
initctl: Unknown job: ovirt-engine

2014-01-22 17:47:04 DEBUG otopi.plugins.otopi.services.rhel rhel.exists:133 service ovirt-engine exists True upstart=False
2014-01-22 17:47:04 INFO otopi.plugins.ovirt_engine_common.base.core.engine engine._transactionBegin:89 Stopping engine service
2014-01-22 17:47:04 DEBUG otopi.plugins.otopi.services.rhel rhel.state:172 stopping service ovirt-engine
2014-01-22 17:47:04 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/initctl', 'status', 'ovirt-engine'), executable='None', cwd='None', env=None
2014-01-22 17:47:04 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/initctl', 'status', 'ovirt-engine'), rc=1
2014-01-22 17:47:04 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/initctl', 'status', 'ovirt-engine') stdout:


2014-01-22 17:47:04 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/initctl', 'status', 'ovirt-engine') stderr:
initctl: Unknown job: ovirt-engine

2014-01-22 17:47:04 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/service', 'ovirt-engine', 'stop'), executable='None', cwd='None', env=None
2014-01-22 17:47:05 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/service', 'ovirt-engine', 'stop'), rc=0
2014-01-22 17:47:05 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/service', 'ovirt-engine', 'stop') stdout:
Stopping oVirt Engine: [  OK  ]

2014-01-22 17:47:05 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/service', 'ovirt-engine', 'stop') stderr:


2014-01-22 17:47:05 DEBUG otopi.context context._executeMethod:138 Stage transaction-prepare METHOD otopi.plugins.ovirt_engine_common.base.system.hostile_services.Plugin._transaction_begin
2014-01-22 17:47:05 DEBUG otopi.plugins.otopi.services.rhel rhel.exists:121 check if service ovirt-engine-dwhd exists
2014-01-22 17:47:05 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/initctl', 'status', 'ovirt-engine-dwhd'), executable='None', cwd='None', env=None
2014-01-22 17:47:05 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/initctl', 'status', 'ovirt-engine-dwhd'), rc=1
2014-01-22 17:47:05 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/initctl', 'status', 'ovirt-engine-dwhd') stdout:


2014-01-22 17:47:05 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/initctl', 'status', 'ovirt-engine-dwhd') stderr:
initctl: Unknown job: ovirt-engine-dwhd

2014-01-22 17:47:05 DEBUG otopi.plugins.otopi.services.rhel rhel.exists:133 service ovirt-engine-dwhd exists False upstart=False
2014-01-22 17:47:05 DEBUG otopi.plugins.otopi.services.rhel rhel.exists:121 check if service engine-notifierd exists
2014-01-22 17:47:05 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/initctl', 'status', 'engine-notifierd'), executable='None', cwd='None', env=None
2014-01-22 17:47:05 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/initctl', 'status', 'engine-notifierd'), rc=1
2014-01-22 17:47:05 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/initctl', 'status', 'engine-notifierd') stdout:


2014-01-22 17:47:05 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/initctl', 'status', 'engine-notifierd') stderr:
initctl: Unknown job: engine-notifierd

2014-01-22 17:47:05 DEBUG otopi.plugins.otopi.services.rhel rhel.exists:133 service engine-notifierd exists False upstart=False
2014-01-22 17:47:05 DEBUG otopi.plugins.otopi.services.rhel rhel.exists:121 check if service ovirt-engine-notifier exists
2014-01-22 17:47:05 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/initctl', 'status', 'ovirt-engine-notifier'), executable='None', cwd='None', env=None
2014-01-22 17:47:05 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/initctl', 'status', 'ovirt-engine-notifier'), rc=1
2014-01-22 17:47:05 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/initctl', 'status', 'ovirt-engine-notifier') stdout:


2014-01-22 17:47:05 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/initctl', 'status', 'ovirt-engine-notifier') stderr:
initctl: Unknown job: ovirt-engine-notifier

2014-01-22 17:47:05 DEBUG otopi.plugins.otopi.services.rhel rhel.exists:133 service ovirt-engine-notifier exists True upstart=False
2014-01-22 17:47:05 DEBUG otopi.plugins.otopi.services.rhel rhel.status:138 check service ovirt-engine-notifier status
2014-01-22 17:47:05 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/initctl', 'status', 'ovirt-engine-notifier'), executable='None', cwd='None', env=None
2014-01-22 17:47:05 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/initctl', 'status', 'ovirt-engine-notifier'), rc=1
2014-01-22 17:47:05 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/initctl', 'status', 'ovirt-engine-notifier') stdout:


2014-01-22 17:47:05 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/initctl', 'status', 'ovirt-engine-notifier') stderr:
initctl: Unknown job: ovirt-engine-notifier

2014-01-22 17:47:05 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/service', 'ovirt-engine-notifier', 'status'), executable='None', cwd='None', env=None
2014-01-22 17:47:05 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/service', 'ovirt-engine-notifier', 'status'), rc=3
2014-01-22 17:47:05 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/service', 'ovirt-engine-notifier', 'status') stdout:
ovirt-engine-notifier is stopped

2014-01-22 17:47:05 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/service', 'ovirt-engine-notifier', 'status') stderr:


2014-01-22 17:47:05 DEBUG otopi.plugins.otopi.services.rhel rhel.status:147 service ovirt-engine-notifier status False
2014-01-22 17:47:05 DEBUG otopi.context context._executeMethod:138 Stage transaction-prepare METHOD otopi.plugins.ovirt_engine_common.websocket_proxy.core.Plugin._transactionBegin
2014-01-22 17:47:05 DEBUG otopi.plugins.otopi.services.rhel rhel.exists:121 check if service ovirt-websocket-proxy exists
2014-01-22 17:47:05 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/initctl', 'status', 'ovirt-websocket-proxy'), executable='None', cwd='None', env=None
2014-01-22 17:47:05 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/initctl', 'status', 'ovirt-websocket-proxy'), rc=1
2014-01-22 17:47:05 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/initctl', 'status', 'ovirt-websocket-proxy') stdout:


2014-01-22 17:47:05 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/initctl', 'status', 'ovirt-websocket-proxy') stderr:
initctl: Unknown job: ovirt-websocket-proxy

2014-01-22 17:47:05 DEBUG otopi.plugins.otopi.services.rhel rhel.exists:133 service ovirt-websocket-proxy exists True upstart=False
2014-01-22 17:47:05 INFO otopi.plugins.ovirt_engine_common.websocket_proxy.core core._transactionBegin:50 Stopping websocket-proxy service
2014-01-22 17:47:05 DEBUG otopi.plugins.otopi.services.rhel rhel.state:172 stopping service ovirt-websocket-proxy
2014-01-22 17:47:05 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/initctl', 'status', 'ovirt-websocket-proxy'), executable='None', cwd='None', env=None
2014-01-22 17:47:05 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/initctl', 'status', 'ovirt-websocket-proxy'), rc=1
2014-01-22 17:47:05 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/initctl', 'status', 'ovirt-websocket-proxy') stdout:


2014-01-22 17:47:05 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/initctl', 'status', 'ovirt-websocket-proxy') stderr:
initctl: Unknown job: ovirt-websocket-proxy

2014-01-22 17:47:05 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/service', 'ovirt-websocket-proxy', 'stop'), executable='None', cwd='None', env=None
2014-01-22 17:47:06 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/service', 'ovirt-websocket-proxy', 'stop'), rc=0
2014-01-22 17:47:06 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/service', 'ovirt-websocket-proxy', 'stop') stdout:
Stopping oVirt Engine websockets proxy: [  OK  ]

2014-01-22 17:47:06 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/service', 'ovirt-websocket-proxy', 'stop') stderr:


2014-01-22 17:47:06 INFO otopi.context context.runSequence:395 Stage: Misc configuration
2014-01-22 17:47:06 DEBUG otopi.context context.runSequence:399 STAGE early_misc
2014-01-22 17:47:06 DEBUG otopi.context context._executeMethod:138 Stage early_misc METHOD otopi.plugins.otopi.network.firewalld.Plugin._early_misc
2014-01-22 17:47:06 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:47:06 DEBUG otopi.context context._executeMethod:138 Stage early_misc METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.upgrade.dbvalidations.Plugin._misc
2014-01-22 17:47:06 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:47:06 INFO otopi.context context.runSequence:395 Stage: Package installation
2014-01-22 17:47:06 DEBUG otopi.context context.runSequence:399 STAGE packages
2014-01-22 17:47:06 DEBUG otopi.context context._executeMethod:138 Stage packages METHOD otopi.plugins.otopi.network.iptables.Plugin._packages
2014-01-22 17:47:06 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum queue package iptables for install
Loading mirror speeds from cached hostfile
 * base: mirrors.coreix.net
 * centosplus: mirrors.manchester.m247.com
 * epel: mirror.bytemark.co.uk
 * extras: mirrors.manchester.m247.com
 * updates: mirror.bytemark.co.uk
Package iptables-1.4.7-11.el6.x86_64 already installed and latest version
2014-01-22 17:47:06 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum package iptables queued
2014-01-22 17:47:06 DEBUG otopi.context context._executeMethod:138 Stage packages METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages.Plugin.packages
Checking for new repos for mirrors
2014-01-22 17:47:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum queue package ovirt-engine for install
2014-01-22 17:47:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum package ovirt-engine queued
2014-01-22 17:47:07 DEBUG otopi.context context._executeMethod:138 Stage packages METHOD otopi.plugins.otopi.packagers.yumpackager.Plugin._packages
2014-01-22 17:47:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Building transaction
2014-01-22 17:47:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Transaction built
2014-01-22 17:47:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Transaction Summary:
2014-01-22 17:47:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum     updated    - ovirt-engine-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:47:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum     update     - ovirt-engine-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:47:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum     updated    - ovirt-engine-backend-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:47:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum     update     - ovirt-engine-backend-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:47:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum     updated    - ovirt-engine-dbscripts-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:47:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum     update     - ovirt-engine-dbscripts-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:47:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum     updated    - ovirt-engine-restapi-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:47:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum     update     - ovirt-engine-restapi-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:47:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum     updated    - ovirt-engine-tools-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:47:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum     update     - ovirt-engine-tools-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:47:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum     updated    - ovirt-engine-userportal-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:47:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum     update     - ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:47:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum     updated    - ovirt-engine-webadmin-portal-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:47:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum     update     - ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:47:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager._packages:254 Transaction Summary:
2014-01-22 17:47:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager._packages:259     updated - ovirt-engine-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:47:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager._packages:259     update - ovirt-engine-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:47:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager._packages:259     updated - ovirt-engine-backend-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:47:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager._packages:259     update - ovirt-engine-backend-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:47:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager._packages:259     updated - ovirt-engine-dbscripts-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:47:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager._packages:259     update - ovirt-engine-dbscripts-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:47:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager._packages:259     updated - ovirt-engine-restapi-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:47:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager._packages:259     update - ovirt-engine-restapi-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:47:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager._packages:259     updated - ovirt-engine-tools-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:47:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager._packages:259     update - ovirt-engine-tools-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:47:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager._packages:259     updated - ovirt-engine-userportal-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:47:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager._packages:259     update - ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:47:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager._packages:259     updated - ovirt-engine-webadmin-portal-3.4.0-0.2.master.20140115020700.git5eb5722.el6.noarch
2014-01-22 17:47:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager._packages:259     update - ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:47:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Processing transaction
2014-01-22 17:47:07 INFO otopi.plugins.otopi.packagers.yumpackager yumpackager.info:92 Yum Status: Downloading Packages
2014-01-22 17:47:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Status: Download packages packages: ovirt-engine-3.4.0-0.5.beta1.el6.noarch ovirt-engine-restapi-3.4.0-0.5.beta1.el6.noarch ovirt-engine-backend-3.4.0-0.5.beta1.el6.noarch ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch ovirt-engine-dbscripts-3.4.0-0.5.beta1.el6.noarch ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch ovirt-engine-tools-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:47:08 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (1/7): ovirt-engine-3.4.0-0.5.beta1.el6.noarch.rpm (0%)
2014-01-22 17:47:08 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (1/7): ovirt-engine-3.4.0-0.5.beta1.el6.noarch.rpm 39 k(3%)
2014-01-22 17:47:09 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (1/7): ovirt-engine-3.4.0-0.5.beta1.el6.noarch.rpm 121 k(9%)
2014-01-22 17:47:09 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (1/7): ovirt-engine-3.4.0-0.5.beta1.el6.noarch.rpm 285 k(22%)
2014-01-22 17:47:09 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (1/7): ovirt-engine-3.4.0-0.5.beta1.el6.noarch.rpm 613 k(47%)
2014-01-22 17:47:10 INFO otopi.plugins.otopi.packagers.yumpackager yumpackager.info:92 Yum Download/Verify: ovirt-engine-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:47:10 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (1/7): ovirt-engine-3.4.0-0.5.beta1.el6.noarch.rpm 1.3 M(100%)
2014-01-22 17:47:14 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (2/7): ovirt-engine-backend-3.4.0-0.5.beta1.el6.noarch.rpm (0%)
2014-01-22 17:47:14 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (2/7): ovirt-engine-backend-3.4.0-0.5.beta1.el6.noarch.rpm 44 k(0%)
2014-01-22 17:47:15 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (2/7): ovirt-engine-backend-3.4.0-0.5.beta1.el6.noarch.rpm 111 k(1%)
2014-01-22 17:47:15 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (2/7): ovirt-engine-backend-3.4.0-0.5.beta1.el6.noarch.rpm 230 k(2%)
2014-01-22 17:47:15 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (2/7): ovirt-engine-backend-3.4.0-0.5.beta1.el6.noarch.rpm 499 k(4%)
2014-01-22 17:47:16 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (2/7): ovirt-engine-backend-3.4.0-0.5.beta1.el6.noarch.rpm 1.0 M(10%)
2014-01-22 17:47:16 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (2/7): ovirt-engine-backend-3.4.0-0.5.beta1.el6.noarch.rpm 2.0 M(20%)
2014-01-22 17:47:16 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (2/7): ovirt-engine-backend-3.4.0-0.5.beta1.el6.noarch.rpm 2.9 M(29%)
2014-01-22 17:47:17 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (2/7): ovirt-engine-backend-3.4.0-0.5.beta1.el6.noarch.rpm 4.0 M(41%)
2014-01-22 17:47:18 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (2/7): ovirt-engine-backend-3.4.0-0.5.beta1.el6.noarch.rpm 4.2 M(43%)
2014-01-22 17:47:18 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (2/7): ovirt-engine-backend-3.4.0-0.5.beta1.el6.noarch.rpm 4.4 M(44%)
2014-01-22 17:47:18 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (2/7): ovirt-engine-backend-3.4.0-0.5.beta1.el6.noarch.rpm 4.8 M(48%)
2014-01-22 17:47:19 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (2/7): ovirt-engine-backend-3.4.0-0.5.beta1.el6.noarch.rpm 5.9 M(60%)
2014-01-22 17:47:19 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (2/7): ovirt-engine-backend-3.4.0-0.5.beta1.el6.noarch.rpm 7.3 M(74%)
2014-01-22 17:47:19 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (2/7): ovirt-engine-backend-3.4.0-0.5.beta1.el6.noarch.rpm 8.4 M(86%)
2014-01-22 17:47:20 INFO otopi.plugins.otopi.packagers.yumpackager yumpackager.info:92 Yum Download/Verify: ovirt-engine-backend-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:47:20 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (2/7): ovirt-engine-backend-3.4.0-0.5.beta1.el6.noarch.rpm 9.8 M(100%)
2014-01-22 17:47:24 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (3/7): ovirt-engine-dbscripts-3.4.0-0.5.beta1.el6.noarch.rpm (0%)
2014-01-22 17:47:24 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (3/7): ovirt-engine-dbscripts-3.4.0-0.5.beta1.el6.noarch.rpm 35 k(19%)
2014-01-22 17:47:25 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (3/7): ovirt-engine-dbscripts-3.4.0-0.5.beta1.el6.noarch.rpm 113 k(63%)
2014-01-22 17:47:25 INFO otopi.plugins.otopi.packagers.yumpackager yumpackager.info:92 Yum Download/Verify: ovirt-engine-dbscripts-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:47:25 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (3/7): ovirt-engine-dbscripts-3.4.0-0.5.beta1.el6.noarch.rpm 177 k(100%)
2014-01-22 17:47:25 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (4/7): ovirt-engine-restapi-3.4.0-0.5.beta1.el6.noarch.rpm (0%)
2014-01-22 17:47:26 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (4/7): ovirt-engine-restapi-3.4.0-0.5.beta1.el6.noarch.rpm 38 k(1%)
2014-01-22 17:47:26 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (4/7): ovirt-engine-restapi-3.4.0-0.5.beta1.el6.noarch.rpm 104 k(4%)
2014-01-22 17:47:27 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (4/7): ovirt-engine-restapi-3.4.0-0.5.beta1.el6.noarch.rpm 260 k(11%)
2014-01-22 17:47:27 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (4/7): ovirt-engine-restapi-3.4.0-0.5.beta1.el6.noarch.rpm 506 k(22%)
2014-01-22 17:47:27 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (4/7): ovirt-engine-restapi-3.4.0-0.5.beta1.el6.noarch.rpm 1.0 M(46%)
2014-01-22 17:47:28 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (4/7): ovirt-engine-restapi-3.4.0-0.5.beta1.el6.noarch.rpm 2.0 M(92%)
2014-01-22 17:47:28 INFO otopi.plugins.otopi.packagers.yumpackager yumpackager.info:92 Yum Download/Verify: ovirt-engine-restapi-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:47:28 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (4/7): ovirt-engine-restapi-3.4.0-0.5.beta1.el6.noarch.rpm 2.2 M(100%)
2014-01-22 17:47:28 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (5/7): ovirt-engine-tools-3.4.0-0.5.beta1.el6.noarch.rpm (0%)
2014-01-22 17:47:29 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (5/7): ovirt-engine-tools-3.4.0-0.5.beta1.el6.noarch.rpm 44 k(28%)
2014-01-22 17:47:29 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (5/7): ovirt-engine-tools-3.4.0-0.5.beta1.el6.noarch.rpm 138 k(89%)
2014-01-22 17:47:29 INFO otopi.plugins.otopi.packagers.yumpackager yumpackager.info:92 Yum Download/Verify: ovirt-engine-tools-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:47:29 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (5/7): ovirt-engine-tools-3.4.0-0.5.beta1.el6.noarch.rpm 154 k(100%)
2014-01-22 17:47:31 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm (0%)
2014-01-22 17:47:31 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 39 k(0%)
2014-01-22 17:47:31 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 124 k(0%)
2014-01-22 17:47:32 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 298 k(0%)
2014-01-22 17:47:32 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 619 k(0%)
2014-01-22 17:47:32 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 1.3 M(1%)
2014-01-22 17:47:33 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 1.7 M(2%)
2014-01-22 17:47:33 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 2.6 M(3%)
2014-01-22 17:47:33 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 2.9 M(3%)
2014-01-22 17:47:34 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 3.8 M(4%)
2014-01-22 17:47:34 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 4.9 M(6%)
2014-01-22 17:47:35 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 6.0 M(7%)
2014-01-22 17:47:35 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 7.3 M(9%)
2014-01-22 17:47:35 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 8.5 M(10%)
2014-01-22 17:47:35 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 9.6 M(11%)
2014-01-22 17:47:36 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 11 M(13%)
2014-01-22 17:47:36 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 12 M(14%)
2014-01-22 17:47:36 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 13 M(16%)
2014-01-22 17:47:37 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 14 M(17%)
2014-01-22 17:47:37 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 16 M(19%)
2014-01-22 17:47:37 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 17 M(21%)
2014-01-22 17:47:38 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 18 M(22%)
2014-01-22 17:47:38 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 19 M(24%)
2014-01-22 17:47:38 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 21 M(25%)
2014-01-22 17:47:39 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 22 M(27%)
2014-01-22 17:47:39 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 23 M(28%)
2014-01-22 17:47:39 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 25 M(30%)
2014-01-22 17:47:39 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 26 M(32%)
2014-01-22 17:47:40 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 27 M(33%)
2014-01-22 17:47:40 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 28 M(35%)
2014-01-22 17:47:40 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 29 M(36%)
2014-01-22 17:47:41 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 31 M(38%)
2014-01-22 17:47:41 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 32 M(39%)
2014-01-22 17:47:41 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 33 M(41%)
2014-01-22 17:47:42 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 34 M(42%)
2014-01-22 17:47:42 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 35 M(43%)
2014-01-22 17:47:42 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 36 M(44%)
2014-01-22 17:47:43 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 36 M(45%)
2014-01-22 17:47:43 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 37 M(46%)
2014-01-22 17:47:43 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 38 M(47%)
2014-01-22 17:47:44 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 39 M(48%)
2014-01-22 17:47:44 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 40 M(49%)
2014-01-22 17:47:44 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 40 M(50%)
2014-01-22 17:47:45 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 41 M(51%)
2014-01-22 17:47:45 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 42 M(52%)
2014-01-22 17:47:45 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 43 M(53%)
2014-01-22 17:47:45 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 43 M(54%)
2014-01-22 17:47:46 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 44 M(55%)
2014-01-22 17:47:46 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 45 M(56%)
2014-01-22 17:47:46 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 46 M(57%)
2014-01-22 17:47:47 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 47 M(58%)
2014-01-22 17:47:47 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 47 M(59%)
2014-01-22 17:47:47 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 48 M(60%)
2014-01-22 17:47:48 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 49 M(61%)
2014-01-22 17:47:48 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 50 M(62%)
2014-01-22 17:47:48 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 51 M(63%)
2014-01-22 17:47:49 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 52 M(64%)
2014-01-22 17:47:49 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 52 M(65%)
2014-01-22 17:47:49 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 53 M(66%)
2014-01-22 17:47:50 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 54 M(67%)
2014-01-22 17:47:50 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 55 M(68%)
2014-01-22 17:47:50 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 55 M(69%)
2014-01-22 17:47:50 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 56 M(69%)
2014-01-22 17:47:51 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 57 M(70%)
2014-01-22 17:47:51 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 57 M(71%)
2014-01-22 17:47:51 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 58 M(72%)
2014-01-22 17:47:52 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 59 M(73%)
2014-01-22 17:47:52 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 59 M(74%)
2014-01-22 17:47:52 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 60 M(75%)
2014-01-22 17:47:53 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 61 M(76%)
2014-01-22 17:47:53 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 62 M(77%)
2014-01-22 17:47:53 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 63 M(78%)
2014-01-22 17:47:53 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 63 M(79%)
2014-01-22 17:47:54 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 64 M(80%)
2014-01-22 17:47:54 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 65 M(81%)
2014-01-22 17:47:54 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 66 M(82%)
2014-01-22 17:47:55 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 66 M(83%)
2014-01-22 17:47:55 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 67 M(84%)
2014-01-22 17:47:55 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 68 M(85%)
2014-01-22 17:47:56 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 69 M(86%)
2014-01-22 17:47:56 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 70 M(87%)
2014-01-22 17:47:56 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 70 M(88%)
2014-01-22 17:47:57 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 71 M(89%)
2014-01-22 17:47:57 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 72 M(90%)
2014-01-22 17:47:57 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 73 M(91%)
2014-01-22 17:47:57 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 74 M(92%)
2014-01-22 17:47:58 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 74 M(93%)
2014-01-22 17:47:58 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 75 M(94%)
2014-01-22 17:47:58 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 76 M(95%)
2014-01-22 17:47:59 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 77 M(96%)
2014-01-22 17:47:59 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 78 M(97%)
2014-01-22 17:47:59 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 78 M(98%)
2014-01-22 17:47:59 INFO otopi.plugins.otopi.packagers.yumpackager yumpackager.info:92 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 78 M(98%)
2014-01-22 17:48:00 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 79 M(99%)
2014-01-22 17:48:00 INFO otopi.plugins.otopi.packagers.yumpackager yumpackager.info:92 Yum Download/Verify: ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:48:00 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (6/7): ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch.rpm 80 M(100%)
2014-01-22 17:48:01 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm (0%)
2014-01-22 17:48:01 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 41 k(0%)
2014-01-22 17:48:02 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 126 k(0%)
2014-01-22 17:48:02 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 309 k(0%)
2014-01-22 17:48:03 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 721 k(0%)
2014-01-22 17:48:03 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 1.4 M(1%)
2014-01-22 17:48:03 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 2.2 M(2%)
2014-01-22 17:48:03 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 2.7 M(2%)
2014-01-22 17:48:04 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 3.6 M(3%)
2014-01-22 17:48:04 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 4.5 M(4%)
2014-01-22 17:48:04 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 5.3 M(5%)
2014-01-22 17:48:05 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 6.4 M(6%)
2014-01-22 17:48:05 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 7.6 M(7%)
2014-01-22 17:48:05 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 8.7 M(8%)
2014-01-22 17:48:06 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 10 M(9%)
2014-01-22 17:48:06 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 12 M(11%)
2014-01-22 17:48:06 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 13 M(12%)
2014-01-22 17:48:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 15 M(14%)
2014-01-22 17:48:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 17 M(16%)
2014-01-22 17:48:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 19 M(18%)
2014-01-22 17:48:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 22 M(20%)
2014-01-22 17:48:08 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 24 M(23%)
2014-01-22 17:48:08 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 27 M(26%)
2014-01-22 17:48:08 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 30 M(29%)
2014-01-22 17:48:09 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 32 M(31%)
2014-01-22 17:48:09 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 34 M(33%)
2014-01-22 17:48:10 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 35 M(34%)
2014-01-22 17:48:10 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 36 M(35%)
2014-01-22 17:48:10 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 39 M(37%)
2014-01-22 17:48:11 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 40 M(39%)
2014-01-22 17:48:11 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 43 M(41%)
2014-01-22 17:48:11 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 43 M(41%)
2014-01-22 17:48:12 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 43 M(41%)
2014-01-22 17:48:12 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 43 M(42%)
2014-01-22 17:48:12 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 44 M(42%)
2014-01-22 17:48:13 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 44 M(42%)
2014-01-22 17:48:13 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 44 M(43%)
2014-01-22 17:48:13 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 45 M(43%)
2014-01-22 17:48:13 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 45 M(43%)
2014-01-22 17:48:14 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 45 M(44%)
2014-01-22 17:48:14 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 46 M(44%)
2014-01-22 17:48:14 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 46 M(44%)
2014-01-22 17:48:15 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 46 M(44%)
2014-01-22 17:48:15 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 47 M(45%)
2014-01-22 17:48:15 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 47 M(45%)
2014-01-22 17:48:16 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 47 M(45%)
2014-01-22 17:48:16 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 47 M(46%)
2014-01-22 17:48:16 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 48 M(46%)
2014-01-22 17:48:17 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 48 M(46%)
2014-01-22 17:48:18 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 48 M(46%)
2014-01-22 17:48:19 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 48 M(46%)
2014-01-22 17:48:20 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 48 M(46%)
2014-01-22 17:48:21 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 48 M(46%)
2014-01-22 17:48:22 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 48 M(46%)
2014-01-22 17:48:23 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 48 M(46%)
2014-01-22 17:48:23 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 48 M(46%)
2014-01-22 17:48:24 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 48 M(46%)
2014-01-22 17:48:25 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 48 M(46%)
2014-01-22 17:48:25 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 48 M(46%)
2014-01-22 17:48:26 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 48 M(46%)
2014-01-22 17:48:26 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 48 M(46%)
2014-01-22 17:48:26 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 48 M(46%)
2014-01-22 17:48:27 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 48 M(46%)
2014-01-22 17:48:27 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 48 M(46%)
2014-01-22 17:48:27 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 48 M(46%)
2014-01-22 17:48:28 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 48 M(46%)
2014-01-22 17:48:28 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 48 M(46%)
2014-01-22 17:48:29 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 48 M(46%)
2014-01-22 17:48:29 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 48 M(46%)
2014-01-22 17:48:29 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 48 M(46%)
2014-01-22 17:48:29 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 48 M(46%)
2014-01-22 17:48:30 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 48 M(47%)
2014-01-22 17:48:30 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 49 M(47%)
2014-01-22 17:48:30 INFO otopi.plugins.otopi.packagers.yumpackager yumpackager.info:92 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 49 M(47%)
2014-01-22 17:48:30 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 49 M(47%)
2014-01-22 17:48:31 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 49 M(47%)
2014-01-22 17:48:31 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 49 M(47%)
2014-01-22 17:48:31 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 49 M(47%)
2014-01-22 17:48:32 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 50 M(48%)
2014-01-22 17:48:32 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 50 M(48%)
2014-01-22 17:48:32 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 50 M(48%)
2014-01-22 17:48:33 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 51 M(49%)
2014-01-22 17:48:33 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 51 M(49%)
2014-01-22 17:48:33 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 52 M(50%)
2014-01-22 17:48:34 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 52 M(50%)
2014-01-22 17:48:34 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 53 M(51%)
2014-01-22 17:48:34 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 54 M(52%)
2014-01-22 17:48:34 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 55 M(53%)
2014-01-22 17:48:35 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 55 M(53%)
2014-01-22 17:48:35 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 57 M(54%)
2014-01-22 17:48:35 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 58 M(56%)
2014-01-22 17:48:36 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 59 M(57%)
2014-01-22 17:48:36 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 60 M(58%)
2014-01-22 17:48:36 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 62 M(60%)
2014-01-22 17:48:37 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 64 M(61%)
2014-01-22 17:48:37 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 66 M(63%)
2014-01-22 17:48:37 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 68 M(65%)
2014-01-22 17:48:37 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 70 M(68%)
2014-01-22 17:48:38 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 73 M(70%)
2014-01-22 17:48:38 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 76 M(73%)
2014-01-22 17:48:39 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 79 M(76%)
2014-01-22 17:48:39 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 82 M(79%)
2014-01-22 17:48:39 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 82 M(79%)
2014-01-22 17:48:39 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 83 M(80%)
2014-01-22 17:48:40 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 85 M(83%)
2014-01-22 17:48:40 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 88 M(85%)
2014-01-22 17:48:40 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 89 M(86%)
2014-01-22 17:48:41 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 91 M(88%)
2014-01-22 17:48:41 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 92 M(89%)
2014-01-22 17:48:41 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 94 M(91%)
2014-01-22 17:48:42 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 96 M(93%)
2014-01-22 17:48:42 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 98 M(95%)
2014-01-22 17:48:42 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 100 M(96%)
2014-01-22 17:48:43 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 102 M(98%)
2014-01-22 17:48:43 INFO otopi.plugins.otopi.packagers.yumpackager yumpackager.info:92 Yum Download/Verify: ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:48:43 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Downloading: (7/7): ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch.rpm 103 M(100%)
2014-01-22 17:48:43 INFO otopi.plugins.otopi.packagers.yumpackager yumpackager.info:92 Yum Status: Check Package Signatures
2014-01-22 17:48:43 INFO otopi.plugins.otopi.packagers.yumpackager yumpackager.info:92 Yum Status: Running Test Transaction
Running rpm_check_debug
2014-01-22 17:48:44 INFO otopi.plugins.otopi.packagers.yumpackager yumpackager.info:92 Yum Status: Running Transaction
2014-01-22 17:48:44 INFO otopi.plugins.otopi.packagers.yumpackager yumpackager.info:92 Yum update: 1/14: ovirt-engine-restapi-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:48:44 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Done: ovirt-engine-restapi-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:48:44 INFO otopi.plugins.otopi.packagers.yumpackager yumpackager.info:92 Yum update: 2/14: ovirt-engine-backend-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:48:46 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Done: ovirt-engine-backend-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:48:46 INFO otopi.plugins.otopi.packagers.yumpackager yumpackager.info:92 Yum update: 3/14: ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:48:58 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Done: ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:48:58 INFO otopi.plugins.otopi.packagers.yumpackager yumpackager.info:92 Yum update: 4/14: ovirt-engine-dbscripts-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:48:58 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Done: ovirt-engine-dbscripts-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:48:58 INFO otopi.plugins.otopi.packagers.yumpackager yumpackager.info:92 Yum update: 5/14: ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:49:06 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Done: ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:49:07 INFO otopi.plugins.otopi.packagers.yumpackager yumpackager.info:92 Yum update: 6/14: ovirt-engine-tools-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:49:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Done: ovirt-engine-tools-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:49:07 INFO otopi.plugins.otopi.packagers.yumpackager yumpackager.info:92 Yum update: 7/14: ovirt-engine-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:49:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Done: ovirt-engine-3.4.0-0.5.beta1.el6.noarch
2014-01-22 17:49:07 INFO otopi.plugins.otopi.packagers.yumpackager yumpackager.info:92 Yum updated: 8/14: ovirt-engine-backend
2014-01-22 17:49:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Done: ovirt-engine-backend
2014-01-22 17:49:07 INFO otopi.plugins.otopi.packagers.yumpackager yumpackager.info:92 Yum updated: 9/14: ovirt-engine-dbscripts
2014-01-22 17:49:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Done: ovirt-engine-dbscripts
2014-01-22 17:49:07 INFO otopi.plugins.otopi.packagers.yumpackager yumpackager.info:92 Yum updated: 10/14: ovirt-engine-restapi
2014-01-22 17:49:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Done: ovirt-engine-restapi
2014-01-22 17:49:07 INFO otopi.plugins.otopi.packagers.yumpackager yumpackager.info:92 Yum updated: 11/14: ovirt-engine-tools
2014-01-22 17:49:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Done: ovirt-engine-tools
2014-01-22 17:49:07 INFO otopi.plugins.otopi.packagers.yumpackager yumpackager.info:92 Yum updated: 12/14: ovirt-engine-userportal
2014-01-22 17:49:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Done: ovirt-engine-userportal
2014-01-22 17:49:07 INFO otopi.plugins.otopi.packagers.yumpackager yumpackager.info:92 Yum updated: 13/14: ovirt-engine-webadmin-portal
2014-01-22 17:49:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Done: ovirt-engine-webadmin-portal
2014-01-22 17:49:07 INFO otopi.plugins.otopi.packagers.yumpackager yumpackager.info:92 Yum updated: 14/14: ovirt-engine
2014-01-22 17:49:07 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Done: ovirt-engine
2014-01-22 17:49:07 INFO otopi.plugins.otopi.packagers.yumpackager yumpackager.info:92 Yum Verify: 1/14: ovirt-engine.noarch 0:3.4.0-0.5.beta1.el6 - u
2014-01-22 17:49:07 INFO otopi.plugins.otopi.packagers.yumpackager yumpackager.info:92 Yum Verify: 2/14: ovirt-engine-restapi.noarch 0:3.4.0-0.5.beta1.el6 - u
2014-01-22 17:49:07 INFO otopi.plugins.otopi.packagers.yumpackager yumpackager.info:92 Yum Verify: 3/14: ovirt-engine-backend.noarch 0:3.4.0-0.5.beta1.el6 - u
2014-01-22 17:49:07 INFO otopi.plugins.otopi.packagers.yumpackager yumpackager.info:92 Yum Verify: 4/14: ovirt-engine-webadmin-portal.noarch 0:3.4.0-0.5.beta1.el6 - u
2014-01-22 17:49:07 INFO otopi.plugins.otopi.packagers.yumpackager yumpackager.info:92 Yum Verify: 5/14: ovirt-engine-dbscripts.noarch 0:3.4.0-0.5.beta1.el6 - u
2014-01-22 17:49:07 INFO otopi.plugins.otopi.packagers.yumpackager yumpackager.info:92 Yum Verify: 6/14: ovirt-engine-userportal.noarch 0:3.4.0-0.5.beta1.el6 - u
2014-01-22 17:49:07 INFO otopi.plugins.otopi.packagers.yumpackager yumpackager.info:92 Yum Verify: 7/14: ovirt-engine-tools.noarch 0:3.4.0-0.5.beta1.el6 - u
2014-01-22 17:49:07 INFO otopi.plugins.otopi.packagers.yumpackager yumpackager.info:92 Yum Verify: 8/14: ovirt-engine-tools.noarch 0:3.4.0-0.2.master.20140115020700.git5eb5722.el6 - ud
2014-01-22 17:49:07 INFO otopi.plugins.otopi.packagers.yumpackager yumpackager.info:92 Yum Verify: 9/14: ovirt-engine-backend.noarch 0:3.4.0-0.2.master.20140115020700.git5eb5722.el6 - ud
2014-01-22 17:49:07 INFO otopi.plugins.otopi.packagers.yumpackager yumpackager.info:92 Yum Verify: 10/14: ovirt-engine-userportal.noarch 0:3.4.0-0.2.master.20140115020700.git5eb5722.el6 - ud
2014-01-22 17:49:07 INFO otopi.plugins.otopi.packagers.yumpackager yumpackager.info:92 Yum Verify: 11/14: ovirt-engine-webadmin-portal.noarch 0:3.4.0-0.2.master.20140115020700.git5eb5722.el6 - ud
2014-01-22 17:49:07 INFO otopi.plugins.otopi.packagers.yumpackager yumpackager.info:92 Yum Verify: 12/14: ovirt-engine.noarch 0:3.4.0-0.2.master.20140115020700.git5eb5722.el6 - ud
2014-01-22 17:49:07 INFO otopi.plugins.otopi.packagers.yumpackager yumpackager.info:92 Yum Verify: 13/14: ovirt-engine-dbscripts.noarch 0:3.4.0-0.2.master.20140115020700.git5eb5722.el6 - ud
2014-01-22 17:49:07 INFO otopi.plugins.otopi.packagers.yumpackager yumpackager.info:92 Yum Verify: 14/14: ovirt-engine-restapi.noarch 0:3.4.0-0.2.master.20140115020700.git5eb5722.el6 - ud
2014-01-22 17:49:08 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:88 Yum Transaction processed
2014-01-22 17:49:08 INFO otopi.context context.runSequence:395 Stage: Misc configuration
2014-01-22 17:49:08 DEBUG otopi.context context.runSequence:399 STAGE misc
2014-01-22 17:49:08 DEBUG otopi.context context._executeMethod:138 Stage misc METHOD otopi.plugins.otopi.system.command.Plugin._misc
2014-01-22 17:49:08 DEBUG otopi.context context._executeMethod:138 Stage misc METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.sysctl.Plugin._misc
2014-01-22 17:49:08 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:49:08 DEBUG otopi.context context._executeMethod:138 Stage misc METHOD otopi.plugins.otopi.network.firewalld.Plugin._misc
2014-01-22 17:49:08 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:49:08 DEBUG otopi.context context._executeMethod:138 Stage misc METHOD otopi.plugins.otopi.network.iptables.Plugin._store_iptables
2014-01-22 17:49:08 DEBUG otopi.transaction transaction._prepare:77 preparing 'File transaction for '/etc/sysconfig/iptables''
2014-01-22 17:49:08 DEBUG otopi.filetransaction filetransaction.prepare:191 file '/etc/sysconfig/iptables' exists
2014-01-22 17:49:08 DEBUG otopi.filetransaction filetransaction.prepare:225 backup '/etc/sysconfig/iptables'->'/etc/sysconfig/iptables.20140122174908'
2014-01-22 17:49:08 DEBUG otopi.context context._executeMethod:138 Stage misc METHOD otopi.plugins.otopi.network.ssh.Plugin._append_key
2014-01-22 17:49:08 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:49:08 DEBUG otopi.context context._executeMethod:138 Stage misc METHOD otopi.plugins.otopi.system.clock.Plugin._set_clock
2014-01-22 17:49:08 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:49:08 DEBUG otopi.context context._executeMethod:138 Stage misc METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.provisioning.postgres.Plugin._misc
2014-01-22 17:49:08 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:49:08 DEBUG otopi.context context._executeMethod:138 Stage misc METHOD otopi.plugins.ovirt_engine_common.base.db.pgpass.Plugin._misc
2014-01-22 17:49:08 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:49:08 DEBUG otopi.context context._executeMethod:138 Stage misc METHOD otopi.plugins.ovirt_engine_setup.base.network.firewall_manager.Plugin._prepare_examples
2014-01-22 17:49:08 DEBUG otopi.transaction transaction._prepare:77 preparing 'File transaction for '/etc/ovirt-engine/firewalld/ovirt-websocket-proxy.xml''
2014-01-22 17:49:08 DEBUG otopi.filetransaction filetransaction.prepare:191 file '/etc/ovirt-engine/firewalld/ovirt-websocket-proxy.xml' exists
2014-01-22 17:49:08 DEBUG otopi.filetransaction filetransaction.prepare:195 file '/etc/ovirt-engine/firewalld/ovirt-websocket-proxy.xml' already has content
2014-01-22 17:49:08 DEBUG otopi.transaction transaction._prepare:77 preparing 'File transaction for '/etc/ovirt-engine/firewalld/ovirt-http.xml''
2014-01-22 17:49:08 DEBUG otopi.filetransaction filetransaction.prepare:191 file '/etc/ovirt-engine/firewalld/ovirt-http.xml' exists
2014-01-22 17:49:08 DEBUG otopi.filetransaction filetransaction.prepare:195 file '/etc/ovirt-engine/firewalld/ovirt-http.xml' already has content
2014-01-22 17:49:08 DEBUG otopi.transaction transaction._prepare:77 preparing 'File transaction for '/etc/ovirt-engine/firewalld/ovirt-https.xml''
2014-01-22 17:49:08 DEBUG otopi.filetransaction filetransaction.prepare:191 file '/etc/ovirt-engine/firewalld/ovirt-https.xml' exists
2014-01-22 17:49:08 DEBUG otopi.filetransaction filetransaction.prepare:195 file '/etc/ovirt-engine/firewalld/ovirt-https.xml' already has content
2014-01-22 17:49:08 DEBUG otopi.transaction transaction._prepare:77 preparing 'File transaction for '/etc/ovirt-engine/firewalld/ovirt-nfs.xml''
2014-01-22 17:49:08 DEBUG otopi.filetransaction filetransaction.prepare:191 file '/etc/ovirt-engine/firewalld/ovirt-nfs.xml' exists
2014-01-22 17:49:08 DEBUG otopi.filetransaction filetransaction.prepare:195 file '/etc/ovirt-engine/firewalld/ovirt-nfs.xml' already has content
2014-01-22 17:49:08 DEBUG otopi.transaction transaction._prepare:77 preparing 'File transaction for '/etc/ovirt-engine/firewalld/ovirt-postgres.xml''
2014-01-22 17:49:08 DEBUG otopi.filetransaction filetransaction.prepare:191 file '/etc/ovirt-engine/firewalld/ovirt-postgres.xml' exists
2014-01-22 17:49:08 DEBUG otopi.filetransaction filetransaction.prepare:195 file '/etc/ovirt-engine/firewalld/ovirt-postgres.xml' already has content
2014-01-22 17:49:08 DEBUG otopi.transaction transaction._prepare:77 preparing 'File transaction for '/etc/ovirt-engine/iptables.example''
2014-01-22 17:49:08 DEBUG otopi.filetransaction filetransaction.prepare:191 file '/etc/ovirt-engine/iptables.example' exists
2014-01-22 17:49:08 DEBUG otopi.filetransaction filetransaction.prepare:225 backup '/etc/ovirt-engine/iptables.example'->'/etc/ovirt-engine/iptables.example.20140122174908'
2014-01-22 17:49:08 DEBUG otopi.context context._executeMethod:138 Stage misc METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.core.Plugin._misc
2014-01-22 17:49:08 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:49:08 DEBUG otopi.context context._executeMethod:138 Stage misc METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.storage.Plugin._misc
2014-01-22 17:49:08 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:49:08 DEBUG otopi.context context._executeMethod:138 Stage misc METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.vdsm.Plugin._misc
2014-01-22 17:49:08 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:49:08 DEBUG otopi.context context._executeMethod:138 Stage misc METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.engine.Plugin._misc
2014-01-22 17:49:08 DEBUG otopi.transaction transaction._prepare:77 preparing 'File transaction for '/etc/httpd/conf.d/z-ovirt-engine-proxy.conf''
2014-01-22 17:49:08 DEBUG otopi.filetransaction filetransaction.prepare:191 file '/etc/httpd/conf.d/z-ovirt-engine-proxy.conf' exists
2014-01-22 17:49:08 DEBUG otopi.filetransaction filetransaction.prepare:195 file '/etc/httpd/conf.d/z-ovirt-engine-proxy.conf' already has content
2014-01-22 17:49:08 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:49:08 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_APACHE/needRestart=bool:'True'
2014-01-22 17:49:08 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:49:08 DEBUG otopi.context context._executeMethod:138 Stage misc METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.root.Plugin._misc
2014-01-22 17:49:08 DEBUG otopi.transaction transaction._prepare:77 preparing 'File transaction for '/etc/httpd/conf.d/ovirt-engine-root-redirect.conf''
2014-01-22 17:49:08 DEBUG otopi.filetransaction filetransaction.prepare:191 file '/etc/httpd/conf.d/ovirt-engine-root-redirect.conf' exists
2014-01-22 17:49:08 DEBUG otopi.filetransaction filetransaction.prepare:195 file '/etc/httpd/conf.d/ovirt-engine-root-redirect.conf' already has content
2014-01-22 17:49:08 DEBUG otopi.context context._executeMethod:138 Stage misc METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.selinux.Plugin._misc
2014-01-22 17:49:08 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.selinux plugin.executeRaw:366 execute: ('/usr/sbin/semanage', 'boolean', '--modify', '--on', 'httpd_can_network_connect'), executable='None', cwd='None', env=None
2014-01-22 17:49:34 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.selinux plugin.executeRaw:383 execute-result: ('/usr/sbin/semanage', 'boolean', '--modify', '--on', 'httpd_can_network_connect'), rc=0
2014-01-22 17:49:34 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.selinux plugin.execute:441 execute-output: ('/usr/sbin/semanage', 'boolean', '--modify', '--on', 'httpd_can_network_connect') stdout:


2014-01-22 17:49:34 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.selinux plugin.execute:446 execute-output: ('/usr/sbin/semanage', 'boolean', '--modify', '--on', 'httpd_can_network_connect') stderr:


2014-01-22 17:49:34 DEBUG otopi.context context._executeMethod:138 Stage misc METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.apache.ssl.Plugin._misc
2014-01-22 17:49:34 DEBUG otopi.transaction transaction._prepare:77 preparing 'File transaction for '/etc/httpd/conf.d/ssl.conf''
2014-01-22 17:49:34 DEBUG otopi.filetransaction filetransaction.prepare:191 file '/etc/httpd/conf.d/ssl.conf' exists
2014-01-22 17:49:34 DEBUG otopi.filetransaction filetransaction.prepare:195 file '/etc/httpd/conf.d/ssl.conf' already has content
2014-01-22 17:49:34 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:49:34 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE_MODIFIED_FILE_GROUP/ssl=list:'[]'
2014-01-22 17:49:34 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE_MODIFIED_LINES_GROUP/ssl=dict:'{'/etc/httpd/conf.d/ssl.conf': []}'
2014-01-22 17:49:34 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:49:34 DEBUG otopi.context context._executeMethod:138 Stage misc METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.database.Plugin._misc
2014-01-22 17:49:34 DEBUG otopi.transaction transaction._prepare:77 preparing 'File transaction for '/etc/ovirt-engine/engine.conf.d/10-setup-database.conf''
2014-01-22 17:49:34 DEBUG otopi.filetransaction filetransaction.prepare:191 file '/etc/ovirt-engine/engine.conf.d/10-setup-database.conf' exists
2014-01-22 17:49:34 DEBUG otopi.filetransaction filetransaction.prepare:195 file '/etc/ovirt-engine/engine.conf.d/10-setup-database.conf' already has content
2014-01-22 17:49:34 DEBUG otopi.context context._executeMethod:138 Stage misc METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.jboss.Plugin._misc
2014-01-22 17:49:34 DEBUG otopi.transaction transaction._prepare:77 preparing 'File transaction for '/etc/ovirt-engine/engine.conf.d/10-setup-jboss.conf''
2014-01-22 17:49:34 DEBUG otopi.filetransaction filetransaction.prepare:191 file '/etc/ovirt-engine/engine.conf.d/10-setup-jboss.conf' exists
2014-01-22 17:49:34 DEBUG otopi.filetransaction filetransaction.prepare:195 file '/etc/ovirt-engine/engine.conf.d/10-setup-jboss.conf' already has content
2014-01-22 17:49:34 DEBUG otopi.transaction transaction._prepare:77 preparing 'File transaction for '/etc/ovirt-engine/notifier/notifier.conf.d/10-setup-jboss.conf''
2014-01-22 17:49:34 DEBUG otopi.filetransaction filetransaction.prepare:191 file '/etc/ovirt-engine/notifier/notifier.conf.d/10-setup-jboss.conf' exists
2014-01-22 17:49:34 DEBUG otopi.filetransaction filetransaction.prepare:195 file '/etc/ovirt-engine/notifier/notifier.conf.d/10-setup-jboss.conf' already has content
2014-01-22 17:49:34 DEBUG otopi.context context._executeMethod:138 Stage misc METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.protocols.Plugin._misc
2014-01-22 17:49:34 DEBUG otopi.transaction transaction._prepare:77 preparing 'File transaction for '/etc/ovirt-engine/engine.conf.d/10-setup-protocols.conf''
2014-01-22 17:49:34 DEBUG otopi.filetransaction filetransaction.prepare:191 file '/etc/ovirt-engine/engine.conf.d/10-setup-protocols.conf' exists
2014-01-22 17:49:34 DEBUG otopi.filetransaction filetransaction.prepare:195 file '/etc/ovirt-engine/engine.conf.d/10-setup-protocols.conf' already has content
2014-01-22 17:49:34 DEBUG otopi.context context._executeMethod:138 Stage misc METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.tools.Plugin._misc
2014-01-22 17:49:34 DEBUG otopi.transaction transaction._prepare:77 preparing 'File transaction for '/etc/ovirt-engine/isouploader.conf.d/10-engine-setup.conf''
2014-01-22 17:49:34 DEBUG otopi.filetransaction filetransaction.prepare:191 file '/etc/ovirt-engine/isouploader.conf.d/10-engine-setup.conf' exists
2014-01-22 17:49:34 DEBUG otopi.filetransaction filetransaction.prepare:195 file '/etc/ovirt-engine/isouploader.conf.d/10-engine-setup.conf' already has content
2014-01-22 17:49:34 DEBUG otopi.transaction transaction._prepare:77 preparing 'File transaction for '/etc/ovirt-engine/imageuploader.conf.d/10-engine-setup.conf''
2014-01-22 17:49:34 DEBUG otopi.filetransaction filetransaction.prepare:191 file '/etc/ovirt-engine/imageuploader.conf.d/10-engine-setup.conf' exists
2014-01-22 17:49:34 DEBUG otopi.filetransaction filetransaction.prepare:195 file '/etc/ovirt-engine/imageuploader.conf.d/10-engine-setup.conf' already has content
2014-01-22 17:49:34 DEBUG otopi.transaction transaction._prepare:77 preparing 'File transaction for '/etc/ovirt-engine/logcollector.conf.d/10-engine-setup.conf''
2014-01-22 17:49:34 DEBUG otopi.filetransaction filetransaction.prepare:191 file '/etc/ovirt-engine/logcollector.conf.d/10-engine-setup.conf' exists
2014-01-22 17:49:34 DEBUG otopi.filetransaction filetransaction.prepare:195 file '/etc/ovirt-engine/logcollector.conf.d/10-engine-setup.conf' already has content
2014-01-22 17:49:34 DEBUG otopi.context context._executeMethod:138 Stage misc METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.db.schema.Plugin._miscInstall
2014-01-22 17:49:34 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:49:34 DEBUG otopi.context context._executeMethod:138 Stage misc METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.db.schema.Plugin._miscUpgrade
2014-01-22 17:49:34 DEBUG otopi.ovirt_engine_setup.database database.execute:132 Database: 'engine', Statement: '
                SELECT compatibility_version FROM storage_pool;
            ', args: {}
2014-01-22 17:49:34 DEBUG otopi.ovirt_engine_setup.database database.execute:137 Creating own connection
2014-01-22 17:49:35 DEBUG otopi.ovirt_engine_setup.database database.execute:190 Result: [{'compatibility_version': '3.3'}, {'compatibility_version': '3.3'}]
2014-01-22 17:49:35 DEBUG otopi.ovirt_engine_setup.database database.execute:132 Database: 'engine', Statement: '
                SELECT compatibility_version FROM vds_groups;;
            ', args: {}
2014-01-22 17:49:35 DEBUG otopi.ovirt_engine_setup.database database.execute:137 Creating own connection
2014-01-22 17:49:35 DEBUG otopi.ovirt_engine_setup.database database.execute:190 Result: [{'compatibility_version': '3.3'}, {'compatibility_version': '3.3'}]
2014-01-22 17:49:35 INFO otopi.ovirt_engine_setup.database database.backup:533 Backing up database localhost:engine to '/var/lib/ovirt-engine/backups/engine-20140122174935.UWTCMu.sql'.
2014-01-22 17:49:35 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.db.schema plugin.executeRaw:366 execute: ('/usr/bin/pg_dump', '-E', 'UTF8', '--disable-dollar-quoting', '--disable-triggers', '--format=p', '-U', 'engine', '-h', 'localhost', '-p', '5432', '-f', '/var/lib/ovirt-engine/backups/engine-20140122174935.UWTCMu.sql', 'engine'), executable='None', cwd='None', env={'LESSOPEN': '|/usr/bin/lesspipe.sh %s', 'SSH_CLIENT': '192.168.1.102 50397 22', 'CVS_RSH': 'ssh', 'LOGNAME': 'root', 'USER': 'root', 'HOME': '/root', 'PATH': '/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin', 'LANG': 'en_US.UTF-8', 'TERM': 'linux', 'SHELL': '/bin/bash', 'SHLVL': '1', 'G_BROKEN_FILENAMES': '1', 'HISTSIZE': '1000', 'PYTHONPATH': '/usr/share/ovirt-engine/setup/bin/..::', 'SSH_AUTH_SOCK': '/tmp/ssh-WsNEh11240/agent.11240', 'PGPASSFILE': '/tmp/tmpaCnM4v', 'SELINUX_ROLE_REQUESTED': '', 'MAIL': '/var/spool/mail/root', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.tbz=01;31:*.tbz2=01;31:*.bz=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:', 'SSH_TTY': '/dev/pts/0', 'HOSTNAME': 'cauldron.arclab', 'PGPASSWORD': '', 'SELINUX_LEVEL_REQUESTED': '', 'HISTCONTROL': 'ignoredups', 'PWD': '/etc/yum.repos.d', 'SELINUX_USE_CURRENT_RANGE': '', 'OTOPI_LOGFILE': '/var/log/ovirt-engine/setup/ovirt-engine-setup-20140122174611.log', 'SSH_CONNECTION': '192.168.1.102 50397 192.168.1.107 22', 'OTOPI_EXECDIR': '/etc/yum.repos.d'}
2014-01-22 17:49:36 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.db.schema plugin.executeRaw:383 execute-result: ('/usr/bin/pg_dump', '-E', 'UTF8', '--disable-dollar-quoting', '--disable-triggers', '--format=p', '-U', 'engine', '-h', 'localhost', '-p', '5432', '-f', '/var/lib/ovirt-engine/backups/engine-20140122174935.UWTCMu.sql', 'engine'), rc=0
2014-01-22 17:49:36 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.db.schema plugin.execute:441 execute-output: ('/usr/bin/pg_dump', '-E', 'UTF8', '--disable-dollar-quoting', '--disable-triggers', '--format=p', '-U', 'engine', '-h', 'localhost', '-p', '5432', '-f', '/var/lib/ovirt-engine/backups/engine-20140122174935.UWTCMu.sql', 'engine') stdout:


2014-01-22 17:49:36 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.db.schema plugin.execute:446 execute-output: ('/usr/bin/pg_dump', '-E', 'UTF8', '--disable-dollar-quoting', '--disable-triggers', '--format=p', '-U', 'engine', '-h', 'localhost', '-p', '5432', '-f', '/var/lib/ovirt-engine/backups/engine-20140122174935.UWTCMu.sql', 'engine') stderr:


2014-01-22 17:49:36 DEBUG otopi.transaction transaction._prepare:77 preparing 'Engine schema Transaction'
2014-01-22 17:49:36 INFO otopi.plugins.ovirt_engine_setup.ovirt_engine.db.schema schema._miscUpgrade:307 Updating Engine database schema
2014-01-22 17:49:36 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.db.schema plugin.executeRaw:366 execute: ['/usr/share/ovirt-engine/dbscripts/upgrade.sh', '-s', 'localhost', '-p', '5432', '-u', 'engine', '-d', 'engine', '-l', '/var/log/ovirt-engine/setup/ovirt-engine-setup-20140122174611.log', '-g'], executable='None', cwd='None', env={'LESSOPEN': '|/usr/bin/lesspipe.sh %s', 'SSH_CLIENT': '192.168.1.102 50397 22', 'CVS_RSH': 'ssh', 'LOGNAME': 'root', 'USER': 'root', 'HOME': '/root', 'PATH': '/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin', 'LANG': 'en_US.UTF-8', 'TERM': 'linux', 'SHELL': '/bin/bash', 'SHLVL': '1', 'G_BROKEN_FILENAMES': '1', 'HISTSIZE': '1000', 'ENGINE_PGPASS': '/tmp/tmpaCnM4v', 'PYTHONPATH': '/usr/share/ovirt-engine/setup/bin/..::', 'SSH_AUTH_SOCK': '/tmp/ssh-WsNEh11240/agent.11240', 'ENGINE_CERTIFICATE': '/etc/pki/ovirt-engine/ca.pem', 'SELINUX_ROLE_REQUESTED': '', 'MAIL': '/var/spool/mail/root', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.tbz=01;31:*.tbz2=01;31:*.bz=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:', 'SSH_TTY': '/dev/pts/0', 'HOSTNAME': 'cauldron.arclab', 'SELINUX_LEVEL_REQUESTED': '', 'HISTCONTROL': 'ignoredups', 'PWD': '/etc/yum.repos.d', 'SELINUX_USE_CURRENT_RANGE': '', 'OTOPI_LOGFILE': '/var/log/ovirt-engine/setup/ovirt-engine-setup-20140122174611.log', 'SSH_CONNECTION': '192.168.1.102 50397 192.168.1.107 22', 'OTOPI_EXECDIR': '/etc/yum.repos.d'}
********* QUERY **********
select 3020000;
**************************

  3020000

********* QUERY **********
Create or replace FUNCTION fn_db_add_column(v_table varchar(128), v_column varchar(128), v_column_def text)
returns void
AS $procedure$
declare
v_sql text;

begin
	if (not exists (select 1 from information_schema.columns where table_name ilike v_table and column_name ilike v_column)) then
	    begin
		v_sql := 'ALTER TABLE ' || v_table || ' ADD COLUMN ' || v_column || ' ' || v_column_def;
		EXECUTE v_sql;
            end;
	end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION fn_db_drop_column(v_table varchar(128), v_column varchar(128))
returns void
AS $procedure$
declare
v_sql text;
begin
        if (exists (select 1 from information_schema.columns where table_name ilike v_table and column_name ilike v_column)) then
            begin
                v_sql := 'ALTER TABLE ' || v_table || ' DROP COLUMN ' || v_column;
                EXECUTE v_sql;
            end;
        end if;
end;$procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION fn_db_change_column_type(v_table varchar(128), v_column varchar(128),
                                                    v_type varchar(128), v_new_type varchar(128))
returns void
AS $procedure$
declare
v_sql text;

begin
	if (exists (select 1 from information_schema.columns where table_name ilike v_table and column_name ilike v_column and (udt_name ilike v_type or data_type ilike v_type))) then
	    begin
		v_sql := 'ALTER TABLE ' || v_table || ' ALTER COLUMN ' || v_column || ' TYPE ' || v_new_type;
		EXECUTE v_sql;
            end;
	end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION fn_db_rename_column(v_table varchar(128), v_column varchar(128), v_new_name varchar(128))
returns void
AS $procedure$
declare
v_sql text;

begin
	if (exists (select 1 from information_schema.columns where table_name ilike v_table and column_name ilike v_column)) then
	    begin
		v_sql := 'ALTER TABLE ' || v_table || ' RENAME COLUMN ' || v_column || ' TO ' || v_new_name;
		EXECUTE v_sql;
            end;
	end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_add_config_value(v_option_name varchar(100), v_option_value varchar(4000),
                                                  v_version varchar(40))
returns void
AS $procedure$
begin
    if (not exists (select 1 from vdc_options where option_name ilike v_option_name and version = v_version)) then
        begin
            insert into vdc_options (option_name, option_value, version) values (v_option_name, v_option_value, v_version);
        end;
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_delete_config_value_all_versions(v_option_name varchar(100))
returns void
AS $procedure$
begin
    if (exists (select 1 from vdc_options where option_name ilike v_option_name)) then
        begin
            delete from vdc_options where option_name ilike v_option_name;
        end;
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_delete_config_value(v_option_name varchar(100), v_version text)
returns void
AS $procedure$
begin
    if (exists (select 1 from vdc_options where option_name ilike v_option_name and version in (select ID from fnSplitter(v_version)))) then
        begin
            delete from vdc_options where option_name ilike v_option_name and version in (select ID from fnSplitter(v_version));
        end;
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_delete_config_for_version(v_version text)
returns void
AS $procedure$
BEGIN
     delete from vdc_options where version in (select ID from fnSplitter(v_version));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_update_config_value(v_option_name varchar(100), v_option_value varchar(4000),
                                                  v_version varchar(40))
returns void
AS $procedure$
begin
    if (exists (select 1 from vdc_options where option_name ilike v_option_name and version = v_version)) then
        begin
            update  vdc_options set option_value = v_option_value
            where option_name ilike v_option_name and version = v_version;
        end;
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_update_default_config_value(v_option_name varchar(100),v_default_option_value varchar(4000),v_option_value varchar(4000),v_version varchar(40),v_ignore_default_value_case boolean)
returns void
AS $procedure$
begin
    if (exists (select 1 from vdc_options where option_name ilike v_option_name and version = v_version)) then
        begin
            if (v_ignore_default_value_case)
            then
               update  vdc_options set option_value = v_option_value
               where option_name ilike v_option_name and option_value ilike v_default_option_value and version = v_version;
            else
               update  vdc_options set option_value = v_option_value
               where option_name ilike v_option_name and option_value = v_default_option_value and version = v_version;
            end if;
        end;
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_rename_config_key(v_old_option_name varchar(100),v_new_option_name varchar(100),v_version varchar(40))
returns void
AS $procedure$
DECLARE
    v_current_option_value varchar(4000);
begin
    if (exists (select 1 from vdc_options where option_name ilike v_old_option_name and version = v_version)) then
       v_current_option_value:=option_value from vdc_options where option_name ilike v_old_option_name and version = v_version;
       update vdc_options set option_name = v_new_option_name, option_value = v_current_option_value
           where  option_name ilike v_old_option_name and version = v_version;
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace function fn_db_create_constraint (
    v_table varchar(128), v_constraint varchar(128), v_constraint_sql text)
returns void
AS $procedure$
begin
    if  NOT EXISTS (SELECT 1 from pg_constraint where conname ilike v_constraint) then
        execute 'ALTER TABLE ' || v_table ||  ' ADD CONSTRAINT ' || v_constraint || ' ' || v_constraint_sql;
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace function fn_db_drop_constraint (
    v_table varchar(128), v_constraint varchar(128))
returns void
AS $procedure$
begin
    if  EXISTS (SELECT 1 from pg_constraint where conname ilike v_constraint) then
        execute 'ALTER TABLE ' || v_table ||  ' DROP CONSTRAINT ' || v_constraint || ' CASCADE';
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION attach_user_to_su_role(v_permission_id uuid)
  RETURNS void AS
$procedure$
   DECLARE
   v_user_entry VARCHAR(255);
   v_user_id  UUID;
   v_name  VARCHAR(255);
   v_domain  VARCHAR(255);
   v_user_name  VARCHAR(255);

   v_document  VARCHAR(64);
   v_index  INTEGER;
BEGIN

   select   option_value INTO v_user_entry from vdc_options where option_name = 'AdUserId';
   select   option_value INTO v_name from vdc_options where option_name = 'AdUserName';
   select   option_value INTO v_domain from vdc_options where option_name = 'DomainName';

   v_index := POSITION(':' IN v_user_entry);
   if ( v_index <> 0 ) then
      v_user_entry := substring( v_user_entry from v_index + 1 );
      v_user_id := CAST( v_user_entry AS uuid );
   end if;

   v_index := POSITION(':' IN v_name);
   if ( v_index <> 0 ) then
      v_name := substring( v_name from v_index + 1 );
   end if;

-- find if name already includes domain (@)
   v_index := POSITION('@' IN v_name);

   if (v_index = 0) then
      v_user_name := coalesce(v_name,'') || '@' || coalesce(v_domain,'');
   else
      v_user_name := v_name;
   end if;


insert into users(user_id,name,domain,username,groups,active) select v_user_id, v_name, v_domain, v_user_name,'',true where not exists (select user_id,name,domain,username,groups,active from users where user_id = v_user_id and name = v_name and domain = v_domain and username = v_user_name and groups = '' and active);

insert into permissions(id,role_id,ad_element_id,object_id,object_type_id) select v_permission_id, '00000000-0000-0000-0000-000000000001', v_user_id, getGlobalIds('system'), 1 where not exists(select role_id,ad_element_id,object_id,object_type_id from permissions where role_id = '00000000-0000-0000-0000-000000000001' and ad_element_id = v_user_id and object_id= getGlobalIds('system') and object_type_id = 1);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION CheckDBConnection() RETURNS SETOF integer IMMUTABLE
   AS $procedure$
BEGIN
    RETURN QUERY SELECT 1;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION generate_drop_all_functions_syntax() RETURNS SETOF text STABLE
   AS $procedure$
BEGIN
RETURN QUERY select 'drop function if exists ' || ns.nspname || '.' || proname || '(' || oidvectortypes(proargtypes) || ') cascade;' from pg_proc inner join pg_namespace ns on (pg_proc.pronamespace=ns.oid) where ns.nspname = 'public' order by proname;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION generate_drop_all_views_syntax() RETURNS SETOF text STABLE
   AS $procedure$
BEGIN
RETURN QUERY select 'DROP VIEW if exists ' || table_name || ' CASCADE;' from information_schema.views where table_schema = 'public' order by table_name;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION generate_drop_all_tables_syntax() RETURNS SETOF text STABLE
   AS $procedure$
BEGIN
RETURN QUERY select 'DROP TABLE if exists ' || table_name || ' CASCADE;' from information_schema.tables where table_schema = 'public' and table_type = 'BASE TABLE' order by table_name;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION generate_drop_all_seq_syntax() RETURNS SETOF text STABLE
   AS $procedure$
BEGIN
RETURN QUERY select 'DROP SEQUENCE if exists ' || sequence_name || ' CASCADE;' from information_schema.sequences  where sequence_schema = 'public' order by sequence_name;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION generate_drop_all_user_types_syntax() RETURNS SETOF text STABLE
   AS $procedure$
BEGIN
RETURN QUERY SELECT 'DROP TYPE if exists ' || c.relname::information_schema.sql_identifier || ' CASCADE;'
   FROM pg_namespace n, pg_class c, pg_type t
   WHERE n.oid = c.relnamespace and t.typrelid = c.oid and c.relkind = 'c'::"char" and
   n.nspname = 'public'
   ORDER BY  c.relname::information_schema.sql_identifier;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION fn_get_column_size( v_table varchar(64), v_column varchar(64)) returns integer STABLE
   AS $procedure$
   declare
   retvalue  integer;
BEGIN
   retvalue := character_maximum_length from information_schema.columns
    where
    table_name ilike v_table and column_name ilike v_column and
    table_schema = 'public' and udt_name in ('char','varchar');
   return retvalue;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION attach_user_to_su_role(
    v_permission_id uuid,
    v_user_id VARCHAR(255),
    v_name VARCHAR(255),
    v_domain VARCHAR(255)
)
RETURNS void AS
$BODY$
   DECLARE
   v_user_name VARCHAR(255);
   v_document  VARCHAR(64);
   v_index  INTEGER;
   input_uuid uuid;
   v_external_id BYTEA;
BEGIN
   input_uuid = CAST( v_user_id AS uuid );
-- find if name already includes domain (@)
   v_index := POSITION('@' IN v_name);

   if (v_index = 0) then
      v_user_name := coalesce(v_name,'') || '@' || coalesce(v_domain,'');
   else
      v_user_name := v_name;
   end if;

   -- The external identifier is the user identifier converted to an array of
   -- bytes:
   v_external_id := decode(replace(v_user_id::text, '-', ''), 'hex');

insert into users(user_id,external_id,name,domain,username,groups,active) select input_uuid, v_external_id, v_name, v_domain, v_user_name,'',true where not exists (select user_id,name,domain,username,groups,active from users where user_id = input_uuid);

insert into permissions(id,role_id,ad_element_id,object_id,object_type_id) select v_permission_id, '00000000-0000-0000-0000-000000000001', input_uuid, getGlobalIds('system'), 1 where not exists(select role_id,ad_element_id,object_id,object_type_id from permissions where role_id = '00000000-0000-0000-0000-000000000001' and ad_element_id = input_uuid and object_id= getGlobalIds('system') and object_type_id = 1);
END; $BODY$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION fn_db_add_action_group_to_role(v_role_id UUID, v_action_group_id INTEGER)
RETURNS VOID
AS $procedure$
BEGIN
       INSERT INTO roles_groups(role_id,action_group_id)
       SELECT v_role_id, v_action_group_id
       WHERE NOT EXISTS (SELECT 1
                         FROM roles_groups
                         WHERE role_id = v_role_id
                         AND action_group_id = v_action_group_id);
RETURN;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION fn_db_split_config_value(v_option_name character varying, v_old_option_value character varying, v_new_option_value character varying, v_update_from_version character varying)
  RETURNS void AS
$BODY$
declare
v_old_value varchar(4000);
v_cur cursor for select distinct version from vdc_options where version <> 'general' order by version;
v_version varchar(40);
v_index integer;
v_count integer;
v_total_count integer;
v_version_count integer;
begin
    v_total_count := count(version) from vdc_options where option_name = v_option_name;
    v_old_value := option_value from vdc_options where option_name = v_option_name and version = 'general';
    v_version_count := count(distinct version) from vdc_options where version <> 'general';
    if (v_total_count <= v_version_count) then
        begin
            if (v_old_value IS NULL) then
                v_old_value := v_old_option_value;
            end if;
            v_count := count(distinct version) from vdc_options where version <> 'general';
            v_index := 1;
        open v_cur;
        loop
            fetch v_cur into v_version;
            exit when not found;
            -- We shouldn't update if already exists
            if (not exists (select 1 from vdc_options where option_name = v_option_name and version = v_version)) then
                -- Might not work well for versions such as 3.10, but we currently don't have any
                if (v_version >= v_update_from_version) then
                    insert into vdc_options (option_name, option_value, version) values (v_option_name, v_new_option_value, v_version);
                else
                    insert into vdc_options (option_name, option_value, version) values (v_option_name, v_old_value, v_version);
                end if;
            end if;
            v_index := v_index +1;
        end loop;
        close v_cur;
        delete from vdc_options where option_name = v_option_name and version = 'general';
        end;
    end if;
END; $BODY$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION fn_db_grant_action_group_to_all_roles_filter(v_action_group_id integer, uuid[])
  RETURNS void AS
$BODY$
declare
v_role_id_to_filter alias for $2;
begin
    insert into roles_groups (role_id, action_group_id)
    select distinct role_id, v_action_group_id
    from roles_groups rg
    where not ARRAY [role_id] <@ v_role_id_to_filter and not exists (select 1 from roles_groups where role_id = rg.role_id and action_group_id = v_action_group_id);
END; $BODY$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION fn_db_mask_object(v_object regclass) RETURNS setof record as
$BODY$
DECLARE
    v_sql TEXT;
    v_table record;
    v_table_name TEXT;
    temprec record;
BEGIN
    -- get full table/view name from v_object (i.e <namespace>.<name>)
    select c.relname, n.nspname INTO v_table
        FROM pg_class c join pg_namespace n on c.relnamespace = n.oid WHERE c.oid = v_object;
    -- try to get filtered query syntax from previous execution
    if exists (select 1 from object_column_white_list_sql where object_name = v_table.relname) then
	select sql into v_sql from object_column_white_list_sql where object_name = v_table.relname;
    else
        v_table_name := quote_ident( v_table.nspname ) || '.' || quote_ident( v_table.relname );
        -- compose sql statement while skipping values for columns not defined in object_column_white_list for this table.
        for temprec in select a.attname, t.typname
                       FROM pg_attribute a join pg_type t on a.atttypid = t.oid
                       WHERE a.attrelid = v_object AND a.attnum > 0 AND NOT a.attisdropped ORDER BY a.attnum
        loop
            v_sql := coalesce( v_sql || ', ', 'SELECT ' );
            if exists(select 1 from object_column_white_list
               where object_name = v_table.relname and column_name = temprec.attname) then
               v_sql := v_sql || quote_ident( temprec.attname );
            ELSE
               v_sql := v_sql || 'NULL::' || quote_ident( temprec.typname ) || ' as ' || quote_ident( temprec.attname );
            END IF;
        END LOOP;
        v_sql := v_sql || ' FROM ' || v_table_name;
        v_sql := 'SELECT x::' || v_table_name || ' as rec FROM (' || v_sql || ') as x';
        -- save generated query for further use
        insert into object_column_white_list_sql(object_name,sql) values (v_table.relname, v_sql);
    end if;
    RETURN QUERY EXECUTE v_sql;
END; $BODY$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_add_column_to_object_white_list(v_object_name varchar(128), v_column_name varchar(128))
returns void
AS $procedure$
begin
    if (not exists (select 1 from object_column_white_list
                    where object_name = v_object_name and column_name = v_column_name)) then
        begin
            -- verify that there is such object in db
            if exists (select 1 from information_schema.columns
                       where table_name = v_object_name and column_name = v_column_name) then
                insert into object_column_white_list (object_name, column_name) values (v_object_name, v_column_name);
            end if;
        end;
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_unlock_disk(v_id UUID)
returns void
AS $procedure$
declare
    OK integer;
    LOCKED integer;
begin
    OK:=1;
    LOCKED:=2;
    update images set imagestatus = OK where imagestatus = LOCKED and
    image_group_id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_unlock_snapshot(v_id UUID)
returns void
AS $procedure$
declare
    OK varchar;
    LOCKED varchar;
begin
    OK:='OK';
    LOCKED:='LOCKED';
    update snapshots set status = OK where status = LOCKED and snapshot_id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_unlock_entity(v_object_type varchar(10), v_name varchar(255), v_recursive boolean)
returns void
AS $procedure$
declare
    DOWN integer;
    OK integer;
    LOCKED integer;
    TEMPLATE_OK integer;
    TEMPLATE_LOCKED integer;
    IMAGE_LOCKED integer;
    SNAPSHOT_OK varchar;
    SNAPSHOT_LOCKED varchar;
    v_id UUID;
begin
    DOWN:=0;
    OK:=1;
    LOCKED:=2;
    TEMPLATE_OK:=0;
    TEMPLATE_LOCKED:=1;
    IMAGE_LOCKED:=15;
    SNAPSHOT_OK:='OK';
    SNAPSHOT_LOCKED:='LOCKED';
    v_id := vm_guid from vm_static where vm_name = v_name and entity_type ilike v_object_type;
    -- set VM status to DOWN
    if (v_object_type = 'vm') then
        update vm_dynamic set status = DOWN where status = IMAGE_LOCKED and vm_guid  = v_id;
    -- set Template status to OK
    else
        if (v_object_type = 'template') then
            update vm_static set template_status = TEMPLATE_OK where template_status = TEMPLATE_LOCKED and vm_guid  = v_id;
        end if;
    end if;
    --unlock images and snapshots  if recursive flag is set
    if (v_recursive) then
        update images set imagestatus = OK where imagestatus = LOCKED and
        image_group_id in (select device_id from vm_device where vm_id = v_id and is_plugged);

        update snapshots set status = SNAPSHOT_OK where status ilike SNAPSHOT_LOCKED and vm_id = v_id;
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
/* Displays DC id , DC name, SPM Host id , SPM Host name and number of async tasks awaiting.

1) create a record type with DC name, DC id, SPM host id, SPM host name, count

2) get all distinct DC ids from async_tasks table

3) Run a cursor for each result in 2)

   a) get DC name
   b) get SPM Host id & name if available
   c) get count of tasks

   return current record

4) return set of generated records
*/
DROP TYPE IF EXISTS async_tasks_info_rs CASCADE;
**************************

DROP TYPE
********* QUERY **********
CREATE TYPE async_tasks_info_rs AS (
    dc_id UUID, dc_name CHARACTER VARYING, spm_host_id UUID, spm_host_name CHARACTER VARYING, task_count integer);
**************************

CREATE TYPE
********* QUERY **********
create or replace FUNCTION fn_db_get_async_tasks()
returns SETOF async_tasks_info_rs STABLE
AS $procedure$
DECLARE
    v_record async_tasks_info_rs;

    -- selects storage_pool_id uuid found in async_tasks
    v_tasks_cursor cursor for select distinct storage_pool_id from async_tasks;
begin

    OPEN v_tasks_cursor;
    FETCH v_tasks_cursor into v_record.dc_id;
    WHILE FOUND LOOP
        -- get dc_name and SPM Host id
        v_record.dc_name := name from storage_pool where id = v_record.dc_id;
        v_record.spm_host_id :=
            spm_vds_id from storage_pool where id = v_record.dc_id;
        -- get Host name if we have non NULL SPM Host
        if (v_record.spm_host_id IS NOT NULL) then
            v_record.spm_host_name :=
                vds_name from vds_static where vds_id = v_record.spm_host_id;
        else
            v_record.spm_host_name:='';
        end if;
        -- get tasks count for this DC
        v_record.task_count := count(*) from async_tasks
            where position (cast(v_record.dc_id as varchar) in action_parameters) > 0;
        -- return the record
        RETURN NEXT v_record;
        FETCH v_tasks_cursor into v_record.dc_id;
    END LOOP;
    CLOSE v_tasks_cursor;
    -- return full set of generated records
    RETURN;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
select * from generate_drop_all_views_syntax();
**************************

 DROP VIEW if exists affinity_groups_view CASCADE;
 DROP VIEW if exists all_disks CASCADE;
 DROP VIEW if exists all_disks_including_snapshots CASCADE;
 DROP VIEW if exists desktop_vms CASCADE;
 DROP VIEW if exists dwh_add_tags_relations_history_view CASCADE;
 DROP VIEW if exists dwh_cluster_configuration_history_view CASCADE;
 DROP VIEW if exists dwh_datacenter_configuration_history_view CASCADE;
 DROP VIEW if exists dwh_datacenter_history_view CASCADE;
 DROP VIEW if exists dwh_datacenter_storage_map_history_view CASCADE;
 DROP VIEW if exists dwh_disk_vm_map_history_view CASCADE;
 DROP VIEW if exists dwh_host_configuration_full_check_view CASCADE;
 DROP VIEW if exists dwh_host_configuration_history_view CASCADE;
 DROP VIEW if exists dwh_host_history_view CASCADE;
 DROP VIEW if exists dwh_host_interface_configuration_history_view CASCADE;
 DROP VIEW if exists dwh_host_interface_history_view CASCADE;
 DROP VIEW if exists dwh_remove_tags_relations_history_view CASCADE;
 DROP VIEW if exists dwh_storage_domain_configuration_history_view CASCADE;
 DROP VIEW if exists dwh_storage_domain_history_view CASCADE;
 DROP VIEW if exists dwh_tags_details_history_view CASCADE;
 DROP VIEW if exists dwh_vm_configuration_history_view CASCADE;
 DROP VIEW if exists dwh_vm_device_history_view CASCADE;
 DROP VIEW if exists dwh_vm_disk_configuration_history_view CASCADE;
 DROP VIEW if exists dwh_vm_disks_history_view CASCADE;
 DROP VIEW if exists dwh_vm_history_view CASCADE;
 DROP VIEW if exists dwh_vm_interface_configuration_history_view CASCADE;
 DROP VIEW if exists dwh_vm_interface_history_view CASCADE;
 DROP VIEW if exists event_audit_log_subscriber_view CASCADE;
 DROP VIEW if exists gluster_server_hooks_view CASCADE;
 DROP VIEW if exists gluster_server_services_view CASCADE;
 DROP VIEW if exists gluster_volume_bricks_view CASCADE;
 DROP VIEW if exists gluster_volumes_view CASCADE;
 DROP VIEW if exists gluster_volume_task_steps CASCADE;
 DROP VIEW if exists images_storage_domain_view CASCADE;
 DROP VIEW if exists image_types_storage_domain CASCADE;
 DROP VIEW if exists image_types_view CASCADE;
 DROP VIEW if exists instance_types_storage_domain CASCADE;
 DROP VIEW if exists instance_types_view CASCADE;
 DROP VIEW if exists internal_permissions_view CASCADE;
 DROP VIEW if exists luns_view CASCADE;
 DROP VIEW if exists network_cluster_view CASCADE;
 DROP VIEW if exists network_vds_view CASCADE;
 DROP VIEW if exists network_view CASCADE;
 DROP VIEW if exists permissions_view CASCADE;
 DROP VIEW if exists quota_global_view CASCADE;
 DROP VIEW if exists quota_limitations_view CASCADE;
 DROP VIEW if exists quota_storage_view CASCADE;
 DROP VIEW if exists quota_vds_group_view CASCADE;
 DROP VIEW if exists quota_view CASCADE;
 DROP VIEW if exists server_vms CASCADE;
 DROP VIEW if exists storage_domain_file_repos CASCADE;
 DROP VIEW if exists storage_domains CASCADE;
 DROP VIEW if exists storage_domains_for_search CASCADE;
 DROP VIEW if exists storage_domain_static_view CASCADE;
 DROP VIEW if exists storage_domains_with_hosts_view CASCADE;
 DROP VIEW if exists storage_domains_without_storage_pools CASCADE;
 DROP VIEW if exists storage_for_image_view CASCADE;
 DROP VIEW if exists storage_pool_with_storage_domain CASCADE;
 DROP VIEW if exists tags_user_group_map_view CASCADE;
 DROP VIEW if exists tags_user_map_view CASCADE;
 DROP VIEW if exists tags_vds_map_view CASCADE;
 DROP VIEW if exists tags_vm_map_view CASCADE;
 DROP VIEW if exists tags_vm_pool_map_view CASCADE;
 DROP VIEW if exists user_db_users_permissions_view CASCADE;
 DROP VIEW if exists user_disk_permissions_view CASCADE;
 DROP VIEW if exists user_disk_permissions_view_base CASCADE;
 DROP VIEW if exists user_flat_groups CASCADE;
 DROP VIEW if exists user_network_permissions_view CASCADE;
 DROP VIEW if exists user_network_permissions_view_base CASCADE;
 DROP VIEW if exists user_object_permissions_view CASCADE;
 DROP VIEW if exists user_permissions_permissions_view CASCADE;
 DROP VIEW if exists users_and_groups_to_vm_pool_map_view CASCADE;
 DROP VIEW if exists user_storage_domain_permissions_view CASCADE;
 DROP VIEW if exists user_storage_domain_permissions_view_base CASCADE;
 DROP VIEW if exists user_storage_pool_permissions_view CASCADE;
 DROP VIEW if exists user_storage_pool_permissions_view_base CASCADE;
 DROP VIEW if exists user_vds_groups_permissions_view CASCADE;
 DROP VIEW if exists user_vds_groups_permissions_view_base CASCADE;
 DROP VIEW if exists user_vds_permissions_view CASCADE;
 DROP VIEW if exists user_vds_permissions_view_base CASCADE;
 DROP VIEW if exists user_vm_permissions_view CASCADE;
 DROP VIEW if exists user_vm_permissions_view_base CASCADE;
 DROP VIEW if exists user_vm_pool_permissions_view CASCADE;
 DROP VIEW if exists user_vm_pool_permissions_view_base CASCADE;
 DROP VIEW if exists user_vm_template_permissions_view CASCADE;
 DROP VIEW if exists user_vm_template_permissions_view_base CASCADE;
 DROP VIEW if exists user_vnic_profile_permissions_view CASCADE;
 DROP VIEW if exists user_vnic_profile_permissions_view_base CASCADE;
 DROP VIEW if exists vdc_users CASCADE;
 DROP VIEW if exists vdc_users_with_tags CASCADE;
 DROP VIEW if exists vds CASCADE;
 DROP VIEW if exists vds_groups_storage_domain CASCADE;
 DROP VIEW if exists vds_groups_view CASCADE;
 DROP VIEW if exists vds_interface_view CASCADE;
 DROP VIEW if exists vds_with_tags CASCADE;
 DROP VIEW if exists vm_device_view CASCADE;
 DROP VIEW if exists vm_images_storage_domains_view CASCADE;
 DROP VIEW if exists vm_images_view CASCADE;
 DROP VIEW if exists vm_interface_view CASCADE;
 DROP VIEW if exists vm_pool_map_view CASCADE;
 DROP VIEW if exists vm_pools_full_view CASCADE;
 DROP VIEW if exists vm_pools_view CASCADE;
 DROP VIEW if exists vms CASCADE;
 DROP VIEW if exists vms_for_disk_view CASCADE;
 DROP VIEW if exists vms_with_plug_info CASCADE;
 DROP VIEW if exists vms_with_tags CASCADE;
 DROP VIEW if exists vm_templates_storage_domain CASCADE;
 DROP VIEW if exists vm_templates_view CASCADE;
 DROP VIEW if exists vm_templates_with_plug_info CASCADE;
 DROP VIEW if exists vnic_profiles_view CASCADE;

********* QUERY **********
DROP VIEW if exists affinity_groups_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists all_disks CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists all_disks_including_snapshots CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists desktop_vms CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists dwh_add_tags_relations_history_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists dwh_cluster_configuration_history_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists dwh_datacenter_configuration_history_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists dwh_datacenter_history_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists dwh_datacenter_storage_map_history_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists dwh_disk_vm_map_history_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists dwh_host_configuration_full_check_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists dwh_host_configuration_history_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists dwh_host_history_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists dwh_host_interface_configuration_history_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists dwh_host_interface_history_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists dwh_remove_tags_relations_history_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists dwh_storage_domain_configuration_history_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists dwh_storage_domain_history_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists dwh_tags_details_history_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists dwh_vm_configuration_history_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists dwh_vm_device_history_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists dwh_vm_disk_configuration_history_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists dwh_vm_disks_history_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists dwh_vm_history_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists dwh_vm_interface_configuration_history_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists dwh_vm_interface_history_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists event_audit_log_subscriber_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists gluster_server_hooks_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists gluster_server_services_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists gluster_volume_bricks_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists gluster_volumes_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists gluster_volume_task_steps CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists images_storage_domain_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists image_types_storage_domain CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists image_types_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists instance_types_storage_domain CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists instance_types_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists internal_permissions_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists luns_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists network_cluster_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists network_vds_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists network_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists permissions_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists quota_global_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists quota_limitations_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists quota_storage_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists quota_vds_group_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists quota_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists server_vms CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists storage_domain_file_repos CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists storage_domains CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists storage_domains_for_search CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists storage_domain_static_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists storage_domains_with_hosts_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists storage_domains_without_storage_pools CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists storage_for_image_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists storage_pool_with_storage_domain CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists tags_user_group_map_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists tags_user_map_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists tags_vds_map_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists tags_vm_map_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists tags_vm_pool_map_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists user_db_users_permissions_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists user_disk_permissions_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists user_disk_permissions_view_base CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists user_flat_groups CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists user_network_permissions_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists user_network_permissions_view_base CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists user_object_permissions_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists user_permissions_permissions_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists users_and_groups_to_vm_pool_map_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists user_storage_domain_permissions_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists user_storage_domain_permissions_view_base CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists user_storage_pool_permissions_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists user_storage_pool_permissions_view_base CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists user_vds_groups_permissions_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists user_vds_groups_permissions_view_base CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists user_vds_permissions_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists user_vds_permissions_view_base CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists user_vm_permissions_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists user_vm_permissions_view_base CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists user_vm_pool_permissions_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists user_vm_pool_permissions_view_base CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists user_vm_template_permissions_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists user_vm_template_permissions_view_base CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists user_vnic_profile_permissions_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists user_vnic_profile_permissions_view_base CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists vdc_users CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists vdc_users_with_tags CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists vds CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists vds_groups_storage_domain CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists vds_groups_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists vds_interface_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists vds_with_tags CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists vm_device_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists vm_images_storage_domains_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists vm_images_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists vm_interface_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists vm_pool_map_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists vm_pools_full_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists vm_pools_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists vms CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists vms_for_disk_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists vms_with_plug_info CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists vms_with_tags CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists vm_templates_storage_domain CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists vm_templates_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists vm_templates_with_plug_info CASCADE;
**************************

DROP VIEW
********* QUERY **********
DROP VIEW if exists vnic_profiles_view CASCADE;
**************************

DROP VIEW
********* QUERY **********
Create or replace FUNCTION fn_db_add_column(v_table varchar(128), v_column varchar(128), v_column_def text)
returns void
AS $procedure$
declare
v_sql text;

begin
	if (not exists (select 1 from information_schema.columns where table_name ilike v_table and column_name ilike v_column)) then
	    begin
		v_sql := 'ALTER TABLE ' || v_table || ' ADD COLUMN ' || v_column || ' ' || v_column_def;
		EXECUTE v_sql;
            end;
	end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION fn_db_drop_column(v_table varchar(128), v_column varchar(128))
returns void
AS $procedure$
declare
v_sql text;
begin
        if (exists (select 1 from information_schema.columns where table_name ilike v_table and column_name ilike v_column)) then
            begin
                v_sql := 'ALTER TABLE ' || v_table || ' DROP COLUMN ' || v_column;
                EXECUTE v_sql;
            end;
        end if;
end;$procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION fn_db_change_column_type(v_table varchar(128), v_column varchar(128),
                                                    v_type varchar(128), v_new_type varchar(128))
returns void
AS $procedure$
declare
v_sql text;

begin
	if (exists (select 1 from information_schema.columns where table_name ilike v_table and column_name ilike v_column and (udt_name ilike v_type or data_type ilike v_type))) then
	    begin
		v_sql := 'ALTER TABLE ' || v_table || ' ALTER COLUMN ' || v_column || ' TYPE ' || v_new_type;
		EXECUTE v_sql;
            end;
	end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION fn_db_rename_column(v_table varchar(128), v_column varchar(128), v_new_name varchar(128))
returns void
AS $procedure$
declare
v_sql text;

begin
	if (exists (select 1 from information_schema.columns where table_name ilike v_table and column_name ilike v_column)) then
	    begin
		v_sql := 'ALTER TABLE ' || v_table || ' RENAME COLUMN ' || v_column || ' TO ' || v_new_name;
		EXECUTE v_sql;
            end;
	end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_add_config_value(v_option_name varchar(100), v_option_value varchar(4000),
                                                  v_version varchar(40))
returns void
AS $procedure$
begin
    if (not exists (select 1 from vdc_options where option_name ilike v_option_name and version = v_version)) then
        begin
            insert into vdc_options (option_name, option_value, version) values (v_option_name, v_option_value, v_version);
        end;
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_delete_config_value_all_versions(v_option_name varchar(100))
returns void
AS $procedure$
begin
    if (exists (select 1 from vdc_options where option_name ilike v_option_name)) then
        begin
            delete from vdc_options where option_name ilike v_option_name;
        end;
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_delete_config_value(v_option_name varchar(100), v_version text)
returns void
AS $procedure$
begin
    if (exists (select 1 from vdc_options where option_name ilike v_option_name and version in (select ID from fnSplitter(v_version)))) then
        begin
            delete from vdc_options where option_name ilike v_option_name and version in (select ID from fnSplitter(v_version));
        end;
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_delete_config_for_version(v_version text)
returns void
AS $procedure$
BEGIN
     delete from vdc_options where version in (select ID from fnSplitter(v_version));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_update_config_value(v_option_name varchar(100), v_option_value varchar(4000),
                                                  v_version varchar(40))
returns void
AS $procedure$
begin
    if (exists (select 1 from vdc_options where option_name ilike v_option_name and version = v_version)) then
        begin
            update  vdc_options set option_value = v_option_value
            where option_name ilike v_option_name and version = v_version;
        end;
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_update_default_config_value(v_option_name varchar(100),v_default_option_value varchar(4000),v_option_value varchar(4000),v_version varchar(40),v_ignore_default_value_case boolean)
returns void
AS $procedure$
begin
    if (exists (select 1 from vdc_options where option_name ilike v_option_name and version = v_version)) then
        begin
            if (v_ignore_default_value_case)
            then
               update  vdc_options set option_value = v_option_value
               where option_name ilike v_option_name and option_value ilike v_default_option_value and version = v_version;
            else
               update  vdc_options set option_value = v_option_value
               where option_name ilike v_option_name and option_value = v_default_option_value and version = v_version;
            end if;
        end;
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_rename_config_key(v_old_option_name varchar(100),v_new_option_name varchar(100),v_version varchar(40))
returns void
AS $procedure$
DECLARE
    v_current_option_value varchar(4000);
begin
    if (exists (select 1 from vdc_options where option_name ilike v_old_option_name and version = v_version)) then
       v_current_option_value:=option_value from vdc_options where option_name ilike v_old_option_name and version = v_version;
       update vdc_options set option_name = v_new_option_name, option_value = v_current_option_value
           where  option_name ilike v_old_option_name and version = v_version;
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace function fn_db_create_constraint (
    v_table varchar(128), v_constraint varchar(128), v_constraint_sql text)
returns void
AS $procedure$
begin
    if  NOT EXISTS (SELECT 1 from pg_constraint where conname ilike v_constraint) then
        execute 'ALTER TABLE ' || v_table ||  ' ADD CONSTRAINT ' || v_constraint || ' ' || v_constraint_sql;
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace function fn_db_drop_constraint (
    v_table varchar(128), v_constraint varchar(128))
returns void
AS $procedure$
begin
    if  EXISTS (SELECT 1 from pg_constraint where conname ilike v_constraint) then
        execute 'ALTER TABLE ' || v_table ||  ' DROP CONSTRAINT ' || v_constraint || ' CASCADE';
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION attach_user_to_su_role(v_permission_id uuid)
  RETURNS void AS
$procedure$
   DECLARE
   v_user_entry VARCHAR(255);
   v_user_id  UUID;
   v_name  VARCHAR(255);
   v_domain  VARCHAR(255);
   v_user_name  VARCHAR(255);

   v_document  VARCHAR(64);
   v_index  INTEGER;
BEGIN

   select   option_value INTO v_user_entry from vdc_options where option_name = 'AdUserId';
   select   option_value INTO v_name from vdc_options where option_name = 'AdUserName';
   select   option_value INTO v_domain from vdc_options where option_name = 'DomainName';

   v_index := POSITION(':' IN v_user_entry);
   if ( v_index <> 0 ) then
      v_user_entry := substring( v_user_entry from v_index + 1 );
      v_user_id := CAST( v_user_entry AS uuid );
   end if;

   v_index := POSITION(':' IN v_name);
   if ( v_index <> 0 ) then
      v_name := substring( v_name from v_index + 1 );
   end if;

-- find if name already includes domain (@)
   v_index := POSITION('@' IN v_name);

   if (v_index = 0) then
      v_user_name := coalesce(v_name,'') || '@' || coalesce(v_domain,'');
   else
      v_user_name := v_name;
   end if;


insert into users(user_id,name,domain,username,groups,active) select v_user_id, v_name, v_domain, v_user_name,'',true where not exists (select user_id,name,domain,username,groups,active from users where user_id = v_user_id and name = v_name and domain = v_domain and username = v_user_name and groups = '' and active);

insert into permissions(id,role_id,ad_element_id,object_id,object_type_id) select v_permission_id, '00000000-0000-0000-0000-000000000001', v_user_id, getGlobalIds('system'), 1 where not exists(select role_id,ad_element_id,object_id,object_type_id from permissions where role_id = '00000000-0000-0000-0000-000000000001' and ad_element_id = v_user_id and object_id= getGlobalIds('system') and object_type_id = 1);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION CheckDBConnection() RETURNS SETOF integer IMMUTABLE
   AS $procedure$
BEGIN
    RETURN QUERY SELECT 1;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION generate_drop_all_functions_syntax() RETURNS SETOF text STABLE
   AS $procedure$
BEGIN
RETURN QUERY select 'drop function if exists ' || ns.nspname || '.' || proname || '(' || oidvectortypes(proargtypes) || ') cascade;' from pg_proc inner join pg_namespace ns on (pg_proc.pronamespace=ns.oid) where ns.nspname = 'public' order by proname;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION generate_drop_all_views_syntax() RETURNS SETOF text STABLE
   AS $procedure$
BEGIN
RETURN QUERY select 'DROP VIEW if exists ' || table_name || ' CASCADE;' from information_schema.views where table_schema = 'public' order by table_name;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION generate_drop_all_tables_syntax() RETURNS SETOF text STABLE
   AS $procedure$
BEGIN
RETURN QUERY select 'DROP TABLE if exists ' || table_name || ' CASCADE;' from information_schema.tables where table_schema = 'public' and table_type = 'BASE TABLE' order by table_name;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION generate_drop_all_seq_syntax() RETURNS SETOF text STABLE
   AS $procedure$
BEGIN
RETURN QUERY select 'DROP SEQUENCE if exists ' || sequence_name || ' CASCADE;' from information_schema.sequences  where sequence_schema = 'public' order by sequence_name;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION generate_drop_all_user_types_syntax() RETURNS SETOF text STABLE
   AS $procedure$
BEGIN
RETURN QUERY SELECT 'DROP TYPE if exists ' || c.relname::information_schema.sql_identifier || ' CASCADE;'
   FROM pg_namespace n, pg_class c, pg_type t
   WHERE n.oid = c.relnamespace and t.typrelid = c.oid and c.relkind = 'c'::"char" and
   n.nspname = 'public'
   ORDER BY  c.relname::information_schema.sql_identifier;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION fn_get_column_size( v_table varchar(64), v_column varchar(64)) returns integer STABLE
   AS $procedure$
   declare
   retvalue  integer;
BEGIN
   retvalue := character_maximum_length from information_schema.columns
    where
    table_name ilike v_table and column_name ilike v_column and
    table_schema = 'public' and udt_name in ('char','varchar');
   return retvalue;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION attach_user_to_su_role(
    v_permission_id uuid,
    v_user_id VARCHAR(255),
    v_name VARCHAR(255),
    v_domain VARCHAR(255)
)
RETURNS void AS
$BODY$
   DECLARE
   v_user_name VARCHAR(255);
   v_document  VARCHAR(64);
   v_index  INTEGER;
   input_uuid uuid;
   v_external_id BYTEA;
BEGIN
   input_uuid = CAST( v_user_id AS uuid );
-- find if name already includes domain (@)
   v_index := POSITION('@' IN v_name);

   if (v_index = 0) then
      v_user_name := coalesce(v_name,'') || '@' || coalesce(v_domain,'');
   else
      v_user_name := v_name;
   end if;

   -- The external identifier is the user identifier converted to an array of
   -- bytes:
   v_external_id := decode(replace(v_user_id::text, '-', ''), 'hex');

insert into users(user_id,external_id,name,domain,username,groups,active) select input_uuid, v_external_id, v_name, v_domain, v_user_name,'',true where not exists (select user_id,name,domain,username,groups,active from users where user_id = input_uuid);

insert into permissions(id,role_id,ad_element_id,object_id,object_type_id) select v_permission_id, '00000000-0000-0000-0000-000000000001', input_uuid, getGlobalIds('system'), 1 where not exists(select role_id,ad_element_id,object_id,object_type_id from permissions where role_id = '00000000-0000-0000-0000-000000000001' and ad_element_id = input_uuid and object_id= getGlobalIds('system') and object_type_id = 1);
END; $BODY$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION fn_db_add_action_group_to_role(v_role_id UUID, v_action_group_id INTEGER)
RETURNS VOID
AS $procedure$
BEGIN
       INSERT INTO roles_groups(role_id,action_group_id)
       SELECT v_role_id, v_action_group_id
       WHERE NOT EXISTS (SELECT 1
                         FROM roles_groups
                         WHERE role_id = v_role_id
                         AND action_group_id = v_action_group_id);
RETURN;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION fn_db_split_config_value(v_option_name character varying, v_old_option_value character varying, v_new_option_value character varying, v_update_from_version character varying)
  RETURNS void AS
$BODY$
declare
v_old_value varchar(4000);
v_cur cursor for select distinct version from vdc_options where version <> 'general' order by version;
v_version varchar(40);
v_index integer;
v_count integer;
v_total_count integer;
v_version_count integer;
begin
    v_total_count := count(version) from vdc_options where option_name = v_option_name;
    v_old_value := option_value from vdc_options where option_name = v_option_name and version = 'general';
    v_version_count := count(distinct version) from vdc_options where version <> 'general';
    if (v_total_count <= v_version_count) then
        begin
            if (v_old_value IS NULL) then
                v_old_value := v_old_option_value;
            end if;
            v_count := count(distinct version) from vdc_options where version <> 'general';
            v_index := 1;
        open v_cur;
        loop
            fetch v_cur into v_version;
            exit when not found;
            -- We shouldn't update if already exists
            if (not exists (select 1 from vdc_options where option_name = v_option_name and version = v_version)) then
                -- Might not work well for versions such as 3.10, but we currently don't have any
                if (v_version >= v_update_from_version) then
                    insert into vdc_options (option_name, option_value, version) values (v_option_name, v_new_option_value, v_version);
                else
                    insert into vdc_options (option_name, option_value, version) values (v_option_name, v_old_value, v_version);
                end if;
            end if;
            v_index := v_index +1;
        end loop;
        close v_cur;
        delete from vdc_options where option_name = v_option_name and version = 'general';
        end;
    end if;
END; $BODY$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION fn_db_grant_action_group_to_all_roles_filter(v_action_group_id integer, uuid[])
  RETURNS void AS
$BODY$
declare
v_role_id_to_filter alias for $2;
begin
    insert into roles_groups (role_id, action_group_id)
    select distinct role_id, v_action_group_id
    from roles_groups rg
    where not ARRAY [role_id] <@ v_role_id_to_filter and not exists (select 1 from roles_groups where role_id = rg.role_id and action_group_id = v_action_group_id);
END; $BODY$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION fn_db_mask_object(v_object regclass) RETURNS setof record as
$BODY$
DECLARE
    v_sql TEXT;
    v_table record;
    v_table_name TEXT;
    temprec record;
BEGIN
    -- get full table/view name from v_object (i.e <namespace>.<name>)
    select c.relname, n.nspname INTO v_table
        FROM pg_class c join pg_namespace n on c.relnamespace = n.oid WHERE c.oid = v_object;
    -- try to get filtered query syntax from previous execution
    if exists (select 1 from object_column_white_list_sql where object_name = v_table.relname) then
	select sql into v_sql from object_column_white_list_sql where object_name = v_table.relname;
    else
        v_table_name := quote_ident( v_table.nspname ) || '.' || quote_ident( v_table.relname );
        -- compose sql statement while skipping values for columns not defined in object_column_white_list for this table.
        for temprec in select a.attname, t.typname
                       FROM pg_attribute a join pg_type t on a.atttypid = t.oid
                       WHERE a.attrelid = v_object AND a.attnum > 0 AND NOT a.attisdropped ORDER BY a.attnum
        loop
            v_sql := coalesce( v_sql || ', ', 'SELECT ' );
            if exists(select 1 from object_column_white_list
               where object_name = v_table.relname and column_name = temprec.attname) then
               v_sql := v_sql || quote_ident( temprec.attname );
            ELSE
               v_sql := v_sql || 'NULL::' || quote_ident( temprec.typname ) || ' as ' || quote_ident( temprec.attname );
            END IF;
        END LOOP;
        v_sql := v_sql || ' FROM ' || v_table_name;
        v_sql := 'SELECT x::' || v_table_name || ' as rec FROM (' || v_sql || ') as x';
        -- save generated query for further use
        insert into object_column_white_list_sql(object_name,sql) values (v_table.relname, v_sql);
    end if;
    RETURN QUERY EXECUTE v_sql;
END; $BODY$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_add_column_to_object_white_list(v_object_name varchar(128), v_column_name varchar(128))
returns void
AS $procedure$
begin
    if (not exists (select 1 from object_column_white_list
                    where object_name = v_object_name and column_name = v_column_name)) then
        begin
            -- verify that there is such object in db
            if exists (select 1 from information_schema.columns
                       where table_name = v_object_name and column_name = v_column_name) then
                insert into object_column_white_list (object_name, column_name) values (v_object_name, v_column_name);
            end if;
        end;
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_unlock_disk(v_id UUID)
returns void
AS $procedure$
declare
    OK integer;
    LOCKED integer;
begin
    OK:=1;
    LOCKED:=2;
    update images set imagestatus = OK where imagestatus = LOCKED and
    image_group_id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_unlock_snapshot(v_id UUID)
returns void
AS $procedure$
declare
    OK varchar;
    LOCKED varchar;
begin
    OK:='OK';
    LOCKED:='LOCKED';
    update snapshots set status = OK where status = LOCKED and snapshot_id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_unlock_entity(v_object_type varchar(10), v_name varchar(255), v_recursive boolean)
returns void
AS $procedure$
declare
    DOWN integer;
    OK integer;
    LOCKED integer;
    TEMPLATE_OK integer;
    TEMPLATE_LOCKED integer;
    IMAGE_LOCKED integer;
    SNAPSHOT_OK varchar;
    SNAPSHOT_LOCKED varchar;
    v_id UUID;
begin
    DOWN:=0;
    OK:=1;
    LOCKED:=2;
    TEMPLATE_OK:=0;
    TEMPLATE_LOCKED:=1;
    IMAGE_LOCKED:=15;
    SNAPSHOT_OK:='OK';
    SNAPSHOT_LOCKED:='LOCKED';
    v_id := vm_guid from vm_static where vm_name = v_name and entity_type ilike v_object_type;
    -- set VM status to DOWN
    if (v_object_type = 'vm') then
        update vm_dynamic set status = DOWN where status = IMAGE_LOCKED and vm_guid  = v_id;
    -- set Template status to OK
    else
        if (v_object_type = 'template') then
            update vm_static set template_status = TEMPLATE_OK where template_status = TEMPLATE_LOCKED and vm_guid  = v_id;
        end if;
    end if;
    --unlock images and snapshots  if recursive flag is set
    if (v_recursive) then
        update images set imagestatus = OK where imagestatus = LOCKED and
        image_group_id in (select device_id from vm_device where vm_id = v_id and is_plugged);

        update snapshots set status = SNAPSHOT_OK where status ilike SNAPSHOT_LOCKED and vm_id = v_id;
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
/* Displays DC id , DC name, SPM Host id , SPM Host name and number of async tasks awaiting.

1) create a record type with DC name, DC id, SPM host id, SPM host name, count

2) get all distinct DC ids from async_tasks table

3) Run a cursor for each result in 2)

   a) get DC name
   b) get SPM Host id & name if available
   c) get count of tasks

   return current record

4) return set of generated records
*/
DROP TYPE IF EXISTS async_tasks_info_rs CASCADE;
**************************

DROP TYPE
********* QUERY **********
CREATE TYPE async_tasks_info_rs AS (
    dc_id UUID, dc_name CHARACTER VARYING, spm_host_id UUID, spm_host_name CHARACTER VARYING, task_count integer);
**************************

CREATE TYPE
********* QUERY **********
create or replace FUNCTION fn_db_get_async_tasks()
returns SETOF async_tasks_info_rs STABLE
AS $procedure$
DECLARE
    v_record async_tasks_info_rs;

    -- selects storage_pool_id uuid found in async_tasks
    v_tasks_cursor cursor for select distinct storage_pool_id from async_tasks;
begin

    OPEN v_tasks_cursor;
    FETCH v_tasks_cursor into v_record.dc_id;
    WHILE FOUND LOOP
        -- get dc_name and SPM Host id
        v_record.dc_name := name from storage_pool where id = v_record.dc_id;
        v_record.spm_host_id :=
            spm_vds_id from storage_pool where id = v_record.dc_id;
        -- get Host name if we have non NULL SPM Host
        if (v_record.spm_host_id IS NOT NULL) then
            v_record.spm_host_name :=
                vds_name from vds_static where vds_id = v_record.spm_host_id;
        else
            v_record.spm_host_name:='';
        end if;
        -- get tasks count for this DC
        v_record.task_count := count(*) from async_tasks
            where position (cast(v_record.dc_id as varchar) in action_parameters) > 0;
        -- return the record
        RETURN NEXT v_record;
        FETCH v_tasks_cursor into v_record.dc_id;
    END LOOP;
    CLOSE v_tasks_cursor;
    -- return full set of generated records
    RETURN;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
select * from generate_drop_all_functions_syntax();
**************************

 drop function if exists public.activateallmaterializedviews(boolean) cascade;
 drop function if exists public.activatematerializedview(name, boolean) cascade;
 drop function if exists public.attach_user_to_su_role(uuid, character varying, character varying, character varying) cascade;
 drop function if exists public.attach_user_to_su_role(uuid) cascade;
 drop function if exists public.calculateallstorageusage() cascade;
 drop function if exists public.calculateallvdsgroupusage() cascade;
 drop function if exists public.calculatestorageusage(uuid, uuid) cascade;
 drop function if exists public.calculatevdsgroupusage(uuid, uuid) cascade;
 drop function if exists public.checkdbconnection() cascade;
 drop function if exists public.checkifjobhastasks(uuid) cascade;
 drop function if exists public.checkifsnapshotexistsbyvmidandsnapshotid(uuid, uuid) cascade;
 drop function if exists public.checkifsnapshotexistsbyvmidandstatus(uuid, character varying) cascade;
 drop function if exists public.checkifsnapshotexistsbyvmidandtype(uuid, character varying) cascade;
 drop function if exists public.clear_osinfo() cascade;
 drop function if exists public.clearvmdeviceaddress(uuid) cascade;
 drop function if exists public.createallmaterializedviewsiindexes() cascade;
 drop function if exists public.createcustommaterializedview(name, name, integer, integer) cascade;
 drop function if exists public.createcustommaterializedview(name, name, integer) cascade;
 drop function if exists public.createcustommaterializedviewas(name, integer) cascade;
 drop function if exists public.createcustommaterializedviewas(name, integer, integer) cascade;
 drop function if exists public.creatematerializedview(name, name, integer, boolean, integer) cascade;
 drop function if exists public.creatematerializedview(name, name, integer) cascade;
 drop function if exists public.creatematerializedview(name, name, integer, integer) cascade;
 drop function if exists public.creatematerializedviewas(name, integer) cascade;
 drop function if exists public.creatematerializedviewas(name, integer, integer) cascade;
 drop function if exists public.creatematerializedviewas(name, integer, boolean, integer) cascade;
 drop function if exists public.delete_entity_snapshot_by_command_id(uuid) cascade;
 drop function if exists public.delete_roles_groups(integer, uuid) cascade;
 drop function if exists public.deleteaction_version_map(integer) cascade;
 drop function if exists public.deleteaffinitygroup(uuid) cascade;
 drop function if exists public.deleteallentitysnapshot() cascade;
 drop function if exists public.deleteallglusterhooks(uuid) cascade;
 drop function if exists public.deletealljobs() cascade;
 drop function if exists public.deleteasync_tasks(uuid) cascade;
 drop function if exists public.deleteasynctaskbycommandid(uuid) cascade;
 drop function if exists public.deleteasynctasksbyvdsmtaskid(uuid) cascade;
 drop function if exists public.deleteasynctaskszombies() cascade;
 drop function if exists public.deleteasynctaskzombiesbycommandid(uuid) cascade;
 drop function if exists public.deleteasynctaskzombiesbytaskid(uuid) cascade;
 drop function if exists public.deleteauditalertlogbyvdsidandtype(uuid, integer) cascade;
 drop function if exists public.deleteauditlog(integer) cascade;
 drop function if exists public.deleteauditlogalertsbyvdsid(uuid, boolean) cascade;
 drop function if exists public.deleteauditlogolderthendate(timestamp with time zone) cascade;
 drop function if exists public.deletebasedisk(uuid) cascade;
 drop function if exists public.deletebookmark(uuid) cascade;
 drop function if exists public.deletebypoolvds_spm_id_map(uuid, uuid) cascade;
 drop function if exists public.deleteclusterpolicy(uuid) cascade;
 drop function if exists public.deleteclusterpolicyunitsbyclusterpolicyid(uuid) cascade;
 drop function if exists public.deletecompletedjobsolderthandate(timestamp with time zone, timestamp with time zone) cascade;
 drop function if exists public.deletecustom_actions(integer) cascade;
 drop function if exists public.deletedisk_image_dynamic(uuid) cascade;
 drop function if exists public.deletedisklunmap(uuid, character varying) cascade;
 drop function if exists public.deleteentitysnapshotbytaskid(uuid) cascade;
 drop function if exists public.deleteentitysnapshotbyzombietaskid(uuid) cascade;
 drop function if exists public.deleteentitysnapshotzombies() cascade;
 drop function if exists public.deleteevent_notification_hist(timestamp without time zone) cascade;
 drop function if exists public.deleteevent_subscriber(character varying, integer, uuid, character varying) cascade;
 drop function if exists public.deleteglusterhook(uuid, character varying, character varying, character varying) cascade;
 drop function if exists public.deleteglusterhookbyid(uuid) cascade;
 drop function if exists public.deleteglusterhooksbyids(text) cascade;
 drop function if exists public.deleteglusterserver(uuid) cascade;
 drop function if exists public.deleteglusterserverbyglusterserveruuid(uuid) cascade;
 drop function if exists public.deleteglusterserverhook(uuid, uuid) cascade;
 drop function if exists public.deleteglusterserverhookbyid(uuid) cascade;
 drop function if exists public.deleteglusterserverhooksbyids(text) cascade;
 drop function if exists public.deleteglusterserverservice(uuid) cascade;
 drop function if exists public.deleteglustervolumeaccessprotocol(uuid, character varying) cascade;
 drop function if exists public.deleteglustervolumebrick(uuid) cascade;
 drop function if exists public.deleteglustervolumebricks(character varying) cascade;
 drop function if exists public.deleteglustervolumebyguid(uuid) cascade;
 drop function if exists public.deleteglustervolumebyname(uuid, character varying) cascade;
 drop function if exists public.deleteglustervolumeoption(uuid) cascade;
 drop function if exists public.deleteglustervolumeoptions(character varying) cascade;
 drop function if exists public.deleteglustervolumesbyclusterid(uuid) cascade;
 drop function if exists public.deleteglustervolumesbyguids(character varying) cascade;
 drop function if exists public.deleteglustervolumetransporttype(uuid, character varying) cascade;
 drop function if exists public.deletegroup(uuid) cascade;
 drop function if exists public.deleteimage(uuid) cascade;
 drop function if exists public.deleteimage_storage_domain_map(uuid, uuid) cascade;
 drop function if exists public.deleteimage_storage_domain_map_by_image_id(uuid) cascade;
 drop function if exists public.deletejob(uuid) cascade;
 drop function if exists public.deletejobolderthandatewithstatus(timestamp with time zone, text) cascade;
 drop function if exists public.deletejobstepsbycommandid(uuid) cascade;
 drop function if exists public.deletejobstepsbytaskid(uuid) cascade;
 drop function if exists public.deletejobstepsbyzombiecommandid(uuid) cascade;
 drop function if exists public.deletejobstepszombies() cascade;
 drop function if exists public.deletelun(character varying) cascade;
 drop function if exists public.deletelun_storage_server_connection_map(character varying, character varying) cascade;
 drop function if exists public.deletenetwork(uuid) cascade;
 drop function if exists public.deletenetwork_cluster(uuid, uuid) cascade;
 drop function if exists public.deletenetworkqos(uuid) cascade;
 drop function if exists public.deleteovfgenerations(character varying) cascade;
 drop function if exists public.deletepermission(uuid) cascade;
 drop function if exists public.deletepermissionsbyentityid(uuid) cascade;
 drop function if exists public.deletepolicyunit(uuid) cascade;
 drop function if exists public.deleteprovider(uuid) cascade;
 drop function if exists public.deletequotabyquotaguid(uuid) cascade;
 drop function if exists public.deletequotalimitationbyquotaguid(uuid) cascade;
 drop function if exists public.deleterepo_domain_file_list(uuid, integer) cascade;
 drop function if exists public.deleterole(uuid) cascade;
 drop function if exists public.deletesnapshot(uuid) cascade;
 drop function if exists public.deletestep(uuid) cascade;
 drop function if exists public.deletestorage_domain_dynamic(uuid) cascade;
 drop function if exists public.deletestorage_domain_static(uuid) cascade;
 drop function if exists public.deletestorage_pool(uuid) cascade;
 drop function if exists public.deletestorage_pool_iso_map(uuid, uuid) cascade;
 drop function if exists public.deletestorage_server_connections(character varying) cascade;
 drop function if exists public.deletetags(uuid) cascade;
 drop function if exists public.deletetags_user_group_map(uuid, uuid) cascade;
 drop function if exists public.deletetags_user_map(uuid, uuid) cascade;
 drop function if exists public.deletetags_vds_map(uuid, uuid) cascade;
 drop function if exists public.deletetags_vm_map(uuid, uuid) cascade;
 drop function if exists public.deletetags_vm_pool_map(uuid, uuid) cascade;
 drop function if exists public.deleteuser(uuid) cascade;
 drop function if exists public.deletevdcoption(integer) cascade;
 drop function if exists public.deletevds(uuid) cascade;
 drop function if exists public.deletevds_interface(uuid) cascade;
 drop function if exists public.deletevds_interface_statistics(uuid) cascade;
 drop function if exists public.deletevds_spm_id_map(uuid) cascade;
 drop function if exists public.deletevdsdynamic(uuid) cascade;
 drop function if exists public.deletevdsgroup(uuid) cascade;
 drop function if exists public.deletevdsstatic(uuid) cascade;
 drop function if exists public.deletevdsstatistics(uuid) cascade;
 drop function if exists public.deletevm(uuid) cascade;
 drop function if exists public.deletevm_interface_statistics(uuid) cascade;
 drop function if exists public.deletevm_pool_map(uuid) cascade;
 drop function if exists public.deletevm_pools(uuid) cascade;
 drop function if exists public.deletevmdevice(uuid, uuid) cascade;
 drop function if exists public.deletevmdynamic(uuid) cascade;
 drop function if exists public.deletevmguestagentinterfacesbyvmid(uuid) cascade;
 drop function if exists public.deletevminterface(uuid) cascade;
 drop function if exists public.deletevmstatic(uuid) cascade;
 drop function if exists public.deletevmstatistics(uuid) cascade;
 drop function if exists public.deletevmtemplates(uuid) cascade;
 drop function if exists public.deletevnicprofile(uuid) cascade;
 drop function if exists public.dropallcustommaterializedviews() cascade;
 drop function if exists public.dropallmaterializedviews() cascade;
 drop function if exists public.dropmaterializedview(name) cascade;
 drop function if exists public.fn_db_add_action_group_to_role(uuid, integer) cascade;
 drop function if exists public.fn_db_add_column(character varying, character varying, text) cascade;
 drop function if exists public.fn_db_add_column_to_object_white_list(character varying, character varying) cascade;
 drop function if exists public.fn_db_add_config_value(character varying, character varying, character varying) cascade;
 drop function if exists public.fn_db_change_column_type(character varying, character varying, character varying, character varying) cascade;
 drop function if exists public.fn_db_create_constraint(character varying, character varying, text) cascade;
 drop function if exists public.fn_db_delete_config_for_version(text) cascade;
 drop function if exists public.fn_db_delete_config_value(character varying, text) cascade;
 drop function if exists public.fn_db_delete_config_value_all_versions(character varying) cascade;
 drop function if exists public.fn_db_delete_version_map(character varying, character varying) cascade;
 drop function if exists public.fn_db_drop_column(character varying, character varying) cascade;
 drop function if exists public.fn_db_drop_constraint(character varying, character varying) cascade;
 drop function if exists public.fn_db_get_async_tasks() cascade;
 drop function if exists public.fn_db_grant_action_group_to_all_roles_filter(integer, uuid[]) cascade;
 drop function if exists public.fn_db_mask_object(regclass) cascade;
 drop function if exists public.fn_db_rename_column(character varying, character varying, character varying) cascade;
 drop function if exists public.fn_db_rename_config_key(character varying, character varying, character varying) cascade;
 drop function if exists public.fn_db_split_config_value(character varying, character varying, character varying, character varying) cascade;
 drop function if exists public.fn_db_unlock_disk(uuid) cascade;
 drop function if exists public.fn_db_unlock_entity(character varying, character varying, boolean) cascade;
 drop function if exists public.fn_db_unlock_snapshot(uuid) cascade;
 drop function if exists public.fn_db_update_config_value(character varying, character varying, character varying) cascade;
 drop function if exists public.fn_db_update_default_config_value(character varying, character varying, character varying, character varying, boolean) cascade;
 drop function if exists public.fn_db_validate_fks(boolean, boolean) cascade;
 drop function if exists public.fn_get_actual_images_size_by_storage(uuid) cascade;
 drop function if exists public.fn_get_ad_element_name(uuid) cascade;
 drop function if exists public.fn_get_column_size(character varying, character varying) cascade;
 drop function if exists public.fn_get_comparable_ip_list(text) cascade;
 drop function if exists public.fn_get_disk_commited_value_by_storage(uuid) cascade;
 drop function if exists public.fn_get_entity_name(uuid, integer) cascade;
 drop function if exists public.fn_get_entity_parents(uuid, integer) cascade;
 drop function if exists public.fn_get_storage_domain_shared_status_by_domain_id(uuid, integer, integer) cascade;
 drop function if exists public.fn_perms_get_storage_pools_with_permitted_action_on_vds_groups(uuid, integer, boolean, boolean) cascade;
 drop function if exists public.fn_user_permissions(uuid) cascade;
 drop function if exists public.fnsplitter(text) cascade;
 drop function if exists public.fnsplitteruuid(text) cascade;
 drop function if exists public.force_delete_storage_domain(uuid) cascade;
 drop function if exists public.generate_drop_all_functions_syntax() cascade;
 drop function if exists public.generate_drop_all_seq_syntax() cascade;
 drop function if exists public.generate_drop_all_tables_syntax() cascade;
 drop function if exists public.generate_drop_all_user_types_syntax() cascade;
 drop function if exists public.generate_drop_all_views_syntax() cascade;
 drop function if exists public.get_all_commands() cascade;
 drop function if exists public.get_entity_permissions(uuid, integer, uuid, integer) cascade;
 drop function if exists public.get_entity_permissions_for_user_and_groups(uuid, text, integer, uuid, integer, boolean) cascade;
 drop function if exists public.get_entity_snapshot_by_command_id(uuid) cascade;
 drop function if exists public.get_entity_snapshot_by_id(uuid) cascade;
 drop function if exists public.get_role_groups_by_role_id(uuid) cascade;
 drop function if exists public.get_roles_groups_by_action_group_id_and_by_role_id(integer, uuid) cascade;
 drop function if exists public.get_seconds_to_wait_before_pm_operation(character varying, character varying, integer) cascade;
 drop function if exists public.getaccessprotocolsbyglustervolumeguid(uuid) cascade;
 drop function if exists public.getaction_version_mapbyaction_type(integer) cascade;
 drop function if exists public.getallbystatus(integer) cascade;
 drop function if exists public.getallconnectablestorageseverconnection(uuid) cascade;
 drop function if exists public.getallfromaction_version_map() cascade;
 drop function if exists public.getallfromasync_tasks() cascade;
 drop function if exists public.getallfromauditlog(uuid, boolean) cascade;
 drop function if exists public.getallfrombasedisks() cascade;
 drop function if exists public.getallfrombookmarks() cascade;
 drop function if exists public.getallfromclusterpolicys() cascade;
 drop function if exists public.getallfromclusterpolicyunits() cascade;
 drop function if exists public.getallfromcustom_actions() cascade;
 drop function if exists public.getallfromdisk_image_dynamic() cascade;
 drop function if exists public.getallfromdisklunmaps() cascade;
 drop function if exists public.getallfromevent_notification_hist() cascade;
 drop function if exists public.getallfromglusterservices() cascade;
 drop function if exists public.getallfromimages() cascade;
 drop function if exists public.getallfromlun_storage_server_connection_map() cascade;
 drop function if exists public.getallfromnetwork(uuid, boolean) cascade;
 drop function if exists public.getallfromnetwork_cluster() cascade;
 drop function if exists public.getallfromnetwork_clusterbyclusterid(uuid) cascade;
 drop function if exists public.getallfromnetwork_clusterbynetworkid(uuid) cascade;
 drop function if exists public.getallfromnetworkqoss() cascade;
 drop function if exists public.getallfrompolicyunits() cascade;
 drop function if exists public.getallfromproviders() cascade;
 drop function if exists public.getallfromprovidersbytype(character varying) cascade;
 drop function if exists public.getallfromrole(integer) cascade;
 drop function if exists public.getallfromsnapshots() cascade;
 drop function if exists public.getallfromsnapshotsbyvmid(uuid, uuid, boolean, boolean) cascade;
 drop function if exists public.getallfromstorage_domain_dynamic() cascade;
 drop function if exists public.getallfromstorage_domain_static() cascade;
 drop function if exists public.getallfromstorage_pool(uuid, boolean) cascade;
 drop function if exists public.getallfromstorage_pool_iso_map() cascade;
 drop function if exists public.getallfromtags() cascade;
 drop function if exists public.getallfromtags_user_group_map() cascade;
 drop function if exists public.getallfromtags_user_map() cascade;
 drop function if exists public.getallfromtags_vds_map() cascade;
 drop function if exists public.getallfromtags_vm_map() cascade;
 drop function if exists public.getallfromtags_vm_pool_map() cascade;
 drop function if exists public.getallfromusers(uuid, boolean) cascade;
 drop function if exists public.getallfromvdcoption() cascade;
 drop function if exists public.getallfromvds_spm_id_map() cascade;
 drop function if exists public.getallfromvdsdynamic() cascade;
 drop function if exists public.getallfromvdsstatic() cascade;
 drop function if exists public.getallfromvdsstatistics() cascade;
 drop function if exists public.getallfromvm_pool_map() cascade;
 drop function if exists public.getallfromvm_pools() cascade;
 drop function if exists public.getallfromvmdynamic() cascade;
 drop function if exists public.getallfromvminterfaces() cascade;
 drop function if exists public.getallfromvmstatic() cascade;
 drop function if exists public.getallfromvmstaticbystoragepoolid(uuid) cascade;
 drop function if exists public.getallfromvmstatistics() cascade;
 drop function if exists public.getallfromvnicprofiles() cascade;
 drop function if exists public.getallgroups() cascade;
 drop function if exists public.getalljobidsbyentityid(uuid) cascade;
 drop function if exists public.getalljobs() cascade;
 drop function if exists public.getallnetworkbyclusterid(uuid, uuid, boolean) cascade;
 drop function if exists public.getallnetworkbystoragepoolid(uuid, uuid, boolean) cascade;
 drop function if exists public.getallnetworklabelsbydatacenterid(uuid) cascade;
 drop function if exists public.getallnetworkqosforstoragepool(uuid) cascade;
 drop function if exists public.getallnetworksbynetworkproviderid(uuid) cascade;
 drop function if exists public.getallrolesbyuseridandgroupids(uuid, text, integer) cascade;
 drop function if exists public.getallsteps() cascade;
 drop function if exists public.getallstorage_server_connections() cascade;
 drop function if exists public.getasync_tasksbytask_id(uuid) cascade;
 drop function if exists public.getasynctaskentitiesbytaskid(uuid) cascade;
 drop function if exists public.getasynctasksbyentityid(uuid) cascade;
 drop function if exists public.getasynctasksbystoragepoolid(uuid) cascade;
 drop function if exists public.getasynctasksbyvdsmtaskid(uuid) cascade;
 drop function if exists public.getasynctasksidsbyentityid(uuid) cascade;
 drop function if exists public.getasynctaskszombies() cascade;
 drop function if exists public.getauditlogbyauditlogid(integer) cascade;
 drop function if exists public.getauditlogbyoriginandcustomeventid(character varying, integer) cascade;
 drop function if exists public.getauditlogbyvmid(uuid, uuid, boolean) cascade;
 drop function if exists public.getauditlogbyvmtemplateid(uuid, uuid, boolean) cascade;
 drop function if exists public.getauditloglaterthendate(timestamp with time zone) cascade;
 drop function if exists public.getbasediskbybasediskid(uuid) cascade;
 drop function if exists public.getbookmarkbybookmark_id(uuid) cascade;
 drop function if exists public.getbookmarkbybookmark_name(character varying) cascade;
 drop function if exists public.getclusterpolicybyclusterpolicyid(uuid) cascade;
 drop function if exists public.getclusterpolicyunitsbyclusterpolicyid(uuid) cascade;
 drop function if exists public.getcustom_actionsbyaction_id(integer) cascade;
 drop function if exists public.getcustom_actionsbynameandtab(character varying, integer) cascade;
 drop function if exists public.getcustom_actionsbytab_id(integer) cascade;
 drop function if exists public.getdbgeneration(uuid) cascade;
 drop function if exists public.getdcidbyexternalnetworkid(text) cascade;
 drop function if exists public.getdisk_image_dynamicbyimage_id(uuid) cascade;
 drop function if exists public.getdisklunmapbydisklunmapid(uuid, character varying) cascade;
 drop function if exists public.getdisklunmapbylunid(character varying) cascade;
 drop function if exists public.getdisksvmguidbasicview(uuid, boolean, uuid, boolean) cascade;
 drop function if exists public.getdwhhistorytimekeepingbyvarname(character varying) cascade;
 drop function if exists public.getelementidsbyidandgroups(uuid, text) cascade;
 drop function if exists public.getevent_subscriberbysubscriber_id(uuid) cascade;
 drop function if exists public.geteventmapbyname(character varying) cascade;
 drop function if exists public.geteventnotificationmethodbyid(integer) cascade;
 drop function if exists public.getexternalidsfromsteps(character varying, character varying) cascade;
 drop function if exists public.getglobalids(character varying) cascade;
 drop function if exists public.getglusterclusterservicesbyclusterid(uuid) cascade;
 drop function if exists public.getglusterclusterservicesbyclusteridandservicetype(uuid, character varying) cascade;
 drop function if exists public.getglusterhook(uuid, character varying, character varying, character varying, boolean) cascade;
 drop function if exists public.getglusterhookbyid(uuid, boolean) cascade;
 drop function if exists public.getglusterhookcontentbyid(uuid) cascade;
 drop function if exists public.getglusterhooksbyclusterid(uuid) cascade;
 drop function if exists public.getglusteroptionbyid(uuid) cascade;
 drop function if exists public.getglusterserverbyglusterserveruuid(uuid) cascade;
 drop function if exists public.getglusterserverbyserverid(uuid) cascade;
 drop function if exists public.getglusterservicebyglusterserviceid(uuid) cascade;
 drop function if exists public.getglusterservicebytypeandname(character varying, character varying) cascade;
 drop function if exists public.getglusterservicesbytype(character varying) cascade;
 drop function if exists public.getglusterservicetypes() cascade;
 drop function if exists public.getgroupbyexternalid(character varying, bytea) cascade;
 drop function if exists public.getgroupbyid(uuid) cascade;
 drop function if exists public.getgroupbyname(character varying) cascade;
 drop function if exists public.gethostnetworksbycluster(uuid) cascade;
 drop function if exists public.getidsforovfdeletion(uuid) cascade;
 drop function if exists public.getimage_storage_domain_mapbyimage_id(uuid) cascade;
 drop function if exists public.getimage_storage_domain_mapbystorage_domain_id(uuid) cascade;
 drop function if exists public.getimagebyimageid(uuid) cascade;
 drop function if exists public.getisvdsgroupempty(uuid) cascade;
 drop function if exists public.getjobbyjobid(uuid) cascade;
 drop function if exists public.getjobsbycorrelationid(character varying) cascade;
 drop function if exists public.getjobsbyoffsetandpagesize(integer, integer) cascade;
 drop function if exists public.getjobsubjectentitybyjobid(uuid) cascade;
 drop function if exists public.getlun_storage_server_connection_mapbylunbystorage_server_conn(character varying, character varying) cascade;
 drop function if exists public.getmacsbydatacenterid(uuid) cascade;
 drop function if exists public.getnamesofvmstaticdedicatedtovds(uuid) cascade;
 drop function if exists public.getnetwork_clusterbycluster_idandbynetwork_id(uuid, uuid) cascade;
 drop function if exists public.getnetworkbyid(uuid, uuid, boolean) cascade;
 drop function if exists public.getnetworkbyname(character varying) cascade;
 drop function if exists public.getnetworkbynameandcluster(character varying, uuid) cascade;
 drop function if exists public.getnetworkbynameanddatacenter(character varying, uuid) cascade;
 drop function if exists public.getnetworkqosbynetworkqosid(uuid) cascade;
 drop function if exists public.getnfsstorage_server_connectionsbystoragepoolid(uuid) cascade;
 drop function if exists public.getnoncountablequtoavmstatuses() cascade;
 drop function if exists public.getnumofsnapshotsbymemoryvolume(character varying) cascade;
 drop function if exists public.getnvmtagsbyvmid(uuid) cascade;
 drop function if exists public.getnvmtagsbyvmidanddefaulttag(uuid) cascade;
 drop function if exists public.getoptionsbyglustervolumeguid(uuid) cascade;
 drop function if exists public.getorderedvmguidsforrunmultipleactions(character varying) cascade;
 drop function if exists public.getovfgeneration(uuid) cascade;
 drop function if exists public.getpermissionbyroleid(uuid) cascade;
 drop function if exists public.getpolicyunitbypolicyunitid(uuid) cascade;
 drop function if exists public.getproviderbyname(character varying) cascade;
 drop function if exists public.getproviderbyproviderid(uuid) cascade;
 drop function if exists public.getquotacount() cascade;
 drop function if exists public.getrepo_files_by_storage_domain(uuid, integer) cascade;
 drop function if exists public.getrepo_files_in_all_storage_pools(integer, integer, integer, integer) cascade;
 drop function if exists public.getroleactiongroupsbyroleid(uuid) cascade;
 drop function if exists public.getrolebyname(character varying) cascade;
 drop function if exists public.getrolsbyid(uuid) cascade;
 drop function if exists public.getsnapshotbysnapshotid(uuid, uuid, boolean) cascade;
 drop function if exists public.getsnapshotbyvmidandtype(uuid, character varying) cascade;
 drop function if exists public.getsnapshotbyvmidandtypeandstatus(uuid, character varying, character varying) cascade;
 drop function if exists public.getsnapshotidsbyvmidandtype(uuid, character varying) cascade;
 drop function if exists public.getsnapshotidsbyvmidandtypeandstatus(uuid, character varying, character varying) cascade;
 drop function if exists public.getstepbystepid(uuid) cascade;
 drop function if exists public.getstepsbyexternaltaskid(uuid) cascade;
 drop function if exists public.getstepsbyjobid(uuid) cascade;
 drop function if exists public.getstepsbyparentstepid(uuid) cascade;
 drop function if exists public.getstorage_domain_dynamicbyid(uuid) cascade;
 drop function if exists public.getstorage_domain_staticbyid(uuid) cascade;
 drop function if exists public.getstorage_domain_staticbyname(character varying) cascade;
 drop function if exists public.getstorage_domain_staticbystorage_pool_type(integer) cascade;
 drop function if exists public.getstorage_pool_iso_mapbystorage_idandbystorage_pool_id(uuid, uuid) cascade;
 drop function if exists public.getstorage_pool_iso_mapsbybystorage_pool_id(uuid, uuid) cascade;
 drop function if exists public.getstorage_pool_iso_mapsbystorage_id(uuid) cascade;
 drop function if exists public.getstorage_poolbyid(uuid, uuid, boolean) cascade;
 drop function if exists public.getstorage_poolbyname(character varying, boolean) cascade;
 drop function if exists public.getstorage_poolsbystoragedomainid(uuid) cascade;
 drop function if exists public.getstorage_poolsbytype(integer) cascade;
 drop function if exists public.getstorage_poolsbyvdsgroupid(uuid) cascade;
 drop function if exists public.getstorage_poolsbyvdsid(uuid) cascade;
 drop function if exists public.getstorage_server_connectionsbyconnection(character varying) cascade;
 drop function if exists public.getstorage_server_connectionsbyid(character varying) cascade;
 drop function if exists public.getstorage_server_connectionsbyiqn(character varying) cascade;
 drop function if exists public.getstorage_server_connectionsbyiqnandconnection(character varying, character varying) cascade;
 drop function if exists public.getstorage_server_connectionsbykey(character varying, character varying, character varying, character varying, character varying, character varying) cascade;
 drop function if exists public.getstorage_server_connectionsbylunid(character varying) cascade;
 drop function if exists public.getstorage_server_connectionsbystoragetype(integer) cascade;
 drop function if exists public.getstorage_server_connectionsbyvolumegroupid(character varying) cascade;
 drop function if exists public.getstoragedomainidsbystoragepoolidandstatus(uuid, integer) cascade;
 drop function if exists public.getstoragepoolsbyclusterservice(boolean, boolean) cascade;
 drop function if exists public.getstorageserverconnectionsfordomain(uuid) cascade;
 drop function if exists public.getsystem_statistics(character varying, character varying) cascade;
 drop function if exists public.gettags_vm_pool_mapbytag_idandbyvm_pool_id(uuid, uuid) cascade;
 drop function if exists public.gettagsbyparent_id(uuid) cascade;
 drop function if exists public.gettagsbytag_id(uuid) cascade;
 drop function if exists public.gettagsbytag_name(character varying) cascade;
 drop function if exists public.gettaguserbytagidandbyuserid(uuid, uuid) cascade;
 drop function if exists public.gettagusergroupbygroupidandbytagid(uuid, uuid) cascade;
 drop function if exists public.gettagvdsbytagidandbyvdsid(uuid, uuid) cascade;
 drop function if exists public.gettagvmbytagidandbyvmid(uuid, uuid) cascade;
 drop function if exists public.gettemplatecount() cascade;
 drop function if exists public.gettransporttypesbyglustervolumeguid(uuid) cascade;
 drop function if exists public.getuserandgroupsbyid(uuid) cascade;
 drop function if exists public.getuserbyexternalid(character varying, bytea) cascade;
 drop function if exists public.getuserbyuserid(uuid) cascade;
 drop function if exists public.getuserbyusername(character varying) cascade;
 drop function if exists public.getusersbyvmguid(uuid) cascade;
 drop function if exists public.getvdcoptionbyid(integer) cascade;
 drop function if exists public.getvdcoptionbyname(character varying, character varying) cascade;
 drop function if exists public.getvds_spm_id_mapbystorage_pool_id(uuid) cascade;
 drop function if exists public.getvds_spm_id_mapbystorage_pool_idandbyvds_spm_id(uuid, integer) cascade;
 drop function if exists public.getvds_spm_id_mapbyvds_id(uuid) cascade;
 drop function if exists public.getvdsdynamicbyvdsid(uuid) cascade;
 drop function if exists public.getvdsstaticbyhostname(character varying) cascade;
 drop function if exists public.getvdsstaticbyip(character varying) cascade;
 drop function if exists public.getvdsstaticbyvdsgroupid(uuid) cascade;
 drop function if exists public.getvdsstaticbyvdsid(uuid) cascade;
 drop function if exists public.getvdsstatisticsbyvdsid(uuid) cascade;
 drop function if exists public.getvm_interface_statisticsbyid(uuid) cascade;
 drop function if exists public.getvm_pool_mapbyvm_guid(uuid) cascade;
 drop function if exists public.getvm_pool_mapbyvm_pool_id(uuid) cascade;
 drop function if exists public.getvmdynamicbyvmguid(uuid) cascade;
 drop function if exists public.getvmguestagentinterfacesbyvmid(uuid, uuid, boolean) cascade;
 drop function if exists public.getvminterfacebytemplateid(uuid) cascade;
 drop function if exists public.getvminterfacebyvminterfaceid(uuid) cascade;
 drop function if exists public.getvminterfacesbynetworkid(uuid) cascade;
 drop function if exists public.getvminterfacesbyvmid(uuid) cascade;
 drop function if exists public.getvmmapsinvmpoolbyvmpoolidandstatus(uuid, integer) cascade;
 drop function if exists public.getvmsdynamicrunningonvds(uuid) cascade;
 drop function if exists public.getvmsidsforovfupdate(uuid) cascade;
 drop function if exists public.getvmstaticbygroupidandnetwork(uuid, character varying) cascade;
 drop function if exists public.getvmstaticbyname(character varying) cascade;
 drop function if exists public.getvmstaticbyvdsgroup(uuid) cascade;
 drop function if exists public.getvmstaticbyvmguid(uuid) cascade;
 drop function if exists public.getvmstaticwithfailbackbyvdsid(uuid) cascade;
 drop function if exists public.getvmstatisticsbyvmguid(uuid) cascade;
 drop function if exists public.getvmtemplateinterfacesbynetworkid(uuid) cascade;
 drop function if exists public.getvmtemplatesidsforovfupdate(uuid) cascade;
 drop function if exists public.getvnicprofilebyvnicprofileid(uuid) cascade;
 drop function if exists public.getvnicprofilesbynetworkid(uuid) cascade;
 drop function if exists public.increasestoragepoolmasterversion(uuid) cascade;
 drop function if exists public.incrementdbgeneration(uuid) cascade;
 drop function if exists public.incrementdbgenerationforallinstoragepool(uuid) cascade;
 drop function if exists public.insert_entity_snapshot(uuid, uuid, character varying, character varying, character varying, text, character varying, integer, integer) cascade;
 drop function if exists public.insert_osinfo(integer, character varying) cascade;
 drop function if exists public.insert_roles_groups(integer, uuid) cascade;
 drop function if exists public.insertaction_version_map(integer, character varying, character varying) cascade;
 drop function if exists public.insertaffinitygroupwithmembers(uuid, character varying, character varying, uuid, boolean, boolean, character varying) cascade;
 drop function if exists public.insertasync_tasks(integer, integer, integer, uuid, uuid, text, character varying, text, character varying, uuid, uuid, uuid, timestamp with time zone, uuid, integer) cascade;
 drop function if exists public.insertasynctaskentities(uuid, uuid, character varying) cascade;
 drop function if exists public.insertauditlog(integer, timestamp with time zone, integer, character varying, integer, text, uuid, character varying, uuid, character varying, uuid, character varying, uuid, character varying, uuid, character varying, uuid, character varying, uuid, character varying, uuid, character varying, character varying, uuid, uuid, character varying, text) cascade;
 drop function if exists public.insertbasedisk(uuid, character varying, boolean, character varying, character varying, character varying, boolean, boolean, integer, smallint, timestamp with time zone) cascade;
 drop function if exists public.insertbookmark(uuid, character varying, character varying) cascade;
 drop function if exists public.insertclusterpolicy(uuid, character varying, character varying, boolean, boolean, text) cascade;
 drop function if exists public.insertclusterpolicyunit(uuid, uuid, integer, integer) cascade;
 drop function if exists public.insertcustom_actions(integer, character varying, character varying, integer, character varying) cascade;
 drop function if exists public.insertdisk_image_dynamic(uuid, integer, integer, bigint, numeric, numeric, numeric) cascade;
 drop function if exists public.insertdisklunmap(uuid, character varying) cascade;
 drop function if exists public.insertevent_notification_hist(bigint, character varying, character, character, timestamp with time zone, boolean, character varying) cascade;
 drop function if exists public.insertevent_subscriber(character varying, integer, character varying, uuid, character varying) cascade;
 drop function if exists public.insertexternalauditlog(integer, timestamp with time zone, integer, character varying, integer, text, uuid, character varying, uuid, character varying, uuid, character varying, uuid, character varying, uuid, character varying, uuid, character varying, uuid, character varying, uuid, character varying, character varying, uuid, uuid, character varying, text, character varying, integer, integer, text) cascade;
 drop function if exists public.insertglusterclusterservice(uuid, character varying, character varying) cascade;
 drop function if exists public.insertglusterhook(uuid, uuid, character varying, character varying, character varying, character varying, character varying, character varying, text, integer) cascade;
 drop function if exists public.insertglusterserver(uuid, uuid) cascade;
 drop function if exists public.insertglusterserverhook(uuid, uuid, character varying, character varying, character varying) cascade;
 drop function if exists public.insertglusterserverservice(uuid, uuid, uuid, integer, character varying, character varying) cascade;
 drop function if exists public.insertglustervolume(uuid, uuid, character varying, character varying, character varying, integer, integer) cascade;
 drop function if exists public.insertglustervolumeaccessprotocol(uuid, character varying) cascade;
 drop function if exists public.insertglustervolumebrick(uuid, uuid, uuid, character varying, integer, character varying) cascade;
 drop function if exists public.insertglustervolumeoption(uuid, uuid, character varying, character varying) cascade;
 drop function if exists public.insertglustervolumetransporttype(uuid, character varying) cascade;
 drop function if exists public.insertgroup(uuid, character varying, boolean, character varying, character varying, bytea) cascade;
 drop function if exists public.insertimage(timestamp with time zone, uuid, uuid, bigint, uuid, integer, timestamp with time zone, uuid, integer, integer, uuid, boolean) cascade;
 drop function if exists public.insertimage_storage_domain_map(uuid, uuid, uuid) cascade;
 drop function if exists public.insertjob(uuid, character varying, text, character varying, uuid, boolean, timestamp with time zone, timestamp with time zone, timestamp with time zone, character varying, boolean, boolean) cascade;
 drop function if exists public.insertjobsubjectentity(uuid, uuid, character varying) cascade;
 drop function if exists public.insertlun_storage_server_connection_map(character varying, character varying) cascade;
 drop function if exists public.insertluns(character varying, character varying, character varying, character varying, integer, character varying, character varying, integer) cascade;
 drop function if exists public.insertnetwork(character varying, character varying, text, uuid, character varying, character varying, character varying, integer, integer, boolean, uuid, integer, boolean, uuid, text, uuid, text) cascade;
 drop function if exists public.insertnetwork_cluster(uuid, uuid, integer, boolean, boolean, boolean) cascade;
 drop function if exists public.insertnetworkqos(uuid, character varying, uuid, integer, integer, integer, integer, integer, integer) cascade;
 drop function if exists public.insertorupdateasynctasks(integer, integer, integer, uuid, uuid, text, character varying, text, character varying, uuid, uuid, uuid, timestamp with time zone, uuid, integer) cascade;
 drop function if exists public.insertpermission(uuid, uuid, uuid, uuid, integer) cascade;
 drop function if exists public.insertpolicyunit(uuid, character varying, text, boolean, smallint, text, boolean) cascade;
 drop function if exists public.insertprovider(uuid, character varying, character varying, character varying, character varying, boolean, character varying, text, text, character varying, character varying, text) cascade;
 drop function if exists public.insertquota(uuid, uuid, character varying, character varying, integer, integer, integer, integer) cascade;
 drop function if exists public.insertquotalimitation(uuid, uuid, uuid, uuid, integer, bigint, bigint) cascade;
 drop function if exists public.insertrepo_domain_file_meta_data(uuid, character varying, character varying, bigint, timestamp with time zone, bigint, integer) cascade;
 drop function if exists public.insertrole(character varying, uuid, character varying, boolean, integer, boolean, integer) cascade;
 drop function if exists public.insertsnapshot(uuid, uuid, character varying, character varying, character varying, timestamp with time zone, text, text, character varying) cascade;
 drop function if exists public.insertstep(uuid, uuid, uuid, character varying, text, integer, character varying, timestamp with time zone, timestamp with time zone, character varying, uuid, character varying, boolean) cascade;
 drop function if exists public.insertstorage_domain_dynamic(integer, uuid, integer) cascade;
 drop function if exists public.insertstorage_domain_static(uuid, character varying, character varying, character varying, text, integer, integer, character varying, bigint) cascade;
 drop function if exists public.insertstorage_pool(character varying, text, uuid, character varying, integer, integer, integer, uuid, character varying, integer) cascade;
 drop function if exists public.insertstorage_pool_iso_map(uuid, uuid, integer) cascade;
 drop function if exists public.insertstorage_server_connections(character varying, character varying, character varying, character varying, character varying, text, integer, character varying, character varying, character varying, character varying, smallint, smallint) cascade;
 drop function if exists public.inserttags(character varying, uuid, character varying, uuid, boolean, integer) cascade;
 drop function if exists public.inserttags_user_group_map(uuid, uuid) cascade;
 drop function if exists public.inserttags_user_map(uuid, uuid) cascade;
 drop function if exists public.inserttags_vds_map(uuid, uuid) cascade;
 drop function if exists public.inserttags_vm_map(uuid, uuid, integer) cascade;
 drop function if exists public.inserttags_vm_pool_map(uuid, uuid) cascade;
 drop function if exists public.insertuser(character varying, character varying, character varying, character varying, character varying, character varying, character varying, boolean, character varying, uuid, character varying, character varying, bytea) cascade;
 drop function if exists public.insertvdcoption(character varying, character varying, character varying, integer) cascade;
 drop function if exists public.insertvds_interface(character varying, character varying, integer, character varying, uuid, boolean, character varying, character varying, character varying, character varying, integer, character varying, integer, integer, uuid, integer, integer, boolean, boolean, text) cascade;
 drop function if exists public.insertvds_interface_statistics(uuid, numeric, numeric, numeric, numeric, integer, uuid) cascade;
 drop function if exists public.insertvds_spm_id_map(uuid, uuid, integer) cascade;
 drop function if exists public.insertvdsdynamic(integer, integer, character varying, numeric, character varying, boolean, integer, integer, integer, uuid, integer, integer, integer, integer, integer, integer, character varying, character varying, character varying, character varying, integer, character varying, timestamp with time zone, integer, integer, integer, boolean, character varying, character varying, character varying, character varying, character varying, character varying, character varying, character varying, character varying, integer, character varying, character varying, character varying, character varying, character varying, character varying, character varying, character varying, character varying, boolean) cascade;
 drop function if exists public.insertvdsgroups(uuid, character varying, text, character varying, character varying, uuid, integer, boolean, character varying, boolean, integer, boolean, boolean, boolean, character varying, boolean, boolean, boolean, uuid, text, boolean, integer, smallint, character varying) cascade;
 drop function if exists public.insertvdsstatic(text, uuid, character varying, character varying, character varying, integer, uuid, character varying, boolean, integer, integer, character varying, character varying, character varying, integer, character varying, boolean, character varying, character varying, character varying, character varying, text, integer, character varying, boolean, integer, character varying, character varying, integer, character varying, boolean) cascade;
 drop function if exists public.insertvdsstatistics(numeric, numeric, numeric, numeric, integer, integer, integer, uuid, bigint, bigint, bigint, bigint, bigint, integer, bigint, boolean, integer, integer) cascade;
 drop function if exists public.insertvm_interface_statistics(uuid, numeric, numeric, numeric, numeric, integer, uuid) cascade;
 drop function if exists public.insertvm_pool_map(uuid, uuid) cascade;
 drop function if exists public.insertvm_pools(character varying, text, uuid, character varying, integer, character varying, integer, uuid, smallint, character varying) cascade;
 drop function if exists public.insertvmdevice(uuid, uuid, character varying, character varying, character varying, integer, text, boolean, boolean, boolean, character varying, text, uuid) cascade;
 drop function if exists public.insertvmdynamic(character varying, character varying, character varying, timestamp with time zone, timestamp with time zone, uuid, character varying, uuid, uuid, integer, uuid, character varying, character varying, character varying, timestamp with time zone, timestamp with time zone, integer, integer, boolean, integer, character varying, integer, boolean, integer, integer, integer, uuid, character varying, integer, character varying, integer, integer, character varying, integer, numeric, character varying, boolean, character varying) cascade;
 drop function if exists public.insertvmguestagentinterface(uuid, character varying, character varying, text, text) cascade;
 drop function if exists public.insertvminterface(uuid, character varying, character varying, integer, uuid, uuid, uuid, integer, boolean) cascade;
 drop function if exists public.insertvmstatic(character varying, text, integer, integer, uuid, uuid, character varying, uuid, character varying, timestamp with time zone, integer, boolean, boolean, boolean, integer, integer, integer, character varying, boolean, boolean, boolean, boolean, character varying, uuid, boolean, integer, integer, integer, integer, integer, integer, character varying, integer, character varying, character varying, character varying, integer, character varying, character varying, integer, uuid, character varying, boolean, boolean, character varying, boolean, uuid, uuid, uuid, uuid, character varying) cascade;
 drop function if exists public.insertvmstatistics(numeric, numeric, numeric, integer, integer, integer, text, uuid) cascade;
 drop function if exists public.insertvmtemplate(integer, timestamp with time zone, character varying, text, integer, character varying, integer, integer, integer, uuid, uuid, character varying, integer, boolean, boolean, integer, integer, character varying, boolean, integer, integer, integer, integer, integer, integer, boolean, boolean, boolean, boolean, character varying, boolean, character varying, integer, character varying, character varying, character varying, uuid, integer, uuid, boolean, character varying, integer, boolean, uuid, character varying) cascade;
 drop function if exists public.insertvnicprofile(uuid, character varying, uuid, uuid, boolean, text, text) cascade;
 drop function if exists public.inst_add_iso_storage_domain(uuid, character varying, uuid, character varying, integer, integer) cascade;
 drop function if exists public.inst_update_default_storage_pool_type(integer) cascade;
 drop function if exists public.inst_update_service_type(uuid, boolean, boolean) cascade;
 drop function if exists public.ismaterializedviewrefreshed(name) cascade;
 drop function if exists public.ismemballoonenabled(uuid) cascade;
 drop function if exists public.isquotainuse(uuid) cascade;
 drop function if exists public.refreshallmaterializedviews(boolean) cascade;
 drop function if exists public.refreshmaterializedview(name) cascade;
 drop function if exists public.removeallvmtagsbyvmid(uuid) cascade;
 drop function if exists public.removememoryfromsnapshotbysnapshotid(uuid) cascade;
 drop function if exists public.removememoryfromsnapshotbyvmidandtype(uuid, character varying) cascade;
 drop function if exists public.removevmfromaffinitygroups(uuid) cascade;
 drop function if exists public.set_network_exclusively_as_display(uuid, uuid) cascade;
 drop function if exists public.set_network_exclusively_as_migration(uuid, uuid) cascade;
 drop function if exists public.to_interval(integer) cascade;
 drop function if exists public.updateaffinitygroupwithmembers(uuid, character varying, character varying, uuid, boolean, boolean, character varying) cascade;
 drop function if exists public.updateasync_tasks(integer, integer, integer, uuid, uuid, text, character varying, text, character varying, uuid, uuid, uuid, uuid) cascade;
 drop function if exists public.updatebasedisk(uuid, character varying, boolean, character varying, character varying, character varying, boolean, boolean, integer, smallint, timestamp with time zone) cascade;
 drop function if exists public.updatebookmark(uuid, character varying, character varying) cascade;
 drop function if exists public.updateclusterpolicy(uuid, character varying, character varying, boolean, boolean, text) cascade;
 drop function if exists public.updateconsoleuserwithoptimisticlocking(uuid, uuid, character varying, character varying) cascade;
 drop function if exists public.updatecustom_actions(integer, character varying, character varying, integer, character varying) cascade;
 drop function if exists public.updatedisk_image_dynamic(uuid, integer, integer, bigint, numeric, numeric, numeric) cascade;
 drop function if exists public.updatedwhhistorytimekeeping(character varying, character varying, timestamp with time zone) cascade;
 drop function if exists public.updateevent_subscriber(character varying, integer, integer, uuid) cascade;
 drop function if exists public.updateglusterbricktaskbyserveridbrickdir(uuid, character varying, uuid) cascade;
 drop function if exists public.updateglusterclusterservice(uuid, character varying, character varying) cascade;
 drop function if exists public.updateglusterhook(uuid, character varying, character varying, character varying, text, integer) cascade;
 drop function if exists public.updateglusterhookconflictstatus(uuid, integer) cascade;
 drop function if exists public.updateglusterhookcontent(uuid, character varying, text) cascade;
 drop function if exists public.updateglusterhookcontenttype(uuid, character varying) cascade;
 drop function if exists public.updateglusterhookstatus(uuid, character varying) cascade;
 drop function if exists public.updateglusterserver(uuid, uuid) cascade;
 drop function if exists public.updateglusterserverhook(uuid, uuid, character varying, character varying, character varying) cascade;
 drop function if exists public.updateglusterserverhookchecksum(uuid, uuid, character varying) cascade;
 drop function if exists public.updateglusterserverhookstatus(uuid, uuid, character varying) cascade;
 drop function if exists public.updateglusterserverservice(uuid, integer, character varying, character varying) cascade;
 drop function if exists public.updateglusterserverservicebyserveridandservicetype(uuid, uuid, integer, character varying, character varying) cascade;
 drop function if exists public.updateglustervolume(uuid, uuid, character varying, character varying, character varying, integer, integer) cascade;
 drop function if exists public.updateglustervolumeasynctask(uuid, uuid) cascade;
 drop function if exists public.updateglustervolumebrick(uuid, uuid, uuid, character varying, character varying) cascade;
 drop function if exists public.updateglustervolumebrickasynctask(uuid, uuid) cascade;
 drop function if exists public.updateglustervolumebrickorder(uuid, integer) cascade;
 drop function if exists public.updateglustervolumebrickstatus(uuid, character varying) cascade;
 drop function if exists public.updateglustervolumeoption(uuid, character varying) cascade;
 drop function if exists public.updateglustervolumestatus(uuid, character varying) cascade;
 drop function if exists public.updateglustervolumestatusbyname(uuid, character varying, character varying) cascade;
 drop function if exists public.updategroup(uuid, character varying, boolean, character varying, character varying, bytea) cascade;
 drop function if exists public.updateimage(timestamp with time zone, uuid, uuid, bigint, uuid, integer, timestamp with time zone, uuid, integer, integer, uuid, boolean) cascade;
 drop function if exists public.updateimagesize(uuid, bigint, timestamp with time zone) cascade;
 drop function if exists public.updateimagestatus(uuid, integer) cascade;
 drop function if exists public.updateimagevmsnapshotid(uuid, uuid) cascade;
 drop function if exists public.updateisinitialized(uuid, boolean) cascade;
 drop function if exists public.updatejob(uuid, character varying, text, character varying, uuid, boolean, timestamp with time zone, timestamp with time zone, timestamp with time zone, character varying) cascade;
 drop function if exists public.updatejoblastupdatetime(uuid, timestamp with time zone) cascade;
 drop function if exists public.updatejobstepscompleted(uuid, character varying, timestamp with time zone) cascade;
 drop function if exists public.updatelastadmincheckstatus(character varying) cascade;
 drop function if exists public.updatelun_storage_server_connection_map(character varying, character varying) cascade;
 drop function if exists public.updatelunsdevicesize(character varying, integer) cascade;
 drop function if exists public.updatelunsvolumegroupid(character varying, character varying) cascade;
 drop function if exists public.updatematerializedviewminrefreshrate(name, integer) cascade;
 drop function if exists public.updatematerializedviewrefreshrate(name, integer) cascade;
 drop function if exists public.updatenetwork(character varying, character varying, text, uuid, character varying, character varying, character varying, integer, integer, boolean, uuid, integer, boolean, uuid, text, uuid, text) cascade;
 drop function if exists public.updatenetwork_cluster(uuid, uuid, integer, boolean, boolean, boolean) cascade;
 drop function if exists public.updatenetwork_cluster_status(uuid, uuid, integer) cascade;
 drop function if exists public.updatenetworkqos(uuid, character varying, uuid, integer, integer, integer, integer, integer, integer) cascade;
 drop function if exists public.updateoriginaltemplatename(uuid, character varying) cascade;
 drop function if exists public.updateovfgenerations(character varying, character varying) cascade;
 drop function if exists public.updatepartialvdsdynamiccalc(uuid, integer, integer, integer, integer, integer) cascade;
 drop function if exists public.updatepolicyunit(uuid, boolean, text, text) cascade;
 drop function if exists public.updateprovider(uuid, character varying, character varying, character varying, character varying, boolean, character varying, text, text, character varying, character varying, text) cascade;
 drop function if exists public.updatequotaforimageandsnapshots(uuid, uuid, uuid) cascade;
 drop function if exists public.updatequotametadata(uuid, uuid, character varying, character varying, integer, integer, integer, integer) cascade;
 drop function if exists public.updatereplicacount(uuid, integer) cascade;
 drop function if exists public.updaterole(character varying, uuid, character varying, boolean, integer, boolean) cascade;
 drop function if exists public.updatesnapshot(uuid, uuid, character varying, character varying, character varying, timestamp with time zone, text, text, character varying) cascade;
 drop function if exists public.updatesnapshotid(uuid, uuid) cascade;
 drop function if exists public.updatesnapshotstatus(uuid, character varying) cascade;
 drop function if exists public.updatestartedexecutionentitiestounknown(timestamp with time zone) cascade;
 drop function if exists public.updatestatusofimagesbyimagegroupid(uuid, integer) cascade;
 drop function if exists public.updatestep(uuid, uuid, uuid, character varying, text, integer, character varying, timestamp with time zone, timestamp with time zone, character varying, uuid, character varying) cascade;
 drop function if exists public.updatestepexternalidandtype(uuid, uuid, character varying) cascade;
 drop function if exists public.updatestepstatusandendtime(uuid, character varying, timestamp with time zone) cascade;
 drop function if exists public.updatestorage_domain_dynamic(integer, uuid, integer) cascade;
 drop function if exists public.updatestorage_domain_static(uuid, character varying, character varying, character varying, text, integer, integer, integer, bigint) cascade;
 drop function if exists public.updatestorage_pool(character varying, text, uuid, character varying, integer, integer, character varying, integer, uuid, character varying, integer) cascade;
 drop function if exists public.updatestorage_pool_iso_map_status(uuid, uuid, integer) cascade;
 drop function if exists public.updatestorage_pool_partial(character varying, text, uuid, character varying, integer, character varying, character varying, integer) cascade;
 drop function if exists public.updatestorage_pool_status(uuid, integer) cascade;
 drop function if exists public.updatestorage_server_connections(character varying, character varying, character varying, text, integer, character varying, character varying, character varying, character varying, character varying, character varying, smallint, smallint) cascade;
 drop function if exists public.updatetags(character varying, uuid, character varying, uuid, boolean, integer) cascade;
 drop function if exists public.updatetags_vm_pool_map(integer, integer) cascade;
 drop function if exists public.updateuser(character varying, character varying, character varying, character varying, character varying, character varying, character varying, boolean, character varying, uuid, character varying, boolean, character varying, bytea) cascade;
 drop function if exists public.updatevdcoption(character varying, character varying, integer, character varying) cascade;
 drop function if exists public.updatevds_interface(character varying, character varying, integer, character varying, uuid, boolean, character varying, character varying, character varying, character varying, integer, character varying, integer, integer, uuid, integer, integer, boolean, boolean, text) cascade;
 drop function if exists public.updatevds_interface_statistics(uuid, numeric, numeric, numeric, numeric, integer, uuid) cascade;
 drop function if exists public.updatevdsdynamic(integer, integer, character varying, numeric, character varying, boolean, integer, integer, integer, uuid, integer, integer, integer, integer, integer, integer, character varying, character varying, character varying, character varying, integer, character varying, timestamp with time zone, integer, integer, integer, boolean, character varying, character varying, character varying, character varying, character varying, character varying, character varying, character varying, character varying, integer, character varying, integer, character varying, character varying, character varying, character varying, character varying, character varying, character varying, character varying) cascade;
 drop function if exists public.updatevdsdynamicnetconfigdirty(uuid, boolean) cascade;
 drop function if exists public.updatevdsdynamicpowermanagementpolicyflag(uuid, boolean) cascade;
 drop function if exists public.updatevdsdynamicstatus(uuid, integer) cascade;
 drop function if exists public.updatevdsgroup(character varying, text, character varying, uuid, character varying, uuid, integer, boolean, character varying, boolean, integer, boolean, boolean, boolean, character varying, boolean, boolean, boolean, uuid, text, boolean, integer, smallint, character varying) cascade;
 drop function if exists public.updatevdsgroupemulatedmachine(uuid, character varying, boolean) cascade;
 drop function if exists public.updatevdsstatic(character varying, text, character varying, character varying, integer, uuid, uuid, character varying, boolean, integer, integer, character varying, character varying, character varying, integer, character varying, boolean, character varying, character varying, character varying, character varying, text, integer, character varying, boolean, bigint, integer, character varying, character varying, integer, character varying, boolean) cascade;
 drop function if exists public.updatevdsstatistics(numeric, numeric, numeric, numeric, integer, integer, integer, uuid, bigint, bigint, bigint, bigint, bigint, integer, bigint, boolean, integer, integer) cascade;
 drop function if exists public.updatevm_interface_statistics(uuid, numeric, numeric, numeric, numeric, integer, uuid) cascade;
 drop function if exists public.updatevm_pool_map(uuid, uuid) cascade;
 drop function if exists public.updatevm_pools(character varying, text, uuid, character varying, integer, character varying, integer, uuid, smallint, character varying) cascade;
 drop function if exists public.updatevmdevice(uuid, uuid, character varying, character varying, character varying, integer, text, boolean, boolean, boolean, character varying, text, uuid) cascade;
 drop function if exists public.updatevmdevicebootorder(uuid, uuid, integer) cascade;
 drop function if exists public.updatevmdeviceforhotplugdisk(uuid, uuid, boolean) cascade;
 drop function if exists public.updatevmdeviceruntimeinfo(uuid, uuid, character varying, character varying) cascade;
 drop function if exists public.updatevmdynamic(character varying, character varying, character varying, timestamp with time zone, timestamp with time zone, uuid, character varying, uuid, uuid, integer, uuid, character varying, character varying, character varying, timestamp with time zone, timestamp with time zone, integer, integer, boolean, integer, character varying, integer, boolean, integer, integer, integer, uuid, character varying, integer, character varying, integer, integer, character varying, character varying, integer, numeric, character varying, boolean, character varying) cascade;
 drop function if exists public.updatevmdynamicstatus(uuid, integer) cascade;
 drop function if exists public.updatevminterface(uuid, character varying, character varying, integer, uuid, uuid, uuid, integer, boolean) cascade;
 drop function if exists public.updatevmstatic(character varying, text, integer, integer, uuid, uuid, character varying, uuid, character varying, timestamp with time zone, integer, boolean, boolean, boolean, integer, integer, integer, character varying, boolean, boolean, boolean, boolean, character varying, uuid, boolean, integer, integer, integer, integer, integer, integer, character varying, integer, character varying, character varying, character varying, integer, character varying, character varying, integer, uuid, character varying, boolean, boolean, character varying, boolean, uuid, uuid, uuid, uuid, character varying) cascade;
 drop function if exists public.updatevmstatistics(numeric, numeric, numeric, integer, integer, integer, text, uuid) cascade;
 drop function if exists public.updatevmtagsdefaultdisplaytype(uuid, uuid, integer) cascade;
 drop function if exists public.updatevmtemplate(integer, timestamp with time zone, character varying, text, integer, character varying, integer, integer, integer, uuid, uuid, character varying, integer, boolean, boolean, integer, integer, character varying, boolean, integer, integer, integer, integer, integer, integer, boolean, boolean, boolean, boolean, character varying, boolean, character varying, integer, character varying, character varying, character varying, uuid, integer, uuid, boolean, character varying, integer, boolean, uuid, character varying) cascade;
 drop function if exists public.updatevmtemplatestatus(uuid, integer) cascade;
 drop function if exists public.updatevnicprofile(uuid, character varying, uuid, uuid, boolean, text, text) cascade;
 drop function if exists public.uuid_generate_v1() cascade;

********* QUERY **********
drop function if exists public.activateallmaterializedviews(boolean) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.activatematerializedview(name, boolean) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.attach_user_to_su_role(uuid, character varying, character varying, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.attach_user_to_su_role(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.calculateallstorageusage() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.calculateallvdsgroupusage() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.calculatestorageusage(uuid, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.calculatevdsgroupusage(uuid, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.checkdbconnection() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.checkifjobhastasks(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.checkifsnapshotexistsbyvmidandsnapshotid(uuid, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.checkifsnapshotexistsbyvmidandstatus(uuid, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.checkifsnapshotexistsbyvmidandtype(uuid, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.clear_osinfo() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.clearvmdeviceaddress(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.createallmaterializedviewsiindexes() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.createcustommaterializedview(name, name, integer, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.createcustommaterializedview(name, name, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.createcustommaterializedviewas(name, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.createcustommaterializedviewas(name, integer, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.creatematerializedview(name, name, integer, boolean, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.creatematerializedview(name, name, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.creatematerializedview(name, name, integer, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.creatematerializedviewas(name, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.creatematerializedviewas(name, integer, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.creatematerializedviewas(name, integer, boolean, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.delete_entity_snapshot_by_command_id(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.delete_roles_groups(integer, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleteaction_version_map(integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleteaffinitygroup(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleteallentitysnapshot() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleteallglusterhooks(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletealljobs() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleteasync_tasks(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleteasynctaskbycommandid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleteasynctasksbyvdsmtaskid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleteasynctaskszombies() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleteasynctaskzombiesbycommandid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleteasynctaskzombiesbytaskid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleteauditalertlogbyvdsidandtype(uuid, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleteauditlog(integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleteauditlogalertsbyvdsid(uuid, boolean) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleteauditlogolderthendate(timestamp with time zone) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletebasedisk(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletebookmark(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletebypoolvds_spm_id_map(uuid, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleteclusterpolicy(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleteclusterpolicyunitsbyclusterpolicyid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletecompletedjobsolderthandate(timestamp with time zone, timestamp with time zone) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletecustom_actions(integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletedisk_image_dynamic(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletedisklunmap(uuid, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleteentitysnapshotbytaskid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleteentitysnapshotbyzombietaskid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleteentitysnapshotzombies() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleteevent_notification_hist(timestamp without time zone) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleteevent_subscriber(character varying, integer, uuid, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleteglusterhook(uuid, character varying, character varying, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleteglusterhookbyid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleteglusterhooksbyids(text) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleteglusterserver(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleteglusterserverbyglusterserveruuid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleteglusterserverhook(uuid, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleteglusterserverhookbyid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleteglusterserverhooksbyids(text) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleteglusterserverservice(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleteglustervolumeaccessprotocol(uuid, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleteglustervolumebrick(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleteglustervolumebricks(character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleteglustervolumebyguid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleteglustervolumebyname(uuid, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleteglustervolumeoption(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleteglustervolumeoptions(character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleteglustervolumesbyclusterid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleteglustervolumesbyguids(character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleteglustervolumetransporttype(uuid, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletegroup(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleteimage(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleteimage_storage_domain_map(uuid, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleteimage_storage_domain_map_by_image_id(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletejob(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletejobolderthandatewithstatus(timestamp with time zone, text) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletejobstepsbycommandid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletejobstepsbytaskid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletejobstepsbyzombiecommandid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletejobstepszombies() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletelun(character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletelun_storage_server_connection_map(character varying, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletenetwork(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletenetwork_cluster(uuid, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletenetworkqos(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleteovfgenerations(character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletepermission(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletepermissionsbyentityid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletepolicyunit(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleteprovider(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletequotabyquotaguid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletequotalimitationbyquotaguid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleterepo_domain_file_list(uuid, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleterole(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletesnapshot(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletestep(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletestorage_domain_dynamic(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletestorage_domain_static(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletestorage_pool(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletestorage_pool_iso_map(uuid, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletestorage_server_connections(character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletetags(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletetags_user_group_map(uuid, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletetags_user_map(uuid, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletetags_vds_map(uuid, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletetags_vm_map(uuid, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletetags_vm_pool_map(uuid, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deleteuser(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletevdcoption(integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletevds(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletevds_interface(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletevds_interface_statistics(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletevds_spm_id_map(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletevdsdynamic(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletevdsgroup(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletevdsstatic(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletevdsstatistics(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletevm(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletevm_interface_statistics(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletevm_pool_map(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletevm_pools(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletevmdevice(uuid, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletevmdynamic(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletevmguestagentinterfacesbyvmid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletevminterface(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletevmstatic(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletevmstatistics(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletevmtemplates(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.deletevnicprofile(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.dropallcustommaterializedviews() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.dropallmaterializedviews() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.dropmaterializedview(name) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.fn_db_add_action_group_to_role(uuid, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.fn_db_add_column(character varying, character varying, text) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.fn_db_add_column_to_object_white_list(character varying, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.fn_db_add_config_value(character varying, character varying, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.fn_db_change_column_type(character varying, character varying, character varying, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.fn_db_create_constraint(character varying, character varying, text) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.fn_db_delete_config_for_version(text) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.fn_db_delete_config_value(character varying, text) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.fn_db_delete_config_value_all_versions(character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.fn_db_delete_version_map(character varying, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.fn_db_drop_column(character varying, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.fn_db_drop_constraint(character varying, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.fn_db_get_async_tasks() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.fn_db_grant_action_group_to_all_roles_filter(integer, uuid[]) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.fn_db_mask_object(regclass) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.fn_db_rename_column(character varying, character varying, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.fn_db_rename_config_key(character varying, character varying, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.fn_db_split_config_value(character varying, character varying, character varying, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.fn_db_unlock_disk(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.fn_db_unlock_entity(character varying, character varying, boolean) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.fn_db_unlock_snapshot(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.fn_db_update_config_value(character varying, character varying, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.fn_db_update_default_config_value(character varying, character varying, character varying, character varying, boolean) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.fn_db_validate_fks(boolean, boolean) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.fn_get_actual_images_size_by_storage(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.fn_get_ad_element_name(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.fn_get_column_size(character varying, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.fn_get_comparable_ip_list(text) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.fn_get_disk_commited_value_by_storage(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.fn_get_entity_name(uuid, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.fn_get_entity_parents(uuid, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.fn_get_storage_domain_shared_status_by_domain_id(uuid, integer, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.fn_perms_get_storage_pools_with_permitted_action_on_vds_groups(uuid, integer, boolean, boolean) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.fn_user_permissions(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.fnsplitter(text) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.fnsplitteruuid(text) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.force_delete_storage_domain(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.generate_drop_all_functions_syntax() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.generate_drop_all_seq_syntax() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.generate_drop_all_tables_syntax() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.generate_drop_all_user_types_syntax() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.generate_drop_all_views_syntax() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.get_all_commands() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.get_entity_permissions(uuid, integer, uuid, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.get_entity_permissions_for_user_and_groups(uuid, text, integer, uuid, integer, boolean) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.get_entity_snapshot_by_command_id(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.get_entity_snapshot_by_id(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.get_role_groups_by_role_id(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.get_roles_groups_by_action_group_id_and_by_role_id(integer, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.get_seconds_to_wait_before_pm_operation(character varying, character varying, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getaccessprotocolsbyglustervolumeguid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getaction_version_mapbyaction_type(integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallbystatus(integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallconnectablestorageseverconnection(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfromaction_version_map() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfromasync_tasks() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfromauditlog(uuid, boolean) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfrombasedisks() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfrombookmarks() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfromclusterpolicys() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfromclusterpolicyunits() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfromcustom_actions() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfromdisk_image_dynamic() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfromdisklunmaps() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfromevent_notification_hist() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfromglusterservices() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfromimages() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfromlun_storage_server_connection_map() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfromnetwork(uuid, boolean) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfromnetwork_cluster() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfromnetwork_clusterbyclusterid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfromnetwork_clusterbynetworkid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfromnetworkqoss() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfrompolicyunits() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfromproviders() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfromprovidersbytype(character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfromrole(integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfromsnapshots() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfromsnapshotsbyvmid(uuid, uuid, boolean, boolean) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfromstorage_domain_dynamic() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfromstorage_domain_static() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfromstorage_pool(uuid, boolean) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfromstorage_pool_iso_map() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfromtags() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfromtags_user_group_map() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfromtags_user_map() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfromtags_vds_map() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfromtags_vm_map() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfromtags_vm_pool_map() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfromusers(uuid, boolean) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfromvdcoption() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfromvds_spm_id_map() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfromvdsdynamic() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfromvdsstatic() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfromvdsstatistics() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfromvm_pool_map() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfromvm_pools() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfromvmdynamic() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfromvminterfaces() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfromvmstatic() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfromvmstaticbystoragepoolid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfromvmstatistics() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallfromvnicprofiles() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallgroups() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getalljobidsbyentityid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getalljobs() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallnetworkbyclusterid(uuid, uuid, boolean) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallnetworkbystoragepoolid(uuid, uuid, boolean) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallnetworklabelsbydatacenterid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallnetworkqosforstoragepool(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallnetworksbynetworkproviderid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallrolesbyuseridandgroupids(uuid, text, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallsteps() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getallstorage_server_connections() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getasync_tasksbytask_id(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getasynctaskentitiesbytaskid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getasynctasksbyentityid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getasynctasksbystoragepoolid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getasynctasksbyvdsmtaskid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getasynctasksidsbyentityid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getasynctaskszombies() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getauditlogbyauditlogid(integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getauditlogbyoriginandcustomeventid(character varying, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getauditlogbyvmid(uuid, uuid, boolean) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getauditlogbyvmtemplateid(uuid, uuid, boolean) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getauditloglaterthendate(timestamp with time zone) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getbasediskbybasediskid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getbookmarkbybookmark_id(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getbookmarkbybookmark_name(character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getclusterpolicybyclusterpolicyid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getclusterpolicyunitsbyclusterpolicyid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getcustom_actionsbyaction_id(integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getcustom_actionsbynameandtab(character varying, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getcustom_actionsbytab_id(integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getdbgeneration(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getdcidbyexternalnetworkid(text) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getdisk_image_dynamicbyimage_id(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getdisklunmapbydisklunmapid(uuid, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getdisklunmapbylunid(character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getdisksvmguidbasicview(uuid, boolean, uuid, boolean) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getdwhhistorytimekeepingbyvarname(character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getelementidsbyidandgroups(uuid, text) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getevent_subscriberbysubscriber_id(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.geteventmapbyname(character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.geteventnotificationmethodbyid(integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getexternalidsfromsteps(character varying, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getglobalids(character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getglusterclusterservicesbyclusterid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getglusterclusterservicesbyclusteridandservicetype(uuid, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getglusterhook(uuid, character varying, character varying, character varying, boolean) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getglusterhookbyid(uuid, boolean) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getglusterhookcontentbyid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getglusterhooksbyclusterid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getglusteroptionbyid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getglusterserverbyglusterserveruuid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getglusterserverbyserverid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getglusterservicebyglusterserviceid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getglusterservicebytypeandname(character varying, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getglusterservicesbytype(character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getglusterservicetypes() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getgroupbyexternalid(character varying, bytea) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getgroupbyid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getgroupbyname(character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.gethostnetworksbycluster(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getidsforovfdeletion(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getimage_storage_domain_mapbyimage_id(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getimage_storage_domain_mapbystorage_domain_id(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getimagebyimageid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getisvdsgroupempty(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getjobbyjobid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getjobsbycorrelationid(character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getjobsbyoffsetandpagesize(integer, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getjobsubjectentitybyjobid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getlun_storage_server_connection_mapbylunbystorage_server_conn(character varying, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getmacsbydatacenterid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getnamesofvmstaticdedicatedtovds(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getnetwork_clusterbycluster_idandbynetwork_id(uuid, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getnetworkbyid(uuid, uuid, boolean) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getnetworkbyname(character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getnetworkbynameandcluster(character varying, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getnetworkbynameanddatacenter(character varying, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getnetworkqosbynetworkqosid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getnfsstorage_server_connectionsbystoragepoolid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getnoncountablequtoavmstatuses() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getnumofsnapshotsbymemoryvolume(character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getnvmtagsbyvmid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getnvmtagsbyvmidanddefaulttag(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getoptionsbyglustervolumeguid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getorderedvmguidsforrunmultipleactions(character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getovfgeneration(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getpermissionbyroleid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getpolicyunitbypolicyunitid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getproviderbyname(character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getproviderbyproviderid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getquotacount() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getrepo_files_by_storage_domain(uuid, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getrepo_files_in_all_storage_pools(integer, integer, integer, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getroleactiongroupsbyroleid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getrolebyname(character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getrolsbyid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getsnapshotbysnapshotid(uuid, uuid, boolean) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getsnapshotbyvmidandtype(uuid, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getsnapshotbyvmidandtypeandstatus(uuid, character varying, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getsnapshotidsbyvmidandtype(uuid, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getsnapshotidsbyvmidandtypeandstatus(uuid, character varying, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getstepbystepid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getstepsbyexternaltaskid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getstepsbyjobid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getstepsbyparentstepid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getstorage_domain_dynamicbyid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getstorage_domain_staticbyid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getstorage_domain_staticbyname(character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getstorage_domain_staticbystorage_pool_type(integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getstorage_pool_iso_mapbystorage_idandbystorage_pool_id(uuid, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getstorage_pool_iso_mapsbybystorage_pool_id(uuid, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getstorage_pool_iso_mapsbystorage_id(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getstorage_poolbyid(uuid, uuid, boolean) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getstorage_poolbyname(character varying, boolean) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getstorage_poolsbystoragedomainid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getstorage_poolsbytype(integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getstorage_poolsbyvdsgroupid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getstorage_poolsbyvdsid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getstorage_server_connectionsbyconnection(character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getstorage_server_connectionsbyid(character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getstorage_server_connectionsbyiqn(character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getstorage_server_connectionsbyiqnandconnection(character varying, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getstorage_server_connectionsbykey(character varying, character varying, character varying, character varying, character varying, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getstorage_server_connectionsbylunid(character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getstorage_server_connectionsbystoragetype(integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getstorage_server_connectionsbyvolumegroupid(character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getstoragedomainidsbystoragepoolidandstatus(uuid, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getstoragepoolsbyclusterservice(boolean, boolean) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getstorageserverconnectionsfordomain(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getsystem_statistics(character varying, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.gettags_vm_pool_mapbytag_idandbyvm_pool_id(uuid, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.gettagsbyparent_id(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.gettagsbytag_id(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.gettagsbytag_name(character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.gettaguserbytagidandbyuserid(uuid, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.gettagusergroupbygroupidandbytagid(uuid, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.gettagvdsbytagidandbyvdsid(uuid, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.gettagvmbytagidandbyvmid(uuid, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.gettemplatecount() cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.gettransporttypesbyglustervolumeguid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getuserandgroupsbyid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getuserbyexternalid(character varying, bytea) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getuserbyuserid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getuserbyusername(character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getusersbyvmguid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getvdcoptionbyid(integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getvdcoptionbyname(character varying, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getvds_spm_id_mapbystorage_pool_id(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getvds_spm_id_mapbystorage_pool_idandbyvds_spm_id(uuid, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getvds_spm_id_mapbyvds_id(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getvdsdynamicbyvdsid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getvdsstaticbyhostname(character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getvdsstaticbyip(character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getvdsstaticbyvdsgroupid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getvdsstaticbyvdsid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getvdsstatisticsbyvdsid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getvm_interface_statisticsbyid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getvm_pool_mapbyvm_guid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getvm_pool_mapbyvm_pool_id(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getvmdynamicbyvmguid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getvmguestagentinterfacesbyvmid(uuid, uuid, boolean) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getvminterfacebytemplateid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getvminterfacebyvminterfaceid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getvminterfacesbynetworkid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getvminterfacesbyvmid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getvmmapsinvmpoolbyvmpoolidandstatus(uuid, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getvmsdynamicrunningonvds(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getvmsidsforovfupdate(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getvmstaticbygroupidandnetwork(uuid, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getvmstaticbyname(character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getvmstaticbyvdsgroup(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getvmstaticbyvmguid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getvmstaticwithfailbackbyvdsid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getvmstatisticsbyvmguid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getvmtemplateinterfacesbynetworkid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getvmtemplatesidsforovfupdate(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getvnicprofilebyvnicprofileid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.getvnicprofilesbynetworkid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.increasestoragepoolmasterversion(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.incrementdbgeneration(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.incrementdbgenerationforallinstoragepool(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insert_entity_snapshot(uuid, uuid, character varying, character varying, character varying, text, character varying, integer, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insert_osinfo(integer, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insert_roles_groups(integer, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertaction_version_map(integer, character varying, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertaffinitygroupwithmembers(uuid, character varying, character varying, uuid, boolean, boolean, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertasync_tasks(integer, integer, integer, uuid, uuid, text, character varying, text, character varying, uuid, uuid, uuid, timestamp with time zone, uuid, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertasynctaskentities(uuid, uuid, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertauditlog(integer, timestamp with time zone, integer, character varying, integer, text, uuid, character varying, uuid, character varying, uuid, character varying, uuid, character varying, uuid, character varying, uuid, character varying, uuid, character varying, uuid, character varying, character varying, uuid, uuid, character varying, text) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertbasedisk(uuid, character varying, boolean, character varying, character varying, character varying, boolean, boolean, integer, smallint, timestamp with time zone) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertbookmark(uuid, character varying, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertclusterpolicy(uuid, character varying, character varying, boolean, boolean, text) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertclusterpolicyunit(uuid, uuid, integer, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertcustom_actions(integer, character varying, character varying, integer, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertdisk_image_dynamic(uuid, integer, integer, bigint, numeric, numeric, numeric) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertdisklunmap(uuid, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertevent_notification_hist(bigint, character varying, character, character, timestamp with time zone, boolean, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertevent_subscriber(character varying, integer, character varying, uuid, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertexternalauditlog(integer, timestamp with time zone, integer, character varying, integer, text, uuid, character varying, uuid, character varying, uuid, character varying, uuid, character varying, uuid, character varying, uuid, character varying, uuid, character varying, uuid, character varying, character varying, uuid, uuid, character varying, text, character varying, integer, integer, text) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertglusterclusterservice(uuid, character varying, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertglusterhook(uuid, uuid, character varying, character varying, character varying, character varying, character varying, character varying, text, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertglusterserver(uuid, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertglusterserverhook(uuid, uuid, character varying, character varying, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertglusterserverservice(uuid, uuid, uuid, integer, character varying, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertglustervolume(uuid, uuid, character varying, character varying, character varying, integer, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertglustervolumeaccessprotocol(uuid, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertglustervolumebrick(uuid, uuid, uuid, character varying, integer, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertglustervolumeoption(uuid, uuid, character varying, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertglustervolumetransporttype(uuid, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertgroup(uuid, character varying, boolean, character varying, character varying, bytea) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertimage(timestamp with time zone, uuid, uuid, bigint, uuid, integer, timestamp with time zone, uuid, integer, integer, uuid, boolean) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertimage_storage_domain_map(uuid, uuid, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertjob(uuid, character varying, text, character varying, uuid, boolean, timestamp with time zone, timestamp with time zone, timestamp with time zone, character varying, boolean, boolean) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertjobsubjectentity(uuid, uuid, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertlun_storage_server_connection_map(character varying, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertluns(character varying, character varying, character varying, character varying, integer, character varying, character varying, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertnetwork(character varying, character varying, text, uuid, character varying, character varying, character varying, integer, integer, boolean, uuid, integer, boolean, uuid, text, uuid, text) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertnetwork_cluster(uuid, uuid, integer, boolean, boolean, boolean) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertnetworkqos(uuid, character varying, uuid, integer, integer, integer, integer, integer, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertorupdateasynctasks(integer, integer, integer, uuid, uuid, text, character varying, text, character varying, uuid, uuid, uuid, timestamp with time zone, uuid, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertpermission(uuid, uuid, uuid, uuid, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertpolicyunit(uuid, character varying, text, boolean, smallint, text, boolean) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertprovider(uuid, character varying, character varying, character varying, character varying, boolean, character varying, text, text, character varying, character varying, text) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertquota(uuid, uuid, character varying, character varying, integer, integer, integer, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertquotalimitation(uuid, uuid, uuid, uuid, integer, bigint, bigint) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertrepo_domain_file_meta_data(uuid, character varying, character varying, bigint, timestamp with time zone, bigint, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertrole(character varying, uuid, character varying, boolean, integer, boolean, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertsnapshot(uuid, uuid, character varying, character varying, character varying, timestamp with time zone, text, text, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertstep(uuid, uuid, uuid, character varying, text, integer, character varying, timestamp with time zone, timestamp with time zone, character varying, uuid, character varying, boolean) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertstorage_domain_dynamic(integer, uuid, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertstorage_domain_static(uuid, character varying, character varying, character varying, text, integer, integer, character varying, bigint) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertstorage_pool(character varying, text, uuid, character varying, integer, integer, integer, uuid, character varying, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertstorage_pool_iso_map(uuid, uuid, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertstorage_server_connections(character varying, character varying, character varying, character varying, character varying, text, integer, character varying, character varying, character varying, character varying, smallint, smallint) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.inserttags(character varying, uuid, character varying, uuid, boolean, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.inserttags_user_group_map(uuid, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.inserttags_user_map(uuid, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.inserttags_vds_map(uuid, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.inserttags_vm_map(uuid, uuid, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.inserttags_vm_pool_map(uuid, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertuser(character varying, character varying, character varying, character varying, character varying, character varying, character varying, boolean, character varying, uuid, character varying, character varying, bytea) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertvdcoption(character varying, character varying, character varying, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertvds_interface(character varying, character varying, integer, character varying, uuid, boolean, character varying, character varying, character varying, character varying, integer, character varying, integer, integer, uuid, integer, integer, boolean, boolean, text) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertvds_interface_statistics(uuid, numeric, numeric, numeric, numeric, integer, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertvds_spm_id_map(uuid, uuid, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertvdsdynamic(integer, integer, character varying, numeric, character varying, boolean, integer, integer, integer, uuid, integer, integer, integer, integer, integer, integer, character varying, character varying, character varying, character varying, integer, character varying, timestamp with time zone, integer, integer, integer, boolean, character varying, character varying, character varying, character varying, character varying, character varying, character varying, character varying, character varying, integer, character varying, character varying, character varying, character varying, character varying, character varying, character varying, character varying, character varying, boolean) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertvdsgroups(uuid, character varying, text, character varying, character varying, uuid, integer, boolean, character varying, boolean, integer, boolean, boolean, boolean, character varying, boolean, boolean, boolean, uuid, text, boolean, integer, smallint, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertvdsstatic(text, uuid, character varying, character varying, character varying, integer, uuid, character varying, boolean, integer, integer, character varying, character varying, character varying, integer, character varying, boolean, character varying, character varying, character varying, character varying, text, integer, character varying, boolean, integer, character varying, character varying, integer, character varying, boolean) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertvdsstatistics(numeric, numeric, numeric, numeric, integer, integer, integer, uuid, bigint, bigint, bigint, bigint, bigint, integer, bigint, boolean, integer, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertvm_interface_statistics(uuid, numeric, numeric, numeric, numeric, integer, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertvm_pool_map(uuid, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertvm_pools(character varying, text, uuid, character varying, integer, character varying, integer, uuid, smallint, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertvmdevice(uuid, uuid, character varying, character varying, character varying, integer, text, boolean, boolean, boolean, character varying, text, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertvmdynamic(character varying, character varying, character varying, timestamp with time zone, timestamp with time zone, uuid, character varying, uuid, uuid, integer, uuid, character varying, character varying, character varying, timestamp with time zone, timestamp with time zone, integer, integer, boolean, integer, character varying, integer, boolean, integer, integer, integer, uuid, character varying, integer, character varying, integer, integer, character varying, integer, numeric, character varying, boolean, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertvmguestagentinterface(uuid, character varying, character varying, text, text) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertvminterface(uuid, character varying, character varying, integer, uuid, uuid, uuid, integer, boolean) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertvmstatic(character varying, text, integer, integer, uuid, uuid, character varying, uuid, character varying, timestamp with time zone, integer, boolean, boolean, boolean, integer, integer, integer, character varying, boolean, boolean, boolean, boolean, character varying, uuid, boolean, integer, integer, integer, integer, integer, integer, character varying, integer, character varying, character varying, character varying, integer, character varying, character varying, integer, uuid, character varying, boolean, boolean, character varying, boolean, uuid, uuid, uuid, uuid, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertvmstatistics(numeric, numeric, numeric, integer, integer, integer, text, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertvmtemplate(integer, timestamp with time zone, character varying, text, integer, character varying, integer, integer, integer, uuid, uuid, character varying, integer, boolean, boolean, integer, integer, character varying, boolean, integer, integer, integer, integer, integer, integer, boolean, boolean, boolean, boolean, character varying, boolean, character varying, integer, character varying, character varying, character varying, uuid, integer, uuid, boolean, character varying, integer, boolean, uuid, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.insertvnicprofile(uuid, character varying, uuid, uuid, boolean, text, text) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.inst_add_iso_storage_domain(uuid, character varying, uuid, character varying, integer, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.inst_update_default_storage_pool_type(integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.inst_update_service_type(uuid, boolean, boolean) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.ismaterializedviewrefreshed(name) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.ismemballoonenabled(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.isquotainuse(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.refreshallmaterializedviews(boolean) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.refreshmaterializedview(name) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.removeallvmtagsbyvmid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.removememoryfromsnapshotbysnapshotid(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.removememoryfromsnapshotbyvmidandtype(uuid, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.removevmfromaffinitygroups(uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.set_network_exclusively_as_display(uuid, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.set_network_exclusively_as_migration(uuid, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.to_interval(integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updateaffinitygroupwithmembers(uuid, character varying, character varying, uuid, boolean, boolean, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updateasync_tasks(integer, integer, integer, uuid, uuid, text, character varying, text, character varying, uuid, uuid, uuid, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatebasedisk(uuid, character varying, boolean, character varying, character varying, character varying, boolean, boolean, integer, smallint, timestamp with time zone) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatebookmark(uuid, character varying, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updateclusterpolicy(uuid, character varying, character varying, boolean, boolean, text) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updateconsoleuserwithoptimisticlocking(uuid, uuid, character varying, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatecustom_actions(integer, character varying, character varying, integer, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatedisk_image_dynamic(uuid, integer, integer, bigint, numeric, numeric, numeric) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatedwhhistorytimekeeping(character varying, character varying, timestamp with time zone) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updateevent_subscriber(character varying, integer, integer, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updateglusterbricktaskbyserveridbrickdir(uuid, character varying, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updateglusterclusterservice(uuid, character varying, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updateglusterhook(uuid, character varying, character varying, character varying, text, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updateglusterhookconflictstatus(uuid, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updateglusterhookcontent(uuid, character varying, text) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updateglusterhookcontenttype(uuid, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updateglusterhookstatus(uuid, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updateglusterserver(uuid, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updateglusterserverhook(uuid, uuid, character varying, character varying, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updateglusterserverhookchecksum(uuid, uuid, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updateglusterserverhookstatus(uuid, uuid, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updateglusterserverservice(uuid, integer, character varying, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updateglusterserverservicebyserveridandservicetype(uuid, uuid, integer, character varying, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updateglustervolume(uuid, uuid, character varying, character varying, character varying, integer, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updateglustervolumeasynctask(uuid, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updateglustervolumebrick(uuid, uuid, uuid, character varying, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updateglustervolumebrickasynctask(uuid, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updateglustervolumebrickorder(uuid, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updateglustervolumebrickstatus(uuid, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updateglustervolumeoption(uuid, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updateglustervolumestatus(uuid, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updateglustervolumestatusbyname(uuid, character varying, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updategroup(uuid, character varying, boolean, character varying, character varying, bytea) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updateimage(timestamp with time zone, uuid, uuid, bigint, uuid, integer, timestamp with time zone, uuid, integer, integer, uuid, boolean) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updateimagesize(uuid, bigint, timestamp with time zone) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updateimagestatus(uuid, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updateimagevmsnapshotid(uuid, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updateisinitialized(uuid, boolean) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatejob(uuid, character varying, text, character varying, uuid, boolean, timestamp with time zone, timestamp with time zone, timestamp with time zone, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatejoblastupdatetime(uuid, timestamp with time zone) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatejobstepscompleted(uuid, character varying, timestamp with time zone) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatelastadmincheckstatus(character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatelun_storage_server_connection_map(character varying, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatelunsdevicesize(character varying, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatelunsvolumegroupid(character varying, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatematerializedviewminrefreshrate(name, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatematerializedviewrefreshrate(name, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatenetwork(character varying, character varying, text, uuid, character varying, character varying, character varying, integer, integer, boolean, uuid, integer, boolean, uuid, text, uuid, text) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatenetwork_cluster(uuid, uuid, integer, boolean, boolean, boolean) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatenetwork_cluster_status(uuid, uuid, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatenetworkqos(uuid, character varying, uuid, integer, integer, integer, integer, integer, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updateoriginaltemplatename(uuid, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updateovfgenerations(character varying, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatepartialvdsdynamiccalc(uuid, integer, integer, integer, integer, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatepolicyunit(uuid, boolean, text, text) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updateprovider(uuid, character varying, character varying, character varying, character varying, boolean, character varying, text, text, character varying, character varying, text) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatequotaforimageandsnapshots(uuid, uuid, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatequotametadata(uuid, uuid, character varying, character varying, integer, integer, integer, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatereplicacount(uuid, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updaterole(character varying, uuid, character varying, boolean, integer, boolean) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatesnapshot(uuid, uuid, character varying, character varying, character varying, timestamp with time zone, text, text, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatesnapshotid(uuid, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatesnapshotstatus(uuid, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatestartedexecutionentitiestounknown(timestamp with time zone) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatestatusofimagesbyimagegroupid(uuid, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatestep(uuid, uuid, uuid, character varying, text, integer, character varying, timestamp with time zone, timestamp with time zone, character varying, uuid, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatestepexternalidandtype(uuid, uuid, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatestepstatusandendtime(uuid, character varying, timestamp with time zone) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatestorage_domain_dynamic(integer, uuid, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatestorage_domain_static(uuid, character varying, character varying, character varying, text, integer, integer, integer, bigint) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatestorage_pool(character varying, text, uuid, character varying, integer, integer, character varying, integer, uuid, character varying, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatestorage_pool_iso_map_status(uuid, uuid, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatestorage_pool_partial(character varying, text, uuid, character varying, integer, character varying, character varying, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatestorage_pool_status(uuid, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatestorage_server_connections(character varying, character varying, character varying, text, integer, character varying, character varying, character varying, character varying, character varying, character varying, smallint, smallint) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatetags(character varying, uuid, character varying, uuid, boolean, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatetags_vm_pool_map(integer, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updateuser(character varying, character varying, character varying, character varying, character varying, character varying, character varying, boolean, character varying, uuid, character varying, boolean, character varying, bytea) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatevdcoption(character varying, character varying, integer, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatevds_interface(character varying, character varying, integer, character varying, uuid, boolean, character varying, character varying, character varying, character varying, integer, character varying, integer, integer, uuid, integer, integer, boolean, boolean, text) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatevds_interface_statistics(uuid, numeric, numeric, numeric, numeric, integer, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatevdsdynamic(integer, integer, character varying, numeric, character varying, boolean, integer, integer, integer, uuid, integer, integer, integer, integer, integer, integer, character varying, character varying, character varying, character varying, integer, character varying, timestamp with time zone, integer, integer, integer, boolean, character varying, character varying, character varying, character varying, character varying, character varying, character varying, character varying, character varying, integer, character varying, integer, character varying, character varying, character varying, character varying, character varying, character varying, character varying, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatevdsdynamicnetconfigdirty(uuid, boolean) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatevdsdynamicpowermanagementpolicyflag(uuid, boolean) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatevdsdynamicstatus(uuid, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatevdsgroup(character varying, text, character varying, uuid, character varying, uuid, integer, boolean, character varying, boolean, integer, boolean, boolean, boolean, character varying, boolean, boolean, boolean, uuid, text, boolean, integer, smallint, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatevdsgroupemulatedmachine(uuid, character varying, boolean) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatevdsstatic(character varying, text, character varying, character varying, integer, uuid, uuid, character varying, boolean, integer, integer, character varying, character varying, character varying, integer, character varying, boolean, character varying, character varying, character varying, character varying, text, integer, character varying, boolean, bigint, integer, character varying, character varying, integer, character varying, boolean) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatevdsstatistics(numeric, numeric, numeric, numeric, integer, integer, integer, uuid, bigint, bigint, bigint, bigint, bigint, integer, bigint, boolean, integer, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatevm_interface_statistics(uuid, numeric, numeric, numeric, numeric, integer, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatevm_pool_map(uuid, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatevm_pools(character varying, text, uuid, character varying, integer, character varying, integer, uuid, smallint, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatevmdevice(uuid, uuid, character varying, character varying, character varying, integer, text, boolean, boolean, boolean, character varying, text, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatevmdevicebootorder(uuid, uuid, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatevmdeviceforhotplugdisk(uuid, uuid, boolean) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatevmdeviceruntimeinfo(uuid, uuid, character varying, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatevmdynamic(character varying, character varying, character varying, timestamp with time zone, timestamp with time zone, uuid, character varying, uuid, uuid, integer, uuid, character varying, character varying, character varying, timestamp with time zone, timestamp with time zone, integer, integer, boolean, integer, character varying, integer, boolean, integer, integer, integer, uuid, character varying, integer, character varying, integer, integer, character varying, character varying, integer, numeric, character varying, boolean, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatevmdynamicstatus(uuid, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatevminterface(uuid, character varying, character varying, integer, uuid, uuid, uuid, integer, boolean) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatevmstatic(character varying, text, integer, integer, uuid, uuid, character varying, uuid, character varying, timestamp with time zone, integer, boolean, boolean, boolean, integer, integer, integer, character varying, boolean, boolean, boolean, boolean, character varying, uuid, boolean, integer, integer, integer, integer, integer, integer, character varying, integer, character varying, character varying, character varying, integer, character varying, character varying, integer, uuid, character varying, boolean, boolean, character varying, boolean, uuid, uuid, uuid, uuid, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatevmstatistics(numeric, numeric, numeric, integer, integer, integer, text, uuid) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatevmtagsdefaultdisplaytype(uuid, uuid, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatevmtemplate(integer, timestamp with time zone, character varying, text, integer, character varying, integer, integer, integer, uuid, uuid, character varying, integer, boolean, boolean, integer, integer, character varying, boolean, integer, integer, integer, integer, integer, integer, boolean, boolean, boolean, boolean, character varying, boolean, character varying, integer, character varying, character varying, character varying, uuid, integer, uuid, boolean, character varying, integer, boolean, uuid, character varying) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatevmtemplatestatus(uuid, integer) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.updatevnicprofile(uuid, character varying, uuid, uuid, boolean, text, text) cascade;
**************************

DROP FUNCTION
********* QUERY **********
drop function if exists public.uuid_generate_v1() cascade;
**************************

DROP FUNCTION
********* QUERY **********
select count(*) from pg_proc where proname = 'uuid_nil';
**************************

     0

********* QUERY **********
DROP TYPE IF EXISTS idTextType CASCADE;
**************************

DROP TYPE
********* QUERY **********
DROP TYPE IF EXISTS idUuidType CASCADE;
**************************

DROP TYPE
********* QUERY **********
DROP TYPE IF EXISTS booleanResultType CASCADE;
**************************

DROP TYPE
********* QUERY **********
CREATE TYPE idTextType AS(id text);
**************************

CREATE TYPE
********* QUERY **********
CREATE TYPE idUuidType AS(id UUID);
**************************

CREATE TYPE
********* QUERY **********
CREATE TYPE booleanResultType AS(result BOOLEAN);
**************************

CREATE TYPE
********* QUERY **********
CREATE OR REPLACE FUNCTION getGlobalIds(v_name VARCHAR(4000))
RETURNS UUID IMMUTABLE STRICT
   AS $function$
   DECLARE
   v_id  UUID;
BEGIN
   if (v_name = 'system') then
      v_id := 'AAA00000-0000-0000-0000-123456789AAA';
   elsif (v_name = 'everyone') then
      v_id := 'EEE00000-0000-0000-0000-123456789EEE';
   -- bottom is an object which all the objects in the system are its parents
   -- useful to denote we want all objects when checking for permissions
   elsif (v_name = 'bottom') then
      v_id := 'BBB00000-0000-0000-0000-123456789BBB';
   end if;
   return  v_id;
END; $function$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION public.fnSplitter(ids TEXT)  RETURNS SETOF idTextType IMMUTABLE AS
$function$
BEGIN
	RETURN QUERY
		SELECT regexp_split_to_table(ids, ',') AS id;
END; $function$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION fnSplitterUuid(ids TEXT)  RETURNS SETOF UUID IMMUTABLE AS
$function$
BEGIN
 IF ids != '' THEN
	RETURN QUERY
		SELECT CAST(regexp_split_to_table(ids, ',') AS UUID);
 END IF;
END; $function$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
DROP TYPE IF EXISTS user_permissions CASCADE;
**************************

DROP TYPE
********* QUERY **********
CREATE TYPE user_permissions AS(permission_id UUID, role_id UUID, user_id UUID);
**************************

CREATE TYPE
********* QUERY **********
CREATE OR REPLACE FUNCTION public.fn_user_permissions(v_userId IN uuid) RETURNS SETOF user_permissions STABLE AS
$function$
DECLARE

BEGIN
	RETURN QUERY
	    SELECT
		    permissions.id AS permission_id,
		    permissions.role_id,
		    permissions.ad_element_id AS user_id
	    FROM permissions
		INNER JOIN users ON permissions.ad_element_id = users.user_id
	    WHERE users.user_id = v_userId

	    UNION

	    SELECT
		    permissions.id AS permission_id,
		    permissions.role_id,
		    temp.user_id AS user_id
	    FROM permissions INNER JOIN
	    (
		    -- get all groups of admin users
		    SELECT ad_groups.id group_id, users.user_id
		    FROM ad_groups, users
		    WHERE ad_groups.id IN
		    (SELECT * FROM fnsplitteruuid(users.group_ids))
			AND users.user_id = v_userId ) temp
		ON permissions.ad_element_id = temp.group_id;

END; $function$
LANGUAGE 'plpgsql';
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION public.fn_get_entity_parents(v_entity_id IN uuid, v_object_type IN int4) RETURNS SETOF idUuidType STABLE AS
$function$
/*	Gets a list of all parent GUID to the system root (including)

	Object Types (compatible with VdcObjectType, XXX entries are unused currently)
		Unknown XXX,
		System XXX,
        Bottom = 0,
		VM = 2,
		VDS = 3,
		VmTemplate = 4,
		VmPool = 5,
		AdElements XXX,
		Tags XXX,
		Bookmarks XXX,
		VdsGroups = 9,
		MultiLevelAdministration XXX,
		Storage = 11,
		EventNotification XXX,
		ImportExport XXX,
		StoragePool = 14,
		User = 15,
		Role = 16,
		Quota = 17,
		GlusterVolume = 18,
        Disk = 19,
        Network = 20,
        VNICProfile = 27
*/
DECLARE
	v_entity_type int4 := v_object_type;
	system_root_id uuid;
	cluster_id uuid;
	ds_id uuid;
	v_image_id uuid;
	v_storage_id uuid;
    v_vm_id uuid;
    v_storage_pool_id uuid;
    v_profile_network_id uuid;

BEGIN

	system_root_id := ( SELECT getGlobalIds('system') ); -- hardcoded also in MLA Handler
	CASE
	WHEN v_entity_type = 0 THEN -- Bottom
		RETURN QUERY
			SELECT object_id
			FROM permissions;
	WHEN v_entity_type = 2 THEN -- VM
        -- get cluster id
		cluster_id := ( SELECT vds_group_id FROM vm_static WHERE vm_guid = v_entity_id );
		-- get data center id
		ds_id := ( SELECT storage_pool_id FROM vds_groups WHERE vds_group_id = cluster_id );

		RETURN QUERY
			SELECT system_root_id AS id
			UNION
			SELECT ds_id AS id
			UNION
			SELECT cluster_id AS id
			UNION
			SELECT v_entity_id AS id;
	WHEN v_entity_type = 3 THEN -- VDS
        -- get cluster id
		cluster_id := ( SELECT vds_group_id FROM vds_static WHERE vds_id = v_entity_id );
		-- get data center id
		ds_id := ( SELECT storage_pool_id FROM vds_groups WHERE vds_group_id = cluster_id );

		RETURN QUERY
			SELECT system_root_id AS id
			UNION
			SELECT ds_id AS id
			UNION
			SELECT cluster_id AS id
			UNION
			SELECT v_entity_id AS id;
	WHEN v_entity_type = 4 THEN -- Template
		-- get image id first
		v_image_id := ( SELECT image_guid FROM images i JOIN vm_device vd ON i.image_group_id = vd.device_id WHERE vm_id = v_entity_id limit 1);
		-- get the storage id from images
		v_storage_id := ( SELECT storage_domain_id FROM image_storage_domain_map WHERE image_id = v_image_id limit 1);
		-- finally get data center id
		ds_id := ( SELECT storage_pool_id FROM storage_pool_iso_map WHERE storage_id = v_storage_id );

		RETURN QUERY
			SELECT system_root_id AS id
			UNION
			SELECT ds_id AS id
			UNION
			SELECT v_entity_id AS id;
	WHEN v_entity_type = 5 THEN -- VM Pool
        -- get cluster id
		cluster_id := ( SELECT vds_group_id FROM vm_pools WHERE vm_pool_id = v_entity_id );
		-- get data center id
		ds_id := ( SELECT storage_pool_id FROM vds_groups WHERE vds_group_id = cluster_id );

		RETURN QUERY
			SELECT system_root_id AS id
			UNION
			SELECT ds_id AS id
			UNION
			SELECT cluster_id AS id
			UNION
			SELECT v_entity_id AS id;
	WHEN v_entity_type = 9 THEN -- Cluster
		-- get data center id
		ds_id := ( SELECT storage_pool_id FROM vds_groups WHERE vds_group_id = v_entity_id );

		RETURN QUERY
			SELECT system_root_id AS id
			UNION
			SELECT ds_id AS id
			UNION
			SELECT v_entity_id AS id;
	WHEN v_entity_type = 11 THEN -- Storage Domain

		RETURN QUERY
			SELECT system_root_id AS id
			UNION ALL
			SELECT storage_pool_id as id FROM storage_pool_iso_map WHERE storage_id = v_entity_id
			UNION
			SELECT v_entity_id AS id;
	WHEN v_entity_type = 17 THEN -- Quota
		-- get data center id
		ds_id := ( SELECT storage_pool_id FROM quota WHERE id = v_entity_id );

		RETURN QUERY
			SELECT system_root_id AS id
			UNION
			SELECT ds_id AS id
			UNION
			SELECT v_entity_id AS id;
	WHEN v_entity_type = 18 THEN -- GlusterVolume
        -- get cluster id
		cluster_id := ( SELECT v.cluster_id FROM gluster_volumes v WHERE id = v_entity_id );
		-- get data center id
		ds_id := ( SELECT storage_pool_id FROM vds_groups WHERE vds_group_id = cluster_id );

		RETURN QUERY
			SELECT system_root_id AS id
			UNION
			SELECT ds_id AS id
			UNION
			SELECT cluster_id AS id
			UNION
			SELECT v_entity_id AS id;

	WHEN v_entity_type = 19 THEN -- Disk

        -- get data center, storage domain and vm
        SELECT INTO ds_id, v_storage_id, v_vm_id
                    storage_pool_id, storage_id, vm_id
        FROM images_storage_domain_view
        LEFT OUTER JOIN vm_device ON vm_device.device_id = images_storage_domain_view.disk_id
        WHERE image_group_id = v_entity_id;

        -- get cluster
        cluster_id := ( SELECT vds_group_id FROM vm_static WHERE vm_guid = v_vm_id );

        RETURN QUERY
            SELECT system_root_id AS id
            UNION
            SELECT ds_id AS id
            UNION
            SELECT v_storage_id AS id
            UNION
            SELECT v_vm_id AS id
            UNION
            SELECT cluster_id AS id
            UNION
            SELECT v_entity_id AS id;

	WHEN v_entity_type = 20 THEN -- Network

        SELECT INTO v_storage_pool_id
                    network.storage_pool_id
        FROM network
        WHERE network.id = v_entity_id;

        RETURN QUERY
            SELECT system_root_id AS id
            UNION
            SELECT v_storage_pool_id AS id
            UNION
            SELECT v_entity_id AS id;

	WHEN v_entity_type = 27 THEN -- VNICProfile

        SELECT INTO v_profile_network_id
                    vnic_profiles.network_id
        FROM vnic_profiles
        WHERE vnic_profiles.id = v_entity_id;
        SELECT INTO v_storage_pool_id
                    network.storage_pool_id
        FROM network
        WHERE network.id = v_profile_network_id;

        RETURN QUERY
            SELECT system_root_id AS id
            UNION
            SELECT v_storage_pool_id AS id
            UNION
            SELECT v_profile_network_id AS id
            UNION
            SELECT v_entity_id AS id;

    WHEN v_entity_type = 23 THEN -- Gluster Hook

        -- get cluster id
        cluster_id := ( SELECT cluster_id FROM gluster_hooks WHERE id = v_entity_id );
        -- get data center id
        ds_id := ( SELECT storage_pool_id FROM vds_groups WHERE vds_group_id = cluster_id );

        RETURN QUERY
            SELECT system_root_id AS id
            UNION
            SELECT ds_id AS id
            UNION
            SELECT cluster_id AS id
            UNION
            SELECT v_entity_id AS id;

	WHEN v_entity_type = 25 THEN -- Gluster Service

        -- get cluster id
        cluster_id := ( SELECT vds_group_id FROM vds_static WHERE vds_id = v_entity_id );
        -- get data center id
        ds_id := ( SELECT storage_pool_id FROM vds_groups WHERE vds_group_id = cluster_id );

        RETURN QUERY
            SELECT system_root_id AS id
            UNION
            SELECT ds_id AS id
            UNION
            SELECT cluster_id AS id
            UNION
            SELECT v_entity_id AS id;
	ELSE
		IF v_entity_type IN ( 1,14,15,16 ) THEN -- Data Center, users and roles are under system
			RETURN QUERY
				SELECT system_root_id AS id
				UNION
				SELECT v_entity_id AS id;
		END IF;
	END CASE;
END;$function$
LANGUAGE 'plpgsql';
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION public.fn_get_disk_commited_value_by_storage(v_storage_domain_id IN uuid) RETURNS integer STABLE AS
$function$
DECLARE
    result integer;
    mult bigint;

BEGIN
	mult := ( SELECT
	    		COALESCE(SUM(images_storage_domain_view.size),0)
				FROM images_storage_domain_view
				WHERE images_storage_domain_view.storage_id = v_storage_domain_id );
        -- convert to GB from bytes
	mult := CAST((mult * 0.000000000931322574615478515625) AS bigint);
    result := CAST(mult as integer);

	RETURN result;
END;$function$
LANGUAGE 'plpgsql';
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION public.fn_get_actual_images_size_by_storage(v_storage_domain_id IN uuid) RETURNS integer STABLE AS
$function$
DECLARE
    result integer;
    mult bigint;

BEGIN
	mult := ( SELECT
	    		COALESCE(SUM(disk_image_dynamic.actual_size),0)
				FROM images_storage_domain_view JOIN
	    			disk_image_dynamic ON ( images_storage_domain_view.image_guid = disk_image_dynamic.image_id )
				WHERE images_storage_domain_view.storage_id = v_storage_domain_id );
        -- convert to GB from bytes
	mult := CAST((mult * 0.000000000931322574615478515625) AS bigint);
    result := CAST(mult as integer);

	RETURN result;
END;$function$
LANGUAGE 'plpgsql';
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION fn_get_storage_domain_shared_status_by_domain_id(v_storage_domain_id UUID,
	v_storage_status INTEGER,
	v_storage_domain_type INTEGER)
RETURNS INTEGER
   AS $function$
   DECLARE
   v_result  INTEGER;
   v_rowsCount  INTEGER;
   v_status  INTEGER;
BEGIN
    if (v_storage_domain_type != 2) then
      if (v_storage_status is null) then
         v_result := 0;
      else
         -- if 1 row and status active (3) then domain is active (1)
         if v_storage_status = 3 then
            v_result := 1;
		 -- if 1 row and status not active then domain is inactive (2)
         else
            v_result := 2;
         end if;
      end if;
    else
      BEGIN
         CREATE GLOBAL TEMPORARY TABLE tt_TEMP22
         (
            status INTEGER,
            count INTEGER
         ) WITH OIDS;
         exception when others then
         truncate table tt_TEMP22;
      END;
      delete from tt_TEMP22;
      Insert INTO tt_TEMP22
      select status, count(storage_id) from storage_pool_iso_map
      where storage_id = v_storage_domain_id
      group by status;

      select count(*) INTO v_rowsCount from tt_TEMP22;

      -- if return 0 rows then the domain is unattached
      if (v_rowsCount = 0) then
         v_result := 0;
      else
         if (v_rowsCount = 1) then
	        -- if 1 row and status active (3) then domain is active (1)
            if v_storage_status = 3 then
               v_result := 1;
		    -- if 1 row and status not active then domain is inactive (2)
            else
               v_result := 2;
            end if;
	      -- else (if return more then 1 row)
          else
            select   count(*) INTO v_rowsCount from tt_TEMP22 where status = 3;
            if (v_rowsCount > 0) then
               v_result := 3;
			   -- non of the statuses is active
            else
               v_result := 2;
          end if;
         end if;
      end if;
    end if;
   return v_result;
END; $function$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION public.fn_get_ad_element_name(v_ad_element_id IN uuid) RETURNS text STABLE AS
$function$
DECLARE
    result text;

BEGIN
   if (v_ad_element_id = getGlobalIds('everyone')) then
      result := 'Everyone';
   else
      select(COALESCE(name,'') || ' ' || COALESCE(surname,'') || ' (' || COALESCE(username,'') || ')') INTO result from users where user_id = v_ad_element_id;
      if (result is null) then
         select   name INTO result from ad_groups where ID = v_ad_element_id;
      end if;
   end if;
   return result;
END; $function$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION public.fn_get_entity_name(v_entity_id IN uuid, v_object_type IN int4) RETURNS text STABLE AS
$function$
/*    Gets object name by its id and type

    Object Types (compatible with VdcObjectType, XXX entries are unused currently)
        Unknown XXX,
        System XXX,
        VM = 2,
        VDS = 3,
        VmTemplate = 4,
        VmPool = 5,
        AdElements XXX,
        Tags XXX,
        Bookmarks XXX,
        VdsGroups = 9,
        MultiLevelAdministration XXX,
        Storage = 11,
        EventNotification XXX,
        ImportExport XXX,
        StoragePool = 14,
        User = 15,
        Role = 16,
        Quota = 17,
        GlusterVolume = 18,
        Disk = 19,
        Network = 20,
        VNICProfile = 27
*/
DECLARE
    v_entity_type int4 := v_object_type;
    result text;

BEGIN

    CASE
    WHEN v_entity_type = 1 THEN
        result := 'System';
    WHEN v_entity_type = 2 OR v_entity_type = 4 THEN
        result := ( SELECT vm_name FROM vm_static WHERE vm_guid = v_entity_id );
    WHEN v_entity_type = 3 THEN
        result := ( SELECT vds_name FROM vds_static WHERE vds_id = v_entity_id );
    WHEN v_entity_type = 5 THEN
        result := ( SELECT vm_pool_name FROM vm_pools WHERE vm_pool_id = v_entity_id );
    WHEN v_entity_type = 7 THEN
        result := ( SELECT tag_name FROM tags WHERE tag_id = v_entity_id );
    WHEN v_entity_type = 8 THEN
        result := ( SELECT bookmark_name FROM bookmarks WHERE bookmark_id = v_entity_id );
    WHEN v_entity_type = 9 THEN
        result := ( SELECT name FROM vds_groups WHERE vds_group_id = v_entity_id );
    WHEN v_entity_type = 11 THEN
        result := ( SELECT storage_name FROM storage_domain_static WHERE id = v_entity_id );
    WHEN v_entity_type = 14 THEN
        result := ( SELECT name FROM storage_pool WHERE id = v_entity_id );
    WHEN v_entity_type = 15 THEN
        result := ( SELECT username FROM users WHERE user_id = v_entity_id );
    WHEN v_entity_type = 16 THEN
        result := ( SELECT name FROM roles WHERE id = v_entity_id );
    WHEN v_entity_type = 17 THEN
        result := ( SELECT quota_name FROM quota WHERE id = v_entity_id );
   WHEN v_entity_type = 18 THEN
        result := ( SELECT vol_name FROM gluster_volumes WHERE id = v_entity_id );
    WHEN v_entity_type = 19 THEN
        result := ( SELECT disk_alias FROM base_disks WHERE disk_id = v_entity_id );
    WHEN v_entity_type = 20 THEN
        result := ( SELECT name FROM network WHERE id = v_entity_id );
    WHEN v_entity_type = 23 THEN
        result := ( SELECT concat(gluster_command,'-',stage,'-',name) FROM gluster_hooks where id = v_entity_id );
    WHEN v_entity_type = 25 THEN
        result := ( SELECT service_name FROM gluster_services where id = v_entity_id );
    WHEN v_entity_type = 27 THEN
        result := ( SELECT name FROM vnic_profiles where id = v_entity_id );
    ELSE
        result := 'Unknown type ' ||  v_entity_type;
    END CASE;

--      -- This should be written to an error var or include object_id that is missing
--    IF result IS NULL THEN
--        result := v_entity_id || '' NOT FOUND'';
--    END IF;
    RETURN result;
END;$function$
LANGUAGE 'plpgsql';
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION getUserAndGroupsById(v_id UUID)
RETURNS SETOF idUuidType STABLE
   AS $function$
BEGIN
   RETURN QUERY
   select ID from ad_groups,users where users.user_id = v_id
   and ad_groups.id in(select * from fnsplitteruuid(users.group_ids))
   UNION
   select v_id
   UNION
   -- user is also member of 'Everyone'
   select 'EEE00000-0000-0000-0000-123456789EEE';
END; $function$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION getElementIdsByIdAndGroups(v_id UUID,v_group_ids text)
RETURNS SETOF idUuidType STABLE
   AS $function$
BEGIN
  RETURN QUERY
  select * from fnsplitteruuid(v_group_ids)
  UNION
  select v_id
  UNION
  -- user is also member of 'Everyone'
  select 'EEE00000-0000-0000-0000-123456789EEE';
END; $function$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
DROP TYPE IF EXISTS vds_group_usage_rs CASCADE;
**************************

DROP TYPE
********* QUERY **********
CREATE TYPE vds_group_usage_rs AS
    ( virtual_cpu_usage INTEGER,mem_size_mb_usage BIGINT);
**************************

CREATE TYPE
********* QUERY **********
CREATE OR REPLACE FUNCTION getNonCountableQutoaVmStatuses()
RETURNS SETOF INTEGER IMMUTABLE
    AS $BODY$
BEGIN
    RETURN query select 0 union select 13 union select 14 union select 15;
--(Down(0), Suspended(13), ImageIllegal(14), ImageLocked(15))
END; $BODY$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION CalculateVdsGroupUsage(v_quota_id UUID, v_vds_group_id UUID)
RETURNS SETOF vds_group_usage_rs STABLE
AS $function$
BEGIN
    RETURN QUERY SELECT cast(COALESCE(sum(num_of_sockets * cpu_per_socket), 0) as INTEGER) as virtual_cpu_usage,
    COALESCE(sum(mem_size_mb), 0) as mem_size_mb_usage
    FROM vm_static,vm_dynamic
    WHERE quota_id = v_quota_id
      AND vm_dynamic.vm_guid = vm_static.vm_guid
      AND vm_dynamic.status not in (SELECT getNonCountableQutoaVmStatuses())
      AND (v_vds_group_id = vm_static.vds_group_id or v_vds_group_id IS NULL);
END; $function$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
DROP TYPE IF EXISTS all_vds_group_usage_rs CASCADE;
**************************

DROP TYPE
********* QUERY **********
CREATE TYPE all_vds_group_usage_rs AS
    (quota_vds_group_id UUID, quota_id UUID,vds_group_id UUID,vds_group_name character varying(40),virtual_cpu INTEGER,virtual_cpu_usage INTEGER,mem_size_mb BIGINT,mem_size_mb_usage BIGINT);
**************************

CREATE TYPE
********* QUERY **********
CREATE OR REPLACE FUNCTION calculateAllVdsGroupUsage()
RETURNS SETOF all_vds_group_usage_rs STABLE
AS $function$
BEGIN
    RETURN QUERY SELECT
        quota_limitation.id AS quota_vds_group_id,
        quota_limitation.quota_id as quota_id,
        quota_limitation.vds_group_id as vds_group_id,
        vds_groups.name AS vds_group_name,
        quota_limitation.virtual_cpu,
        cast(COALESCE(sum(num_of_sockets * cpu_per_socket * cast(vm_dynamic.status not in (SELECT getNonCountableQutoaVmStatuses()) as INTEGER)), 0) as INTEGER) as virtual_cpu_usage,
        quota_limitation.mem_size_mb,
        COALESCE(sum(vm_static.mem_size_mb), 0) as mem_size_mb_usage
    FROM quota_limitation
        LEFT JOIN vm_static ON vm_static.quota_id = quota_limitation.quota_id
        LEFT JOIN vm_dynamic ON vm_dynamic.vm_guid = vm_static.vm_guid
        LEFT JOIN vds_groups ON vds_groups.vds_group_id = vm_static.vds_group_id
    WHERE quota_limitation.virtual_cpu IS NOT NULL
        AND quota_limitation.mem_size_mb IS NOT NULL
    GROUP BY quota_limitation.quota_id, quota_limitation.vds_group_id, vds_group_name, quota_limitation.virtual_cpu, quota_limitation.mem_size_mb,
        vm_static.quota_id, vds_groups.vds_group_id, vm_static.vds_group_id, quota_limitation.id;
END; $function$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
DROP TYPE IF EXISTS all_storage_usage_rs CASCADE;
**************************

DROP TYPE
********* QUERY **********
CREATE TYPE all_storage_usage_rs AS
    (quota_storage_id UUID,quota_id UUID,storage_id UUID,storage_name character varying(250),storage_size_gb BIGINT,storage_size_gb_usage double precision);
**************************

CREATE TYPE
********* QUERY **********
CREATE OR REPLACE FUNCTION calculateAllStorageUsage()
RETURNS SETOF all_storage_usage_rs STABLE
AS $function$
BEGIN
    -- Summarize size of all disks that are active.
    RETURN QUERY SELECT
        quota_limitation.id AS quota_storage_id,
        quota_limitation.quota_id as quota_id,
        quota_limitation.storage_id as storage_id,
        storage_domain_static.storage_name,
        quota_limitation.storage_size_gb,
        cast(COALESCE(sum(size * cast(active as integer) + disk_image_dynamic.actual_size * cast((not active) as integer)) / 1073741824 ,0) as double precision)  as storage_usage -- 1073741824 is 1024^3 (for GB)
    FROM quota_limitation
        LEFT JOIN image_storage_domain_map ON quota_limitation.quota_id = image_storage_domain_map.quota_id
        LEFT JOIN images ON images.image_guid = image_storage_domain_map.image_id
        LEFT JOIN disk_image_dynamic ON images.image_guid = disk_image_dynamic.image_id
        LEFT JOIN storage_domain_static ON image_storage_domain_map.storage_domain_id = storage_domain_static.id
    WHERE quota_limitation.storage_size_gb IS NOT NULL
    GROUP BY quota_limitation.quota_id, storage_id,quota_limitation.id,storage_domain_static.storage_name,quota_limitation.storage_size_gb;
END; $function$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION CalculateStorageUsage(v_quota_id UUID, v_storage_id UUID)
RETURNS double precision STABLE
AS $function$
DECLARE
	v_virtual_size double precision;
	v_actual_size double precision;
BEGIN
	-- Summarize size of all disks that are active.
    SELECT COALESCE(sum(size) / (1024 * 1024 * 1024),0) INTO v_virtual_size
	FROM disk_image_dynamic, images_storage_domain_view
	WHERE image_guid = disk_image_dynamic.image_id
    AND image_guid in (SELECT image_guid FROM  images WHERE  active = TRUE)
	AND quota_id = v_quota_id
    AND (v_storage_id = images_storage_domain_view.storage_id or v_storage_id IS NULL);

	-- Summarize the actual size of all the rest disks that are read only disks such as snapshots, not active, template disks.
	SELECT COALESCE(sum(disk_image_dynamic.actual_size) / (1024 * 1024 * 1024),0) INTO v_actual_size
	FROM disk_image_dynamic, images_storage_domain_view
	WHERE image_guid = disk_image_dynamic.image_id
    AND image_guid not in (SELECT image_guid
                           FROM   images i JOIN vm_device vd ON i.image_group_id = vd.device_id
                           WHERE  active = TRUE)
	AND quota_id = v_quota_id
	AND (v_storage_id = images_storage_domain_view.storage_id or v_storage_id IS NULL);
	RETURN v_actual_size + v_virtual_size;
END; $function$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace function create_uuid_sequence() returns void
as $procedure$
begin
  if not exists (select 1 from information_schema.sequences where sequence_name = 'uuid_sequence') then
    create sequence uuid_sequence increment by 1 start with 1;
  end if;
end; $procedure$
language plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
select create_uuid_sequence();
**************************

 

********* QUERY **********
drop function create_uuid_sequence();
**************************

DROP FUNCTION
********* QUERY **********
create or replace function uuid_generate_v1() returns uuid STABLE
as $procedure$
declare
    v_val bigint;
    v_4_part char(4);
    v_8_part char(8);
    v_12_part char(12);
    v_4_part_max int;
begin
    -- The only part we should use modulo is the 4 digit part, all the
    -- rest are really big numbers (i.e 16^8 - 1 and 16^12 - 1)
    v_4_part_max = 65535; -- this is 16^4 -1
    v_val := nextval('uuid_sequence');
    v_4_part := lpad(to_hex(v_val % v_4_part_max), 4, '0');
    v_8_part := lpad(to_hex(v_val), 8, '0');
    v_12_part := lpad(to_hex(v_val), 12, '0');
    return v_8_part || v_4_part || v_4_part || v_4_part || v_12_part;
end; $procedure$
language plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION fn_get_comparable_ip_list(text) RETURNS inet[] IMMUTABLE STRICT
AS $procedure$
BEGIN
CASE
    WHEN ($1 IS NULL) OR ($1 ~ E'^\s*$') THEN
        RETURN NULL;
    ELSE
        RETURN regexp_split_to_array(trim(both from $1), E'\s+')::inet[];
END CASE;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION fn_db_add_column(v_table varchar(128), v_column varchar(128), v_column_def text)
returns void
AS $procedure$
declare
v_sql text;

begin
	if (not exists (select 1 from information_schema.columns where table_name ilike v_table and column_name ilike v_column)) then
	    begin
		v_sql := 'ALTER TABLE ' || v_table || ' ADD COLUMN ' || v_column || ' ' || v_column_def;
		EXECUTE v_sql;
            end;
	end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION fn_db_drop_column(v_table varchar(128), v_column varchar(128))
returns void
AS $procedure$
declare
v_sql text;
begin
        if (exists (select 1 from information_schema.columns where table_name ilike v_table and column_name ilike v_column)) then
            begin
                v_sql := 'ALTER TABLE ' || v_table || ' DROP COLUMN ' || v_column;
                EXECUTE v_sql;
            end;
        end if;
end;$procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION fn_db_change_column_type(v_table varchar(128), v_column varchar(128),
                                                    v_type varchar(128), v_new_type varchar(128))
returns void
AS $procedure$
declare
v_sql text;

begin
	if (exists (select 1 from information_schema.columns where table_name ilike v_table and column_name ilike v_column and (udt_name ilike v_type or data_type ilike v_type))) then
	    begin
		v_sql := 'ALTER TABLE ' || v_table || ' ALTER COLUMN ' || v_column || ' TYPE ' || v_new_type;
		EXECUTE v_sql;
            end;
	end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION fn_db_rename_column(v_table varchar(128), v_column varchar(128), v_new_name varchar(128))
returns void
AS $procedure$
declare
v_sql text;

begin
	if (exists (select 1 from information_schema.columns where table_name ilike v_table and column_name ilike v_column)) then
	    begin
		v_sql := 'ALTER TABLE ' || v_table || ' RENAME COLUMN ' || v_column || ' TO ' || v_new_name;
		EXECUTE v_sql;
            end;
	end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_add_config_value(v_option_name varchar(100), v_option_value varchar(4000),
                                                  v_version varchar(40))
returns void
AS $procedure$
begin
    if (not exists (select 1 from vdc_options where option_name ilike v_option_name and version = v_version)) then
        begin
            insert into vdc_options (option_name, option_value, version) values (v_option_name, v_option_value, v_version);
        end;
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_delete_config_value_all_versions(v_option_name varchar(100))
returns void
AS $procedure$
begin
    if (exists (select 1 from vdc_options where option_name ilike v_option_name)) then
        begin
            delete from vdc_options where option_name ilike v_option_name;
        end;
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_delete_config_value(v_option_name varchar(100), v_version text)
returns void
AS $procedure$
begin
    if (exists (select 1 from vdc_options where option_name ilike v_option_name and version in (select ID from fnSplitter(v_version)))) then
        begin
            delete from vdc_options where option_name ilike v_option_name and version in (select ID from fnSplitter(v_version));
        end;
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_delete_config_for_version(v_version text)
returns void
AS $procedure$
BEGIN
     delete from vdc_options where version in (select ID from fnSplitter(v_version));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_update_config_value(v_option_name varchar(100), v_option_value varchar(4000),
                                                  v_version varchar(40))
returns void
AS $procedure$
begin
    if (exists (select 1 from vdc_options where option_name ilike v_option_name and version = v_version)) then
        begin
            update  vdc_options set option_value = v_option_value
            where option_name ilike v_option_name and version = v_version;
        end;
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_update_default_config_value(v_option_name varchar(100),v_default_option_value varchar(4000),v_option_value varchar(4000),v_version varchar(40),v_ignore_default_value_case boolean)
returns void
AS $procedure$
begin
    if (exists (select 1 from vdc_options where option_name ilike v_option_name and version = v_version)) then
        begin
            if (v_ignore_default_value_case)
            then
               update  vdc_options set option_value = v_option_value
               where option_name ilike v_option_name and option_value ilike v_default_option_value and version = v_version;
            else
               update  vdc_options set option_value = v_option_value
               where option_name ilike v_option_name and option_value = v_default_option_value and version = v_version;
            end if;
        end;
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_rename_config_key(v_old_option_name varchar(100),v_new_option_name varchar(100),v_version varchar(40))
returns void
AS $procedure$
DECLARE
    v_current_option_value varchar(4000);
begin
    if (exists (select 1 from vdc_options where option_name ilike v_old_option_name and version = v_version)) then
       v_current_option_value:=option_value from vdc_options where option_name ilike v_old_option_name and version = v_version;
       update vdc_options set option_name = v_new_option_name, option_value = v_current_option_value
           where  option_name ilike v_old_option_name and version = v_version;
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace function fn_db_create_constraint (
    v_table varchar(128), v_constraint varchar(128), v_constraint_sql text)
returns void
AS $procedure$
begin
    if  NOT EXISTS (SELECT 1 from pg_constraint where conname ilike v_constraint) then
        execute 'ALTER TABLE ' || v_table ||  ' ADD CONSTRAINT ' || v_constraint || ' ' || v_constraint_sql;
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace function fn_db_drop_constraint (
    v_table varchar(128), v_constraint varchar(128))
returns void
AS $procedure$
begin
    if  EXISTS (SELECT 1 from pg_constraint where conname ilike v_constraint) then
        execute 'ALTER TABLE ' || v_table ||  ' DROP CONSTRAINT ' || v_constraint || ' CASCADE';
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION attach_user_to_su_role(v_permission_id uuid)
  RETURNS void AS
$procedure$
   DECLARE
   v_user_entry VARCHAR(255);
   v_user_id  UUID;
   v_name  VARCHAR(255);
   v_domain  VARCHAR(255);
   v_user_name  VARCHAR(255);

   v_document  VARCHAR(64);
   v_index  INTEGER;
BEGIN

   select   option_value INTO v_user_entry from vdc_options where option_name = 'AdUserId';
   select   option_value INTO v_name from vdc_options where option_name = 'AdUserName';
   select   option_value INTO v_domain from vdc_options where option_name = 'DomainName';

   v_index := POSITION(':' IN v_user_entry);
   if ( v_index <> 0 ) then
      v_user_entry := substring( v_user_entry from v_index + 1 );
      v_user_id := CAST( v_user_entry AS uuid );
   end if;

   v_index := POSITION(':' IN v_name);
   if ( v_index <> 0 ) then
      v_name := substring( v_name from v_index + 1 );
   end if;

-- find if name already includes domain (@)
   v_index := POSITION('@' IN v_name);

   if (v_index = 0) then
      v_user_name := coalesce(v_name,'') || '@' || coalesce(v_domain,'');
   else
      v_user_name := v_name;
   end if;


insert into users(user_id,name,domain,username,groups,active) select v_user_id, v_name, v_domain, v_user_name,'',true where not exists (select user_id,name,domain,username,groups,active from users where user_id = v_user_id and name = v_name and domain = v_domain and username = v_user_name and groups = '' and active);

insert into permissions(id,role_id,ad_element_id,object_id,object_type_id) select v_permission_id, '00000000-0000-0000-0000-000000000001', v_user_id, getGlobalIds('system'), 1 where not exists(select role_id,ad_element_id,object_id,object_type_id from permissions where role_id = '00000000-0000-0000-0000-000000000001' and ad_element_id = v_user_id and object_id= getGlobalIds('system') and object_type_id = 1);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION CheckDBConnection() RETURNS SETOF integer IMMUTABLE
   AS $procedure$
BEGIN
    RETURN QUERY SELECT 1;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION generate_drop_all_functions_syntax() RETURNS SETOF text STABLE
   AS $procedure$
BEGIN
RETURN QUERY select 'drop function if exists ' || ns.nspname || '.' || proname || '(' || oidvectortypes(proargtypes) || ') cascade;' from pg_proc inner join pg_namespace ns on (pg_proc.pronamespace=ns.oid) where ns.nspname = 'public' order by proname;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION generate_drop_all_views_syntax() RETURNS SETOF text STABLE
   AS $procedure$
BEGIN
RETURN QUERY select 'DROP VIEW if exists ' || table_name || ' CASCADE;' from information_schema.views where table_schema = 'public' order by table_name;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION generate_drop_all_tables_syntax() RETURNS SETOF text STABLE
   AS $procedure$
BEGIN
RETURN QUERY select 'DROP TABLE if exists ' || table_name || ' CASCADE;' from information_schema.tables where table_schema = 'public' and table_type = 'BASE TABLE' order by table_name;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION generate_drop_all_seq_syntax() RETURNS SETOF text STABLE
   AS $procedure$
BEGIN
RETURN QUERY select 'DROP SEQUENCE if exists ' || sequence_name || ' CASCADE;' from information_schema.sequences  where sequence_schema = 'public' order by sequence_name;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION generate_drop_all_user_types_syntax() RETURNS SETOF text STABLE
   AS $procedure$
BEGIN
RETURN QUERY SELECT 'DROP TYPE if exists ' || c.relname::information_schema.sql_identifier || ' CASCADE;'
   FROM pg_namespace n, pg_class c, pg_type t
   WHERE n.oid = c.relnamespace and t.typrelid = c.oid and c.relkind = 'c'::"char" and
   n.nspname = 'public'
   ORDER BY  c.relname::information_schema.sql_identifier;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION fn_get_column_size( v_table varchar(64), v_column varchar(64)) returns integer STABLE
   AS $procedure$
   declare
   retvalue  integer;
BEGIN
   retvalue := character_maximum_length from information_schema.columns
    where
    table_name ilike v_table and column_name ilike v_column and
    table_schema = 'public' and udt_name in ('char','varchar');
   return retvalue;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION attach_user_to_su_role(
    v_permission_id uuid,
    v_user_id VARCHAR(255),
    v_name VARCHAR(255),
    v_domain VARCHAR(255)
)
RETURNS void AS
$BODY$
   DECLARE
   v_user_name VARCHAR(255);
   v_document  VARCHAR(64);
   v_index  INTEGER;
   input_uuid uuid;
   v_external_id BYTEA;
BEGIN
   input_uuid = CAST( v_user_id AS uuid );
-- find if name already includes domain (@)
   v_index := POSITION('@' IN v_name);

   if (v_index = 0) then
      v_user_name := coalesce(v_name,'') || '@' || coalesce(v_domain,'');
   else
      v_user_name := v_name;
   end if;

   -- The external identifier is the user identifier converted to an array of
   -- bytes:
   v_external_id := decode(replace(v_user_id::text, '-', ''), 'hex');

insert into users(user_id,external_id,name,domain,username,groups,active) select input_uuid, v_external_id, v_name, v_domain, v_user_name,'',true where not exists (select user_id,name,domain,username,groups,active from users where user_id = input_uuid);

insert into permissions(id,role_id,ad_element_id,object_id,object_type_id) select v_permission_id, '00000000-0000-0000-0000-000000000001', input_uuid, getGlobalIds('system'), 1 where not exists(select role_id,ad_element_id,object_id,object_type_id from permissions where role_id = '00000000-0000-0000-0000-000000000001' and ad_element_id = input_uuid and object_id= getGlobalIds('system') and object_type_id = 1);
END; $BODY$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION fn_db_add_action_group_to_role(v_role_id UUID, v_action_group_id INTEGER)
RETURNS VOID
AS $procedure$
BEGIN
       INSERT INTO roles_groups(role_id,action_group_id)
       SELECT v_role_id, v_action_group_id
       WHERE NOT EXISTS (SELECT 1
                         FROM roles_groups
                         WHERE role_id = v_role_id
                         AND action_group_id = v_action_group_id);
RETURN;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION fn_db_split_config_value(v_option_name character varying, v_old_option_value character varying, v_new_option_value character varying, v_update_from_version character varying)
  RETURNS void AS
$BODY$
declare
v_old_value varchar(4000);
v_cur cursor for select distinct version from vdc_options where version <> 'general' order by version;
v_version varchar(40);
v_index integer;
v_count integer;
v_total_count integer;
v_version_count integer;
begin
    v_total_count := count(version) from vdc_options where option_name = v_option_name;
    v_old_value := option_value from vdc_options where option_name = v_option_name and version = 'general';
    v_version_count := count(distinct version) from vdc_options where version <> 'general';
    if (v_total_count <= v_version_count) then
        begin
            if (v_old_value IS NULL) then
                v_old_value := v_old_option_value;
            end if;
            v_count := count(distinct version) from vdc_options where version <> 'general';
            v_index := 1;
        open v_cur;
        loop
            fetch v_cur into v_version;
            exit when not found;
            -- We shouldn't update if already exists
            if (not exists (select 1 from vdc_options where option_name = v_option_name and version = v_version)) then
                -- Might not work well for versions such as 3.10, but we currently don't have any
                if (v_version >= v_update_from_version) then
                    insert into vdc_options (option_name, option_value, version) values (v_option_name, v_new_option_value, v_version);
                else
                    insert into vdc_options (option_name, option_value, version) values (v_option_name, v_old_value, v_version);
                end if;
            end if;
            v_index := v_index +1;
        end loop;
        close v_cur;
        delete from vdc_options where option_name = v_option_name and version = 'general';
        end;
    end if;
END; $BODY$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION fn_db_grant_action_group_to_all_roles_filter(v_action_group_id integer, uuid[])
  RETURNS void AS
$BODY$
declare
v_role_id_to_filter alias for $2;
begin
    insert into roles_groups (role_id, action_group_id)
    select distinct role_id, v_action_group_id
    from roles_groups rg
    where not ARRAY [role_id] <@ v_role_id_to_filter and not exists (select 1 from roles_groups where role_id = rg.role_id and action_group_id = v_action_group_id);
END; $BODY$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION fn_db_mask_object(v_object regclass) RETURNS setof record as
$BODY$
DECLARE
    v_sql TEXT;
    v_table record;
    v_table_name TEXT;
    temprec record;
BEGIN
    -- get full table/view name from v_object (i.e <namespace>.<name>)
    select c.relname, n.nspname INTO v_table
        FROM pg_class c join pg_namespace n on c.relnamespace = n.oid WHERE c.oid = v_object;
    -- try to get filtered query syntax from previous execution
    if exists (select 1 from object_column_white_list_sql where object_name = v_table.relname) then
	select sql into v_sql from object_column_white_list_sql where object_name = v_table.relname;
    else
        v_table_name := quote_ident( v_table.nspname ) || '.' || quote_ident( v_table.relname );
        -- compose sql statement while skipping values for columns not defined in object_column_white_list for this table.
        for temprec in select a.attname, t.typname
                       FROM pg_attribute a join pg_type t on a.atttypid = t.oid
                       WHERE a.attrelid = v_object AND a.attnum > 0 AND NOT a.attisdropped ORDER BY a.attnum
        loop
            v_sql := coalesce( v_sql || ', ', 'SELECT ' );
            if exists(select 1 from object_column_white_list
               where object_name = v_table.relname and column_name = temprec.attname) then
               v_sql := v_sql || quote_ident( temprec.attname );
            ELSE
               v_sql := v_sql || 'NULL::' || quote_ident( temprec.typname ) || ' as ' || quote_ident( temprec.attname );
            END IF;
        END LOOP;
        v_sql := v_sql || ' FROM ' || v_table_name;
        v_sql := 'SELECT x::' || v_table_name || ' as rec FROM (' || v_sql || ') as x';
        -- save generated query for further use
        insert into object_column_white_list_sql(object_name,sql) values (v_table.relname, v_sql);
    end if;
    RETURN QUERY EXECUTE v_sql;
END; $BODY$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_add_column_to_object_white_list(v_object_name varchar(128), v_column_name varchar(128))
returns void
AS $procedure$
begin
    if (not exists (select 1 from object_column_white_list
                    where object_name = v_object_name and column_name = v_column_name)) then
        begin
            -- verify that there is such object in db
            if exists (select 1 from information_schema.columns
                       where table_name = v_object_name and column_name = v_column_name) then
                insert into object_column_white_list (object_name, column_name) values (v_object_name, v_column_name);
            end if;
        end;
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_unlock_disk(v_id UUID)
returns void
AS $procedure$
declare
    OK integer;
    LOCKED integer;
begin
    OK:=1;
    LOCKED:=2;
    update images set imagestatus = OK where imagestatus = LOCKED and
    image_group_id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_unlock_snapshot(v_id UUID)
returns void
AS $procedure$
declare
    OK varchar;
    LOCKED varchar;
begin
    OK:='OK';
    LOCKED:='LOCKED';
    update snapshots set status = OK where status = LOCKED and snapshot_id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_unlock_entity(v_object_type varchar(10), v_name varchar(255), v_recursive boolean)
returns void
AS $procedure$
declare
    DOWN integer;
    OK integer;
    LOCKED integer;
    TEMPLATE_OK integer;
    TEMPLATE_LOCKED integer;
    IMAGE_LOCKED integer;
    SNAPSHOT_OK varchar;
    SNAPSHOT_LOCKED varchar;
    v_id UUID;
begin
    DOWN:=0;
    OK:=1;
    LOCKED:=2;
    TEMPLATE_OK:=0;
    TEMPLATE_LOCKED:=1;
    IMAGE_LOCKED:=15;
    SNAPSHOT_OK:='OK';
    SNAPSHOT_LOCKED:='LOCKED';
    v_id := vm_guid from vm_static where vm_name = v_name and entity_type ilike v_object_type;
    -- set VM status to DOWN
    if (v_object_type = 'vm') then
        update vm_dynamic set status = DOWN where status = IMAGE_LOCKED and vm_guid  = v_id;
    -- set Template status to OK
    else
        if (v_object_type = 'template') then
            update vm_static set template_status = TEMPLATE_OK where template_status = TEMPLATE_LOCKED and vm_guid  = v_id;
        end if;
    end if;
    --unlock images and snapshots  if recursive flag is set
    if (v_recursive) then
        update images set imagestatus = OK where imagestatus = LOCKED and
        image_group_id in (select device_id from vm_device where vm_id = v_id and is_plugged);

        update snapshots set status = SNAPSHOT_OK where status ilike SNAPSHOT_LOCKED and vm_id = v_id;
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
/* Displays DC id , DC name, SPM Host id , SPM Host name and number of async tasks awaiting.

1) create a record type with DC name, DC id, SPM host id, SPM host name, count

2) get all distinct DC ids from async_tasks table

3) Run a cursor for each result in 2)

   a) get DC name
   b) get SPM Host id & name if available
   c) get count of tasks

   return current record

4) return set of generated records
*/
DROP TYPE IF EXISTS async_tasks_info_rs CASCADE;
**************************

DROP TYPE
********* QUERY **********
CREATE TYPE async_tasks_info_rs AS (
    dc_id UUID, dc_name CHARACTER VARYING, spm_host_id UUID, spm_host_name CHARACTER VARYING, task_count integer);
**************************

CREATE TYPE
********* QUERY **********
create or replace FUNCTION fn_db_get_async_tasks()
returns SETOF async_tasks_info_rs STABLE
AS $procedure$
DECLARE
    v_record async_tasks_info_rs;

    -- selects storage_pool_id uuid found in async_tasks
    v_tasks_cursor cursor for select distinct storage_pool_id from async_tasks;
begin

    OPEN v_tasks_cursor;
    FETCH v_tasks_cursor into v_record.dc_id;
    WHILE FOUND LOOP
        -- get dc_name and SPM Host id
        v_record.dc_name := name from storage_pool where id = v_record.dc_id;
        v_record.spm_host_id :=
            spm_vds_id from storage_pool where id = v_record.dc_id;
        -- get Host name if we have non NULL SPM Host
        if (v_record.spm_host_id IS NOT NULL) then
            v_record.spm_host_name :=
                vds_name from vds_static where vds_id = v_record.spm_host_id;
        else
            v_record.spm_host_name:='';
        end if;
        -- get tasks count for this DC
        v_record.task_count := count(*) from async_tasks
            where position (cast(v_record.dc_id as varchar) in action_parameters) > 0;
        -- return the record
        RETURN NEXT v_record;
        FETCH v_tasks_cursor into v_record.dc_id;
    END LOOP;
    CLOSE v_tasks_cursor;
    -- return full set of generated records
    RETURN;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
SELECT setval('vdc_options_seq', max(option_id)) FROM vdc_options;
**************************

    521

********* QUERY **********
SELECT setval('custom_actions_seq', max(action_id)) FROM custom_actions;
**************************

       

********* QUERY **********
SELECT setval('vdc_db_log_seq', max(error_id)) FROM vdc_db_log;
**************************

       

********* QUERY **********
SELECT setval('audit_log_seq', max(audit_log_id)) FROM audit_log;
**************************

    616

********* QUERY **********
SELECT setval('schema_version_seq', max(id)) FROM schema_version;
**************************

    329

********* QUERY **********
/************************************************************************************
                DATABASE APPLICATION CONFIGURATION FILE

This file is used to update the vdc_options configuration table.
The following sections are available:
    Add Section
    Update section (w/o overriding current value)
    Delete section
    Split config section
    Simple upgrades not available using a fn_db* function call
    Complex upgrades using temporary functions

In each section (except simple/function sections), entries are ordered by key,
please keep this when modifing this file.

PLEASE NOTE THAT THIS SCRIPT MUST REMAIN RE-ENTRANT!

************************************************************************************/



select fn_db_rename_config_key('AuditLogAgingThreashold', 'AuditLogAgingThreshold', 'general');
**************************

 

********* QUERY **********
select fn_db_rename_config_key('ClientConsoleModeDefault', 'ClientModeSpiceDefault', 'general');
**************************

 

********* QUERY **********
select fn_db_rename_config_key('PowerClientAutoApprovePatterns','AutoApprovePatterns','general');
**************************

 

********* QUERY **********
select fn_db_rename_config_key('PowerClientAutoRegistrationDefaultVdsGroupID','AutoRegistrationDefaultVdsGroupID','general');
**************************

 

********* QUERY **********
select fn_db_rename_config_key('PowerClientAutoInstallCertificateOnApprove','AutoInstallCertificateOnApprove','general');
**************************

 

********* QUERY **********
select fn_db_rename_config_key('UseSecureConnectionWithServers', 'EncryptHostCommunication', 'general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('AbortMigrationOnError','false','3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('AbortMigrationOnError','false','3.1');
**************************

 

********* QUERY **********
select fn_db_add_config_value('AbortMigrationOnError','false','3.2');
**************************

 

********* QUERY **********
select fn_db_add_config_value('AbortMigrationOnError','false','3.3');
**************************

 

********* QUERY **********
select fn_db_add_config_value('BootstrapMinimalVdsmVersion','4.9','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('CpuPinMigrationEnabled','true','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('CpuPinningEnabled','false','3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('AdminDomain','internal','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('AdminPassword','','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('AdminUser','admin','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('AdUserId','','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('AdUserName','','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('AdUserPassword','','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('AdvancedNFSOptionsEnabled','false','3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('AgentAppName','ovirt-guest-agent-common,ovirt-guest-agent','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('AllowClusterWithVirtGlusterEnabled','true','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('AllowDuplicateMacAddresses','false','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('ApplicationMode','255','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('AsyncTaskPollingRate','10','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('AsyncTaskStatusCacheRefreshRateInSeconds','30','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('AsyncTaskStatusCachingTimeInMinutes','1','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('AsyncTaskZombieTaskLifeInMinutes','300','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('AuditLogAgingThreshold','30','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('AuditLogCleanupTime','03:35:35','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('OnlyRequiredNetworksMandatoryForVdsSelection','false','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('AuthenticationMethod','LDAP','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('AutoApprovePatterns','','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('AutoInstallCertificateOnApprove','true','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('AutoRecoverySchedule','0 0/5 * * * ?','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('AutoRegistrationDefaultVdsGroupID','99408929-82CF-4DC7-A532-9D998063FA95','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('AutoRepoDomainRefreshTime','60','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('BlockMigrationOnSwapUsagePercentage','0','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('CipherSuite','DEFAULT','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('ConfigDir','/etc/engine','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('ConnectToServerTimeoutInSeconds','20','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('ClusterEmulatedMachines','rhel6.2.0,pc-1.0','3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('ClusterEmulatedMachines','rhel6.3.0,pc-1.0','3.1');
**************************

 

********* QUERY **********
select fn_db_add_config_value('ClusterEmulatedMachines','rhel6.4.0,pc-1.0','3.2');
**************************

 

********* QUERY **********
select fn_db_add_config_value('ClusterEmulatedMachines','rhel6.4.0,pc-1.0,pseries','3.3');
**************************

 

********* QUERY **********
select fn_db_add_config_value('ClusterEmulatedMachines','rhel6.5.0,pc-1.0,pseries','3.4');
**************************

 

********* QUERY **********
select fn_db_add_config_value('CpuOverCommitDurationMinutes','2','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('DataDir','/usr/share/engine','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('DBEngine','Postgres','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('DebugTimerLogging','true','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('DefaultMaxThreadPoolSize','500','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('DefaultMinThreadPoolSize','50','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('DefaultMaxThreadWaitQueueSize','100','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('DefaultWindowsTimeZone','GMT Standard Time','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('DefaultGeneralTimeZone','Etc/GMT','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('DefaultWorkgroup','WORKGROUP','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('DisableFenceAtStartupInSec','300','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('DirectLUNDiskEnabled','false','3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('DomainName','example.com','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('EnableHostTimeDrift','false','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('EnableSpiceRootCertificateValidation','true','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('EnableSwapCheck','true','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('EnableUSBAsDefault','true','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('EnableVdsLoadBalancing','true','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('EngineMode','Active','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('FailedJobCleanupTimeInMinutes','60','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('FenceAgentDefaultParams','ilo3:lanplus,power_wait=4;ilo4:lanplus,power_wait=4','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('FenceAgentMapping','drac7=ipmilan,ilo2=ilo,ilo3=ipmilan,ilo4=ipmilan','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('FenceProxyDefaultPreferences','cluster,dc','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('FenceQuietTimeBetweenOperationsInSec','180','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('FenceStartStatusDelayBetweenRetriesInSec','60','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('FenceStartStatusRetries','3','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('FenceStopStatusDelayBetweenRetriesInSec','60','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('FenceStopStatusRetries','3','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('FilteringLUNsEnabled','true','3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('FindFenceProxyDelayBetweenRetriesInSec','30','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('FindFenceProxyRetries','3','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('FreeSpaceCriticalLowInGB','5','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('FreeSpaceLow','10','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('GlusterHooksEnabled', 'false', '3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('GlusterHooksEnabled', 'false', '3.1');
**************************

 

********* QUERY **********
select fn_db_add_config_value('GlusterHooksEnabled', 'false', '3.2');
**************************

 

********* QUERY **********
select fn_db_add_config_value('GlusterHostUUIDSupport', 'false', '3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('GlusterHostUUIDSupport', 'false', '3.1');
**************************

 

********* QUERY **********
select fn_db_add_config_value('GlusterHostUUIDSupport', 'false', '3.2');
**************************

 

********* QUERY **********
select fn_db_add_config_value('GlusterRefreshHeavyWeight', 'false', '3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('GlusterRefreshHeavyWeight', 'false', '3.1');
**************************

 

********* QUERY **********
select fn_db_add_config_value('GlusterRefreshRateHooks', '7200', 'general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('GlusterRefreshRateLight', '5', 'general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('GlusterRefreshRateHeavy', '300', 'general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('GlusterServicesEnabled', 'false', '3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('GlusterServicesEnabled', 'false', '3.1');
**************************

 

********* QUERY **********
select fn_db_add_config_value('GlusterServicesEnabled', 'false', '3.2');
**************************

 

********* QUERY **********
select fn_db_add_config_value('GlusterSupport', 'false', '3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('GlusterSupportForceCreateVolume', 'false', '3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('GlusterSupportForceCreateVolume', 'false', '3.1');
**************************

 

********* QUERY **********
select fn_db_add_config_value('GlusterSupportForceCreateVolume', 'false', '3.2');
**************************

 

********* QUERY **********
select fn_db_add_config_value('GlusterSupportForceCreateVolume', 'false', '3.3');
**************************

 

********* QUERY **********
select fn_db_add_config_value('GlusterVolumeOptionGroupVirtValue','virt','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('GlusterVolumeOptionOwnerUserVirtValue','36','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('GlusterVolumeOptionOwnerGroupVirtValue','36','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('GlusterRefreshRateTasks', '60', 'general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('GlusterAysncTasksSupport', 'false', '3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('GlusterAysncTasksSupport', 'false', '3.1');
**************************

 

********* QUERY **********
select fn_db_add_config_value('GlusterAysncTasksSupport', 'false', '3.2');
**************************

 

********* QUERY **********
select fn_db_add_config_value('GlusterAysncTasksSupport', 'false', '3.3');
**************************

 

********* QUERY **********
select fn_db_add_config_value('GlusterPeerStatusRetries', '2', 'general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('KeystoneAuthUrl', '', 'general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('GuestToolsSetupIsoPrefix','RHEV-toolsSetup_','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('HardwareInfoEnabled','false','3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('HardwareInfoEnabled','false','3.1');
**************************

 

********* QUERY **********
select fn_db_add_config_value('HighUtilizationForEvenlyDistribute','75','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('HighUtilizationForPowerSave','75','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('HostPreparingForMaintenanceIdleTime', '300', 'general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('HostTimeDriftInSec','300','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('HotPlugEnabled','false','3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MigrationSupportForNativeUsb','false','3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MigrationSupportForNativeUsb','false','3.1');
**************************

 

********* QUERY **********
select fn_db_add_config_value('NetworkLinkingSupported','false','3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('NetworkLinkingSupported','false','3.1');
**************************

 

********* QUERY **********
select fn_db_add_config_value('DisconnectPoolOnReconstruct','0,2','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('InitStorageSparseSizeInGB','1','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('TunnelMigrationEnabled','false','3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('TunnelMigrationEnabled','false','3.1');
**************************

 

********* QUERY **********
select fn_db_add_config_value('TunnelMigrationEnabled','false','3.2');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MigrationNetworkEnabled','false','3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MigrationNetworkEnabled','false','3.1');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MigrationNetworkEnabled','false','3.2');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MultipleGatewaysSupported','false','3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MultipleGatewaysSupported','false','3.1');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MultipleGatewaysSupported','false','3.2');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MemorySnapshotSupported','false','3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MemorySnapshotSupported','false','3.1');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MemorySnapshotSupported','false','3.2');
**************************

 

********* QUERY **********
select fn_db_add_config_value('OsRepositoryConfDir','/osinfo.conf.d','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('VirtIoScsiEnabled','false','3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('VirtIoScsiEnabled','false','3.1');
**************************

 

********* QUERY **********
select fn_db_add_config_value('VirtIoScsiEnabled','false','3.2');
**************************

 

********* QUERY **********
select fn_db_add_config_value('NormalizedMgmgNetworkEnabled','false','3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('NormalizedMgmgNetworkEnabled','false','3.1');
**************************

 

********* QUERY **********
select fn_db_add_config_value('NormalizedMgmgNetworkEnabled','false','3.2');
**************************

 

********* QUERY **********
select fn_db_add_config_value('IterationsWithBalloonProblem','3','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MomPoliciesOnHostSupported','false','3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MomPoliciesOnHostSupported','false','3.1');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MomPoliciesOnHostSupported','false','3.2');
**************************

 

********* QUERY **********
select fn_db_add_config_value('NetworkQosSupported','false','3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('NetworkQosSupported','false','3.1');
**************************

 

********* QUERY **********
select fn_db_add_config_value('NetworkQosSupported','false','3.2');
**************************

 

********* QUERY **********
select fn_db_add_config_value('HostNetworkQosSupported', 'false', '3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('HostNetworkQosSupported', 'false', '3.1');
**************************

 

********* QUERY **********
select fn_db_add_config_value('HostNetworkQosSupported', 'false', '3.2');
**************************

 

********* QUERY **********
select fn_db_add_config_value('HostNetworkQosSupported', 'false', '3.3');
**************************

 

********* QUERY **********
select fn_db_add_config_value('CloudInitSupported','false','3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('CloudInitSupported','false','3.1');
**************************

 

********* QUERY **********
select fn_db_add_config_value('CloudInitSupported','false','3.2');
**************************

 

********* QUERY **********
select fn_db_add_config_value('HotPlugDiskSnapshotSupported','false','3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('HotPlugDiskSnapshotSupported','false','3.1');
**************************

 

********* QUERY **********
select fn_db_add_config_value('HotPlugDiskSnapshotSupported','false','3.2');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SpiceProxyDefault','','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('InstallVds','true','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('IoOpTimeoutSec','10','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('IPTablesConfig',
'# oVirt default firewall configuration. Automatically generated by vdsm bootstrap script.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
# vdsm
-A INPUT -p tcp --dport @VDSM_PORT@ -j ACCEPT
# libvirt tls
-A INPUT -p tcp --dport 16514 -j ACCEPT
# SSH
-A INPUT -p tcp --dport @SSH_PORT@ -j ACCEPT
# guest consoles
-A INPUT -p tcp -m multiport --dports 5900:6923 -j ACCEPT
# migration
-A INPUT -p tcp -m multiport --dports 49152:49216 -j ACCEPT
# snmp
-A INPUT -p udp --dport 161 -j ACCEPT
# Reject any other input traffic
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -m physdev ! --physdev-is-bridged -j REJECT --reject-with icmp-host-prohibited
COMMIT
','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('IPTablesConfigForGluster',
'
# glusterd
-A INPUT -p tcp -m tcp --dport 24007 -j ACCEPT

# gluster swift
-A INPUT -p tcp -m tcp --dport 8080  -j ACCEPT

# portmapper
-A INPUT -p udp -m udp --dport 111   -j ACCEPT
-A INPUT -p tcp -m tcp --dport 38465 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 38466 -j ACCEPT

# nfs
-A INPUT -p tcp -m tcp --dport 38467 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 2049  -j ACCEPT
-A INPUT -p tcp -m tcp --dport 38469 -j ACCEPT

# status
-A INPUT -p tcp -m tcp --dport 39543 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 55863 -j ACCEPT

# nlockmgr
-A INPUT -p tcp -m tcp --dport 38468 -j ACCEPT
-A INPUT -p udp -m udp --dport 963   -j ACCEPT
-A INPUT -p tcp -m tcp --dport 965   -j ACCEPT

# ctdbd
-A INPUT -p tcp -m tcp --dport 4379  -j ACCEPT

# smbd
-A INPUT -p tcp -m tcp --dport 139   -j ACCEPT
-A INPUT -p tcp -m tcp --dport 445   -j ACCEPT

# Ports for gluster volume bricks (default 100 ports)
-A INPUT -p tcp -m tcp --dport 24009:24108 -j ACCEPT
','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('IPTablesConfigForVirt',
'
# libvirt tls
-A INPUT -p tcp --dport 16514 -j ACCEPT

# guest consoles
-A INPUT -p tcp -m multiport --dports 5900:6923 -j ACCEPT

# migration
-A INPUT -p tcp -m multiport --dports 49152:49216 -j ACCEPT
', 'general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('IsMultilevelAdministrationOn','true','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('JobCleanupRateInMinutes','10','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('JobPageSize','100','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('LdapQueryPageSize','1000','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('LDAPQueryTimeout','30','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('LDAPConnectTimeout','30','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('LDAPOperationTimeout','30','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('LDAPSecurityAuthentication','GSSAPI','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('LDAPServerPort','389','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('LdapServers','','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('LDAPProviderTypes','','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('LeaseRetries','3','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('LeaseTimeSec','60','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('LicenseCertificateFingerPrint','5f 38 41 89 b1 33 49 0c 24 13 6b b3 e5 ba 9e c7 fd 83 80 3b','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('LiveSnapshotEnabled','false','3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('LocalAdminPassword','123456','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('LockPolicy','ON','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('LockRenewalIntervalSec','5','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('LogPhysicalMemoryThresholdInMB','1024','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('LowUtilizationForEvenlyDistribute','0','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('LowUtilizationForPowerSave','20','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MacPoolRanges','00:1A:4A:16:01:51-00:1A:4A:16:01:e6','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('ManagedDevicesWhiteList','','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('ManagementNetwork','ovirtmgmt','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MaxAuditLogMessageLength','10000','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MaxBlockDiskSize','8192','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MaxLDAPQueryPartsNumber','100','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MaxMacsCountInPool','100000','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MaxNumberOfHostsInStoragePool','250','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MaxNumOfCpuPerSocket','16','3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MaxNumOfCpuPerSocket','16','3.1');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MaxNumOfCpuPerSocket','16','3.2');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MaxNumOfCpuPerSocket','16','3.3');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MaxNumOfCpuPerSocket','16','3.4');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MaxNumOfVmCpus','64','3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MaxNumOfVmCpus','160','3.1');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MaxNumOfVmCpus','160','3.2');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MaxNumOfVmCpus','160','3.3');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MaxNumOfVmCpus','160','3.4');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MaxNumOfVmSockets','16','3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MaxNumOfVmSockets','16','3.1');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MaxNumOfVmSockets','16','3.2');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MaxNumOfVmSockets','16','3.3');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MaxNumOfVmSockets','16','3.4');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MaxRerunVmOnVdsCount','3','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MaxStorageVdsDelayCheckSec','5','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MaxStorageVdsTimeoutCheckSec','30','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MaxVdsMemOverCommit','200','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MaxVdsMemOverCommitForServers','150','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MaxVdsNameLength','255','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MaxVmNameLengthNonWindows','64','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MaxVmNameLengthWindows','15','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MaxVmsInPool','1000','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MinimalETLVersion','3.0.0','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('NativeUSBEnabled','false','3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('NicDHCPDelayGraceInMS','60','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('NonVmNetworkSupported','false','3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('NumberOfFailedRunsOnVds','3','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('NumberOfUSBSlots','4','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('NumberVmRefreshesBeforeSave','5','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SupportBridgesReportByVDSM','false','3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SupportBridgesReportByVDSM','false','3.1');
**************************

 

********* QUERY **********
select fn_db_add_config_value('EnableMACAntiSpoofingFilterRules','false', '3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('EnableMACAntiSpoofingFilterRules','false', '3.1');
**************************

 

********* QUERY **********
select fn_db_add_config_value('GlusterFsStorageEnabled','false','3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('GlusterFsStorageEnabled','false','3.1');
**************************

 

********* QUERY **********
select fn_db_add_config_value('GlusterFsStorageEnabled','false','3.2');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MaxSchedulerWeight','1000','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MTUOverrideSupported','false','3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('PortMirroringSupported','false','3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('PortMirroringSupported','false','3.1');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SpeedOptimizationSchedulingThreshold','10','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SchedulerAllowOverBooking','false','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SchedulerOverBookingThreshold','10','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('OrganizationName','oVirt','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('OriginType','OVIRT','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('OvfVirtualSystemType','ENGINE','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('OvirtInitialSupportedIsoVersion','2.5.5','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('OvirtIsoPrefix','ovirt-node','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('oVirtISOsRepositoryPath','/usr/share/ovirt-node-iso','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('oVirtUpgradeScriptName','/usr/share/vdsm-reg/vdsm-upgrade','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('oVirtUploadPath','/data/updates/ovirt-node-image.iso','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('OvfUpdateIntervalInMinutes','60','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('OvfItemsCountPerUpdate','100','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('PayloadSize','8192','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('PosixStorageEnabled','false','3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('PostgresI18NPrefix','','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('PostgresLikeSyntax','ILIKE','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('PostgresPagingSyntax',E' OFFSET (%1$s -1) LIMIT %2$s','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('PostgresPagingType','Offset','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('PostgresSearchTemplate',E'SELECT * FROM (%2$s) %1$s) as T1 %3$s','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('PredefinedVMProperties','sap_agent=^(true|false)$;sndbuf=^[0-9]+$;vhost=^(([a-zA-Z0-9_]*):(true|false))(,(([a-zA-Z0-9_]*):(true|false)))*$;viodiskcache=^(none|writeback|writethrough)$','3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('PredefinedVMProperties','sap_agent=^(true|false)$;sndbuf=^[0-9]+$;vhost=^(([a-zA-Z0-9_]*):(true|false))(,(([a-zA-Z0-9_]*):(true|false)))*$;viodiskcache=^(none|writeback|writethrough)$','3.1');
**************************

 

********* QUERY **********
select fn_db_add_config_value('PredefinedVMProperties','sap_agent=^(true|false)$;sndbuf=^[0-9]+$;vhost=^(([a-zA-Z0-9_]*):(true|false))(,(([a-zA-Z0-9_]*):(true|false)))*$;viodiskcache=^(none|writeback|writethrough)$','3.2');
**************************

 

********* QUERY **********
select fn_db_add_config_value('PredefinedVMProperties','sap_agent=^(true|false)$;sndbuf=^[0-9]+$;vhost=^(([a-zA-Z0-9_]*):(true|false))(,(([a-zA-Z0-9_]*):(true|false)))*$;viodiskcache=^(none|writeback|writethrough)$','3.3');
**************************

 

********* QUERY **********
select fn_db_add_config_value('PredefinedVMProperties','sap_agent=^(true|false)$;sndbuf=^[0-9]+$;vhost=^(([a-zA-Z0-9_]*):(true|false))(,(([a-zA-Z0-9_]*):(true|false)))*$;viodiskcache=^(none|writeback|writethrough)$','3.4');
**************************

 

********* QUERY **********
select fn_db_add_config_value('ProductRPMVersion','3.0.0.0','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('QuotaGraceStorage','20','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('QuotaGraceVdsGroup','20','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('QuotaThresholdStorage','80','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('QuotaThresholdVdsGroup','80','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('RedirectServletReportsPage','','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('RhevhLocalFSPath','/data/images/','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SANWipeAfterDelete','false','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SASL_QOP','auth-conf','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SearchResultsLimit','100','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SendSMPOnRunVm','true','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SendVmTicketUID','false','3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('ServerCPUList','3:Intel Conroe Family:vmx,nx,model_Conroe:Conroe:x86_64; 4:Intel Penryn Family:vmx,nx,model_Penryn:Penryn:x86_64; 5:Intel Nehalem Family:vmx,nx,model_Nehalem:Nehalem:x86_64; 6:Intel Westmere Family:aes,vmx,nx,model_Westmere:Westmere:x86_64; 2:AMD Opteron G1:svm,nx,model_Opteron_G1:Opteron_G1:x86_64; 3:AMD Opteron G2:svm,nx,model_Opteron_G2:Opteron_G2:x86_64; 4:AMD Opteron G3:svm,nx,model_Opteron_G3:Opteron_G3:x86_64;','3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('ServerCPUList','3:Intel Conroe Family:vmx,nx,model_Conroe:Conroe:x86_64; 4:Intel Penryn Family:vmx,nx,model_Penryn:Penryn:x86_64; 5:Intel Nehalem Family:vmx,nx,model_Nehalem:Nehalem:x86_64; 6:Intel Westmere Family:aes,vmx,nx,model_Westmere:Westmere:x86_64; 2:AMD Opteron G1:svm,nx,model_Opteron_G1:Opteron_G1:x86_64; 3:AMD Opteron G2:svm,nx,model_Opteron_G2:Opteron_G2:x86_64; 4:AMD Opteron G3:svm,nx,model_Opteron_G3:Opteron_G3:x86_64;','3.1');
**************************

 

********* QUERY **********
select fn_db_add_config_value('ServerCPUList','3:Intel Conroe Family:vmx,nx,model_Conroe:Conroe:x86_64; 4:Intel Penryn Family:vmx,nx,model_Penryn:Penryn:x86_64; 5:Intel Nehalem Family:vmx,nx,model_Nehalem:Nehalem:x86_64; 6:Intel Westmere Family:aes,vmx,nx,model_Westmere:Westmere:x86_64; 7:Intel SandyBridge Family:vmx,nx,model_SandyBridge:SandyBridge:x86_64; 8:Intel Haswell:vmx,nx,model_Haswell:Haswell:x86_64; 2:AMD Opteron G1:svm,nx,model_Opteron_G1:Opteron_G1:x86_64; 3:AMD Opteron G2:svm,nx,model_Opteron_G2:Opteron_G2:x86_64; 4:AMD Opteron G3:svm,nx,model_Opteron_G3:Opteron_G3:x86_64; 5:AMD Opteron G4:svm,nx,model_Opteron_G4:Opteron_G4:x86_64; 6:AMD Opteron G5:smx,nx,model_Opteron_G5:Opteron_G5:x86_64;','3.2');
**************************

 

********* QUERY **********
select fn_db_add_config_value('ServerCPUList','3:Intel Conroe Family:vmx,nx,model_Conroe:Conroe:x86_64; 4:Intel Penryn Family:vmx,nx,model_Penryn:Penryn:x86_64; 5:Intel Nehalem Family:vmx,nx,model_Nehalem:Nehalem:x86_64; 6:Intel Westmere Family:aes,vmx,nx,model_Westmere:Westmere:x86_64; 7:Intel SandyBridge Family:vmx,nx,model_SandyBridge:SandyBridge:x86_64; 8:Intel Haswell:vmx,nx,model_Haswell:Haswell:x86_64; 2:AMD Opteron G1:svm,nx,model_Opteron_G1:Opteron_G1:x86_64; 3:AMD Opteron G2:svm,nx,model_Opteron_G2:Opteron_G2:x86_64; 4:AMD Opteron G3:svm,nx,model_Opteron_G3:Opteron_G3:x86_64; 5:AMD Opteron G4:svm,nx,model_Opteron_G4:Opteron_G4:x86_64; 6:AMD Opteron G5:smx,nx,model_Opteron_G5:Opteron_G5:x86_64; :IBM POWER 7 v2.0:powernv,model_POWER7_v2.0:POWER7_v2.0:ppc64; :IBM POWER 7 v2.1:powernv,model_POWER7_v2.1:POWER7_v2.1:ppc64; :IBM POWER 7 v2.3:powernv,model_POWER7_v2.3:POWER7_v2.3:ppc64; :IBM POWER 7+ v2.1:powernv,model_POWER7+_v2.1:POWER7+_v2.1:ppc64; :IBM POWER 8 v1.0:powernv,model_POWER8_v1.0:POWER8_v1.0:ppc64;','3.3');
**************************

 

********* QUERY **********
select fn_db_add_config_value('ServerCPUList','3:Intel Conroe Family:vmx,nx,model_Conroe:Conroe:x86_64; 4:Intel Penryn Family:vmx,nx,model_Penryn:Penryn:x86_64; 5:Intel Nehalem Family:vmx,nx,model_Nehalem:Nehalem:x86_64; 6:Intel Westmere Family:aes,vmx,nx,model_Westmere:Westmere:x86_64; 7:Intel SandyBridge Family:vmx,nx,model_SandyBridge:SandyBridge:x86_64; 8:Intel Haswell:vmx,nx,model_Haswell:Haswell:x86_64; 2:AMD Opteron G1:svm,nx,model_Opteron_G1:Opteron_G1:x86_64; 3:AMD Opteron G2:svm,nx,model_Opteron_G2:Opteron_G2:x86_64; 4:AMD Opteron G3:svm,nx,model_Opteron_G3:Opteron_G3:x86_64; 5:AMD Opteron G4:svm,nx,model_Opteron_G4:Opteron_G4:x86_64; 6:AMD Opteron G5:smx,nx,model_Opteron_G5:Opteron_G5:x86_64; :IBM POWER 7 v2.0:powernv,model_POWER7_v2.0:POWER7_v2.0:ppc64; :IBM POWER 7 v2.1:powernv,model_POWER7_v2.1:POWER7_v2.1:ppc64; :IBM POWER 7 v2.3:powernv,model_POWER7_v2.3:POWER7_v2.3:ppc64; :IBM POWER 7+ v2.1:powernv,model_POWER7+_v2.1:POWER7+_v2.1:ppc64; :IBM POWER 8 v1.0:powernv,model_POWER8_v1.0:POWER8_v1.0:ppc64;','3.4');
**************************

 

********* QUERY **********
select fn_db_add_config_value('ServerRebootTimeout','300','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SetupNetworksPollingTimeout','3','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('ShareableDiskEnabled','false','3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SignCertTimeoutInSeconds','30','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SpiceDriverNameInGuest','RHEV-Spice','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SpiceReleaseCursorKeys','shift+f12','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SpiceToggleFullScreenKeys','shift+f11','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SpiceUsbAutoShare','true','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('WANDisableEffects','animation','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('WANColorDepth','16','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SpmCommandFailOverRetries','3','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SPMFailOverAttempts','3','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SpmVCpuConsumption','1','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SSHInactivityTimoutSeconds','300','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SSHInactivityHardTimoutSeconds','1800','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SSLEnabled','true','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('StorageDomainFalureTimeoutInMinutes','5','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('StorageDomainNameSizeLimit','50','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('StoragePoolNameSizeLimit','40','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('StoragePoolNonOperationalResetTimeoutInMin','3','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('StoragePoolRefreshTimeInSeconds','10','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SucceededJobCleanupTimeInMinutes','10','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SupportedClusterLevels','3.0','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SupportedStorageFormats','0,2','3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SupportedStorageFormats','0,2,3','3.1');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SupportedStorageFormats','0,2,3','3.2');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SupportedStorageFormats','0,2,3','3.3');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SupportedStorageFormats','0,2,3','3.4');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SupportedVDSMVersions','4.5,4.9','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SupportForceCreateVG','false','3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SupportForceExtendVG','false','3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SupportForceExtendVG','false','3.1');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SysPrep2K3Path','/etc/ovirt-engine/sysprep/sysprep.2k3','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SysPrep2K8Path','/etc/ovirt-engine/sysprep/sysprep.2k8x86','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SysPrep2K8R2Path','/etc/ovirt-engine/sysprep/sysprep.2k8','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SysPrep2K8x64Path','/etc/ovirt-engine/sysprep/sysprep.2k8','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SysPrepDefaultPassword','','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SysPrepDefaultUser','','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SysPrepWindows7Path','/etc/ovirt-engine/sysprep/sysprep.w7','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SysPrepWindows7x64Path','/etc/ovirt-engine/sysprep/sysprep.w7x64','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SysPrepWindows8Path','/etc/ovirt-engine/sysprep/sysprep.w8','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SysPrepWindows8x64Path','/etc/ovirt-engine/sysprep/sysprep.w8x64','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SysPrepWindows2012x64Path','/etc/ovirt-engine/sysprep/sysprep.2k12x64','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SysPrepXPPath','/etc/ovirt-engine/sysprep/sysprep.xp','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('ThrottlerMaxWaitForVdsUpdateInMillis','10000','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('TimeoutToResetVdsInSeconds','60','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('DelayResetForSpmInSeconds','20','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('DelayResetPerVmInSeconds','0.5','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('EncryptHostCommunication','true','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('TimeToReduceFailedRunOnVdsInMinutes','30','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('UknownTaskPrePollingLapse','60000','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('UserDefinedVMProperties','','3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('UserDefinedVMProperties','','3.1');
**************************

 

********* QUERY **********
select fn_db_add_config_value('UserDefinedVMProperties','','3.2');
**************************

 

********* QUERY **********
select fn_db_add_config_value('UserDefinedVMProperties','','3.3');
**************************

 

********* QUERY **********
select fn_db_add_config_value('UserDefinedVMProperties','','3.4');
**************************

 

********* QUERY **********
select fn_db_add_config_value('UserRefreshRate','3600','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('UserSessionTimeOutInterval','30','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('UtilizationThresholdInPercent','80','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('ValidNumOfMonitors','1,2,4','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('VcpuConsumptionPercentage','10','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('VdcVersion','3.0.0.0','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('VDSAttemptsToResetCount','2','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('VdsCertificateValidityInYears','5','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('vdsConnectionTimeout','2','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('VdsFenceOptionMapping','alom:secure=secure,port=ipport;apc:secure=secure,port=ipport,slot=port;bladecenter:secure=secure,port=ipport,slot=port;drac5:secure=secure,port=ipport;eps:slot=port;ilo:secure=ssl,port=ipport;ipmilan:;rsa:secure=secure,port=ipport;rsb:;wti:secure=secure,port=ipport,slot=port','3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('VdsFenceOptionMapping','alom:secure=secure,port=ipport;apc:secure=secure,port=ipport,slot=port;bladecenter:secure=secure,port=ipport,slot=port;drac5:secure=secure,port=ipport;eps:slot=port;ilo:secure=ssl,port=ipport;ipmilan:;rsa:secure=secure,port=ipport;rsb:;wti:secure=secure,port=ipport,slot=port','3.1');
**************************

 

********* QUERY **********
select fn_db_add_config_value('VdsFenceOptionMapping','apc:secure=secure,port=ipport,slot=port;apc_snmp:port=port;bladecenter:secure=secure,port=ipport,slot=port;cisco_ucs:secure=ssl,slot=port;drac5:secure=secure,slot=port;eps:slot=port;ilo:secure=ssl,port=ipport;ipmilan:;ilo2:secure=ssl,port=ipport;ilo3:;ilo4:;rsa:secure=secure,port=ipport;rsb:;wti:secure=secure,port=ipport,slot=port','3.2');
**************************

 

********* QUERY **********
select fn_db_add_config_value('VdsFenceOptionMapping','apc:secure=secure,port=ipport,slot=port;apc_snmp:port=port;bladecenter:secure=secure,port=ipport,slot=port;cisco_ucs:secure=ssl,slot=port;drac5:secure=secure,slot=port;eps:slot=port;ilo:secure=ssl,port=ipport;ipmilan:;ilo2:secure=ssl,port=ipport;ilo3:;ilo4:;rsa:secure=secure,port=ipport;rsb:;wti:secure=secure,port=ipport,slot=port','3.3');
**************************

 

********* QUERY **********
select fn_db_add_config_value('VdsFenceOptionMapping','apc:secure=secure,port=ipport,slot=port;apc_snmp:port=port;bladecenter:secure=secure,port=ipport,slot=port;cisco_ucs:secure=ssl,slot=port;drac5:secure=secure,slot=port;drac7:;eps:slot=port;hpblade:port=port;ilo:secure=ssl,port=ipport;ipmilan:;ilo2:secure=ssl,port=ipport;ilo3:;ilo4:;rsa:secure=secure,port=ipport;rsb:;wti:secure=secure,port=ipport,slot=port','3.4');
**************************

 

********* QUERY **********
select fn_db_add_config_value('VdsFenceOptions','','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('VdsFenceOptionTypes','secure=bool,port=int,slot=int','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('VdsFenceType','alom,apc,bladecenter,drac5,eps,ilo,ilo3,ipmilan,rsa,rsb,wti,cisco_ucs','3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('VdsFenceType','alom,apc,bladecenter,drac5,eps,ilo,ilo3,ipmilan,rsa,rsb,wti,cisco_ucs','3.1');
**************************

 

********* QUERY **********
select fn_db_add_config_value('VdsFenceType','apc,apc_snmp,bladecenter,cisco_ucs,drac5,eps,ilo,ilo2,ilo3,ilo4,ipmilan,rsa,rsb,wti','3.2');
**************************

 

********* QUERY **********
select fn_db_add_config_value('VdsFenceType','apc,apc_snmp,bladecenter,cisco_ucs,drac5,eps,ilo,ilo2,ilo3,ilo4,ipmilan,rsa,rsb,wti','3.3');
**************************

 

********* QUERY **********
select fn_db_add_config_value('VdsFenceType','apc,apc_snmp,bladecenter,cisco_ucs,drac5,drac7,eps,hpblade,ilo,ilo2,ilo3,ilo4,ipmilan,rsa,rsb,wti','3.4');
**************************

 

********* QUERY **********
select fn_db_add_config_value('VdsLoadBalancingeIntervalInMinutes','1','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('VdsLocalDisksCriticallyLowFreeSpace','100','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('VdsLocalDisksLowFreeSpace','500','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('VdsRecoveryTimeoutInMintues','3','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('VdsRefreshRate','2','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('vdsRetries','0','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('VdsSelectionAlgorithm','None','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('vdsTimeout','180','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('VM32BitMaxMemorySizeInMB','20480','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('VM64BitMaxMemorySizeInMB','524288','3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('VM64BitMaxMemorySizeInMB','2097152','3.1');
**************************

 

********* QUERY **********
select fn_db_add_config_value('VM64BitMaxMemorySizeInMB','2097152','3.2');
**************************

 

********* QUERY **********
select fn_db_add_config_value('VM64BitMaxMemorySizeInMB','2097152','3.3');
**************************

 

********* QUERY **********
select fn_db_add_config_value('VM64BitMaxMemorySizeInMB','2097152','3.4');
**************************

 

********* QUERY **********
select fn_db_add_config_value('VmGracefulShutdownMessage','System Administrator has initiated shutdown of this Virtual Machine. Virtual Machine is shutting down.','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('VmGracefulShutdownTimeout','30','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('VMMinMemorySizeInMB','256','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('VmPoolMaxSubsequentFailures','3','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('VmPoolMonitorBatchSize','5','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('VmPoolMonitorIntervalInMinutes','5','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('VmPoolMonitorMaxAttempts','3','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('VmPriorityMaxValue','100','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('AutoStartVmsRunnerIntervalInSeconds','1','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('RetryToRunAutoStartVmIntervalInSeconds','30','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MaxNumOfTriesToRunFailedAutoStartVm','10','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('VncKeyboardLayout','en-us','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('VncKeyboardLayoutValidValues','ar,da,de,de-ch,en-gb,en-us,es,et,fi,fo,fr,fr-be,fr-ca,fr-ch,hr,hu,is,it,ja,lt,lv,mk,nl,nl-be,no,pl,pt,pt-br,ru,sl,sv,th,tr','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('WaitForVdsInitInSec','60','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('NetworkConnectivityCheckTimeoutInSeconds','120','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('AutoRecoveryAllowedTypes','{\"storage domains\":\"true\",\"hosts\":\"true\"}','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('ClientModeSpiceDefault','Auto','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('ClientModeVncDefault','Native','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('ClientModeRdpDefault','Auto','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('UseFqdnForRdpIfAvailable','true','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('WebSocketProxy','Off','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('WebSocketProxyTicketValiditySeconds','120','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('LogMaxPhysicalMemoryUsedThresholdInPercentage', '95', 'general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('LogMaxCpuUsedThresholdInPercentage', '95', 'general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('LogMaxNetworkUsedThresholdInPercentage', '95', 'general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('LogMinFreeSwapThresholdInMB', '256', 'general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('LogMaxSwapUsedThresholdInPercentage', '95', 'general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SupportCustomDeviceProperties', 'false', '3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SupportCustomDeviceProperties', 'false', '3.1');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SupportCustomDeviceProperties', 'false', '3.2');
**************************

 

********* QUERY **********
select fn_db_add_config_value('CustomDeviceProperties', '', '3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('CustomDeviceProperties', '', '3.1');
**************************

 

********* QUERY **********
select fn_db_add_config_value('CustomDeviceProperties', '', '3.2');
**************************

 

********* QUERY **********
select fn_db_add_config_value('CustomDeviceProperties', '', '3.3');
**************************

 

********* QUERY **********
select fn_db_add_config_value('CustomDeviceProperties', '', '3.4');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SshSoftFencingCommand', 'service vdsmd restart', '3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SshSoftFencingCommand', 'service vdsmd restart', '3.1');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SshSoftFencingCommand', 'service vdsmd restart', '3.2');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SshSoftFencingCommand', '/usr/bin/vdsm-tool service-restart vdsmd', '3.3');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SshSoftFencingCommand', '/usr/bin/vdsm-tool service-restart vdsmd', '3.4');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SecureConnectionWithOATServers','true','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('PollUri','AttestationService/resources/PollHosts','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('AttestationTruststore','TrustStore.jks','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('AttestationPort','8443','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('AttestationTruststorePass','','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('AttestationServer','','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('AttestationFirstStageSize','10','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MaxAverageNetworkQoSValue','1024','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MaxPeakNetworkQoSValue','2048','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('MaxBurstNetworkQoSValue','10240','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('UserMessageOfTheDay','','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('QoSInboundAverageDefaultValue','10','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('QoSInboundPeakDefaultValue','10','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('QoSInboundBurstDefaultValue','100','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('QoSOutboundAverageDefaultValue','10','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('QoSOutboundPeakDefaultValue','10','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('QoSOutboundBurstDefaultValue','100','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SingleQxlPciEnabled','false','3.0');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SingleQxlPciEnabled','false','3.1');
**************************

 

********* QUERY **********
select fn_db_add_config_value('SingleQxlPciEnabled','false','3.2');
**************************

 

********* QUERY **********
select fn_db_add_config_value('ExternalSchedulerServiceURL','http://localhost:18781/','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('ExternalSchedulerConnectionTimeout','100','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('ExternalSchedulerEnabled','false','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('ExternalSchedulerResponseTimeout','120000','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('DwhHeartBeatInterval', '30', 'general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('DisconnectDwh', '0', 'general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('GlanceImageListSize','20','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('GlanceImageTotalListSize','500','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('OverUtilizationForHaReservation','200','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('ScaleDownForHaReservation','1','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('EnableVdsHaReservation','true','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('VdsHaReservationIntervalInMinutes','5','general');
**************************

 

********* QUERY **********
select fn_db_add_config_value('DefaultMaximumMigrationDowntime','0','general');
**************************

 

********* QUERY **********
select fn_db_update_config_value('AutoRecoveryAllowedTypes','{\"storage domains\":\"true\",\"hosts\":\"true\"}','general');
**************************

 

********* QUERY **********
select fn_db_update_config_value('BootstrapMinimalVdsmVersion','4.9','general');
**************************

 

********* QUERY **********
select fn_db_update_config_value('DBEngine','Postgres','general');
**************************

 

********* QUERY **********
select fn_db_update_config_value('DefaultTimeZone','(GMT) GMT Standard Time','general');
**************************

 

********* QUERY **********
select fn_db_update_config_value('FenceAgentDefaultParams','ilo3:lanplus,power_wait=4;ilo4:lanplus,power_wait=4','general');
**************************

 

********* QUERY **********
select fn_db_update_config_value('FenceAgentMapping','drac7=ipmilan,ilo2=ilo,ilo3=ipmilan,ilo4=ipmilan','general');
**************************

 

********* QUERY **********
select fn_db_update_config_value('FenceStartStatusDelayBetweenRetriesInSec','10','general');
**************************

 

********* QUERY **********
select fn_db_update_config_value('FenceStartStatusRetries','18','general');
**************************

 

********* QUERY **********
select fn_db_update_config_value('FenceStopStatusDelayBetweenRetriesInSec','10','general');
**************************

 

********* QUERY **********
select fn_db_update_config_value('FenceStopStatusRetries','18','general');
**************************

 

********* QUERY **********
select fn_db_update_config_value('IPTablesConfig','
# oVirt default firewall configuration. Automatically generated by vdsm bootstrap script.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

-A INPUT -i lo -j ACCEPT
# vdsm
-A INPUT -p tcp --dport @VDSM_PORT@ -j ACCEPT
# SSH
-A INPUT -p tcp --dport @SSH_PORT@ -j ACCEPT
# snmp
-A INPUT -p udp --dport 161 -j ACCEPT

@CUSTOM_RULES@

# Reject any other input traffic
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -m physdev ! --physdev-is-bridged -j REJECT --reject-with icmp-host-prohibited
COMMIT
','general');
**************************

 

********* QUERY **********
select fn_db_update_config_value('IPTablesConfigForGluster',
'
# glusterd
-A INPUT -p tcp -m tcp --dport 24007 -j ACCEPT

# gluster swift
-A INPUT -p tcp -m tcp --dport 8080  -j ACCEPT

# portmapper
-A INPUT -p udp -m udp --dport 111   -j ACCEPT
-A INPUT -p tcp -m tcp --dport 38465 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 38466 -j ACCEPT

# nfs
-A INPUT -p tcp -m tcp --dport 111   -j ACCEPT
-A INPUT -p tcp -m tcp --dport 38467 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 2049  -j ACCEPT
-A INPUT -p tcp -m tcp --dport 38469 -j ACCEPT

# status
-A INPUT -p tcp -m tcp --dport 39543 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 55863 -j ACCEPT

# nlockmgr
-A INPUT -p tcp -m tcp --dport 38468 -j ACCEPT
-A INPUT -p udp -m udp --dport 963   -j ACCEPT
-A INPUT -p tcp -m tcp --dport 965   -j ACCEPT

# ctdbd
-A INPUT -p tcp -m tcp --dport 4379  -j ACCEPT

# smbd
-A INPUT -p tcp -m tcp --dport 139   -j ACCEPT
-A INPUT -p tcp -m tcp --dport 445   -j ACCEPT

# Ports for gluster volume bricks (default 100 ports)
-A INPUT -p tcp -m tcp --dport 24009:24108 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 49152:49251 -j ACCEPT
','general');
**************************

 

********* QUERY **********
select fn_db_update_config_value('IPTablesConfigForVirt',
'
# libvirt tls
-A INPUT -p tcp --dport 16514 -j ACCEPT

# guest consoles
-A INPUT -p tcp -m multiport --dports 5900:6923 -j ACCEPT

# migration
-A INPUT -p tcp -m multiport --dports 49152:49216 -j ACCEPT
', 'general');
**************************

 

********* QUERY **********
select fn_db_update_config_value('IsMultilevelAdministrationOn','true','general');
**************************

 

********* QUERY **********
select fn_db_update_config_value('MaxNumOfVmCpus','64','3.0');
**************************

 

********* QUERY **********
select fn_db_update_config_value('MaxNumOfVmCpus','160','3.1');
**************************

 

********* QUERY **********
select fn_db_update_config_value('MaxNumOfVmCpus','160','3.2');
**************************

 

********* QUERY **********
select fn_db_update_config_value('MigrationSupportForNativeUsb','false','3.0');
**************************

 

********* QUERY **********
select fn_db_update_config_value('MigrationSupportForNativeUsb','false','3.1');
**************************

 

********* QUERY **********
select fn_db_update_config_value('MinimalETLVersion','3.4.0','general');
**************************

 

********* QUERY **********
select fn_db_update_config_value('OvirtInitialSupportedIsoVersion','2.5.5','general');
**************************

 

********* QUERY **********
select fn_db_update_config_value('OvirtIsoPrefix','ovirt-node','general');
**************************

 

********* QUERY **********
select fn_db_update_config_value('oVirtISOsRepositoryPath','/usr/share/ovirt-node-iso','general');
**************************

 

********* QUERY **********
select fn_db_update_config_value('PostgresPagingSyntax','OFFSET (%1$s -1) LIMIT %2$s','general');
**************************

 

********* QUERY **********
select fn_db_update_config_value('PostgresSearchTemplate','SELECT * FROM (%2$s) %1$s) as T1 %3$s','general');
**************************

 

********* QUERY **********
select fn_db_update_config_value('RhevhLocalFSPath','/data/images/rhev','general');
**************************

 

********* QUERY **********
select fn_db_update_config_value('ServerCPUList','3:Intel Conroe Family:vmx,nx,model_Conroe:Conroe:x86_64; 4:Intel Penryn Family:vmx,nx,model_Penryn:Penryn:x86_64; 5:Intel Nehalem Family:vmx,nx,model_Nehalem:Nehalem:x86_64; 6:Intel Westmere Family:aes,vmx,nx,model_Westmere:Westmere:x86_64; 2:AMD Opteron G1:svm,nx,model_Opteron_G1:Opteron_G1:x86_64; 3:AMD Opteron G2:svm,nx,model_Opteron_G2:Opteron_G2:x86_64; 4:AMD Opteron G3:svm,nx,model_Opteron_G3:Opteron_G3:x86_64;','3.0');
**************************

 

********* QUERY **********
select fn_db_update_config_value('ServerCPUList','3:Intel Conroe Family:vmx,nx,model_Conroe:Conroe:x86_64; 4:Intel Penryn Family:vmx,nx,model_Penryn:Penryn:x86_64; 5:Intel Nehalem Family:vmx,nx,model_Nehalem:Nehalem:x86_64; 6:Intel Westmere Family:aes,vmx,nx,model_Westmere:Westmere:x86_64; 7:Intel SandyBridge Family:vmx,nx,model_SandyBridge:SandyBridge:x86_64; 2:AMD Opteron G1:svm,nx,model_Opteron_G1:Opteron_G1:x86_64; 3:AMD Opteron G2:svm,nx,model_Opteron_G2:Opteron_G2:x86_64; 4:AMD Opteron G3:svm,nx,model_Opteron_G3:Opteron_G3:x86_64; 5:AMD Opteron G4:svm,nx,model_Opteron_G4:Opteron_G4:x86_64;','3.1');
**************************

 

********* QUERY **********
select fn_db_update_config_value('ServerCPUList','3:Intel Conroe Family:vmx,nx,model_Conroe:Conroe:x86_64; 4:Intel Penryn Family:vmx,nx,model_Penryn:Penryn:x86_64; 5:Intel Nehalem Family:vmx,nx,model_Nehalem:Nehalem:x86_64; 6:Intel Westmere Family:aes,vmx,nx,model_Westmere:Westmere:x86_64; 7:Intel SandyBridge Family:vmx,nx,model_SandyBridge:SandyBridge:x86_64; 8:Intel Haswell:vmx,nx,model_Haswell:Haswell:x86_64; 2:AMD Opteron G1:svm,nx,model_Opteron_G1:Opteron_G1:x86_64; 3:AMD Opteron G2:svm,nx,model_Opteron_G2:Opteron_G2:x86_64; 4:AMD Opteron G3:svm,nx,model_Opteron_G3:Opteron_G3:x86_64; 5:AMD Opteron G4:svm,nx,model_Opteron_G4:Opteron_G4:x86_64; 6:AMD Opteron G5:smx,nx,model_Opteron_G5:Opteron_G5:x86_64;','3.2');
**************************

 

********* QUERY **********
select fn_db_update_config_value('ServerCPUList','3:Intel Conroe Family:vmx,nx,model_Conroe:Conroe:x86_64; 4:Intel Penryn Family:vmx,nx,model_Penryn:Penryn:x86_64; 5:Intel Nehalem Family:vmx,nx,model_Nehalem:Nehalem:x86_64; 6:Intel Westmere Family:aes,vmx,nx,model_Westmere:Westmere:x86_64; 7:Intel SandyBridge Family:vmx,nx,model_SandyBridge:SandyBridge:x86_64; 8:Intel Haswell:vmx,nx,model_Haswell:Haswell:x86_64; 2:AMD Opteron G1:svm,nx,model_Opteron_G1:Opteron_G1:x86_64; 3:AMD Opteron G2:svm,nx,model_Opteron_G2:Opteron_G2:x86_64; 4:AMD Opteron G3:svm,nx,model_Opteron_G3:Opteron_G3:x86_64; 5:AMD Opteron G4:svm,nx,model_Opteron_G4:Opteron_G4:x86_64; 6:AMD Opteron G5:smx,nx,model_Opteron_G5:Opteron_G5:x86_64; :IBM POWER 7 v2.0:powernv,model_POWER7_v2.0:POWER7_v2.0:ppc64; :IBM POWER 7 v2.1:powernv,model_POWER7_v2.1:POWER7_v2.1:ppc64; :IBM POWER 7 v2.3:powernv,model_POWER7_v2.3:POWER7_v2.3:ppc64; :IBM POWER 7+ v2.1:powernv,model_POWER7+_v2.1:POWER7+_v2.1:ppc64; :IBM POWER 8 v1.0:powernv,model_POWER8_v1.0:POWER8_v1.0:ppc64;','3.3');
**************************

 

********* QUERY **********
select fn_db_update_config_value('ClusterEmulatedMachines','rhel6.4.0,pc-1.0,pseries','3.3');
**************************

 

********* QUERY **********
select fn_db_update_config_value('SpiceDriverNameInGuest','{"windows": "RHEV-Spice", "linux" : "xorg-x11-drv-qxl" }','general');
**************************

 

********* QUERY **********
select fn_db_update_config_value('SupportedClusterLevels','3.0,3.1,3.2,3.3,3.4','general');
**************************

 

********* QUERY **********
select fn_db_update_config_value('SupportedStorageFormats','0,2,3','3.1,3.2,3.3,3.4');
**************************

 

********* QUERY **********
select fn_db_update_config_value('SupportedVDSMVersions','4.9,4.10,4.11,4.12,4.13','general');
**************************

 

********* QUERY **********
select fn_db_update_config_value('VdcVersion','3.4.0.0','general');
**************************

 

********* QUERY **********
select fn_db_update_config_value('ProductRPMVersion','3.4.0.0','general');
**************************

 

********* QUERY **********
select fn_db_update_config_value('VdsFenceOptionMapping','alom:secure=secure,port=ipport;apc:secure=secure,port=ipport,slot=port;bladecenter:secure=secure,port=ipport,slot=port;drac5:secure=secure,port=ipport;eps:slot=port;ilo:secure=ssl,port=ipport;ipmilan:;rsa:secure=secure,port=ipport;rsb:;wti:secure=secure,port=ipport,slot=port','3.0');
**************************

 

********* QUERY **********
select fn_db_update_config_value('VdsFenceOptionMapping','alom:secure=secure,port=ipport;apc:secure=secure,port=ipport,slot=port;bladecenter:secure=secure,port=ipport,slot=port;drac5:secure=secure,port=ipport;eps:slot=port;ilo:secure=ssl,port=ipport;ipmilan:;rsa:secure=secure,port=ipport;rsb:;wti:secure=secure,port=ipport,slot=port','3.1');
**************************

 

********* QUERY **********
select fn_db_update_config_value('VdsFenceOptionMapping','apc:secure=secure,port=ipport,slot=port;apc_snmp:port=port;bladecenter:secure=secure,port=ipport,slot=port;cisco_ucs:secure=ssl,slot=port;drac5:secure=secure,slot=port;eps:slot=port;ilo:secure=ssl,port=ipport;ipmilan:;ilo2:secure=ssl,port=ipport;ilo3:;ilo4:;rsa:secure=secure,port=ipport;rsb:;wti:secure=secure,port=ipport,slot=port','3.2');
**************************

 

********* QUERY **********
select fn_db_update_config_value('VdsFenceOptionMapping','apc:secure=secure,port=ipport,slot=port;apc_snmp:port=port;bladecenter:secure=secure,port=ipport,slot=port;cisco_ucs:secure=ssl,slot=port;drac5:secure=secure,slot=port;eps:slot=port;ilo:secure=ssl,port=ipport;ipmilan:;ilo2:secure=ssl,port=ipport;ilo3:;ilo4:;rsa:secure=secure,port=ipport;rsb:;wti:secure=secure,port=ipport,slot=port','3.3');
**************************

 

********* QUERY **********
select fn_db_update_config_value('VdsFenceOptionMapping','apc:secure=secure,port=ipport,slot=port;apc_snmp:port=port;bladecenter:secure=secure,port=ipport,slot=port;cisco_ucs:secure=ssl,slot=port;drac5:secure=secure,slot=port;drac7:;eps:slot=port;hpblade:port=port;ilo:secure=ssl,port=ipport;ipmilan:;ilo2:secure=ssl,port=ipport;ilo3:;ilo4:;rsa:secure=secure,port=ipport;rsb:;wti:secure=secure,port=ipport,slot=port','3.4');
**************************

 

********* QUERY **********
select fn_db_update_config_value('VdsFenceType','alom,apc,bladecenter,drac5,eps,ilo,ilo3,ipmilan,rsa,rsb,wti,cisco_ucs','3.0');
**************************

 

********* QUERY **********
select fn_db_update_config_value('VdsFenceType','alom,apc,bladecenter,drac5,eps,ilo,ilo3,ipmilan,rsa,rsb,wti,cisco_ucs','3.1');
**************************

 

********* QUERY **********
select fn_db_update_config_value('VdsFenceType','apc,apc_snmp,bladecenter,cisco_ucs,drac5,eps,ilo,ilo2,ilo3,ilo4,ipmilan,rsa,rsb,wti','3.2');
**************************

 

********* QUERY **********
select fn_db_update_config_value('VdsFenceType','apc,apc_snmp,bladecenter,cisco_ucs,drac5,drac7,eps,hpblade,ilo,ilo2,ilo3,ilo4,ipmilan,rsa,rsb,wti','3.4');
**************************

 

********* QUERY **********
select fn_db_update_config_value('VdsRefreshRate','3','general');
**************************

 

********* QUERY **********
select fn_db_update_config_value('VmGracefulShutdownMessage','System Administrator has initiated shutdown of this Virtual Machine. Virtual Machine is shutting down.','general');
**************************

 

********* QUERY **********
select fn_db_update_config_value('DisconnectPoolOnReconstruct','0,2,3','general');
**************************

 

********* QUERY **********
select fn_db_update_config_value('SupportBridgesReportByVDSM','false','3.1');
**************************

 

********* QUERY **********
select fn_db_update_config_value('AgentAppName','ovirt-guest-agent-common,ovirt-guest-agent','general');
**************************

 

********* QUERY **********
select fn_db_update_config_value('VM64BitMaxMemorySizeInMB','2097152','3.1');
**************************

 

********* QUERY **********
select fn_db_update_config_value('VM64BitMaxMemorySizeInMB','2097152','3.2');
**************************

 

********* QUERY **********
select fn_db_update_config_value('VM64BitMaxMemorySizeInMB','2097152','3.3');
**************************

 

********* QUERY **********
select fn_db_update_config_value('AutoStartVmsRunnerIntervalInSeconds','1','general');
**************************

 

********* QUERY **********
select fn_db_update_config_value('CustomDeviceProperties', '{type=interface;prop={SecurityGroups=^(?:(?:[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}, *)*[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}|)$}}', '3.4');
**************************

 

********* QUERY **********
select fn_db_update_default_config_value('AdUserId','example.com:00000000-0000-0000-0000-000000000000','','general',false);
**************************

 

********* QUERY **********
select fn_db_update_default_config_value('AdUserName','example.com:SampleUser','','general',false);
**************************

 

********* QUERY **********
select fn_db_update_default_config_value('AdUserPassword','example.com:SamplePassword','','general',false);
**************************

 

********* QUERY **********
select fn_db_update_default_config_value('AsyncTaskZombieTaskLifeInMinutes','300','3000','general',false);
**************************

 

********* QUERY **********
select fn_db_update_default_config_value('DomainName','example.com','','general',false);
**************************

 

********* QUERY **********
select fn_db_update_default_config_value('LDAPSecurityAuthentication','GSSAPI','default:GSSAPI','general',false);
**************************

 

********* QUERY **********
select fn_db_update_default_config_value('LDAPSecurityAuthentication','SIMPLE','default:SIMPLE','general',false);
**************************

 

********* QUERY **********
select fn_db_update_default_config_value('VdsLocalDisksCriticallyLowFreeSpace','100','500','general',false);
**************************

 

********* QUERY **********
select fn_db_update_default_config_value('VdsLocalDisksLowFreeSpace','500', '1000','general',false);
**************************

 

********* QUERY **********
select fn_db_update_default_config_value('vdsConnectionTimeout', '180', '2', 'general', false);
**************************

 

********* QUERY **********
select fn_db_update_default_config_value('vdsRetries', '3', '0', 'general', false);
**************************

 

********* QUERY **********
select fn_db_delete_config_value('AsyncPollingCyclesBeforeCallbackCleanup','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('AsyncPollingCyclesBeforeRefreshSuspend','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('AutoMode','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('AutoSuspendTimeInMinutes','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('CABaseDirectory','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('CACertificatePath','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('CAEngineKey','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('CBCCertificateScriptName','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('CBCCloseCertificateScriptName','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('CbcCheckOnVdsChange','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('CertAlias','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('CertificateFileName','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('CertificateFingerPrint','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('CertificatePassword','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('CustomPublicConfig_AppsWebSite','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('DebugSearchLogging','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('DefaultWorkgroup','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('ENMailDomain','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('ENMailEnableSsl','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('ENMailHost','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('ENMailIsBodyHtml','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('ENMailPassword','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('ENMailPort','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('ENMailUseDefaultCredentials','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('ENMailUser','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('FreeSpaceCriticalLow','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('HotPlugUnsupportedOsList','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('HotPlugSupportedOsList','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('ImagesSyncronizationTimeout','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('keystorePass','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('keystoreUrl','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('LdapServers','3.0');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('LicenseCertificateFingerPrint','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('LogDBCommands','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('LogVdsRegistration','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('LogXmlRpcData','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('NetConsolePort','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('ProductKey2003','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('ProductKey2003x64','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('ProductKey2008','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('ProductKey2008R2','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('ProductKey2008x64','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('ProductKey','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('ProductKeyWindow7','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('ProductKeyWindow7x64','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('ProductKeyWindows8','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('ProductKeyWindows8x64','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('ProductKeyWindows2012x64','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('VdsFenceOptionMapping','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('PowerClientAllowUsingAsIRS','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('PowerClientGUI','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('PowerClientAllowRunningGuestsWithoutTools','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('PowerClientAutoAdjustMemoryBaseOnAvailableMemory','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('PowerClientAutoAdjustMemory','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('PowerClientAutoAdjustMemoryGeneralReserve','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('PowerClientAutoAdjustMemoryLog','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('PowerClientAutoAdjustMemoryMaxMemory','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('PowerClientAutoAdjustMemoryModulus','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('PowerClientAutoAdjustMemorySpicePerMonitorReserve','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('PowerClientAutoAdjustMemorySpicePerSessionReserve','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('PowerClientAutoMigrateFromPowerClientToVdsWhenConnectingFromRegularClient','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('PowerClientAutoMigrateToPowerClientOnConnect','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('PowerClientDedicatedVmLaunchOnVdsWhilePowerClientStarts','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('PowerClientLogDetection','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('PowerClientMaxNumberOfConcurrentVMs','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('PowerClientRunVmShouldVerifyPendingVMsAsWell','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('PowerClientSpiceDynamicCompressionManagement','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('PredefinedVMProperties','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('PublicURLPort','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('RDPLoginWithFQN','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('RedirectServletReportsPageError','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('RenewGuestIpOnVdsSubnetChange','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('RenewGuestIpOnVdsSubnetChangeOnParseError','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('RpmsRepositoryUrl','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('SignLockFile','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('SignScriptName','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('SQLServerI18NPrefix','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('SQLServerLikeSyntax','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('SQLServerPagingSyntax','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('SQLServerPagingType','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('SQLServerSearchTemplate','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('ScriptsPath','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('SearchesRefreshRateInSeconds','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('SelectCommandTimeout','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('SysPrep3.0Path','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('TruststorePass','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('TruststoreUrl','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('UseENGINERepositoryRPMs','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('UseVdsBrokerInProc','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('UseSecureConnectionWithServers','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('VM64BitMaxMemorySizeInMB','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('VdcBootStrapUrl','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('VdsErrorsFileName','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('VM64BitMaxMemorySizeInMB','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('LogVdsRegistration','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_for_version('2.2');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('IsNeedSupportForOldVgAPI', '2.2,3.0');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('LimitNumberOfNetworkInterfaces', '2.2,3.0,3.1,3.2');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('LocalStorageEnabled','2.2,3.0,3.1,3.2');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('SupportCustomProperties','2.2,3.0,3.1,3.2');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('SupportGetDevicesVisibility','2.2,3.0,3.1,3.2');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('SupportStorageFormat','2.2,3.0,3.1,3.2');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('UseRtl8139_pv','2.2,3.0,3.1,3.2');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('VdsFenceOptions','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('VirtualMachineDomainName','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('AuditLogAgingThreashold','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('ClientConsoleModeDefault','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('LiveStorageMigrationEnabled','3.0');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('LiveStorageMigrationEnabled','3.1');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('LiveStorageMigrationEnabled','3.2');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('DiskConfigurationList','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('DefaultTimeZone','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('NumberOfVmsForTopSizeVms','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value_all_versions('EmulatedMachine');
**************************

 

********* QUERY **********
select fn_db_delete_config_value_all_versions('ENGINEEARLib');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('AverageToPeakRatio','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('AverageToBurstRatio','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('DocsURL','general');
**************************

 

********* QUERY **********
select fn_db_delete_config_value('VirtIoScsiUnsupportedOsList','general');
**************************

 

********* QUERY **********
select fn_db_split_config_value('SpiceSecureChannels','smain,sinputs','smain,sinputs,scursor,splayback,srecord,sdisplay,susbredir,ssmartcard', '3.1');
**************************

 

********* QUERY **********
update vdc_options set version = '3.0' where version = '2.3';
**************************

UPDATE 0
********* QUERY **********
CREATE OR REPLACE FUNCTION __temp_upgrade_remove_default_security_auth(a_input VARCHAR(40))
  RETURNS void AS
$BODY$
   DECLARE
   v_entry VARCHAR(4000);
   v_pos integer;
BEGIN
    v_entry := option_value FROM vdc_options WHERE option_name='LDAPSecurityAuthentication';
    v_pos := strpos(lower(v_entry), ',' || lower(a_input) || ',');

    IF (v_pos = 0) THEN
                UPDATE vdc_options
                SET option_value = regexp_replace(option_value, ',?' || a_input || ',?' ,'','i')
                WHERE option_name = 'LDAPSecurityAuthentication';
    ELSE
                UPDATE vdc_options
                SET option_value = regexp_replace(option_value, ',' || a_input || ',' ,',','i')
                WHERE option_name = 'LDAPSecurityAuthentication';
    END IF;

END; $BODY$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
SELECT __temp_upgrade_remove_default_security_auth('default:GSSAPI');
**************************

 

********* QUERY **********
SELECT __temp_upgrade_remove_default_security_auth('default:SIMPLE');
**************************

 

********* QUERY **********
DROP FUNCTION __temp_upgrade_remove_default_security_auth(VARCHAR);
**************************

DROP FUNCTION
********* QUERY **********
create or replace function __temp_update_ldap_provier_types()
RETURNS void
AS $procedure$
    DECLARE
    v_domains text;
    v_provider_types text;
    v_temp text;
    v_values record;
    boo smallint;

BEGIN

    v_temp := '';
    v_domains := (SELECT option_value FROM vdc_options where option_name = 'DomainName');
    v_provider_types := (SELECT option_value FROM vdc_options where option_name = 'LDAPProviderTypes');
    boo := (SELECT count(*) from regexp_matches(v_provider_types ,'[:]'));

    IF (boo = 0) THEN

        FOR v_values in select regexp_split_to_table(v_domains, ',') as val
        LOOP
            IF (length(v_values.val) > 0) THEN
                v_temp := v_temp || v_values.val || ':general,';
            END IF;
        END LOOP;

        v_temp = rtrim(v_temp,',');

        UPDATE vdc_options SET option_value = v_temp where option_name = 'LDAPProviderTypes';

    END IF;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
SELECT  __temp_update_ldap_provier_types();
**************************

 

********* QUERY **********
DROP FUNCTION __temp_update_ldap_provier_types();
**************************

DROP FUNCTION
********* QUERY **********
create or replace function __temp_set_pg_major_release()
RETURNS void
AS $procedure$
DECLARE
    v_pg_major_release char(1);
BEGIN
    -- the folowing evaluates currently to 8 on PG 8.x and to 9 on PG 9.x
    v_pg_major_release:=substring ((string_to_array(version(),' '))[2],1,1);
    perform fn_db_add_config_value('PgMajorRelease',v_pg_major_release,'general');
    -- ensure that if PG was upgraded we will get the right value
    perform fn_db_update_config_value('PgMajorRelease',v_pg_major_release,'general');
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
SELECT  __temp_set_pg_major_release();
**************************

 

********* QUERY **********
DROP FUNCTION __temp_set_pg_major_release();
**************************

DROP FUNCTION
********* QUERY **********
/**********************************************************************************************
   Currently we have a bug that upgarde 03010250 was cherry-picked and installed after 03010130
   This caused all scripts between 03010140 and 03010240 not to run.
   This scripts removes the 03010250 from schema_version and updates 03010130 to be the curent version
   So, after that , all scripts from 03010140 and up will run
   Since 03010250 was a configuration change that is already handled in the new config.sql, no other handling is needed.
**********************************************************************************************/
update schema_version set current = true where version = '03010130'
and exists(select 1 from schema_version where version = '03010250' and current = true);
**************************

UPDATE 0
********* QUERY **********
delete from schema_version
where version = '03010250' and current = true;
**************************

DELETE 0
********* QUERY **********
select fn_db_add_column('vds_dynamic','supported_engines','varchar(40)');
**************************

 

********* QUERY **********
CREATE FUNCTION __temp__0030_add_materialized_views_table()
RETURNS VOID
AS $procedure$
BEGIN
    IF not exists (select 1 from information_schema.tables where table_name ='materialized_views') then
        CREATE TABLE materialized_views (
          mv_name NAME NOT NULL PRIMARY KEY,
          v_name NAME NOT NULL,
          refresh_rate_in_sec INTEGER,
          last_refresh TIMESTAMP WITH TIME ZONE,
          avg_cost_ms int not null default 0
        );
    END IF;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
select __temp__0030_add_materialized_views_table();
**************************

 

********* QUERY **********
DROP FUNCTION __temp__0030_add_materialized_views_table();
**************************

DROP FUNCTION
********* QUERY **********
select fn_db_add_column('materialized_views', 'min_refresh_rate_in_sec', 'int default 0');
**************************

 

********* QUERY **********
select fn_db_add_column('materialized_views', 'custom', 'boolean default false');
**************************

 

********* QUERY **********
select fn_db_add_column('materialized_views', 'active', 'boolean default true');
**************************

 

********* QUERY **********
/*
This file adds Snapshot Materialized Views support to Postgres.
A Snapshot Materialized View is actually a table built on top of
a real view that enables to select data from the Snapshot Materialized View
easily and efficiently.
Candidates for Snapshot Materialized Views are views that are based on
slowly-changing data. The Snapshot Materialized Views is actually
functioning as a cache.
The Snapshot Materialized View is refreshed per request.
The Snapshot Materialized View definitions are stored in the materialized_views table.

Flow:
1) Create the Materialized View by calling:
   CreateMaterializedView - if you are creating a new view
   CreateMaterializedViewAs - If you want to preserve the original view name
                              in this case the original view will be renamed
                              and the new Materialized View will have the original
                              view name.
   The following should be called for Custom Materialized Views
   CreateCustomMaterializedView
   CreateCustomMaterializedViewAs
2) If your Snapshot Materialized View is my_mt you should create Stored Procedures:
    MtDropmy_mtIndexes - Drops indexes on my_mt
    MtCreatemy_mtIndexes - Creates needed indexes on my_mt
    Those indexes should be defined in the "Snapshot Materialized Views Index Definitions Section"
    in post_upgrade/0020_create_materialized_views.sql file.

   Those SP are called automatically when a Snapshot Materialized View is refreshed
   to boost refresh performance.

3) You can call IsMaterializedViewRefreshed to check if it is time to refresh the view
   and if yes call RefreshMaterializedView manually.
   or
   You can define a cron job that calls RefreshAllMaterializedViews that loops over
   all  Snapshot Materialized Views and refreshes it automatically
   RefreshAllMaterializedViews recieves a boolean v_force flag, please set this flag to false
   when calling it from a cron job in order to update the materialized views only when needed.
   (This SP is called with v_force = true after create/upgrade DB)

There are also additional functions :
   CreateAllMaterializedViewsiIndexes - Creates indexes for all Snapshot Materialized views
   DropMaterializedView - Drops the Materialized View
   DropAllMaterializedViews - Drop all Materialized Views
   DropAllCustomMaterializedViews - Drop all custom Materialized Views
   UpdateMaterializedViewRefreshRate - Updates the Materialized View refresh rate
   UpdateMaterializedViewMinRefreshRate - Updates the Materialized View minimal refresh rate
   ActivateMaterializedView - activates/decativates a  Materialized View
   ActivateAllMaterializedViews - activates/decativates all Materialized Views

In addition, you can create a file named create_materialized_views.sql under dbscripts/upgrade/post_upgrade/custom/
This file may include other custom materialized views settings and is executed by the create/upgrade database scripts.

NOTE : Materialized Views are automatically refreshed upon create/upgrade
*/




CREATE OR REPLACE FUNCTION to_interval (sec INTEGER) RETURNS INTERVAL AS $$
BEGIN
  RETURN (sec || ' seconds')::INTERVAL;
END;
$$ LANGUAGE 'plpgsql' IMMUTABLE STRICT;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION CreateMaterializedView(v_matview NAME, v_view_name NAME, v_refresh_rate_in_sec INTEGER,
                                                  v_custom BOOLEAN, v_min_refresh_rate_in_sec INTEGER)
 RETURNS VOID
AS $procedure$
DECLARE
     v_entry materialized_views%ROWTYPE;
 BEGIN
     SELECT * INTO v_entry FROM materialized_views WHERE mv_name = v_matview;

     IF FOUND THEN
         RAISE EXCEPTION 'Materialized view % already exists.',
           v_matview;
     END IF;
     IF current_user != usename from pg_database , pg_user where datdba=usesysid and datname=current_database THEN
         RAISE EXCEPTION 'Materialized view % should be created with user ''engine''.',
           v_matview;
     END IF;

     EXECUTE 'REVOKE ALL ON ' || v_view_name || ' FROM PUBLIC';

     EXECUTE 'GRANT SELECT ON ' || v_view_name || ' TO PUBLIC';

     EXECUTE 'CREATE TABLE ' || v_matview || ' AS SELECT * FROM ' || v_view_name;

     EXECUTE 'REVOKE ALL ON ' || v_matview || ' FROM PUBLIC';

     EXECUTE 'GRANT SELECT ON ' || v_matview || ' TO PUBLIC';

     INSERT INTO materialized_views (mv_name, v_name, refresh_rate_in_sec, last_refresh, custom, min_refresh_rate_in_sec)
       VALUES (v_matview, v_view_name, v_refresh_rate_in_sec, CURRENT_TIMESTAMP, v_custom, v_min_refresh_rate_in_sec);

     RETURN;
 END; $procedure$
 LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION CreateMaterializedView(v_matview NAME, v_view_name NAME, v_refresh_rate_in_sec INTEGER,
                                                  v_min_refresh_rate_in_sec INTEGER)
 RETURNS VOID
AS $procedure$
 BEGIN
     PERFORM CreateMaterializedView(v_matview, v_view_name, v_refresh_rate_in_sec, false,  v_min_refresh_rate_in_sec);
     RETURN;
 END; $procedure$
 LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION CreateCustomMaterializedView(v_matview NAME, v_view_name NAME, v_refresh_rate_in_sec INTEGER,
                                                        v_min_refresh_rate_in_sec INTEGER)
 RETURNS VOID
AS $procedure$
 BEGIN
     PERFORM CreateMaterializedView(v_matview, v_view_name, v_refresh_rate_in_sec, true,  v_min_refresh_rate_in_sec);
     RETURN;
 END; $procedure$
 LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION CreateMaterializedView(v_matview NAME, v_view_name NAME, v_refresh_rate_in_sec INTEGER)
 RETURNS VOID
AS $procedure$
BEGIN
     PERFORM  CreateMaterializedView(v_matview, v_view_name, v_refresh_rate_in_sec, false, 0);
END; $procedure$
 LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION CreateCustomMaterializedView(v_matview NAME, v_view_name NAME, v_refresh_rate_in_sec INTEGER)
 RETURNS VOID
AS $procedure$
BEGIN
     PERFORM  CreateMaterializedView(v_matview, v_view_name, v_refresh_rate_in_sec, true, 0);
END; $procedure$
 LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION CreateMaterializedViewAs(v_view_name NAME, v_refresh_rate_in_sec INTEGER,
                                                    v_custom BOOLEAN, v_min_refesh_rate_in_sec INTEGER)
 RETURNS VOID
AS $procedure$
DECLARE
     v_entry materialized_views%ROWTYPE;
     v_renamed_view NAME;
 BEGIN
     IF FOUND THEN
         RAISE EXCEPTION 'Materialized view % already exists.',
           v_view_name;
     END IF;

     v_renamed_view := v_view_name || '_mt_base';
     EXECUTE  'ALTER VIEW ' ||  v_view_name || ' RENAME TO ' || v_renamed_view;
     perform CreateMaterializedView(v_view_name, v_renamed_view, v_refresh_rate_in_sec, v_custom, v_min_refesh_rate_in_sec);

     RETURN;
 END; $procedure$
 LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION CreateMaterializedViewAs(v_view_name NAME, v_refresh_rate_in_sec INTEGER,
                                                    v_min_refesh_rate_in_sec INTEGER)
 RETURNS VOID
AS $procedure$
 BEGIN
     PERFORM CreateMaterializedViewAs(v_view_name, v_refresh_rate_in_sec, false, v_min_refesh_rate_in_sec);
     RETURN;
 END; $procedure$
 LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION CreateCustomMaterializedViewAs(v_view_name NAME, v_refresh_rate_in_sec INTEGER,
                                                          v_min_refesh_rate_in_sec INTEGER)
 RETURNS VOID
AS $procedure$
 BEGIN
     PERFORM CreateMaterializedViewAs(v_view_name, v_refresh_rate_in_sec, true, v_min_refesh_rate_in_sec);
     RETURN;
 END; $procedure$
 LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION CreateMaterializedViewAs(v_view_name NAME, v_refresh_rate_in_sec INTEGER)
 RETURNS VOID
AS $procedure$
BEGIN
    PERFORM  CreateMaterializedViewAs(v_view_name, v_refresh_rate_in_sec, false, 0);
END; $procedure$
 LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION CreateCustomMaterializedViewAs(v_view_name NAME, v_refresh_rate_in_sec INTEGER)
 RETURNS VOID
AS $procedure$
BEGIN
    PERFORM  CreateMaterializedViewAs(v_view_name, v_refresh_rate_in_sec, true, 0);
END; $procedure$
 LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION DropMaterializedView(v_matview NAME)
 RETURNS VOID
AS $procedure$
DECLARE
     v_entry materialized_views%ROWTYPE;
 BEGIN

     SELECT * INTO v_entry FROM materialized_views WHERE mv_name = v_matview;

     IF NOT FOUND THEN
         RAISE EXCEPTION 'Materialized view % does not exist.', v_matview;
     END IF;

     EXECUTE 'DROP TABLE ' || v_matview || ' CASCADE';
     DELETE FROM materialized_views WHERE mv_name=v_matview;

     RETURN;
 END; $procedure$
 LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION DropAllMaterializedViews()
RETURNS void
AS $procedure$
DECLARE
    v_cur CURSOR FOR SELECT * FROM materialized_views;
    v_record materialized_views%ROWTYPE;
BEGIN
       OPEN v_cur;
       -- loop on all entries in materialized_views
       LOOP
           FETCH v_cur INTO v_record;
           EXIT WHEN NOT FOUND;
           perform DropMaterializedView(v_record.mv_name);
       END LOOP;
       CLOSE v_cur;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION DropAllCustomMaterializedViews()
RETURNS void
AS $procedure$
DECLARE
    v_cur CURSOR FOR SELECT * FROM materialized_views where custom;
    v_record materialized_views%ROWTYPE;
BEGIN
       OPEN v_cur;
       -- loop on all entries in materialized_views
       LOOP
           FETCH v_cur INTO v_record;
           EXIT WHEN NOT FOUND;
           perform DropMaterializedView(v_record.mv_name);
       END LOOP;
       CLOSE v_cur;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION IsMaterializedViewRefreshed(v_matview NAME)
 RETURNS boolean STABLE
AS $procedure$
DECLARE
     v_entry materialized_views%ROWTYPE;
     v_is_refreshed boolean;
 BEGIN
     SELECT * INTO v_entry FROM materialized_views WHERE mv_name = v_matview;
     IF NOT FOUND THEN
         RAISE EXCEPTION 'Materialized view % does not exist.', v_matview;
    END IF;

    -- check if materialized View should refresh
    v_is_refreshed := (((CURRENT_TIMESTAMP - to_interval(refresh_rate_in_sec)) <= last_refresh) and
                      ((CURRENT_TIMESTAMP - to_interval(min_refresh_rate_in_sec)) <= last_refresh)) or
                      not active from materialized_views
                       where mv_name = v_matview;
    RETURN v_is_refreshed;
 END; $procedure$
 LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION RefreshMaterializedView(v_matview NAME)
 RETURNS VOID
AS $procedure$
DECLARE
     v_entry materialized_views%ROWTYPE;
     v_drop_index_sp NAME;
     v_create_index_sp NAME;
     v_start_time TIMESTAMP WITH TIME ZONE;
     v_avg_cost_ms int;
 BEGIN
     SELECT * INTO v_entry FROM materialized_views WHERE mv_name = v_matview;
     IF NOT FOUND THEN
         RAISE EXCEPTION 'Materialized view % does not exist.', v_matview;
    END IF;

    -- get start time
    v_start_time:=CURRENT_TIMESTAMP;
    -- SP for Drop / create Index should follow naming convention Mt[Drop|Create]<v_matview>Indexes
    v_drop_index_sp := 'MtDrop' || v_matview || 'Indexes';
    v_create_index_sp := 'MtCreate' || v_matview || 'Indexes';

    IF NOT EXISTS (select 1 from information_schema.routines where routine_name ilike v_drop_index_sp) THEN
        v_drop_index_sp := NULL;
    END IF;

    IF NOT EXISTS (select 1 from information_schema.routines where routine_name ilike v_create_index_sp) THEN
        v_create_index_sp := NULL;
    END IF;

    -- Lock materialized_views table until refresh completes to prevent duplicate refreshes by other threads
    LOCK TABLE materialized_views;
    -- taking a lock on the snapshot materialized view until it refreshed
    EXECUTE 'LOCK TABLE ' || v_matview;
    -- drop indexes on the snapshot materialized view if exists
    IF (v_drop_index_sp IS NOT NULL) THEN
        EXECUTE 'select ' || v_drop_index_sp || '()';
    END IF;
    -- refresh the view
    EXECUTE 'TRUNCATE TABLE ' || v_matview;
    EXECUTE 'INSERT INTO ' || v_matview
        || ' SELECT * FROM ' || v_entry.v_name;
    -- restore  indexes on the snapshot materialized view if exists
    IF (v_create_index_sp IS NOT NULL) THEN
        EXECUTE 'select ' || v_create_index_sp || '()';
    END IF;
    -- update last refresh time and average cost in [ms]
    IF (v_entry.avg_cost_ms = 0) THEN
        v_avg_cost_ms:=EXTRACT(EPOCH FROM current_timestamp - v_start_time) * 1000;
    ELSE
        v_avg_cost_ms:=((EXTRACT(EPOCH FROM current_timestamp - v_start_time) * 1000) + v_entry.avg_cost_ms)/2;
    END IF;
    update materialized_views set last_refresh = CURRENT_TIMESTAMP,
                                  avg_cost_ms = v_avg_cost_ms
                              where  mv_name = v_matview;
    RETURN;
 END; $procedure$
 LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION RefreshAllMaterializedViews(v_force boolean)
RETURNS void
AS $procedure$
DECLARE
    v_cur CURSOR FOR SELECT * FROM materialized_views;
    v_record materialized_views%ROWTYPE;
BEGIN
       OPEN v_cur;
       -- loop on all entries in materialized_views and refresh only needed snapshots
       LOOP
           FETCH v_cur INTO v_record;
           EXIT WHEN NOT FOUND;
           IF ((v_force and v_record.min_refresh_rate_in_sec = 0) or not IsMaterializedViewRefreshed(v_record.mv_name)) THEN
              perform RefreshMaterializedView(v_record.mv_name);
           END IF;
       END LOOP;
       CLOSE v_cur;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION CreateAllMaterializedViewsiIndexes()
RETURNS void
AS $procedure$
DECLARE
    v_cur CURSOR FOR SELECT * FROM materialized_views;
    v_record materialized_views%ROWTYPE;
    v_create_index_sp NAME;
BEGIN
       OPEN v_cur;
       -- loop on all entries in materialized_views and create indexes(if defined)
       LOOP
           FETCH v_cur INTO v_record;
           EXIT WHEN NOT FOUND;
           v_create_index_sp := 'MtCreate' || v_record.mv_name || 'Indexes';
           -- Check if SP that creates the indexes exists
           IF NOT EXISTS (select 1 from information_schema.routines where routine_name ilike v_create_index_sp) THEN
               v_create_index_sp := NULL;
           END IF;
           IF (v_create_index_sp IS NOT NULL) THEN
               EXECUTE 'select ' || v_create_index_sp || '()';
           END IF;
       END LOOP;
       CLOSE v_cur;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION UpdateMaterializedViewRefreshRate(v_matview NAME, v_refresh_rate INTEGER)
 RETURNS VOID
AS $procedure$
DECLARE
     v_entry materialized_views%ROWTYPE;
 BEGIN
     SELECT * INTO v_entry FROM materialized_views WHERE mv_name = v_matview;
     IF NOT FOUND THEN
         RAISE EXCEPTION 'Materialized view % does not exist.', v_matview;
    END IF;

    update materialized_views set refresh_rate_in_sec = v_refresh_rate
    where  mv_name = v_matview;
    RETURN;
 END; $procedure$
 LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION UpdateMaterializedViewMinRefreshRate(v_matview NAME, v_min_refresh_rate INTEGER)
 RETURNS VOID
AS $procedure$
DECLARE
     v_entry materialized_views%ROWTYPE;
 BEGIN
     SELECT * INTO v_entry FROM materialized_views WHERE mv_name = v_matview;
     IF NOT FOUND THEN
         RAISE EXCEPTION 'Materialized view % does not exist.', v_matview;
    END IF;

    update materialized_views set min_refresh_rate_in_sec = v_min_refresh_rate
    where  mv_name = v_matview;
    RETURN;
 END; $procedure$
 LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION ActivateMaterializedView(v_matview NAME, v_active BOOLEAN)
 RETURNS VOID
AS $procedure$
DECLARE
     v_entry materialized_views%ROWTYPE;
 BEGIN
     SELECT * INTO v_entry FROM materialized_views WHERE mv_name = v_matview;
     IF NOT FOUND THEN
         RAISE EXCEPTION 'Materialized view % does not exist.', v_matview;
    END IF;

    update materialized_views set active = v_active
    where  mv_name = v_matview;
    RETURN;
 END; $procedure$
 LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION ActivateAllMaterializedViews(v_active BOOLEAN)
 RETURNS VOID
AS $procedure$
DECLARE
     v_entry materialized_views%ROWTYPE;
 BEGIN
    update materialized_views set active = v_active;
    RETURN;
 END; $procedure$
 LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
select DropAllMaterializedViews();
**************************

 

********* QUERY **********
INSERT INTO policy_units(id, name, is_internal, custom_properties_regex, type, enabled, description)
VALUES ('84e6ddee-ab0d-42dd-82f0-c297779db566', 'VmAffinityGroups', TRUE, NULL, 0, true, 'Enables Affinity Groups hard enforcement for VMs; VMs in group are required to run either on the same hypervisor host (positive) or on independent hypervisor hosts (negative)');
**************************

INSERT 0 1
********* QUERY **********
INSERT INTO cluster_policy_units (cluster_policy_id, policy_unit_id, filter_sequence, factor)
SELECT cluster_policies.id, '84e6ddee-ab0d-42dd-82f0-c297779db566', 0, 0
FROM cluster_policies;
**************************

INSERT 0 4
********* QUERY **********
INSERT INTO policy_units(id, name, is_internal, custom_properties_regex, type, enabled, description)
VALUES ('84e6ddee-ab0d-42dd-82f0-c297779db567', 'VmAffinityGroups', TRUE, NULL, 1, true, 'Enables Affinity Groups soft enforcement for VMs; VMs in group are most likely to run either on the same hypervisor host (positive) or on independent hypervisor hosts (negative)');
**************************

INSERT 0 1
********* QUERY **********
INSERT INTO cluster_policy_units (cluster_policy_id, policy_unit_id, filter_sequence, factor)
SELECT cluster_policies.id, '84e6ddee-ab0d-42dd-82f0-c297779db567', 0, 1
FROM cluster_policies;
**************************

INSERT 0 4
********* QUERY **********
insert into action_version_map values (6, '3.4', '*');
**************************

INSERT 61828 1
********* QUERY **********
select fn_db_add_column('vds_groups', 'enable_ksm', 'boolean not null default true');
**************************

 

********* QUERY **********
select fn_db_add_column('vm_static', 'migration_downtime', 'integer default null');
**************************

 

********* QUERY **********
update schema_version set current=(id= 333);
**************************

UPDATE 332
********* QUERY **********
CREATE OR REPLACE VIEW storage_domain_static_view
AS
SELECT     storage_domain_static.id as id,
			storage_domain_static.storage as storage,
			storage_domain_static.storage_name as storage_name,
			storage_domain_static.storage_description as storage_description,
			storage_domain_static.storage_comment as storage_comment,
			storage_pool_iso_map.storage_pool_id as storage_pool_id,
                        storage_pool_iso_map.status as status,
			storage_domain_static.storage_domain_type as storage_domain_type,
			storage_domain_static.storage_type as storage_type,
                        storage_domain_static.storage_domain_format_type as storage_domain_format_type,
            storage_domain_static.last_time_used_as_master as last_time_used_as_master,
			storage_pool.name as storage_pool_name
FROM        storage_domain_static LEFT OUTER JOIN
storage_pool_iso_map on storage_pool_iso_map.storage_id = storage_domain_static.id
LEFT OUTER JOIN storage_pool ON storage_pool.id = storage_pool_iso_map.storage_pool_id;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW vms_for_disk_view
AS
SELECT array_agg(vm_name) as array_vm_names,device_id,entity_type
FROM vm_static
JOIN vm_device ON vm_static.vm_guid = vm_device.vm_id
WHERE device = 'disk'
GROUP BY device_id, entity_type;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW images_storage_domain_view
AS

SELECT images.image_guid as image_guid,
    storage_domain_static_view.storage_name as storage_name,
    storage_domain_static_view.storage as storage_path,
	storage_domain_static_view.storage_pool_id as storage_pool_id,
	images.creation_date as creation_date,
    images.size as size,
    images.it_guid as it_guid,
    snapshots.description as description,
    images.ParentId as ParentId,
    images.lastModified as lastModified,
    snapshots.app_list as app_list,
    image_storage_domain_map.storage_domain_id as storage_id,
    images.vm_snapshot_id as vm_snapshot_id,
    images.volume_type as volume_type,
    images.volume_format as volume_format,
    images.imageStatus as imageStatus,
    images.image_group_id as image_group_id,
    images.active,
    vms_for_disk_view.entity_type as entity_type,
    array_to_string(vms_for_disk_view.array_vm_names, ',') as vm_names,
    COALESCE(array_upper(vms_for_disk_view.array_vm_names,1),0) as number_of_vms,
    base_disks.disk_id,
    base_disks.disk_alias as disk_alias,
    base_disks.disk_description as disk_description,
    base_disks.shareable as shareable,
    base_disks.disk_interface,
    base_disks.wipe_after_delete as wipe_after_delete,
    base_disks.propagate_errors,
    base_disks.boot as boot,
    base_disks.sgio as sgio,
    image_storage_domain_map.quota_id as quota_id,
    quota.quota_name as quota_name,
    storage_pool.quota_enforcement_type,
    disk_image_dynamic.actual_size as actual_size,
    disk_image_dynamic.read_rate as read_rate,
    disk_image_dynamic.write_rate as write_rate,
    disk_image_dynamic.read_latency_seconds as read_latency_seconds,
    disk_image_dynamic.write_latency_seconds as write_latency_seconds,
    disk_image_dynamic.flush_latency_seconds as flush_latency_seconds,
    base_disks.alignment as alignment,
    base_disks.last_alignment_scan as last_alignment_scan
FROM
images
left outer join disk_image_dynamic on images.image_guid = disk_image_dynamic.image_id
LEFT OUTER JOIN base_disks ON images.image_group_id = base_disks.disk_id
LEFT OUTER JOIN vms_for_disk_view on vms_for_disk_view.device_id = images.image_group_id
LEFT JOIN image_storage_domain_map ON image_storage_domain_map.image_id = images.image_guid
LEFT OUTER JOIN storage_domain_static_view ON image_storage_domain_map.storage_domain_id = storage_domain_static_view.id
LEFT OUTER JOIN snapshots ON images.vm_snapshot_id = snapshots.snapshot_id
LEFT OUTER JOIN quota ON image_storage_domain_map.quota_id = quota.id
LEFT OUTER JOIN storage_pool ON storage_pool.id = storage_domain_static_view.storage_pool_id
WHERE images.image_guid != '00000000-0000-0000-0000-000000000000';
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW storage_domain_file_repos
AS
SELECT
storage_domain_static.id as storage_domain_id,
			storage_domain_static.storage_domain_type as storage_domain_type,
	        storage_pool_iso_map.storage_pool_id as storage_pool_id,
	       	storage_pool_iso_map.status as storage_domain_status,
	repo_file_meta_data.repo_image_id as repo_image_id,
		repo_file_meta_data.size as size,
		repo_file_meta_data.date_created as date_created,
		repo_file_meta_data.last_refreshed as last_refreshed,
		repo_file_meta_data.file_type as file_type,
	vds_dynamic.status as vds_status,
    storage_pool.status as storage_pool_status
FROM storage_domain_static
INNER JOIN storage_pool_iso_map ON storage_domain_static.id = storage_pool_iso_map.storage_id
INNER JOIN storage_pool ON storage_pool.id = storage_pool_iso_map.storage_pool_id
INNER JOIN vds_dynamic ON vds_dynamic.vds_id = storage_pool.spm_vds_id
LEFT OUTER JOIN repo_file_meta_data ON storage_pool_iso_map.storage_id = repo_file_meta_data.repo_domain_id;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW storage_for_image_view
AS
SELECT images.image_guid as image_id,
	   array_to_string(array_agg(storage_domain_static.storage), ',') as storage_path,
	   array_to_string(array_agg(storage_domain_static.id), ',') storage_id,
	   array_to_string(array_agg(storage_domain_static.storage_name), ',') as storage_name,
	   array_to_string(array_agg(COALESCE(CAST(quota.id as varchar), '')), ',') as quota_id,
	   array_to_string(array_agg(COALESCE(quota.quota_name, '')), ',') as quota_name
FROM images
LEFT JOIN image_storage_domain_map ON image_storage_domain_map.image_id = images.image_guid
LEFT OUTER JOIN storage_domain_static ON image_storage_domain_map.storage_domain_id = storage_domain_static.id
LEFT OUTER JOIN quota ON image_storage_domain_map.quota_id = quota.id
GROUP BY images.image_guid;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW vm_images_view
AS
SELECT                storage_for_image_view.storage_id as storage_id, storage_for_image_view.storage_path as storage_path, storage_for_image_view.storage_name as storage_name,
					  images_storage_domain_view.storage_pool_id as storage_pool_id, images_storage_domain_view.image_guid as image_guid,
                      images_storage_domain_view.creation_date as creation_date, disk_image_dynamic.actual_size as actual_size, disk_image_dynamic.read_rate as read_rate,
                      disk_image_dynamic.read_latency_seconds as read_latency_seconds, disk_image_dynamic.write_latency_seconds as write_latency_seconds,
                      disk_image_dynamic.flush_latency_seconds as flush_latency_seconds, disk_image_dynamic.write_rate as write_rate,
                      images_storage_domain_view.size as size, images_storage_domain_view.it_guid as it_guid,
                      images_storage_domain_view.description as description,
                      images_storage_domain_view.ParentId as ParentId, images_storage_domain_view.imageStatus as imageStatus, images_storage_domain_view.lastModified as lastModified,
                      images_storage_domain_view.app_list as app_list, images_storage_domain_view.vm_snapshot_id as vm_snapshot_id,
                      images_storage_domain_view.volume_type as volume_type, images_storage_domain_view.image_group_id as image_group_id,
                      images_storage_domain_view.active as active, images_storage_domain_view.volume_format as volume_format,
                      images_storage_domain_view.disk_interface as disk_interface, images_storage_domain_view.boot as boot, images_storage_domain_view.wipe_after_delete as wipe_after_delete, images_storage_domain_view.propagate_errors as propagate_errors, images_storage_domain_view.sgio as sgio,
                      images_storage_domain_view.entity_type as entity_type,images_storage_domain_view.number_of_vms as number_of_vms,images_storage_domain_view.vm_names as vm_names,
                      storage_for_image_view.quota_id as quota_id, storage_for_image_view.quota_name as quota_name, images_storage_domain_view.quota_enforcement_type,
                      images_storage_domain_view.disk_id, images_storage_domain_view.disk_alias as disk_alias, images_storage_domain_view.disk_description as disk_description,images_storage_domain_view.shareable as shareable,
                      images_storage_domain_view.alignment as alignment, images_storage_domain_view.last_alignment_scan as last_alignment_scan
FROM         images_storage_domain_view
INNER JOIN disk_image_dynamic ON images_storage_domain_view.image_guid = disk_image_dynamic.image_id
INNER JOIN storage_for_image_view ON images_storage_domain_view.image_guid = storage_for_image_view.image_id
WHERE images_storage_domain_view.active = TRUE;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW all_disks_including_snapshots
AS
SELECT storage_impl.*,
       bd.disk_id, 
       bd.disk_interface,
       bd.wipe_after_delete,
       bd.propagate_errors,
       bd.disk_alias,
       bd.disk_description,
       bd.shareable,
       bd.boot,
       bd.sgio,
       bd.alignment,
       bd.last_alignment_scan
FROM
(
    SELECT 0 AS disk_storage_type,
           storage_for_image_view.storage_id as storage_id, 
           storage_for_image_view.storage_path as storage_path,
           storage_for_image_view.storage_name as storage_name,
           storage_pool_id,
           image_guid, 
           creation_date,
           actual_size,
           read_rate,
           write_rate,
           read_latency_seconds,
           write_latency_seconds,
           flush_latency_seconds,
           size,
           it_guid,
           imageStatus,
           lastModified,
           volume_type,
           volume_format,
           image_group_id,
           description, 
           ParentId,
           app_list,
           vm_snapshot_id,
           active,
           entity_type,
           number_of_vms,
           vm_names,
           storage_for_image_view.quota_id as quota_id, 
           storage_for_image_view.quota_name as quota_name,
           quota_enforcement_type,
           null AS lun_id, 
           null AS physical_volume_id,
           null AS volume_group_id,
           null AS serial,
           null AS lun_mapping,
           null AS vendor_id,
           null AS product_id,
           null AS device_size
    FROM images_storage_domain_view
    INNER JOIN storage_for_image_view ON images_storage_domain_view.image_guid = storage_for_image_view.image_id
    UNION
    SELECT 1 AS disk_storage_type,
           null AS storage_id, 
           null AS storage_path,
           null AS storage_name,
           null AS storage_pool_id,
           null AS image_guid, 
           null AS creation_date,
           null AS actual_size,
           null AS read_rate,
           null AS write_rate,
           null AS read_latency_seconds,
           null AS write_latency_seconds,
           null AS flush_latency_seconds,
           null AS size,
           null AS it_guid,
           null AS imageStatus,
           null AS lastModified,
           null AS volume_type,
           null AS volume_format,
           dlm.disk_id AS image_group_id,
           null AS description, 
           null AS ParentId,
           null AS app_list,
           null AS vm_snapshot_id,
           null AS active,
           vms_for_disk_view.entity_type,
           COALESCE(array_upper(vms_for_disk_view.array_vm_names,1),0) as number_of_vms,
           array_to_string(vms_for_disk_view.array_vm_names, ',') as vm_names,
           null AS quota_id, 
           null AS quota_name,
           null AS quota_enforcement_type,
           l.lun_id, 
           l.physical_volume_id,
           l.volume_group_id,
           l.serial,
           l.lun_mapping,
           l.vendor_id,
           l.product_id,
           l.device_size
    FROM disk_lun_map dlm
    JOIN luns l ON l.lun_id = dlm.lun_id
    LEFT JOIN vms_for_disk_view on vms_for_disk_view.device_id = dlm.disk_id
) AS storage_impl
JOIN base_disks bd ON bd.disk_id = storage_impl.image_group_id;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW all_disks
AS
SELECT *
FROM all_disks_including_snapshots
WHERE active IS NULL OR active = TRUE;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW storage_domains
AS
SELECT
storage_domain_static.id as id,
		storage_domain_static.storage as storage,
		storage_domain_static.storage_name as storage_name,
		storage_domain_static.storage_description as storage_description,
		storage_domain_static.storage_comment as storage_comment,
        storage_pool_iso_map.storage_pool_id as storage_pool_id,
		storage_domain_dynamic.available_disk_size as available_disk_size,
		storage_domain_dynamic.used_disk_size as used_disk_size,
		fn_get_disk_commited_value_by_storage(storage_domain_static.id) as commited_disk_size,
		fn_get_actual_images_size_by_storage(storage_domain_static.id) as actual_images_size,
        storage_pool_iso_map.status as status,
		storage_pool.name as storage_pool_name,
		storage_domain_static.storage_type as storage_type,
		storage_domain_static.storage_domain_type as storage_domain_type,
                storage_domain_static.storage_domain_format_type as storage_domain_format_type,
        storage_domain_static.last_time_used_as_master as last_time_used_as_master,
        fn_get_storage_domain_shared_status_by_domain_id(storage_domain_static.id,storage_pool_iso_map.status,storage_domain_static.storage_domain_type) as storage_domain_shared_status,
	storage_domain_static.recoverable as recoverable
FROM    storage_domain_static
INNER JOIN storage_domain_dynamic ON storage_domain_static.id = storage_domain_dynamic.id
LEFT OUTER JOIN storage_pool_iso_map ON storage_domain_static.id = storage_pool_iso_map.storage_id
LEFT OUTER JOIN storage_pool ON storage_pool_iso_map.storage_pool_id = storage_pool.id;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW storage_domains_without_storage_pools
AS
SELECT DISTINCT
storage_domain_static.id as id, storage_domain_static.storage as storage, storage_domain_static.storage_name as storage_name, storage_domain_static.storage_description as storage_description,
		storage_domain_static.storage_comment as storage_comment, storage_domain_static.storage_type as storage_type, storage_domain_static.storage_domain_type as storage_domain_type,
                storage_domain_static.storage_domain_format_type as storage_domain_format_type,
        storage_domain_static.last_time_used_as_master as last_time_used_as_master,
		null as storage_pool_id, null as storage_pool_name,
		storage_domain_dynamic.available_disk_size as available_disk_size,
		storage_domain_dynamic.used_disk_size as used_disk_size,
		fn_get_disk_commited_value_by_storage(storage_domain_static.id) as commited_disk_size,
		fn_get_actual_images_size_by_storage(storage_domain_static.id) as actual_images_size,
	        null as status,
        fn_get_storage_domain_shared_status_by_domain_id(storage_domain_static.id,storage_pool_iso_map.status,storage_domain_static.storage_domain_type) as storage_domain_shared_status,
		storage_domain_static.recoverable as recoverable
FROM
storage_domain_static
INNER JOIN storage_domain_dynamic ON storage_domain_static.id = storage_domain_dynamic.id
LEFT OUTER JOIN storage_pool_iso_map ON storage_domain_static.id = storage_pool_iso_map.storage_id;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW storage_domains_for_search
AS
SELECT
                storage_domain_static.id as id, storage_domain_static.storage as storage, storage_domain_static.storage_name as storage_name, storage_domain_static.storage_description as storage_description,
                storage_domain_static.storage_comment as storage_comment, storage_domain_static.storage_type as storage_type, storage_domain_static.storage_domain_type as storage_domain_type,
                storage_domain_static.storage_domain_format_type as storage_domain_format_type,
                storage_domain_static.last_time_used_as_master as last_time_used_as_master,
                CASE
                          WHEN status_table.is_multi_domain THEN NULL
                          WHEN status_table.status IS NULL THEN 2 
                          ELSE status_table.status END as status,
                null as storage_pool_id, null as storage_pool_name,
                storage_domain_dynamic.available_disk_size as available_disk_size,
                storage_domain_dynamic.used_disk_size as used_disk_size,
                fn_get_disk_commited_value_by_storage(storage_domain_static.id) as commited_disk_size,
		fn_get_actual_images_size_by_storage(storage_domain_static.id) as actual_images_size,
                fn_get_storage_domain_shared_status_by_domain_id(storage_domain_static.id,status_table.status,storage_domain_static.storage_domain_type) as storage_domain_shared_status,
                storage_domain_static.recoverable as recoverable
FROM
                storage_domain_static
INNER JOIN
                storage_domain_dynamic ON storage_domain_static.id = storage_domain_dynamic.id
LEFT OUTER JOIN
                (SELECT storage_id, count(storage_id) > 1 as is_multi_domain, max(status) AS status
                 FROM storage_pool_iso_map
                 GROUP BY storage_id) AS status_table ON storage_domain_static.id=status_table.storage_id;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW luns_view
AS
SELECT
luns.*, storage_domain_static.id as storage_id, storage_domain_static.storage_name as storage_name,
        disk_lun_map.disk_id as disk_id, all_disks.disk_alias as disk_alias
FROM luns
LEFT OUTER JOIN storage_domain_static ON luns.volume_group_id = storage_domain_static.storage
LEFT OUTER JOIN disk_lun_map ON luns.lun_id = disk_lun_map.lun_id
LEFT OUTER JOIN all_disks ON disk_lun_map.disk_id = all_disks.disk_id;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW vm_templates_view
AS
SELECT
vm_templates.vm_guid as vmt_guid,
       vm_templates.vm_name as name,
       vm_templates.mem_size_mb as mem_size_mb,
       vm_templates.os as os,
       vm_templates.creation_date as creation_date,
       vm_templates.child_count as child_count,
       vm_templates.num_of_sockets as num_of_sockets,
       vm_templates.cpu_per_socket as cpu_per_socket,
       vm_templates.num_of_sockets*vm_templates.cpu_per_socket as num_of_cpus,
       vm_templates.description as description,
       vm_templates.free_text_comment as free_text_comment,
       vm_templates.vds_group_id as vds_group_id,
       vm_templates.domain as domain,
       vm_templates.num_of_monitors as num_of_monitors,
       vm_templates.single_qxl_pci as single_qxl_pci,
       vm_templates.allow_console_reconnect as allow_console_reconnect,
       vm_templates.template_status as status,
       vm_templates.usb_policy as usb_policy,
       vm_templates.time_zone as time_zone,
       vm_templates.fail_back as fail_back,
       vds_groups.name as vds_group_name,
       vds_groups.trusted_service as trusted_service,
       vm_templates.vm_type as vm_type,
       vm_templates.nice_level as nice_level,
       vm_templates.cpu_shares as cpu_shares,
       storage_pool.id as storage_pool_id,
       storage_pool.name as storage_pool_name,
       storage_pool.quota_enforcement_type as quota_enforcement_type,
       vm_templates.default_boot_sequence as default_boot_sequence,
       vm_templates.default_display_type as default_display_type,
       vm_templates.priority as priority,
       vm_templates.auto_startup as auto_startup,
       vm_templates.is_stateless as is_stateless,
       vm_templates.is_smartcard_enabled as is_smartcard_enabled,
       vm_templates.is_delete_protected as is_delete_protected,
       vm_templates.sso_method as sso_method,
       vm_templates.iso_path as iso_path,
       vm_templates.origin as origin,
       vm_templates.initrd_url as initrd_url,
       vm_templates.kernel_url as kernel_url,
       vm_templates.kernel_params as kernel_params,
       vm_templates.quota_id as quota_id,
       quota.quota_name as quota_name,
       vm_templates.db_generation as db_generation,
       vm_templates.migration_support,
       vm_templates.dedicated_vm_for_vds,
       vm_templates.is_disabled,
       vm_templates.tunnel_migration,
       vm_templates.vnc_keyboard_layout as vnc_keyboard_layout,
       vm_templates.min_allocated_mem as min_allocated_mem,
       vm_templates.is_run_and_pause as is_run_and_pause,
       vm_templates.created_by_user_id as created_by_user_id,
       vm_templates.entity_type,
       vm_templates.migration_downtime as migration_downtime,
       vds_groups.architecture as architecture
FROM       vm_static AS vm_templates  INNER JOIN
vds_groups ON vm_templates.vds_group_id = vds_groups.vds_group_id
left outer JOIN
storage_pool ON storage_pool.id = vds_groups.storage_pool_id
left outer JOIN
quota ON vm_templates.quota_id = quota.id
WHERE entity_type = 'TEMPLATE' OR entity_type = 'INSTANCE_TYPE' OR entity_type = 'IMAGE_TYPE';
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW vm_templates_with_plug_info
as
SELECT vm_templates_view.*, image_guid, image_group_id, is_plugged
FROM vm_templates_view
INNER JOIN vm_device vd ON vd.vm_id = vm_templates_view.vmt_guid
INNER JOIN images ON images.image_group_id = vd.device_id AND images.active = TRUE;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW vm_templates_storage_domain
AS
	SELECT            vm_templates.vm_guid AS vmt_guid, vm_templates.vm_name AS name, vm_templates.mem_size_mb,
                      vm_templates.os, vm_templates.creation_date,
                      vm_templates.child_count, vm_templates.num_of_sockets, vm_templates.cpu_per_socket,
	                  vm_templates.num_of_sockets*vm_templates.cpu_per_socket AS num_of_cpus, vm_templates.description, vm_templates.free_text_comment,
	                  vm_templates.vds_group_id, vm_templates.domain, vm_templates.num_of_monitors, vm_templates.single_qxl_pci, vm_templates.allow_console_reconnect, vm_templates.template_status AS status,
	                  vm_templates.usb_policy, vm_templates.time_zone, vm_templates.fail_back,
	                  vds_groups.name AS vds_group_name, vm_templates.vm_type, vm_templates.nice_level, vm_templates.cpu_shares, storage_pool.id AS storage_pool_id, storage_pool.name
                      AS storage_pool_name,
	                  vm_templates.default_boot_sequence, vm_templates.default_display_type, vm_templates.priority, vm_templates.auto_startup,
	                  vm_templates.is_stateless, vm_templates.iso_path, vm_templates.origin, vm_templates.initrd_url, vm_templates.kernel_url,
	                  vm_templates.kernel_params, image_storage_domain_map.storage_domain_id AS storage_id,
                    quota.quota_name as quota_name, vm_templates.is_disabled, vm_templates.min_allocated_mem, vm_templates.is_run_and_pause, vm_templates.created_by_user_id,
                    vm_templates.migration_downtime,
                    vm_templates.entity_type, vds_groups.architecture
FROM                  vm_static AS vm_templates INNER JOIN
	                  vds_groups ON vm_templates.vds_group_id = vds_groups.vds_group_id LEFT OUTER JOIN
                      storage_pool ON storage_pool.id = vds_groups.storage_pool_id INNER JOIN
                      vm_device ON vm_device.vm_id = vm_templates.vm_guid LEFT JOIN
	                  images ON images.image_group_id = vm_device.device_id
	                  LEFT JOIN image_storage_domain_map ON image_storage_domain_map.image_id = images.image_guid
                          LEFT OUTER JOIN quota quota on quota.id = vm_templates.quota_id
WHERE      entity_type = 'TEMPLATE' OR entity_type = 'INSTANCE_TYPE' OR entity_type = 'IMAGE_TYPE'
UNION
SELECT                vm_templates_1.vm_guid AS vmt_guid, vm_templates_1.vm_name AS name, vm_templates_1.mem_size_mb, vm_templates_1.os, vm_templates_1.creation_date,
                      vm_templates_1.child_count, vm_templates_1.num_of_sockets, vm_templates_1.cpu_per_socket,
                      vm_templates_1.num_of_sockets*vm_templates_1.cpu_per_socket AS num_of_cpus, vm_templates_1.description, vm_templates_1.free_text_comment, vm_templates_1.vds_group_id,
                      vm_templates_1.domain, vm_templates_1.num_of_monitors, vm_templates_1.single_qxl_pci, vm_templates_1.allow_console_reconnect, vm_templates_1.template_status AS status, vm_templates_1.usb_policy, vm_templates_1.time_zone,
                      vm_templates_1.fail_back, vds_groups_1.name AS vds_group_name, vm_templates_1.vm_type,
                      vm_templates_1.nice_level, vm_templates_1.cpu_shares, storage_pool_1.id AS storage_pool_id,
                      storage_pool_1.name AS storage_pool_name, vm_templates_1.default_boot_sequence, vm_templates_1.default_display_type,
                      vm_templates_1.priority, vm_templates_1.auto_startup, vm_templates_1.is_stateless, vm_templates_1.iso_path, vm_templates_1.origin,
                      vm_templates_1.initrd_url, vm_templates_1.kernel_url, vm_templates_1.kernel_params,
                      image_storage_domain_map.storage_domain_id AS storage_id,
                      quota.quota_name as quota_name, vm_templates_1.is_disabled, vm_templates_1.min_allocated_mem, vm_templates_1.is_run_and_pause, vm_templates_1.created_by_user_id,
                      vm_templates_1.migration_downtime,
                      vm_templates_1.entity_type, vds_groups_1.architecture
FROM                  vm_static AS vm_templates_1 INNER JOIN
                      vds_groups AS vds_groups_1 ON vm_templates_1.vds_group_id = vds_groups_1.vds_group_id LEFT OUTER JOIN
                      storage_pool AS storage_pool_1 ON storage_pool_1.id = vds_groups_1.storage_pool_id INNER JOIN
                      vm_device AS vm_device_1 ON vm_device_1.vm_id = vm_templates_1.vm_guid INNER JOIN
                      images AS images_1 ON images_1.image_group_id = vm_device_1.device_id INNER JOIN
                      image_storage_domain_map ON image_storage_domain_map.image_id = images_1.image_guid
                      LEFT OUTER JOIN quota quota on quota.id = vm_templates_1.quota_id
WHERE                 entity_type = 'TEMPLATE' OR entity_type = 'INSTANCE_TYPE' OR entity_type = 'IMAGE_TYPE';
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW instance_types_view
AS
	SELECT * from vm_templates_view where entity_type = 'INSTANCE_TYPE';
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW instance_types_storage_domain
AS
	SELECT * from vm_templates_storage_domain where entity_type = 'INSTANCE_TYPE';
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW image_types_view
AS
	SELECT * from vm_templates_view where entity_type = 'IMAGE_TYPE';
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW image_types_storage_domain
AS
	SELECT * from vm_templates_storage_domain where entity_type = 'IMAGE_TYPE';
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW vm_pool_map_view
AS
SELECT
vm_pool_map.vm_guid as vm_guid,
vm_pool_map.vm_pool_id as vm_pool_id,
vm_pools.vm_pool_name as vm_pool_name,
vm_pools.spice_proxy as vm_pool_spice_proxy
from vm_pool_map
INNER JOIN vm_pools
ON vm_pool_map.vm_pool_id = vm_pools.vm_pool_id;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW tags_vm_pool_map_view
AS
SELECT		tags.tag_id as tag_id,
			tags.tag_name as tag_name,
			tags.parent_id as parent_id,
			tags.readonly as readonly, tags.type as type,
			tags_vm_pool_map.vm_pool_id as vm_pool_id
FROM        tags INNER JOIN
tags_vm_pool_map ON tags.tag_id = tags_vm_pool_map.tag_id;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW tags_vm_map_view
AS
SELECT     tags.tag_id as tag_id,
		   tags.tag_name as tag_name,
		   tags.parent_id as parent_id,
		   tags.readonly as readonly,
		   tags.type as type,
           tags_vm_map.vm_id as vm_id
FROM       tags INNER JOIN
tags_vm_map ON tags.tag_id = tags_vm_map.tag_id;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW tags_vds_map_view
AS
SELECT     tags.tag_id as tag_id,
		   tags.tag_name as tag_name,
		   tags.parent_id as parent_id,
		   tags.readonly as readonly,
		   tags.type as type,
           tags_vds_map.vds_id as vds_id
FROM       tags INNER JOIN
tags_vds_map ON tags.tag_id = tags_vds_map.tag_id;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW tags_user_map_view
AS
SELECT     tags.tag_id as tag_id,
           tags.tag_name as tag_name,
		   tags.parent_id as parent_id,
		   tags.readonly as readonly,
		   tags.type as type,
           tags_user_map.user_id as user_id
FROM       tags INNER JOIN
tags_user_map ON tags.tag_id = tags_user_map.tag_id;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW tags_user_group_map_view
AS
SELECT     tags.tag_id as tag_id,
			tags.tag_name as tag_name,
			tags.parent_id as parent_id,
			tags.readonly as readonly,
		   tags.type as type,
			 tags_user_group_map.group_id as group_id
FROM         tags_user_group_map INNER JOIN
tags ON tags_user_group_map.tag_id = tags.tag_id;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW vms
AS
SELECT     vm_static.vm_name as vm_name, vm_static.mem_size_mb as vm_mem_size_mb, vm_static.nice_level as nice_level, vm_static.cpu_shares as cpu_shares,
                      vm_static.vmt_guid as vmt_guid, vm_static.os as vm_os, vm_static.description as vm_description, vm_static.free_text_comment as vm_comment, vm_static.vds_group_id as vds_group_id,
                      vm_static.domain as vm_domain, vm_static.creation_date as vm_creation_date, vm_static.auto_startup as auto_startup, vm_static.is_stateless as is_stateless,
                      vm_static.is_smartcard_enabled as is_smartcard_enabled, vm_static.is_delete_protected as is_delete_protected, vm_static.sso_method as sso_method, vm_static.dedicated_vm_for_vds as dedicated_vm_for_vds,
                      vm_static.fail_back as fail_back, vm_static.default_boot_sequence as default_boot_sequence, vm_static.vm_type as vm_type, vm_pool_map_view.vm_pool_spice_proxy as vm_pool_spice_proxy,
                      vds_groups.name as vds_group_name, vds_groups.transparent_hugepages as transparent_hugepages, vds_groups.trusted_service as trusted_service,
                      storage_pool.id as storage_pool_id, storage_pool.name as storage_pool_name,
                      vds_groups.description as vds_group_description, vds_groups.spice_proxy as vds_group_spice_proxy, vm_templates.vm_name as vmt_name,
                      vm_templates.mem_size_mb as vmt_mem_size_mb, vm_templates.os as vmt_os, vm_templates.creation_date as vmt_creation_date,
                      vm_templates.child_count as vmt_child_count, vm_templates.num_of_sockets as vmt_num_of_sockets,
                      vm_templates.cpu_per_socket as vmt_cpu_per_socket, vm_templates.num_of_sockets*vm_templates.cpu_per_socket as vmt_num_of_cpus,
                      vm_templates.description as vmt_description, vm_dynamic.status as status, vm_dynamic.vm_ip as vm_ip, vm_dynamic.vm_host as vm_host,
                      vm_dynamic.vm_pid as vm_pid, vm_dynamic.last_start_time as last_start_time, vm_dynamic.guest_cur_user_name as guest_cur_user_name, vm_dynamic.console_cur_user_name as console_cur_user_name,
                      vm_dynamic.guest_last_login_time as guest_last_login_time, vm_dynamic.guest_last_logout_time as guest_last_logout_time, vm_dynamic.guest_os as guest_os,
                      vm_dynamic.console_user_id as console_user_id, vm_dynamic.guest_agent_nics_hash as guest_agent_nics_hash,
                      vm_dynamic.run_on_vds as run_on_vds, vm_dynamic.migrating_to_vds as migrating_to_vds, vm_dynamic.app_list as app_list, vm_dynamic.display as display, vm_dynamic.hibernation_vol_handle as hibernation_vol_handle,
                      vm_pool_map_view.vm_pool_name as vm_pool_name, vm_pool_map_view.vm_pool_id as vm_pool_id, vm_static.vm_guid as vm_guid, vm_static.num_of_monitors as num_of_monitors, vm_static.single_qxl_pci as single_qxl_pci, vm_static.allow_console_reconnect as allow_console_reconnect, vm_static.is_initialized as is_initialized,
                      vm_static.num_of_sockets as num_of_sockets, vm_static.cpu_per_socket as cpu_per_socket, vm_static.usb_policy as usb_policy, vm_dynamic.acpi_enable as acpi_enable, vm_dynamic.session as session,
                      vm_static.num_of_sockets*vm_static.cpu_per_socket as num_of_cpus,
                      vm_static.quota_id as quota_id, quota.quota_name as quota_name, storage_pool.quota_enforcement_type as quota_enforcement_type,
                      vm_dynamic.display_ip as display_ip, vm_dynamic.display_type as display_type, vm_dynamic.kvm_enable as kvm_enable, vm_dynamic.boot_sequence as boot_sequence,
                      vm_dynamic.display_secure_port as display_secure_port, vm_dynamic.utc_diff as utc_diff, vm_dynamic.last_vds_run_on as last_vds_run_on,
					  vm_dynamic.client_ip as client_ip,vm_dynamic.guest_requested_memory as guest_requested_memory, vm_static.time_zone as time_zone, vm_statistics.cpu_user as cpu_user, vm_statistics.cpu_sys as cpu_sys,
                      vm_statistics.elapsed_time as elapsed_time, vm_statistics.usage_network_percent as usage_network_percent,
                      vm_statistics.usage_mem_percent as usage_mem_percent, vm_statistics.usage_cpu_percent as usage_cpu_percent, vds_static.vds_name as run_on_vds_name, vds_groups.cpu_name as vds_group_cpu_name,
                      vm_static.default_display_type as default_display_type, vm_static.priority as priority,vm_static.iso_path as iso_path, vm_static.origin as origin, vds_groups.compatibility_version as vds_group_compatibility_version,
                      vm_static.initrd_url as initrd_url, vm_static.kernel_url as kernel_url, vm_static.kernel_params as kernel_params, vm_dynamic.pause_status as pause_status, vm_dynamic.exit_message as exit_message, vm_dynamic.exit_status as exit_status,vm_static.migration_support as migration_support,vm_static.predefined_properties as predefined_properties,vm_static.userdefined_properties as userdefined_properties,vm_static.min_allocated_mem as min_allocated_mem,  vm_dynamic.hash as hash, vm_static.cpu_pinning as cpu_pinning, vm_static.db_generation as db_generation, vm_static.host_cpu_flags as host_cpu_flags,
                      vm_static.tunnel_migration as tunnel_migration, vm_static.vnc_keyboard_layout as vnc_keyboard_layout, vm_static.is_run_and_pause as is_run_and_pause, vm_static.created_by_user_id as created_by_user_id,
                      vm_dynamic.last_watchdog_event as last_watchdog_event, vm_dynamic.last_watchdog_action as last_watchdog_action, vm_dynamic.is_run_once as is_run_once, vm_dynamic.vm_fqdn as vm_fqdn, vm_dynamic.cpu_name as cpu_name,
                      vm_static.instance_type_id as instance_type_id, vm_static.image_type_id as image_type_id, vds_groups.architecture as architecture, vm_static.original_template_id as original_template_id, vm_static.original_template_name as original_template_name, vm_dynamic.last_stop_time as last_stop_time,
                      vm_static.migration_downtime as migration_downtime
FROM         vm_static INNER JOIN
vm_dynamic ON vm_static.vm_guid = vm_dynamic.vm_guid INNER JOIN
vm_static AS vm_templates ON vm_static.vmt_guid = vm_templates.vm_guid INNER JOIN
vm_statistics ON vm_static.vm_guid = vm_statistics.vm_guid INNER JOIN
vds_groups ON vm_static.vds_group_id = vds_groups.vds_group_id LEFT OUTER JOIN
storage_pool ON vm_static.vds_group_id = vds_groups.vds_group_id
and vds_groups.storage_pool_id = storage_pool.id LEFT OUTER JOIN
quota ON vm_static.quota_id = quota.id LEFT OUTER JOIN
vds_static ON vm_dynamic.run_on_vds = vds_static.vds_id LEFT OUTER JOIN
vm_pool_map_view ON vm_static.vm_guid = vm_pool_map_view.vm_guid
WHERE vm_static.entity_type = 'VM';
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW vms_with_tags
AS
SELECT      vms.vm_name, vms.vm_mem_size_mb, vms.nice_level, vms.cpu_shares, vms.vmt_guid, vms.vm_os, vms.vm_description, vms.vm_comment,
            vms.vds_group_id, vms.vm_domain, vms.vm_creation_date, vms.auto_startup, vms.is_stateless, vms.is_smartcard_enabled, vms.is_delete_protected,
            vms.sso_method, vms.dedicated_vm_for_vds, vms.fail_back, vms.default_boot_sequence, vms.vm_type,
            vms.vds_group_name, vms.storage_pool_id, vms.storage_pool_name,
            vms.vds_group_description, vms.vmt_name, vms.vmt_mem_size_mb, vms.vmt_os, vms.vmt_creation_date,
            vms.vmt_child_count, vms.vmt_num_of_sockets, vms.vmt_cpu_per_socket, vms.vmt_description, vms.status, vms.vm_ip,
            vms.vm_host, vms.vmt_num_of_sockets * vms.vmt_cpu_per_socket AS vmt_num_of_cpus, vms.vm_pid,
            vms.last_start_time, vms.last_stop_time, vms.guest_cur_user_name, vms.console_cur_user_name, vms.guest_last_login_time, vms.console_user_id,
            vms.guest_last_logout_time, vms.guest_os, vms.run_on_vds, vms.migrating_to_vds, vms.app_list, vms.display,
            vms.hibernation_vol_handle, vms.vm_pool_name, vms.vm_pool_id, vms.vm_guid, vms.num_of_monitors, vms.single_qxl_pci,
            vms.allow_console_reconnect,
            vms.is_initialized, vms.num_of_sockets, vms.cpu_per_socket, vms.usb_policy, vms.acpi_enable,
            vms.session, vms.num_of_sockets * vms.cpu_per_socket AS num_of_cpus, vms.display_ip, vms.display_type,
            vms.kvm_enable, vms.boot_sequence, vms.display_secure_port, vms.utc_diff, vms.last_vds_run_on, vms.client_ip,
            vms.guest_requested_memory, vms.time_zone, vms.cpu_user, vms.cpu_sys, vms.elapsed_time,
            vms.usage_network_percent, vms.usage_mem_percent, vms.usage_cpu_percent, vms.run_on_vds_name,
            vms.vds_group_cpu_name, tags_vm_map_view.tag_name, tags_vm_map_view.tag_id, vms.default_display_type, vms.priority,
            vms.vds_group_compatibility_version, vms.initrd_url, vms.kernel_url, vms.kernel_params, vms.pause_status,
            vms.exit_status, vms.exit_message, vms.min_allocated_mem, storage_domain_static.id AS storage_id,
            vms.quota_id as quota_id, vms.quota_name as quota_name, vms.tunnel_migration as tunnel_migration,
            vms.vnc_keyboard_layout as vnc_keyboard_layout, vms.is_run_and_pause as is_run_and_pause, vms.created_by_user_id as created_by_user_id, vms.vm_fqdn, vms.cpu_name as cpu_name,
            vms.vm_pool_spice_proxy as vm_pool_spice_proxy, vms.vds_group_spice_proxy as vds_group_spice_proxy,
            vms.instance_type_id as instance_type_id, vms.image_type_id as image_type_id, vms.architecture as architecture, vms.original_template_id as original_template_id, vms.original_template_name as original_template_name,
            vms.migration_downtime as migration_downtime
FROM        vms LEFT OUTER JOIN
            tags_vm_map_view ON vms.vm_guid = tags_vm_map_view.vm_id LEFT OUTER JOIN
            vm_device ON vm_device.vm_id = vms.vm_guid LEFT OUTER JOIN
            images ON images.image_group_id = vm_device.device_id LEFT OUTER JOIN
            image_storage_domain_map ON image_storage_domain_map.image_id = images.image_guid LEFT OUTER JOIN
            storage_domain_static ON storage_domain_static.id = image_storage_domain_map.storage_domain_id
WHERE       images.active IS NULL OR images.active = TRUE;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW server_vms
as
SELECT * FROM vms
WHERE vm_type = '1';
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW vms_with_plug_info
as
SELECT *
FROM vms
INNER JOIN vm_device vd ON vd.vm_id = vms.vm_guid;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW desktop_vms
as
SELECT * FROM vms
WHERE vm_type = '0';
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW vds
as
SELECT     vds_groups.vds_group_id as vds_group_id, vds_groups.name as vds_group_name, vds_groups.description as vds_group_description, vds_groups.architecture as architecture,
                      vds_static.vds_id as vds_id, vds_static.vds_name as vds_name, vds_static.ip as ip, vds_static.vds_unique_id as vds_unique_id,
                      vds_static.host_name as host_name, vds_static.free_text_comment as free_text_comment,
                      vds_static.port as port, vds_static.vds_strength as vds_strength, vds_static.server_SSL_enabled as server_SSL_enabled, vds_static.vds_type as vds_type,
                      vds_static.pm_type as pm_type, vds_static.pm_user as pm_user, vds_static.pm_password as pm_password, vds_static.pm_port as pm_port,
                      vds_static.pm_options as pm_options, vds_static.pm_enabled as pm_enabled,
                      vds_static.pm_proxy_preferences as pm_proxy_preferences,vds_static.pm_secondary_ip as pm_secondary_ip,
                      vds_static.pm_secondary_options as pm_secondary_options, vds_static.pm_secondary_port as pm_secondary_port,
                      vds_static.pm_secondary_password as pm_secondary_password, vds_static.pm_secondary_user as pm_secondary_user,
                      vds_static.pm_secondary_type as pm_secondary_type, vds_static.pm_secondary_concurrent as pm_secondary_concurrent,
                      vds_static.vds_spm_priority as vds_spm_priority, vds_dynamic.hooks as hooks,vds_dynamic.status as status,
                      vds_dynamic.cpu_cores as cpu_cores, vds_dynamic.cpu_threads as cpu_threads, vds_dynamic.cpu_model as cpu_model, vds_dynamic.cpu_speed_mh as cpu_speed_mh,
                      vds_dynamic.if_total_speed as if_total_speed, vds_dynamic.kvm_enabled as kvm_enabled, vds_dynamic.physical_mem_mb as physical_mem_mb,
                      vds_dynamic.pending_vcpus_count as pending_vcpus_count, vds_dynamic.pending_vmem_size as pending_vmem_size,vds_dynamic.mem_commited as mem_commited, vds_dynamic.vm_active as vm_active, vds_dynamic.vm_count as vm_count,
                      vds_dynamic.vm_migrating as vm_migrating, vds_dynamic.vms_cores_count as vms_cores_count, vds_dynamic.cpu_over_commit_time_stamp as cpu_over_commit_time_stamp,
                      vds_groups.max_vds_memory_over_commit as max_vds_memory_over_commit, vds_dynamic.net_config_dirty as net_config_dirty, vds_groups.count_threads_as_cores as count_threads_as_cores,
                      storage_pool.id as storage_pool_id, storage_pool.name as storage_pool_name, vds_dynamic.reserved_mem as reserved_mem,
                      vds_dynamic.guest_overhead as guest_overhead, vds_dynamic.rpm_version as rpm_version, vds_dynamic.software_version as software_version, vds_dynamic.version_name as version_name, vds_dynamic.build_name as build_name,
                      vds_dynamic.previous_status as previous_status, vds_statistics.cpu_idle as cpu_idle, vds_statistics.cpu_load as cpu_load, vds_statistics.cpu_sys as cpu_sys, vds_statistics.cpu_user as cpu_user,
                      vds_statistics.usage_mem_percent as usage_mem_percent, vds_statistics.usage_cpu_percent as usage_cpu_percent, vds_statistics.usage_network_percent as usage_network_percent,
                      vds_statistics.mem_available as mem_available, vds_statistics.mem_free as mem_free, vds_statistics.mem_shared as mem_shared, vds_statistics.swap_free as swap_free,
					  vds_statistics.swap_total as swap_total,  vds_statistics.ksm_cpu_percent as ksm_cpu_percent,  vds_statistics.ksm_pages as ksm_pages,  vds_statistics.ksm_state as ksm_state,
                      vds_dynamic.cpu_flags as cpu_flags,vds_groups.cpu_name as vds_group_cpu_name, vds_dynamic.cpu_sockets as cpu_sockets, vds_spm_id_map.vds_spm_id as vds_spm_id, vds_static.otp_validity as otp_validity,
                      CASE WHEN storage_pool.spm_vds_id = vds_static.vds_id THEN CASE WHEN storage_pool.status = 5 THEN 1 ELSE 2 END ELSE 0 END as spm_status, vds_dynamic.supported_cluster_levels as supported_cluster_levels, vds_dynamic.supported_engines as supported_engines, vds_groups.compatibility_version as vds_group_compatibility_version,
                      vds_groups.virt_service as vds_group_virt_service, vds_groups.gluster_service as vds_group_gluster_service,
                      vds_dynamic.host_os as host_os, vds_dynamic.kvm_version as kvm_version, vds_dynamic.libvirt_version as libvirt_version, vds_dynamic.spice_version as spice_version, vds_dynamic.gluster_version as gluster_version, vds_dynamic.kernel_version as kernel_version, vds_dynamic.iscsi_initiator_name as iscsi_initiator_name,
                      vds_dynamic.transparent_hugepages_state as transparent_hugepages_state, vds_statistics.anonymous_hugepages as anonymous_hugepages, vds_dynamic.non_operational_reason as non_operational_reason,
			vds_static.recoverable as recoverable, vds_static.sshKeyFingerprint as sshKeyFingerprint, vds_dynamic.hw_manufacturer as hw_manufacturer, vds_dynamic.hw_product_name as hw_product_name, vds_dynamic.hw_version as hw_version,
                      vds_dynamic.hw_serial_number as hw_serial_number, vds_dynamic.hw_uuid as hw_uuid, vds_dynamic.hw_family as hw_family, vds_static.console_address as console_address,
                      vds_dynamic.hbas as hbas, vds_dynamic.supported_emulated_machines as supported_emulated_machines, vds_static.ssh_port as ssh_port, vds_static.ssh_username as ssh_username, vds_statistics.ha_score as ha_score,
                      vds_static.disable_auto_pm as disable_auto_pm, vds_dynamic.controlled_by_pm_policy as controlled_by_pm_policy
FROM         vds_groups INNER JOIN
vds_static ON vds_groups.vds_group_id = vds_static.vds_group_id INNER JOIN
vds_dynamic ON vds_static.vds_id = vds_dynamic.vds_id INNER JOIN
vds_statistics ON vds_static.vds_id = vds_statistics.vds_id LEFT OUTER JOIN
storage_pool ON vds_groups.storage_pool_id = storage_pool.id LEFT OUTER JOIN
vds_spm_id_map ON vds_static.vds_id = vds_spm_id_map.vds_id;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW vds_with_tags
as
SELECT     vds_groups.vds_group_id, vds_groups.name AS vds_group_name, vds_groups.description AS vds_group_description, vds_groups.architecture as architecture,
                      vds_static.vds_id, vds_static.vds_name, vds_static.ip, vds_static.vds_unique_id,
                      vds_static.host_name, vds_static.free_text_comment, vds_static.port, vds_static.vds_strength, vds_static.server_SSL_enabled, vds_static.vds_type,
                      vds_static.pm_type, vds_static.pm_user, vds_static.pm_password, vds_static.pm_port,
                      vds_dynamic.hw_product_name, vds_dynamic.hw_version, vds_dynamic.hw_serial_number, vds_dynamic.hw_uuid, vds_dynamic.hw_family,
                      vds_static.pm_options, vds_static.pm_enabled, vds_static.pm_proxy_preferences as pm_proxy_preferences,
                      vds_static.pm_secondary_ip as pm_secondary_ip,
                      vds_static.pm_secondary_options as pm_secondary_options, vds_static.pm_secondary_port as pm_secondary_port,
                      vds_static.pm_secondary_password as pm_secondary_password, vds_static.pm_secondary_user as pm_secondary_user,
                      vds_static.pm_secondary_type as pm_secondary_type, vds_static.pm_secondary_concurrent as pm_secondary_concurrent,
                      vds_dynamic.hooks, vds_dynamic.status, vds_dynamic.cpu_cores,
                      vds_dynamic.cpu_threads, vds_dynamic.cpu_model, vds_dynamic.cpu_speed_mh, vds_dynamic.if_total_speed, vds_dynamic.kvm_enabled,
                      vds_dynamic.physical_mem_mb, vds_dynamic.pending_vcpus_count, vds_dynamic.pending_vmem_size,
                      vds_dynamic.mem_commited, vds_dynamic.vm_active, vds_dynamic.vm_count, vds_dynamic.vm_migrating,
                      vds_dynamic.vms_cores_count, vds_dynamic.cpu_over_commit_time_stamp,
                      vds_dynamic.net_config_dirty, vds_groups.max_vds_memory_over_commit, vds_groups.count_threads_as_cores,
                      storage_pool.id AS storage_pool_id, storage_pool.name AS storage_pool_name, tags_vds_map_view.tag_name,
                      tags_vds_map_view.tag_id, vds_dynamic.reserved_mem, vds_dynamic.guest_overhead, vds_dynamic.rpm_version, vds_dynamic.software_version,
                      vds_dynamic.version_name, vds_dynamic.build_name, vds_dynamic.previous_status, vds_statistics.cpu_idle,
                      vds_statistics.cpu_load, vds_statistics.cpu_sys, vds_statistics.cpu_user, vds_statistics.usage_mem_percent,
                      vds_statistics.usage_cpu_percent, vds_statistics.usage_network_percent, vds_statistics.mem_available, vds_statistics.mem_free,
                      vds_statistics.mem_shared, vds_statistics.swap_free, vds_statistics.swap_total, vds_statistics.ksm_cpu_percent,
                      vds_statistics.ksm_pages, vds_statistics.ksm_state, vds_dynamic.cpu_flags, vds_groups.cpu_name AS vds_group_cpu_name,
                      vds_dynamic.cpu_sockets, vds_spm_id_map.vds_spm_id, vds_static.otp_validity as otp_validity, vds_static.console_address as console_address,
                      CASE WHEN storage_pool.spm_vds_id = vds_static.vds_id THEN CASE WHEN storage_pool.status = 5 THEN 1 ELSE 2 END ELSE 0 END AS
spm_status, vds_dynamic.supported_cluster_levels, vds_dynamic.supported_engines,
                      vds_groups.compatibility_version AS vds_group_compatibility_version, vds_dynamic.host_os, vds_dynamic.kvm_version, vds_dynamic.libvirt_version,
                      vds_dynamic.spice_version, vds_dynamic.gluster_version, vds_dynamic.kernel_version, vds_dynamic.iscsi_initiator_name,
                      vds_dynamic.transparent_hugepages_state, vds_statistics.anonymous_hugepages, vds_dynamic.non_operational_reason,
                      storage_pool_iso_map.storage_id, vds_static.ssh_port, vds_static.ssh_username, vds_statistics.ha_score as ha_score,
                      vds_static.disable_auto_pm as disable_auto_pm, vds_dynamic.controlled_by_pm_policy as controlled_by_pm_policy
FROM         vds_groups INNER JOIN
vds_static ON vds_groups.vds_group_id = vds_static.vds_group_id INNER JOIN
vds_dynamic ON vds_static.vds_id = vds_dynamic.vds_id INNER JOIN
vds_statistics ON vds_static.vds_id = vds_statistics.vds_id LEFT OUTER JOIN
storage_pool ON vds_groups.storage_pool_id = storage_pool.id LEFT OUTER JOIN
tags_vds_map_view ON vds_static.vds_id = tags_vds_map_view.vds_id LEFT OUTER JOIN
vds_spm_id_map ON vds_static.vds_id = vds_spm_id_map.vds_id LEFT OUTER JOIN
storage_pool_iso_map ON storage_pool_iso_map.storage_pool_id = storage_pool.id;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW users_and_groups_to_vm_pool_map_view
AS
select	p.vm_pool_id as vm_pool_id, p.vm_pool_name as vm_pool_name, per.ad_element_id as user_id
FROM    vm_pools AS p
INNER JOIN permissions as per on per.object_id = p.vm_pool_id;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW vdc_users
AS
SELECT     'user' as user_group, users_1.name as name, users_1.user_id as user_id, users_1.surname as surname, users_1.domain as domain, users_1.username as username, users_1.groups as groups, users_1.department as department,
                      users_1.role as role, users_1.email as email, users_1.note as note, users_1.active as active, 0 as vm_admin,
                      users_1.last_admin_check_status as last_admin_check_status, users_1.group_ids as group_ids,
                      users_1.external_id as external_id
FROM         users AS users_1
UNION
SELECT     'group' as user_group, ad_groups.name as name, ad_groups.id as id, '' as surname, ad_groups.domain as domain, '' as username, '' as groups, '' as department, '' as role,
                      '' as email, '' as note, ad_groups.active as active, 1 as vm_admin, null as last_admin_check_status, '' as group_ids,
                      ad_groups.external_id as external_id
FROM         ad_groups;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW vdc_users_with_tags
AS
SELECT     users_1.user_group as user_group, users_1.name as name, permissions.object_id as vm_guid, users_1.user_id as user_id, users_1.surname as surname, users_1.domain as domain,
                      users_1.username as username, users_1.groups as groups, users_1.department as department, users_1.role as role, roles1.name as mla_role, users_1.email as email,
                      users_1.note as note, users_1.active as active, users_1.vm_admin as vm_admin, tags_user_map_view_1.tag_name as tag_name, tags_user_map_view_1.tag_id as tag_id, users_1.last_admin_check_status as last_admin_check_status, users_1.group_ids as group_ids,
                      pools.vm_pool_name as vm_pool_name
FROM         vdc_users AS users_1 LEFT OUTER JOIN
users_and_groups_to_vm_pool_map_view AS pools ON users_1.user_id = pools.user_id LEFT OUTER JOIN
permissions ON users_1.user_id = permissions.ad_element_id LEFT OUTER JOIN
tags ON tags.type = 1 LEFT OUTER JOIN
tags_user_map_view AS tags_user_map_view_1 ON users_1.user_id = tags_user_map_view_1.user_id LEFT OUTER JOIN
roles AS roles1 ON roles1.id = permissions.role_id
WHERE     (users_1.user_group = 'user')
UNION
SELECT     users_2.user_group as user_group, users_2.name as name, permissions_1.object_id as vm_guid, users_2.user_id as user_id, users_2.surname as surname, users_2.domain as domain,
                      users_2.username as username, users_2.groups as groups, users_2.department as department, users_2.role as role, roles2.name as mla_role, users_2.email as email,
                      users_2.note as note, users_2.active as active, users_2.vm_admin as vm_admin, tags_user_group_map_view.tag_name as tag_name, tags_user_group_map_view.tag_id as tag_id,
                      users_2.last_admin_check_status as last_admin_check_status, users_2.group_ids as group_ids , pools1.vm_pool_name as vm_pool_name
FROM         vdc_users AS users_2 LEFT OUTER JOIN
users_and_groups_to_vm_pool_map_view AS pools1 ON users_2.user_id = pools1.user_id LEFT OUTER JOIN
permissions AS permissions_1 ON users_2.user_id = permissions_1.ad_element_id LEFT OUTER JOIN
tags AS tags_1 ON tags_1.type = 1 LEFT OUTER JOIN
tags_user_group_map_view ON users_2.user_id = tags_user_group_map_view.group_id LEFT OUTER JOIN
roles AS roles2 ON roles2.id = permissions_1.role_id
WHERE     (users_2.user_group = 'group');
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW vm_pools_view AS
 SELECT vm_pools.vm_pool_id, vm_pools.vm_pool_name, vm_pools.vm_pool_description, vm_pools.vm_pool_comment, vm_pools.vm_pool_type, vm_pools.parameters, vm_pools.prestarted_vms, vm_pools.vds_group_id, vds_groups.name AS vds_group_name, vds_groups.architecture AS architecture, storage_pool.name as storage_pool_name, storage_pool.id as storage_pool_id, vm_pools.max_assigned_vms_per_user as max_assigned_vms_per_user,
 vm_pools.spice_proxy as spice_proxy
   FROM vm_pools
   JOIN vds_groups ON vm_pools.vds_group_id = vds_groups.vds_group_id
   JOIN storage_pool ON storage_pool.id = vds_groups.storage_pool_id;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW vm_pools_full_view AS
 SELECT vmp.vm_pool_id, vmp.vm_pool_name, vmp.vm_pool_description, vmp.vm_pool_comment, vmp.vm_pool_type, vmp.parameters, vmp.prestarted_vms, vmp.vds_group_id, vmp.vds_group_name, vmp.architecture, vmp.max_assigned_vms_per_user, vmp.spice_proxy as spice_proxy, ( SELECT count(vm_pool_map.vm_pool_id) AS expr1
           FROM vm_pools_view v1
      LEFT JOIN vm_pool_map ON v1.vm_pool_id = vm_pool_map.vm_pool_id AND v1.vm_pool_id = vmp.vm_pool_id) AS assigned_vm_count, ( SELECT count(v2.vm_pool_id) AS expr1
           FROM vm_pools v2
      LEFT JOIN vm_pool_map vm_pool_map_1 ON v2.vm_pool_id = vm_pool_map_1.vm_pool_id AND v2.vm_pool_id = vmp.vm_pool_id
   LEFT JOIN vm_dynamic ON vm_pool_map_1.vm_guid = vm_dynamic.vm_guid
  WHERE vm_dynamic.status <> ALL (ARRAY[0, 15])
  GROUP BY v2.vm_pool_id) AS vm_running_count, vmp.storage_pool_name, vmp.storage_pool_id
   FROM vm_pools_view vmp;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW permissions_view
AS
SELECT     permissions.id as id, permissions.role_id as role_id, permissions.ad_element_id as ad_element_id, permissions.object_id as object_id, permissions.object_type_id as object_type_id,
	       roles.name as role_name, roles.role_type as role_type, roles.allows_viewing_children as allows_viewing_children, roles.app_mode as app_mode, fn_get_entity_name(permissions.object_id,permissions.object_type_id) as object_name,
			fn_get_ad_element_name(permissions.ad_element_id) as owner_name
FROM         permissions INNER JOIN
roles ON permissions.role_id = roles.id;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW internal_permissions_view
AS
SELECT     permissions.id as id, permissions.role_id as role_id, permissions.ad_element_id as ad_element_id, permissions.object_id as object_id, permissions.object_type_id as object_type_id,
	       roles.name as role_name, roles.role_type as role_type, roles.allows_viewing_children as allows_viewing_children
FROM         permissions
INNER JOIN roles ON permissions.role_id = roles.id;
**************************

CREATE VIEW
********* QUERY **********
/*************************************************
        vds/vm/ interface view
*************************************************/
CREATE OR REPLACE VIEW vds_interface_view AS
  SELECT vds_interface_statistics.rx_rate, vds_interface_statistics.tx_rate, vds_interface_statistics.rx_drop,
      vds_interface_statistics.tx_drop, vds_interface_statistics.iface_status, vds_interface.type, vds_interface.gateway,
      vds_interface.subnet, vds_interface.addr, vds_interface.speed, vds_interface.vlan_id, vds_interface.bond_type,
      vds_interface.bond_name, vds_interface.is_bond, vds_interface.bond_opts, vds_interface.mac_addr,
      vds_interface.network_name, vds_interface.name, vds_static.vds_id, vds_static.vds_name,  vds_interface.id,
      vds_interface.boot_protocol, vds_interface.mtu as mtu, vds_interface.bridged, 1 AS is_vds, vds_interface.qos_overridden AS qos_overridden,
      vds_interface.labels as labels
  FROM vds_interface_statistics
  JOIN vds_interface ON vds_interface_statistics.id = vds_interface.id
  JOIN vds_static ON vds_interface.vds_id = vds_static.vds_id;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW vm_interface_view AS
  SELECT vm_interface_statistics.rx_rate, vm_interface_statistics.tx_rate, vm_interface_statistics.rx_drop,
      vm_interface_statistics.tx_drop, vm_interface_statistics.iface_status, vm_interface.type, vm_interface.speed,
      vm_interface.mac_addr, network.name AS network_name, vm_interface.name, vm_interface.vnic_profile_id, vm_static.vm_guid, vm_interface.vmt_guid,
      vm_static.vm_name, vm_interface.id, 0 AS boot_protocol, 0 AS is_vds, vm_device.is_plugged,
      vm_device.custom_properties, vnic_profiles.port_mirroring AS port_mirroring, vm_interface.linked,
      vm_static.vds_group_id AS vds_group_id, vm_static.entity_type AS vm_entity_type, vnic_profiles.name AS vnic_profile_name
  FROM vm_interface_statistics
  JOIN vm_interface ON vm_interface_statistics.id = vm_interface.id
  JOIN vm_static ON vm_interface.vm_guid = vm_static.vm_guid
  JOIN vm_device ON vm_interface.vm_guid = vm_device.vm_id AND vm_interface.id = vm_device.device_id
  LEFT JOIN (vnic_profiles JOIN network ON network.id = vnic_profiles.network_id) ON vnic_profiles.id = vm_interface.vnic_profile_id
  UNION
  SELECT vm_interface_statistics.rx_rate, vm_interface_statistics.tx_rate, vm_interface_statistics.rx_drop,
      vm_interface_statistics.tx_drop, vm_interface_statistics.iface_status, vm_interface.type, vm_interface.speed,
      vm_interface.mac_addr, network.name AS network_name, vm_interface.name, vm_interface.vnic_profile_id, NULL::uuid as vm_guid,
      vm_interface.vmt_guid, vm_templates.vm_name AS vm_name, vm_interface.id, 0 AS boot_protocol, 0 AS is_vds,
      vm_device.is_plugged as is_plugged, vm_device.custom_properties as custom_properties, vnic_profiles.port_mirroring AS port_mirroring,
      vm_interface.linked, vm_templates.vds_group_id AS vds_group_id, vm_templates.entity_type AS vm_entity_type, vnic_profiles.name AS vnic_profile_name
  FROM vm_interface_statistics
  RIGHT JOIN vm_interface ON vm_interface_statistics.id = vm_interface.id
  JOIN vm_static AS vm_templates ON vm_interface.vmt_guid = vm_templates.vm_guid
  JOIN vm_device ON vm_interface.vmt_guid = vm_device.vm_id AND vm_interface.id = vm_device.device_id
  LEFT JOIN (vnic_profiles JOIN network ON network.id = vnic_profiles.network_id) ON vnic_profiles.id = vm_interface.vnic_profile_id;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW event_audit_log_subscriber_view
AS
SELECT     1 as event_type, event_subscriber_1.subscriber_id as subscriber_id, event_subscriber_1.event_up_name as event_up_name, event_subscriber_1.method_id as method_id,
                      event_subscriber_1.method_address as method_address, event_subscriber_1.tag_name as tag_name, audit_log_1.audit_log_id as audit_log_id, audit_log_1.user_id as user_id, audit_log_1.user_name as user_name,
                      audit_log_1.vm_id as vm_id, audit_log_1.vm_name as vm_name, audit_log_1.vm_template_id as vm_template_id, audit_log_1.vm_template_name as vm_template_name, audit_log_1.vds_id as vds_id, audit_log_1.vds_name as vds_name,
                      audit_log_1.storage_pool_id as storage_pool_id, audit_log_1.storage_pool_name as storage_pool_name, audit_log_1.storage_domain_id as storage_domain_id, audit_log_1.storage_domain_name as storage_domain_name,
                      audit_log_1.log_time as log_time, audit_log_1.severity as severity, audit_log_1.message as message
FROM         audit_log AS audit_log_1 INNER JOIN
event_subscriber AS event_subscriber_1 ON audit_log_1.log_type_name = event_subscriber_1.event_up_name
WHERE     (audit_log_1.processed = false)
UNION
SELECT     distinct 0 as event_type, event_subscriber.subscriber_id as subscriber_id, audit_log.log_type_name as event_up_name, event_subscriber.method_id as method_id, event_subscriber.method_address as method_address,
                      event_subscriber.tag_name as tag_name, audit_log.audit_log_id as audit_log_id, audit_log.user_id as user_id, audit_log.user_name as user_name, audit_log.vm_id as vm_id, audit_log.vm_name as vm_name,
                      audit_log.vm_template_id as vm_template_id, audit_log.vm_template_name as vm_template_name, audit_log.vds_id as vds_id, audit_log.vds_name as vds_name, audit_log.storage_pool_id as storage_pool_id,
                      audit_log.storage_pool_name as storage_pool_name, audit_log.storage_domain_id as storage_domain_id, audit_log.storage_domain_name as storage_domain_name, audit_log.log_time as log_time, audit_log.severity as severity,
                      audit_log.message as message
FROM         audit_log AS audit_log INNER JOIN
event_map ON audit_log.log_type_name = event_map.event_down_name INNER JOIN
event_subscriber AS event_subscriber ON event_subscriber.event_up_name = event_map.event_up_name
WHERE     (audit_log.processed = false);
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW storage_pool_with_storage_domain
AS
SELECT     storage_pool.id as id, storage_pool.name as name, storage_pool.description as description, storage_pool.free_text_comment as free_text_comment, storage_pool.storage_pool_type as storage_pool_type, storage_pool.status as status,
		   storage_pool.master_domain_version as master_domain_version, storage_pool.spm_vds_id as spm_vds_id, storage_pool.compatibility_version as compatibility_version, storage_pool._create_date as _create_date,
		   storage_pool._update_date as _update_date, storage_pool_iso_map.storage_id as storage_id, storage_pool_iso_map.storage_pool_id as storage_pool_id,
		   storage_domain_static.storage_type as storage_type, storage_domain_static.storage_domain_type as storage_domain_type,
                   storage_domain_static.storage_domain_format_type as storage_domain_format_type,
		   storage_domain_static.storage_name as storage_name, storage_domain_static.storage as storage,
		   storage_domain_static.last_time_used_as_master as last_time_used_as_master
FROM         storage_pool LEFT OUTER JOIN
		   storage_pool_iso_map ON storage_pool.id = storage_pool_iso_map.storage_pool_id LEFT OUTER JOIN
		   storage_domain_static ON storage_pool_iso_map.storage_id = storage_domain_static.id;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW vds_groups_storage_domain
AS
SELECT     vds_groups.vds_group_id, vds_groups.name, vds_groups.description, vds_groups.free_text_comment, vds_groups.cpu_name, vds_groups._create_date,
                      vds_groups._update_date, vds_groups.storage_pool_id,
                      vds_groups.max_vds_memory_over_commit, vds_groups.count_threads_as_cores, vds_groups.compatibility_version,
                      vds_groups.transparent_hugepages, vds_groups.migrate_on_error, vds_groups.architecture,
                      storage_pool_iso_map.storage_id, storage_pool.name AS storage_pool_name
FROM vds_groups
LEFT JOIN storage_pool_iso_map ON vds_groups.storage_pool_id = storage_pool_iso_map.storage_pool_id
LEFT JOIN storage_pool ON vds_groups.storage_pool_id = storage_pool.id;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW vds_groups_view
AS
SELECT vds_groups.*,
       storage_pool.name AS storage_pool_name,
       cluster_policies.name AS cluster_policy_name
FROM vds_groups
LEFT JOIN storage_pool ON vds_groups.storage_pool_id = storage_pool.id
LEFT JOIN cluster_policies ON vds_groups.cluster_policy_id = cluster_policies.id;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW storage_domains_with_hosts_view
AS
SELECT
storage_domain_static.id,
		storage_domain_static.storage,
		storage_domain_static.storage_name,
		storage_domain_static.storage_description as storage_description,
		storage_domain_static.storage_comment as storage_comment,
		storage_domain_dynamic.available_disk_size,
		storage_domain_dynamic.used_disk_size,
		fn_get_disk_commited_value_by_storage(storage_domain_static.id) as commited_disk_size,
		fn_get_actual_images_size_by_storage(storage_domain_static.id) as actual_images_size,
		storage_pool.name as storage_pool_name,
		storage_domain_static.storage_type,
		storage_domain_static.storage_domain_type,
                storage_domain_static.storage_domain_format_type,
        storage_domain_static.last_time_used_as_master as last_time_used_as_master,
		fn_get_storage_domain_shared_status_by_domain_id(storage_domain_static.id,storage_pool_iso_map.status,storage_domain_static.storage_domain_type) AS
		storage_domain_shared_status,
		vds_groups.vds_group_id,
		vds_static.vds_id,
		storage_pool_iso_map.storage_pool_id,
		vds_static.recoverable
FROM storage_domain_static
	INNER JOIN storage_domain_dynamic ON storage_domain_static.id = storage_domain_dynamic.id
	LEFT OUTER JOIN storage_pool_iso_map ON storage_domain_static.id = storage_pool_iso_map.storage_id
	LEFT OUTER JOIN storage_pool ON storage_pool_iso_map.storage_pool_id = storage_pool.id
	LEFT OUTER JOIN vds_groups ON storage_pool_iso_map.storage_pool_id = vds_groups.storage_pool_id
	LEFT OUTER JOIN vds_static ON vds_groups.vds_group_id = vds_static.vds_group_id;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW vm_images_storage_domains_view
AS
SELECT vm_images_view.storage_id, vm_images_view.storage_path, vm_images_view.storage_pool_id,
       vm_images_view.image_guid, vm_images_view.creation_date, vm_images_view.actual_size, vm_images_view.read_rate, vm_images_view.write_rate,
       vm_images_view.size, vm_images_view.it_guid, vm_images_view.description, vm_images_view.parentid,
       vm_images_view.imagestatus, vm_images_view.lastmodified, vm_images_view.app_list, vm_images_view.vm_snapshot_id, vm_images_view.volume_type,
       vm_images_view.image_group_id, vm_images_view.active, vm_images_view.volume_format, vm_images_view.disk_interface,
       vm_images_view.boot, vm_images_view.wipe_after_delete, vm_images_view.propagate_errors, vm_images_view.entity_type, vm_images_view.number_of_vms, vm_images_view.vm_names, vm_images_view.quota_id,
       vm_images_view.quota_name, vm_images_view.disk_alias, vm_images_view.disk_description, vm_images_view.sgio,
       storage_domains_with_hosts_view.id, storage_domains_with_hosts_view.storage, storage_domains_with_hosts_view.storage_name,
       storage_domains_with_hosts_view.available_disk_size, storage_domains_with_hosts_view.used_disk_size,
       storage_domains_with_hosts_view.commited_disk_size, storage_domains_with_hosts_view.actual_images_size, storage_domains_with_hosts_view.storage_type,
       storage_domains_with_hosts_view.storage_domain_type, storage_domains_with_hosts_view.storage_domain_format_type,
       storage_domains_with_hosts_view.storage_domain_shared_status, storage_domains_with_hosts_view.vds_group_id,
       storage_domains_with_hosts_view.vds_id, storage_domains_with_hosts_view.recoverable, storage_domains_with_hosts_view.storage_pool_name,
       storage_domains_with_hosts_view.storage_name as name
FROM vm_images_view
INNER JOIN images_storage_domain_view ON vm_images_view.image_guid = images_storage_domain_view.image_guid
INNER JOIN storage_domains_with_hosts_view ON storage_domains_with_hosts_view.id = images_storage_domain_view.storage_id;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW quota_view
AS
SELECT q.id as quota_id,
    q.storage_pool_id as storage_pool_id,
    storage_pool.name as storage_pool_name,
    q.quota_name as quota_name,
    q.description as description,
    q.threshold_vds_group_percentage as threshold_vds_group_percentage,
    q.threshold_storage_percentage as threshold_storage_percentage,
    q.grace_vds_group_percentage as grace_vds_group_percentage,
    q.grace_storage_percentage as grace_storage_percentage,
    storage_pool.quota_enforcement_type as quota_enforcement_type
FROM  storage_pool, quota q
WHERE storage_pool.id = q.storage_pool_id;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW quota_global_view
AS
SELECT q_limit.quota_id as quota_id,
    q.storage_pool_id as storage_pool_id,
    storage_pool.name as storage_pool_name,
    q.quota_name as quota_name,
    q.description as description,
    q.threshold_vds_group_percentage as threshold_vds_group_percentage,
    q.threshold_storage_percentage as threshold_storage_percentage,
    q.grace_vds_group_percentage as grace_vds_group_percentage,
    q.grace_storage_percentage as grace_storage_percentage,
    virtual_cpu,
    (CalculateVdsGroupUsage(quota_id,null)).virtual_cpu_usage,
    mem_size_mb,
    (CalculateVdsGroupUsage(quota_id,null)).mem_size_mb_usage,
    storage_size_gb,
    CalculateStorageUsage(quota_id,null) as storage_size_gb_usage,
    storage_pool.quota_enforcement_type as quota_enforcement_type
FROM  storage_pool, quota q LEFT OUTER JOIN
quota_limitation q_limit on q_limit.quota_id = q.id
WHERE storage_pool.id = q.storage_pool_id
AND q_limit.vds_group_id IS NULL
AND q_limit.storage_id IS NULL;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW quota_limitations_view
AS
SELECT q_limit.quota_id as quota_id,
    q.storage_pool_id as storage_pool_id,
    storage_pool.name as storage_pool_name,
    q.quota_name as quota_name,
    q.description as description,
    q.threshold_vds_group_percentage as threshold_vds_group_percentage,
    q.threshold_storage_percentage as threshold_storage_percentage,
    q.grace_vds_group_percentage as grace_vds_group_percentage,
    q.grace_storage_percentage as grace_storage_percentage,
    virtual_cpu,
    mem_size_mb,
    storage_size_gb,
    storage_pool.quota_enforcement_type as quota_enforcement_type,
    vds_group_id,
    storage_id,
    (COALESCE(vds_group_id, storage_id) IS NULL ) AS is_global,
    (COALESCE(virtual_cpu, mem_size_mb, storage_size_gb) IS NULL) AS is_empty
FROM  quota q
INNER JOIN storage_pool ON storage_pool.id = q.storage_pool_id
LEFT OUTER JOIN quota_limitation q_limit on q_limit.quota_id = q.id;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW quota_storage_view
AS
SELECT q_limit.id as quota_storage_id,
    q_limit.quota_id as quota_id,
    storage_id,
    storage_domain_static.storage_name as storage_name,
    storage_size_gb,
    CalculateStorageUsage(quota_id,storage_id) as storage_size_gb_usage
FROM   quota_limitation q_limit, quota q, storage_domain_static
WHERE  q_limit.quota_id = q.id
AND  q_limit.vds_group_id IS NULL
AND  q_limit.storage_id IS NOT NULL
AND  storage_domain_static.id = q_limit.storage_id;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW quota_vds_group_view
AS
SELECT q_limit.id as quota_vds_group_id,
    q_limit.quota_id as quota_id,
    q_limit.vds_group_id,
    vds_groups.name as vds_group_name,
    virtual_cpu,
    (CalculateVdsGroupUsage(quota_id,q_limit.vds_group_id)).virtual_cpu_usage as virtual_cpu_usage,
    mem_size_mb,
    (CalculateVdsGroupUsage(quota_id,q_limit.vds_group_id)).mem_size_mb_usage as mem_size_mb_usage
FROM   quota_limitation q_limit, quota q, vds_groups
WHERE  q_limit.quota_id = q.id
AND  q_limit.vds_group_id IS NOT NULL
AND  q_limit.storage_id IS NULL
AND  vds_groups.vds_group_id = q_limit.vds_group_id;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW network_cluster_view
AS
SELECT network_cluster.cluster_id AS cluster_id, network_cluster.network_id AS network_id, network.name as network_name,
       network_cluster.status as status, network_cluster.required as required, network_cluster.is_display as is_display,
       network_cluster.migration as migration, vds_groups.name as cluster_name
FROM network_cluster
INNER JOIN network ON network_cluster.network_id = network.id
INNER JOIN vds_groups ON network_cluster.cluster_id = vds_groups.vds_group_id;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW network_vds_view
AS
SELECT network.id AS network_id,
    network.name as network_name,
    vds_static.vds_name as vds_name
FROM vds_interface
INNER JOIN vds_static ON vds_interface.vds_id = vds_static.vds_id
INNER JOIN network ON vds_interface.network_name = network.name
INNER JOIN network_cluster ON network_cluster.network_id = network.id
WHERE network_cluster.cluster_id = vds_static.vds_group_id;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW network_view
AS
SELECT network.id AS id,
   network.name AS name,
   network.description AS description,
   network.free_text_comment AS free_text_comment,
   network.type AS type,
   network.addr AS addr,
   network.subnet AS subnet,
   network.gateway AS gateway,
   network.vlan_id AS vlan_id,
   network.stp AS stp,
   network.mtu AS mtu,
   network.vm_network AS vm_network,
   network.storage_pool_id AS storage_pool_id,
   network.provider_network_provider_id AS provider_network_provider_id,
   network.provider_network_external_id AS provider_network_external_id,
   network.qos_id AS qos_id,
   network.label AS label,
   storage_pool.name AS storage_pool_name,
   storage_pool.compatibility_version AS compatibility_version,
   providers.name AS provider_name
FROM network
INNER JOIN storage_pool ON network.storage_pool_id = storage_pool.id
LEFT JOIN providers ON network.provider_network_provider_id = providers.id;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW vnic_profiles_view
AS
SELECT vnic_profiles.id AS id,
       vnic_profiles.name AS name,
       vnic_profiles.network_id as network_id,
       vnic_profiles.network_qos_id as network_qos_id,
       vnic_profiles.port_mirroring as port_mirroring,
       vnic_profiles.custom_properties as custom_properties,
       vnic_profiles.description as description,
       network.name as network_name,
       network_qos.name as network_qos_name,
       storage_pool.name as data_center_name,
       storage_pool.compatibility_version as compatibility_version,
       storage_pool.id as data_center_id
FROM vnic_profiles
INNER JOIN network ON vnic_profiles.network_id = network.id
LEFT JOIN network_qos ON vnic_profiles.network_qos_id = network_qos.id
INNER JOIN storage_pool ON network.storage_pool_id = storage_pool.id;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW user_flat_groups
AS
SELECT users.user_id AS user_id, fnSplitterUuid(users.group_ids) AS granted_id
FROM   users
UNION ALL

SELECT user_id, user_id FROM users
UNION ALL

SELECT user_id, 'EEE00000-0000-0000-0000-123456789EEE'
FROM   users;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW user_vds_groups_permissions_view_base (entity_id, granted_id)
AS
SELECT       object_id, ad_element_id
FROM         internal_permissions_view
WHERE        object_type_id = 9 AND role_type = 2

UNION ALL
SELECT       vds_group_id, ad_element_id
FROM         vm_static
INNER JOIN   internal_permissions_view ON object_id = vm_guid AND object_type_id = 2 AND role_type=2

UNION ALL
SELECT       vds_group_id, ad_element_id
FROM         vds_groups
INNER JOIN   internal_permissions_view ON object_id = vds_groups.storage_pool_id AND object_type_id = 14 AND role_type = 2

UNION ALL
SELECT       vds_group_id, ad_element_id
FROM         internal_permissions_view
CROSS JOIN   vds_groups
WHERE        object_type_id = 1 AND role_type=2;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW user_vds_groups_permissions_view (entity_id, user_id)
AS
SELECT       DISTINCT entity_id, user_id
FROM         user_vds_groups_permissions_view_base
NATURAL JOIN user_flat_groups;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW user_storage_pool_permissions_view_base (entity_id, granted_id)
AS
SELECT     object_id, ad_element_id
FROM       internal_permissions_view
WHERE      object_type_id = 14 AND role_type = 2

UNION ALL
SELECT     storage_pool_id, ad_element_id
FROM       vds_groups
INNER JOIN internal_permissions_view ON object_id = vds_groups.vds_group_id AND object_type_id = 9 AND role_type = 2

UNION ALL
SELECT     storage_pool_id, ad_element_id
FROM       vds_groups
INNER JOIN vm_pools ON vds_groups.vds_group_id = vm_pools.vds_group_id
INNER JOIN internal_permissions_view ON object_id = vm_pools.vm_pool_id AND object_type_id = 5 AND role_type = 2

UNION ALL
SELECT     storage_pool_id, ad_element_id
FROM       vm_static
INNER JOIN vds_groups ON vds_groups.vds_group_id = vm_static.vds_group_id
INNER JOIN internal_permissions_view ON object_id = vm_guid AND object_type_id = 2 AND role_type = 2

UNION ALL
SELECT     storage_pool.id, ad_element_id
FROM       internal_permissions_view
CROSS JOIN storage_pool
WHERE      object_type_id = 1 AND role_type = 2;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW user_storage_pool_permissions_view (entity_id, user_id)
AS
SELECT       DISTINCT entity_id, user_id
FROM         user_storage_pool_permissions_view_base
NATURAL JOIN user_flat_groups;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW user_storage_domain_permissions_view_base (entity_id, granted_id)
AS
SELECT     object_id, ad_element_id
FROM       internal_permissions_view
WHERE      object_type_id = 11 AND role_type = 2

UNION ALL
SELECT     storage_domains.id, ad_element_id
FROM       storage_domains
INNER JOIN vds_groups ON vds_groups.storage_pool_id = storage_domains.storage_pool_id
INNER JOIN vm_static ON vds_groups.vds_group_id = vm_static.vds_group_id
INNER JOIN internal_permissions_view ON object_id = vm_static.vm_guid AND object_type_id = 2 AND role_type = 2

UNION ALL
SELECT     storage_id, ad_element_id
FROM       vm_templates_storage_domain
INNER JOIN internal_permissions_view ON vmt_guid = internal_permissions_view.object_id AND object_type_id = 4 AND role_type = 2

UNION ALL
SELECT     storage_id, ad_element_id
FROM       vm_static
INNER JOIN vm_templates_storage_domain ON vm_static.vmt_guid = vm_templates_storage_domain.vmt_guid
INNER JOIN internal_permissions_view ON vm_static.vm_guid = object_id AND objecT_type_id = 2 AND role_type = 2

UNION ALL
SELECT     storage_domains.id, ad_element_id
FROM       storage_domains
INNER JOIN internal_permissions_view ON object_id = storage_domains.storage_pool_id AND object_type_id = 14 AND role_type = 2

UNION ALL
SELECT     storage_domains.id, ad_element_id
FROM       internal_permissions_view
CROSS JOIN storage_domains
WHERE      object_type_id = 1 AND role_type = 2;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW user_storage_domain_permissions_view (entity_id, user_id)
AS
SELECT       DISTINCT entity_id, user_id
FROM         user_storage_domain_permissions_view_base
NATURAL JOIN user_flat_groups;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW user_vds_permissions_view_base (entity_id, granted_id)
AS
SELECT     object_id, ad_element_id
FROM       internal_permissions_view
WHERE      object_type_id = 3 AND role_type = 2

UNION ALL
SELECT     vds_id, ad_element_id
FROM       vds
INNER JOIN internal_permissions_view ON (object_id = vds_group_id    AND object_type_id = 9) OR
                                    (object_id = storage_pool_id AND object_type_id = 14) AND role_type = 2

UNION ALL
SELECT     vds_id, ad_element_id
FROM       internal_permissions_view
CROSS JOIN vds
WHERE      object_type_id = 1 AND role_type = 2;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW user_vds_permissions_view (entity_id, user_id)
AS
SELECT       DISTINCT entity_id, user_id
FROM         user_vds_permissions_view_base
NATURAL JOIN user_flat_groups;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW user_vm_pool_permissions_view_base (entity_id, granted_id)
AS
SELECT     object_id, ad_element_id
FROM       internal_permissions_view
WHERE      object_type_id = 5 AND role_type = 2

UNION ALL
SELECT     vm_pool_id, ad_element_id
FROM       vm_pool_map
INNER JOIN internal_permissions_view ON object_id = vm_guid AND object_type_id = 2 AND role_type = 2

UNION ALL
SELECT     vm_pool_id, ad_element_id
FROM       vm_pools
INNER JOIN internal_permissions_view ON object_id = vds_group_id AND object_type_id = 9 AND allows_viewing_children AND role_type = 2

UNION ALL
SELECT     vm_pool_id, ad_element_id
FROM       vm_pools
INNER JOIN vds_groups ON vm_pools.vds_group_id =  vds_groups.vds_group_id
INNER JOIN internal_permissions_view ON object_id = storage_pool_id AND object_type_id = 14 AND allows_viewing_children AND role_type = 2

UNION ALL
SELECT     vm_pool_id, ad_element_id
FROM       internal_permissions_view
CROSS JOIN vm_pools
WHERE      object_type_id = 1 AND allows_viewing_children AND role_type = 2;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW user_vm_pool_permissions_view (entity_id, user_id)
AS
SELECT       DISTINCT entity_id, user_id
FROM         user_vm_pool_permissions_view_base
NATURAL JOIN user_flat_groups;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW user_vm_template_permissions_view_base (entity_id, granted_id)
AS
SELECT     object_id, ad_element_id
FROM       internal_permissions_view
WHERE      object_type_id = 4 AND role_type = 2

UNION ALL
SELECT     vmt_guid, ad_element_id
FROM       vm_static
INNER JOIN internal_permissions_view ON object_id = vm_static.vm_guid AND object_type_id = 2 AND role_type = 2

UNION ALL
SELECT     vm_guid, ad_element_id
FROM       vm_static
INNER JOIN vds_groups ON vds_groups.vds_group_id = vm_static.vds_group_id
INNER JOIN internal_permissions_view ON object_id = storage_pool_id AND object_type_id = 14 AND allows_viewing_children AND role_type = 2 AND vm_static.entity_type::text = 'TEMPLATE'::text

UNION ALL
SELECT     vm_guid, ad_element_id
FROM       internal_permissions_view
CROSS JOIN vm_static
WHERE      object_type_id = 1 AND allows_viewing_children AND role_type = 2 AND
(vm_static.entity_type::text = 'TEMPLATE'::text OR vm_static.entity_type::text = 'INSTANCE_TYPE'::text
 OR vm_static.entity_type::text = 'IMAGE_TYPE'::text);
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW user_vm_template_permissions_view (entity_id, user_id)
AS
SELECT       DISTINCT entity_id, user_id
FROM         user_vm_template_permissions_view_base
NATURAL JOIN user_flat_groups;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW user_vm_permissions_view_base (entity_id, granted_id)
AS
SELECT     object_id, ad_element_id
FROM       internal_permissions_view
WHERE      object_type_id = 2 AND role_type = 2

UNION ALL
SELECT     vm_guid, ad_element_id
FROM       vm_static
INNER JOIN internal_permissions_view ON object_id = vds_group_id AND object_type_id = 9 AND allows_viewing_children AND role_type = 2

UNION ALL
SELECT     vm_guid, ad_element_id
FROM       vm_static
INNER JOIN vds_groups ON vds_groups.vds_group_id = vm_static.vds_group_id
INNER JOIN internal_permissions_view ON object_id = storage_pool_id AND object_type_id = 14 AND allows_viewing_children AND role_type = 2

UNION ALL
SELECT     vm_guid, ad_element_id
FROM       internal_permissions_view
CROSS JOIN vm_static
WHERE      object_type_id = 1 AND allows_viewing_children AND role_type = 2;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW user_vm_permissions_view (entity_id, user_id)
AS
SELECT       DISTINCT entity_id, user_id
FROM         user_vm_permissions_view_base
NATURAL JOIN user_flat_groups;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW user_disk_permissions_view_base (entity_id, granted_id)
AS
SELECT     object_id, ad_element_id
FROM       internal_permissions_view
WHERE      object_type_id = 19 AND role_type = 2

UNION ALL
SELECT     device_id, user_vm_permissions_view.user_id as ad_element_id
FROM       vm_device
INNER JOIN user_vm_permissions_view ON user_vm_permissions_view.entity_id = vm_device.vm_id
WHERE      vm_device.type = 'disk' and vm_device.device = 'disk'

UNION ALL
SELECT     device_id, user_vm_template_permissions_view.user_id as ad_element_id
FROM       vm_device
INNER JOIN user_vm_template_permissions_view ON user_vm_template_permissions_view.entity_id = vm_device.vm_id
WHERE      type = 'disk' and device = 'disk'

UNION ALL
SELECT     images.image_group_id, ad_element_id
FROM       image_storage_domain_map
INNER JOIN images ON images.image_guid = image_storage_domain_map.image_id
INNER JOIN internal_permissions_view ON object_id = storage_domain_id AND object_type_id = 11 AND allows_viewing_children AND role_type = 2

UNION ALL
SELECT     images.image_group_id, ad_element_id
FROM       image_storage_domain_map
INNER JOIN storage_pool_iso_map ON image_storage_domain_map.storage_domain_id = storage_pool_iso_map.storage_id
INNER JOIN images ON images.image_guid = image_storage_domain_map.image_id
INNER JOIN internal_permissions_view ON object_id = storage_pool_id AND object_type_id = 14 AND allows_viewing_children AND role_type = 2

UNION ALL
SELECT     device_id, ad_element_id
FROM       internal_permissions_view
CROSS JOIN vm_device
WHERE      object_type_id = 1 AND allows_viewing_children AND role_type = 2;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW user_disk_permissions_view (entity_id, user_id)
AS
SELECT       DISTINCT entity_id, user_id
FROM         user_disk_permissions_view_base
NATURAL JOIN user_flat_groups;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW user_permissions_permissions_view (entity_id, user_id)
AS
SELECT       DISTINCT id, user_id
FROM         internal_permissions_view
JOIN         user_flat_groups ON granted_id = ad_element_id;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW user_object_permissions_view AS
 SELECT DISTINCT permissions.object_id AS entity_id, user_flat_groups.user_id
   FROM permissions
   JOIN roles ON permissions.role_id = roles.id
   JOIN user_flat_groups ON user_flat_groups.granted_id = permissions.ad_element_id
   WHERE permissions.ad_element_id != getGlobalIds('everyone');
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW user_db_users_permissions_view AS
 SELECT DISTINCT permissions.ad_element_id, roles_groups.role_id, roles_groups.action_group_id
   FROM permissions
   JOIN roles_groups ON permissions.role_id = roles_groups.role_id
   WHERE roles_groups.action_group_id = 502;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW vm_device_view
AS
SELECT device_id, vm_id, type, device, address, boot_order, spec_params,
       is_managed, is_plugged, is_readonly, alias, custom_properties, snapshot_id
  FROM vm_device;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW user_vnic_profile_permissions_view_base (entity_id, granted_id)
AS
SELECT     object_id, ad_element_id
FROM       internal_permissions_view
WHERE      object_type_id = 27 AND role_type = 2

UNION ALL
SELECT     vnic_profiles.id, ad_element_id
FROM       vnic_profiles
INNER JOIN internal_permissions_view ON object_id = network_id
WHERE      object_type_id = 20 AND allows_viewing_children AND role_type = 2

UNION ALL
SELECT     vnic_profiles.id, ad_element_id
FROM       vnic_profiles
INNER JOIN network ON network.id = network_id
INNER JOIN internal_permissions_view ON object_id = network.storage_pool_id
WHERE      object_type_id = 14 AND role_type = 2 AND allows_viewing_children

UNION ALL
SELECT     vnic_profiles.id, ad_element_id
FROM       vnic_profiles
INNER JOIN network_cluster ON network_cluster.network_id = vnic_profiles.network_id
INNER JOIN internal_permissions_view ON object_id = network_cluster.cluster_id
WHERE      object_type_id = 9 AND role_type = 2 AND allows_viewing_children

UNION ALL
SELECT DISTINCT vnic_profile_id, ad_element_id
FROM       vm_interface
INNER JOIN internal_permissions_view ON object_id = vm_guid
WHERE object_type_id = 2 AND role_type = 2

UNION ALL
SELECT DISTINCT    vnic_profile_id, ad_element_id
FROM       vm_interface
INNER JOIN internal_permissions_view ON object_id = vmt_guid
WHERE object_type_id = 4 AND role_type = 2

UNION ALL
SELECT     vnic_profiles.id, ad_element_id
FROM       internal_permissions_view
CROSS JOIN vnic_profiles
WHERE      object_type_id = 1 AND allows_viewing_children AND role_type = 2;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW user_vnic_profile_permissions_view (entity_id, user_id)
AS
SELECT       DISTINCT entity_id, user_id
FROM         user_vnic_profile_permissions_view_base
NATURAL JOIN user_flat_groups;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW user_network_permissions_view_base (entity_id, granted_id)
AS

SELECT     network.id, user_id
FROM       network
INNER JOIN vnic_profiles ON network_id = network.id
INNER JOIN user_vnic_profile_permissions_view ON entity_id = vnic_profiles.id;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW user_network_permissions_view (entity_id, user_id)
AS
SELECT       DISTINCT entity_id, user_id
FROM         user_network_permissions_view_base
NATURAL JOIN user_flat_groups;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW gluster_volumes_view
AS
SELECT gluster_volumes.*,
       vds_groups.name AS vds_group_name
FROM gluster_volumes
INNER JOIN vds_groups ON gluster_volumes.cluster_id = vds_groups.vds_group_id;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW gluster_volume_bricks_view
AS
SELECT gluster_volume_bricks.*,
       vds_static.host_name AS vds_name,
       gluster_volumes.vol_name AS volume_name
FROM gluster_volume_bricks
INNER JOIN vds_static ON vds_static.vds_id = gluster_volume_bricks.server_id
INNER JOIN gluster_volumes ON gluster_volumes.id = gluster_volume_bricks.volume_id;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW gluster_volume_task_steps
AS
SELECT step.*,
       gluster_volumes.id as volume_id,
       job.job_id as job_job_id,
       job.action_type,
       job.description as job_description,
       job.status as job_status,
       job.start_time as job_start_time,
       job.end_time as job_end_time
FROM gluster_volumes
INNER JOIN job_subject_entity js ON js.entity_id = gluster_volumes.id
INNER JOIN job on job.job_id = js.job_id
               AND job.action_type in ('StartRebalanceGlusterVolume', 'StartRemoveGlusterVolumeBricks')
LEFT OUTER JOIN step on step.external_id = gluster_volumes.task_id AND step.external_system_type = 'GLUSTER'
                AND step.job_id = js.job_id;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW gluster_server_services_view
AS
SELECT gluster_server_services.*,
       gluster_services.service_name,
       gluster_services.service_type,
       vds_static.vds_name
FROM gluster_server_services
INNER JOIN gluster_services ON gluster_server_services.service_id = gluster_services.id
INNER JOIN vds_static ON gluster_server_services.server_id = vds_static.vds_id;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW gluster_server_hooks_view
AS
SELECT gluster_server_hooks.*,
       vds_static.vds_name AS server_name
FROM gluster_server_hooks
INNER JOIN vds_static ON gluster_server_hooks.server_id = vds_static.vds_id;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW affinity_groups_view
AS
SELECT affinity_groups.*,
       array_to_string(array_agg(affinity_group_members.vm_id), ',') as vm_ids,
       array_to_string(array_agg(vm_static.vm_name), ',') as vm_names
FROM affinity_groups
LEFT JOIN affinity_group_members ON affinity_group_members.affinity_group_id = affinity_groups.id
LEFT JOIN vm_static ON vm_static.vm_guid = affinity_group_members.vm_id

GROUP BY affinity_groups.id, affinity_groups.name, affinity_groups.description,
         affinity_groups.cluster_id, affinity_groups.positive, affinity_groups.enforcing,
         affinity_groups._create_date, affinity_groups._update_date;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW dwh_datacenter_configuration_history_view
AS
SELECT     	id AS datacenter_id,
			name AS datacenter_name,
			description AS datacenter_description,
			cast(storage_pool_type as smallint) AS storage_type,
			_create_date AS create_date,
            _update_date AS update_date
FROM        storage_pool
WHERE     	(_create_date >
                          (SELECT     var_datetime
                           FROM          dwh_history_timekeeping
                           WHERE      (var_name = 'lastSync'))) OR
            (_update_date >
                          (SELECT     var_datetime
                           FROM          dwh_history_timekeeping AS history_timekeeping_1
                           WHERE      (var_name = 'lastSync')));
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW dwh_datacenter_history_view
AS
SELECT
    id as datacenter_id,
	cast(status as smallint) as datacenter_status
FROM storage_pool;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW dwh_storage_domain_configuration_history_view
AS
SELECT     	id AS storage_domain_id,
			storage_name AS storage_domain_name,
			cast(storage_domain_type as smallint) as storage_domain_type,
			cast(storage_type as smallint) as storage_type,
			_create_date AS create_date,
            _update_date AS update_date
FROM        storage_domain_static
WHERE     (_create_date >
                          (SELECT     var_datetime
                           FROM          dwh_history_timekeeping
                           WHERE      (var_name = 'lastSync'))) OR
          (_update_date >
                          (SELECT     var_datetime
                           FROM          dwh_history_timekeeping AS history_timekeeping_1
                           WHERE      (var_name = 'lastSync')));
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW dwh_datacenter_storage_map_history_view
AS
SELECT DISTINCT storage_pool_id AS datacenter_id,
                storage_id AS storage_domain_id
FROM storage_pool_iso_map;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW dwh_storage_domain_history_view
AS
SELECT storage_domain_dynamic.id as storage_domain_id,
       fn_get_storage_domain_shared_status_by_domain_id(storage_domain_static.id, status_table.status, storage_domain_static.storage_domain_type) AS storage_domain_status,
       storage_domain_dynamic.available_disk_size as available_disk_size_gb,
       storage_domain_dynamic.used_disk_size as used_disk_size_gb
FROM storage_domain_dynamic
         INNER JOIN storage_domain_static ON (storage_domain_dynamic.id = storage_domain_static.id)
             LEFT OUTER JOIN (SELECT storage_id, max(status) AS status
                              FROM storage_pool_iso_map
                              GROUP BY storage_id) AS status_table ON storage_domain_static.id=status_table.storage_id;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW dwh_cluster_configuration_history_view
AS
SELECT     	vds_group_id AS cluster_id,
			name AS cluster_name,
			description as cluster_description,
			storage_pool_id AS datacenter_id,
			cpu_name,
			compatibility_version,
            _create_date AS create_date,
			_update_date AS update_date
FROM        vds_groups
WHERE     (_create_date >
                          (SELECT     var_datetime
                           FROM          dwh_history_timekeeping
                           WHERE      (var_name = 'lastSync'))) OR
          (_update_date >
                          (SELECT     var_datetime
                           FROM          dwh_history_timekeeping AS history_timekeeping_1
                           WHERE      (var_name = 'lastSync')));
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW dwh_host_configuration_history_view
AS
SELECT     	a.vds_id AS host_id,
			a.vds_unique_id AS host_unique_id,
			a.vds_name AS host_name,
			a.vds_group_id AS cluster_id,
			cast(a.vds_type as smallint) AS host_type,
			a.host_name AS fqdn_or_ip,
			b.physical_mem_mb AS memory_size_mb,
			cast(c.swap_total as int) as swap_size_mb,
			b.cpu_model,
			cast(b.cpu_cores as smallint) AS number_of_cores,
                        cast(b.cpu_sockets as smallint) AS number_of_sockets,
                        b.cpu_speed_mh,
			b.host_os,
			a.ip as pm_ip_address,
			b.kernel_version,
			b.kvm_version,
			b.libvirt_version,
			b.software_version as vdsm_version,
			a.port AS vdsm_port,
			a._create_date AS create_date,
			a._update_date AS update_date
FROM        vds_static AS a
			INNER JOIN
					vds_dynamic AS b ON a.vds_id = b.vds_id
			INNER JOIN
					vds_statistics AS c ON c.vds_id = a.vds_id
WHERE     (a._create_date >
                          (SELECT     var_datetime
                           FROM          dwh_history_timekeeping
                           WHERE      (var_name = 'lastSync'))) OR
          (a._update_date >
                          (SELECT     var_datetime
                           FROM          dwh_history_timekeeping AS history_timekeeping_1
                           WHERE      (var_name = 'lastSync')));
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW dwh_host_configuration_full_check_view
AS
SELECT     	a.vds_id AS host_id,
			a.vds_unique_id AS host_unique_id,
			a.vds_name AS host_name,
			a.vds_group_id AS cluster_id,
			cast(a.vds_type as smallint) AS host_type,
			a.host_name AS fqdn_or_ip,
			b.physical_mem_mb AS memory_size_mb,
			cast(c.swap_total as int) as swap_size_mb,
			b.cpu_model,
			cast(b.cpu_cores as smallint) AS number_of_cores,
                        cast(b.cpu_sockets as smallint) AS number_of_sockets,
                        b.cpu_speed_mh,
			b.host_os,
			a.ip as pm_ip_address,
			b.kernel_version,
			b.kvm_version,
			b.libvirt_version,
      			CASE SUBSTR(b.software_version,1,3)
				WHEN '4.4' THEN '2.1' || SUBSTR(b.software_version,4,LENGTH(b.software_version))
				WHEN '4.5' THEN '2.2' || SUBSTR(b.software_version,4,LENGTH(b.software_version))
				WHEN '4.9' THEN '2.3' || SUBSTR(b.software_version,4,LENGTH(b.software_version))
	   	        ELSE b.software_version
	 	        END as vdsm_version,
			a.port AS vdsm_port,
			a._create_date AS create_date,
			a._update_date AS update_date
FROM        vds_static AS a
			INNER JOIN
					vds_dynamic AS b ON a.vds_id = b.vds_id
			INNER JOIN
					vds_statistics AS c ON c.vds_id = a.vds_id;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW dwh_host_history_view
AS
SELECT
	b.vds_id as host_id,
	cast(b.status as smallint) as host_status,
	cast(c.usage_mem_percent as smallint) as memory_usage_percent,
	cast(c.usage_cpu_percent as smallint) as cpu_usage_percent,
	cast(c.ksm_cpu_percent as smallint) as ksm_cpu_percent,
	cast(c.cpu_load as int) as cpu_load,
	cast(c.cpu_sys as smallint) as system_cpu_usage_percent,
	cast(c.cpu_user as smallint) as user_cpu_usage_percent,
	cast((c.swap_total - c.swap_free) as int) as swap_used_mb,
	cast(b.vm_active as smallint) as vm_active,
	cast(b.vm_count as smallint) as total_vms,
	b.vms_cores_count as total_vms_vcpus,
	cast(c.mem_shared as smallint) as ksm_shared_memory_percent
FROM vds_dynamic b, vds_statistics c
where	b.vds_id  = c.vds_id;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW dwh_host_interface_configuration_history_view AS
SELECT  a.id AS host_interface_id,
		a.name AS host_interface_name,
		a.vds_id AS host_id,
		cast(a.type as smallint) as host_interface_type,
		a.speed as host_interface_speed_bps,
		a.mac_addr AS mac_address,
		a.network_name,
		a.addr AS ip_address,
		a.gateway,
		a.is_bond AS bond,
		a.bond_name,
		a.vlan_id,
		a._create_date AS create_date,
		a._update_date AS update_date
FROM         vds_interface as a
WHERE     ((a._create_date >
                          (SELECT     var_datetime
                            FROM          dwh_history_timekeeping
                            WHERE      (var_name = 'lastSync'))) OR
           (a._update_date >
                          (SELECT     var_datetime
                            FROM          dwh_history_timekeeping AS history_timekeeping_1
                            WHERE      (var_name = 'lastSync')))) AND
		   (a.is_bond is null OR
		   (a.is_bond = true and a.name in (SELECT b.bond_name
											FROM vds_interface AS b
											where b.is_bond is null and b.vds_id = a.vds_id)));
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW dwh_host_interface_history_view
AS
SELECT     vds_interface_statistics.id as host_interface_id,
		   cast(vds_interface_statistics.rx_rate as smallint) as receive_rate_percent,
		   cast(vds_interface_statistics.tx_rate as smallint) as transmit_rate_percent
FROM       vds_interface_statistics;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW dwh_vm_configuration_history_view
AS
SELECT     	a.vm_guid AS vm_id,
			a.vm_name,
			a.description as vm_description,
			cast(a.vm_type as smallint) as vm_type,
			a.vds_group_id AS cluster_id,
			a.vmt_guid AS template_id,
            b.vm_name AS template_name,
			cast(a.cpu_per_socket as smallint) as cpu_per_socket,
			cast(a.num_of_sockets as smallint) AS number_of_sockets,
			a.mem_size_mb AS memory_size_mb,
            cast(a.os as smallint) AS operating_system,
			a.domain AS ad_domain,
			a.dedicated_vm_for_vds AS default_host,
			a.auto_startup AS high_availability,
            a.is_initialized AS initialized,
			a.is_stateless AS stateless,
			a.fail_back,
			cast(a.usb_policy as smallint) as usb_policy,
			a.time_zone,
			c.vm_pool_id,
			d.vm_pool_name,
			a.created_by_user_id,
            e.username as created_by_user_name,
			a._create_date AS create_date,
            a._update_date AS update_date
FROM        vm_static as a
				INNER JOIN vm_static as b ON a.vmt_guid = b.vm_guid
				LEFT OUTER JOIN vm_pool_map as c ON a.vm_guid = c. vm_guid
					LEFT OUTER JOIN vm_pools as d ON c.vm_pool_id = d.vm_pool_id
				LEFT OUTER JOIN users as e ON a.created_by_user_id = e.user_id
WHERE     (a.entity_type = 'VM' AND b.entity_type = 'TEMPLATE') AND
          ((a._create_date >
                          (SELECT     var_datetime
                           FROM       dwh_history_timekeeping
                           WHERE      (var_name = 'lastSync'))) OR
          (a._update_date >
                          (SELECT     var_datetime
                           FROM       dwh_history_timekeeping AS history_timekeeping_1
                           WHERE      (var_name = 'lastSync'))) OR
          (b._update_date >
                          (SELECT     var_datetime
                           FROM       dwh_history_timekeeping AS history_timekeeping_1
                           WHERE      (var_name = 'lastSync'))));
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW dwh_vm_history_view
AS
SELECT
	c.vm_guid as vm_id,
	cast(b.status as smallint) as vm_status,
	cast(c.usage_cpu_percent as smallint) as cpu_usage_percent,
	cast(c.usage_mem_percent as smallint) as memory_usage_percent,
	cast(c.cpu_sys as smallint) as system_cpu_usage_percent,
	cast(c.cpu_user as smallint) as user_cpu_usage_percent,
	c.disks_usage,
	b.vm_ip,
	b.vm_fqdn,
	b.client_ip as vm_client_ip,
	b.console_cur_user_name as current_user_name,
	CASE
		WHEN b.guest_cur_user_name IS NULL THEN FALSE
		ELSE TRUE
	END as user_logged_in_to_guest,
	b.run_on_vds as currently_running_on_host
FROM vm_dynamic b, vm_statistics c
where
	c.vm_guid = b.vm_guid;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW dwh_vm_interface_configuration_history_view
AS
SELECT     	vm_interface.id AS vm_interface_id,
            vm_interface.name AS vm_interface_name,
            vm_interface.vm_guid AS vm_id,
            cast(vm_interface.type as smallint) as vm_interface_type,
            vm_interface.speed as vm_interface_speed_bps,
            vm_interface.mac_addr AS mac_address,
            network.name AS network_name,
            vm_interface._create_date AS create_date,
            vm_interface._update_date AS update_date
FROM        vm_interface
            LEFT OUTER JOIN (vnic_profiles JOIN network ON network.id = vnic_profiles.network_id)
            ON vnic_profiles.id = vm_interface.vnic_profile_id
WHERE     vmt_guid IS NULL AND
          ((vm_interface._create_date >
                          (SELECT     var_datetime
                           FROM          dwh_history_timekeeping
                           WHERE      (var_name = 'lastSync'))) OR
          (vm_interface._update_date >
                          (SELECT     var_datetime
                           FROM          dwh_history_timekeeping AS history_timekeeping_1
                           WHERE      (var_name = 'lastSync'))));
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW dwh_vm_interface_history_view
AS
SELECT     vm_interface_statistics.id as vm_interface_id,
		   cast(vm_interface_statistics.rx_rate as smallint) as receive_rate_percent,
		   cast(vm_interface_statistics.tx_rate as smallint) as transmit_rate_percent
FROM       vm_interface_statistics;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW dwh_vm_disk_configuration_history_view
AS
SELECT d.disk_id AS vm_disk_id,
       d.disk_alias as vm_disk_name,
       d.disk_description as vm_disk_description,
       i.image_guid AS image_id,
       image_storage_domain_map.storage_domain_id as storage_domain_id,
       cast(i.size / 1048576 as int) as vm_disk_size_mb,
       cast(i.volume_type as smallint) AS vm_disk_type,
       cast(i.volume_format as smallint) AS vm_disk_format,
       CASE
           WHEN d.disk_interface = 'IDE' THEN cast(0 as smallint)
           WHEN d.disk_interface = 'SCSI' THEN cast(1 as smallint)
           WHEN d.disk_interface = 'VirtIO' THEN cast(2 as smallint)
       END AS vm_disk_interface,
       d.shareable as is_shared,
       i._create_date AS create_date,
       i._update_date AS update_date
FROM   images as i
           INNER JOIN
               base_disks as d ON i.image_group_id = d.disk_id
           INNER JOIN
               image_storage_domain_map ON image_storage_domain_map.image_id = i.image_guid
           LEFT OUTER JOIN vm_device ON vm_device.device_id = i.image_group_id
                               LEFT OUTER JOIN vm_static ON vm_static.vm_guid = vm_device.vm_id
WHERE     i.active = true AND
          (vm_static.entity_type = 'VM' OR vm_static.entity_type IS NULL) AND
          ((i._create_date >
                          (SELECT     var_datetime
                           FROM         dwh_history_timekeeping
                           WHERE      (var_name = 'lastSync'))) OR
          (i._update_date >
                          (SELECT     var_datetime
                           FROM         dwh_history_timekeeping AS history_timekeeping_1
                           WHERE      (var_name = 'lastSync'))));
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW dwh_disk_vm_map_history_view
AS
SELECT image_guid as vm_disk_id,
       vm_device.vm_id
  FROM vm_device
           INNER JOIN
               images ON vm_device.device_id = images.image_group_id
WHERE images.active = true;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW dwh_vm_device_history_view
AS
SELECT device_id,
       vm_id,
       type,
       address,
       is_managed,
       is_plugged,
       is_readonly,
       _create_date as create_date,
       _update_date as update_date
  FROM vm_device
WHERE  ((type = 'disk' AND
       device = 'disk') OR
       (type = 'interface')) AND
       ((_create_date >  (SELECT     var_datetime
                         FROM         dwh_history_timekeeping
                         WHERE      (var_name = 'lastSync'))) OR
       (_update_date >  (SELECT     var_datetime
                         FROM         dwh_history_timekeeping AS history_timekeeping_1
                         WHERE      (var_name = 'lastSync'))));
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW dwh_vm_disks_history_view
AS
SELECT  d.disk_id as vm_disk_id,
	images.image_guid as image_id,
	cast(images.imageStatus as smallint) as vm_disk_status,
	cast(disk_image_dynamic.actual_size / 1048576 as int) as vm_disk_actual_size_mb,
	disk_image_dynamic.read_rate as read_rate_bytes_per_second,
	disk_image_dynamic.read_latency_seconds as read_latency_seconds,
	disk_image_dynamic.write_rate as write_rate_bytes_per_second,
	disk_image_dynamic.write_latency_seconds as write_latency_seconds,
	disk_image_dynamic.flush_latency_seconds as flush_latency_seconds
FROM    images
            INNER JOIN
                 disk_image_dynamic ON images.image_guid = disk_image_dynamic.image_id
            INNER JOIN
                 base_disks as d ON images.image_group_id = d.disk_id
            LEFT OUTER JOIN vm_device ON vm_device.device_id = images.image_group_id
                                LEFT OUTER JOIN vm_static ON vm_static.vm_guid = vm_device.vm_id
WHERE images.active = true AND
      (vm_static.entity_type = 'VM' OR vm_static.entity_type IS NULL);
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW dwh_remove_tags_relations_history_view AS
SELECT    tag_id as entity_id,
		  parent_id as parent_id
FROM      tags
UNION ALL
SELECT    vds_id as vds_id,
          tag_id as tag_id
FROM      tags_vds_map
UNION ALL
SELECT     vm_pool_id as vm_pool_id,
           tag_id as tag_id
FROM       tags_vm_pool_map
UNION ALL
SELECT     vm_id as vm_id,
		   tag_id as tag_id
FROM       tags_vm_map
UNION ALL
SELECT     user_id as user_id,
		   tag_id as tag_id
FROM       tags_user_map
UNION ALL
SELECT    group_id as group_id,
		  tag_id as tag_id
FROM      tags_user_group_map;
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW dwh_add_tags_relations_history_view AS
SELECT    tag_id as entity_id,
		  parent_id as parent_id,
		  cast(18 as smallint) as entity_type,
		  _create_date as attach_date,
		  _update_date as move_date
FROM      tags
WHERE	  (_create_date >(SELECT     var_datetime as var_datetime
					      FROM          dwh_history_timekeeping
					      WHERE      (var_name = 'lastSync'))) OR
		  (_update_date >(SELECT     var_datetime as var_datetime
					   	  FROM       dwh_history_timekeeping AS history_timekeeping_1
						  WHERE      (var_name = 'lastSync')))
UNION ALL
SELECT    vds_id as vds_id,
          tag_id as tag_id,
          cast(3 as smallint),
		  _create_date,
		  null
FROM      tags_vds_map
WHERE	  _create_date >(SELECT     var_datetime as var_datetime
					      FROM          dwh_history_timekeeping
					      WHERE      (var_name = 'lastSync'))
UNION ALL
SELECT     vm_pool_id as vm_pool_id,
           tag_id as tag_id,
		   cast(5 as smallint),
		  _create_date,
		  null
FROM       tags_vm_pool_map
WHERE	  _create_date >(SELECT     var_datetime as var_datetime
					      FROM          dwh_history_timekeeping
					      WHERE      (var_name = 'lastSync'))
UNION ALL
SELECT     vm_id as vm_id,
		   tag_id as tag_id,
		   cast(2 as smallint),
		  _create_date,
		  null
FROM       tags_vm_map
WHERE	  _create_date >(SELECT     var_datetime as var_datetime
					      FROM          dwh_history_timekeeping
					      WHERE      (var_name = 'lastSync'))
UNION ALL
SELECT     user_id as user_id,
		   tag_id as tag_id,
		   cast(15 as smallint),
		  _create_date,
		  null
FROM       tags_user_map
WHERE	  _create_date >(SELECT     var_datetime as var_datetime
					      FROM          dwh_history_timekeeping
					      WHERE      (var_name = 'lastSync'))
UNION ALL
SELECT    group_id as group_id,
		  tag_id as tag_id,
		  cast(17 as smallint),
		  _create_date,
		  null
FROM      tags_user_group_map
WHERE	  _create_date >(SELECT     var_datetime as var_datetime
					      FROM          dwh_history_timekeeping
					      WHERE      (var_name = 'lastSync'));
**************************

CREATE VIEW
********* QUERY **********
CREATE OR REPLACE VIEW dwh_tags_details_history_view AS
SELECT     	tag_id as tag_id,
			tag_name as tag_name,
			description as tag_description,
			_create_date as create_date,
			_update_date as update_date
FROM       tags
WHERE     (_create_date >(SELECT     var_datetime as var_datetime
						  FROM       dwh_history_timekeeping
						  WHERE      (var_name = 'lastSync'))) OR
          (_update_date >(SELECT     var_datetime as var_datetime
						  FROM       dwh_history_timekeeping AS history_timekeeping_1
						  WHERE      (var_name = 'lastSync')));
**************************

CREATE VIEW
********* QUERY **********
Create or replace FUNCTION Insertaction_version_map(v_action_type INTEGER,
	v_cluster_minimal_version VARCHAR(40),
	v_storage_pool_minimal_version VARCHAR(40))
RETURNS VOID
   AS $procedure$
BEGIN
INSERT INTO action_version_map(action_type, cluster_minimal_version, storage_pool_minimal_version)
	VALUES(v_action_type, v_cluster_minimal_version, v_storage_pool_minimal_version);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Deleteaction_version_map(v_action_type INTEGER)
RETURNS VOID
   AS $procedure$
BEGIN

   DELETE FROM action_version_map
   WHERE action_type = v_action_type;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromaction_version_map() RETURNS SETOF action_version_map STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM action_version_map;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getaction_version_mapByaction_type(v_action_type INTEGER) RETURNS SETOF action_version_map STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM action_version_map
   WHERE action_type = v_action_type;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION fn_db_delete_version_map(v_cluster_version varchar(10), v_sp_version varchar(40))
returns void
AS $procedure$
BEGIN
   DELETE
   FROM action_version_map
   WHERE cluster_minimal_version = v_cluster_version
     AND storage_pool_minimal_version = v_sp_version;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertGroup(v_id UUID,
	v_name VARCHAR(255),
	v_active BOOLEAN,
	v_domain VARCHAR(100),
	v_distinguishedname VARCHAR(4000),
	v_external_id BYTEA)
RETURNS VOID
   AS $procedure$
BEGIN
INSERT INTO ad_groups(id, name,active,domain,distinguishedname,external_id)
	VALUES(v_id, v_name,v_active,v_domain,v_distinguishedname,v_external_id);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateGroup(v_id UUID,
	v_name VARCHAR(255),
	v_active BOOLEAN,
	v_domain VARCHAR(100),
	v_distinguishedname VARCHAR(4000),
	v_external_id BYTEA)
RETURNS VOID
	
   AS $procedure$
BEGIN
      UPDATE ad_groups
      SET name = v_name,active = v_active,domain = v_domain,distinguishedname = v_distinguishedname,external_id = v_external_id
      WHERE id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteGroup(v_id UUID)
RETURNS VOID
   AS $procedure$
BEGIN
      DELETE FROM tags_user_group_map
      WHERE group_id = v_id;
      DELETE FROM ad_groups
      WHERE id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllGroups() RETURNS SETOF ad_groups STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT *
      FROM ad_groups;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetGroupById(v_id UUID) RETURNS SETOF ad_groups STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT *
      FROM ad_groups
      WHERE id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetGroupByExternalId(v_domain VARCHAR(100), v_external_id BYTEA) RETURNS SETOF ad_groups STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT *
      FROM ad_groups
      WHERE domain = v_domain AND external_id = v_external_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetGroupByName(v_name VARCHAR(256)) RETURNS SETOF ad_groups STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT *
      FROM ad_groups
      WHERE name = v_name;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION getAllAffinityGroupsByVmId(v_vm_id UUID) RETURNS SETOF affinity_groups_view STABLE
AS $procedure$
BEGIN
   RETURN QUERY
    SELECT affinity_groups_view.*
    FROM affinity_groups_view
    JOIN affinity_group_members ON v_vm_id = affinity_group_members.vm_id
    AND affinity_group_members.affinity_group_id = affinity_groups_view.id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION getAllAffinityGroupsByClusterId(v_cluster_id UUID) RETURNS SETOF affinity_groups_view STABLE
AS $procedure$
BEGIN
    RETURN QUERY
    SELECT *
    FROM affinity_groups_view
    WHERE cluster_id = v_cluster_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAffinityGroupByAffinityGroupId(v_id UUID) RETURNS SETOF affinity_groups_view STABLE
AS $procedure$
BEGIN
    RETURN QUERY
    SELECT *
    FROM affinity_groups_view
    WHERE id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAffinityGroupByName(v_name VARCHAR(255)) RETURNS SETOF affinity_groups_view STABLE
AS $procedure$
BEGIN
    RETURN QUERY
    SELECT *
    FROM affinity_groups_view
    WHERE name = v_name;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertAffinityGroupWithMembers(
    v_id UUID,
    v_name VARCHAR(255),
    v_description VARCHAR(4000),
    v_cluster_id UUID,
    v_positive BOOLEAN,
    v_enforcing BOOLEAN,
    v_vm_ids VARCHAR(4000)
)
RETURNS VOID
AS $procedure$
DECLARE
    iter_id UUID;
BEGIN
    INSERT INTO affinity_groups(
        id,
        name,
        description,
        cluster_id,
        positive,
        enforcing)
    VALUES(
        v_id,
        v_name,
        v_description,
        v_cluster_id,
        v_positive,
        v_enforcing);
    FOR iter_id IN (SELECT * FROM fnsplitteruuid(v_vm_ids))
    LOOP
        INSERT INTO affinity_group_members(
            affinity_group_id,
            vm_id)
        VALUES(
            v_id,
            iter_id);
    END LOOP;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteAffinityGroup(v_id UUID)
RETURNS VOID
AS $procedure$
BEGIN
    DELETE
    FROM affinity_groups
    WHERE id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateAffinityGroupWithMembers(
    v_id UUID,
    v_name VARCHAR(255),
    v_description VARCHAR(4000),
    v_cluster_id UUID,
    v_positive BOOLEAN,
    v_enforcing BOOLEAN,
    v_vm_ids VARCHAR(4000)
)
RETURNS VOID
AS $procedure$
BEGIN
    PERFORM DeleteAffinityGroup(v_id);
    PERFORM InsertAffinityGroupWithMembers(
        v_id,
        v_name,
        v_description,
        v_cluster_id,
        v_positive,
        v_enforcing,
        v_vm_ids);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION RemoveVmFromAffinityGroups(v_vm_id UUID)
RETURNS VOID
AS $procedure$
BEGIN
    DELETE
    FROM affinity_group_members
    WHERE vm_id = v_vm_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromDisks(v_user_id UUID, v_is_filtered BOOLEAN) RETURNS SETOF all_disks STABLE
AS $procedure$
BEGIN
    RETURN QUERY
    SELECT *
    FROM   all_disks
    WHERE (NOT v_is_filtered OR EXISTS (SELECT 1
                                        FROM user_disk_permissions_view
                                        WHERE user_id = v_user_id AND entity_id = disk_id));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetDiskByDiskId(v_disk_id UUID, v_user_id UUID, v_is_filtered boolean)
RETURNS SETOF all_disks STABLE
AS $procedure$
BEGIN
    RETURN QUERY
    SELECT *
    FROM   all_disks
    WHERE  image_group_id = v_disk_id
    AND    (NOT v_is_filtered OR EXISTS (SELECT 1
                                         FROM user_disk_permissions_view
                                         WHERE user_id = v_user_id AND entity_id = v_disk_id));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetDisksVmGuid(v_vm_guid UUID, v_only_plugged BOOLEAN, v_user_id UUID, v_is_filtered BOOLEAN)
RETURNS SETOF all_disks_including_snapshots STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT all_disks_including_snapshots.*
      FROM all_disks_including_snapshots
      LEFT JOIN vm_device ON vm_device.device_id = all_disks_including_snapshots.image_group_id AND (NOT v_only_plugged OR is_plugged)
      WHERE vm_device.vm_id = v_vm_guid
      AND ((vm_device.snapshot_id IS NULL AND all_disks_including_snapshots.active IS NOT FALSE)
          OR vm_device.snapshot_id = all_disks_including_snapshots.vm_snapshot_id)
      AND (NOT v_is_filtered OR EXISTS (SELECT 1
                                        FROM   user_disk_permissions_view
                                        WHERE  user_id = v_user_id AND entity_id = all_disks_including_snapshots.disk_id));

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
DROP TYPE IF EXISTS disks_basic_rs CASCADE;
**************************

DROP TYPE
********* QUERY **********
CREATE TYPE disks_basic_rs AS (disk_id UUID,disk_alias varchar(255),size BIGINT);
**************************

CREATE TYPE
********* QUERY **********
Create or replace FUNCTION GetDisksVmGuidBasicView(v_vm_guid UUID, v_only_plugged BOOLEAN, v_user_id UUID, v_is_filtered BOOLEAN)
RETURNS SETOF disks_basic_rs STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT disk_id,disk_alias, size
      FROM images
      LEFT OUTER JOIN base_disks ON images.image_group_id = base_disks.disk_id
      LEFT JOIN vm_device ON vm_device.device_id = image_group_id AND (NOT v_only_plugged OR is_plugged)
      WHERE vm_device.vm_id = v_vm_guid
      AND images.active = true
      AND (NOT v_is_filtered OR EXISTS (SELECT 1
                                        FROM   user_disk_permissions_view
                                        WHERE  user_id = v_user_id AND entity_id = disk_id));

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmBootActiveDisk(v_vm_guid UUID) RETURNS SETOF all_disks STABLE AS $procedure$
BEGIN
      RETURN QUERY SELECT all_disks.*
      FROM all_disks
      JOIN vm_device ON vm_device.device_id = all_disks.image_group_id
      WHERE vm_device.vm_id = v_vm_guid AND boot = TRUE AND vm_device.snapshot_id IS NULL;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllAttachableDisksByPoolId(v_storage_pool_id UUID, v_vm_id uuid,  v_user_id UUID, v_is_filtered BOOLEAN)
RETURNS SETOF all_disks STABLE
   AS $procedure$
BEGIN
    RETURN QUERY SELECT distinct all_disks.*
    FROM all_disks
    WHERE (v_storage_pool_id IS NULL OR all_disks.storage_pool_id = v_storage_pool_id)
    AND (all_disks.number_of_vms = 0 OR all_disks.shareable)
        -- ImageStatus.ILLEGAL=4 / imagestatus IS NULL -> LunDiski / ImageStatus.Locked=2
        AND (all_disks.imagestatus IS NULL OR (all_disks.imagestatus != 4 AND all_disks.imagestatus != 2))
        AND (v_vm_id IS NULL OR v_vm_id NOT IN (SELECT vm_id FROM vm_device WHERE vm_device.device_id = all_disks.image_group_id))
    AND   (NOT v_is_filtered OR EXISTS (SELECT 1
                                        FROM   user_disk_permissions_view
                                        WHERE  user_id = v_user_id AND entity_id = disk_id));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Insertasync_tasks(v_action_type INTEGER,
	v_result INTEGER,
	v_status INTEGER,
	v_vdsm_task_id UUID,
	v_task_id UUID,
	v_action_parameters text,
	v_action_params_class varchar(256),
        v_task_parameters text,
	v_task_params_class varchar(256),
	v_step_id UUID,
	v_command_id UUID,
	v_root_command_id UUID,
        v_started_at timestamp WITH TIME ZONE,
	v_storage_pool_id UUID,
	v_async_task_type INTEGER)
RETURNS VOID
   AS $procedure$
BEGIN
INSERT INTO async_tasks(action_type, result, status, vdsm_task_id, task_id, action_parameters,action_params_class, task_parameters, task_params_class, step_id, command_id, root_command_id, started_at,storage_pool_id, task_type)
	VALUES(v_action_type, v_result, v_status, v_vdsm_task_id, v_task_id, v_action_parameters,v_action_params_class, v_task_parameters, v_task_params_class, v_step_id, v_command_id, v_root_command_id, v_started_at, v_storage_pool_id, v_async_task_type);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Updateasync_tasks(v_action_type INTEGER,
	v_result INTEGER,
	v_status INTEGER,
	v_vdsm_task_id UUID,
	v_task_id UUID,
	v_action_parameters text,
	v_action_params_class varchar(256),
	v_task_parameters text,
	v_task_params_class varchar(256),
	v_step_id UUID,
	v_command_id UUID,
	v_root_command_id UUID,
        v_storage_pool_id UUID)
RETURNS VOID
	
   AS $procedure$
BEGIN
      UPDATE async_tasks
      SET action_type = v_action_type,
          result = v_result,
          status = v_status,
          action_parameters = v_action_parameters,
          action_params_class = v_action_params_class,
          task_parameters = v_task_parameters,
          task_params_class = v_task_params_class,
          step_id = v_step_id,
          command_id = v_command_id,
          root_command_id = v_root_command_id,
          vdsm_task_id = v_vdsm_task_id,
          storage_pool_id = v_storage_pool_id
      WHERE task_id = v_task_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertOrUpdateAsyncTasks(v_action_type INTEGER,
	v_result INTEGER,
	v_status INTEGER,
	v_vdsm_task_id UUID,
	v_task_id UUID,
	v_action_parameters text,
	v_action_params_class varchar(256),
	v_task_parameters text,
	v_task_params_class varchar(256),
	v_step_id UUID,
	v_command_id UUID,
	v_root_command_id UUID,
        v_started_at timestamp WITH TIME ZONE,
	v_storage_pool_id UUID,
	v_async_task_type INTEGER)
RETURNS VOID
   AS $procedure$
BEGIN
      IF NOT EXISTS (SELECT 1 from async_tasks where async_tasks.task_id = v_task_id) THEN
            PERFORM Insertasync_tasks(v_action_type, v_result, v_status, v_vdsm_task_id, v_task_id, v_action_parameters,
            v_action_params_class, v_task_parameters, v_task_params_class, v_step_id, v_command_id, v_root_command_id, v_started_at, v_storage_pool_id, v_async_task_type);
      ELSE
            PERFORM Updateasync_tasks(v_action_type, v_result, v_status, v_vdsm_task_id, v_task_id, v_action_parameters,  v_action_params_class, v_task_parameters, v_task_params_class, v_step_id, v_command_id, v_root_command_id,v_storage_pool_id);
      END IF;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertAsyncTaskEntities(
        v_task_id UUID,
        v_entity_id UUID,
        v_entity_type varchar(128))
RETURNS VOID
   AS $procedure$
BEGIN
      IF NOT EXISTS (SELECT 1 from async_tasks_entities where async_task_id = v_task_id and entity_id = v_entity_id) THEN
            INSERT INTO async_tasks_entities (async_task_id,entity_id,entity_type) VALUES (v_task_id, v_entity_id, v_entity_type);
      END IF;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION GetAsyncTasksIdsByEntityId(v_entity_id UUID)
RETURNS SETOF idUuidType STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT async_task_id from async_tasks_entities where entity_id = v_entity_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION  GetAsyncTaskEntitiesByTaskId(v_task_id UUID)
RETURNS SETOF async_tasks_entities STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM async_tasks_entities
   WHERE async_task_id = v_task_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Deleteasync_tasks(v_task_id UUID)
RETURNS integer
   AS $procedure$
DECLARE
deleted_rows int;
BEGIN
   DELETE FROM async_tasks
   WHERE task_id = v_task_id;
   GET DIAGNOSTICS deleted_rows = ROW_COUNT;
   RETURN deleted_rows;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteAsyncTasksByVdsmTaskId(v_vdsm_task_id UUID)
RETURNS integer
   AS $procedure$
DECLARE
deleted_rows int;
BEGIN
   DELETE FROM async_tasks
   WHERE vdsm_task_id = v_vdsm_task_id;
   GET DIAGNOSTICS deleted_rows = ROW_COUNT;
   RETURN deleted_rows;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAsyncTasksByStoragePoolId(v_storage_pool_id UUID)
RETURNS SETOF idUuidType STABLE
  AS $procedure$
BEGIN
   RETURN QUERY SELECT async_tasks.task_id
   FROM  async_tasks
   WHERE storage_pool_id = v_storage_pool_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromasync_tasks() RETURNS SETOF async_tasks STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM async_tasks;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getasync_tasksBytask_id(v_task_id UUID) RETURNS SETOF async_tasks STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM async_tasks
   WHERE task_id = v_task_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAsyncTasksByEntityId(v_entity_id UUID) RETURNS SETOF async_tasks STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT async_tasks.*
   FROM async_tasks
   JOIN async_tasks_entities ON async_task_id = task_id
   WHERE entity_id = v_entity_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAsyncTasksByVdsmTaskId(v_vdsm_task_id UUID) RETURNS SETOF async_tasks STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM async_tasks
   WHERE vdsm_task_id = v_vdsm_task_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertAuditLog(INOUT v_audit_log_id INTEGER ,
 v_log_time TIMESTAMP WITH TIME ZONE,
 v_log_type INTEGER,
    v_log_type_name VARCHAR(100),
 v_severity INTEGER,
 v_message text,
 v_user_id UUID ,
 v_user_name VARCHAR(255) ,
 v_vds_id UUID ,
 v_vds_name VARCHAR(255) ,
 v_vm_id UUID ,
 v_vm_name VARCHAR(255) ,
 v_vm_template_id UUID ,
    v_vm_template_name VARCHAR(40) ,
    v_storage_pool_id UUID ,
    v_storage_pool_name VARCHAR(40) ,
    v_storage_domain_id UUID ,
    v_storage_domain_name VARCHAR(250) ,
    v_vds_group_id UUID ,
    v_vds_group_name VARCHAR(255),
    v_quota_id UUID,
    v_quota_name VARCHAR(60),
    v_correlation_id VARCHAR(50),
    v_job_id UUID,
    v_gluster_volume_id UUID,
    v_gluster_volume_name VARCHAR(1000),
    v_call_stack text)
   AS $procedure$
   DECLARE
   v_min_alret_severity  INTEGER;
BEGIN
      v_min_alret_severity := 10;
	-- insert regular log messages (non alerts)
      if (v_severity < v_min_alret_severity) then

INSERT INTO audit_log(LOG_TIME, log_type, log_type_name, severity,message, user_id, USER_NAME, vds_id, VDS_NAME, vm_id, VM_NAME,vm_template_id,VM_TEMPLATE_NAME,storage_pool_id,STORAGE_POOL_NAME,storage_domain_id,STORAGE_DOMAIN_NAME,vds_group_id,vds_group_name, correlation_id, job_id, quota_id, quota_name, gluster_volume_id, gluster_volume_name, call_stack)
		VALUES(v_log_time, v_log_type, v_log_type_name, v_severity, v_message, v_user_id, v_user_name, v_vds_id, v_vds_name, v_vm_id, v_vm_name,v_vm_template_id,v_vm_template_name,v_storage_pool_id,v_storage_pool_name,v_storage_domain_id,v_storage_domain_name,v_vds_group_id,v_vds_group_name, v_correlation_id, v_job_id, v_quota_id, v_quota_name, v_gluster_volume_id, v_gluster_volume_name, v_call_stack);

         v_audit_log_id := CURRVAL('audit_log_seq');
      else
         if (not exists(select audit_log_id from audit_log where vds_name = v_vds_name and log_type = v_log_type)) then

INSERT INTO audit_log(LOG_TIME, log_type, log_type_name, severity,message, user_id, USER_NAME, vds_id, VDS_NAME, vm_id, VM_NAME,vm_template_id,VM_TEMPLATE_NAME,storage_pool_id,STORAGE_POOL_NAME,storage_domain_id,STORAGE_DOMAIN_NAME,vds_group_id,vds_group_name, correlation_id, job_id, quota_id, quota_name, gluster_volume_id, gluster_volume_name, call_stack)
			VALUES(v_log_time, v_log_type, v_log_type_name, v_severity, v_message, v_user_id, v_user_name, v_vds_id, v_vds_name, v_vm_id, v_vm_name,v_vm_template_id,v_vm_template_name,v_storage_pool_id,v_storage_pool_name,v_storage_domain_id,v_storage_domain_name,v_vds_group_id,v_vds_group_name, v_correlation_id, v_job_id, v_quota_id, v_quota_name, v_gluster_volume_id, v_gluster_volume_name, v_call_stack);

            v_audit_log_id := CURRVAL('audit_log_seq');
         else
            select   audit_log_id INTO v_audit_log_id from audit_log where vds_name = v_vds_name and log_type = v_log_type;
         end if;
      end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertExternalAuditLog(INOUT v_audit_log_id INTEGER ,
    v_log_time TIMESTAMP WITH TIME ZONE,
    v_log_type INTEGER,
    v_log_type_name VARCHAR(100),
    v_severity INTEGER,
    v_message text,
    v_user_id UUID ,
    v_user_name VARCHAR(255) ,
    v_vds_id UUID ,
    v_vds_name VARCHAR(255) ,
    v_vm_id UUID ,
    v_vm_name VARCHAR(255) ,
    v_vm_template_id UUID ,
    v_vm_template_name VARCHAR(40) ,
    v_storage_pool_id UUID ,
    v_storage_pool_name VARCHAR(40) ,
    v_storage_domain_id UUID ,
    v_storage_domain_name VARCHAR(250) ,
    v_vds_group_id UUID ,
    v_vds_group_name VARCHAR(255),
    v_quota_id UUID,
    v_quota_name VARCHAR(60),
    v_correlation_id VARCHAR(50),
    v_job_id UUID,
    v_gluster_volume_id UUID,
    v_gluster_volume_name VARCHAR(1000),
    v_call_stack text,
    v_origin VARCHAR(25),
    v_custom_event_id INTEGER,
    v_event_flood_in_sec INTEGER,
    v_custom_data text)
AS $procedure$
DECLARE
    v_max_message_length INTEGER;
    v_truncated_message text;
BEGIN

   -- truncate message if exceeds configured max length. truncated messages will be ended
   -- with "..." to indicate that message is incomplete due to size limits.

   v_truncated_message := v_message;
   v_max_message_length := cast(option_value as int) FROM vdc_options WHERE option_name = 'MaxAuditLogMessageLength' and version = 'general';
   IF (v_max_message_length IS NOT NULL and length(v_message) > v_max_message_length) THEN
      v_truncated_message := substr(v_message, 1, v_max_message_length -3) || '...';
   END IF;
   INSERT INTO audit_log(LOG_TIME, log_type, log_type_name, severity,message, user_id, USER_NAME, vds_id, VDS_NAME, vm_id, VM_NAME,vm_template_id,VM_TEMPLATE_NAME,storage_pool_id,STORAGE_POOL_NAME,storage_domain_id,STORAGE_DOMAIN_NAME,vds_group_id,vds_group_name, correlation_id, job_id, quota_id, quota_name, gluster_volume_id, gluster_volume_name, call_stack, origin, custom_event_id, event_flood_in_sec, custom_data )
		VALUES(v_log_time, v_log_type, v_log_type_name, v_severity, v_truncated_message, v_user_id, v_user_name, v_vds_id, v_vds_name, v_vm_id, v_vm_name,v_vm_template_id,v_vm_template_name,v_storage_pool_id,v_storage_pool_name,v_storage_domain_id,v_storage_domain_name,v_vds_group_id,v_vds_group_name, v_correlation_id, v_job_id, v_quota_id, v_quota_name, v_gluster_volume_id, v_gluster_volume_name, v_call_stack, v_origin, v_custom_event_id, v_event_flood_in_sec, v_custom_data);

   v_audit_log_id := CURRVAL('audit_log_seq');
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteAuditLog(v_audit_log_id INTEGER)
RETURNS VOID
   AS $procedure$
BEGIN
      UPDATE audit_log SET deleted = true
      WHERE audit_log_id = v_audit_log_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromAuditLog(v_user_id UUID, v_is_filtered BOOLEAN) RETURNS SETOF audit_log STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT *
      FROM audit_log a
      WHERE NOT deleted AND
     (NOT v_is_filtered OR EXISTS (SELECT 1
                                   FROM   user_vm_permissions_view pv, user_object_permissions_view dpv
                                   WHERE  pv.user_id = v_user_id AND pv.entity_id = a.vm_id AND pv.entity_id = dpv.entity_id)
                        OR EXISTS (SELECT 1
                                   FROM user_vm_template_permissions_view pv, user_object_permissions_view dpv
                                   WHERE pv.user_id = v_user_id AND pv.entity_id = a.vm_template_id AND pv.entity_id = dpv.entity_id)
                        OR EXISTS (SELECT 1
                                   FROM user_vds_permissions_view pv, user_object_permissions_view dpv
                                   WHERE pv.user_id = v_user_id AND pv.entity_id = a.vds_id AND pv.entity_id = dpv.entity_id)
                        OR EXISTS (SELECT 1
                                   FROM user_storage_pool_permissions_view pv, user_object_permissions_view dpv
                                   WHERE pv.user_id = v_user_id AND pv.entity_id = a.storage_pool_id AND pv.entity_id = dpv.entity_id)
                        OR EXISTS (SELECT 1
                                   FROM user_storage_domain_permissions_view pv, user_object_permissions_view dpv
                                   WHERE pv.user_id = v_user_id AND pv.entity_id = a.storage_domain_id AND pv.entity_id = dpv.entity_id)
                        OR EXISTS (SELECT 1
                                   FROM user_vds_groups_permissions_view pv, user_object_permissions_view dpv
                                   WHERE pv.user_id = v_user_id AND pv.entity_id = a.vds_group_id AND pv.entity_id = dpv.entity_id)
     );
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAuditLogByAuditLogId(v_audit_log_id INTEGER) RETURNS SETOF audit_log STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT *
      FROM audit_log
      WHERE audit_log_id = v_audit_log_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAuditLogByVMId(v_vm_id UUID, v_user_id UUID, v_is_filtered BOOLEAN) RETURNS SETOF audit_log STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT *
      FROM   audit_log
      WHERE  not deleted and vm_id = v_vm_id
      AND (NOT v_is_filtered OR EXISTS (SELECT 1
                                        FROM   user_vm_permissions_view
                                        WHERE  user_id = v_user_id AND entity_id = vm_id));


END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAuditLogByVMTemplateId(v_vm_template_id UUID, v_user_id UUID, v_is_filtered BOOLEAN) RETURNS SETOF audit_log STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT *
      FROM   audit_log
      WHERE  not deleted and vm_template_id = v_vm_template_id
      AND (NOT v_is_filtered OR EXISTS (SELECT 1
                                        FROM   user_vm_template_permissions_view
                                        WHERE  user_id = v_user_id AND entity_id = vm_template_id));


END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAuditLogLaterThenDate(v_date TIMESTAMP WITH TIME ZONE)
RETURNS SETOF audit_log STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT *
      FROM audit_log
      WHERE not deleted and LOG_TIME >= v_date;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteAuditLogOlderThenDate(v_date TIMESTAMP WITH TIME ZONE)
RETURNS VOID
   AS $procedure$
   DECLARE
   v_id  INTEGER;
   SWV_RowCount INTEGER;
BEGIN
        -- get first the id from which to remove in order to use index
      select   audit_log_id INTO v_id FROM audit_log WHERE LOG_TIME < v_date   order by audit_log_id desc LIMIT 1;
        -- check if there are candidates to remove
      GET DIAGNOSTICS SWV_RowCount = ROW_COUNT;
      if (SWV_RowCount > 0) then
         DELETE FROM audit_log
         WHERE audit_log_id <= v_id and
         audit_log_id not in(select audit_log_id from event_notification_hist);
      end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteAuditAlertLogByVdsIDAndType(v_vds_id UUID,
    v_log_type INTEGER)
RETURNS VOID
   AS $procedure$
BEGIN
      UPDATE audit_log set deleted = true
      where vds_id = v_vds_id and log_type = v_log_type;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteAuditLogAlertsByVdsID(v_vds_id UUID,
    v_delete_config_alerts BOOLEAN=true)
RETURNS VOID
   AS $procedure$
   DECLARE
   v_min_alret_severity  INTEGER;
   v_no_config_alret_type  INTEGER;
   v_no_max_alret_type  INTEGER;
BEGIN
      v_min_alret_severity := 10;
      v_no_config_alret_type := 9000;
      v_no_max_alret_type := 9005;
      if (v_delete_config_alerts = true) then
         UPDATE audit_log set deleted = true
         where vds_id = v_vds_id and severity >= v_min_alret_severity and
         log_type  between v_no_config_alret_type and v_no_max_alret_type;
      else
         UPDATE audit_log set deleted = true
         where vds_id = v_vds_id and severity >= v_min_alret_severity and
         log_type  between v_no_config_alret_type + 1 and v_no_max_alret_type;
      end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
/*
Used to find out how many seconds to wait after Start/Stop/Restart PM operations
v_vds_name     - The host name
v_event        - The event [USER_VDS_STOP | USER_VDS_START | USER_VDS_RESTART]
v_wait_for_sec - Configurable time in seconds to wait from last operation.
Returns : The number of seconds we have to wait (negative value means we can do the operation immediately)
*/
Create or replace FUNCTION get_seconds_to_wait_before_pm_operation(v_vds_name varchar(255), v_event varchar(100), v_wait_for_sec INTEGER ) RETURNS INTEGER STABLE
   AS $procedure$
declare v_last_event_dt timestamp with time zone;
declare v_now_dt timestamp with time zone;
BEGIN
      if exists(select 1 from audit_log where vds_name = v_vds_name and log_type_name = v_event) then
       begin
          v_last_event_dt := log_time
          from audit_log
          where vds_name = v_vds_name and log_type_name = v_event
          order by audit_log_id desc limit 1;
          v_now_dt :=  CURRENT_TIMESTAMP;
          RETURN cast((extract(epoch from v_last_event_dt) + v_wait_for_sec) - extract(epoch from v_now_dt) as int);
       end;
     else
          RETURN 0;
     end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAuditLogByOriginAndCustomEventId(v_origin varchar(255), v_custom_event_id INTEGER) RETURNS SETOF audit_log STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT *
      FROM audit_log
      WHERE origin = v_origin and custom_event_id = v_custom_event_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertBaseDisk(
    v_disk_id UUID,
    v_disk_interface VARCHAR(32),
    v_wipe_after_delete BOOLEAN,
    v_propagate_errors VARCHAR(32),
    v_disk_alias VARCHAR(50),
    v_disk_description VARCHAR(500),
    v_shareable BOOLEAN,
    v_boot BOOLEAN,
    v_sgio INTEGER,
    v_alignment SMALLINT,
    v_last_alignment_scan TIMESTAMP WITH TIME ZONE)
RETURNS VOID
AS $procedure$
BEGIN
    INSERT INTO base_disks(
        disk_id,
        disk_interface,
        wipe_after_delete,
        propagate_errors,
        disk_alias,
        disk_description,
        shareable,
        boot,
        sgio,
        alignment,
        last_alignment_scan)
    VALUES(
        v_disk_id,
        v_disk_interface,
        v_wipe_after_delete,
        v_propagate_errors,
        v_disk_alias,
        v_disk_description,
        v_shareable,
        v_boot,
        v_sgio,
        v_alignment,
        v_last_alignment_scan);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateBaseDisk(
    v_disk_id UUID,
    v_disk_interface VARCHAR(32),
    v_wipe_after_delete BOOLEAN,
    v_propagate_errors VARCHAR(32),
    v_disk_alias VARCHAR(50),
    v_disk_description VARCHAR(500),
    v_shareable BOOLEAN,
    v_boot BOOLEAN,
    v_sgio INTEGER,
    v_alignment SMALLINT,
    v_last_alignment_scan TIMESTAMP WITH TIME ZONE)
RETURNS VOID
AS $procedure$
BEGIN
    UPDATE base_disks
    SET    disk_interface = v_disk_interface,
           wipe_after_delete = v_wipe_after_delete,
           propagate_errors = v_propagate_errors,
           disk_alias = v_disk_alias,
           disk_description = v_disk_description,
           shareable = v_shareable,
           boot = v_boot,
           sgio = v_sgio,
           alignment = v_alignment,
           last_alignment_scan = v_last_alignment_scan
    WHERE  disk_id = v_disk_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteBaseDisk(v_disk_id UUID)
RETURNS VOID
AS $procedure$
DECLARE
    v_val  UUID;
BEGIN
    DELETE
    FROM   base_disks
    WHERE  disk_id = v_disk_id;

    -- Delete the disk's permissions
   DELETE FROM permissions WHERE object_id = v_disk_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromBaseDisks() RETURNS SETOF base_disks STABLE
AS $procedure$
BEGIN
    RETURN QUERY
    SELECT *
    FROM   base_disks;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetBaseDiskByBaseDiskId(v_disk_id UUID)
RETURNS SETOF base_disks STABLE
AS $procedure$
BEGIN
    RETURN QUERY
    SELECT *
    FROM   base_disks
    WHERE  disk_id = v_disk_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertBookmark(v_bookmark_id UUID,
	v_bookmark_name VARCHAR(40),
	v_bookmark_value VARCHAR(300))
RETURNS VOID
   AS $procedure$
BEGIN
INSERT INTO bookmarks(bookmark_Id,bookmark_name, bookmark_value)
	VALUES(v_bookmark_id, v_bookmark_name, v_bookmark_value);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateBookmark(v_bookmark_id UUID,
    v_bookmark_name VARCHAR(40),
	v_bookmark_value VARCHAR(300))
RETURNS VOID
	
   AS $procedure$
BEGIN
      UPDATE bookmarks
      SET bookmark_name = v_bookmark_name,bookmark_value = v_bookmark_value
      WHERE bookmark_Id = v_bookmark_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteBookmark(v_bookmark_id UUID)
RETURNS VOID
   AS $procedure$
BEGIN
      DELETE FROM bookmarks
      WHERE bookmark_Id = v_bookmark_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromBookmarks() RETURNS SETOF bookmarks STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT *
      FROM bookmarks;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetBookmarkBybookmark_name(v_bookmark_name VARCHAR(40))
RETURNS SETOF bookmarks STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT *
      FROM bookmarks
      WHERE bookmark_name = v_bookmark_name;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetBookmarkBybookmark_id(v_bookmark_id UUID)
RETURNS SETOF bookmarks STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT *
      FROM bookmarks
      WHERE bookmark_Id = v_bookmark_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllVm_poolsByUser_id_with_groups_and_UserRoles(v_user_id UUID)
RETURNS SETOF vm_pools_view STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT DISTINCT pools.*
	FROM vm_pools_view pools
    INNER JOIN user_vm_pool_permissions_view ON user_id = v_user_id AND entity_id = pools.vm_pool_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION insert_entity_snapshot(v_id uuid, v_command_id uuid,v_command_type character varying , v_entity_id character varying, v_entity_type character varying, v_entity_snapshot text, v_snapshot_class character varying, v_snapshot_type INTEGER,v_insertion_order INTEGER)
  RETURNS void AS
$procedure$
BEGIN
	BEGIN
		INSERT INTO business_entity_snapshot(id, command_id, command_type, entity_id,entity_type,entity_snapshot, snapshot_class, snapshot_type,insertion_order)
				VALUES(v_id, v_command_id, v_command_type, v_entity_id,v_entity_type,v_entity_snapshot, v_snapshot_class, v_snapshot_type,v_insertion_order);
	END;

   RETURN;
END; $procedure$
  LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION get_entity_snapshot_by_id(v_id uuid)
  RETURNS SETOF business_entity_snapshot STABLE AS
$procedure$
BEGIN
      RETURN QUERY SELECT business_entity_snapshot.*
      FROM business_entity_snapshot
      WHERE id = v_id;
END; $procedure$
  LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION get_entity_snapshot_by_command_id(v_command_id uuid)
  RETURNS SETOF business_entity_snapshot STABLE AS
$procedure$
BEGIN
      RETURN QUERY SELECT business_entity_snapshot.*
      FROM business_entity_snapshot
      WHERE command_id = v_command_id order by insertion_order desc;
END; $procedure$
  LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
DROP TYPE IF EXISTS get_all_commands_rs CASCADE;
**************************

DROP TYPE
********* QUERY **********
CREATE TYPE get_all_commands_rs  AS(command_id UUID, command_type varchar(256));
**************************

CREATE TYPE
********* QUERY **********
CREATE OR REPLACE FUNCTION get_all_commands()
  RETURNS SETOF get_all_commands_rs STABLE AS
$procedure$
BEGIN
      RETURN QUERY SELECT distinct business_entity_snapshot.command_id, business_entity_snapshot.command_type
      FROM business_entity_snapshot;

END; $procedure$
  LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION delete_entity_snapshot_by_command_id(v_command_id uuid)
  RETURNS void AS
$procedure$
BEGIN
	BEGIN
		delete from business_entity_snapshot where command_id = v_command_id;
	END;
	RETURN;
END; $procedure$
  LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromClusterPolicys() RETURNS SETOF cluster_policies STABLE
AS $procedure$
BEGIN
    RETURN QUERY
    SELECT *
    FROM   cluster_policies;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetClusterPolicyByClusterPolicyId(v_id UUID) RETURNS SETOF cluster_policies STABLE
AS $procedure$
BEGIN
    RETURN QUERY
    SELECT *
    FROM   cluster_policies
    WHERE id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertClusterPolicy(
    v_id UUID,
    v_name VARCHAR(128),
    v_description VARCHAR(4000),
    v_is_locked BOOLEAN,
    v_is_default BOOLEAN,
    v_custom_properties text)
RETURNS VOID
AS $procedure$
BEGIN
    INSERT INTO cluster_policies(
        id,
        name,
        description,
        is_locked,
        is_default,
        custom_properties)
    VALUES(
        v_id,
        v_name,
        v_description,
        v_is_locked,
        v_is_default,
        v_custom_properties);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateClusterPolicy(
    v_id UUID,
    v_name VARCHAR(128),
    v_description VARCHAR(4000),
    v_is_locked BOOLEAN,
    v_is_default BOOLEAN,
    v_custom_properties text)
RETURNS VOID
AS $procedure$
BEGIN
    UPDATE cluster_policies
    SET    name = v_name,
           description = v_description,
           is_locked = v_is_locked,
           is_default = v_is_default,
           custom_properties = v_custom_properties
    WHERE  id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteClusterPolicy(v_id UUID)
RETURNS VOID
AS $procedure$
BEGIN
    DELETE
    FROM   cluster_policies
    WHERE  id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromClusterPolicyUnits() RETURNS SETOF cluster_policy_units STABLE
AS $procedure$
BEGIN
    RETURN QUERY
    SELECT *
    FROM   cluster_policy_units;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetClusterPolicyUnitsByClusterPolicyId(v_id UUID) RETURNS SETOF cluster_policy_units STABLE
AS $procedure$
BEGIN
    RETURN QUERY
    SELECT *
    FROM   cluster_policy_units
    WHERE cluster_policy_id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteClusterPolicyUnitsByClusterPolicyId(v_id UUID)
RETURNS VOID
AS $procedure$
BEGIN
    DELETE
    FROM   cluster_policy_units
    WHERE  cluster_policy_id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertClusterPolicyUnit(
    v_cluster_policy_id UUID,
    v_policy_unit_id UUID,
    v_filter_sequence int,
    v_factor int)
RETURNS VOID
AS $procedure$
BEGIN
    INSERT INTO cluster_policy_units(
        cluster_policy_id,
        policy_unit_id,
        filter_sequence,
        factor)
    VALUES(
        v_cluster_policy_id,
        v_policy_unit_id,
        v_filter_sequence,
        v_factor);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION fn_db_add_column(v_table varchar(128), v_column varchar(128), v_column_def text)
returns void
AS $procedure$
declare
v_sql text;

begin
	if (not exists (select 1 from information_schema.columns where table_name ilike v_table and column_name ilike v_column)) then
	    begin
		v_sql := 'ALTER TABLE ' || v_table || ' ADD COLUMN ' || v_column || ' ' || v_column_def;
		EXECUTE v_sql;
            end;
	end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION fn_db_drop_column(v_table varchar(128), v_column varchar(128))
returns void
AS $procedure$
declare
v_sql text;
begin
        if (exists (select 1 from information_schema.columns where table_name ilike v_table and column_name ilike v_column)) then
            begin
                v_sql := 'ALTER TABLE ' || v_table || ' DROP COLUMN ' || v_column;
                EXECUTE v_sql;
            end;
        end if;
end;$procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION fn_db_change_column_type(v_table varchar(128), v_column varchar(128),
                                                    v_type varchar(128), v_new_type varchar(128))
returns void
AS $procedure$
declare
v_sql text;

begin
	if (exists (select 1 from information_schema.columns where table_name ilike v_table and column_name ilike v_column and (udt_name ilike v_type or data_type ilike v_type))) then
	    begin
		v_sql := 'ALTER TABLE ' || v_table || ' ALTER COLUMN ' || v_column || ' TYPE ' || v_new_type;
		EXECUTE v_sql;
            end;
	end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION fn_db_rename_column(v_table varchar(128), v_column varchar(128), v_new_name varchar(128))
returns void
AS $procedure$
declare
v_sql text;

begin
	if (exists (select 1 from information_schema.columns where table_name ilike v_table and column_name ilike v_column)) then
	    begin
		v_sql := 'ALTER TABLE ' || v_table || ' RENAME COLUMN ' || v_column || ' TO ' || v_new_name;
		EXECUTE v_sql;
            end;
	end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_add_config_value(v_option_name varchar(100), v_option_value varchar(4000),
                                                  v_version varchar(40))
returns void
AS $procedure$
begin
    if (not exists (select 1 from vdc_options where option_name ilike v_option_name and version = v_version)) then
        begin
            insert into vdc_options (option_name, option_value, version) values (v_option_name, v_option_value, v_version);
        end;
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_delete_config_value_all_versions(v_option_name varchar(100))
returns void
AS $procedure$
begin
    if (exists (select 1 from vdc_options where option_name ilike v_option_name)) then
        begin
            delete from vdc_options where option_name ilike v_option_name;
        end;
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_delete_config_value(v_option_name varchar(100), v_version text)
returns void
AS $procedure$
begin
    if (exists (select 1 from vdc_options where option_name ilike v_option_name and version in (select ID from fnSplitter(v_version)))) then
        begin
            delete from vdc_options where option_name ilike v_option_name and version in (select ID from fnSplitter(v_version));
        end;
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_delete_config_for_version(v_version text)
returns void
AS $procedure$
BEGIN
     delete from vdc_options where version in (select ID from fnSplitter(v_version));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_update_config_value(v_option_name varchar(100), v_option_value varchar(4000),
                                                  v_version varchar(40))
returns void
AS $procedure$
begin
    if (exists (select 1 from vdc_options where option_name ilike v_option_name and version = v_version)) then
        begin
            update  vdc_options set option_value = v_option_value
            where option_name ilike v_option_name and version = v_version;
        end;
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_update_default_config_value(v_option_name varchar(100),v_default_option_value varchar(4000),v_option_value varchar(4000),v_version varchar(40),v_ignore_default_value_case boolean)
returns void
AS $procedure$
begin
    if (exists (select 1 from vdc_options where option_name ilike v_option_name and version = v_version)) then
        begin
            if (v_ignore_default_value_case)
            then
               update  vdc_options set option_value = v_option_value
               where option_name ilike v_option_name and option_value ilike v_default_option_value and version = v_version;
            else
               update  vdc_options set option_value = v_option_value
               where option_name ilike v_option_name and option_value = v_default_option_value and version = v_version;
            end if;
        end;
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_rename_config_key(v_old_option_name varchar(100),v_new_option_name varchar(100),v_version varchar(40))
returns void
AS $procedure$
DECLARE
    v_current_option_value varchar(4000);
begin
    if (exists (select 1 from vdc_options where option_name ilike v_old_option_name and version = v_version)) then
       v_current_option_value:=option_value from vdc_options where option_name ilike v_old_option_name and version = v_version;
       update vdc_options set option_name = v_new_option_name, option_value = v_current_option_value
           where  option_name ilike v_old_option_name and version = v_version;
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace function fn_db_create_constraint (
    v_table varchar(128), v_constraint varchar(128), v_constraint_sql text)
returns void
AS $procedure$
begin
    if  NOT EXISTS (SELECT 1 from pg_constraint where conname ilike v_constraint) then
        execute 'ALTER TABLE ' || v_table ||  ' ADD CONSTRAINT ' || v_constraint || ' ' || v_constraint_sql;
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace function fn_db_drop_constraint (
    v_table varchar(128), v_constraint varchar(128))
returns void
AS $procedure$
begin
    if  EXISTS (SELECT 1 from pg_constraint where conname ilike v_constraint) then
        execute 'ALTER TABLE ' || v_table ||  ' DROP CONSTRAINT ' || v_constraint || ' CASCADE';
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION attach_user_to_su_role(v_permission_id uuid)
  RETURNS void AS
$procedure$
   DECLARE
   v_user_entry VARCHAR(255);
   v_user_id  UUID;
   v_name  VARCHAR(255);
   v_domain  VARCHAR(255);
   v_user_name  VARCHAR(255);

   v_document  VARCHAR(64);
   v_index  INTEGER;
BEGIN

   select   option_value INTO v_user_entry from vdc_options where option_name = 'AdUserId';
   select   option_value INTO v_name from vdc_options where option_name = 'AdUserName';
   select   option_value INTO v_domain from vdc_options where option_name = 'DomainName';

   v_index := POSITION(':' IN v_user_entry);
   if ( v_index <> 0 ) then
      v_user_entry := substring( v_user_entry from v_index + 1 );
      v_user_id := CAST( v_user_entry AS uuid );
   end if;

   v_index := POSITION(':' IN v_name);
   if ( v_index <> 0 ) then
      v_name := substring( v_name from v_index + 1 );
   end if;

-- find if name already includes domain (@)
   v_index := POSITION('@' IN v_name);

   if (v_index = 0) then
      v_user_name := coalesce(v_name,'') || '@' || coalesce(v_domain,'');
   else
      v_user_name := v_name;
   end if;


insert into users(user_id,name,domain,username,groups,active) select v_user_id, v_name, v_domain, v_user_name,'',true where not exists (select user_id,name,domain,username,groups,active from users where user_id = v_user_id and name = v_name and domain = v_domain and username = v_user_name and groups = '' and active);

insert into permissions(id,role_id,ad_element_id,object_id,object_type_id) select v_permission_id, '00000000-0000-0000-0000-000000000001', v_user_id, getGlobalIds('system'), 1 where not exists(select role_id,ad_element_id,object_id,object_type_id from permissions where role_id = '00000000-0000-0000-0000-000000000001' and ad_element_id = v_user_id and object_id= getGlobalIds('system') and object_type_id = 1);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION CheckDBConnection() RETURNS SETOF integer IMMUTABLE
   AS $procedure$
BEGIN
    RETURN QUERY SELECT 1;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION generate_drop_all_functions_syntax() RETURNS SETOF text STABLE
   AS $procedure$
BEGIN
RETURN QUERY select 'drop function if exists ' || ns.nspname || '.' || proname || '(' || oidvectortypes(proargtypes) || ') cascade;' from pg_proc inner join pg_namespace ns on (pg_proc.pronamespace=ns.oid) where ns.nspname = 'public' order by proname;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION generate_drop_all_views_syntax() RETURNS SETOF text STABLE
   AS $procedure$
BEGIN
RETURN QUERY select 'DROP VIEW if exists ' || table_name || ' CASCADE;' from information_schema.views where table_schema = 'public' order by table_name;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION generate_drop_all_tables_syntax() RETURNS SETOF text STABLE
   AS $procedure$
BEGIN
RETURN QUERY select 'DROP TABLE if exists ' || table_name || ' CASCADE;' from information_schema.tables where table_schema = 'public' and table_type = 'BASE TABLE' order by table_name;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION generate_drop_all_seq_syntax() RETURNS SETOF text STABLE
   AS $procedure$
BEGIN
RETURN QUERY select 'DROP SEQUENCE if exists ' || sequence_name || ' CASCADE;' from information_schema.sequences  where sequence_schema = 'public' order by sequence_name;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION generate_drop_all_user_types_syntax() RETURNS SETOF text STABLE
   AS $procedure$
BEGIN
RETURN QUERY SELECT 'DROP TYPE if exists ' || c.relname::information_schema.sql_identifier || ' CASCADE;'
   FROM pg_namespace n, pg_class c, pg_type t
   WHERE n.oid = c.relnamespace and t.typrelid = c.oid and c.relkind = 'c'::"char" and
   n.nspname = 'public'
   ORDER BY  c.relname::information_schema.sql_identifier;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION fn_get_column_size( v_table varchar(64), v_column varchar(64)) returns integer STABLE
   AS $procedure$
   declare
   retvalue  integer;
BEGIN
   retvalue := character_maximum_length from information_schema.columns
    where
    table_name ilike v_table and column_name ilike v_column and
    table_schema = 'public' and udt_name in ('char','varchar');
   return retvalue;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION attach_user_to_su_role(
    v_permission_id uuid,
    v_user_id VARCHAR(255),
    v_name VARCHAR(255),
    v_domain VARCHAR(255)
)
RETURNS void AS
$BODY$
   DECLARE
   v_user_name VARCHAR(255);
   v_document  VARCHAR(64);
   v_index  INTEGER;
   input_uuid uuid;
   v_external_id BYTEA;
BEGIN
   input_uuid = CAST( v_user_id AS uuid );
-- find if name already includes domain (@)
   v_index := POSITION('@' IN v_name);

   if (v_index = 0) then
      v_user_name := coalesce(v_name,'') || '@' || coalesce(v_domain,'');
   else
      v_user_name := v_name;
   end if;

   -- The external identifier is the user identifier converted to an array of
   -- bytes:
   v_external_id := decode(replace(v_user_id::text, '-', ''), 'hex');

insert into users(user_id,external_id,name,domain,username,groups,active) select input_uuid, v_external_id, v_name, v_domain, v_user_name,'',true where not exists (select user_id,name,domain,username,groups,active from users where user_id = input_uuid);

insert into permissions(id,role_id,ad_element_id,object_id,object_type_id) select v_permission_id, '00000000-0000-0000-0000-000000000001', input_uuid, getGlobalIds('system'), 1 where not exists(select role_id,ad_element_id,object_id,object_type_id from permissions where role_id = '00000000-0000-0000-0000-000000000001' and ad_element_id = input_uuid and object_id= getGlobalIds('system') and object_type_id = 1);
END; $BODY$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION fn_db_add_action_group_to_role(v_role_id UUID, v_action_group_id INTEGER)
RETURNS VOID
AS $procedure$
BEGIN
       INSERT INTO roles_groups(role_id,action_group_id)
       SELECT v_role_id, v_action_group_id
       WHERE NOT EXISTS (SELECT 1
                         FROM roles_groups
                         WHERE role_id = v_role_id
                         AND action_group_id = v_action_group_id);
RETURN;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION fn_db_split_config_value(v_option_name character varying, v_old_option_value character varying, v_new_option_value character varying, v_update_from_version character varying)
  RETURNS void AS
$BODY$
declare
v_old_value varchar(4000);
v_cur cursor for select distinct version from vdc_options where version <> 'general' order by version;
v_version varchar(40);
v_index integer;
v_count integer;
v_total_count integer;
v_version_count integer;
begin
    v_total_count := count(version) from vdc_options where option_name = v_option_name;
    v_old_value := option_value from vdc_options where option_name = v_option_name and version = 'general';
    v_version_count := count(distinct version) from vdc_options where version <> 'general';
    if (v_total_count <= v_version_count) then
        begin
            if (v_old_value IS NULL) then
                v_old_value := v_old_option_value;
            end if;
            v_count := count(distinct version) from vdc_options where version <> 'general';
            v_index := 1;
        open v_cur;
        loop
            fetch v_cur into v_version;
            exit when not found;
            -- We shouldn't update if already exists
            if (not exists (select 1 from vdc_options where option_name = v_option_name and version = v_version)) then
                -- Might not work well for versions such as 3.10, but we currently don't have any
                if (v_version >= v_update_from_version) then
                    insert into vdc_options (option_name, option_value, version) values (v_option_name, v_new_option_value, v_version);
                else
                    insert into vdc_options (option_name, option_value, version) values (v_option_name, v_old_value, v_version);
                end if;
            end if;
            v_index := v_index +1;
        end loop;
        close v_cur;
        delete from vdc_options where option_name = v_option_name and version = 'general';
        end;
    end if;
END; $BODY$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION fn_db_grant_action_group_to_all_roles_filter(v_action_group_id integer, uuid[])
  RETURNS void AS
$BODY$
declare
v_role_id_to_filter alias for $2;
begin
    insert into roles_groups (role_id, action_group_id)
    select distinct role_id, v_action_group_id
    from roles_groups rg
    where not ARRAY [role_id] <@ v_role_id_to_filter and not exists (select 1 from roles_groups where role_id = rg.role_id and action_group_id = v_action_group_id);
END; $BODY$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION fn_db_mask_object(v_object regclass) RETURNS setof record as
$BODY$
DECLARE
    v_sql TEXT;
    v_table record;
    v_table_name TEXT;
    temprec record;
BEGIN
    -- get full table/view name from v_object (i.e <namespace>.<name>)
    select c.relname, n.nspname INTO v_table
        FROM pg_class c join pg_namespace n on c.relnamespace = n.oid WHERE c.oid = v_object;
    -- try to get filtered query syntax from previous execution
    if exists (select 1 from object_column_white_list_sql where object_name = v_table.relname) then
	select sql into v_sql from object_column_white_list_sql where object_name = v_table.relname;
    else
        v_table_name := quote_ident( v_table.nspname ) || '.' || quote_ident( v_table.relname );
        -- compose sql statement while skipping values for columns not defined in object_column_white_list for this table.
        for temprec in select a.attname, t.typname
                       FROM pg_attribute a join pg_type t on a.atttypid = t.oid
                       WHERE a.attrelid = v_object AND a.attnum > 0 AND NOT a.attisdropped ORDER BY a.attnum
        loop
            v_sql := coalesce( v_sql || ', ', 'SELECT ' );
            if exists(select 1 from object_column_white_list
               where object_name = v_table.relname and column_name = temprec.attname) then
               v_sql := v_sql || quote_ident( temprec.attname );
            ELSE
               v_sql := v_sql || 'NULL::' || quote_ident( temprec.typname ) || ' as ' || quote_ident( temprec.attname );
            END IF;
        END LOOP;
        v_sql := v_sql || ' FROM ' || v_table_name;
        v_sql := 'SELECT x::' || v_table_name || ' as rec FROM (' || v_sql || ') as x';
        -- save generated query for further use
        insert into object_column_white_list_sql(object_name,sql) values (v_table.relname, v_sql);
    end if;
    RETURN QUERY EXECUTE v_sql;
END; $BODY$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_add_column_to_object_white_list(v_object_name varchar(128), v_column_name varchar(128))
returns void
AS $procedure$
begin
    if (not exists (select 1 from object_column_white_list
                    where object_name = v_object_name and column_name = v_column_name)) then
        begin
            -- verify that there is such object in db
            if exists (select 1 from information_schema.columns
                       where table_name = v_object_name and column_name = v_column_name) then
                insert into object_column_white_list (object_name, column_name) values (v_object_name, v_column_name);
            end if;
        end;
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_unlock_disk(v_id UUID)
returns void
AS $procedure$
declare
    OK integer;
    LOCKED integer;
begin
    OK:=1;
    LOCKED:=2;
    update images set imagestatus = OK where imagestatus = LOCKED and
    image_group_id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_unlock_snapshot(v_id UUID)
returns void
AS $procedure$
declare
    OK varchar;
    LOCKED varchar;
begin
    OK:='OK';
    LOCKED:='LOCKED';
    update snapshots set status = OK where status = LOCKED and snapshot_id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_unlock_entity(v_object_type varchar(10), v_name varchar(255), v_recursive boolean)
returns void
AS $procedure$
declare
    DOWN integer;
    OK integer;
    LOCKED integer;
    TEMPLATE_OK integer;
    TEMPLATE_LOCKED integer;
    IMAGE_LOCKED integer;
    SNAPSHOT_OK varchar;
    SNAPSHOT_LOCKED varchar;
    v_id UUID;
begin
    DOWN:=0;
    OK:=1;
    LOCKED:=2;
    TEMPLATE_OK:=0;
    TEMPLATE_LOCKED:=1;
    IMAGE_LOCKED:=15;
    SNAPSHOT_OK:='OK';
    SNAPSHOT_LOCKED:='LOCKED';
    v_id := vm_guid from vm_static where vm_name = v_name and entity_type ilike v_object_type;
    -- set VM status to DOWN
    if (v_object_type = 'vm') then
        update vm_dynamic set status = DOWN where status = IMAGE_LOCKED and vm_guid  = v_id;
    -- set Template status to OK
    else
        if (v_object_type = 'template') then
            update vm_static set template_status = TEMPLATE_OK where template_status = TEMPLATE_LOCKED and vm_guid  = v_id;
        end if;
    end if;
    --unlock images and snapshots  if recursive flag is set
    if (v_recursive) then
        update images set imagestatus = OK where imagestatus = LOCKED and
        image_group_id in (select device_id from vm_device where vm_id = v_id and is_plugged);

        update snapshots set status = SNAPSHOT_OK where status ilike SNAPSHOT_LOCKED and vm_id = v_id;
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
/* Displays DC id , DC name, SPM Host id , SPM Host name and number of async tasks awaiting.

1) create a record type with DC name, DC id, SPM host id, SPM host name, count

2) get all distinct DC ids from async_tasks table

3) Run a cursor for each result in 2)

   a) get DC name
   b) get SPM Host id & name if available
   c) get count of tasks

   return current record

4) return set of generated records
*/
DROP TYPE IF EXISTS async_tasks_info_rs CASCADE;
**************************

DROP TYPE
********* QUERY **********
CREATE TYPE async_tasks_info_rs AS (
    dc_id UUID, dc_name CHARACTER VARYING, spm_host_id UUID, spm_host_name CHARACTER VARYING, task_count integer);
**************************

CREATE TYPE
********* QUERY **********
create or replace FUNCTION fn_db_get_async_tasks()
returns SETOF async_tasks_info_rs STABLE
AS $procedure$
DECLARE
    v_record async_tasks_info_rs;

    -- selects storage_pool_id uuid found in async_tasks
    v_tasks_cursor cursor for select distinct storage_pool_id from async_tasks;
begin

    OPEN v_tasks_cursor;
    FETCH v_tasks_cursor into v_record.dc_id;
    WHILE FOUND LOOP
        -- get dc_name and SPM Host id
        v_record.dc_name := name from storage_pool where id = v_record.dc_id;
        v_record.spm_host_id :=
            spm_vds_id from storage_pool where id = v_record.dc_id;
        -- get Host name if we have non NULL SPM Host
        if (v_record.spm_host_id IS NOT NULL) then
            v_record.spm_host_name :=
                vds_name from vds_static where vds_id = v_record.spm_host_id;
        else
            v_record.spm_host_name:='';
        end if;
        -- get tasks count for this DC
        v_record.task_count := count(*) from async_tasks
            where position (cast(v_record.dc_id as varchar) in action_parameters) > 0;
        -- return the record
        RETURN NEXT v_record;
        FETCH v_tasks_cursor into v_record.dc_id;
    END LOOP;
    CLOSE v_tasks_cursor;
    -- return full set of generated records
    RETURN;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Insertcustom_actions(INOUT v_action_id INTEGER ,
	v_action_name VARCHAR(50),
	v_path VARCHAR(300),
	v_tab INTEGER ,
	v_description VARCHAR(4000))
   AS $procedure$
BEGIN
INSERT INTO custom_actions(action_name, path, tab, description)
	VALUES(v_action_name, v_path, v_tab, v_description);

      v_action_id := CURRVAL('custom_actions_seq');
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Updatecustom_actions(v_action_id INTEGER,
	v_action_name VARCHAR(50),
	v_path VARCHAR(300),
	v_tab INTEGER ,
	v_description VARCHAR(4000))
RETURNS VOID
	
   AS $procedure$
BEGIN
      UPDATE custom_actions
      SET action_name = v_action_name,path = v_path,tab = v_tab,description = v_description
      WHERE action_id = v_action_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Deletecustom_actions(v_action_id INTEGER)
RETURNS VOID
   AS $procedure$
BEGIN
      DELETE FROM custom_actions
      WHERE action_id = v_action_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromcustom_actions() RETURNS SETOF custom_actions STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT *
      FROM custom_actions;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getcustom_actionsByaction_id(v_action_id INTEGER)
RETURNS SETOF custom_actions STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT *
      FROM custom_actions
      WHERE action_id = v_action_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getcustom_actionsByTab_id(v_tab INTEGER) RETURNS SETOF custom_actions STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT *
      FROM custom_actions
      WHERE tab = v_tab;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getcustom_actionsByNameAndTab(v_action_name VARCHAR(50),
	v_tab INTEGER) RETURNS SETOF custom_actions STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT *
      FROM custom_actions
      WHERE tab = v_tab and action_name = v_action_name;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Insertdisk_image_dynamic(v_image_id UUID,
	v_read_rate INTEGER ,
	v_write_rate INTEGER ,
	v_actual_size BIGINT,
	v_read_latency_seconds numeric(18,9),
	v_write_latency_seconds numeric(18,9),
	v_flush_latency_seconds numeric(18,9)
)
RETURNS VOID
   AS $procedure$
BEGIN
INSERT INTO disk_image_dynamic(image_id, read_rate, write_rate, actual_size, read_latency_seconds, write_latency_seconds, flush_latency_seconds)
	VALUES(v_image_id, v_read_rate, v_write_rate, v_actual_size, v_read_latency_seconds, v_write_latency_seconds, v_flush_latency_seconds);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Updatedisk_image_dynamic(v_image_id UUID,
	v_read_rate INTEGER ,
	v_write_rate INTEGER ,
	v_actual_size BIGINT ,
	v_read_latency_seconds numeric(18,9) ,
	v_write_latency_seconds numeric(18,9) ,
	v_flush_latency_seconds numeric(18,9))
RETURNS VOID
	
   AS $procedure$
BEGIN
      UPDATE disk_image_dynamic
      SET read_rate = v_read_rate,write_rate = v_write_rate,actual_size = v_actual_size,read_latency_seconds = v_read_latency_seconds,write_latency_seconds = v_write_latency_seconds,flush_latency_seconds = v_flush_latency_seconds, _update_date = LOCALTIMESTAMP
      WHERE image_id = v_image_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Deletedisk_image_dynamic(v_image_id UUID)
RETURNS VOID
   AS $procedure$
BEGIN

   DELETE FROM disk_image_dynamic
   WHERE image_id = v_image_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromdisk_image_dynamic() RETURNS SETOF disk_image_dynamic STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM disk_image_dynamic;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getdisk_image_dynamicByimage_id(v_image_id UUID)
RETURNS SETOF disk_image_dynamic STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM disk_image_dynamic
   WHERE image_id = v_image_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetImageByImageGuid(v_image_guid UUID)
RETURNS SETOF vm_images_view STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT *
      FROM vm_images_view
      WHERE image_guid = v_image_guid;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAncestralImageByImageGuid(v_image_guid UUID)
RETURNS SETOF images_storage_domain_view STABLE
   AS $procedure$
BEGIN
      RETURN QUERY WITH RECURSIVE ancestor_image(image_guid, parentid) AS (
         SELECT image_guid, parentid
         FROM images
         WHERE image_guid = v_image_guid
         UNION ALL
         SELECT i.image_guid, i.parentid
         FROM images i, ancestor_image ai
         WHERE i.image_guid = ai.parentid
      )
      SELECT i.*
      FROM ancestor_image ai, images_storage_domain_view i
      WHERE ai.parentid = '00000000-0000-0000-0000-000000000000'
      AND ai.image_guid = i.image_guid;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetSnapshotByGuid(v_image_guid UUID)
RETURNS SETOF images_storage_domain_view STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT *
      FROM images_storage_domain_view images_storage_domain_view
      WHERE image_guid = v_image_guid;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetSnapshotsByStorageDomainId(v_storage_domain_id UUID)
RETURNS SETOF images_storage_domain_view STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT *
      FROM images_storage_domain_view images_storage_domain_view
      WHERE storage_id = v_storage_domain_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetSnapshotByParentGuid(v_parent_guid UUID)
RETURNS SETOF images_storage_domain_view STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT *
      FROM images_storage_domain_view images_storage_domain_view
      WHERE ParentId = v_parent_guid;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmImageByImageGuid(v_image_guid UUID)
RETURNS SETOF vm_images_view STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT *
      FROM vm_images_view
      WHERE image_guid = v_image_guid;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetSnapshotsByVmSnapshotId(v_vm_snapshot_id UUID)
RETURNS SETOF images_storage_domain_view STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT *
      FROM images_storage_domain_view images_storage_domain_view
      WHERE vm_snapshot_id = v_vm_snapshot_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAttachedDiskSnapshotsToVm(v_vm_guid UUID, v_is_plugged BOOLEAN)
RETURNS SETOF images_storage_domain_view
   AS $procedure$
BEGIN
      RETURN QUERY SELECT images_storage_domain_view.*
      FROM images_storage_domain_view
      JOIN vm_device ON vm_device.device_id = images_storage_domain_view.disk_id
      WHERE vm_device.vm_id = v_vm_guid AND (v_is_plugged IS NULL OR vm_device.is_plugged = v_is_plugged)
            AND vm_device.snapshot_id IS NOT NULL
            AND vm_device.snapshot_id = images_storage_domain_view.vm_snapshot_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetSnapshotsByImageGroupId(v_image_group_id UUID)
RETURNS SETOF images_storage_domain_view STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT *
      FROM images_storage_domain_view images_storage_domain_view
      WHERE image_group_id = v_image_group_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetDiskSnapshotForVmSnapshot(v_image_group_id UUID, v_vm_snapshot_id UUID)
RETURNS SETOF images_storage_domain_view
   AS $procedure$
BEGIN
      RETURN QUERY SELECT *
      FROM images_storage_domain_view
      WHERE image_group_id = v_image_group_id
      AND vm_snapshot_id = v_vm_snapshot_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetImagesWhichHaveNoDisk(v_vm_id UUID)
RETURNS SETOF images_storage_domain_view STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT i.*
      FROM   images_storage_domain_view i
      JOIN   snapshots s ON (i.vm_snapshot_id = s.snapshot_id)
      WHERE  s.vm_id = v_vm_id
      AND    NOT EXISTS (
          SELECT 1
          FROM   base_disks d
          WHERE  d.disk_id = i.image_group_id);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertDiskLunMap(
    v_disk_id UUID,
    v_lun_id VARCHAR(50))
RETURNS VOID
AS $procedure$
BEGIN
    INSERT INTO disk_lun_map(
        disk_id,
        lun_id)
    VALUES(
        v_disk_id,
        v_lun_id);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteDiskLunMap(v_disk_id UUID, v_lun_id VARCHAR(50))
RETURNS VOID
AS $procedure$
BEGIN
    DELETE
    FROM   disk_lun_map
    WHERE  disk_id = v_disk_id
    AND    lun_id = v_lun_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromDiskLunMaps() RETURNS SETOF disk_lun_map STABLE
AS $procedure$
BEGIN
    RETURN QUERY
    SELECT *
    FROM   disk_lun_map;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetDiskLunMapByDiskLunMapId(v_disk_id UUID, v_lun_id VARCHAR(50))
RETURNS SETOF disk_lun_map STABLE
AS $procedure$
BEGIN
    RETURN QUERY
    SELECT *
    FROM   disk_lun_map
    WHERE  disk_id = v_disk_id
    AND    lun_id = v_lun_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetDiskLunMapByLunId(v_lun_id VARCHAR(50))
RETURNS SETOF disk_lun_map STABLE
AS $procedure$
BEGIN
	RETURN QUERY
    SELECT *
    FROM   disk_lun_map
    WHERE  lun_id = v_lun_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateDwhHistoryTimekeeping(v_var_name VARCHAR(50),
    v_var_value VARCHAR(255),
    v_var_datetime TIMESTAMP WITH TIME ZONE)
RETURNS VOID
   AS $procedure$
BEGIN
      UPDATE dwh_history_timekeeping
      SET var_value = v_var_value,
          var_datetime = v_var_datetime
      WHERE var_name = v_var_name;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetDwhHistoryTimekeepingByVarName(v_var_name VARCHAR(50))
RETURNS SETOF dwh_history_timekeeping STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM dwh_history_timekeeping
   WHERE var_name = v_var_name;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION clear_osinfo()
  RETURNS VOID
AS $procedure$
BEGIN
      TRUNCATE dwh_osinfo;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION insert_osinfo(v_os_id INTEGER , v_os_name VARCHAR(255))
RETURNS VOID
   AS $procedure$
BEGIN
      INSERT into dwh_osinfo (os_id, os_name) VALUES (v_os_id, v_os_name);
      UPDATE dwh_history_timekeeping SET var_datetime = now() where var_name = 'lastOsinfoUpdate';
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION insertevent_notification_hist(v_audit_log_id BIGINT,
	v_event_name VARCHAR(100),
	v_method_type  CHAR(10),
	v_reason CHAR(255) ,
	v_sent_at TIMESTAMP WITH TIME ZONE,
	v_status BOOLEAN,
	v_subscriber_id VARCHAR(100))
RETURNS VOID
   AS $procedure$
BEGIN
INSERT INTO event_notification_hist(audit_log_id, event_name, method_type, reason, sent_at, status, subscriber_id)
	VALUES(v_audit_log_id, v_event_name, v_method_type, v_reason, v_sent_at, v_status, v_subscriber_id::uuid);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromevent_notification_hist()
RETURNS SETOF event_notification_hist STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM event_notification_hist;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Insertevent_subscriber(v_event_up_name VARCHAR(100),
	v_method_id INTEGER,
    v_method_address VARCHAR(255),
	v_subscriber_id UUID,
	v_tag_name VARCHAR(50))
RETURNS VOID
   AS $procedure$
BEGIN
      if not exists(select * from  event_subscriber where
      subscriber_id = v_subscriber_id and
      event_up_name = v_event_up_name and
      method_id = v_method_id and
      tag_name = v_tag_name) then

INSERT INTO event_subscriber(event_up_name, method_id, method_address, subscriber_id, tag_name)
			VALUES(v_event_up_name, v_method_id, v_method_address, v_subscriber_id,v_tag_name);
      end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getevent_subscriberBysubscriber_id(v_subscriber_id UUID)
RETURNS SETOF event_subscriber STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM event_subscriber
   WHERE subscriber_id = v_subscriber_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromevent_audit_log_subscriber()
RETURNS SETOF event_audit_log_subscriber_view STABLE
   AS $procedure$
   DECLARE
   v_last  BIGINT;
BEGIN
      -- begin tran


			-- get last event
			select   audit_log_id INTO v_last from audit_log    order by audit_log_id desc LIMIT 1;
			-- mark processed events
      update audit_log set processed = TRUE where audit_log_id <= v_last;
			-- get from view all events with id <= @last
      RETURN QUERY SELECT *
      from event_audit_log_subscriber_view  event_audit_log_subscriber_view
      where audit_log_id <= v_last;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Deleteevent_subscriber(v_event_up_name VARCHAR(100) ,
	v_method_id INTEGER ,
	v_subscriber_id UUID,
    v_tag_name VARCHAR(50))
RETURNS VOID
   AS $procedure$
BEGIN
      if (v_tag_name IS NULL) then
         delete from event_subscriber
         where event_up_name = v_event_up_name
         and method_id = v_method_id
         and subscriber_id = v_subscriber_id;
      else
         delete from event_subscriber
         where event_up_name = v_event_up_name
         and method_id = v_method_id
         and subscriber_id = v_subscriber_id
         and tag_name = v_tag_name;
      end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Updateevent_subscriber(v_event_up_name VARCHAR(100) ,
	v_old_method_id INTEGER ,
	v_new_method_id INTEGER ,
	v_subscriber_id UUID)
RETURNS VOID
   AS $procedure$
BEGIN
      update event_subscriber set method_id = v_new_method_id
      where event_up_name = v_event_up_name
      and method_id = v_old_method_id
      and subscriber_id = v_subscriber_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetEventNotificationMethodById(v_method_id INTEGER)
RETURNS SETOF event_notification_methods STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT *
      from event_notification_methods
      where method_id = v_method_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetEventMapByName(v_event_name VARCHAR(100))
RETURNS SETOF event_map STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT *
      from event_map
      where event_up_name = v_event_name;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromevent_audit_log_subscriber_only() RETURNS SETOF event_audit_log_subscriber_view STABLE
   AS $procedure$
   DECLARE
   v_last  BIGINT;
BEGIN
        -- get last event
        select   audit_log_id INTO v_last from audit_log order by audit_log_id desc LIMIT 1;
        -- get from view all events with id <= @last
        RETURN QUERY select *
                   from event_audit_log_subscriber_view  where audit_log_id <= v_last;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Deleteevent_notification_hist(v_sent_at TIMESTAMP)
RETURNS VOID
   AS $procedure$
BEGIN
      DELETE FROM event_notification_hist WHERE sent_at < v_sent_at;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
/* ----------------------------------------------------------------
 Stored procedures for database operations on Gluster Hooks
 related tables:
      - gluster_hooks
      - gluster_server_hooks
----------------------------------------------------------------*/
Create or replace FUNCTION InsertGlusterHook(v_id UUID,
                                             v_cluster_id UUID,
                                             v_gluster_command VARCHAR(128),
                                             v_stage VARCHAR(50),
                                             v_name VARCHAR(256),
                                             v_hook_status VARCHAR(50),
                                             v_content_type VARCHAR(50),
                                             v_checksum VARCHAR(256),
                                             v_content TEXT,
                                             v_conflict_status INTEGER)
RETURNS VOID
AS $procedure$
BEGIN
    INSERT INTO gluster_hooks(id, cluster_id, gluster_command, stage, name, hook_status,
    content_type, checksum, content, conflict_status)
    VALUES (v_id, v_cluster_id, v_gluster_command, v_stage, v_name,v_hook_status,
    v_content_type, v_checksum, v_content, v_conflict_status);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetGlusterHookById(v_id UUID,
                                              v_includeContent BOOLEAN=false)
RETURNS SETOF gluster_hooks STABLE
AS $procedure$
BEGIN
    RETURN QUERY SELECT id, cluster_id, gluster_command, stage, name,
    hook_status, content_type, checksum,
    CASE v_includeContent WHEN true THEN content
                          ELSE null::text
    END as content,
    conflict_status,
    _create_date, _update_date
    FROM  gluster_hooks
    WHERE id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetGlusterHookContentById(v_id UUID)
RETURNS SETOF text STABLE
AS $procedure$
BEGIN
    RETURN QUERY SELECT content
    FROM  gluster_hooks
    WHERE id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetGlusterHooksByClusterId(v_cluster_id UUID)
RETURNS SETOF gluster_hooks STABLE
AS $procedure$
BEGIN
    RETURN QUERY SELECT id, cluster_id, gluster_command, stage, name,
    hook_status, content_type, checksum, null::text as content, conflict_status,
    _create_date, _update_date
    FROM  gluster_hooks
    WHERE cluster_id = v_cluster_id order by gluster_command asc, stage asc;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetGlusterServerHooksById(v_id UUID)
RETURNS SETOF gluster_server_hooks_view STABLE
AS $procedure$
BEGIN
    RETURN QUERY SELECT *
    FROM  gluster_server_hooks_view
    WHERE hook_id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetGlusterHook(v_cluster_id UUID,
                                          v_gluster_command VARCHAR(1000),
                                          v_stage VARCHAR(100),
                                          v_name VARCHAR(1000),
                                          v_includeContent BOOLEAN=false)
RETURNS SETOF gluster_hooks STABLE
AS $procedure$
BEGIN
    RETURN QUERY SELECT id, cluster_id, gluster_command, stage, name,
    hook_status, content_type, checksum,
    CASE v_includeContent WHEN true THEN content
                          ELSE null::text
    END as content,
    conflict_status,
    _create_date, _update_date
    FROM  gluster_hooks
    WHERE cluster_id = v_cluster_id AND gluster_command = v_gluster_command
    AND stage = v_stage AND name = v_name;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteGlusterHookById(v_id UUID)
RETURNS VOID
AS $procedure$
BEGIN
    DELETE FROM gluster_hooks
    WHERE id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteGlusterHook(v_cluster_id UUID,
                                             v_gluster_command VARCHAR(1000),
                                             v_stage VARCHAR(100),
                                             v_name VARCHAR(1000))
RETURNS VOID
AS $procedure$
BEGIN
    DELETE FROM gluster_hooks
    WHERE cluster_id = v_cluster_id AND gluster_command = v_gluster_command
    AND stage = v_stage AND name = v_name;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteAllGlusterHooks(v_cluster_id UUID)
RETURNS VOID
AS $procedure$
BEGIN
    DELETE FROM gluster_hooks
    WHERE cluster_id = v_cluster_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteGlusterHooksByIds(v_ids TEXT)
RETURNS VOID
AS $procedure$
BEGIN
    DELETE FROM gluster_hooks
    WHERE id in (select * from fnSplitterUuid(v_ids));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateGlusterHookConflictStatus(v_id UUID,
                                                           v_conflict_status INTEGER)
RETURNS VOID
AS $procedure$
BEGIN
    UPDATE gluster_hooks
    SET conflict_status = v_conflict_status,
        _update_date = LOCALTIMESTAMP
    WHERE id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateGlusterHookContentType(v_id UUID,
                                                        v_content_type VARCHAR(100))
RETURNS VOID
AS $procedure$
BEGIN
    UPDATE gluster_hooks
    SET content_type = v_content_type,
        _update_date = LOCALTIMESTAMP
    WHERE id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateGlusterHookContent(v_id UUID,
                                                    v_checksum VARCHAR(256),
                                                    v_content text)
RETURNS VOID
AS $procedure$
BEGIN
    UPDATE gluster_hooks
    SET checksum = v_checksum,
        content = v_content,
        _update_date = LOCALTIMESTAMP
    WHERE id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateGlusterHook(v_id UUID,
                                             v_hook_status VARCHAR(50),
                                             v_content_type VARCHAR(50),
                                             v_checksum VARCHAR(256),
                                             v_content TEXT,
                                             v_conflict_status INTEGER)
RETURNS VOID
AS $procedure$
BEGIN
    UPDATE gluster_hooks
    SET hook_status = v_hook_status,
        content_type = v_content_type,
        checksum = v_checksum,
        content = v_content,
        conflict_status = v_conflict_status,
        _update_date = LOCALTIMESTAMP
    WHERE id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateGlusterHookStatus(v_id UUID,
                                                   v_hook_status VARCHAR(50))
RETURNS VOID
AS $procedure$
BEGIN
    UPDATE gluster_hooks
    SET hook_status = v_hook_status,
        _update_date = LOCALTIMESTAMP
    WHERE id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertGlusterServerHook(v_hook_id UUID,
                                                   v_server_id UUID,
                                                   v_hook_status VARCHAR(50),
                                                   v_content_type VARCHAR(50),
                                                   v_checksum VARCHAR(256))
RETURNS VOID
AS $procedure$
BEGIN
    INSERT INTO gluster_server_hooks(hook_id, server_id, hook_status, content_type, checksum)
    VALUES(v_hook_id, v_server_id, v_hook_status, v_content_type, v_checksum);
    UPDATE gluster_hooks
    SET _update_date = LOCALTIMESTAMP
    WHERE id = v_hook_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetGlusterServerHook(v_hook_id UUID,
                                                v_server_id UUID)
RETURNS SETOF gluster_server_hooks_view STABLE
AS $procedure$
BEGIN
    RETURN QUERY SELECT *
    FROM  gluster_server_hooks_view
    WHERE hook_id = v_hook_id AND server_id = v_server_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateGlusterServerHook(v_hook_id UUID,
                                                   v_server_id UUID,
                                                   v_hook_status VARCHAR(50),
                                                   v_content_type VARCHAR(50),
                                                   v_checksum VARCHAR(256))
RETURNS VOID
AS $procedure$
BEGIN
    UPDATE gluster_server_hooks
    SET hook_status = v_hook_status,
        content_type = v_content_type,
        checksum = v_checksum,
        _update_date = LOCALTIMESTAMP
    WHERE hook_id = v_hook_id AND server_id = v_server_id;
    UPDATE gluster_hooks
    SET _update_date = LOCALTIMESTAMP
    WHERE id = v_hook_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateGlusterServerHookStatus(v_hook_id UUID,
                                                         v_server_id UUID,
                                                         v_hook_status VARCHAR(100))
RETURNS VOID
AS $procedure$
BEGIN
    UPDATE gluster_server_hooks
    SET hook_status = v_hook_status,
        _update_date = LOCALTIMESTAMP
    WHERE hook_id = v_hook_id AND server_id = v_server_id;
    UPDATE gluster_hooks
    SET _update_date = LOCALTIMESTAMP
    WHERE id = v_hook_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateGlusterServerHookChecksum(v_hook_id UUID,
                                                           v_server_id UUID,
                                                           v_checksum VARCHAR(100))
RETURNS VOID
AS $procedure$
BEGIN
    UPDATE gluster_server_hooks
    SET checksum = v_checksum,
        _update_date = LOCALTIMESTAMP
    WHERE hook_id = v_hook_id AND server_id = v_server_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteGlusterServerHookById(v_hook_id UUID)
RETURNS VOID
AS $procedure$
BEGIN
    DELETE FROM gluster_server_hooks
    WHERE hook_id = v_hook_id;
    UPDATE gluster_hooks
    SET _update_date = LOCALTIMESTAMP
    WHERE id = v_hook_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteGlusterServerHooksByIds(v_ids TEXT)
RETURNS VOID
AS $procedure$
BEGIN
    DELETE FROM gluster_server_hooks
    WHERE hook_id in (select * from fnSplitterUuid(v_ids));
    UPDATE gluster_hooks
    SET _update_date = LOCALTIMESTAMP
    WHERE id in (select * from fnSplitterUuid(v_ids));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteGlusterServerHook(v_hook_id UUID,
                                                   v_server_id UUID)
RETURNS VOID
AS $procedure$
BEGIN
    DELETE FROM gluster_server_hooks
    WHERE hook_id = v_hook_id AND server_id = v_server_id;
    UPDATE gluster_hooks
    SET _update_date = LOCALTIMESTAMP
    WHERE id = v_hook_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
/*--------------------------------------------------------------
Stored procedures for database operations on gluster_server table
--------------------------------------------------------------*/
Create or replace FUNCTION InsertGlusterServer(v_server_id UUID,
                                            v_gluster_server_uuid UUID)
RETURNS VOID
AS $procedure$
BEGIN
    INSERT INTO gluster_server(server_id, gluster_server_uuid)
    VALUES (v_server_id, v_gluster_server_uuid);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetGlusterServerByServerId(v_server_id UUID)
RETURNS SETOF gluster_server STABLE
AS $procedure$
BEGIN
    RETURN QUERY SELECT server_id, gluster_server_uuid
    FROM gluster_server
    WHERE server_id = v_server_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetGlusterServerByGlusterServerUUID(v_gluster_server_uuid UUID)
RETURNS SETOF gluster_server STABLE
AS $procedure$
BEGIN
    RETURN QUERY SELECT server_id, gluster_server_uuid
    FROM gluster_server
    WHERE gluster_server_uuid = v_gluster_server_uuid;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteGlusterServer(v_server_id UUID)
RETURNS VOID
AS $procedure$
BEGIN
    DELETE FROM gluster_server
    WHERE server_id = v_server_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteGlusterServerByGlusterServerUUID(v_gluster_server_uuid UUID)
RETURNS VOID
AS $procedure$
BEGIN
    DELETE FROM gluster_server
    WHERE gluster_server_uuid = v_gluster_server_uuid;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateGlusterServer(v_server_id UUID,
                                            v_gluster_server_uuid UUID)
RETURNS VOID
AS $procedure$
BEGIN
    UPDATE gluster_server
    SET gluster_server_uuid = v_gluster_server_uuid
    WHERE server_id = v_server_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
/* ----------------------------------------------------------------
 Stored procedures for database operations on Services
 related tables:
      - gluster_service_types
      - gluster_services
      - gluster_cluster_services
      - gluster_server_services
----------------------------------------------------------------*/

Create or replace FUNCTION GetGlusterServiceTypes()
    RETURNS SETOF gluster_service_types STABLE
    AS $procedure$
BEGIN
    RETURN  QUERY SELECT *
    FROM    gluster_service_types;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetGlusterServicesByType(v_service_type VARCHAR(100))
    RETURNS SETOF gluster_services STABLE
    AS $procedure$
BEGIN
    RETURN  QUERY SELECT *
    FROM    gluster_services
    WHERE   service_type = v_service_type;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetGlusterClusterServicesByClusterId(v_cluster_id UUID)
    RETURNS SETOF gluster_cluster_services STABLE
    AS $procedure$
BEGIN
    RETURN  QUERY SELECT *
    FROM    gluster_cluster_services
    WHERE   cluster_id = v_cluster_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetGlusterClusterServicesByClusterIdAndServiceType(v_cluster_id UUID,
                                                                v_service_type VARCHAR(100))
    RETURNS SETOF gluster_cluster_services STABLE
    AS $procedure$
BEGIN
    RETURN  QUERY SELECT *
    FROM    gluster_cluster_services
    WHERE   cluster_id = v_cluster_id
    AND     service_type = v_service_type;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetGlusterServerServicesByServerId(v_server_id UUID)
    RETURNS SETOF gluster_server_services_view STABLE
    AS $procedure$
BEGIN
    RETURN  QUERY SELECT *
    FROM    gluster_server_services_view
    WHERE   server_id = v_server_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetGlusterServerServicesByClusterId(v_cluster_id UUID)
    RETURNS SETOF gluster_server_services_view STABLE
    AS $procedure$
BEGIN
    RETURN  QUERY SELECT s.*
    FROM    gluster_server_services_view s, vds_static v
    WHERE   s.server_id = v.vds_id
    AND     v.vds_group_id = v_cluster_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetGlusterServerServicesByClusterIdAndServiceType(v_cluster_id UUID, v_service_type VARCHAR(100))
    RETURNS SETOF gluster_server_services_view STABLE
    AS $procedure$
BEGIN
    RETURN  QUERY SELECT s.*
    FROM    gluster_server_services_view s, vds_static v
    WHERE   s.server_id = v.vds_id
    AND     v.vds_group_id = v_cluster_id
    AND     s.service_type = v_service_type;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetGlusterServerServicesByServerIdAndServiceType(v_server_id UUID, v_service_type VARCHAR(100))
    RETURNS SETOF gluster_server_services_view STABLE
    AS $procedure$
BEGIN
    RETURN  QUERY SELECT *
    FROM    gluster_server_services_view
    WHERE   server_id = v_server_id
    AND     service_type = v_service_type;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetGlusterServiceByGlusterServiceId(v_id UUID)
RETURNS SETOF gluster_services STABLE
AS $procedure$
BEGIN
    RETURN  QUERY SELECT *
    FROM    gluster_services
    WHERE   id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetGlusterServerServiceByGlusterServerServiceId(v_id UUID)
RETURNS SETOF gluster_server_services_view STABLE
AS $procedure$
BEGIN
    RETURN  QUERY SELECT *
    FROM    gluster_server_services_view
    WHERE   id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromGlusterServerServices()
RETURNS SETOF gluster_server_services_view STABLE
AS $procedure$
BEGIN
    RETURN  QUERY SELECT *
    FROM    gluster_server_services_view;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetGlusterServiceByTypeAndName(v_service_type VARCHAR(100),
                                                        v_service_name VARCHAR(100))
RETURNS SETOF gluster_services STABLE
AS $procedure$
BEGIN
    RETURN  QUERY SELECT *
    FROM    gluster_services
    WHERE   service_type = v_service_type
    AND     service_name = v_service_name;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromGlusterServices()
RETURNS SETOF gluster_services STABLE
AS $procedure$
BEGIN
    RETURN QUERY SELECT * FROM gluster_services;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertGlusterClusterService(v_cluster_id UUID,
                                                v_service_type VARCHAR(100),
                                                v_status VARCHAR(32))
RETURNS VOID
AS $procedure$
BEGIN
    INSERT INTO gluster_cluster_services(cluster_id, service_type, status)
    VALUES (v_cluster_id, v_service_type, v_status);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertGlusterServerService(v_id UUID,
                                                v_server_id UUID,
                                                v_service_id UUID,
                                                v_pid INTEGER,
                                                v_status VARCHAR(32),
                                                v_message VARCHAR(1000))
RETURNS VOID
AS $procedure$
BEGIN
    INSERT INTO gluster_server_services(id, server_id, service_id, pid, status, message)
    VALUES (v_id, v_server_id, v_service_id, v_pid, v_status, v_message);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateGlusterClusterService(v_cluster_id UUID,
                                                    v_service_type VARCHAR(100),
                                                    v_status VARCHAR(32))
RETURNS VOID
AS $procedure$
BEGIN
    UPDATE  gluster_cluster_services
    SET     status = v_status,
            _update_date = LOCALTIMESTAMP
    WHERE   cluster_id = v_cluster_id
    AND     service_type = v_service_type;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateGlusterServerService(v_id UUID,
                                                v_pid INTEGER,
                                                v_status VARCHAR(32),
                                                v_message VARCHAR(1000))
RETURNS VOID
AS $procedure$
BEGIN
    UPDATE  gluster_server_services
    SET     pid = v_pid,
            status = v_status,
            message = v_message,
            _update_date = LOCALTIMESTAMP
    WHERE   id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateGlusterServerServiceByServerIdAndServiceType(v_server_id UUID,
                                                v_service_id UUID,
                                                v_pid INTEGER,
                                                v_status VARCHAR(32),
                                                v_message VARCHAR(1000))
RETURNS VOID
AS $procedure$
BEGIN
    UPDATE  gluster_server_services
    SET     pid = v_pid,
            status = v_status,
            message = v_message,
            _update_date = LOCALTIMESTAMP
    WHERE   server_id = v_server_id
    AND     service_id = v_service_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteGlusterServerService(v_id UUID)
RETURNS VOID
AS $procedure$
BEGIN
    DELETE FROM gluster_server_services
    WHERE   id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
/* ----------------------------------------------------------------
 Stored procedures for database operations on Gluster Volume
 related tables:
      - gluster_volumes
      - gluster_volume_bricks
      - gluster_volume_options
      - gluster_volume_access_protocols
      - gluster_volume_transport_types
----------------------------------------------------------------*/
Create or replace FUNCTION InsertGlusterVolume(v_id UUID, v_cluster_id UUID,
                                                v_vol_name VARCHAR(1000),
                                                v_vol_type VARCHAR(32),
                                                v_status VARCHAR(32),
                                                v_replica_count INTEGER,
                                                v_stripe_count INTEGER)
    RETURNS VOID
    AS $procedure$
BEGIN
    INSERT INTO gluster_volumes (id, cluster_id, vol_name, vol_type,
        status, replica_count, stripe_count)
    VALUES (v_id,  v_cluster_id, v_vol_name, v_vol_type,
        v_status, v_replica_count,  v_stripe_count);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertGlusterVolumeBrick(v_id UUID, v_volume_id UUID,
                                                    v_server_id UUID,
                                                    v_brick_dir VARCHAR(4096),
                                                    v_brick_order INTEGER,
                                                    v_status VARCHAR(32))
    RETURNS VOID
    AS $procedure$
BEGIN
    INSERT INTO gluster_volume_bricks (id, volume_id, server_id, brick_dir, brick_order, status)
    VALUES (v_id, v_volume_id, v_server_id, v_brick_dir, v_brick_order, v_status);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertGlusterVolumeOption(v_id UUID, v_volume_id UUID,
                                                    v_option_key VARCHAR(8192),
                                                    v_option_val VARCHAR(8192))
    RETURNS VOID
    AS $procedure$
BEGIN
    INSERT INTO gluster_volume_options (id, volume_id, option_key, option_val)
    VALUES (v_id, v_volume_id, v_option_key, v_option_val);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertGlusterVolumeAccessProtocol(v_volume_id UUID,
                                                    v_access_protocol VARCHAR(32))
    RETURNS VOID
    AS $procedure$
BEGIN
    INSERT INTO gluster_volume_access_protocols (volume_id, access_protocol)
    VALUES (v_volume_id, v_access_protocol);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertGlusterVolumeTransportType(v_volume_id UUID,
                                                    v_transport_type VARCHAR(32))
    RETURNS VOID
    AS $procedure$
BEGIN
    INSERT INTO gluster_volume_transport_types (volume_id, transport_type)
    VALUES (v_volume_id, v_transport_type);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetGlusterVolumesByClusterGuid(v_cluster_id UUID)
    RETURNS SETOF gluster_volumes_view STABLE
    AS $procedure$
BEGIN
    RETURN QUERY SELECT *
    FROM  gluster_volumes_view
    WHERE cluster_id = v_cluster_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetGlusterVolumesByOption(v_cluster_id UUID,
                                                       v_status VARCHAR(32),
                                                       v_option_key VARCHAR(8192),
                                                       v_option_val VARCHAR(8192))
RETURNS SETOF gluster_volumes_view STABLE
AS $procedure$
BEGIN
    RETURN QUERY SELECT *
    FROM  gluster_volumes_view
    WHERE cluster_id = v_cluster_id AND status = v_status
    AND id IN (SELECT volume_id FROM gluster_volume_options
    WHERE option_key=v_option_key AND option_val=v_option_val);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetGlusterVolumesByStatusTypesAndOption(v_cluster_id UUID,
                                                                  v_status VARCHAR(32),
                                                                  v_vol_types text,
                                                                  v_option_key VARCHAR(8192),
                                                                  v_option_val VARCHAR(8192))
RETURNS SETOF gluster_volumes_view STABLE
AS $procedure$
BEGIN
    RETURN QUERY SELECT *
    FROM  gluster_volumes_view
    WHERE cluster_id = v_cluster_id AND status = v_status
    AND vol_type IN (SELECT ID FROM fnSplitter(v_vol_types))
    AND id IN (SELECT volume_id FROM gluster_volume_options
    WHERE option_key=v_option_key AND option_val=v_option_val);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetGlusterVolumesByStatusAndTypes(v_cluster_id UUID,
                                                         v_status VARCHAR(32),
                                                         v_vol_types text)
RETURNS SETOF gluster_volumes_view STABLE
AS $procedure$
BEGIN
    RETURN QUERY SELECT *
    FROM  gluster_volumes_view
    WHERE cluster_id = v_cluster_id AND status = v_status
    AND vol_type IN (SELECT ID FROM fnSplitter(v_vol_types));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetGlusterVolumeById(v_volume_id UUID)
    RETURNS SETOF gluster_volumes_view STABLE
    AS $procedure$
BEGIN
    RETURN QUERY SELECT *
    FROM gluster_volumes_view
    WHERE id = v_volume_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetGlusterVolumeByName(v_cluster_id UUID,
                                            v_vol_name VARCHAR(1000))
RETURNS SETOF gluster_volumes_view STABLE
    AS $procedure$
BEGIN
    RETURN QUERY SELECT *
    FROM gluster_volumes_view
    WHERE cluster_id = v_cluster_id and vol_name = v_vol_name;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetGlusterVolumeByGlusterTaskId(v_task_id UUID)
RETURNS SETOF gluster_volumes_view STABLE
    AS $procedure$
BEGIN
    RETURN QUERY SELECT *
    FROM gluster_volumes_view
    WHERE task_id = v_task_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetGlusterBrickById(v_id UUID)
    RETURNS SETOF gluster_volume_bricks_view STABLE
    AS $procedure$
BEGIN
    RETURN QUERY SELECT *
    FROM gluster_volume_bricks_view
    WHERE id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetBricksByGlusterVolumeGuid(v_volume_id UUID)
    RETURNS SETOF gluster_volume_bricks_view STABLE
    AS $procedure$
BEGIN
    RETURN QUERY SELECT *
    FROM  gluster_volume_bricks_view
    WHERE volume_id = v_volume_id
    ORDER BY brick_order;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetGlusterVolumeBricksByServerGuid(v_server_id UUID)
RETURNS SETOF gluster_volume_bricks_view STABLE
AS $procedure$
BEGIN
RETURN QUERY SELECT *
FROM  gluster_volume_bricks_view
WHERE server_id = v_server_id
ORDER BY brick_order;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetBrickByServerIdAndDirectory(v_server_id UUID, v_brick_dir VARCHAR(4096))
    RETURNS SETOF gluster_volume_bricks_view STABLE
    AS $procedure$
BEGIN
    RETURN QUERY SELECT *
    FROM  gluster_volume_bricks_view
    WHERE server_id = v_server_id
    AND brick_dir = v_brick_dir;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetBricksByTaskId(v_task_id UUID)
RETURNS SETOF gluster_volume_bricks_view STABLE
AS $procedure$
BEGIN
RETURN QUERY SELECT *
FROM  gluster_volume_bricks_view
WHERE task_id = v_task_id
ORDER BY brick_order;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetGlusterOptionById(v_id UUID)
    RETURNS SETOF gluster_volume_options STABLE
    AS $procedure$
BEGIN
    RETURN QUERY SELECT *
    FROM gluster_volume_options
    WHERE id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetOptionsByGlusterVolumeGuid(v_volume_id UUID)
    RETURNS SETOF gluster_volume_options STABLE
    AS $procedure$
BEGIN
    RETURN QUERY SELECT *
    FROM  gluster_volume_options
    WHERE volume_id = v_volume_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAccessProtocolsByGlusterVolumeGuid(v_volume_id UUID)
    RETURNS SETOF gluster_volume_access_protocols STABLE
       AS $procedure$
BEGIN
       RETURN QUERY SELECT *
       FROM  gluster_volume_access_protocols
       WHERE volume_id = v_volume_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetGlusterTaskByGlusterVolumeGuid(v_volume_id UUID)
    RETURNS SETOF gluster_volume_task_steps STABLE
       AS $procedure$
BEGIN
       RETURN QUERY SELECT *
       FROM  gluster_volume_task_steps
       WHERE volume_id = v_volume_id
       ORDER BY job_start_time desc LIMIT 1;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetTransportTypesByGlusterVolumeGuid(v_volume_id UUID)
    RETURNS SETOF gluster_volume_transport_types STABLE
       AS $procedure$
BEGIN
       RETURN QUERY SELECT *
       FROM  gluster_volume_transport_types
       WHERE volume_id = v_volume_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteGlusterVolumeByGuid(v_volume_id UUID)
    RETURNS VOID
    AS $procedure$
BEGIN
    DELETE FROM gluster_volumes
    WHERE id = v_volume_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteGlusterVolumesByGuids(v_volume_ids VARCHAR(5000))
    RETURNS VOID
    AS $procedure$
BEGIN
    DELETE FROM gluster_volumes
    WHERE id in (select * from fnSplitterUuid(v_volume_ids));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteGlusterVolumeByName(v_cluster_id UUID,
                                                    v_vol_name VARCHAR(1000))
    RETURNS VOID
    AS $procedure$
BEGIN
    DELETE FROM gluster_volumes
    WHERE cluster_id = v_cluster_id
    AND   vol_name = v_vol_name;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteGlusterVolumesByClusterId(v_cluster_id UUID)
    RETURNS VOID
    AS $procedure$
BEGIN
DELETE FROM gluster_volumes
WHERE cluster_id = v_cluster_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteGlusterVolumeBrick(v_id UUID)
    RETURNS VOID
    AS $procedure$
BEGIN
    DELETE FROM gluster_volume_bricks
    WHERE id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteGlusterVolumeBricks(v_ids VARCHAR(5000))
    RETURNS VOID
    AS $procedure$
BEGIN
    DELETE FROM gluster_volume_bricks
    WHERE id in (select * from fnSplitterUuid(v_ids));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteGlusterVolumeOption(v_id UUID)
    RETURNS VOID
    AS $procedure$
BEGIN
    DELETE FROM gluster_volume_options
    WHERE id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteGlusterVolumeOptions(v_ids VARCHAR(5000))
    RETURNS VOID
    AS $procedure$
BEGIN
    DELETE FROM gluster_volume_options
    WHERE id in (select * from fnSplitterUuid(v_ids));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteGlusterVolumeAccessProtocol(v_volume_id UUID,
                                                    v_access_protocol VARCHAR(32))
    RETURNS VOID
    AS $procedure$
BEGIN
    DELETE FROM gluster_volume_access_protocols
    WHERE volume_id = v_volume_id
    AND   access_protocol = v_access_protocol;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteGlusterVolumeTransportType(v_volume_id UUID,
                                                    v_transport_type VARCHAR(32))
    RETURNS VOID
    AS $procedure$
BEGIN
    DELETE FROM gluster_volume_transport_types
    WHERE volume_id = v_volume_id
    AND   transport_type = v_transport_type;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateGlusterVolume(v_id UUID,
                                                v_cluster_id UUID,
                                                v_vol_name VARCHAR(1000),
                                                v_vol_type VARCHAR(32),
                                                v_status VARCHAR(32),
                                                v_replica_count INTEGER,
                                                v_stripe_count INTEGER)
    RETURNS VOID
    AS $procedure$
BEGIN
    UPDATE gluster_volumes
    SET cluster_id = v_cluster_id,
        vol_name = v_vol_name,
        vol_type = v_vol_type,
        status = v_status,
        replica_count = v_replica_count,
        stripe_count = v_stripe_count,
        _update_date = LOCALTIMESTAMP
    WHERE id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateGlusterVolumeBrick(v_id UUID,
                                                    v_new_id UUID,
                                                    v_new_server_id UUID,
                                                    v_new_brick_dir VARCHAR(4096),
                                                    v_new_status VARCHAR(32))
    RETURNS VOID
    AS $procedure$
BEGIN
    UPDATE gluster_volume_bricks
    SET    id = v_new_id,
           server_id = v_new_server_id,
           brick_dir = v_new_brick_dir,
           status = v_new_status,
           _update_date = LOCALTIMESTAMP
    WHERE  id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateGlusterVolumeBrickStatus(v_id UUID,
                                                        v_status VARCHAR(32))
    RETURNS VOID
    AS $procedure$
BEGIN
    UPDATE  gluster_volume_bricks
    SET     status = v_status,
            _update_date = LOCALTIMESTAMP
    WHERE   id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateGlusterVolumeBrickOrder(v_id UUID, v_brick_order INTEGER)
    RETURNS VOID
    AS $procedure$
BEGIN
    UPDATE  gluster_volume_bricks
    SET     brick_order = v_brick_order,
            _update_date = LOCALTIMESTAMP
    WHERE   id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateGlusterVolumeStatus(v_volume_id UUID,
                                                    v_status VARCHAR(32))
    RETURNS VOID
    AS $procedure$
BEGIN
    UPDATE gluster_volumes
    SET
        status = v_status,
        _update_date = LOCALTIMESTAMP
    WHERE id = v_volume_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateGlusterVolumeAsyncTask(v_volume_id UUID,
                                                    v_task_id UUID)
    RETURNS VOID
    AS $procedure$
BEGIN
    UPDATE gluster_volumes
    SET
        task_id = v_task_id,
        _update_date = LOCALTIMESTAMP
    WHERE id = v_volume_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateGlusterVolumeBrickAsyncTask(v_id UUID, v_task_id UUID)
    RETURNS VOID
    AS $procedure$
BEGIN
    UPDATE  gluster_volume_bricks
    SET     task_id = v_task_id,
            _update_date = LOCALTIMESTAMP
    WHERE   id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateGlusterBrickTaskByServerIdBrickDir(v_server_id UUID,
                                                                    v_brick_dir VARCHAR(200),
                                                                    v_task_id UUID)
    RETURNS VOID
    AS $procedure$
BEGIN
    UPDATE  gluster_volume_bricks
    SET     task_id = v_task_id,
            _update_date = LOCALTIMESTAMP
    WHERE   server_id = v_server_id
    AND brick_dir = v_brick_dir;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateGlusterVolumeStatusByName(v_cluster_id UUID,
                                                    v_vol_name VARCHAR(1000),
                                                    v_status VARCHAR(32))
    RETURNS VOID
    AS $procedure$
BEGIN
    UPDATE gluster_volumes
    SET
        status = v_status,
        _update_date = LOCALTIMESTAMP
    WHERE cluster_id = v_cluster_id
    AND   vol_name = v_vol_name;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateGlusterVolumeOption(v_id UUID, v_option_val VARCHAR(8192))
    RETURNS VOID
    AS $procedure$
BEGIN
    UPDATE gluster_volume_options
    SET option_val = v_option_val
    WHERE id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateReplicaCount(v_volume_id UUID,
        v_replica_count INTEGER)
RETURNS VOID
AS $procedure$
BEGIN
UPDATE gluster_volumes
SET
replica_count = v_replica_count,
_update_date = LOCALTIMESTAMP
WHERE id = v_volume_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Insertimage_storage_domain_map(v_image_id UUID,
    v_storage_domain_id UUID,
    v_quota_id UUID)
RETURNS VOID
   AS $procedure$
BEGIN
INSERT INTO image_storage_domain_map(image_id, storage_domain_id, quota_id)
	VALUES(v_image_id, v_storage_domain_id, v_quota_id);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Deleteimage_storage_domain_map(v_image_id UUID,
	v_storage_domain_id UUID)
RETURNS VOID
   AS $procedure$
BEGIN

   DELETE FROM image_storage_domain_map
   WHERE image_id = v_image_id AND storage_domain_id = v_storage_domain_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Deleteimage_storage_domain_map_by_image_id(v_image_id UUID)
RETURNS VOID
   AS $procedure$
BEGIN

   DELETE FROM image_storage_domain_map
   WHERE image_id = v_image_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getimage_storage_domain_mapByimage_id(v_image_id UUID)
RETURNS SETOF image_storage_domain_map STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM image_storage_domain_map
   WHERE image_id = v_image_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getimage_storage_domain_mapBystorage_domain_id(v_storage_domain_id UUID) RETURNS SETOF image_storage_domain_map STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM image_storage_domain_map
   WHERE storage_domain_id = v_storage_domain_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateQuotaForImageAndSnapshots(v_disk_id UUID, v_storage_domain_id UUID, v_quota_id UUID)
RETURNS VOID
AS $procedure$
BEGIN
UPDATE image_storage_domain_map as isdm
    SET quota_id = v_quota_id
    FROM images as i
    WHERE i.image_group_id = v_disk_id AND i.image_guid = isdm.image_id AND storage_domain_id = v_storage_domain_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertImage(
    v_creation_date TIMESTAMP WITH TIME ZONE,
    v_image_guid UUID,
    v_it_guid UUID,
    v_size BIGINT,
    v_ParentId UUID,
    v_imageStatus INTEGER ,
    v_lastModified TIMESTAMP WITH TIME ZONE,
    v_vm_snapshot_id UUID ,
    v_volume_type INTEGER,
    v_volume_format INTEGER,
    v_image_group_id UUID ,
    v_active BOOLEAN)
RETURNS VOID
AS $procedure$
BEGIN
    INSERT INTO images(
        creation_date,
        image_guid,
        it_guid,
        size,
        ParentId,
        imageStatus,
        lastModified,
        vm_snapshot_id,
        volume_type,
        image_group_id,
        volume_format,
        active)
    VALUES(
        v_creation_date,
        v_image_guid,
        v_it_guid,
        v_size,
        v_ParentId,
        v_imageStatus,
        v_lastModified,
        v_vm_snapshot_id,
        v_volume_type,
        v_image_group_id,
        v_volume_format,
        v_active);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateImageStatus(
    v_image_id UUID,
    v_status INTEGER)
RETURNS VOID
AS $procedure$
BEGIN
    UPDATE images
    SET    imageStatus = v_status
    WHERE  image_guid = v_image_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateStatusOfImagesByImageGroupId(
    v_image_group_id UUID,
    v_status INTEGER)
RETURNS VOID
AS $procedure$
BEGIN
    UPDATE images
    SET    imageStatus = v_status
    WHERE  image_group_id = v_image_group_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateImageVmSnapshotId(
    v_image_id UUID,
    v_vm_snapshot_id UUID)
RETURNS VOID
AS $procedure$
BEGIN
    UPDATE images
    SET    vm_snapshot_id = v_vm_snapshot_id
    WHERE  image_guid = v_image_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateImageSize(
    v_image_id UUID,
    v_size BIGINT,
    v_lastModified TIMESTAMP WITH TIME ZONE)
RETURNS VOID
AS $procedure$
BEGIN
    UPDATE images
    SET    size = v_size,
           lastModified = v_lastModified
    WHERE  image_guid = v_image_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateImage(
    v_creation_date TIMESTAMP WITH TIME ZONE,
    v_image_guid UUID,
    v_it_guid UUID,
    v_size BIGINT,
    v_ParentId UUID,
    v_imageStatus INTEGER ,
    v_lastModified TIMESTAMP WITH TIME ZONE,
    v_vm_snapshot_id UUID ,
    v_volume_type INTEGER,
    v_volume_format INTEGER,
    v_image_group_id UUID ,
    v_active BOOLEAN)
RETURNS VOID
AS $procedure$
BEGIN
    UPDATE images
    SET    creation_date = v_creation_date,
           it_guid = v_it_guid,
           size = v_size,
           ParentId = v_ParentId,
           imageStatus = v_imageStatus,
           lastModified = v_lastModified,
           vm_snapshot_id = v_vm_snapshot_id,
           volume_type = v_volume_type,
           image_group_id = v_image_group_id,
           volume_format = v_volume_format,
           active = v_active,
           _update_date = LOCALTIMESTAMP
    WHERE  image_guid = v_image_guid;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteImage(v_image_guid UUID)
RETURNS VOID
AS $procedure$
DECLARE
    v_val  UUID;
BEGIN
    DELETE
    FROM   images
    WHERE  image_guid = v_image_guid;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromImages() RETURNS SETOF images STABLE
AS $procedure$
BEGIN
    RETURN QUERY
    SELECT *
    FROM   images;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetImageByImageId(v_image_guid UUID)
RETURNS SETOF images STABLE
AS $procedure$
BEGIN
    RETURN QUERY
    SELECT *
    FROM   images
    WHERE  image_guid = v_image_guid;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION inst_update_default_storage_pool_type(v_storage_pool_type INTEGER)
RETURNS VOID
   AS $procedure$
BEGIN
      if (v_storage_pool_type > 0 and v_storage_pool_type < 7) then
         UPDATE storage_pool
         SET storage_pool_type = v_storage_pool_type, _update_date = LOCALTIMESTAMP
         WHERE storage_pool.name = 'Default' and not exists
         (select 1 from storage_domains where storage_domains.storage_pool_name = 'Default');
      end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION inst_add_iso_storage_domain(v_storage_domain_id UUID, v_name VARCHAR(250), v_connection_id uuid, v_connection VARCHAR(250),v_available int, v_used int)
RETURNS VOID
   AS $procedure$
   DECLARE
BEGIN
    if not exists (select 1 from storage_server_connections where connection = v_connection) then
        -- Insert storage server connection info
        perform Insertstorage_server_connections(v_connection,cast(v_connection_id as varchar(250)),NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL);
        -- Insert storage domain static info
        perform Insertstorage_domain_static(v_storage_domain_id,cast(v_connection_id as varchar(250)),v_name,v_name,'',1,2,'0',0);
        -- Insert storage domain dynamic  info
        perform Insertstorage_domain_dynamic(v_available,v_storage_domain_id,v_used);
    end if;
    exception
        when others then
	    RAISE EXCEPTION 'NUM:%, DETAILS:%', SQLSTATE, SQLERRM;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION inst_update_service_type(v_cluster_id uuid, v_virt_service boolean,
                                                     v_gluster_service boolean)
returns void
AS $procedure$
begin
    update  vds_groups set virt_service = v_virt_service, gluster_service = v_gluster_service
    where vds_group_id = v_cluster_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertJob(
    v_job_id UUID,
    v_action_type VARCHAR(50),
    v_description TEXT,
    v_status VARCHAR(32),
    v_owner_id UUID,
    v_visible BOOLEAN,
    v_start_time TIMESTAMP WITH TIME ZONE,
    v_end_time TIMESTAMP WITH TIME ZONE,
    v_last_update_time TIMESTAMP WITH TIME ZONE,
    v_correlation_id VARCHAR(50),
    v_is_external boolean,
    v_is_auto_cleared boolean)
RETURNS VOID
AS $procedure$
BEGIN
    INSERT INTO job(
        job_id,
        action_type,
        description,
        status,
        owner_id,
        visible,
        start_time,
        end_time,
        last_update_time,
        correlation_id,
        is_external,
        is_auto_cleared)
    VALUES (
        v_job_id,
        v_action_type,
        v_description,
        v_status,
        v_owner_id,
        v_visible,
        v_start_time,
        v_end_time,
        v_last_update_time,
        v_correlation_id,
        v_is_external,
        v_is_auto_cleared);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetJobByJobId(v_job_id UUID)
RETURNS SETOF job STABLE
AS $procedure$
BEGIN
    RETURN QUERY SELECT job.*
    FROM JOB
    WHERE job_id = v_job_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllJobs()
RETURNS SETOF job STABLE
AS $procedure$
BEGIN
    RETURN QUERY SELECT job.*
    FROM JOB
    where status != 'UNKNOWN'
    order by start_time DESC;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetJobsByOffsetAndPageSize(v_position INTEGER, v_page_size INTEGER)
RETURNS SETOF job STABLE
AS $procedure$
BEGIN
    RETURN QUERY
    (SELECT job.*
    FROM JOB
    WHERE status = 'STARTED'
    ORDER BY last_update_time desc)
    UNION ALL
    (SELECT job.*
    FROM JOB
    WHERE status not in ('STARTED','UNKNOWN')
    ORDER BY last_update_time desc)
    OFFSET v_position LIMIT v_page_size;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetJobsByCorrelationId(v_correlation_id VARCHAR(50))
RETURNS SETOF job STABLE
AS $procedure$
BEGIN
    RETURN QUERY SELECT job.*
    FROM JOB
    WHERE correlation_id = v_correlation_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateJob(
    v_job_id UUID,
    v_action_type VARCHAR(50),
    v_description TEXT,
    v_status VARCHAR(32),
    v_owner_id UUID,
    v_visible BOOLEAN,
    v_start_time TIMESTAMP WITH TIME ZONE,
    v_end_time TIMESTAMP WITH TIME ZONE,
    v_last_update_time TIMESTAMP WITH TIME ZONE,
    v_correlation_id VARCHAR(50))
RETURNS VOID
AS $procedure$
BEGIN
    update job
    SET action_type = v_action_type,
        description = v_description,
        status = v_status,
        owner_id = v_owner_id,
        visible = v_visible,
        start_time = v_start_time,
        end_time = v_end_time,
        last_update_time = v_last_update_time,
        correlation_id = v_correlation_id
    WHERE job_id = v_job_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateJobLastUpdateTime(
    v_job_id UUID,
    v_last_update_time TIMESTAMP WITH TIME ZONE)
RETURNS VOID
AS $procedure$
BEGIN
    update job
    SET last_update_time = v_last_update_time
    WHERE job_id = v_job_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteJobOlderThanDateWithStatus(
    v_end_time TIMESTAMP WITH TIME ZONE,
    v_status TEXT)
RETURNS VOID
AS $procedure$
BEGIN
    DELETE FROM job
    WHERE is_auto_cleared
    AND end_time < v_end_time
    AND status = any (string_to_array(v_status,',')::VARCHAR[] );
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteJob(
    v_job_id UUID)
RETURNS VOID
AS $procedure$
BEGIN
    DELETE FROM job
    WHERE job_id = v_job_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertJobSubjectEntity(
    v_job_id UUID,
    v_entity_id UUID,
    v_entity_type VARCHAR(32))
RETURNS VOID
AS $procedure$
BEGIN
    INSERT INTO job_subject_entity(
        job_id,
        entity_id,
        entity_type)
    VALUES (
        v_job_id,
        v_entity_id,
        v_entity_type);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetJobSubjectEntityByJobId(v_job_id UUID)
RETURNS SETOF job_subject_entity STABLE
AS $procedure$
BEGIN
    RETURN QUERY SELECT job_subject_entity.*
    FROM job_subject_entity
    WHERE job_id = v_job_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllJobIdsByEntityId(
    v_entity_id UUID)
RETURNS SETOF UUID STABLE
AS $procedure$
BEGIN
    RETURN QUERY SELECT job_subject_entity.job_id
    FROM job_subject_entity
    WHERE entity_id = v_entity_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertStep(
    v_step_id UUID,
    v_parent_step_id UUID,
    v_job_id UUID,
    v_step_type VARCHAR(32),
    v_description TEXT,
    v_step_number INTEGER,
    v_status VARCHAR(32),
    v_start_time TIMESTAMP WITH TIME ZONE,
    v_end_time TIMESTAMP WITH TIME ZONE,
    v_correlation_id VARCHAR(50),
    v_external_id UUID,
    v_external_system_type VARCHAR(32),
    v_is_external boolean)
RETURNS VOID
AS $procedure$
BEGIN
    INSERT INTO step(
        step_id,
        parent_step_id,
        job_id,
        step_type,
        description,
        step_number,
        status,
        start_time,
        end_time,
        correlation_id,
        external_id,
        external_system_type,
        is_external)
    VALUES (
        v_step_id,
        v_parent_step_id,
        v_job_id,
        v_step_type,
        v_description,
        v_step_number,
        v_status,
        v_start_time,
        v_end_time,
        v_correlation_id,
        v_external_id,
        v_external_system_type,
        v_is_external);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateStep(
    v_step_id UUID,
    v_parent_step_id UUID,
    v_job_id UUID,
    v_step_type VARCHAR(32),
    v_description TEXT,
    v_step_number INTEGER,
    v_status VARCHAR(32),
    v_start_time TIMESTAMP WITH TIME ZONE,
    v_end_time TIMESTAMP WITH TIME ZONE,
    v_correlation_id VARCHAR(50),
    v_external_id UUID,
    v_external_system_type VARCHAR(32))
RETURNS VOID
AS $procedure$
BEGIN
    UPDATE step
    SET parent_step_id = v_parent_step_id,
        job_id = v_job_id,
        step_type = v_step_type,
        description = v_description,
        step_number = v_step_number,
        status = v_status,
        start_time = v_start_time,
        end_time = v_end_time,
        correlation_id = v_correlation_id,
        external_id = v_external_id,
        external_system_type = v_external_system_type
    WHERE step_id = v_step_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateStepStatusAndEndTime(
    v_step_id UUID,
    v_status VARCHAR(32),
    v_end_time TIMESTAMP WITH TIME ZONE)
RETURNS VOID
AS $procedure$
BEGIN
    UPDATE step
    SET status = v_status,
        end_time = v_end_time
    WHERE step_id = v_step_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateStepExternalIdAndType(
    v_step_id UUID,
    v_external_id UUID,
    v_external_system_type VARCHAR(32))
RETURNS VOID
AS $procedure$
BEGIN
    UPDATE step
    SET external_id = v_external_id,
        external_system_type = v_external_system_type
    WHERE step_id = v_step_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetStepByStepId(v_step_id UUID)
RETURNS SETOF step STABLE
AS $procedure$
BEGIN
    RETURN QUERY SELECT step.*
    FROM step
    WHERE step_id = v_step_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetStepsByJobId(v_job_id UUID)
RETURNS SETOF step STABLE
AS $procedure$
BEGIN
    RETURN QUERY SELECT step.*
    FROM step
    WHERE job_id = v_job_id
    ORDER BY parent_step_id nulls first, step_number;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetStepsByParentStepId(v_parent_step_id UUID)
RETURNS SETOF step STABLE
AS $procedure$
BEGIN
    RETURN QUERY SELECT step.*
    FROM step
    WHERE parent_step_id = v_parent_step_id
    ORDER BY step_number;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllSteps()
RETURNS SETOF step STABLE
AS $procedure$
BEGIN
    RETURN QUERY SELECT step.*
    FROM step;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteStep(
    v_step_id UUID)
RETURNS VOID
AS $procedure$
BEGIN
    DELETE FROM step
    WHERE step_id = v_step_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION updateJobStepsCompleted(
    v_job_id UUID,
    v_status VARCHAR(32),
    v_end_time TIMESTAMP WITH TIME ZONE
    )
RETURNS VOID
AS $procedure$
BEGIN
    UPDATE step
    SET status = v_status,
        end_time = v_end_time
    WHERE job_id = v_job_id
    AND   status = 'STARTED'
    AND   STATUS != v_status;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateStartedExecutionEntitiesToUnknown(
    v_end_time TIMESTAMP WITH TIME ZONE
    )
RETURNS VOID
AS $procedure$
BEGIN

update job
set status = 'UNKNOWN',
    end_time = v_end_time,
    last_update_time = v_end_time
where job.status = 'STARTED'
and job_id not in (select job_id
                   from step
                   where external_id is not null);

update step
set status = 'UNKNOWN',
    end_time = v_end_time
where status = 'STARTED'
and job_id not in (select step.job_id
                   from step step
                   where step.external_id is not null);

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteCompletedJobsOlderThanDate(
    v_succeeded_end_time TIMESTAMP WITH TIME ZONE,
    v_failed_end_time TIMESTAMP WITH TIME ZONE
    )
RETURNS VOID
AS $procedure$
BEGIN
    DELETE FROM job
    WHERE (is_auto_cleared
    AND ((end_time < v_succeeded_end_time
    AND    status = 'FINISHED')
    OR    (end_time < v_failed_end_time
    AND    status IN ('FAILED', 'ABORTED', 'UNKNOWN'))));
    DELETE FROM job
    WHERE job_id IN
        (SELECT job.job_id
        FROM job,step
        WHERE NOT job.is_external
            AND job.job_id = step.job_id
            AND step.step_id NOT IN
                (SELECT async_tasks.step_id
                FROM async_tasks, step
                WHERE async_tasks.step_id = step.step_id));

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION CheckIfJobHasTasks(
    v_job_id UUID)
RETURNS SETOF booleanResultType STABLE
AS $procedure$
BEGIN
    RETURN QUERY
    SELECT EXISTS(
        SELECT *
        FROM   step
        WHERE  job_id = v_job_id
        AND    external_id is not null
        AND    external_system_type in ('VDSM','GLUSTER'));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetStepsByExternalTaskId(v_external_id UUID)
RETURNS SETOF step STABLE
AS $procedure$
BEGIN
    RETURN QUERY SELECT step.*
    FROM step
    WHERE external_id = v_external_id
    ORDER BY parent_step_id nulls first, step_number;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetExternalIdsFromSteps(v_status VARCHAR(32),
                                                   v_external_system_type VARCHAR(32))
RETURNS SETOF UUID STABLE
AS $procedure$
BEGIN
    RETURN QUERY SELECT step.external_id
    FROM step
    INNER JOIN job ON step.job_id = job.job_id
    WHERE job.status = v_status
    AND step.external_system_type = v_external_system_type;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
/*
This file adds Snapshot Materialized Views support to Postgres.
A Snapshot Materialized View is actually a table built on top of
a real view that enables to select data from the Snapshot Materialized View
easily and efficiently.
Candidates for Snapshot Materialized Views are views that are based on
slowly-changing data. The Snapshot Materialized Views is actually
functioning as a cache.
The Snapshot Materialized View is refreshed per request.
The Snapshot Materialized View definitions are stored in the materialized_views table.

Flow:
1) Create the Materialized View by calling:
   CreateMaterializedView - if you are creating a new view
   CreateMaterializedViewAs - If you want to preserve the original view name
                              in this case the original view will be renamed
                              and the new Materialized View will have the original
                              view name.
   The following should be called for Custom Materialized Views
   CreateCustomMaterializedView
   CreateCustomMaterializedViewAs
2) If your Snapshot Materialized View is my_mt you should create Stored Procedures:
    MtDropmy_mtIndexes - Drops indexes on my_mt
    MtCreatemy_mtIndexes - Creates needed indexes on my_mt
    Those indexes should be defined in the "Snapshot Materialized Views Index Definitions Section"
    in post_upgrade/0020_create_materialized_views.sql file.

   Those SP are called automatically when a Snapshot Materialized View is refreshed
   to boost refresh performance.

3) You can call IsMaterializedViewRefreshed to check if it is time to refresh the view
   and if yes call RefreshMaterializedView manually.
   or
   You can define a cron job that calls RefreshAllMaterializedViews that loops over
   all  Snapshot Materialized Views and refreshes it automatically
   RefreshAllMaterializedViews recieves a boolean v_force flag, please set this flag to false
   when calling it from a cron job in order to update the materialized views only when needed.
   (This SP is called with v_force = true after create/upgrade DB)

There are also additional functions :
   CreateAllMaterializedViewsiIndexes - Creates indexes for all Snapshot Materialized views
   DropMaterializedView - Drops the Materialized View
   DropAllMaterializedViews - Drop all Materialized Views
   DropAllCustomMaterializedViews - Drop all custom Materialized Views
   UpdateMaterializedViewRefreshRate - Updates the Materialized View refresh rate
   UpdateMaterializedViewMinRefreshRate - Updates the Materialized View minimal refresh rate
   ActivateMaterializedView - activates/decativates a  Materialized View
   ActivateAllMaterializedViews - activates/decativates all Materialized Views

In addition, you can create a file named create_materialized_views.sql under dbscripts/upgrade/post_upgrade/custom/
This file may include other custom materialized views settings and is executed by the create/upgrade database scripts.

NOTE : Materialized Views are automatically refreshed upon create/upgrade
*/




CREATE OR REPLACE FUNCTION to_interval (sec INTEGER) RETURNS INTERVAL AS $$
BEGIN
  RETURN (sec || ' seconds')::INTERVAL;
END;
$$ LANGUAGE 'plpgsql' IMMUTABLE STRICT;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION CreateMaterializedView(v_matview NAME, v_view_name NAME, v_refresh_rate_in_sec INTEGER,
                                                  v_custom BOOLEAN, v_min_refresh_rate_in_sec INTEGER)
 RETURNS VOID
AS $procedure$
DECLARE
     v_entry materialized_views%ROWTYPE;
 BEGIN
     SELECT * INTO v_entry FROM materialized_views WHERE mv_name = v_matview;

     IF FOUND THEN
         RAISE EXCEPTION 'Materialized view % already exists.',
           v_matview;
     END IF;
     IF current_user != usename from pg_database , pg_user where datdba=usesysid and datname=current_database THEN
         RAISE EXCEPTION 'Materialized view % should be created with user ''engine''.',
           v_matview;
     END IF;

     EXECUTE 'REVOKE ALL ON ' || v_view_name || ' FROM PUBLIC';

     EXECUTE 'GRANT SELECT ON ' || v_view_name || ' TO PUBLIC';

     EXECUTE 'CREATE TABLE ' || v_matview || ' AS SELECT * FROM ' || v_view_name;

     EXECUTE 'REVOKE ALL ON ' || v_matview || ' FROM PUBLIC';

     EXECUTE 'GRANT SELECT ON ' || v_matview || ' TO PUBLIC';

     INSERT INTO materialized_views (mv_name, v_name, refresh_rate_in_sec, last_refresh, custom, min_refresh_rate_in_sec)
       VALUES (v_matview, v_view_name, v_refresh_rate_in_sec, CURRENT_TIMESTAMP, v_custom, v_min_refresh_rate_in_sec);

     RETURN;
 END; $procedure$
 LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION CreateMaterializedView(v_matview NAME, v_view_name NAME, v_refresh_rate_in_sec INTEGER,
                                                  v_min_refresh_rate_in_sec INTEGER)
 RETURNS VOID
AS $procedure$
 BEGIN
     PERFORM CreateMaterializedView(v_matview, v_view_name, v_refresh_rate_in_sec, false,  v_min_refresh_rate_in_sec);
     RETURN;
 END; $procedure$
 LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION CreateCustomMaterializedView(v_matview NAME, v_view_name NAME, v_refresh_rate_in_sec INTEGER,
                                                        v_min_refresh_rate_in_sec INTEGER)
 RETURNS VOID
AS $procedure$
 BEGIN
     PERFORM CreateMaterializedView(v_matview, v_view_name, v_refresh_rate_in_sec, true,  v_min_refresh_rate_in_sec);
     RETURN;
 END; $procedure$
 LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION CreateMaterializedView(v_matview NAME, v_view_name NAME, v_refresh_rate_in_sec INTEGER)
 RETURNS VOID
AS $procedure$
BEGIN
     PERFORM  CreateMaterializedView(v_matview, v_view_name, v_refresh_rate_in_sec, false, 0);
END; $procedure$
 LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION CreateCustomMaterializedView(v_matview NAME, v_view_name NAME, v_refresh_rate_in_sec INTEGER)
 RETURNS VOID
AS $procedure$
BEGIN
     PERFORM  CreateMaterializedView(v_matview, v_view_name, v_refresh_rate_in_sec, true, 0);
END; $procedure$
 LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION CreateMaterializedViewAs(v_view_name NAME, v_refresh_rate_in_sec INTEGER,
                                                    v_custom BOOLEAN, v_min_refesh_rate_in_sec INTEGER)
 RETURNS VOID
AS $procedure$
DECLARE
     v_entry materialized_views%ROWTYPE;
     v_renamed_view NAME;
 BEGIN
     IF FOUND THEN
         RAISE EXCEPTION 'Materialized view % already exists.',
           v_view_name;
     END IF;

     v_renamed_view := v_view_name || '_mt_base';
     EXECUTE  'ALTER VIEW ' ||  v_view_name || ' RENAME TO ' || v_renamed_view;
     perform CreateMaterializedView(v_view_name, v_renamed_view, v_refresh_rate_in_sec, v_custom, v_min_refesh_rate_in_sec);

     RETURN;
 END; $procedure$
 LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION CreateMaterializedViewAs(v_view_name NAME, v_refresh_rate_in_sec INTEGER,
                                                    v_min_refesh_rate_in_sec INTEGER)
 RETURNS VOID
AS $procedure$
 BEGIN
     PERFORM CreateMaterializedViewAs(v_view_name, v_refresh_rate_in_sec, false, v_min_refesh_rate_in_sec);
     RETURN;
 END; $procedure$
 LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION CreateCustomMaterializedViewAs(v_view_name NAME, v_refresh_rate_in_sec INTEGER,
                                                          v_min_refesh_rate_in_sec INTEGER)
 RETURNS VOID
AS $procedure$
 BEGIN
     PERFORM CreateMaterializedViewAs(v_view_name, v_refresh_rate_in_sec, true, v_min_refesh_rate_in_sec);
     RETURN;
 END; $procedure$
 LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION CreateMaterializedViewAs(v_view_name NAME, v_refresh_rate_in_sec INTEGER)
 RETURNS VOID
AS $procedure$
BEGIN
    PERFORM  CreateMaterializedViewAs(v_view_name, v_refresh_rate_in_sec, false, 0);
END; $procedure$
 LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION CreateCustomMaterializedViewAs(v_view_name NAME, v_refresh_rate_in_sec INTEGER)
 RETURNS VOID
AS $procedure$
BEGIN
    PERFORM  CreateMaterializedViewAs(v_view_name, v_refresh_rate_in_sec, true, 0);
END; $procedure$
 LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION DropMaterializedView(v_matview NAME)
 RETURNS VOID
AS $procedure$
DECLARE
     v_entry materialized_views%ROWTYPE;
 BEGIN

     SELECT * INTO v_entry FROM materialized_views WHERE mv_name = v_matview;

     IF NOT FOUND THEN
         RAISE EXCEPTION 'Materialized view % does not exist.', v_matview;
     END IF;

     EXECUTE 'DROP TABLE ' || v_matview || ' CASCADE';
     DELETE FROM materialized_views WHERE mv_name=v_matview;

     RETURN;
 END; $procedure$
 LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION DropAllMaterializedViews()
RETURNS void
AS $procedure$
DECLARE
    v_cur CURSOR FOR SELECT * FROM materialized_views;
    v_record materialized_views%ROWTYPE;
BEGIN
       OPEN v_cur;
       -- loop on all entries in materialized_views
       LOOP
           FETCH v_cur INTO v_record;
           EXIT WHEN NOT FOUND;
           perform DropMaterializedView(v_record.mv_name);
       END LOOP;
       CLOSE v_cur;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION DropAllCustomMaterializedViews()
RETURNS void
AS $procedure$
DECLARE
    v_cur CURSOR FOR SELECT * FROM materialized_views where custom;
    v_record materialized_views%ROWTYPE;
BEGIN
       OPEN v_cur;
       -- loop on all entries in materialized_views
       LOOP
           FETCH v_cur INTO v_record;
           EXIT WHEN NOT FOUND;
           perform DropMaterializedView(v_record.mv_name);
       END LOOP;
       CLOSE v_cur;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION IsMaterializedViewRefreshed(v_matview NAME)
 RETURNS boolean STABLE
AS $procedure$
DECLARE
     v_entry materialized_views%ROWTYPE;
     v_is_refreshed boolean;
 BEGIN
     SELECT * INTO v_entry FROM materialized_views WHERE mv_name = v_matview;
     IF NOT FOUND THEN
         RAISE EXCEPTION 'Materialized view % does not exist.', v_matview;
    END IF;

    -- check if materialized View should refresh
    v_is_refreshed := (((CURRENT_TIMESTAMP - to_interval(refresh_rate_in_sec)) <= last_refresh) and
                      ((CURRENT_TIMESTAMP - to_interval(min_refresh_rate_in_sec)) <= last_refresh)) or
                      not active from materialized_views
                       where mv_name = v_matview;
    RETURN v_is_refreshed;
 END; $procedure$
 LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION RefreshMaterializedView(v_matview NAME)
 RETURNS VOID
AS $procedure$
DECLARE
     v_entry materialized_views%ROWTYPE;
     v_drop_index_sp NAME;
     v_create_index_sp NAME;
     v_start_time TIMESTAMP WITH TIME ZONE;
     v_avg_cost_ms int;
 BEGIN
     SELECT * INTO v_entry FROM materialized_views WHERE mv_name = v_matview;
     IF NOT FOUND THEN
         RAISE EXCEPTION 'Materialized view % does not exist.', v_matview;
    END IF;

    -- get start time
    v_start_time:=CURRENT_TIMESTAMP;
    -- SP for Drop / create Index should follow naming convention Mt[Drop|Create]<v_matview>Indexes
    v_drop_index_sp := 'MtDrop' || v_matview || 'Indexes';
    v_create_index_sp := 'MtCreate' || v_matview || 'Indexes';

    IF NOT EXISTS (select 1 from information_schema.routines where routine_name ilike v_drop_index_sp) THEN
        v_drop_index_sp := NULL;
    END IF;

    IF NOT EXISTS (select 1 from information_schema.routines where routine_name ilike v_create_index_sp) THEN
        v_create_index_sp := NULL;
    END IF;

    -- Lock materialized_views table until refresh completes to prevent duplicate refreshes by other threads
    LOCK TABLE materialized_views;
    -- taking a lock on the snapshot materialized view until it refreshed
    EXECUTE 'LOCK TABLE ' || v_matview;
    -- drop indexes on the snapshot materialized view if exists
    IF (v_drop_index_sp IS NOT NULL) THEN
        EXECUTE 'select ' || v_drop_index_sp || '()';
    END IF;
    -- refresh the view
    EXECUTE 'TRUNCATE TABLE ' || v_matview;
    EXECUTE 'INSERT INTO ' || v_matview
        || ' SELECT * FROM ' || v_entry.v_name;
    -- restore  indexes on the snapshot materialized view if exists
    IF (v_create_index_sp IS NOT NULL) THEN
        EXECUTE 'select ' || v_create_index_sp || '()';
    END IF;
    -- update last refresh time and average cost in [ms]
    IF (v_entry.avg_cost_ms = 0) THEN
        v_avg_cost_ms:=EXTRACT(EPOCH FROM current_timestamp - v_start_time) * 1000;
    ELSE
        v_avg_cost_ms:=((EXTRACT(EPOCH FROM current_timestamp - v_start_time) * 1000) + v_entry.avg_cost_ms)/2;
    END IF;
    update materialized_views set last_refresh = CURRENT_TIMESTAMP,
                                  avg_cost_ms = v_avg_cost_ms
                              where  mv_name = v_matview;
    RETURN;
 END; $procedure$
 LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION RefreshAllMaterializedViews(v_force boolean)
RETURNS void
AS $procedure$
DECLARE
    v_cur CURSOR FOR SELECT * FROM materialized_views;
    v_record materialized_views%ROWTYPE;
BEGIN
       OPEN v_cur;
       -- loop on all entries in materialized_views and refresh only needed snapshots
       LOOP
           FETCH v_cur INTO v_record;
           EXIT WHEN NOT FOUND;
           IF ((v_force and v_record.min_refresh_rate_in_sec = 0) or not IsMaterializedViewRefreshed(v_record.mv_name)) THEN
              perform RefreshMaterializedView(v_record.mv_name);
           END IF;
       END LOOP;
       CLOSE v_cur;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION CreateAllMaterializedViewsiIndexes()
RETURNS void
AS $procedure$
DECLARE
    v_cur CURSOR FOR SELECT * FROM materialized_views;
    v_record materialized_views%ROWTYPE;
    v_create_index_sp NAME;
BEGIN
       OPEN v_cur;
       -- loop on all entries in materialized_views and create indexes(if defined)
       LOOP
           FETCH v_cur INTO v_record;
           EXIT WHEN NOT FOUND;
           v_create_index_sp := 'MtCreate' || v_record.mv_name || 'Indexes';
           -- Check if SP that creates the indexes exists
           IF NOT EXISTS (select 1 from information_schema.routines where routine_name ilike v_create_index_sp) THEN
               v_create_index_sp := NULL;
           END IF;
           IF (v_create_index_sp IS NOT NULL) THEN
               EXECUTE 'select ' || v_create_index_sp || '()';
           END IF;
       END LOOP;
       CLOSE v_cur;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION UpdateMaterializedViewRefreshRate(v_matview NAME, v_refresh_rate INTEGER)
 RETURNS VOID
AS $procedure$
DECLARE
     v_entry materialized_views%ROWTYPE;
 BEGIN
     SELECT * INTO v_entry FROM materialized_views WHERE mv_name = v_matview;
     IF NOT FOUND THEN
         RAISE EXCEPTION 'Materialized view % does not exist.', v_matview;
    END IF;

    update materialized_views set refresh_rate_in_sec = v_refresh_rate
    where  mv_name = v_matview;
    RETURN;
 END; $procedure$
 LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION UpdateMaterializedViewMinRefreshRate(v_matview NAME, v_min_refresh_rate INTEGER)
 RETURNS VOID
AS $procedure$
DECLARE
     v_entry materialized_views%ROWTYPE;
 BEGIN
     SELECT * INTO v_entry FROM materialized_views WHERE mv_name = v_matview;
     IF NOT FOUND THEN
         RAISE EXCEPTION 'Materialized view % does not exist.', v_matview;
    END IF;

    update materialized_views set min_refresh_rate_in_sec = v_min_refresh_rate
    where  mv_name = v_matview;
    RETURN;
 END; $procedure$
 LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION ActivateMaterializedView(v_matview NAME, v_active BOOLEAN)
 RETURNS VOID
AS $procedure$
DECLARE
     v_entry materialized_views%ROWTYPE;
 BEGIN
     SELECT * INTO v_entry FROM materialized_views WHERE mv_name = v_matview;
     IF NOT FOUND THEN
         RAISE EXCEPTION 'Materialized view % does not exist.', v_matview;
    END IF;

    update materialized_views set active = v_active
    where  mv_name = v_matview;
    RETURN;
 END; $procedure$
 LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION ActivateAllMaterializedViews(v_active BOOLEAN)
 RETURNS VOID
AS $procedure$
DECLARE
     v_entry materialized_views%ROWTYPE;
 BEGIN
    update materialized_views set active = v_active;
    RETURN;
 END; $procedure$
 LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertPermission(v_ad_element_id UUID,
	v_id UUID,
	v_role_id UUID,
	v_object_id UUID,
	v_object_type_id INTEGER)
RETURNS VOID
   AS $procedure$
BEGIN
INSERT INTO permissions(ad_element_id, id, role_id, object_id, object_type_id)
	VALUES(v_ad_element_id, v_id, v_role_id, v_object_id, v_object_type_id);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeletePermission(v_id UUID)
RETURNS VOID
   AS $procedure$
   DECLARE
   v_val  UUID;
BEGIN

	-- Get (and keep) a shared lock with "right to upgrade to exclusive"
	-- in order to force locking parent before children
   select   id INTO v_val FROM permissions  WHERE id = v_id     FOR UPDATE;

   DELETE FROM permissions
   WHERE id = v_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetPermissionsByid(v_id UUID)
RETURNS SETOF permissions_view STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM permissions_view
   WHERE id = v_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION get_user_permissions_for_domain(v_name VARCHAR(255), v_domain VARCHAR(255))
RETURNS SETOF permissions_view STABLE
   AS $procedure$
   DECLARE
   v_user_name VARCHAR(255);
   v_index  INTEGER;
BEGIN
-- find if name already includes domain (@)
   v_index := POSITION('@' IN v_name);

   if (v_index > 0) then
      v_user_name := substr(v_name, 0, v_index);
   else
      v_user_name := v_name;
   end if;
   RETURN QUERY SELECT *
   FROM permissions_view
   WHERE permissions_view.ad_element_id in (
                SELECT users.user_id
                FROM users
                WHERE users.domain = v_domain
                AND (users.name = v_user_name OR
                     users.name = v_user_name || '@' || upper(v_domain)
                    ));

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetConsumedPermissionsForQuotaId(v_quota_id UUID)
RETURNS SETOF permissions_view STABLE
   AS $procedure$
BEGIN
   RETURN QUERY    SELECT *
   FROM permissions_view
   WHERE role_id in (SELECT role_id FROM ROLES_groups where action_group_id = 901)
     AND object_id in(select id from  fn_get_entity_parents(v_quota_id,17));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetPermissionsByAdElementId(v_ad_element_id UUID, v_user_id UUID, v_is_filtered BOOLEAN, v_app_mode INTEGER)
RETURNS SETOF permissions_view STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM permissions_view
   WHERE (permissions_view.app_mode & v_app_mode) > 0
   AND (permissions_view.ad_element_id = v_ad_element_id
    OR    ad_element_id IN (SELECT * FROM getUserAndGroupsById(v_ad_element_id)))
   AND (NOT v_is_filtered OR EXISTS (SELECT 1 FROM user_permissions_permissions_view WHERE user_id = v_user_id));

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetPermissionsByRoleId(v_role_id UUID)
RETURNS SETOF permissions_view STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM permissions_view
   WHERE role_id = v_role_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetPermissionsByRoleIdAndAdElementId(v_role_id UUID,
	v_ad_element_id UUID) RETURNS SETOF permissions_view STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM permissions_view
   WHERE role_id = v_role_id and ad_element_id = v_ad_element_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetPermissionsByRoleIdAndAdElementIdAndObjectId(v_role_id UUID,
	v_ad_element_id UUID,v_object_id UUID)
RETURNS SETOF permissions_view STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM permissions_view
   WHERE role_id = v_role_id and ad_element_id = v_ad_element_id and object_id = v_object_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetDirectPermissionsByAdElementId(v_ad_element_id UUID)
RETURNS SETOF permissions_view STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM permissions_view
   WHERE permissions_view.ad_element_id = v_ad_element_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertRole(v_description VARCHAR(4000) ,
	v_id UUID,
	v_name VARCHAR(126),
	v_is_readonly BOOLEAN,
	v_role_type INTEGER,
        v_allows_viewing_children BOOLEAN,
    v_app_mode INTEGER)
RETURNS VOID
   AS $procedure$
BEGIN
INSERT INTO roles(description, id, name, is_readonly, role_type, allows_viewing_children, app_mode)
	VALUES(v_description, v_id, v_name, v_is_readonly, v_role_type, v_allows_viewing_children, v_app_mode);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateRole(v_description VARCHAR(4000) ,
	v_id UUID,
	v_name VARCHAR(126),
	v_is_readonly BOOLEAN,
	v_role_type INTEGER,
        v_allows_viewing_children BOOLEAN)
RETURNS VOID
	
   AS $procedure$
BEGIN
      UPDATE roles
      SET description    = v_description,
          name           = v_name,
          is_readonly    = v_is_readonly,
          role_type      = v_role_type,
          allows_viewing_children = v_allows_viewing_children
      WHERE id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteRole(v_id UUID)
RETURNS VOID
   AS $procedure$
   DECLARE
   v_val  UUID;
BEGIN

	-- Get (and keep) a shared lock with "right to upgrade to exclusive"
    -- in order to force locking parent before children
   select   id INTO v_val FROM roles  WHERE id = v_id     FOR UPDATE;

   DELETE FROM roles
   WHERE id = v_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromRole(v_app_mode INTEGER) RETURNS SETOF roles STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM roles
   WHERE (roles.app_mode & v_app_mode) > 0;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetRolsByid(v_id UUID) RETURNS SETOF roles STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM roles
   WHERE id = v_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetRoleByName(v_name VARCHAR(126))
RETURNS SETOF roles STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM roles
   WHERE name = v_name;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllRolesByUserIdAndGroupIds(v_user_id UUID, v_group_ids text, v_app_mode INTEGER)
RETURNS SETOF roles STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT roles.*
   FROM roles INNER JOIN
   permissions ON permissions.role_id = roles.id
   WHERE (roles.app_mode & v_app_mode) > 0
   AND (permissions.ad_element_id = v_user_id
   or permissions.ad_element_id in(select id from getElementIdsByIdAndGroups(v_user_id, v_group_ids)));

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetPermissionByRoleId(v_role_id UUID)
RETURNS SETOF permissions STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   from permissions
   where role_id = v_role_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION get_entity_permissions(v_user_id UUID,v_action_group_id INTEGER,v_object_id UUID,v_object_type_id INTEGER)
RETURNS SETOF UUID STABLE
	
   AS $procedure$
   DECLARE
   v_everyone_object_id  UUID;
BEGIN
   v_everyone_object_id := getGlobalIds('everyone'); -- hardcoded also in MLA Handler
   RETURN QUERY
   select   id from permissions where
		-- get all roles of action
   role_id in(select role_id from roles_groups where action_group_id = v_action_group_id)
		-- get allparents of object
   and (object_id in(select id from  fn_get_entity_parents(v_object_id,v_object_type_id)))
		-- get user and his groups
   and (ad_element_id = v_everyone_object_id or
   ad_element_id = v_user_id or ad_element_id in(select * from getUserAndGroupsById(v_user_id)))   LIMIT 1;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION get_entity_permissions_for_user_and_groups(v_user_id UUID,v_group_ids text,v_action_group_id INTEGER,v_object_id UUID,v_object_type_id INTEGER,
v_ignore_everyone BOOLEAN)
RETURNS SETOF UUID STABLE
	
   AS $procedure$
   DECLARE
   v_everyone_object_id  UUID;
BEGIN
   v_everyone_object_id := getGlobalIds('everyone'); -- hardcoded also in MLA Handler
   RETURN QUERY
   select   id from permissions where
		-- get all roles of action
   role_id in(select role_id from roles_groups where action_group_id = v_action_group_id)
		-- get allparents of object
   and (object_id in(select id from  fn_get_entity_parents(v_object_id,v_object_type_id)))
		-- get user and his groups
   and ((NOT v_ignore_everyone and ad_element_id = v_everyone_object_id) or
   ad_element_id = v_user_id or ad_element_id in(select * from fnsplitteruuid(v_group_ids)))   LIMIT 1;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Insert_roles_groups(v_action_group_id INTEGER,
	v_role_id UUID)
RETURNS VOID
   AS $procedure$
BEGIN
INSERT INTO roles_groups(action_group_id, role_id)
	VALUES(v_action_group_id, v_role_id);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Delete_roles_groups(v_action_group_id INTEGER,
	v_role_id UUID)
RETURNS VOID
   AS $procedure$
BEGIN

   DELETE FROM roles_groups
   WHERE action_group_id = v_action_group_id AND role_id = v_role_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Get_roles_groups_By_action_group_id_And_By_role_id(v_action_group_id INTEGER,v_role_id UUID) RETURNS SETOF roles_groups STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM roles_groups
   where
   action_group_id = v_action_group_id AND
   role_id = v_role_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Get_role_groups_By_role_id(v_role_id UUID)
RETURNS SETOF roles_groups STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM roles_groups
   where
   role_id = v_role_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetPermissionsByEntityId(v_id UUID, v_user_id UUID, v_is_filtered BOOLEAN, v_app_mode INTEGER)
RETURNS SETOF permissions_view STABLE
	
	
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM permissions_view
   WHERE  (permissions_view.app_mode & v_app_mode) > 0
   AND object_id = v_id
   AND   (NOT v_is_filtered OR EXISTS (SELECT 1
                                       FROM   GetUserPermissionsByEntityId(v_id, v_user_id, v_is_filtered)));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllUsersWithPermissionsOnEntityByEntityId(v_id UUID, v_user_id UUID, v_is_filtered BOOLEAN,  v_app_mode INTEGER)
RETURNS SETOF permissions_view STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM permissions_view
   WHERE (permissions_view.app_mode & v_app_mode) > 0
   AND object_id = v_id
   AND   (NOT v_is_filtered OR EXISTS (SELECT 1
                                       FROM   GetAllUsersWithPermissionsByEntityId(v_id, v_user_id, v_is_filtered)));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetUserPermissionsByEntityId(v_id UUID, v_user_id UUID, v_is_filtered BOOLEAN)
RETURNS SETOF permissions_view STABLE
    
    
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM permissions_view p
   WHERE object_id = v_id
   AND   (NOT v_is_filtered OR EXISTS (SELECT 1
                                       FROM   user_flat_groups u
                                       WHERE  p.ad_element_id = u.granted_id
                                       AND    u.user_id       = v_user_id));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllUsersWithPermissionsByEntityId(v_id UUID, v_user_id UUID, v_is_filtered BOOLEAN)
RETURNS SETOF permissions_view STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM permissions_view p
   WHERE object_id in (select id from fn_get_entity_parents(v_id,
                                                            (SELECT DISTINCT role_type
                                                               FROM permissions_view p
                                                              WHERE object_id = v_id)))
   AND   (NOT v_is_filtered OR EXISTS (SELECT 1
                                       FROM   user_flat_groups u
                                       WHERE  p.ad_element_id = u.granted_id
                                       AND    u.user_id       = v_user_id));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeletePermissionsByEntityId(v_id UUID)
RETURNS VOID
	
	
   AS $procedure$
BEGIN
   DELETE FROM permissions
   WHERE object_id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetRoleActionGroupsByRoleId(v_id UUID)
RETURNS SETOF roles_groups STABLE
	
	
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM roles_groups
   WHERE role_id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetPermissionsTreeByEntityId
(v_id UUID, v_object_type_id INTEGER, v_user_id UUID, v_is_filtered BOOLEAN, v_app_mode INTEGER)
RETURNS SETOF permissions_view STABLE
	
	
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM   permissions_view p
   WHERE  (p.app_mode & v_app_mode) > 0
   AND  object_id in(select id from  fn_get_entity_parents(v_id,v_object_type_id))
   AND    (NOT v_is_filtered OR EXISTS (SELECT 1
                                        FROM   user_flat_groups u
                                        WHERE  p.ad_element_id = u.granted_id
                                        AND    u.user_id       = v_user_id));

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetPermissionsByRoleIdAndObjectId(v_role_id UUID,
	v_object_id UUID) RETURNS SETOF permissions_view STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM permissions_view
   WHERE role_id = v_role_id and object_id = v_object_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetForRoleAndAdElementAndObject_wGroupCheck(v_role_id UUID,
	v_ad_element_id UUID, v_object_id UUID) RETURNS SETOF permissions_view STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM permissions_view
   WHERE role_id = v_role_id and object_id = v_object_id and ad_element_id in (
         select * from getUserAndGroupsById(v_ad_element_id));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertNetworkQos(v_id uuid,
  v_name VARCHAR(50),
  v_storage_pool_id uuid,
  v_inbound_average INTEGER,
  v_inbound_peak INTEGER,
  v_inbound_burst INTEGER,
  v_outbound_average INTEGER,
  v_outbound_peak INTEGER,
  v_outbound_burst INTEGER)
RETURNS VOID
   AS $procedure$
BEGIN
INSERT INTO network_qos(id, name, storage_pool_id, inbound_average, inbound_peak, inbound_burst, outbound_average, outbound_peak, outbound_burst)
  VALUES(v_id, v_name, v_storage_pool_id, v_inbound_average, v_inbound_peak, v_inbound_burst, v_outbound_average, v_outbound_peak, v_outbound_burst);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateNetworkQos(v_id uuid,
  v_name VARCHAR(50),
  v_storage_pool_id uuid,
  v_inbound_average INTEGER,
  v_inbound_peak INTEGER,
  v_inbound_burst INTEGER,
  v_outbound_average INTEGER,
  v_outbound_peak INTEGER,
  v_outbound_burst INTEGER)
RETURNS VOID
   AS $procedure$
BEGIN
      UPDATE network_qos
      SET name = v_name, storage_pool_id = v_storage_pool_id, inbound_average = v_inbound_average, inbound_peak = v_inbound_peak, inbound_burst = v_inbound_burst,
      outbound_average = v_outbound_average, outbound_peak = v_outbound_peak, outbound_burst = v_outbound_burst, _update_date = LOCALTIMESTAMP
      WHERE id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteNetworkQos(v_id UUID) RETURNS VOID
   AS $procedure$
BEGIN
   DELETE FROM network_qos
   WHERE id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromNetworkQoss() RETURNS SETOF network_qos STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM network_qos;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetNetworkQosByNetworkQosId(v_id UUID) RETURNS SETOF network_qos STABLE
   AS $procedure$
BEGIN
RETURN QUERY SELECT *
   FROM network_qos
   WHERE id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllNetworkQosForStoragePool(v_storage_pool_id UUID) RETURNS SETOF network_qos STABLE
   AS $procedure$
BEGIN
RETURN QUERY SELECT *
   FROM network_qos
   WHERE storage_pool_id = v_storage_pool_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Insertnetwork(v_addr VARCHAR(50) ,
	v_description VARCHAR(4000) ,
	v_free_text_comment text,
	v_id UUID,
	v_name VARCHAR(50),
	v_subnet VARCHAR(20) ,
	v_gateway VARCHAR(20) ,
	v_type INTEGER ,
	v_vlan_id INTEGER ,
	v_stp BOOLEAN ,
    	v_storage_pool_id UUID,
	v_mtu INTEGER,
	v_vm_network BOOLEAN,
	v_provider_network_provider_id UUID,
	v_provider_network_external_id TEXT,
	v_qos_id UUID,
	v_label TEXT)
RETURNS VOID
   AS $procedure$
BEGIN
INSERT INTO network(addr, description, free_text_comment, id, name, subnet, gateway, type, vlan_id, stp, storage_pool_id, mtu, vm_network, provider_network_provider_id, provider_network_external_id, qos_id, label)
	VALUES(v_addr, v_description, v_free_text_comment, v_id, v_name, v_subnet, v_gateway, v_type, v_vlan_id, v_stp, v_storage_pool_id, v_mtu, v_vm_network, v_provider_network_provider_id, v_provider_network_external_id, v_qos_id, v_label);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Updatenetwork(v_addr VARCHAR(50) ,
	v_description VARCHAR(4000) ,
	v_free_text_comment text,
	v_id UUID,
	v_name VARCHAR(50),
	v_subnet VARCHAR(20) ,
	v_gateway VARCHAR(20) ,
	v_type INTEGER ,
	v_vlan_id INTEGER ,
	v_stp BOOLEAN ,
	v_storage_pool_id UUID,
	v_mtu INTEGER,
	v_vm_network BOOLEAN,
	v_provider_network_provider_id UUID,
	v_provider_network_external_id TEXT,
	v_qos_id UUID,
	v_label TEXT)
RETURNS VOID
	
   AS $procedure$
BEGIN
      UPDATE network
      SET addr = v_addr,description = v_description, free_text_comment = v_free_text_comment, name = v_name,subnet = v_subnet,
      gateway = v_gateway,type = v_type,vlan_id = v_vlan_id,
      stp = v_stp,storage_pool_id = v_storage_pool_id, mtu = v_mtu,
      vm_network = v_vm_network,
      provider_network_provider_id = v_provider_network_provider_id,
      provider_network_external_id = v_provider_network_external_id,
      qos_id = v_qos_id,
      label = v_label
      WHERE id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Deletenetwork(v_id UUID)
RETURNS VOID
   AS $procedure$
   DECLARE
   v_val  UUID;
BEGIN

	-- Get (and keep) a shared lock with "right to upgrade to exclusive"
	-- in order to force locking parent before children
   select   id INTO v_val FROM network  WHERE id = v_id     FOR UPDATE;

   DELETE FROM network
   WHERE id = v_id;

   -- Delete the network's permissions
   DELETE FROM permissions WHERE object_id = v_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromnetwork(v_user_id uuid, v_is_filtered boolean) RETURNS SETOF network STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM network
   WHERE NOT v_is_filtered OR EXISTS (SELECT 1
                                      FROM   user_network_permissions_view
                                      WHERE  user_id = v_user_id AND entity_id = network.id);

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetnetworkByid(v_id UUID, v_user_id uuid, v_is_filtered boolean) RETURNS SETOF network STABLE
   AS $procedure$
BEGIN
RETURN QUERY SELECT *
   FROM network
   WHERE id = v_id
   AND (NOT v_is_filtered OR EXISTS (SELECT 1
                                    FROM   user_network_permissions_view
                                    WHERE  user_id = v_user_id AND entity_id = v_id));

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetnetworkByName(v_networkName VARCHAR(50))
RETURNS SETOF network STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM network
   WHERE name = v_networkName;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetNetworkByNameAndDataCenter(v_name VARCHAR(50), v_storage_pool_id UUID)
RETURNS SETOF network STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT network.*
   FROM network
   WHERE network.name = v_name
   AND   network.storage_pool_id = v_storage_pool_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetNetworkByNameAndCluster(v_name VARCHAR(50), v_cluster_id UUID)
RETURNS SETOF network STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT network.*
   FROM network
   WHERE network.name = v_name
   AND EXISTS (SELECT 1
               FROM network_cluster
               WHERE network.id = network_cluster.network_id
               AND   network_cluster.cluster_id = v_cluster_id);

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllNetworkByStoragePoolId(v_id UUID, v_user_id uuid, v_is_filtered boolean)
RETURNS SETOF network STABLE
   AS $procedure$
BEGIN
RETURN QUERY SELECT *
   FROM network
   WHERE storage_pool_id = v_id
   AND (NOT v_is_filtered OR EXISTS (SELECT 1
                                     FROM   user_network_permissions_view
                                     WHERE  user_id = v_user_id AND entity_id = network.id));

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
DROP TYPE IF EXISTS networkViewClusterType CASCADE;
**************************

DROP TYPE
********* QUERY **********
CREATE TYPE networkViewClusterType AS(id uuid,name VARCHAR(50),description VARCHAR(4000), free_text_comment text, type INTEGER,
            addr VARCHAR(50),subnet VARCHAR(20),gateway VARCHAR(20),vlan_id INTEGER,stp BOOLEAN,storage_pool_id UUID,
	    mtu INTEGER, vm_network BOOLEAN, label TEXT,
	    provider_network_provider_id UUID, provider_network_external_id TEXT, qos_id UUID,
	    network_id UUID,cluster_id UUID, status INTEGER, is_display BOOLEAN,
	    required BOOLEAN, migration BOOLEAN);
**************************

CREATE TYPE
********* QUERY **********
Create or replace FUNCTION GetAllNetworkByClusterId(v_id UUID, v_user_id uuid, v_is_filtered boolean)
RETURNS SETOF networkViewClusterType STABLE
   AS $procedure$
BEGIN
RETURN QUERY SELECT
    DISTINCT
    network.id,
    network.name,
    network.description,
    network.free_text_comment,
    network.type,
    network.addr,
    network.subnet,
    network.gateway,
    network.vlan_id,
    network.stp,
    network.storage_pool_id,
    network.mtu,
    network.vm_network,
    network.label,
    network.provider_network_provider_id,
    network.provider_network_external_id,
    network.qos_id,
    network_cluster.network_id,
    network_cluster.cluster_id,
    network_cluster.status,
    network_cluster.is_display,
    network_cluster.required,
    network_cluster.migration
   FROM network
   INNER JOIN network_cluster
   ON network.id = network_cluster.network_id
   WHERE network_cluster.cluster_id = v_id
   AND (NOT v_is_filtered OR EXISTS (SELECT 1
                                     FROM   user_network_permissions_view
                                     WHERE  user_id = v_user_id AND entity_id = network.id))
   ORDER BY network.name;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllNetworksByNetworkProviderId(v_id UUID)
RETURNS SETOF network STABLE
AS $procedure$
BEGIN
    RETURN QUERY
    SELECT *
    FROM   network
    WHERE  provider_network_provider_id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllNetworkViewsByNetworkProviderId(v_id UUID)
RETURNS SETOF network_view STABLE
AS $procedure$
BEGIN
    RETURN QUERY
    SELECT *
    FROM   network_view
    WHERE  provider_network_provider_id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllNetworkLabelsByDataCenterId(v_id UUID)
RETURNS SETOF TEXT STABLE
AS $procedure$
BEGIN
    RETURN QUERY
    SELECT DISTINCT label
    FROM network
    WHERE network.storage_pool_id = v_id
    AND label IS NOT NULL;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Insertvds_interface(v_addr VARCHAR(20) ,
 v_bond_name VARCHAR(50) ,
 v_bond_type INTEGER ,
 v_gateway VARCHAR(20) ,
 v_id UUID,
 v_is_bond BOOLEAN ,
 v_bond_opts VARCHAR(4000) ,
 v_mac_addr VARCHAR(20) ,
 v_name VARCHAR(50),
 v_network_name VARCHAR(50) ,
 v_speed INTEGER ,
 v_subnet VARCHAR(20) ,
 v_boot_protocol INTEGER ,
 v_type INTEGER ,
 v_vds_id UUID,
 v_vlan_id INTEGER,
 v_mtu INTEGER,
 v_bridged BOOLEAN,
 v_qos_overridden BOOLEAN,
 v_labels TEXT)
RETURNS VOID
   AS $procedure$
BEGIN
INSERT INTO vds_interface(addr, bond_name, bond_type, gateway, id, is_bond, bond_opts, mac_addr, name, network_name, speed, subnet, boot_protocol, type, VDS_ID, vlan_id, mtu, bridged, qos_overridden, labels)
	VALUES(v_addr, v_bond_name, v_bond_type, v_gateway, v_id, v_is_bond, v_bond_opts, v_mac_addr, v_name, v_network_name, v_speed, v_subnet, v_boot_protocol, v_type, v_vds_id, v_vlan_id, v_mtu, v_bridged, v_qos_overridden, v_labels);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Updatevds_interface(v_addr VARCHAR(20) ,
 v_bond_name VARCHAR(50) ,
 v_bond_type INTEGER ,
 v_gateway VARCHAR(20) ,
 v_id UUID,
 v_is_bond BOOLEAN ,
 v_bond_opts VARCHAR(4000) ,
 v_mac_addr VARCHAR(20) ,
 v_name VARCHAR(50),
 v_network_name VARCHAR(50) ,
 v_speed INTEGER ,
 v_subnet VARCHAR(20) ,
 v_boot_protocol INTEGER ,
 v_type INTEGER ,
 v_vds_id UUID,
 v_vlan_id INTEGER,
 v_mtu INTEGER,
 v_bridged BOOLEAN,
 v_qos_overridden BOOLEAN,
 v_labels TEXT)
RETURNS VOID
	
   AS $procedure$
BEGIN
      UPDATE vds_interface
      SET addr = v_addr,bond_name = v_bond_name,bond_type = v_bond_type,gateway = v_gateway,
      is_bond = v_is_bond,bond_opts = v_bond_opts,mac_addr = v_mac_addr,
      name = v_name,network_name = v_network_name,speed = v_speed,
      subnet = v_subnet,boot_protocol = v_boot_protocol,
      type = v_type,VDS_ID = v_vds_id,vlan_id = v_vlan_id,_update_date = LOCALTIMESTAMP, mtu = v_mtu,
      bridged = v_bridged, qos_overridden = v_qos_overridden, labels = v_labels
      WHERE id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Deletevds_interface(v_id UUID)
RETURNS VOID
   AS $procedure$
BEGIN

   DELETE FROM vds_interface
   WHERE id = v_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getinterface_viewByvds_id(v_vds_id UUID, v_user_id UUID, v_is_filtered boolean)
RETURNS SETOF vds_interface_view STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM vds_interface_view
   WHERE vds_id = v_vds_id
   AND (NOT v_is_filtered OR EXISTS (SELECT 1
                                     FROM   user_vds_permissions_view
                                     WHERE  user_id = v_user_id AND entity_id = v_vds_id));

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetHostNetworksByCluster(v_cluster_id UUID)
RETURNS TABLE(vds_id UUID, network_name VARCHAR) STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT vds_static.vds_id, vds_interface.network_name
   FROM vds_static
   JOIN vds_interface ON vds_interface.vds_id = vds_static.vds_id
   AND vds_static.vds_group_id = v_cluster_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getinterface_viewByAddr(v_cluster_id UUID, v_addr VARCHAR(50))
RETURNS SETOF vds_interface_view STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT vds_interface_view.*
   FROM vds_interface_view
   INNER JOIN vds_static
   ON vds_interface_view.vds_id = vds_static.vds_id
   WHERE vds_interface_view.addr = v_addr
   AND vds_static.vds_group_id = v_cluster_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVdsManagedInterfaceByVdsId(v_vds_id UUID, v_user_id UUID, v_is_filtered boolean)
RETURNS SETOF vds_interface_view STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM vds_interface_view
   -- Checking if the 2nd bit in the type column is set, meaning that the interface is managed
   WHERE vds_id = v_vds_id AND (type & 2) = 2
   AND (NOT v_is_filtered OR EXISTS (SELECT 1
                                     FROM   user_vds_permissions_view
                                     WHERE  user_id = v_user_id AND entity_id = v_vds_id));

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVdsInterfacesByNetworkId(v_network_id UUID) RETURNS SETOF vds_interface_view STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT vds_interface_view.*
   FROM vds_interface_view
   INNER JOIN vds
   ON vds.vds_id = vds_interface_view.vds_id
   INNER JOIN network_cluster
   ON network_cluster.cluster_id = vds.vds_group_id
   INNER JOIN network
   ON network.id = network_cluster.network_id
   AND network.name = vds_interface_view.network_name
   WHERE network.id = v_network_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVdsInterfaceById(v_vds_interface_id UUID) RETURNS SETOF vds_interface_view STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM vds_interface_view
   WHERE id = v_vds_interface_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetInterfacesByClusterId(v_cluster_id UUID)
RETURNS SETOF vds_interface_view STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT vds_interface_view.*
   FROM vds_interface_view
   INNER JOIN vds_static
   ON vds_interface_view.vds_id = vds_static.vds_id
   WHERE vds_static.vds_group_id = v_cluster_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetInterfacesByDataCenterId(v_data_center_id UUID)
RETURNS SETOF vds_interface_view STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT vds_interface_view.*
   FROM vds_interface_view
   INNER JOIN vds_static
   ON vds_interface_view.vds_id = vds_static.vds_id
   INNER JOIN vds_groups
   ON vds_static.vds_group_id = vds_groups.vds_group_id
   WHERE vds_groups.storage_pool_id = v_data_center_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertVmInterface(v_id UUID,
    v_mac_addr VARCHAR(20) ,
    v_name VARCHAR(50),
    v_speed INTEGER ,
    v_vnic_profile_id UUID ,
    v_vm_guid UUID ,
    v_vmt_guid UUID ,
    v_type INTEGER,
    v_linked BOOLEAN)
RETURNS VOID
   AS $procedure$
BEGIN
INSERT INTO vm_interface(id, mac_addr, name, speed, vnic_profile_id, vm_guid, vmt_guid, type, linked)
       VALUES(v_id, v_mac_addr, v_name, v_speed, v_vnic_profile_id, v_vm_guid, v_vmt_guid, v_type, v_linked);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateVmInterface(v_id UUID,
    v_mac_addr VARCHAR(20) ,
    v_name VARCHAR(50),
    v_speed INTEGER ,
    v_vnic_profile_id UUID ,
    v_vm_guid UUID ,
    v_vmt_guid UUID ,
    v_type INTEGER,
    v_linked BOOLEAN)
RETURNS VOID
   AS $procedure$
BEGIN
      UPDATE vm_interface
      SET mac_addr = v_mac_addr,name = v_name, speed = v_speed, vnic_profile_id = v_vnic_profile_id, vm_guid = v_vm_guid,
      vmt_guid = v_vmt_guid,type = v_type, _update_date = LOCALTIMESTAMP, linked = v_linked
      WHERE id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteVmInterface(v_id UUID)
RETURNS VOID
   AS $procedure$
   DECLARE
   v_val  UUID;
BEGIN

   -- Get (and keep) a shared lock with "right to upgrade to exclusive"
   -- in order to force locking parent before children
   select   id INTO v_val FROM vm_interface  WHERE id = v_id     FOR UPDATE;

   DELETE FROM vm_interface
   WHERE id = v_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmInterfaceByVmInterfaceId(v_id UUID) RETURNS SETOF vm_interface STABLE
AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM vm_interface
   WHERE id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromVmInterfaces() RETURNS SETOF vm_interface STABLE
AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM vm_interface;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmInterfacesByVmId(v_vm_id UUID)
RETURNS SETOF vm_interface STABLE
AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM vm_interface
   WHERE vm_guid = v_vm_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmInterfaceByTemplateId(v_template_id UUID)
RETURNS SETOF vm_interface STABLE
AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM vm_interface
   WHERE vmt_guid = v_template_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmInterfacesByNetworkId(v_network_id UUID) RETURNS SETOF vm_interface STABLE
AS $procedure$
BEGIN
   RETURN QUERY SELECT vm_interface.*
   FROM vm_interface
   INNER JOIN vnic_profiles ON vm_interface.vnic_profile_id = vnic_profiles.id
   INNER JOIN vm_static on vm_interface.vm_guid = vm_static.vm_guid
   WHERE vnic_profiles.network_id = v_network_id
   AND vm_static.entity_type = 'VM';
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmTemplateInterfacesByNetworkId(v_network_id UUID) RETURNS SETOF vm_interface STABLE
AS $procedure$
BEGIN
   RETURN QUERY SELECT vm_interface.*
   FROM vm_interface
   INNER JOIN vm_static on vm_interface.vmt_guid = vm_static.vm_guid
   INNER JOIN vnic_profiles ON vm_interface.vnic_profile_id = vnic_profiles.id
   WHERE vnic_profiles.network_id = v_network_id
   AND vm_static.entity_type  = 'TEMPLATE';
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetMacsByDataCenterId(v_data_center_id UUID) RETURNS SETOF varchar STABLE
AS $procedure$
BEGIN
   RETURN QUERY SELECT mac_addr
   FROM vm_interface
   WHERE EXISTS (SELECT 1
                 FROM vm_static
                 JOIN vds_groups ON vm_static.vds_group_id = vds_groups.vds_group_id
                 WHERE vds_groups.storage_pool_id = v_data_center_id
                 AND vm_static.vm_guid = vm_interface.vm_guid);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromVmNetworkInterfaceViews() RETURNS SETOF vm_interface_view STABLE
AS $procedure$
BEGIN
RETURN QUERY SELECT *
FROM vm_interface_view;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmNetworkInterfaceViewByVmNetworkInterfaceViewId(v_id UUID)
RETURNS SETOF vm_interface_view STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM vm_interface_view
   WHERE id = v_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetPluggedVmInterfacesByMac(v_mac_address VARCHAR(20))
RETURNS SETOF vm_interface_view STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM vm_interface_view
   WHERE mac_addr = v_mac_address
   AND is_plugged = true;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmNetworkInterfaceViewByVmId(v_vm_id UUID, v_user_id UUID, v_is_filtered BOOLEAN)
RETURNS SETOF vm_interface_view STABLE
AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM vm_interface_view
   WHERE vm_guid = v_vm_id
   AND (NOT v_is_filtered OR EXISTS (SELECT 1
   FROM   user_vm_permissions_view
   WHERE  user_id = v_user_id AND entity_id = v_vm_id));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmNetworkInterfaceViewByTemplateId(v_template_id UUID, v_user_id UUID, v_is_filtered boolean)
RETURNS SETOF vm_interface_view STABLE
AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM vm_interface_view
   WHERE vmt_guid = v_template_id
   AND (NOT v_is_filtered OR EXISTS (SELECT 1
   FROM   user_vm_template_permissions_view
   WHERE  user_id = v_user_id AND entity_id = v_template_id));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmInterfaceViewsByNetworkId(v_network_id UUID) RETURNS SETOF vm_interface_view STABLE
AS $procedure$
BEGIN
   RETURN QUERY SELECT vm_interface_view.*
   FROM vm_interface_view
   INNER JOIN vnic_profiles ON vnic_profiles.id = vm_interface_view.vnic_profile_id
   WHERE vnic_profiles.network_id = v_network_id
   AND vm_interface_view.vm_entity_type = 'VM';
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmTemplateInterfaceViewsByNetworkId(v_network_id UUID) RETURNS SETOF vm_interface_view STABLE
AS $procedure$
BEGIN
   RETURN QUERY SELECT vm_interface_view.*
   FROM vm_interface_view
   INNER JOIN vnic_profiles ON vnic_profiles.id = vm_interface_view.vnic_profile_id
   WHERE vnic_profiles.network_id = v_network_id
   AND vm_interface_view.vm_entity_type = 'TEMPLATE';
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getvm_interface_statisticsById(v_id UUID) RETURNS SETOF vm_interface_statistics STABLE
   AS $procedure$
BEGIN
RETURN QUERY SELECT *
   FROM vm_interface_statistics
   WHERE id = v_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Insertvm_interface_statistics(v_id UUID,
	v_rx_drop DECIMAL(18,0) ,
	v_rx_rate DECIMAL(18,0) ,
	v_tx_drop DECIMAL(18,0) ,
	v_tx_rate DECIMAL(18,0) ,
	v_iface_status INTEGER ,
	v_vm_id UUID)
RETURNS VOID
   AS $procedure$
BEGIN
INSERT INTO vm_interface_statistics(id, rx_drop, rx_rate, tx_drop, tx_rate, vm_id, iface_status)
	VALUES(v_id, v_rx_drop, v_rx_rate, v_tx_drop, v_tx_rate, v_vm_id,v_iface_status);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Updatevm_interface_statistics(v_id UUID,
 v_rx_drop DECIMAL(18,0) ,
 v_rx_rate DECIMAL(18,0) ,
 v_tx_drop DECIMAL(18,0) ,
 v_tx_rate DECIMAL(18,0) ,
 v_iface_status INTEGER ,
 v_vm_id UUID)
RETURNS VOID
	
   AS $procedure$
BEGIN
      UPDATE vm_interface_statistics
      SET rx_drop = v_rx_drop,rx_rate = v_rx_rate,tx_drop = v_tx_drop,tx_rate = v_tx_rate,
      vm_id = v_vm_id,iface_status = v_iface_status, _update_date = LOCALTIMESTAMP
      WHERE id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Deletevm_interface_statistics(v_id UUID)
RETURNS VOID
   AS $procedure$
   DECLARE
   v_val  UUID;
BEGIN

	-- Get (and keep) a shared lock with "right to upgrade to exclusive"
	-- in order to force locking parent before children
   select   id INTO v_val FROM vm_interface_statistics  WHERE id = v_id     FOR UPDATE;

   DELETE FROM vm_interface_statistics
   WHERE id = v_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmGuestAgentInterfacesByVmId(v_vm_id UUID, v_user_id UUID, v_filtered BOOLEAN)
RETURNS SETOF vm_guest_agent_interfaces STABLE
   AS $procedure$
BEGIN
RETURN QUERY SELECT *
   FROM vm_guest_agent_interfaces
   WHERE vm_id = v_vm_id
   AND (NOT v_filtered OR EXISTS (SELECT 1
                                  FROM   user_vm_permissions_view
                                  WHERE  user_id = v_user_id AND entity_id = v_vm_id));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteVmGuestAgentInterfacesByVmId(v_vm_id UUID)
RETURNS VOID
   AS $procedure$
BEGIN
   DELETE FROM vm_guest_agent_interfaces
   WHERE vm_id = v_vm_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertVmGuestAgentInterface(v_vm_id UUID,
   v_interface_name VARCHAR(50),
   v_mac_address VARCHAR(59),
   v_ipv4_addresses text,
   v_ipv6_addresses text)
RETURNS VOID
   AS $procedure$
BEGIN
INSERT INTO vm_guest_agent_interfaces(vm_id, interface_name, mac_address, ipv4_addresses, ipv6_addresses)
       VALUES(v_vm_id, v_interface_name, v_mac_address, v_ipv4_addresses, v_ipv6_addresses);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Insertvds_interface_statistics(v_id UUID,
	v_rx_drop DECIMAL(18,0) ,
	v_rx_rate DECIMAL(18,0) ,
	v_tx_drop DECIMAL(18,0) ,
	v_tx_rate DECIMAL(18,0) ,
	v_iface_status INTEGER ,
	v_vds_id UUID)
RETURNS VOID
   AS $procedure$
BEGIN
INSERT INTO vds_interface_statistics(id, rx_drop, rx_rate, tx_drop, tx_rate, vds_id, iface_status)
	VALUES(v_id, v_rx_drop, v_rx_rate, v_tx_drop, v_tx_rate, v_vds_id,v_iface_status);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Updatevds_interface_statistics(v_id UUID,
 v_rx_drop DECIMAL(18,0) ,
 v_rx_rate DECIMAL(18,0) ,
 v_tx_drop DECIMAL(18,0) ,
 v_tx_rate DECIMAL(18,0) ,
 v_iface_status INTEGER ,
 v_vds_id UUID)
RETURNS VOID
	
   AS $procedure$
BEGIN
      UPDATE vds_interface_statistics
      SET rx_drop = v_rx_drop,rx_rate = v_rx_rate,tx_drop = v_tx_drop,tx_rate = v_tx_rate,
      vds_id = v_vds_id,iface_status = v_iface_status, _update_date = LOCALTIMESTAMP
      WHERE id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Deletevds_interface_statistics(v_id UUID)
RETURNS VOID
   AS $procedure$
   DECLARE
   v_val  UUID;
BEGIN

	-- Get (and keep) a shared lock with "right to upgrade to exclusive"
	-- in order to force locking parent before children
   select   id INTO v_val FROM vds_interface_statistics  WHERE id = v_id     FOR UPDATE;

   DELETE FROM vds_interface_statistics
   WHERE id = v_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Insertnetwork_cluster(v_cluster_id UUID,
   v_network_id UUID,
   v_status INTEGER,
   v_is_display BOOLEAN,
   v_required BOOLEAN,
   v_migration BOOLEAN)
RETURNS VOID
   AS $procedure$
BEGIN
INSERT INTO network_cluster(cluster_id, network_id, status, is_display, required, migration)
	VALUES(v_cluster_id, v_network_id, v_status, v_is_display, v_required, v_migration);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Updatenetwork_cluster(v_cluster_id UUID,
    v_network_id UUID,
    v_status INTEGER,
    v_is_display BOOLEAN,
    v_required BOOLEAN,
    v_migration BOOLEAN)
RETURNS VOID
   AS $procedure$
BEGIN
   UPDATE network_cluster
   SET status = v_status,is_display = v_is_display, required = v_required, migration = v_migration
   WHERE cluster_id = v_cluster_id AND network_id = v_network_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Updatenetwork_cluster_status(v_cluster_id UUID,
        v_network_id UUID,
        v_status INTEGER)
RETURNS VOID
   AS $procedure$
BEGIN
   UPDATE network_cluster
   SET status = v_status
   WHERE cluster_id = v_cluster_id AND network_id = v_network_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Deletenetwork_cluster(v_cluster_id UUID,
	v_network_id UUID)
RETURNS VOID
   AS $procedure$
BEGIN

   DELETE FROM network_cluster
   WHERE cluster_id = v_cluster_id AND network_id = v_network_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromnetwork_cluster() RETURNS SETOF network_cluster STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM network_cluster;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromnetwork_clusterByClusterId(v_cluster_id UUID)
RETURNS SETOF network_cluster STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM network_cluster
   WHERE cluster_id = v_cluster_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromnetwork_clusterByNetworkId(v_network_id UUID)
RETURNS SETOF network_cluster STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM network_cluster
   WHERE network_id = v_network_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getnetwork_clusterBycluster_idAndBynetwork_id(v_cluster_id UUID,
 v_network_id UUID) RETURNS SETOF network_cluster STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM network_cluster
   WHERE cluster_id = v_cluster_id AND network_id = v_network_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetvmStaticByGroupIdAndNetwork(v_groupId UUID,
     v_networkName VARCHAR(50)) RETURNS SETOF vm_static STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT
   vm_static.* from vm_static
   inner join vm_interface_view
   on vm_static.vm_guid = vm_interface_view.vm_guid
   and network_name = v_networkName
   and vm_static.vds_group_id = v_groupId;


END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION set_network_exclusively_as_display(v_cluster_id UUID, v_network_id UUID)
RETURNS VOID
   AS $procedure$
BEGIN

   UPDATE network_cluster
   SET is_display = true
   WHERE cluster_id = v_cluster_id AND network_id = v_network_id;

   IF FOUND THEN
       UPDATE network_cluster
       SET is_display = false
       WHERE cluster_id = v_cluster_id AND network_id != v_network_id;
   END IF;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION set_network_exclusively_as_migration(v_cluster_id UUID, v_network_id UUID)
RETURNS VOID
   AS $procedure$
BEGIN

   UPDATE network_cluster
   SET migration = true
   WHERE cluster_id = v_cluster_id AND network_id = v_network_id;

   IF FOUND THEN
       UPDATE network_cluster
       SET migration = false
       WHERE cluster_id = v_cluster_id AND network_id != v_network_id;
   END IF;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVnicProfileByVnicProfileId(v_id UUID)
RETURNS SETOF vnic_profiles STABLE
   AS $procedure$
BEGIN

   RETURN QUERY SELECT *
   FROM vnic_profiles
   WHERE id = v_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertVnicProfile(v_id UUID,
  v_name VARCHAR(50),
  v_network_id UUID,
  v_network_qos_id UUID,
  v_port_mirroring BOOLEAN,
  v_custom_properties TEXT,
  v_description TEXT)
RETURNS VOID
   AS $procedure$
BEGIN

   INSERT INTO vnic_profiles(id, name, network_id, network_qos_id, port_mirroring, custom_properties, description)
       VALUES(v_id, v_name, v_network_id, v_network_qos_id, v_port_mirroring, v_custom_properties, v_description);

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateVnicProfile(v_id UUID,
  v_name VARCHAR(50),
  v_network_id UUID,
  v_network_qos_id UUID,
  v_port_mirroring BOOLEAN,
  v_custom_properties TEXT,
  v_description TEXT)
RETURNS VOID
   AS $procedure$
BEGIN

   UPDATE vnic_profiles
   SET id = v_id, name = v_name, network_id = v_network_id, network_qos_id = v_network_qos_id,
   port_mirroring = v_port_mirroring, custom_properties = v_custom_properties,
   description = v_description,_update_date = LOCALTIMESTAMP
   WHERE id = v_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteVnicProfile(v_id UUID)
RETURNS VOID
   AS $procedure$
   DECLARE
   v_val UUID;
BEGIN

    DELETE FROM vnic_profiles
    WHERE id = v_id;

    -- Delete the vnic profiles permissions
    DELETE FROM permissions WHERE object_id = v_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromVnicProfiles()
RETURNS SETOF vnic_profiles STABLE
   AS $procedure$
BEGIN

   RETURN QUERY SELECT *
   FROM vnic_profiles;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVnicProfilesByNetworkId(v_network_id UUID)
RETURNS SETOF vnic_profiles STABLE
   AS $procedure$
BEGIN

   RETURN QUERY SELECT *
   FROM vnic_profiles
   WHERE network_id = v_network_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVnicProfileViewByVnicProfileViewId(v_id UUID, v_user_id uuid, v_is_filtered boolean)
RETURNS SETOF vnic_profiles_view STABLE
AS $procedure$
BEGIN

RETURN QUERY SELECT *
FROM vnic_profiles_view
WHERE id = v_id
AND (NOT v_is_filtered OR EXISTS (SELECT 1
                                  FROM   user_vnic_profile_permissions_view
                                  WHERE  user_id = v_user_id AND entity_id = vnic_profiles_view.id));

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromVnicProfileViews(v_user_id uuid, v_is_filtered boolean)
RETURNS SETOF vnic_profiles_view STABLE
AS $procedure$
BEGIN

RETURN QUERY SELECT *
FROM vnic_profiles_view
WHERE NOT v_is_filtered OR EXISTS (SELECT 1
                                   FROM   user_vnic_profile_permissions_view
                                   WHERE  user_id = v_user_id AND entity_id = vnic_profiles_view.id);

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVnicProfileViewsByNetworkId(v_network_id UUID, v_user_id uuid, v_is_filtered boolean)
RETURNS SETOF vnic_profiles_view STABLE
AS $procedure$
BEGIN

RETURN QUERY SELECT *
FROM vnic_profiles_view
WHERE network_id = v_network_id
AND (NOT v_is_filtered OR EXISTS (SELECT 1
                                  FROM   user_vnic_profile_permissions_view
                                  WHERE  user_id = v_user_id AND entity_id = vnic_profiles_view.id));

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVnicProfileViewsByDataCenterId(v_id UUID, v_user_id uuid, v_is_filtered boolean)
RETURNS SETOF vnic_profiles_view STABLE
AS $procedure$
BEGIN
    RETURN QUERY
    SELECT *
    FROM   vnic_profiles_view
    WHERE  data_center_id = v_id
    AND (NOT v_is_filtered OR EXISTS (SELECT 1
                                      FROM   user_vnic_profile_permissions_view
                                      WHERE  user_id = v_user_id AND entity_id = vnic_profiles_view.id));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVnicProfileViewsByNetworkQosId(v_network_qos_id UUID) RETURNS SETOF vnic_profiles_view STABLE
   AS $procedure$
BEGIN
RETURN QUERY SELECT *
   FROM vnic_profiles_view
   WHERE network_qos_id = v_network_qos_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromPolicyUnits() RETURNS SETOF policy_units STABLE
AS $procedure$
BEGIN
    RETURN QUERY
    SELECT *
    FROM   policy_units;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetPolicyUnitByPolicyUnitId(v_id UUID) RETURNS SETOF policy_units STABLE
AS $procedure$
BEGIN
    RETURN QUERY
    SELECT *
    FROM   policy_units
    WHERE id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertPolicyUnit(
    v_id UUID,
    v_name VARCHAR(128),
    v_description text,
    v_is_internal BOOLEAN,
    v_type SMALLINT,
    v_custom_properties_regex text,
    v_enabled BOOLEAN)
RETURNS VOID
AS $procedure$
BEGIN
    INSERT INTO policy_units(
        id,
        name,
        description,
        is_internal,
        type,
        custom_properties_regex,
        enabled)
    VALUES(
        v_id,
        v_name,
        v_description,
        v_is_internal,
        v_type,
        v_custom_properties_regex,
        v_enabled);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdatePolicyUnit(
    v_id UUID,
    v_enabled BOOLEAN,
    v_custom_properties_regex text,
    v_description text)
RETURNS VOID
AS $procedure$
BEGIN
    UPDATE policy_units
    SET    custom_properties_regex = v_custom_properties_regex,
           enabled = v_enabled,
           description = v_description
    WHERE  id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeletePolicyUnit(v_id UUID)
RETURNS VOID
   AS $procedure$
BEGIN
   DELETE FROM policy_units
   WHERE id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertProvider(
    v_id UUID,
    v_name VARCHAR(128),
    v_description VARCHAR(4000),
    v_url VARCHAR(512),
    v_provider_type VARCHAR(32),
    v_auth_required BOOLEAN,
    v_auth_username VARCHAR(64),
    v_auth_password TEXT,
    v_custom_properties TEXT,
    v_tenant_name VARCHAR DEFAULT NULL,
    v_plugin_type VARCHAR DEFAULT NULL,
    v_agent_configuration TEXT DEFAULT NULL)
RETURNS VOID
AS $procedure$
BEGIN
    INSERT INTO providers(
        id,
        name,
        description,
        url,
        provider_type,
        auth_required,
        auth_username,
        auth_password,
        custom_properties,
        tenant_name,
        plugin_type,
        agent_configuration)
    VALUES(
        v_id,
        v_name,
        v_description,
        v_url,
        v_provider_type,
        v_auth_required,
        v_auth_username,
        v_auth_password,
        v_custom_properties,
        v_tenant_name,
        v_plugin_type,
        v_agent_configuration);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateProvider(
    v_id UUID,
    v_name VARCHAR(128),
    v_description VARCHAR(4000),
    v_url VARCHAR(512),
    v_provider_type VARCHAR(32),
    v_auth_required BOOLEAN,
    v_auth_username VARCHAR(64),
    v_auth_password TEXT,
    v_custom_properties TEXT,
    v_tenant_name VARCHAR DEFAULT NULL,
    v_plugin_type VARCHAR DEFAULT NULL,
    v_agent_configuration TEXT DEFAULT NULL)
RETURNS VOID
AS $procedure$
BEGIN
    UPDATE providers
    SET    name = v_name,
           description = v_description,
           url = v_url,
           provider_type = v_provider_type,
           auth_required = v_auth_required,
           auth_username = v_auth_username,
           auth_password = v_auth_password,
           custom_properties = v_custom_properties,
           tenant_name = v_tenant_name,
           plugin_type = v_plugin_type,
           _update_date = NOW(),
           agent_configuration = v_agent_configuration
    WHERE  id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteProvider(v_id UUID)
RETURNS VOID
AS $procedure$
BEGIN
    DELETE
    FROM   providers
    WHERE  id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromProviders() RETURNS SETOF providers STABLE
AS $procedure$
BEGIN
    RETURN QUERY
    SELECT *
    FROM   providers;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromProvidersByType(v_provider_type varchar(32)) RETURNS SETOF providers STABLE
AS $procedure$
BEGIN
    RETURN QUERY
    SELECT *
    FROM   providers
    WHERE provider_type = v_provider_type;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetProviderByProviderId(v_id UUID)
RETURNS SETOF providers STABLE
AS $procedure$
BEGIN
    RETURN QUERY
    SELECT *
    FROM   providers
    WHERE  id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetProviderByName(v_name VARCHAR)
RETURNS SETOF providers STABLE
AS $procedure$
BEGIN
    RETURN QUERY
    SELECT *
    FROM   providers
    WHERE  name = v_name;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertQuota(v_id UUID, v_storage_pool_id UUID, v_quota_name VARCHAR(50), v_description VARCHAR(500), v_threshold_vds_group_percentage INTEGER, v_threshold_storage_percentage INTEGER, v_grace_vds_group_percentage INTEGER, v_grace_storage_percentage INTEGER)
RETURNS VOID
   AS $procedure$
BEGIN
INSERT INTO quota(id, storage_pool_id, quota_name, description, threshold_vds_group_percentage, threshold_storage_percentage, grace_vds_group_percentage, grace_storage_percentage)
   VALUES(v_id,  v_storage_pool_id, v_quota_name,  v_description,  v_threshold_vds_group_percentage ,  v_threshold_storage_percentage,  v_grace_vds_group_percentage,  v_grace_storage_percentage);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertQuotaLimitation(v_id UUID, v_quota_id UUID, v_storage_id UUID, v_vds_group_id UUID, v_virtual_cpu INTEGER, v_mem_size_mb BIGINT, v_storage_size_gb BIGINT)
RETURNS VOID
   AS $procedure$
BEGIN
INSERT INTO quota_limitation(id, quota_id, storage_id, vds_group_id, virtual_cpu, mem_size_mb, storage_size_gb)
   VALUES(v_id, v_quota_id, v_storage_id, v_vds_group_id, v_virtual_cpu, v_mem_size_mb, v_storage_size_gb);

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetQuotaStorageByStorageGuid(v_storage_id UUID, v_id UUID, v_allow_empty BOOLEAN)
RETURNS SETOF quota_storage_view STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM
   (SELECT  COALESCE(q_storage_view.quota_storage_id, q_g_view.quota_id) as quota_storage_id,
            q_g_view.quota_id as quota_id,
            q_storage_view.storage_id,
            q_storage_view.storage_name,
            COALESCE(q_storage_view.storage_size_gb, q_g_view.storage_size_gb) as storage_size_gb,
            COALESCE(q_storage_view.storage_size_gb_usage, q_g_view.storage_size_gb_usage) as storage_size_gb_usage
    FROM  quota_global_view q_g_view
    LEFT OUTER JOIN quota_storage_view q_storage_view ON q_g_view.quota_id = q_storage_view.quota_id
    AND  (v_storage_id = q_storage_view.storage_id OR v_storage_id IS NULL)
   WHERE q_g_view.quota_id = v_id) sub
   WHERE (v_allow_empty OR storage_size_gb IS NOT NULL);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetQuotaByAdElementId(v_ad_element_id UUID, v_storage_pool_id UUID, v_recursive BOOLEAN)
RETURNS SETOF quota_view STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT * FROM quota_view WHERE quota_view.quota_id IN
   (SELECT object_id
    FROM PERMISSIONS
    WHERE object_type_id = 17
    AND role_id in (SELECT role_id FROM ROLES_groups where action_group_id = 901)
    AND ad_element_id = v_ad_element_id OR
        (v_recursive AND ad_element_id IN (SELECT * FROM getUserAndGroupsById(v_ad_element_id))))
    AND (v_storage_pool_id = quota_view.storage_pool_id or v_storage_pool_id IS NULL);
  END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION getAllThinQuota()
RETURNS SETOF quota_view STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM quota_view;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION getQuotaCount()
RETURNS SETOF BIGINT STABLE
   AS $procedure$
BEGIN
    RETURN QUERY SELECT count(*) as num_quota
    FROM quota;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetQuotaStorageByQuotaGuid(v_id UUID)
RETURNS SETOF quota_storage_view STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM  quota_storage_view
   WHERE quota_id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetQuotaVdsGroupByVdsGroupGuid(v_vds_group_id UUID, v_id UUID, v_allow_empty BOOLEAN)
RETURNS SETOF quota_vds_group_view STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM (SELECT COALESCE(q_vds_view.quota_vds_group_id, q_g_view.quota_id) as quota_vds_group_id,
                q_g_view.quota_id as quota_id,
                q_vds_view.vds_group_id as vds_group_id,
                q_vds_view.vds_group_name as vds_group_name,
                COALESCE(q_vds_view.virtual_cpu,q_g_view.virtual_cpu) as virtual_cpu,
                COALESCE(q_vds_view.virtual_cpu_usage, q_g_view.virtual_cpu_usage) as virtual_cpu_usage,
                COALESCE(q_vds_view.mem_size_mb,q_g_view.mem_size_mb) as mem_size_mb,
                COALESCE(q_vds_view.mem_size_mb_usage, q_g_view.mem_size_mb_usage) as mem_size_mb_usage
         FROM   quota_global_view q_g_view
         LEFT OUTER JOIN quota_vds_group_view q_vds_view ON q_g_view.quota_id = q_vds_view.quota_id
         AND   (v_vds_group_id = q_vds_view.vds_group_id OR v_vds_group_id IS NULL)
         WHERE q_g_view.quota_id = v_id) sub
   WHERE v_allow_empty OR virtual_cpu IS NOT NULL OR mem_size_mb IS NOT NULL;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetQuotaVdsGroupByQuotaGuid(v_id UUID)
RETURNS SETOF quota_vds_group_view STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT quota_vds_group_view.*
   FROM  quota_vds_group_view
   WHERE quota_id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteQuotaByQuotaGuid(v_id UUID)
RETURNS VOID
   AS $procedure$
BEGIN
   DELETE FROM quota
   WHERE id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteQuotaLimitationByQuotaGuid(v_id UUID)
RETURNS VOID
   AS $procedure$
BEGIN
   DELETE FROM quota_limitation
   WHERE quota_id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateQuotaMetaData(v_id UUID, v_storage_pool_id UUID, v_quota_name VARCHAR(50), v_description VARCHAR(500), v_threshold_vds_group_percentage INTEGER, v_threshold_storage_percentage INTEGER, v_grace_vds_group_percentage INTEGER, v_grace_storage_percentage INTEGER)
RETURNS VOID
   AS $procedure$
BEGIN
UPDATE quota
   SET storage_pool_id = v_storage_pool_id,
   quota_name = v_quota_name,
   description = v_description,
   _update_date = LOCALTIMESTAMP,
   threshold_vds_group_percentage = v_threshold_vds_group_percentage,
   threshold_storage_percentage = v_threshold_storage_percentage,
   grace_vds_group_percentage = v_grace_vds_group_percentage,
   grace_storage_percentage = v_grace_storage_percentage
   WHERE id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetQuotaByStoragePoolGuid(v_storage_pool_id UUID)
RETURNS SETOF quota_global_view STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM  quota_global_view
   WHERE (storage_pool_id = v_storage_pool_id or v_storage_pool_id IS NULL);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetQuotaByQuotaGuid(v_id UUID)
RETURNS SETOF quota_global_view STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM quota_global_view
   WHERE quota_id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetQuotaByQuotaName(v_quota_name VARCHAR)
RETURNS SETOF quota_global_view STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM quota_global_view
   WHERE quota_name = v_quota_name;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllThinQuotasByStorageId(v_storage_id UUID, v_user_id UUID, v_is_filtered boolean)
RETURNS SETOF quota_view STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT DISTINCT
    quota_id,
    storage_pool_id,
    storage_pool_name,
    quota_name,
    description,
    threshold_vds_group_percentage,
    threshold_storage_percentage,
    grace_vds_group_percentage,
    grace_storage_percentage,
    quota_enforcement_type
   FROM   quota_limitations_view
   WHERE  (storage_id = v_storage_id
   OR     (is_global AND
           NOT is_empty AND
           storage_size_gb IS NOT null AND
           storage_pool_id IN (SELECT storage_pool_id FROM storage_pool_iso_map
               WHERE  storage_id = v_storage_id)))
   AND (NOT v_is_filtered OR
          EXISTS (SELECT 1 FROM permissions p
                  JOIN user_flat_groups u ON
                  u.granted_id = p.ad_element_id WHERE
                  u.user_id = v_user_id AND
                  p.object_type_id = 17 AND -- quota object
                  p.role_id = 'def0000a-0000-0000-0000-def00000000a' AND -- consume quota
                  quota_id = p.object_id));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllThinQuotasByVDSGroupId(v_vds_group_id UUID, v_user_id UUID, v_is_filtered boolean)
RETURNS SETOF quota_view STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT DISTINCT
    quota_id,
    storage_pool_id,
    storage_pool_name,
    quota_name,
    description,
    threshold_vds_group_percentage,
    threshold_storage_percentage,
    grace_vds_group_percentage,
    grace_storage_percentage,
    quota_enforcement_type
   FROM   quota_limitations_view
   WHERE  (vds_group_id = v_vds_group_id
   OR     (is_global AND
           NOT is_empty AND
           virtual_cpu IS NOT null AND
           storage_pool_id IN (SELECT storage_pool_id FROM vds_groups
               WHERE  vds_group_id = v_vds_group_id)))
   AND (NOT v_is_filtered OR
          EXISTS (SELECT 1 FROM permissions p
                  JOIN user_flat_groups u ON
                  u.granted_id = p.ad_element_id WHERE
                  u.user_id = v_user_id AND
                  p.object_type_id = 17 AND -- quota object
                  p.role_id = 'def0000a-0000-0000-0000-def00000000a' AND -- consume quota
                  quota_id = p.object_id));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION IsQuotaInUse(v_quota_id UUID)
RETURNS boolean STABLE
    AS $BODY$
DECLARE
    result boolean := FALSE;
BEGIN
    if EXISTS (SELECT quota_id
                    FROM image_storage_domain_map
                    WHERE quota_id = v_quota_id
    UNION SELECT quota_id
              FROM vm_static
              WHERE quota_id = v_quota_id) then
        result := TRUE;
    END if;
    return result;
END; $BODY$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertRepo_domain_file_meta_data(v_repo_domain_id UUID,
    v_repo_image_id VARCHAR(256),
    v_repo_image_name VARCHAR(256),
    v_size BIGINT,
    v_date_created TIMESTAMP WITH TIME ZONE,
    v_last_refreshed BIGINT,
    v_file_type INTEGER)
RETURNS VOID
   AS $procedure$
BEGIN

INSERT INTO repo_file_meta_data(repo_domain_id, repo_image_id, repo_image_name, size, date_created,
        last_refreshed, file_type)
    VALUES(v_repo_domain_id, v_repo_image_id, v_repo_image_name, v_size, v_date_created,
        v_last_refreshed, v_file_type);

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteRepo_domain_file_list(v_storage_domain_id UUID, v_file_type INTEGER DEFAULT NULL)
RETURNS VOID
   AS $procedure$
BEGIN

   DELETE FROM repo_file_meta_data
   WHERE repo_domain_id = v_storage_domain_id
     AND (v_file_type IS NULL OR file_type = v_file_type);

   RETURN;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetRepo_files_by_storage_domain(v_storage_domain_id UUID, v_file_type INTEGER DEFAULT NULL)
RETURNS SETOF repo_file_meta_data STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT repo_file_meta_data.*
   FROM repo_file_meta_data
   WHERE repo_domain_id = v_storage_domain_id
   AND (v_file_type IS NULL OR repo_file_meta_data.file_type = v_file_type)
   ORDER BY repo_file_meta_data.last_refreshed;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
DROP TYPE IF EXISTS GetRepo_files_in_all_storage_pools_rs CASCADE;
**************************

DROP TYPE
********* QUERY **********
CREATE TYPE GetRepo_files_in_all_storage_pools_rs AS(storage_domain_id UUID, last_refreshed BIGINT, file_type INTEGER);
**************************

CREATE TYPE
********* QUERY **********
Create or replace FUNCTION GetRepo_files_in_all_storage_pools(v_storage_domain_type INTEGER, v_storage_pool_status INTEGER,
   v_vds_status INTEGER, v_storage_domain_status INTEGER)
RETURNS SETOF GetRepo_files_in_all_storage_pools_rs STABLE
   AS $procedure$
BEGIN
 RETURN QUERY SELECT distinct b.storage_domain_id,c.last_refreshed,b.file_type
   FROM storage_domain_file_repos b
   LEFT OUTER JOIN
   (SELECT storage_domain_id,file_type,min(last_refreshed) as last_refreshed
      FROM storage_domain_file_repos a
   	  Group by storage_domain_id,file_type) as c ON b.storage_domain_id = c.storage_domain_id
                                                 AND b.file_type = c.file_type
   WHERE b.storage_domain_type = v_storage_domain_type
     and b.storage_pool_status = v_storage_pool_status
     and b.storage_domain_status = v_storage_domain_status
	 and b.vds_status = v_vds_status;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertSnapshot(
    v_snapshot_id UUID,
    v_vm_id UUID,
    v_snapshot_type VARCHAR(32),
    v_status VARCHAR(32),
    v_description VARCHAR(4000),
    v_creation_date TIMESTAMP WITH TIME ZONE,
    v_app_list TEXT,
    v_vm_configuration TEXT,
    v_memory_volume VARCHAR(255))
RETURNS VOID
AS $procedure$
BEGIN
    INSERT INTO snapshots(
        snapshot_id,
        status,
        vm_id,
        snapshot_type,
        description,
        creation_date,
        app_list,
        vm_configuration,
        memory_volume)
    VALUES(
        v_snapshot_id,
        v_status,
        v_vm_id,
        v_snapshot_type,
        v_description,
        v_creation_date,
        v_app_list,
        v_vm_configuration,
        v_memory_volume);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateSnapshot(
    v_snapshot_id UUID,
    v_vm_id UUID,
    v_snapshot_type VARCHAR(32),
    v_status VARCHAR(32),
    v_description VARCHAR(4000),
    v_creation_date TIMESTAMP WITH TIME ZONE,
    v_app_list TEXT,
    v_vm_configuration TEXT,
    v_memory_volume VARCHAR(255))
RETURNS VOID
AS $procedure$
BEGIN
    UPDATE snapshots
    SET    status = v_status,
           vm_id = v_vm_id,
           snapshot_type = v_snapshot_type,
           description = v_description,
           creation_date = v_creation_date,
           app_list = v_app_list,
           vm_configuration = v_vm_configuration,
           memory_volume = v_memory_volume,
           _update_date = NOW()
    WHERE  snapshot_id = v_snapshot_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateSnapshotStatus(
    v_snapshot_id UUID,
    v_status VARCHAR(32))
RETURNS VOID
AS $procedure$
BEGIN
    UPDATE snapshots
    SET    status = v_status
    WHERE  snapshot_id = v_snapshot_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateSnapshotId(
    v_snapshot_id UUID,
    v_new_snapshot_id UUID)
RETURNS VOID
AS $procedure$
BEGIN
    UPDATE snapshots
    SET    snapshot_id = v_new_snapshot_id
    WHERE  snapshot_id = v_snapshot_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteSnapshot(v_snapshot_id UUID)
RETURNS VOID
AS $procedure$
BEGIN
    DELETE
    FROM   snapshots
    WHERE  snapshot_id = v_snapshot_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromSnapshots() RETURNS SETOF snapshots STABLE
AS $procedure$
BEGIN
    RETURN QUERY
    SELECT *
    FROM   snapshots;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetSnapshotByVmIdAndType(
    v_vm_id UUID,
    v_snapshot_type VARCHAR(32))
RETURNS SETOF snapshots STABLE
AS $procedure$
BEGIN
    RETURN QUERY
    SELECT *
    FROM   snapshots
    WHERE  vm_id = v_vm_id
    AND    snapshot_type = v_snapshot_type
    ORDER BY creation_date ASC
    LIMIT 1;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetSnapshotByVmIdAndTypeAndStatus(
    v_vm_id UUID,
    v_snapshot_type VARCHAR(32),
    v_status VARCHAR(32))
RETURNS SETOF snapshots STABLE
AS $procedure$
BEGIN
    RETURN QUERY
    SELECT *
    FROM   snapshots
    WHERE  vm_id = v_vm_id
    AND    snapshot_type = v_snapshot_type
    AND    status = v_status
    ORDER BY creation_date ASC
    LIMIT 1;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
DROP TYPE IF EXISTS GetAllFromSnapshotsByVmId_rs CASCADE;
**************************

DROP TYPE
********* QUERY **********
CREATE TYPE GetAllFromSnapshotsByVmId_rs AS (snapshot_id UUID, vm_id UUID, snapshot_type VARCHAR(32), status VARCHAR(32), description VARCHAR(4000), creation_date TIMESTAMP WITH TIME ZONE, app_list TEXT, memory_volume VARCHAR(255), vm_configuration TEXT, vm_configuration_available BOOLEAN);
**************************

CREATE TYPE
********* QUERY **********
Create or replace FUNCTION GetAllFromSnapshotsByVmId(
    v_vm_id UUID,
    v_user_id UUID,
    v_is_filtered BOOLEAN,
    v_fill_configuration BOOLEAN) RETURNS SETOF GetAllFromSnapshotsByVmId_rs STABLE
AS $procedure$
BEGIN
    RETURN QUERY
    SELECT snapshot_id,
           vm_id,
           snapshot_type,
           status,
           description,
           creation_date,
           app_list,
           memory_volume,
           CASE WHEN v_fill_configuration = TRUE THEN vm_configuration ELSE NULL END,
           vm_configuration IS NOT NULL AND LENGTH(vm_configuration) > 0
    FROM   snapshots
    WHERE  vm_id = v_vm_id
    AND (NOT v_is_filtered OR EXISTS (SELECT 1
                                      FROM   user_vm_permissions_view
                                      WHERE  user_id = v_user_id AND entity_id = v_vm_id))
    ORDER BY creation_date ASC;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetSnapshotBySnapshotId(v_snapshot_id UUID, v_user_id UUID, v_is_filtered BOOLEAN)
RETURNS SETOF snapshots STABLE
AS $procedure$
BEGIN
    RETURN QUERY
    SELECT *
    FROM   snapshots
    WHERE  snapshot_id = v_snapshot_id AND (NOT v_is_filtered OR EXISTS (SELECT 1
                                        FROM   user_vm_permissions_view
                                        WHERE  user_id = v_user_id AND entity_id = (SELECT vm_id
                                        FROM snapshots where snapshot_id = v_snapshot_id)));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetSnapshotIdsByVmIdAndType(
    v_vm_id UUID,
    v_snapshot_type VARCHAR(32))
RETURNS SETOF idUuidType STABLE
AS $procedure$
BEGIN
    RETURN QUERY
    SELECT snapshot_id
    FROM   snapshots
    WHERE  vm_id = v_vm_id
    AND    snapshot_type = v_snapshot_type
    ORDER BY creation_date ASC;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetSnapshotIdsByVmIdAndTypeAndStatus(
    v_vm_id UUID,
    v_snapshot_type VARCHAR(32),
    v_status VARCHAR(32))
RETURNS SETOF idUuidType STABLE
AS $procedure$
BEGIN
    RETURN QUERY
    SELECT snapshot_id
    FROM   snapshots
    WHERE  vm_id = v_vm_id
    AND    snapshot_type = v_snapshot_type
    AND    status = v_status
    ORDER BY creation_date ASC;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION CheckIfSnapshotExistsByVmIdAndType(
    v_vm_id UUID,
    v_snapshot_type VARCHAR(32))
RETURNS SETOF booleanResultType STABLE
AS $procedure$
BEGIN
    RETURN QUERY
    SELECT EXISTS(
        SELECT *
        FROM   snapshots
        WHERE  vm_id = v_vm_id
        AND    snapshot_type = v_snapshot_type);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION CheckIfSnapshotExistsByVmIdAndStatus(
    v_vm_id UUID,
    v_status VARCHAR(32))
RETURNS SETOF booleanResultType STABLE
AS $procedure$
BEGIN
    RETURN QUERY
    SELECT EXISTS(
        SELECT *
        FROM   snapshots
        WHERE  vm_id = v_vm_id
        AND    status = v_status);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION CheckIfSnapshotExistsByVmIdAndSnapshotId(
    v_vm_id UUID,
    v_snapshot_id UUID)
RETURNS SETOF booleanResultType STABLE
AS $procedure$
BEGIN
    RETURN QUERY
    SELECT EXISTS(
        SELECT *
        FROM   snapshots
        WHERE  vm_id = v_vm_id
        AND    snapshot_id = v_snapshot_id);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetNumOfSnapshotsByMemoryVolume(
    v_memory_volume VARCHAR(255))
RETURNS SETOF BIGINT STABLE
AS $procedure$
BEGIN
    RETURN QUERY
    SELECT COUNT(*)
    FROM   snapshots
    WHERE  memory_volume = v_memory_volume;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION RemoveMemoryFromSnapshotByVmIdAndType(
    v_vm_id UUID,
    v_snapshot_type VARCHAR(32))
RETURNS VOID
AS $procedure$
BEGIN
    UPDATE snapshots
    SET    memory_volume = NULL
    WHERE  vm_id = v_vm_id
    AND    snapshot_type = v_snapshot_type;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION RemoveMemoryFromSnapshotBySnapshotId(
    v_snapshot_id UUID)
RETURNS VOID
AS $procedure$
BEGIN
    UPDATE snapshots
    SET    memory_volume = NULL
    WHERE  snapshot_id = v_snapshot_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertLUNs(v_LUN_id VARCHAR(50),
	v_physical_volume_id VARCHAR(50) ,
	v_volume_group_id VARCHAR(50) ,
	v_serial VARCHAR(4000) ,
	v_lun_mapping INTEGER ,
	v_vendor_id VARCHAR(50) ,
	v_product_id VARCHAR(50) ,
	v_device_size INTEGER)
RETURNS VOID
   AS $procedure$
BEGIN
INSERT INTO LUNs(LUN_id, physical_volume_id, volume_group_id, serial, lun_mapping, vendor_id, product_id, device_size)
	VALUES(v_LUN_id, v_physical_volume_id, v_volume_group_id, v_serial, v_lun_mapping, v_vendor_id, v_product_id, v_device_size);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateLUNsVolumeGroupId(v_LUN_id VARCHAR(50),
v_volume_group_id VARCHAR(50))
RETURNS VOID
   AS $procedure$
BEGIN
UPDATE LUNs set volume_group_id = v_volume_group_id where LUN_id = v_LUN_ID;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateLUNsDeviceSize(v_LUN_id VARCHAR(50),
    v_device_size INTEGER)
RETURNS VOID
   AS $procedure$
BEGIN
UPDATE LUNs set device_size = v_device_size where LUN_id = v_LUN_ID;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteLUN(v_LUN_id VARCHAR(50))
RETURNS VOID
   AS $procedure$
   DECLARE
   v_val  VARCHAR(50);
BEGIN

	-- Get (and keep) a shared lock with "right to upgrade to exclusive"
	-- in order to force locking parent before children
   select   LUN_id INTO v_val FROM LUNs  WHERE LUN_id = v_LUN_id     FOR UPDATE;

   DELETE FROM LUNs
   WHERE LUN_id = v_LUN_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromLUNs() RETURNS SETOF luns_view STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM luns_view;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetLUNsBystorage_server_connection(v_storage_server_connection VARCHAR(50)) RETURNS SETOF luns_view STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT luns_view.*
   FROM luns_view INNER JOIN
   LUN_storage_server_connection_map
   ON LUN_storage_server_connection_map.LUN_id = luns_view.LUN_id
   WHERE LUN_storage_server_connection_map.storage_server_connection = v_storage_server_connection;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetLUNsByVolumeGroupId(v_volume_group_id VARCHAR(50))
RETURNS SETOF luns_view STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM luns_view
   WHERE volume_group_id = v_volume_group_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetLUNByLUNId(v_LUN_id VARCHAR(50))
RETURNS SETOF luns_view STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM luns_view
   WHERE LUN_id = v_LUN_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Insertstorage_domain_dynamic(v_available_disk_size INTEGER ,
	v_id UUID,
	v_used_disk_size INTEGER)
RETURNS VOID
   AS $procedure$
BEGIN
INSERT INTO storage_domain_dynamic(available_disk_size, id, used_disk_size)
	VALUES(v_available_disk_size, v_id, v_used_disk_size);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Updatestorage_domain_dynamic(v_available_disk_size INTEGER ,
	v_id UUID,
	v_used_disk_size INTEGER)
RETURNS VOID
	
   AS $procedure$
BEGIN
      UPDATE storage_domain_dynamic
      SET available_disk_size = v_available_disk_size,used_disk_size = v_used_disk_size, _update_date = LOCALTIMESTAMP
      WHERE id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Deletestorage_domain_dynamic(v_id UUID)
RETURNS VOID
   AS $procedure$
BEGIN

   DELETE FROM storage_domain_dynamic
   WHERE id = v_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromstorage_domain_dynamic() RETURNS SETOF storage_domain_dynamic STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM storage_domain_dynamic;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getstorage_domain_dynamicByid(v_id UUID)
RETURNS SETOF storage_domain_dynamic STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM storage_domain_dynamic
   WHERE id = v_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Insertstorage_pool_iso_map(v_storage_id UUID,
	v_storage_pool_id UUID,
	v_status INTEGER)
RETURNS VOID
   AS $procedure$
BEGIN
INSERT INTO storage_pool_iso_map(storage_id, storage_pool_id, status)
	VALUES(v_storage_id, v_storage_pool_id, v_status);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Deletestorage_pool_iso_map(v_storage_id UUID,
	v_storage_pool_id UUID)
RETURNS VOID
   AS $procedure$
BEGIN

   DELETE FROM storage_pool_iso_map
   WHERE storage_id = v_storage_id AND storage_pool_id = v_storage_pool_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromstorage_pool_iso_map() RETURNS SETOF storage_pool_iso_map STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM storage_pool_iso_map;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getstorage_pool_iso_mapBystorage_idAndBystorage_pool_id(v_storage_id UUID,v_storage_pool_id UUID) RETURNS SETOF storage_pool_iso_map STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM storage_pool_iso_map
   WHERE storage_id = v_storage_id AND storage_pool_id = v_storage_pool_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getstorage_pool_iso_mapsBystorage_id(v_storage_id UUID)
RETURNS SETOF storage_pool_iso_map STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM storage_pool_iso_map
   WHERE storage_id = v_storage_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getstorage_pool_iso_mapsByBystorage_pool_id(v_storage_id UUID,
	v_storage_pool_id UUID) RETURNS SETOF storage_pool_iso_map STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM storage_pool_iso_map
   WHERE storage_pool_id = v_storage_pool_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Updatestorage_pool_iso_map_status(v_storage_id UUID,
        v_storage_pool_id UUID,
        v_status INTEGER)
RETURNS VOID
   AS $procedure$
BEGIN
   UPDATE storage_pool_iso_map
   SET status = v_status
   WHERE storage_pool_id = v_storage_pool_id AND storage_id = v_storage_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Insertstorage_server_connections(v_connection VARCHAR(250),
	v_id VARCHAR(50),
	v_iqn VARCHAR(128) ,
	v_port VARCHAR(50) ,
	v_portal VARCHAR(50) ,
	v_password text,
	v_storage_type INTEGER,
	v_user_name VARCHAR(50),
	v_mount_options VARCHAR(500),
	v_vfs_type VARCHAR(128),
	v_nfs_version VARCHAR(4),
	v_nfs_timeo smallint,
	v_nfs_retrans smallint)
RETURNS VOID
   AS $procedure$
BEGIN
INSERT INTO storage_server_connections(connection, id, iqn, port,portal,
	password, storage_type, user_name,mount_options,vfs_type,nfs_version,nfs_timeo,nfs_retrans)
	VALUES(v_connection, v_id, v_iqn,v_port,v_portal, v_password, v_storage_type, v_user_name,v_mount_options,v_vfs_type,v_nfs_version,v_nfs_timeo,v_nfs_retrans);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Updatestorage_server_connections(v_connection VARCHAR(250),
	v_id VARCHAR(50),
	v_iqn VARCHAR(128) ,
	v_password text,
	v_storage_type INTEGER,
	v_port VARCHAR(50) ,
	v_portal VARCHAR(50) ,
	v_user_name VARCHAR(50),
	v_mount_options VARCHAR(500),
	v_vfs_type VARCHAR(128),
	v_nfs_version VARCHAR(4),
	v_nfs_timeo smallint,
	v_nfs_retrans smallint)
RETURNS VOID
	
   AS $procedure$
BEGIN
      UPDATE storage_server_connections
      SET connection = v_connection,iqn = v_iqn,password = v_password,port = v_port,
      portal = v_portal,storage_type = v_storage_type,user_name = v_user_name,mount_options = v_mount_options, vfs_type = v_vfs_type, nfs_version = v_nfs_version, nfs_timeo = v_nfs_timeo, nfs_retrans = v_nfs_retrans
      WHERE id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Deletestorage_server_connections(v_id VARCHAR(50))
RETURNS VOID
   AS $procedure$
   DECLARE
   v_val  VARCHAR(50);
BEGIN

	-- Get (and keep) a shared lock with "right to upgrade to exclusive"
	-- in order to force locking parent before children
   select   id INTO v_val FROM storage_server_connections  WHERE id = v_id     FOR UPDATE;

   DELETE FROM storage_server_connections
   WHERE id = v_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getstorage_server_connectionsByid(v_id VARCHAR(50))
RETURNS SETOF storage_server_connections STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM storage_server_connections
   WHERE id = v_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getstorage_server_connectionsByConnection(v_connection VARCHAR(250))
RETURNS SETOF storage_server_connections STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM storage_server_connections
   WHERE connection = v_connection;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getstorage_server_connectionsByIqn(v_iqn VARCHAR(128))
RETURNS SETOF storage_server_connections STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM storage_server_connections
   WHERE iqn = v_iqn;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getstorage_server_connectionsByIqnAndConnection(v_iqn VARCHAR(128) ,
	v_connection VARCHAR(250)) RETURNS SETOF storage_server_connections STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM storage_server_connections
   WHERE iqn = v_iqn and (connection = v_connection or connection is NULL);

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getstorage_server_connectionsByKey(v_iqn VARCHAR(128) ,
	v_connection VARCHAR(250),
	v_port VARCHAR(50) ,
	v_portal VARCHAR(50) ,
	v_username VARCHAR(50) ,
	v_password VARCHAR(50)) RETURNS SETOF storage_server_connections STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM storage_server_connections
   WHERE (iqn = v_iqn or iqn is NULL) and
			(connection = v_connection) and
			(port = v_port or port is NULL) and
			(portal = v_portal or portal is NULL) and
			(user_name = v_username or user_name is NULL) and
			(password = v_password or password is NULL);

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getstorage_server_connectionsByStorageType(v_storage_type INTEGER)
RETURNS SETOF storage_server_connections STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM storage_server_connections
   WHERE storage_type = v_storage_type;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllstorage_server_connections()
RETURNS SETOF storage_server_connections STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM storage_server_connections;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getstorage_server_connectionsByVolumeGroupId(v_volume_group_id VARCHAR(50)) RETURNS SETOF storage_server_connections STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT storage_server_connections.*
   FROM
   LUN_storage_server_connection_map  LUN_storage_server_connection_map
   INNER JOIN
   LUNs ON LUN_storage_server_connection_map.LUN_id = LUNs.LUN_id INNER JOIN
   storage_domain_static ON LUNs.volume_group_id = storage_domain_static.storage INNER JOIN
   storage_server_connections ON
   LUN_storage_server_connection_map.storage_server_connection = storage_server_connections.id
   WHERE     (storage_domain_static.storage = v_volume_group_id);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllConnectableStorageSeverConnection(v_storage_pool_id UUID)
RETURNS SETOF storage_server_connections STABLE
   AS $procedure$
BEGIN
RETURN QUERY SELECT distinct storage_server_connections.*
   FROM
   LUN_storage_server_connection_map LUN_storage_server_connection_map
   INNER JOIN  LUNs ON LUN_storage_server_connection_map.LUN_id = LUNs.LUN_id
   INNER JOIN  storage_domains ON LUNs.volume_group_id = storage_domains.storage
   INNER JOIN  storage_server_connections ON LUN_storage_server_connection_map.storage_server_connection = storage_server_connections.id
   WHERE     (storage_domains.storage_pool_id = v_storage_pool_id  and storage_domains.status in(0,3,4))
   UNION
   SELECT distinct storage_server_connections.*
   FROM         storage_server_connections
   INNER JOIN  storage_domains ON storage_server_connections.id = storage_domains.storage
   WHERE     (storage_domains.storage_pool_id = v_storage_pool_id and storage_domains.status in(0,3,4));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetNFSstorage_server_connectionsByStoragePoolId(v_storage_pool_id UUID)
RETURNS SETOF storage_server_connections STABLE
   AS $procedure$
BEGIN
RETURN QUERY SELECT distinct storage_server_connections.*
   FROM    storage_server_connections storage_server_connections
   INNER JOIN
   storage_domain_static_view ON
   storage_server_connections.id = storage_domain_static_view.storage
   WHERE     (storage_domain_static_view.storage_pool_id = v_storage_pool_id);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getstorage_server_connectionsByLunId(v_lunId VARCHAR(50))
RETURNS SETOF storage_server_connections STABLE
   AS $procedure$
BEGIN
RETURN QUERY SELECT storage_server_connections.*
   FROM  storage_server_connections storage_server_connections
   INNER JOIN lun_storage_server_connection_map ON
   lun_storage_server_connection_map.storage_server_connection = storage_server_connections.id
   WHERE     (lun_storage_server_connection_map.lun_id = v_lunId);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertLUN_storage_server_connection_map(v_LUN_id VARCHAR(50),
	v_storage_server_connection VARCHAR(50))
RETURNS VOID
   AS $procedure$
BEGIN
INSERT INTO LUN_storage_server_connection_map(LUN_id, storage_server_connection)
	VALUES(v_LUN_id, v_storage_server_connection);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateLUN_storage_server_connection_map(v_LUN_id VARCHAR(50),
	v_storage_server_connection VARCHAR(50))
RETURNS VOID
	
   AS $procedure$
BEGIN
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteLUN_storage_server_connection_map(v_LUN_id VARCHAR(50),
	v_storage_server_connection VARCHAR(50))
RETURNS VOID
   AS $procedure$
BEGIN

   DELETE FROM LUN_storage_server_connection_map
   WHERE LUN_id = v_LUN_id AND storage_server_connection = v_storage_server_connection;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromLUN_storage_server_connection_map()
RETURNS SETOF LUN_storage_server_connection_map STABLE
   AS $procedure$
BEGIN

   RETURN QUERY SELECT *
   FROM LUN_storage_server_connection_map lUN_storage_server_connection_map;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetLUN_storage_server_connection_mapByLUNBystorage_server_conn(v_LUN_id VARCHAR(50),v_storage_server_connection VARCHAR(50)) RETURNS SETOF LUN_storage_server_connection_map STABLE
   AS $procedure$
BEGIN

   RETURN QUERY SELECT *
   FROM LUN_storage_server_connection_map lUN_storage_server_connection_map
   WHERE LUN_id = v_LUN_id AND storage_server_connection = v_storage_server_connection;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Insertstorage_pool(v_description VARCHAR(4000),
	v_free_text_comment text,
	v_id UUID,
	v_name VARCHAR(40),
	v_storage_pool_type INTEGER,
	v_status INTEGER,
	v_master_domain_version INTEGER,
	v_spm_vds_id UUID ,
	v_compatibility_version VARCHAR(40),
	v_quota_enforcement_type INTEGER)
RETURNS VOID
   AS $procedure$
BEGIN
INSERT INTO storage_pool(description, free_text_comment, id, name, storage_pool_type,status,master_domain_version,spm_vds_id,compatibility_version,quota_enforcement_type)
	VALUES(v_description, v_free_text_comment, v_id, v_name, v_storage_pool_type,v_status,v_master_domain_version,v_spm_vds_id,v_compatibility_version,v_quota_enforcement_type);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Updatestorage_pool(v_description VARCHAR(4000),
	v_free_text_comment text,
	v_id UUID,
	v_name VARCHAR(40),
	v_storage_pool_type INTEGER,
	v_status INTEGER,
        v_storage_pool_format_type VARCHAR(50),
	v_master_domain_version INTEGER,
	v_spm_vds_id UUID ,
	v_compatibility_version VARCHAR(40),
	v_quota_enforcement_type INTEGER)
RETURNS VOID
	
   AS $procedure$
BEGIN
      UPDATE storage_pool
      SET description = v_description, free_text_comment = v_free_text_comment,  name = v_name,storage_pool_type = v_storage_pool_type,
      status = v_status,storage_pool_format_type = v_storage_pool_format_type,master_domain_version = v_master_domain_version,
      spm_vds_id = v_spm_vds_id,compatibility_version = v_compatibility_version,
      _update_date = LOCALTIMESTAMP,quota_enforcement_type=v_quota_enforcement_type
      WHERE id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Updatestorage_pool_partial(v_description VARCHAR(4000),
	v_free_text_comment text,
	v_id UUID,
	v_name VARCHAR(40),
	v_storage_pool_type INTEGER,
	v_storage_pool_format_type VARCHAR(50),
	v_compatibility_version VARCHAR(40),
	v_quota_enforcement_type INTEGER)
RETURNS VOID
	
   AS $procedure$
BEGIN
      UPDATE storage_pool
      SET description = v_description, free_text_comment = v_free_text_comment, name = v_name,storage_pool_type = v_storage_pool_type,
      storage_pool_format_type = v_storage_pool_format_type,compatibility_version = v_compatibility_version,
      _update_date = LOCALTIMESTAMP,quota_enforcement_type = v_quota_enforcement_type
      WHERE id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Updatestorage_pool_status(
        v_id UUID,
        v_status INTEGER)
RETURNS VOID
   AS $procedure$
BEGIN
      UPDATE storage_pool
      SET
      status = v_status,
      _update_date = LOCALTIMESTAMP
      WHERE id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION IncreaseStoragePoolMasterVersion(
        v_id UUID)
RETURNS INTEGER
   AS $procedure$
DECLARE v_master_domain_version INTEGER;
BEGIN
      UPDATE storage_pool
      SET
      master_domain_version = master_domain_version + 1
      WHERE id = v_id
      RETURNING master_domain_version into v_master_domain_version;

      RETURN v_master_domain_version;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Deletestorage_pool(v_id UUID)
RETURNS VOID
   AS $procedure$
   DECLARE
   v_val  UUID;
BEGIN

         -- Get (and keep) a shared lock with "right to upgrade to exclusive"
    select vm_guid INTO v_val FROM vm_static where vm_guid in (select vm_guid from vms where storage_pool_id = v_id) FOR UPDATE;
    DELETE
    FROM   snapshots
    WHERE  vm_id IN (
        SELECT vm_guid
        FROM   vms
        WHERE  storage_pool_id = v_id);
    delete FROM vm_static where vm_guid in (select vm_guid from vms where storage_pool_id = v_id);

	-- Get (and keep) a shared lock with "right to upgrade to exclusive"
	-- in order to force locking parent before children
   select   id INTO v_val FROM storage_pool  WHERE id = v_id     FOR UPDATE;

   DELETE FROM storage_pool
   WHERE id = v_id;

	-- delete StoragePool permissions --
   DELETE FROM permissions where object_id = v_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromstorage_pool(v_user_id UUID, v_is_filtered BOOLEAN) RETURNS SETOF storage_pool STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM storage_pool
   WHERE (NOT v_is_filtered OR EXISTS (SELECT 1
                                       FROM   user_storage_pool_permissions_view
                                       WHERE  user_id = v_user_id AND entity_id = id));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllByStatus(v_status INTEGER) RETURNS SETOF storage_pool STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM storage_pool
   WHERE status = v_status;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getstorage_poolByid(v_id UUID, v_user_id UUID, v_is_filtered BOOLEAN) RETURNS SETOF storage_pool STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM storage_pool
   WHERE id = v_id
   AND (NOT v_is_filtered OR EXISTS (SELECT 1
                                     FROM   user_storage_pool_permissions_view
                                     WHERE  user_id = v_user_id AND entity_id = v_id));



END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getstorage_poolByName(v_name VARCHAR(40), v_is_case_sensitive BOOLEAN)
RETURNS SETOF storage_pool STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM storage_pool
   WHERE name = v_name OR (NOT v_is_case_sensitive AND name ilike v_name);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getstorage_poolsByType(v_storage_pool_type INTEGER)
RETURNS SETOF storage_pool STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM storage_pool
   WHERE storage_pool_type = v_storage_pool_type;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getstorage_poolsByStorageDomainId(v_storage_domain_id UUID)
RETURNS SETOF storage_pool STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT storage_pool.*
   FROM storage_pool
   inner join storage_pool_iso_map on storage_pool.id = storage_pool_iso_map.storage_pool_id
   WHERE storage_pool_iso_map.storage_id = v_storage_domain_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getstorage_poolsByVdsId(v_vdsId UUID)
RETURNS SETOF storage_pool STABLE
   AS $procedure$
   DECLARE
   v_clusterId  UUID;
BEGIN
select   vds_group_id INTO v_clusterId FROM Vds_static WHERE vds_id = v_vdsId;
   RETURN QUERY SELECT *
   FROM storage_pool
   WHERE storage_pool.id in(select storage_pool_id
      FROM vds_groups
      WHERE vds_group_id = v_clusterId);

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getstorage_poolsByVdsGroupId(v_clusterId UUID)
RETURNS SETOF storage_pool STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM storage_pool
   WHERE storage_pool.id in(select storage_pool_id
      FROM vds_groups
      WHERE vds_group_id = v_clusterId);

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Insertstorage_domain_static(v_id UUID,
	v_storage VARCHAR(250),
	v_storage_name VARCHAR(250),
        v_storage_description VARCHAR(4000),
	v_storage_comment text,
	v_storage_type INTEGER,
	v_storage_domain_type INTEGER,
    v_storage_domain_format_type VARCHAR(50),
    v_last_time_used_as_master BIGINT)
RETURNS VOID
   AS $procedure$
   BEGIN
INSERT INTO storage_domain_static(id, storage,storage_name, storage_description, storage_comment, storage_type, storage_domain_type, storage_domain_format_type, last_time_used_as_master)
	VALUES(v_id, v_storage, v_storage_name, v_storage_description, v_storage_comment, v_storage_type, v_storage_domain_type, v_storage_domain_format_type, v_last_time_used_as_master);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getstorage_domains_List_By_ImageId(v_image_id UUID) RETURNS SETOF storage_domains STABLE
   AS $procedure$
BEGIN
    RETURN QUERY SELECT *
    FROM storage_domains
    WHERE id in (SELECT storage_domain_id
                 FROM image_storage_domain_map
                 WHERE image_id = v_image_id);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Updatestorage_domain_static(v_id UUID,
	v_storage VARCHAR(250),
	v_storage_name VARCHAR(250),
	v_storage_description VARCHAR(4000),
	v_storage_comment text,
	v_storage_type INTEGER,
	v_storage_domain_type INTEGER,
	v_storage_domain_format_type INTEGER,
	v_last_time_used_as_master BIGINT)
RETURNS VOID
	
   AS $procedure$
BEGIN
      UPDATE storage_domain_static
      SET storage = v_storage, storage_name = v_storage_name, storage_type = v_storage_type,
      storage_domain_type = v_storage_domain_type, _update_date = LOCALTIMESTAMP,
      storage_domain_format_type = v_storage_domain_format_type,
      last_time_used_as_master = v_last_time_used_as_master,
      storage_description = v_storage_description, storage_comment = v_storage_comment
      WHERE id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Deletestorage_domain_static(v_id UUID)
RETURNS VOID
   AS $procedure$
   DECLARE
   v_val  UUID;
BEGIN

	-- Get (and keep) a shared lock with "right to upgrade to exclusive"
	-- in order to force locking parent before children
   select   id INTO v_val FROM storage_domain_static  WHERE id = v_id     FOR UPDATE;

   DELETE FROM storage_domain_static
   WHERE id = v_id;

	-- delete Storage permissions --
   DELETE FROM permissions where object_id = v_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromstorage_domain_static() RETURNS SETOF storage_domain_static STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM storage_domain_static;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getstorage_domain_staticByid(v_id UUID)
RETURNS SETOF storage_domain_static STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM storage_domain_static
   WHERE id = v_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getstorage_domain_staticByName(v_name VARCHAR(250))
RETURNS SETOF storage_domain_static STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM storage_domain_static
   WHERE storage_name = v_name;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getstorage_domain_staticBystorage_pool_id(v_storage_pool_id UUID)
RETURNS SETOF storage_domain_static_view STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM storage_domain_static_view
   WHERE storage_pool_id = v_storage_pool_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
DROP TYPE IF EXISTS GetStorageDomainIdsByStoragePoolIdAndStatus_rs CASCADE;
**************************

DROP TYPE
********* QUERY **********
CREATE TYPE GetStorageDomainIdsByStoragePoolIdAndStatus_rs AS (storage_id UUID);
**************************

CREATE TYPE
********* QUERY **********
Create or replace FUNCTION GetStorageDomainIdsByStoragePoolIdAndStatus(v_storage_pool_id UUID, v_status INTEGER)
RETURNS SETOF GetStorageDomainIdsByStoragePoolIdAndStatus_rs STABLE
   AS $procedure$
BEGIN
   RETURN QUERY
   SELECT storage_id
   FROM   storage_pool_iso_map
   WHERE  storage_pool_id = v_storage_pool_id
   AND    status = v_status;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getstorage_domains_By_id(v_id UUID, v_user_id UUID, v_is_filtered BOOLEAN)
RETURNS SETOF storage_domains_without_storage_pools STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM storage_domains_without_storage_pools
   WHERE id = v_id
   AND (NOT v_is_filtered OR EXISTS (SELECT 1
                                     FROM   user_storage_domain_permissions_view
                                     WHERE  user_id = v_user_id AND entity_id = v_id));

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getstorage_domains_by_storage_pool_id_with_permitted_action (v_user_id UUID, v_action_group_id integer, v_storage_pool_id UUID)
RETURNS SETOF storage_domains STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM storage_domains
   WHERE storage_pool_id = v_storage_pool_id
   AND (SELECT get_entity_permissions(v_user_id, v_action_group_id, id, 11)) IS NOT NULL;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getstorage_domains_By_id_and_by_storage_pool_id(v_id UUID,
	v_storage_pool_id UUID ) RETURNS SETOF storage_domains STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM storage_domains
   WHERE id = v_id and storage_pool_id = v_storage_pool_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getstorage_domains_By_storagePoolId(v_storage_pool_id UUID, v_user_id UUID, v_is_filtered BOOLEAN)
RETURNS SETOF storage_domains STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM storage_domains
   WHERE storage_pool_id = v_storage_pool_id
   AND (NOT v_is_filtered OR EXISTS (SELECT 1
                                     FROM   user_storage_domain_permissions_view
                                     WHERE  user_id = v_user_id AND entity_id = id));



END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getstorage_domain_by_type_and_storagePoolId(v_storage_domain_type INTEGER, v_storage_pool_id UUID)
RETURNS SETOF storage_domains STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM storage_domains
   WHERE storage_pool_id = v_storage_pool_id
   AND storage_domain_type = v_storage_domain_type;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getstorage_domains_By_connection(v_connection CHARACTER VARYING)
RETURNS SETOF storage_domains STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM storage_domains
   WHERE storage IN (
      SELECT id
      FROM storage_server_connections
      WHERE connection = v_connection);

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromStorageDomainsByConnectionId(v_connection_id CHARACTER VARYING)
RETURNS SETOF storage_domains STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM storage_domains
   WHERE storage = v_connection_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromstorage_domains(v_user_id UUID, v_is_filtered BOOLEAN) RETURNS SETOF storage_domains STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM storage_domains
   WHERE (NOT v_is_filtered OR EXISTS (SELECT 1
                                       FROM user_storage_domain_permissions_view
                                       WHERE user_id = v_user_id AND entity_id = id));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getstorage_domain_staticBystorage_pool_type(v_storage_pool_type INTEGER)
RETURNS SETOF storage_domain_static STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM storage_domain_static
   WHERE storage_type = v_storage_pool_type;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getstorage_domain_staticBystorage_type_and_storage_pool_id(v_storage_type INTEGER, v_storage_pool_id UUID) RETURNS SETOF storage_domains STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM storage_domains
   WHERE storage_pool_id = v_storage_pool_id and storage_type = v_storage_type;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Force_Delete_storage_domain(v_storage_domain_id UUID)
RETURNS VOID
   AS $procedure$
BEGIN

   BEGIN
      -- Creating a temporary table which will give all the images and the disks which resids on only the specified storage domain. (copied template disks on multiple storage domains will not be part of this table)
      CREATE GLOBAL TEMPORARY TABLE STORAGE_DOMAIN_MAP_TABLE AS select image_guid as image_id,disk_id
         from images_storage_domain_view where storage_id = v_storage_domain_id
         except select image_guid as image_id, disk_id from images_storage_domain_view where storage_id != v_storage_domain_id;
      exception when others then
         truncate table STORAGE_DOMAIN_MAP_TABLE;
         insert into STORAGE_DOMAIN_MAP_TABLE select image_guid as image_id,disk_id
         from images_storage_domain_view where storage_id = v_storage_domain_id
         except select image_guid as image_id, disk_id from images_storage_domain_view where storage_id != v_storage_domain_id;
   END;

   BEGIN
      -- Templates with any images residing on only the specified storage domain
      CREATE GLOBAL TEMPORARY TABLE TEMPLATES_IDS_TEMPORARY_TABLE AS select vm_device.vm_id as vm_guid
         from images_storage_domain_view
         JOIN vm_device ON vm_device.device_id = images_storage_domain_view.disk_id
         JOIN STORAGE_DOMAIN_MAP_TABLE ON STORAGE_DOMAIN_MAP_TABLE.image_id = images_storage_domain_view.image_guid
         where entity_type = 'TEMPLATE' and storage_id = v_storage_domain_id;
      exception when others then
         truncate table TEMPLATES_IDS_TEMPORARY_TABLE;
         insert into TEMPLATES_IDS_TEMPORARY_TABLE select vm_device.vm_id as vm_guid
         from images_storage_domain_view
         JOIN vm_device ON vm_device.device_id = images_storage_domain_view.disk_id
         JOIN STORAGE_DOMAIN_MAP_TABLE ON STORAGE_DOMAIN_MAP_TABLE.image_id = images_storage_domain_view.image_guid
         where entity_type = 'TEMPLATE' and storage_id = v_storage_domain_id;
   END;

   BEGIN
     -- Vms which resides on the storage domain
     CREATE GLOBAL TEMPORARY TABLE VM_IDS_TEMPORARY_TABLE AS select vm_id,vm_images_view.entity_type as entity_type from vm_images_view
            JOIN vm_device ON vm_device.device_id = vm_images_view.disk_id
            WHERE v_storage_domain_id in (SELECT * FROM fnsplitteruuid(storage_id));
     exception when others then
     truncate table VM_IDS_TEMPORARY_TABLE;
     insert into VM_IDS_TEMPORARY_TABLE select vm_id,vm_images_view.entity_type as entity_type from vm_images_view
            JOIN vm_device ON vm_device.device_id = vm_images_view.disk_id
            WHERE v_storage_domain_id in (SELECT * FROM fnsplitteruuid(storage_id));
   END;

   delete FROM permissions where object_id in (select vm_id as vm_guid from VM_IDS_TEMPORARY_TABLE where entity_type <> 'TEMPLATE');
   delete FROM snapshots WHERE vm_id in (select vm_id as vm_guid from VM_IDS_TEMPORARY_TABLE);

   delete FROM image_storage_domain_map where storage_domain_id = v_storage_domain_id;
   delete FROM images where image_guid in (select image_id from STORAGE_DOMAIN_MAP_TABLE);
   delete FROM vm_interface where vmt_guid in(select vm_guid from TEMPLATES_IDS_TEMPORARY_TABLE);
   delete FROM permissions where object_id in (select vm_guid from TEMPLATES_IDS_TEMPORARY_TABLE);
   delete FROM permissions where object_id = v_storage_domain_id;
   delete FROM vm_static where vm_guid in(select vm_id as vm_guid from VM_IDS_TEMPORARY_TABLE where entity_type <> 'TEMPLATE');

   -- Delete pools and snapshots of pools based on templates from the storage domain to be removed
   delete FROM snapshots where vm_id in (select vm_guid FROM vm_static where vmt_guid in (select vm_guid from TEMPLATES_IDS_TEMPORARY_TABLE));
   delete FROM vm_static where vmt_guid in (select vm_guid from TEMPLATES_IDS_TEMPORARY_TABLE);

   delete FROM vm_static where vm_guid in(select vm_guid from TEMPLATES_IDS_TEMPORARY_TABLE);
   delete FROM storage_domain_dynamic where id  = v_storage_domain_id;
   delete FROM storage_domain_static where id  = v_storage_domain_id;

   -- Deletes the disks which the only storage domain they are reside on, is the storage domain.
   DELETE FROM base_disks WHERE  disk_id IN (SELECT disk_id FROM STORAGE_DOMAIN_MAP_TABLE);

   -- Deletes the disks's permissions which the only storage domain they are reside on, is the storage domain.
   DELETE FROM permissions WHERE object_id IN (SELECT disk_id FROM STORAGE_DOMAIN_MAP_TABLE);

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getstorage_domains_List_By_storageDomainId(v_storage_domain_id UUID)
RETURNS SETOF storage_domains STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM storage_domains
   WHERE storage_domains.id = v_storage_domain_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION fn_perms_get_storage_pools_with_permitted_action_on_vds_groups(v_user_id UUID, v_action_group_id integer, v_supports_virt_service boolean, v_supports_gluster_service boolean) RETURNS SETOF storage_pool STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT sp.*
      FROM storage_pool sp
      WHERE sp.id in
        (SELECT vg.storage_pool_id
         FROM vds_groups vg
         WHERE (SELECT get_entity_permissions(v_user_id, v_action_group_id, vg.vds_group_id, 9)) IS NOT NULL
         AND ((v_supports_virt_service = TRUE AND vg.virt_service = TRUE) OR (v_supports_gluster_service = TRUE AND vg.gluster_service = TRUE))
        );
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getstorage_domains_By_storage_pool_id_and_connection(v_storage_pool_id UUID, v_connection CHARACTER VARYING)
RETURNS SETOF storage_domains STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM storage_domains
   WHERE storage_pool_id = v_storage_pool_id
   AND storage IN (
      SELECT id
      FROM storage_server_connections
      WHERE connection = v_connection);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetFailingStorage_domains()
RETURNS SETOF storage_domains STABLE
   AS $procedure$
BEGIN
   RETURN QUERY
    SELECT * FROM storage_domains WHERE recoverable AND status = 4; --inactive
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetFailingVdss()
RETURNS SETOF vds STABLE
   AS $procedure$
BEGIN
   RETURN QUERY
    SELECT * FROM vds WHERE recoverable AND status = 10; --non operational
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION GetStoragePoolsByClusterService(
    v_supports_virt_service BOOLEAN,
    v_supports_gluster_service BOOLEAN) RETURNS SETOF storage_pool STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT sp.* FROM storage_pool SP
   WHERE EXISTS (SELECT 1 FROM vds_groups vg
       WHERE ((v_supports_virt_service = TRUE AND vg.virt_service = TRUE) OR
              (v_supports_gluster_service = TRUE AND vg.gluster_service = TRUE)) AND vg.storage_pool_id = sp.id);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION GetStorageServerConnectionsForDomain(v_storage_domain_id UUID)
 RETURNS SETOF storage_server_connections STABLE
 AS $procedure$
 BEGIN
RETURN QUERY SELECT *
FROM storage_server_connections
WHERE EXISTS  ( SELECT 1
		FROM    storage_domain_static
		WHERE   storage_domain_static.id = v_storage_domain_id
		AND     storage_domain_static.storage_type in (1,4,6) -- file storage domains - nfs,posix,local
		AND     storage_server_connections.id  = storage_domain_static.storage
		UNION ALL
		SELECT 1
		FROM   storage_domain_static
		JOIN   luns ON storage_domain_static.storage  = luns.volume_group_id
		JOIN   lun_storage_server_connection_map ON  luns.lun_id = lun_storage_server_connection_map.lun_id
							 AND storage_server_connections.id  = lun_storage_server_connection_map.storage_server_connection
		WHERE  storage_domain_static.id = v_storage_domain_id
		AND    storage_domain_static.storage_type = 3  -- storage type = iscsi
		);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION GetDcIdByExternalNetworkId(v_external_id text)
RETURNS SETOF UUID STABLE
AS $procedure$
BEGIN
    RETURN QUERY
    SELECT storage_pool_id
    FROM network
    WHERE provider_network_external_id = v_external_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
DROP TYPE IF EXISTS Getsystem_statistics_rs CASCADE;
**************************

DROP TYPE
********* QUERY **********
CREATE TYPE Getsystem_statistics_rs AS (val INTEGER);
**************************

CREATE TYPE
********* QUERY **********
Create or replace FUNCTION Getsystem_statistics(v_entity VARCHAR(10), 
v_status VARCHAR(20)) 
RETURNS Getsystem_statistics_rs STABLE
   AS $procedure$
   DECLARE
   v_i Getsystem_statistics_rs;
   v_sql  VARCHAR(4000);
   v_sys_entity VARCHAR(10);
BEGIN
   v_sql := NULL;

   v_sys_entity := upper(v_entity);
   if v_sys_entity = 'VM' then
      v_sql := 'select count(vm_guid) from vm_dynamic';
   elsif v_sys_entity = 'HOST' then
      v_sql := 'select count(vds_id) from vds_dynamic';
   elsif v_sys_entity = 'USER' then
      v_sql := 'select count(user_id) from users';
   elsif v_sys_entity = 'TSD' then
      v_sql := 'select count(id) from storage_domain_static';
   elsif v_sys_entity = 'ASD' then
      v_sql := 'select count(storage_id) from storage_pool_iso_map';
   else
      raise 'Unknown entity type "%"', v_entity;
   end if;

   if v_status != '' then
      if v_sys_entity = 'USER' then
          v_sql := coalesce(v_sql, '') || ' where active::integer in (' || coalesce(v_status, '') || ')';
      elsif v_sys_entity != 'TSD' then
          v_sql := coalesce(v_sql, '') || ' where status in (' || coalesce(v_status, '') || ')';
      end if;
   end if;
   EXECUTE v_sql INTO v_i;
   RETURN v_i;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Inserttags(v_description VARCHAR(4000) ,
	v_tag_id UUID ,
	v_tag_name VARCHAR(50),
	v_parent_id UUID,
	v_readonly BOOLEAN ,
    v_type INTEGER)
RETURNS VOID
   AS $procedure$
BEGIN
      INSERT INTO tags(tag_id,description, tag_name,parent_id,readonly,type)
	VALUES(v_tag_id,v_description, v_tag_name,v_parent_id,v_readonly,v_type);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Updatetags(v_description VARCHAR(4000) ,
	v_tag_id UUID,
	v_tag_name VARCHAR(50),
	v_parent_id UUID,
	v_readonly BOOLEAN ,
    v_type INTEGER)
RETURNS VOID
	
   AS $procedure$
BEGIN
      UPDATE tags
      SET description = v_description,tag_name = v_tag_name,parent_id = v_parent_id,
      readonly	= v_readonly,type = v_type,_update_date = LOCALTIMESTAMP
      WHERE tag_id = v_tag_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Deletetags(v_tag_id UUID)
RETURNS VOID
   AS $procedure$
   DECLARE
   v_val  UUID;
BEGIN
			-- Get (and keep) a shared lock with "right to upgrade to exclusive"
			-- in order to force locking parent before children
      select   tag_id INTO v_val FROM tags  WHERE tag_id = v_tag_id     FOR UPDATE;
      DELETE FROM tags_user_group_map
      WHERE tag_id = v_tag_id;
      DELETE FROM tags_user_map
      WHERE tag_id = v_tag_id;
      DELETE FROM tags_vm_map
      WHERE tag_id = v_tag_id;
      DELETE FROM tags_vds_map
      WHERE tag_id = v_tag_id;
      DELETE FROM tags_vm_pool_map
      WHERE tag_id = v_tag_id;
      DELETE FROM tags
      WHERE tag_id = v_tag_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromtags() RETURNS SETOF tags STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT tags.*
      FROM tags;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GettagsBytag_id(v_tag_id UUID) RETURNS SETOF tags STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT tags.*
      FROM tags
      WHERE tag_id = v_tag_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GettagsByparent_id(v_parent_id UUID) RETURNS SETOF tags STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT tags.*
      FROM tags
      WHERE parent_id = v_parent_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GettagsBytag_name(v_tag_name VARCHAR(50)) RETURNS SETOF tags STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT tags.*
      FROM tags
      WHERE tag_name = v_tag_name;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Inserttags_user_group_map(v_group_id UUID,
 v_tag_id UUID)
RETURNS VOID
   AS $procedure$
BEGIN
INSERT INTO tags_user_group_map(group_id, tag_id)
	VALUES(v_group_id, v_tag_id);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Deletetags_user_group_map(v_group_id UUID,
 v_tag_id UUID)
RETURNS VOID
   AS $procedure$
BEGIN
      DELETE FROM tags_user_group_map
      WHERE group_id = v_group_id AND tag_id = v_tag_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromtags_user_group_map() RETURNS SETOF tags_user_group_map STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT tags_user_group_map.*
      FROM tags_user_group_map;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetTagUserGroupByGroupIdAndByTagId(v_group_id UUID,
 v_tag_id UUID) RETURNS SETOF tags_user_group_map STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT tags_user_group_map.*
      FROM tags_user_group_map
      WHERE group_id = v_group_id AND tag_id = v_tag_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetTagsByUserGroupId(v_group_ids VARCHAR(4000)) RETURNS SETOF tags_user_group_map_view STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT DISTINCT tags_user_group_map_view.*
      FROM tags_user_group_map_view
      WHERE group_id in(select * from fnSplitterUuid(v_group_ids));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetUserGroupTagsByTagIds(v_tag_ids VARCHAR(4000)) RETURNS SETOF tags_user_group_map_view STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT DISTINCT tags_user_group_map_view.*
      FROM tags_user_group_map_view
      WHERE tag_id in(select * from fnSplitterUuid(v_tag_ids));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Inserttags_user_map(v_tag_id UUID,
 v_user_id UUID)
RETURNS VOID
   AS $procedure$
BEGIN
INSERT INTO tags_user_map(tag_id, user_id)
	VALUES(v_tag_id, v_user_id);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Deletetags_user_map(v_tag_id UUID,
 v_user_id UUID)
RETURNS VOID
   AS $procedure$
BEGIN
      DELETE FROM tags_user_map
      WHERE tag_id = v_tag_id AND user_id = v_user_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromtags_user_map() RETURNS SETOF tags_user_map STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT tags_user_map.*
      FROM tags_user_map;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetTagUserByTagIdAndByuserId(v_tag_id UUID,
 v_user_id UUID) RETURNS SETOF tags_user_map STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT tags_user_map.*
      FROM tags_user_map
      WHERE tag_id = v_tag_id AND user_id = v_user_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetTagsByUserId(v_user_ids VARCHAR(4000)) RETURNS SETOF tags_user_map_view STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT DISTINCT tags_user_map_view.*
      FROM tags_user_map_view
      WHERE user_id in(select * from fnSplitterUuid(v_user_ids));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetUserTagsByTagIds(v_tag_ids VARCHAR(4000)) RETURNS SETOF tags_user_map_view STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT DISTINCT tags_user_map_view.*
      FROM tags_user_map_view
      WHERE tag_id in(select * from fnSplitterUuid(v_tag_ids));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Inserttags_vds_map(v_tag_id UUID,
 v_vds_id UUID)
RETURNS VOID
   AS $procedure$
BEGIN
INSERT INTO tags_vds_map(tag_id, vds_id)
	VALUES(v_tag_id, v_vds_id);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Deletetags_vds_map(v_tag_id UUID,
 v_vds_id UUID)
RETURNS VOID
   AS $procedure$
BEGIN
      DELETE FROM tags_vds_map
      WHERE tag_id = v_tag_id AND vds_id = v_vds_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromtags_vds_map() RETURNS SETOF tags_vds_map STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT tags_vds_map.*
      FROM tags_vds_map;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetTagVdsBytagIdAndByVdsId(v_tag_id UUID,
 v_vds_id UUID) RETURNS SETOF tags_vds_map STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT tags_vds_map.*
      FROM tags_vds_map
      WHERE tag_id = v_tag_id AND vds_id = v_vds_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetTagsByVdsId(v_vds_ids VARCHAR(4000)) RETURNS SETOF tags_vds_map_view STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT DISTINCT tags_vds_map_view.*
      FROM tags_vds_map_view
      WHERE vds_id in(select * from fnSplitterUuid(v_vds_ids));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVdsTagsByTagIds(v_tag_ids VARCHAR(4000)) RETURNS SETOF tags_vds_map_view STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT DISTINCT tags_vds_map_view.*
      FROM tags_vds_map_view
      WHERE tag_id in(select * from fnSplitterUuid(v_tag_ids));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Inserttags_vm_map(v_tag_id UUID,
 v_vm_id UUID,
    v_DefaultDisplayType INTEGER)
RETURNS VOID
   AS $procedure$
BEGIN
INSERT INTO tags_vm_map(tag_id, vm_id, DefaultDisplayType)
	VALUES(v_tag_id, v_vm_id, v_DefaultDisplayType);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Deletetags_vm_map(v_tag_id UUID,
 v_vm_id UUID)
RETURNS VOID
   AS $procedure$
BEGIN
      DELETE FROM tags_vm_map
      WHERE tag_id = v_tag_id AND vm_id = v_vm_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromtags_vm_map() RETURNS SETOF tags_vm_map STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT tags_vm_map.*
      FROM tags_vm_map;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetTagVmByTagIdAndByvmId(v_tag_id UUID,
 v_vm_id UUID) RETURNS SETOF tags_vm_map STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT tags_vm_map.*
      FROM tags_vm_map
      WHERE tag_id = v_tag_id AND vm_id = v_vm_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetTagsByVmId(v_vm_ids VARCHAR(4000)) RETURNS SETOF tags_vm_map_view STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT DISTINCT tags_vm_map_view.*
      FROM tags_vm_map_view
      WHERE vm_id in(select * from fnSplitterUuid(v_vm_ids));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmTagsByTagId(v_tag_ids VARCHAR(4000)) RETURNS SETOF tags_vm_map_view STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT DISTINCT tags_vm_map_view.*
      FROM tags_vm_map_view
      WHERE tag_id in(select * from fnSplitterUuid(v_tag_ids));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateVmTagsDefaultDisplayType(v_tag_id UUID,
	v_vm_id UUID,
    v_DefaultDisplayType INTEGER)
RETURNS VOID
   AS $procedure$
BEGIN
      update tags_vm_map
      set DefaultDisplayType = v_DefaultDisplayType
      where tags_vm_map.tag_id = v_tag_id
      and tags_vm_map.vm_id = v_vm_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetnVmTagsByVmId(v_vm_id UUID) RETURNS SETOF tags_vm_map STABLE
   AS $procedure$
BEGIN
      RETURN QUERY select * from tags_vm_map
      where tags_vm_map.vm_id = v_vm_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetnVmTagsByVmIdAndDefaultTag(v_vm_id UUID) RETURNS SETOF tags_vm_map STABLE
   AS $procedure$
BEGIN
      RETURN QUERY select tags_vm_map.* from tags_vm_map
      inner join tags on tags.tag_id = tags_vm_map.tag_id
      where tags_vm_map.vm_id = v_vm_id
      and tags.type = 1;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION RemoveAllVmTagsByVmId(v_vm_id UUID)
RETURNS VOID
   AS $procedure$
BEGIN
      delete FROM tags_vm_map
      where vm_id = v_vm_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Inserttags_vm_pool_map(v_tag_id UUID,
 v_vm_pool_id UUID)
RETURNS VOID
   AS $procedure$
BEGIN
INSERT INTO tags_vm_pool_map(tag_id, vm_pool_id)
	VALUES(v_tag_id, v_vm_pool_id);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Updatetags_vm_pool_map(v_tag_id INTEGER,
	v_vm_pool_id INTEGER)
RETURNS VOID
	
   AS $procedure$
BEGIN
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Deletetags_vm_pool_map(v_tag_id UUID,
 v_vm_pool_id UUID)
RETURNS VOID
   AS $procedure$
BEGIN

   DELETE FROM tags_vm_pool_map
   WHERE tag_id = v_tag_id AND vm_pool_id = v_vm_pool_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromtags_vm_pool_map() RETURNS SETOF tags_vm_pool_map STABLE
   AS $procedure$
BEGIN

   RETURN QUERY SELECT tags_vm_pool_map.*
   FROM tags_vm_pool_map;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Gettags_vm_pool_mapBytag_idAndByvm_pool_id(v_tag_id UUID,
 v_vm_pool_id UUID) RETURNS SETOF tags_vm_pool_map STABLE
   AS $procedure$
BEGIN

   RETURN QUERY SELECT tags_vm_pool_map.*
   FROM tags_vm_pool_map
   WHERE tag_id = v_tag_id AND vm_pool_id = v_vm_pool_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetTagsByVmpoolId(v_vm_pool_ids VARCHAR(4000)) RETURNS SETOF tags_vm_pool_map_view STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT DISTINCT tags_vm_pool_map_view.*
      FROM tags_vm_pool_map_view
      WHERE vm_pool_id in(select * from fnSplitterUuid(v_vm_pool_ids));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertUser(v_department VARCHAR(255) ,
	v_domain VARCHAR(255),
	v_email VARCHAR(255) ,
	v_groups VARCHAR,
	v_name VARCHAR(255) ,
	v_note VARCHAR(255) ,
	v_role VARCHAR(255) ,
	v_active BOOLEAN,
	v_surname VARCHAR(255) ,
	v_user_id UUID,
	v_username VARCHAR(255),
	v_group_ids VARCHAR(2048),
	v_external_id BYTEA)
RETURNS VOID
   AS $procedure$
BEGIN
INSERT INTO users(department, domain, email, groups, name, note, role, active, surname, user_id, username, group_ids, external_id)
	VALUES(v_department, v_domain, v_email, v_groups, v_name, v_note, v_role, v_active, v_surname, v_user_id, v_username, v_group_ids, v_external_id);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateUser(v_department VARCHAR(255) ,
	v_domain VARCHAR(255),
	v_email VARCHAR(255) ,
	v_groups VARCHAR(4000),
	v_name VARCHAR(255) ,
	v_note VARCHAR(255) ,
	v_role VARCHAR(255) ,
	v_active BOOLEAN,
	v_surname VARCHAR(255) ,
	v_user_id UUID,
	v_username VARCHAR(255),
	v_last_admin_check_status BOOLEAN,
	v_group_ids VARCHAR(2048),
        v_external_id BYTEA)
RETURNS VOID
	
   AS $procedure$
BEGIN
      UPDATE users
      SET department = v_department,domain = v_domain,
      email = v_email,groups = v_groups,name = v_name,note = v_note,
      role = v_role,active = v_active,surname = v_surname,
      username = v_username,
      last_admin_check_status = v_last_admin_check_status,
      group_ids = v_group_ids,
      external_id = v_external_id
      WHERE user_id = v_user_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteUser(v_user_id UUID)
RETURNS VOID
   AS $procedure$
   DECLARE
   v_val  UUID;
BEGIN
			-- Get (and keep) a shared lock with "right to upgrade to exclusive"
			-- in order to force locking parent before children
      select   user_id INTO v_val FROM users  WHERE user_id = v_user_id     FOR UPDATE;
      DELETE FROM tags_user_map
      WHERE user_id = v_user_id;
      DELETE FROM users
      WHERE user_id = v_user_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromUsers(v_user_id UUID, v_is_filtered BOOLEAN) RETURNS SETOF users STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT users.*
      FROM users
      WHERE (NOT v_is_filtered OR EXISTS (SELECT 1
                                   FROM   users u, user_db_users_permissions_view p
                                   WHERE  u.user_id = v_user_id AND u.user_id = p.ad_element_id));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetUserByUserId(v_user_id UUID) RETURNS SETOF users STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT users.*
      FROM users
      WHERE user_id = v_user_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetUserByExternalId(v_domain VARCHAR(255), v_external_id BYTEA) RETURNS SETOF users STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT users.*
      FROM users
      WHERE domain = v_domain AND external_id = v_external_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetUserByUserName(v_username VARCHAR(255)) RETURNS SETOF users STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT users.*
      FROM users
      WHERE username = v_username;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetUsersByVmGuid(v_vm_guid UUID) RETURNS SETOF users STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT users.*
      FROM users
      inner join permissions
      on users.user_id = permissions.ad_element_id
      WHERE permissions.object_type_id = 2
      and	permissions.object_id = v_vm_guid;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateLastAdminCheckStatus(v_userIds VARCHAR(4000))
RETURNS VOID
   AS $procedure$
   DECLARE
   v_id  UUID;
   v_tempId  VARCHAR(4000);
   myCursor cursor for select id from fnSplitter(v_userIds);
   v_result  INTEGER;
BEGIN
	-- get users and its groups
	-- get their permission based on ad_element_id.
	-- if one permissions role's type is ADMIN(1) then set the user last_admin_check_status to 1
   OPEN myCursor;
   FETCH myCursor into v_tempId;
   WHILE FOUND LOOP
      v_id := CAST(v_tempId AS UUID);
      select   count(*) INTO v_result from users where user_id in(select ad_element_id as user_id from permissions,roles
         where permissions.role_id = roles.id
         and ad_element_id in((select id from ad_groups,users where users.user_id = v_id
               and ad_groups.id in(select * from fnsplitteruuid(users.group_ids))
               union
               select v_id))
         and (roles.role_type = 1 or permissions.role_id = '00000000-0000-0000-0000-000000000001'));
      update users set last_admin_check_status =
      case
      when v_result = 0 then FALSE
      else TRUE
      end
      where user_id = v_id;
      FETCH myCursor into v_tempId;
   END LOOP;
   CLOSE myCursor;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertVdcOption(v_option_name VARCHAR(50),
	v_option_value VARCHAR(50),
	v_version VARCHAR(40),
	INOUT v_option_id INTEGER)
   AS $procedure$
BEGIN
INSERT INTO vdc_options(OPTION_NAME, option_value, version)
	VALUES(v_option_name, v_option_value, v_version);

      v_option_id := CURRVAL('vdc_options_seq');
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateVdcOption(v_option_name VARCHAR(50),
	v_option_value VARCHAR(50),
	v_option_id INTEGER,
	v_version VARCHAR(40))
RETURNS VOID
	
   AS $procedure$
BEGIN
      UPDATE vdc_options
      SET OPTION_NAME = v_option_name,option_value = v_option_value,version = v_version
      WHERE option_id = v_option_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteVdcOption(v_option_id INTEGER)
RETURNS VOID
   AS $procedure$
BEGIN
      DELETE FROM vdc_options
      WHERE option_id = v_option_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromVdcOption() RETURNS SETOF vdc_options STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT vdc_options.*
      FROM vdc_options;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVdcOptionById(v_option_id INTEGER) RETURNS SETOF vdc_options STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT vdc_options.*
      FROM vdc_options
      WHERE option_id = v_option_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVdcOptionByName(v_option_name VARCHAR(50),
	v_version VARCHAR(40)) RETURNS SETOF vdc_options STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT vdc_options.*
      FROM vdc_options
      WHERE OPTION_NAME = v_option_name and version = v_version;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertVdsGroups(
	v_vds_group_id UUID,
	v_description VARCHAR(4000),
	v_free_text_comment text,
	v_name VARCHAR(40),
	v_cpu_name VARCHAR(255),
	v_storage_pool_id UUID ,
	v_max_vds_memory_over_commit INTEGER,
	v_count_threads_as_cores BOOLEAN,
	v_compatibility_version VARCHAR(40),
	v_transparent_hugepages BOOLEAN ,
	v_migrate_on_error INTEGER,
	v_virt_service BOOLEAN,
	v_gluster_service BOOLEAN,
	v_tunnel_migration BOOLEAN,
	v_emulated_machine VARCHAR(40),
	v_detect_emulated_machine BOOLEAN,
	v_trusted_service BOOLEAN,
	v_ha_reservation BOOLEAN,
        v_cluster_policy_id UUID,
        v_cluster_policy_custom_properties text,
	v_enable_balloon BOOLEAN,
	v_architecture INTEGER,
	v_optimization_type SMALLINT,
	v_spice_proxy VARCHAR(255),
	v_enable_ksm BOOLEAN)
RETURNS VOID
   AS $procedure$
BEGIN
      INSERT INTO vds_groups(vds_group_id,description, name, free_text_comment, cpu_name, storage_pool_id,  max_vds_memory_over_commit, count_threads_as_cores, compatibility_version,
        transparent_hugepages, migrate_on_error, virt_service, gluster_service, tunnel_migration, emulated_machine, detect_emulated_machine, trusted_service, ha_reservation, cluster_policy_id,
        cluster_policy_custom_properties, enable_balloon, architecture, optimization_type, spice_proxy, enable_ksm)
	VALUES(v_vds_group_id,v_description, v_name, v_free_text_comment, v_cpu_name, v_storage_pool_id,  v_max_vds_memory_over_commit, v_count_threads_as_cores, v_compatibility_version,
    v_transparent_hugepages, v_migrate_on_error, v_virt_service, v_gluster_service, v_tunnel_migration, v_emulated_machine, v_detect_emulated_machine, v_trusted_service, v_ha_reservation, v_cluster_policy_id, v_cluster_policy_custom_properties, v_enable_balloon,
    v_architecture, v_optimization_type, v_spice_proxy, v_enable_ksm);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateVdsGroup(v_description VARCHAR(4000) ,
	v_free_text_comment text,
	v_name VARCHAR(40),
	v_vds_group_id UUID,
	v_cpu_name VARCHAR(255) ,
	v_storage_pool_id UUID ,
	v_max_vds_memory_over_commit INTEGER,
	v_count_threads_as_cores BOOLEAN,
	v_compatibility_version VARCHAR(40),
	v_transparent_hugepages BOOLEAN ,
	v_migrate_on_error INTEGER,
	v_virt_service BOOLEAN,
	v_gluster_service BOOLEAN,
	v_tunnel_migration BOOLEAN,
	v_emulated_machine VARCHAR(40),
	v_detect_emulated_machine BOOLEAN,
	v_trusted_service BOOLEAN,
	v_ha_reservation BOOLEAN,
        v_cluster_policy_id UUID,
        v_cluster_policy_custom_properties text,
	v_enable_balloon BOOLEAN,
	v_architecture INTEGER,
	v_optimization_type SMALLINT,
	v_spice_proxy VARCHAR(255),
	v_enable_ksm BOOLEAN
)
RETURNS VOID
	
   AS $procedure$
BEGIN
      UPDATE vds_groups
      SET description = v_description, free_text_comment = v_free_text_comment, name = v_name,cpu_name = v_cpu_name,
      storage_pool_id = v_storage_pool_id,_update_date = LOCALTIMESTAMP,
      max_vds_memory_over_commit = v_max_vds_memory_over_commit,
      count_threads_as_cores = v_count_threads_as_cores,
      compatibility_version = v_compatibility_version,transparent_hugepages = v_transparent_hugepages,
      migrate_on_error = v_migrate_on_error,
      virt_service = v_virt_service, gluster_service = v_gluster_service, tunnel_migration = v_tunnel_migration,
      emulated_machine = v_emulated_machine, detect_emulated_machine = v_detect_emulated_machine, trusted_service = v_trusted_service, ha_reservation = v_ha_reservation , cluster_policy_id = v_cluster_policy_id,
      cluster_policy_custom_properties = v_cluster_policy_custom_properties, enable_balloon = v_enable_balloon, architecture = v_architecture,
      optimization_type = v_optimization_type, spice_proxy = v_spice_proxy, enable_ksm = v_enable_ksm
      WHERE vds_group_id = v_vds_group_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteVdsGroup(v_vds_group_id UUID)
RETURNS VOID
   AS $procedure$
   DECLARE
   v_val  UUID;
BEGIN
		-- Get (and keep) a shared lock with "right to upgrade to exclusive"
		-- in order to force locking parent before children
      select   vds_group_id INTO v_val FROM vds_groups  WHERE vds_group_id = v_vds_group_id     FOR UPDATE;
      DELETE FROM vds_groups
      WHERE vds_group_id = v_vds_group_id;
		-- delete VDS group permissions --
      DELETE FROM permissions where object_id = v_vds_group_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromVdsGroups(v_user_id UUID, v_is_filtered BOOLEAN) RETURNS SETOF vds_groups_view STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT vds_groups_view.*
      FROM vds_groups_view
      WHERE (NOT v_is_filtered OR EXISTS (SELECT 1
                                          FROM   user_vds_groups_permissions_view
                                          WHERE  user_id = v_user_id and entity_id = vds_group_id));

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVdsGroupByVdsGroupId(v_vds_group_id UUID, v_user_id UUID, v_is_filtered BOOLEAN) RETURNS SETOF vds_groups_view STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT vds_groups_view.*
      FROM vds_groups_view
      WHERE vds_group_id = v_vds_group_id
      AND (NOT v_is_filtered OR EXISTS (SELECT 1
                                        FROM   user_vds_groups_permissions_view
                                        WHERE  user_id = v_user_id AND entity_id = v_vds_group_id));

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVdsGroupByVdsGroupName(v_vds_group_name VARCHAR(40), v_is_case_sensitive BOOLEAN) RETURNS SETOF vds_groups_view STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT vds_groups_view.*
      FROM vds_groups_view
      WHERE name = v_vds_group_name OR (NOT v_is_case_sensitive AND name ilike v_vds_group_name);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVdsGroupForUserByVdsGroupName(v_vds_group_name VARCHAR(40), v_user_id UUID, v_is_filtered BOOLEAN) RETURNS SETOF vds_groups_view STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT vds_groups_view.*
      FROM vds_groups_view
      WHERE name = v_vds_group_name
      AND (NOT v_is_filtered OR EXISTS (SELECT 1
                                        FROM   user_vds_groups_permissions_view
                                        WHERE  user_id = v_user_id AND entity_id = vds_group_id));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVdsGroupsByStoragePoolId(v_storage_pool_id UUID, v_user_id UUID, v_is_filtered BOOLEAN) RETURNS SETOF vds_groups_view STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT vds_groups_view.*
      FROM vds_groups_view
      WHERE storage_pool_id = v_storage_pool_id
      AND (NOT v_is_filtered OR EXISTS (SELECT 1
                                        FROM   user_vds_groups_permissions_view
                                        WHERE  user_id = v_user_id AND entity_id = vds_group_id));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVdsGroupWithRunningVms(v_vds_group_id UUID) RETURNS SETOF vds_groups_view STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT vds_groups_view.*
      FROM vds_groups_view
      WHERE vds_group_id = v_vds_group_id and vds_group_id in(select vds_group_id from vms where vms.status NOT IN(0,13,14));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetIsVdsGroupEmpty(v_vds_group_id UUID) RETURNS BOOLEAN
   AS $procedure$
BEGIN
      RETURN NOT EXISTS(SELECT 1 FROM vm_static WHERE vds_group_id = v_vds_group_id AND vm_guid != '00000000-0000-0000-0000-000000000000') AND NOT EXISTS(SELECT 1 FROM vds_static WHERE vds_group_id = v_vds_group_id);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION fn_perms_get_vds_groups_with_permitted_action(v_user_id UUID, v_action_group_id integer) RETURNS SETOF vds_groups_view STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT vds_groups_view.*
      FROM vds_groups_view
      WHERE (SELECT 1 from get_entity_permissions(v_user_id, v_action_group_id, vds_groups_view.vds_group_id, 9)) IS NOT NULL;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateVdsGroupEmulatedMachine(v_vds_group_id UUID, v_emulated_machine varchar(40), v_detect_emulated_machine BOOLEAN) RETURNS VOID
   AS $procedure$
BEGIN
    UPDATE vds_groups
    SET emulated_machine = v_emulated_machine, detect_emulated_machine = v_detect_emulated_machine
    WHERE vds_group_id = v_vds_group_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetTrustedVdsGroups() RETURNS SETOF vds_groups_view STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT vds_groups_view.*
      FROM vds_groups_view
      WHERE trusted_service;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVdsGroupsByClusterPolicyId(v_cluster_policy_id UUID) RETURNS SETOF vds_groups_view STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT vds_groups_view.*
      FROM vds_groups_view
      WHERE cluster_policy_id = v_cluster_policy_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertVdsStatistics(v_cpu_idle DECIMAL(18,0) ,
 v_cpu_load DECIMAL(18,0) ,
 v_cpu_sys DECIMAL(18,0) ,
 v_cpu_user DECIMAL(18,0) ,
 v_usage_cpu_percent INTEGER ,
 v_usage_mem_percent INTEGER ,
 v_usage_network_percent INTEGER ,
 v_vds_id UUID,
 v_mem_available BIGINT ,
 v_mem_free BIGINT,
 v_mem_shared BIGINT ,
    v_swap_free BIGINT ,
 v_swap_total BIGINT ,
 v_ksm_cpu_percent INTEGER ,
 v_ksm_pages BIGINT ,
 v_ksm_state BOOLEAN,
 v_ha_score INTEGER,
 v_anonymous_hugepages INTEGER)
RETURNS VOID
   AS $procedure$
BEGIN

   BEGIN
INSERT INTO vds_statistics(cpu_idle, cpu_load, cpu_sys, cpu_user, usage_cpu_percent, usage_mem_percent, usage_network_percent, vds_id, mem_available, mem_free, mem_shared,swap_free,swap_total,ksm_cpu_percent,ksm_pages,ksm_state, ha_score,anonymous_hugepages)
	VALUES(v_cpu_idle, v_cpu_load, v_cpu_sys, v_cpu_user, v_usage_cpu_percent, v_usage_mem_percent, v_usage_network_percent, v_vds_id, v_mem_available, v_mem_free, v_mem_shared,v_swap_free,v_swap_total,v_ksm_cpu_percent,v_ksm_pages,v_ksm_state, v_ha_score,v_anonymous_hugepages);
   END;

   RETURN;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateVdsStatistics(v_cpu_idle DECIMAL(18,0) ,
 v_cpu_load DECIMAL(18,0) ,
 v_cpu_sys DECIMAL(18,0) ,
 v_cpu_user DECIMAL(18,0) ,
 v_usage_cpu_percent INTEGER ,
 v_usage_mem_percent INTEGER ,
 v_usage_network_percent INTEGER ,
 v_vds_id UUID,
 v_mem_available BIGINT ,
 v_mem_free BIGINT,
 v_mem_shared BIGINT ,
 v_swap_free BIGINT ,
 v_swap_total BIGINT ,
 v_ksm_cpu_percent INTEGER ,
 v_ksm_pages BIGINT ,
 v_ksm_state BOOLEAN,
 v_ha_score INTEGER,
 v_anonymous_hugepages INTEGER)
RETURNS VOID
	
   AS $procedure$
BEGIN

   BEGIN
      UPDATE vds_statistics
      SET cpu_idle = v_cpu_idle,cpu_load = v_cpu_load,cpu_sys = v_cpu_sys,
      cpu_user = v_cpu_user,usage_cpu_percent = v_usage_cpu_percent,usage_mem_percent = v_usage_mem_percent,
      usage_network_percent = v_usage_network_percent,
      mem_available = v_mem_available, mem_free = v_mem_free, mem_shared = v_mem_shared,
      swap_free = v_swap_free,swap_total = v_swap_total,ksm_cpu_percent = v_ksm_cpu_percent,
      ksm_pages = v_ksm_pages,ksm_state = v_ksm_state, ha_score = v_ha_score, _update_date = LOCALTIMESTAMP,
      anonymous_hugepages = v_anonymous_hugepages
      WHERE vds_id = v_vds_id;
   END;

   RETURN;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteVdsStatistics(v_vds_id UUID)
RETURNS VOID
   AS $procedure$
BEGIN
   BEGIN
      DELETE FROM vds_statistics
      WHERE vds_id = v_vds_id;
   END;

   RETURN;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromVdsStatistics() RETURNS SETOF vds_statistics STABLE
   AS $procedure$
BEGIN
BEGIN
      RETURN QUERY SELECT vds_statistics.*
      FROM vds_statistics;
   END;


   RETURN;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVdsStatisticsByVdsId(v_vds_id UUID) RETURNS SETOF vds_statistics STABLE
   AS $procedure$
BEGIN
BEGIN
      RETURN QUERY SELECT vds_statistics.*
      FROM vds_statistics
      WHERE vds_id = v_vds_id;
   END;

   RETURN;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertVdsDynamic(v_cpu_cores INTEGER ,
 v_cpu_threads INTEGER ,
 v_cpu_model VARCHAR(255) ,
 v_cpu_speed_mh DECIMAL(18,0) ,
 v_if_total_speed VARCHAR(40) ,
 v_kvm_enabled BOOLEAN ,
 v_mem_commited INTEGER ,
 v_physical_mem_mb INTEGER ,
 v_status INTEGER,
 v_vds_id UUID,
 v_vm_active INTEGER ,
 v_vm_count INTEGER ,
 v_vms_cores_count INTEGER ,
 v_vm_migrating INTEGER ,
 v_reserved_mem INTEGER ,
 v_guest_overhead INTEGER ,
 v_rpm_version VARCHAR(255),
 v_software_version VARCHAR(40) ,
 v_version_name VARCHAR(40) ,
 v_build_name VARCHAR(40) ,
 v_previous_status INTEGER ,
 v_cpu_flags VARCHAR(4000) ,
 v_cpu_over_commit_time_stamp TIMESTAMP WITH TIME ZONE ,
 v_pending_vcpus_count INTEGER ,
 v_pending_vmem_size INTEGER ,
 v_cpu_sockets INTEGER ,
 v_net_config_dirty BOOLEAN ,
 v_supported_cluster_levels VARCHAR(40) ,
 v_supported_engines VARCHAR(40) ,
 v_host_os VARCHAR(4000) ,
 v_kvm_version VARCHAR(4000) ,
 v_libvirt_version VARCHAR(4000) ,
 v_spice_version VARCHAR(4000) ,
 v_gluster_version VARCHAR(4000) ,
 v_kernel_version VARCHAR(4000) ,
 v_iscsi_initiator_name VARCHAR(4000) ,
 v_transparent_hugepages_state INTEGER ,
 v_hooks VARCHAR(4000),
 v_hw_manufacturer VARCHAR(255),
 v_hw_product_name VARCHAR(255),
 v_hw_version VARCHAR(255),
 v_hw_serial_number VARCHAR(255),
 v_hw_uuid VARCHAR(255),
 v_hw_family VARCHAR(255),
 v_hbas VARCHAR(255),
 v_supported_emulated_machines VARCHAR(255),
 v_controlled_by_pm_policy BOOLEAN)
RETURNS VOID
   AS $procedure$
BEGIN

   BEGIN
INSERT INTO vds_dynamic(cpu_cores, cpu_threads, cpu_model, cpu_speed_mh, if_total_speed, kvm_enabled, mem_commited, physical_mem_mb,	status, vds_id, vm_active, vm_count, vm_migrating, reserved_mem, guest_overhead, rpm_version, software_version, version_name, build_name, previous_status, cpu_flags, cpu_over_commit_time_stamp, vms_cores_count, pending_vcpus_count, pending_vmem_size, cpu_sockets,net_config_dirty, supported_cluster_levels, supported_engines, host_os, kvm_version, libvirt_version, spice_version, gluster_version, kernel_version, iscsi_initiator_name, transparent_hugepages_state, hooks, hw_manufacturer, hw_product_name, hw_version, hw_serial_number, hw_uuid, hw_family, hbas, supported_emulated_machines, controlled_by_pm_policy)
	VALUES(v_cpu_cores,	v_cpu_threads, v_cpu_model,	v_cpu_speed_mh,	v_if_total_speed, v_kvm_enabled, v_mem_commited, v_physical_mem_mb,	v_status, v_vds_id, v_vm_active, v_vm_count, v_vm_migrating,	v_reserved_mem, v_guest_overhead, v_rpm_version, v_software_version, v_version_name, v_build_name, v_previous_status, v_cpu_flags, v_cpu_over_commit_time_stamp, v_vms_cores_count,v_pending_vcpus_count, v_pending_vmem_size, v_cpu_sockets, v_net_config_dirty, v_supported_cluster_levels, v_supported_engines, v_host_os, v_kvm_version, v_libvirt_version, v_spice_version, v_gluster_version, v_kernel_version, v_iscsi_initiator_name, v_transparent_hugepages_state, v_hooks, v_hw_manufacturer, v_hw_product_name, v_hw_version, v_hw_serial_number, v_hw_uuid, v_hw_family, v_hbas, v_supported_emulated_machines, v_controlled_by_pm_policy);
   END;

   RETURN;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION UpdateVdsDynamicPowerManagementPolicyFlag(
 v_vds_id UUID,
 v_controlled_by_pm_policy BOOLEAN
) RETURNS VOID AS $procedure$
BEGIN
  BEGIN
    UPDATE vds_dynamic
    SET controlled_by_pm_policy = v_controlled_by_pm_policy
    WHERE vds_id = v_vds_id;
  END;
  RETURN;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateVdsDynamic(v_cpu_cores INTEGER ,
 v_cpu_threads INTEGER ,
 v_cpu_model VARCHAR(255) ,
 v_cpu_speed_mh DECIMAL(18,0) ,
 v_if_total_speed VARCHAR(40) ,
 v_kvm_enabled BOOLEAN ,
 v_mem_commited INTEGER ,
 v_physical_mem_mb INTEGER ,
 v_status INTEGER,
 v_vds_id UUID,
 v_vm_active INTEGER ,
 v_vm_count INTEGER ,
 v_vms_cores_count INTEGER ,
 v_vm_migrating INTEGER ,
 v_reserved_mem INTEGER ,
 v_guest_overhead INTEGER ,
 v_rpm_version VARCHAR(255),
 v_software_version VARCHAR(40) ,
 v_version_name VARCHAR(40) ,
 v_build_name VARCHAR(40) ,
 v_previous_status INTEGER ,
 v_cpu_flags VARCHAR(4000) ,
 v_cpu_over_commit_time_stamp TIMESTAMP WITH TIME ZONE ,
 v_pending_vcpus_count INTEGER ,
 v_pending_vmem_size INTEGER ,
 v_cpu_sockets INTEGER ,
 v_net_config_dirty BOOLEAN ,
 v_supported_cluster_levels VARCHAR(40) ,
 v_supported_engines VARCHAR(40) ,
 v_host_os VARCHAR(4000) ,
 v_kvm_version VARCHAR(4000) ,
 v_libvirt_version VARCHAR(4000) ,
 v_spice_version VARCHAR(4000) ,
 v_gluster_version VARCHAR(4000) ,
 v_kernel_version VARCHAR(4000) ,
 v_iscsi_initiator_name VARCHAR(4000) ,
 v_transparent_hugepages_state INTEGER ,
 v_hooks VARCHAR(4000),
 v_non_operational_reason INTEGER,
 v_hw_manufacturer VARCHAR(255),
 v_hw_product_name VARCHAR(255),
 v_hw_version VARCHAR(255),
 v_hw_serial_number VARCHAR(255),
 v_hw_uuid VARCHAR(255),
 v_hw_family VARCHAR(255),
 v_hbas VARCHAR(255),
 v_supported_emulated_machines VARCHAR(255))
RETURNS VOID
	
   AS $procedure$
BEGIN

   BEGIN
      UPDATE vds_dynamic
      SET cpu_cores = v_cpu_cores,cpu_threads = v_cpu_threads,
      cpu_model = v_cpu_model,cpu_speed_mh = v_cpu_speed_mh,
      if_total_speed = v_if_total_speed,kvm_enabled = v_kvm_enabled,
      mem_commited = v_mem_commited,physical_mem_mb = v_physical_mem_mb,
      status = v_status,vm_active = v_vm_active,vm_count = v_vm_count,
      vm_migrating = v_vm_migrating,reserved_mem = v_reserved_mem,
      guest_overhead = v_guest_overhead,rpm_version = v_rpm_version, software_version = v_software_version,
      version_name = v_version_name,build_name = v_build_name,previous_status = v_previous_status,
      cpu_flags = v_cpu_flags,cpu_over_commit_time_stamp = v_cpu_over_commit_time_stamp,
      vms_cores_count = v_vms_cores_count,pending_vcpus_count = v_pending_vcpus_count,
      pending_vmem_size = v_pending_vmem_size,
      cpu_sockets = v_cpu_sockets,net_config_dirty = v_net_config_dirty,
      supported_cluster_levels = v_supported_cluster_levels,
      supported_engines = v_supported_engines,host_os = v_host_os,
      kvm_version = v_kvm_version,libvirt_version = v_libvirt_version,spice_version = v_spice_version,
      gluster_version = v_gluster_version,
      kernel_version = v_kernel_version,iscsi_initiator_name = v_iscsi_initiator_name,
      transparent_hugepages_state = v_transparent_hugepages_state,
      hooks = v_hooks,
      _update_date = LOCALTIMESTAMP,non_operational_reason = v_non_operational_reason,
      hw_manufacturer = v_hw_manufacturer, hw_product_name = v_hw_product_name,
      hw_version = v_hw_version, hw_serial_number = v_hw_serial_number,
      hw_uuid = v_hw_uuid, hw_family = v_hw_family, hbas = v_hbas, supported_emulated_machines = v_supported_emulated_machines
      WHERE vds_id = v_vds_id;
   END;

   RETURN;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteVdsDynamic(v_vds_id UUID)
RETURNS VOID
   AS $procedure$
BEGIN
   BEGIN
      DELETE FROM vds_dynamic
      WHERE vds_id = v_vds_id;
   END;

   RETURN;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromVdsDynamic() RETURNS SETOF vds_dynamic STABLE
   AS $procedure$
BEGIN
BEGIN
      RETURN QUERY SELECT vds_dynamic.*
      FROM vds_dynamic;
   END;

   RETURN;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVdsDynamicByVdsId(v_vds_id UUID) RETURNS SETOF vds_dynamic STABLE
   AS $procedure$
BEGIN
BEGIN
      RETURN QUERY SELECT vds_dynamic.*
      FROM vds_dynamic
      WHERE vds_id = v_vds_id;
   END;

   RETURN;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertVdsStatic(
    v_free_text_comment text,
    v_vds_id UUID,
    v_host_name VARCHAR(255),
    v_ip VARCHAR(255) ,
    v_vds_unique_id VARCHAR(128) ,
    v_port INTEGER,
    v_vds_group_id UUID,
    v_vds_name VARCHAR(255),
    v_server_SSL_enabled BOOLEAN ,
    v_vds_type INTEGER,
    v_vds_strength INTEGER,
    v_pm_type VARCHAR(20) ,
    v_pm_user VARCHAR(50) ,
    v_pm_password VARCHAR(50) ,
    v_pm_port INTEGER ,
    v_pm_options VARCHAR(4000) ,
    v_pm_enabled BOOLEAN,
    v_pm_proxy_preferences VARCHAR(255),
    v_pm_secondary_ip VARCHAR(255),
    v_pm_secondary_type VARCHAR(20),
    v_pm_secondary_user VARCHAR(50),
    v_pm_secondary_password text,
    v_pm_secondary_port INTEGER,
    v_pm_secondary_options VARCHAR(4000),
    v_pm_secondary_concurrent BOOLEAN,
    v_vds_spm_priority INTEGER,
    v_sshKeyFingerprint VARCHAR(128),
    v_console_address VARCHAR(255),
    v_ssh_port INTEGER,
    v_ssh_username VARCHAR(255),
    v_disable_auto_pm BOOLEAN)
RETURNS VOID
   AS $procedure$
BEGIN
   IF v_vds_unique_id IS NULL OR NOT EXISTS(SELECT vds_name FROM vds_static WHERE vds_unique_id = v_vds_unique_id) then
      BEGIN
         INSERT INTO vds_static(vds_id,host_name, free_text_comment, ip, vds_unique_id, port, vds_group_id, vds_name, server_SSL_enabled,
                               vds_type,vds_strength,pm_type,pm_user,pm_password,pm_port,pm_options,pm_enabled,
                               pm_proxy_preferences, pm_secondary_ip, pm_secondary_type, pm_secondary_user,
                               pm_secondary_password, pm_secondary_port, pm_secondary_options, pm_secondary_concurrent,
                               vds_spm_priority, sshKeyFingerprint, console_address, ssh_port, ssh_username, disable_auto_pm)
			VALUES(v_vds_id,v_host_name, v_free_text_comment, v_ip, v_vds_unique_id, v_port, v_vds_group_id, v_vds_name, v_server_SSL_enabled,
                               v_vds_type,v_vds_strength,v_pm_type,v_pm_user,v_pm_password,v_pm_port,v_pm_options,v_pm_enabled,
                               v_pm_proxy_preferences, v_pm_secondary_ip, v_pm_secondary_type, v_pm_secondary_user,
                               v_pm_secondary_password, v_pm_secondary_port, v_pm_secondary_options, v_pm_secondary_concurrent,
                               v_vds_spm_priority, v_sshKeyFingerprint, v_console_address, v_ssh_port, v_ssh_username, v_disable_auto_pm);
      END;
   end if;
   RETURN;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateVdsStatic(v_host_name VARCHAR(255),
    v_free_text_comment text,
	v_ip VARCHAR(255) ,
    v_vds_unique_id VARCHAR(128),
    v_port INTEGER,
    v_vds_group_id UUID,
    v_vds_id UUID,
    v_vds_name VARCHAR(255),
    v_server_SSL_enabled BOOLEAN ,
    v_vds_type INTEGER,
    v_vds_strength INTEGER,
    v_pm_type VARCHAR(20) ,
    v_pm_user VARCHAR(50) ,
    v_pm_password VARCHAR(50) ,
    v_pm_port INTEGER ,
    v_pm_options VARCHAR(4000) ,
    v_pm_enabled BOOLEAN,
    v_pm_proxy_preferences VARCHAR(255),
    v_pm_secondary_ip VARCHAR(255),
    v_pm_secondary_type VARCHAR(20),
    v_pm_secondary_user VARCHAR(50),
    v_pm_secondary_password text,
    v_pm_secondary_port INTEGER,
    v_pm_secondary_options VARCHAR(4000),
    v_pm_secondary_concurrent BOOLEAN,
    v_otp_validity BIGINT,
    v_vds_spm_priority INTEGER,
    v_sshKeyFingerprint VARCHAR(128),
    v_console_address VARCHAR(255),
    v_ssh_port INTEGER,
    v_ssh_username VARCHAR(255),
    v_disable_auto_pm BOOLEAN)
RETURNS VOID
	
   AS $procedure$
BEGIN

   BEGIN
      UPDATE vds_static
      SET host_name = v_host_name, free_text_comment = v_free_text_comment, ip = v_ip,vds_unique_id = v_vds_unique_id,
      port = v_port, vds_group_id = v_vds_group_id,vds_name = v_vds_name,server_SSL_enabled = v_server_SSL_enabled,
      vds_type = v_vds_type,
      _update_date = LOCALTIMESTAMP,vds_strength = v_vds_strength,
      pm_type = v_pm_type,pm_user = v_pm_user,pm_password = v_pm_password,
      pm_port = v_pm_port,pm_options = v_pm_options,pm_enabled = v_pm_enabled, pm_proxy_preferences = v_pm_proxy_preferences,
      pm_secondary_ip = v_pm_secondary_ip, pm_secondary_type = v_pm_secondary_type,
      pm_secondary_user = v_pm_secondary_user, pm_secondary_password = v_pm_secondary_password,
      pm_secondary_port = v_pm_secondary_port, pm_secondary_options = v_pm_secondary_options,
      pm_secondary_concurrent = v_pm_secondary_concurrent,
      otp_validity = v_otp_validity, vds_spm_priority = v_vds_spm_priority, sshKeyFingerprint = v_sshKeyFingerprint,
      console_address = v_console_address, ssh_port = v_ssh_port, ssh_username = v_ssh_username, disable_auto_pm = v_disable_auto_pm
      WHERE vds_id = v_vds_id;
   END;

   RETURN;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteVdsStatic(v_vds_id UUID)
RETURNS VOID
   AS $procedure$
BEGIN
   BEGIN
      UPDATE vm_static
      SET dedicated_vm_for_vds = null,
          migration_support = 0
      WHERE dedicated_vm_for_vds = v_vds_id;
      DELETE FROM tags_vds_map
      WHERE vds_id = v_vds_id;
   -- Delete all Vds Alerts from the database
      PERFORM DeleteAuditLogAlertsByVdsID(v_vds_id);
      DELETE FROM vds_static
      WHERE vds_id = v_vds_id;
	-- delete VDS permissions --
      DELETE FROM permissions where object_id = v_vds_id;
   END;

   RETURN;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromVdsStatic() RETURNS SETOF vds_static STABLE
   AS $procedure$
BEGIN
RETURN QUERY SELECT vds_static.*
   FROM vds_static;

   RETURN;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVdsStaticByVdsId(v_vds_id UUID) RETURNS SETOF vds_static STABLE
   AS $procedure$
BEGIN
BEGIN
      RETURN QUERY SELECT vds_static.*
      FROM vds_static
      WHERE vds_id = v_vds_id;
   END;

   RETURN;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVdsStaticByHostName(v_host_name VARCHAR(255)) RETURNS SETOF vds_static STABLE
   AS $procedure$
BEGIN
RETURN QUERY SELECT vds_static.*
   FROM vds_static
   WHERE host_name = v_host_name;

   RETURN;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVdsStaticByIp(v_ip VARCHAR(40)) RETURNS SETOF vds_static STABLE
   AS $procedure$
BEGIN
BEGIN
      RETURN QUERY SELECT vds_static.*
      FROM vds_static
      WHERE ip = v_ip;
   END;

   RETURN;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVdsByUniqueID(v_vds_unique_id VARCHAR(128)) RETURNS SETOF vds STABLE
   AS $procedure$
BEGIN
BEGIN
      RETURN QUERY SELECT DISTINCT vds.*
      FROM vds
      WHERE vds_unique_id = v_vds_unique_id;
   END;

   RETURN;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVdsStaticByVdsGroupId(v_vds_group_id UUID) RETURNS SETOF vds_static STABLE
   AS $procedure$
BEGIN
BEGIN
      RETURN QUERY SELECT vds_static.*
      FROM vds_static vds_static
      WHERE vds_group_id = v_vds_group_id;
   END;

   RETURN;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION GetUpAndPrioritizedVds(v_storage_pool_id UUID) RETURNS SETOF vds STABLE
AS $procedure$
BEGIN
BEGIN
      RETURN QUERY SELECT vds.*
      FROM vds vds, vds_groups vdsgroup
      WHERE (vds.status = 3) AND (vds.storage_pool_id = v_storage_pool_id) AND (vds_spm_priority IS NULL OR vds_spm_priority > -1)
      AND vds.vds_group_id = vdsgroup.vds_group_id AND vdsgroup.virt_service = true
      ORDER BY vds_spm_priority DESC, RANDOM();
   END;
   RETURN;
END; $procedure$
  LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromVds(v_user_id UUID, v_is_filtered BOOLEAN) RETURNS SETOF vds STABLE
   AS $procedure$
BEGIN
BEGIN
      RETURN QUERY SELECT DISTINCT vds.*
      FROM vds
      WHERE (NOT v_is_filtered OR EXISTS (SELECT 1
                                          FROM user_vds_permissions_view
                                          WHERE user_id = v_user_id AND entity_id = vds_id));
   END;

   RETURN;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVdsByVdsId(v_vds_id UUID, v_user_id UUID, v_is_filtered BOOLEAN) RETURNS SETOF vds STABLE
   AS $procedure$
DECLARE
v_columns text[];
BEGIN
    BEGIN
      if (v_is_filtered) then
          RETURN QUERY SELECT DISTINCT (rec).*
          FROM fn_db_mask_object('vds') as q (rec vds)
          WHERE (rec).vds_id = v_vds_id
          AND EXISTS (SELECT 1
              FROM   user_vds_permissions_view
              WHERE  user_id = v_user_id AND entity_id = v_vds_id);
      else
          RETURN QUERY SELECT DISTINCT vds.*
          FROM vds
          WHERE vds_id = v_vds_id;
      end if;
    END;

   RETURN;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVdsWithoutMigratingVmsByVdsGroupId(v_vds_group_id UUID) RETURNS SETOF vds STABLE
   AS $procedure$
BEGIN


	-- this sp returns all vds in given cluster that have no pending vms and no vms in migration states
	BEGIN
      RETURN QUERY SELECT DISTINCT vds.*
      FROM vds
      WHERE vds_group_id = v_vds_group_id and
      pending_vcpus_count = 0
      and	vds.status = 3
      and	vds_id not in(select distinct RUN_ON_VDS from vm_dynamic
         where status in(5,6,11,12));
   END;

   RETURN;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteVds(v_vds_id UUID)
RETURNS VOID
   AS $procedure$
BEGIN
   BEGIN
      UPDATE vm_static
      SET dedicated_vm_for_vds = null
      WHERE dedicated_vm_for_vds = v_vds_id;
      DELETE FROM tags_vds_map
      WHERE vds_id = v_vds_id;
   -- Delete all Vds Alerts from the database
      PERFORM DeleteAuditLogAlertsByVdsID(v_vds_id);
      DELETE FROM vds_statistics WHERE vds_id = v_vds_id;
      DELETE FROM vds_dynamic WHERE vds_id = v_vds_id;
      DELETE FROM vds_static WHERE vds_id = v_vds_id;
      DELETE FROM permissions where object_id = v_vds_id;
   END;
   RETURN;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVdsByType(v_vds_type INTEGER) RETURNS SETOF vds STABLE
   AS $procedure$
BEGIN
BEGIN
      RETURN QUERY SELECT DISTINCT vds.*
      FROM vds
      WHERE vds_type = v_vds_type;
   END;

   RETURN;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVdsByName(v_vds_name VARCHAR(255)) RETURNS SETOF vds STABLE
   AS $procedure$
BEGIN
BEGIN
      RETURN QUERY SELECT DISTINCT vds.*
      FROM vds
      WHERE vds_name = v_vds_name;
   END;

   RETURN;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVdsByHostName(v_host_name VARCHAR(255)) RETURNS SETOF vds STABLE
   AS $procedure$
BEGIN
BEGIN
      RETURN QUERY SELECT DISTINCT vds.*
      FROM vds
      WHERE host_name = v_host_name;
   END;

   RETURN;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVdsByIp(v_ip VARCHAR(40)) RETURNS SETOF vds STABLE
   AS $procedure$
BEGIN
BEGIN
      RETURN QUERY SELECT DISTINCT vds.*
      FROM vds
      WHERE ip = v_ip;
   END;

   RETURN;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVdsByVdsGroupId(v_vds_group_id UUID, v_user_id UUID, v_is_filtered boolean) RETURNS SETOF vds STABLE
   AS $procedure$
BEGIN
	-- this sp returns all vds for a given cluster
   BEGIN
      if (v_is_filtered) then
          RETURN QUERY SELECT DISTINCT (rec).*
          FROM fn_db_mask_object('vds') as q (rec vds)
          WHERE (rec).vds_group_id = v_vds_group_id
          AND EXISTS (SELECT 1
              FROM   user_vds_permissions_view
              WHERE  user_id = v_user_id AND entity_id = (rec).vds_id);
      else
          RETURN QUERY SELECT DISTINCT vds.*
          FROM vds
          WHERE vds_group_id = v_vds_group_id;
      end if;
    END;
    RETURN;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVdsByStoragePoolId(v_storage_pool_id UUID, v_user_id UUID, v_is_filtered boolean) RETURNS SETOF vds STABLE
   AS $procedure$
BEGIN
   BEGIN
      RETURN QUERY SELECT DISTINCT vds.*
      FROM   vds
      WHERE  storage_pool_id = v_storage_pool_id
      AND    (NOT v_is_filtered OR EXISTS (SELECT 1
                                           FROM   user_vds_permissions_view
                                           WHERE  user_id = v_user_id AND entity_id = vds_id));
   END;
   RETURN;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION getVdsForVdsGroupWithStatus(v_vds_group_id UUID, v_status integer) RETURNS SETOF vds STABLE
    AS $procedure$
BEGIN
    BEGIN
        RETURN QUERY SELECT vds.*
        FROM vds
        WHERE (status = v_status) AND (vds_group_id = v_vds_group_id)
        ORDER BY vds.vds_id ASC;
    END;
    RETURN;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION getVdsByStoragePoolIdWithStatus(v_storage_pool_id UUID, v_status integer) RETURNS SETOF vds STABLE
    AS $procedure$
BEGIN
    BEGIN
        RETURN QUERY SELECT vds.*
        FROM vds
        WHERE (status = v_status) AND (storage_pool_id = v_storage_pool_id);
    END;
    RETURN;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION getHostsForStorageOperation(v_storage_pool_id UUID, v_local_fs_only BOOLEAN) RETURNS SETOF vds STABLE
   AS $procedure$
BEGIN
    BEGIN
        RETURN QUERY SELECT vds.*
        FROM vds
        LEFT JOIN vds_groups vg ON vds.vds_group_id = vg.vds_group_id
        LEFT JOIN storage_pool sp ON vds.storage_pool_id = sp.id
        WHERE (v_storage_pool_id IS NULL OR vds.storage_pool_id = v_storage_pool_id)
        AND (vg.virt_service = true)
        AND (NOT v_local_fs_only OR sp.storage_pool_type = 4)
        AND (v_storage_pool_id IS NOT NULL OR vds.status = 3); -- if DC is unspecified return only hosts with status = UP
    END;
    RETURN;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateVdsDynamicStatus(
        v_vds_guid UUID,
        v_status INTEGER)
RETURNS VOID
   AS $procedure$
BEGIN
      UPDATE vds_dynamic
      SET
      status = v_status
      WHERE vds_id = v_vds_guid;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateVdsDynamicNetConfigDirty(
        v_vds_guid UUID,
        v_net_config_dirty BOOLEAN)
RETURNS VOID
   AS $procedure$
BEGIN
      UPDATE vds_dynamic
      SET
      net_config_dirty = v_net_config_dirty
      WHERE vds_id = v_vds_guid;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdatePartialVdsDynamicCalc(
        v_vds_guid UUID,
        v_vmCount INTEGER,
        v_pendingVcpusCount INTEGER,
        v_pendingVmemSize INTEGER,
        v_memCommited INTEGER,
        v_vmsCoresCount INTEGER)
RETURNS VOID
   AS $procedure$
DECLARE
    sign int;
BEGIN
	IF (v_memCommited = 0 ) THEN
	  sign = 0;
	ELSEIF (v_memCommited > 0) THEN
	  sign = 1;
	ELSE
	  sign = -1;
	END IF;

    UPDATE vds_dynamic
    SET
      vm_count = GREATEST(vm_count + v_vmCount, 0),
      pending_vcpus_count = GREATEST(pending_vcpus_count + v_pendingVcpusCount, 0),
      pending_vmem_size = GREATEST(pending_vmem_size + v_pendingVmemSize, 0),
      mem_commited = GREATEST(mem_commited + sign * (abs(v_memCommited) + guest_overhead), 0),
      vms_cores_count = GREATEST(vms_cores_count + v_vmsCoresCount, 0)
    WHERE vds_id = v_vds_guid;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVdsByNetworkId(v_network_id UUID) RETURNS SETOF vds STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM vds
   WHERE EXISTS (
      SELECT 1
      FROM vds_interface
      INNER JOIN network
      ON network.name = vds_interface.network_name
      INNER JOIN network_cluster
      ON network.id = network_cluster.network_id
      WHERE network_id = v_network_id
      AND vds.vds_group_id = network_cluster.cluster_id
      AND vds_interface.vds_id = vds.vds_id);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVdsWithoutNetwork(v_network_id UUID) RETURNS SETOF vds STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT vds.*
   FROM vds
   INNER JOIN network_cluster
   ON vds.vds_group_id = network_cluster.cluster_id
   WHERE network_cluster.network_id = v_network_id
   AND NOT EXISTS (
      SELECT 1
      FROM vds_interface
      INNER JOIN network
      ON network.name = vds_interface.network_name
      INNER JOIN network_cluster
      ON network.id = network_cluster.network_id
      WHERE network_cluster.network_id = v_network_id
      AND vds.vds_group_id = network_cluster.cluster_id
      AND vds_interface.vds_id = vds.vds_id);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Insertvds_spm_id_map(v_storage_pool_id UUID,
 v_vds_id UUID,
 v_vds_spm_id INTEGER)
RETURNS VOID
   AS $procedure$
BEGIN
INSERT INTO vds_spm_id_map(storage_pool_id, vds_id, vds_spm_id)
	VALUES(v_storage_pool_id, v_vds_id, v_vds_spm_id);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Deletevds_spm_id_map(v_vds_id UUID)
RETURNS VOID
   AS $procedure$
BEGIN

   DELETE FROM vds_spm_id_map
   WHERE vds_id = v_vds_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteByPoolvds_spm_id_map(v_vds_id UUID, v_storage_pool_id UUID)
RETURNS VOID
   AS $procedure$
BEGIN

   DELETE FROM vds_spm_id_map
   WHERE vds_id = v_vds_id AND storage_pool_id = v_storage_pool_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromvds_spm_id_map() RETURNS SETOF vds_spm_id_map STABLE
   AS $procedure$
BEGIN
RETURN QUERY SELECT vds_spm_id_map.*
   FROM vds_spm_id_map;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getvds_spm_id_mapBystorage_pool_idAndByvds_spm_id(v_storage_pool_id UUID,
 v_vds_spm_id INTEGER) RETURNS SETOF vds_spm_id_map STABLE
   AS $procedure$
BEGIN
RETURN QUERY SELECT vds_spm_id_map.*
   FROM vds_spm_id_map
   WHERE storage_pool_id = v_storage_pool_id AND vds_spm_id = v_vds_spm_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getvds_spm_id_mapBystorage_pool_id(v_storage_pool_id UUID) RETURNS SETOF vds_spm_id_map STABLE
   AS $procedure$
BEGIN
RETURN QUERY SELECT vds_spm_id_map.*
   FROM vds_spm_id_map
   WHERE storage_pool_id = v_storage_pool_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION Getvds_spm_id_mapByvds_id(v_vds_id UUID) RETURNS SETOF vds_spm_id_map STABLE
   AS $procedure$
BEGIN
RETURN QUERY SELECT vds_spm_id_map.*
   FROM vds_spm_id_map
   WHERE vds_id = v_vds_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertVmDevice(
    v_device_id UUID,
    v_vm_id UUID,
    v_device varchar(30),
    v_type varchar(30),
    v_address varchar(255),
    v_boot_order int,
    v_spec_params text,
    v_is_managed boolean,
    v_is_plugged boolean,
    v_is_readonly boolean,
    v_alias varchar(255),
    v_custom_properties text,
    v_snapshot_id uuid)
RETURNS VOID
AS $procedure$
BEGIN
    INSERT INTO vm_device(
        device_id,
        vm_id ,
        device ,
        type,
        address ,
        boot_order ,
        spec_params,
        is_managed,
        is_plugged,
        is_readonly,
        alias,
        custom_properties,
        snapshot_id)
    VALUES(
        v_device_id ,
        v_vm_id ,
        v_device ,
        v_type ,
        v_address ,
        v_boot_order ,
        v_spec_params,
        v_is_managed,
        v_is_plugged,
        v_is_readonly,
        v_alias,
        v_custom_properties,
        v_snapshot_id);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateVmDevice(
    v_device_id UUID,
    v_vm_id UUID,
    v_device varchar(30),
    v_type varchar(30),
    v_address varchar(255),
    v_boot_order int,
    v_spec_params text,
    v_is_managed boolean,
    v_is_plugged boolean,
    v_is_readonly boolean,
    v_alias varchar(255),
    v_custom_properties text,
    v_snapshot_id uuid)
RETURNS VOID
AS $procedure$
BEGIN
    UPDATE vm_device
    SET
           device = v_device,
           type = v_type,
           address = v_address,
           boot_order = v_boot_order,
           spec_params = v_spec_params,
           is_managed = v_is_managed,
           is_plugged = v_is_plugged,
           is_readonly = v_is_readonly,
           alias = v_alias,
           custom_properties = v_custom_properties,
           snapshot_id = v_snapshot_id,
           _update_date = current_timestamp
    WHERE  device_id = v_device_id and vm_id = v_vm_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateVmDeviceRuntimeInfo(
    v_device_id UUID,
    v_vm_id UUID,
    v_address varchar(255),
    v_alias varchar(255))
RETURNS VOID
AS $procedure$
BEGIN
    UPDATE vm_device
    SET
           address = v_address,
           alias = v_alias,
           _update_date = current_timestamp
    WHERE  device_id = v_device_id and vm_id = v_vm_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateVmDeviceForHotPlugDisk(
    v_device_id UUID,
    v_vm_id UUID,
    v_is_plugged boolean)
RETURNS VOID
AS $procedure$
BEGIN
    UPDATE vm_device
    SET
           is_plugged = v_is_plugged,
           _update_date = current_timestamp
    WHERE  device_id = v_device_id and vm_id = v_vm_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateVmDeviceBootOrder(
    v_device_id UUID,
    v_vm_id UUID,
    v_boot_order int)
RETURNS VOID
AS $procedure$
BEGIN
    UPDATE vm_device
    SET
           boot_order = v_boot_order,
           _update_date = current_timestamp
    WHERE  device_id = v_device_id and vm_id = v_vm_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteVmDevice(v_device_id UUID, v_vm_id UUID)
RETURNS VOID
AS $procedure$
BEGIN
    DELETE
    FROM   vm_device
    WHERE  device_id = v_device_id
    AND (v_vm_id IS NULL or vm_id = v_vm_id);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromVmDevice() RETURNS SETOF vm_device_view STABLE
AS $procedure$
BEGIN
    RETURN QUERY
    SELECT *
    FROM   vm_device_view;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmDeviceByDeviceId(v_device_id UUID, v_vm_id UUID)
RETURNS SETOF vm_device_view STABLE
AS $procedure$
BEGIN
    RETURN QUERY
    SELECT *
    FROM   vm_device_view
    WHERE  device_id = v_device_id
    AND (v_vm_id IS NULL OR vm_id = v_vm_id);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmDeviceByVmId(v_vm_id UUID)
RETURNS SETOF vm_device_view STABLE
AS $procedure$
BEGIN
    RETURN QUERY
    SELECT *
    FROM   vm_device_view
    WHERE  vm_id = v_vm_id order by device_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmDeviceByVmIdAndType(v_vm_id UUID, v_type varchar(30))
RETURNS SETOF vm_device_view STABLE
AS $procedure$
BEGIN
    RETURN QUERY
    SELECT *
    FROM   vm_device_view
    WHERE  vm_id = v_vm_id and type = v_type
    ORDER BY NULLIF(alias,'') NULLS LAST;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmDeviceByVmIdTypeAndDevice(v_vm_id UUID, v_type varchar(30), v_device varchar(30), v_user_id UUID, v_is_filtered BOOLEAN)
RETURNS SETOF vm_device_view STABLE
AS $procedure$
BEGIN
    RETURN QUERY
    SELECT *
    FROM   vm_device_view
    WHERE  vm_id = v_vm_id and type = v_type and device = v_device
    AND (NOT v_is_filtered OR EXISTS (SELECT 1
                                      FROM   user_vm_permissions_view
                                      WHERE  user_id = v_user_id AND entity_id = v_vm_id))
    ORDER BY NULLIF(alias,'') NULLS LAST;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION GetVmUnmanagedDevicesByVmId(v_vm_id UUID)
RETURNS SETOF vm_device_view STABLE
AS $procedure$
BEGIN
    RETURN QUERY
    select vm_device_view.* from vm_device_view
    where vm_id = v_vm_id and
          is_managed = false;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION isMemBalloonEnabled(v_vm_id UUID)
  RETURNS boolean STABLE AS
$BODY$
declare
    result boolean := false;
begin
    if exists (select 1 from vm_device where vm_id = v_vm_id and type = 'balloon' and device = 'memballoon') then
        result := true;
    end if;
    return result;
end;
$BODY$
LANGUAGE 'plpgsql';
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION clearVmDeviceAddress(v_device_id UUID)
  RETURNS VOID AS
$BODY$
begin
    update vm_device set address = '' where device_id = v_device_id;
end;
$BODY$
LANGUAGE 'plpgsql';
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertVm_pool_map(v_vm_guid UUID,
 v_vm_pool_id UUID)
RETURNS VOID
   AS $procedure$
BEGIN
INSERT INTO vm_pool_map(vm_guid, vm_pool_id)
	VALUES(v_vm_guid, v_vm_pool_id);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateVm_pool_map(v_vm_guid UUID,
 v_vm_pool_id UUID)
RETURNS VOID
	
   AS $procedure$
BEGIN
      UPDATE vm_pool_map
      SET vm_pool_id = v_vm_pool_id
      WHERE vm_guid = v_vm_guid;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteVm_pool_map(v_vm_guid UUID)
RETURNS VOID
   AS $procedure$
   DECLARE
   v_val  VARCHAR(50);
BEGIN
		-- Get (and keep) a shared lock with "right to upgrade to exclusive"
		-- in order to force locking parent before children
      select   vm_guid INTO v_val FROM vm_pool_map  WHERE vm_guid = v_vm_guid     FOR UPDATE;
      DELETE FROM vm_pool_map
      WHERE vm_guid = v_vm_guid;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromVm_pool_map() RETURNS SETOF vm_pool_map STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT vm_pool_map.*
      FROM vm_pool_map;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVm_pool_mapByvm_guid(v_vm_guid UUID) RETURNS SETOF vm_pool_map STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT vm_pool_map.*
      FROM vm_pool_map
      WHERE vm_guid = v_vm_guid;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVm_pool_mapByvm_pool_id(v_vm_pool_id UUID) RETURNS SETOF vm_pool_map STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT vm_pool_map.*
      FROM vm_pool_map INNER JOIN vm_static
      ON vm_pool_map.vm_guid = vm_static.vm_guid
      WHERE vm_pool_id = v_vm_pool_id
      ORDER BY vm_static.VM_NAME;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION getVmMapsInVmPoolByVmPoolIdAndStatus(v_vm_pool_id UUID, v_status INTEGER) RETURNS SETOF vm_pool_map STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT vm_pool_id, vm_pool_map.vm_guid
      FROM vm_pool_map, vm_dynamic
      WHERE vm_pool_map.vm_guid = vm_dynamic.vm_guid
      AND vm_pool_id = v_vm_pool_id
      AND vm_dynamic.status = v_status;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertVm_pools(v_vm_pool_description VARCHAR(4000),
 v_vm_pool_comment text,
 v_vm_pool_id UUID ,
 v_vm_pool_name VARCHAR(255),
 v_vm_pool_type INTEGER,
 v_parameters VARCHAR(200),
 v_prestarted_vms INTEGER,
 v_vds_group_id UUID,
 v_max_assigned_vms_per_user SMALLINT,
 v_spice_proxy VARCHAR(255))
RETURNS VOID
   AS $procedure$
BEGIN
      INSERT INTO vm_pools(vm_pool_id,vm_pool_description, vm_pool_comment, vm_pool_name, vm_pool_type,parameters, prestarted_vms, vds_group_id, max_assigned_vms_per_user, spice_proxy)
      VALUES(v_vm_pool_id,v_vm_pool_description, v_vm_pool_comment, v_vm_pool_name,v_vm_pool_type,v_parameters, v_prestarted_vms, v_vds_group_id, v_max_assigned_vms_per_user, v_spice_proxy);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateVm_pools(v_vm_pool_description VARCHAR(4000),
 v_vm_pool_comment text,
 v_vm_pool_id UUID,
 v_vm_pool_name VARCHAR(255),
 v_vm_pool_type INTEGER,
 v_parameters VARCHAR(200),
 v_prestarted_vms INTEGER,
 v_vds_group_id UUID,
 v_max_assigned_vms_per_user SMALLINT,
 v_spice_proxy VARCHAR(255))
RETURNS VOID
	
   AS $procedure$
BEGIN
      UPDATE vm_pools
      SET vm_pool_description = v_vm_pool_description, vm_pool_comment = v_vm_pool_comment, vm_pool_name = v_vm_pool_name,
      vm_pool_type = v_vm_pool_type,parameters = v_parameters, prestarted_vms = v_prestarted_vms, vds_group_id = v_vds_group_id,
      max_assigned_vms_per_user = v_max_assigned_vms_per_user, spice_proxy = v_spice_proxy
      WHERE vm_pool_id = v_vm_pool_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteVm_pools(v_vm_pool_id UUID)
RETURNS VOID
   AS $procedure$
   DECLARE
   v_val  UUID;
BEGIN
		-- Get (and keep) a shared lock with "right to upgrade to exclusive"
		-- in order to force locking parent before children
      select   vm_pool_id INTO v_val FROM vm_pools  WHERE vm_pool_id = v_vm_pool_id     FOR UPDATE;
      DELETE FROM vm_pools
      WHERE vm_pool_id = v_vm_pool_id;

		-- delete VmPool permissions --
      DELETE FROM permissions where object_id = v_vm_pool_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
DROP TYPE IF EXISTS GetAllFromVm_pools_rs CASCADE;
**************************

DROP TYPE
********* QUERY **********
Create type GetAllFromVm_pools_rs AS (vm_pool_id UUID, assigned_vm_count INTEGER, vm_running_count INTEGER, vm_pool_description VARCHAR(4000), vm_pool_comment text, vm_pool_name VARCHAR(255), vm_pool_type INTEGER, parameters VARCHAR(200), prestarted_vms INTEGER, vds_group_id UUID, vds_group_name VARCHAR(40), max_assigned_vms_per_user SMALLINT, spice_proxy VARCHAR(255));
**************************

CREATE TYPE
********* QUERY **********
Create or replace FUNCTION GetAllFromVm_pools() RETURNS SETOF GetAllFromVm_pools_rs
   AS $procedure$
BEGIN
      -- BEGIN TRAN
BEGIN
         CREATE GLOBAL TEMPORARY TABLE tt_VM_POOL_GROUP
         (
            vm_pool_id UUID,
            assigned_vm_count INTEGER
         ) WITH OIDS;
         exception when others then
            truncate table tt_VM_POOL_GROUP;
      END;
      insert INTO tt_VM_POOL_GROUP(vm_pool_id,
					assigned_vm_count)
      select
      vm_pools_view.vm_pool_id,
			  count(vm_pool_map.vm_pool_id)
      from vm_pools_view
      left join vm_pool_map on vm_pools_view.vm_pool_id = vm_pool_map.vm_pool_id
      group by vm_pools_view.vm_pool_id,vm_pool_map.vm_pool_id;
      BEGIN
         CREATE GLOBAL TEMPORARY TABLE tt_VM_POOL_RUNNING
         (
            vm_pool_id UUID,
            vm_running_count INTEGER
         ) WITH OIDS;
         exception when others then
            truncate table tt_VM_POOL_RUNNING;
      END;
      insert INTO tt_VM_POOL_RUNNING(vm_pool_id,
					vm_running_count)
      select vm_pools_view.vm_pool_id, count(vm_pools_view.vm_pool_id)
      from vm_pools_view
      left join vm_pool_map on vm_pools_view.vm_pool_id = vm_pool_map.vm_pool_id
      left join vm_dynamic on vm_pool_map.vm_guid = vm_dynamic.vm_guid
      where vm_dynamic.status > 0
      group by vm_pools_view.vm_pool_id;
      BEGIN
         CREATE GLOBAL TEMPORARY TABLE tt_VM_POOL_PRERESULT
         (
            vm_pool_id UUID,
            assigned_vm_count INTEGER,
            vm_running_count INTEGER
         ) WITH OIDS;
         exception when others then
            truncate table tt_VM_POOL_PRERESULT;
      END;
      insert INTO tt_VM_POOL_PRERESULT(vm_pool_id,
					assigned_vm_count,
					vm_running_count)
      select pg.vm_pool_id, pg.assigned_vm_count, pr.vm_running_count
      from tt_VM_POOL_GROUP pg
      left join tt_VM_POOL_RUNNING pr on pg.vm_pool_id = pr.vm_pool_id;
      update tt_VM_POOL_PRERESULT
      set vm_running_count = 0
      where vm_running_count is NULL;
      BEGIN
         CREATE GLOBAL TEMPORARY TABLE tt_VM_POOL_RESULT
         (
            vm_pool_id UUID,
            assigned_vm_count INTEGER,
            vm_running_count INTEGER,
            vm_pool_description VARCHAR(4000),
            vm_pool_comment text,
            vm_pool_name VARCHAR(255),
            vm_pool_type INTEGER,
            parameters VARCHAR(200),
            prestarted_vms INTEGER,
            vds_group_id UUID,
            vds_group_name VARCHAR(40),
            max_assigned_vms_per_user SMALLINT,
            spice_proxy VARCHAR(255)
         ) WITH OIDS;
         exception when others then
            truncate table tt_VM_POOL_RESULT;
      END;
      insert INTO tt_VM_POOL_RESULT(vm_pool_id,
            assigned_vm_count,
            vm_running_count,
            vm_pool_description,
            vm_pool_comment,
            vm_pool_name,
            vm_pool_type,
            parameters,
            prestarted_vms,
            vds_group_id,
            vds_group_name,
            max_assigned_vms_per_user,
            spice_proxy)
      select ppr.vm_pool_id, ppr.assigned_vm_count, ppr.vm_running_count,
  				 p.vm_pool_description, p.vm_pool_comment, p.vm_pool_name, p.vm_pool_type, p.parameters, p.prestarted_vms,
					 p.vds_group_id, p.vds_group_name, p.max_assigned_vms_per_user, p.spice_proxy
      from tt_VM_POOL_PRERESULT ppr
      inner join vm_pools_view p on ppr.vm_pool_id = p.vm_pool_id;
      RETURN QUERY select *
      from tt_VM_POOL_RESULT;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVm_poolsByvm_pool_id(v_vm_pool_id UUID, v_user_id UUID, v_is_filtered BOOLEAN) RETURNS SETOF vm_pools_full_view STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT vm_pools_full_view.*
      FROM vm_pools_full_view
      WHERE vm_pool_id = v_vm_pool_id
      AND (NOT v_is_filtered OR EXISTS (SELECT 1
                                        FROM   user_vm_pool_permissions_view
                                        WHERE  user_id = v_user_id AND entity_id = v_vm_pool_id));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVm_poolsByvm_pool_name(v_vm_pool_name VARCHAR(255)) RETURNS SETOF vm_pools_view STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT vm_pools_view.*
      FROM vm_pools_view
      WHERE vm_pool_name = v_vm_pool_name;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllVm_poolsByUser_id(v_user_id UUID) RETURNS SETOF vm_pools_view STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT  DISTINCT vm_pools_view.*
      FROM         users_and_groups_to_vm_pool_map_view INNER JOIN
      vm_pools_view ON
      users_and_groups_to_vm_pool_map_view.vm_pool_id = vm_pools_view.vm_pool_id
      WHERE     (users_and_groups_to_vm_pool_map_view.user_id = v_user_id);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVm_poolsByAdGroup_names(v_ad_group_names VARCHAR(4000)) RETURNS SETOF vm_pools_view STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT DISTINCT vm_pools_view.*
      FROM         ad_groups INNER JOIN
      users_and_groups_to_vm_pool_map_view ON
      ad_groups.id = users_and_groups_to_vm_pool_map_view.user_id INNER JOIN
      vm_pools_view ON users_and_groups_to_vm_pool_map_view.vm_pool_id = vm_pools_view.vm_pool_id
      WHERE     (ad_groups.name in(select Id from fnSplitter(v_ad_group_names)));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION GetVmDataFromPoolByPoolId(v_pool_id uuid, v_user_id uuid, v_is_filtered boolean)
  RETURNS SETOF vms STABLE AS $procedure$
BEGIN
     RETURN QUERY SELECT vms.*
     FROM vms WHERE vm_pool_id = v_pool_id
     AND (NOT v_is_filtered OR EXISTS (SELECT 1
                                       FROM   user_vm_pool_permissions_view
                                       WHERE  user_id = v_user_id AND entity_id = v_pool_id))
     -- Limiting results to 1 since we only need a single VM from the pool to retrieve the pool data
     LIMIT 1;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertVmTemplate(v_child_count INTEGER,
 v_creation_date TIMESTAMP WITH TIME ZONE,
 v_description VARCHAR(4000) ,
 v_free_text_comment text,
 v_mem_size_mb INTEGER,
 v_name VARCHAR(40),
 v_num_of_sockets INTEGER,
 v_cpu_per_socket INTEGER,
 v_os INTEGER,
 v_vmt_guid UUID,
 v_vds_group_id UUID,
 v_domain VARCHAR(40),
 v_num_of_monitors INTEGER,
 v_single_qxl_pci BOOLEAN,
 v_allow_console_reconnect BOOLEAN,
 v_status INTEGER,
 v_usb_policy INTEGER,
 v_time_zone VARCHAR(40) ,
 v_fail_back BOOLEAN ,
 v_vm_type INTEGER ,
 v_nice_level INTEGER,
 v_cpu_shares INTEGER,
 v_default_boot_sequence INTEGER,
 v_default_display_type INTEGER,
 v_priority INTEGER,
 v_auto_startup BOOLEAN,
 v_is_stateless BOOLEAN,
 v_is_smartcard_enabled BOOLEAN,
 v_is_delete_protected BOOLEAN,
 v_sso_method VARCHAR(32),
 v_is_disabled BOOLEAN,
 v_iso_path VARCHAR(4000) ,
 v_origin INTEGER ,
 v_initrd_url    VARCHAR(4000) ,
 v_kernel_url    VARCHAR(4000) ,
 v_kernel_params VARCHAR(4000) ,
 v_quota_id UUID,
 v_migration_support integer,
 v_dedicated_vm_for_vds UUID,
 v_tunnel_migration BOOLEAN,
 v_vnc_keyboard_layout	VARCHAR(16),
 v_min_allocated_mem INTEGER,
 v_is_run_and_pause BOOLEAN,
 v_created_by_user_id UUID,
 v_template_type VARCHAR(40),
 v_migration_downtime INTEGER)
RETURNS VOID
   AS $procedure$
BEGIN
INSERT
INTO vm_static(
    vmt_guid,
    child_count,
    creation_date,
    description,
    free_text_comment,
    mem_size_mb,
    vm_name,
    num_of_sockets,
    cpu_per_socket,
    os,
    vm_guid,
    vds_group_id,
    domain,
    num_of_monitors,
    single_qxl_pci,
    allow_console_reconnect,
    template_status,
    usb_policy,
    time_zone,
    fail_back,
    vm_type,
    nice_level,
    cpu_shares,
    default_boot_sequence,
    default_display_type,
    priority,
    auto_startup,
    is_stateless,
    iso_path,
    origin,
    initrd_url,
    kernel_url,
    kernel_params,
    entity_type,
    quota_id,
    migration_support,
    is_disabled,
    dedicated_vm_for_vds,
    is_smartcard_enabled,
    is_delete_protected,
    sso_method,
    tunnel_migration,
    vnc_keyboard_layout,
    min_allocated_mem,
    is_run_and_pause,
    created_by_user_id,
    migration_downtime)
VALUES(
    -- This field is meaningless for templates for the time being, however we want to keep it not null for VMs.
    -- Thus, since templates are top level elements they "point" to the 'Blank' template.
    '00000000-0000-0000-0000-000000000000',
    v_child_count,
    v_creation_date,
    v_description,
    v_free_text_comment,
    v_mem_size_mb,
    v_name,
    v_num_of_sockets,
    v_cpu_per_socket,
    v_os,
    v_vmt_guid,
    v_vds_group_id,
    v_domain,
    v_num_of_monitors,
    v_single_qxl_pci,
    v_allow_console_reconnect,
    v_status,
    v_usb_policy,
    v_time_zone,
    v_fail_back,
    v_vm_type,
    v_nice_level,
    v_cpu_shares,
    v_default_boot_sequence,
    v_default_display_type,
    v_priority,
    v_auto_startup,
    v_is_stateless,
    v_iso_path,
    v_origin,
    v_initrd_url,
    v_kernel_url,
    v_kernel_params,
    v_template_type,
    v_quota_id,
    v_migration_support,
    v_is_disabled,
    v_dedicated_vm_for_vds,
    v_is_smartcard_enabled,
    v_is_delete_protected,
    v_sso_method,
    v_tunnel_migration,
    v_vnc_keyboard_layout,
    v_min_allocated_mem,
    v_is_run_and_pause,
    v_created_by_user_id,
    v_migration_downtime);
-- perform deletion from vm_ovf_generations to ensure that no record exists when performing insert to avoid PK violation.
DELETE FROM vm_ovf_generations gen WHERE gen.vm_guid = v_vmt_guid;
INSERT INTO vm_ovf_generations(vm_guid, storage_pool_id)
VALUES (v_vmt_guid, (SELECT storage_pool_id
                     FROM vds_groups vg
                     WHERE vg.vds_group_id = v_vds_group_id));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateVmTemplate(v_child_count INTEGER,
 v_creation_date TIMESTAMP WITH TIME ZONE,
 v_description VARCHAR(4000) ,
 v_free_text_comment text,
 v_mem_size_mb INTEGER,
 v_name VARCHAR(40),
 v_num_of_sockets INTEGER,
 v_cpu_per_socket INTEGER,
 v_os INTEGER,
 v_vmt_guid UUID,
 v_vds_group_id UUID,
 v_domain VARCHAR(40),
 v_num_of_monitors INTEGER,
 v_single_qxl_pci BOOLEAN,
 v_allow_console_reconnect BOOLEAN,
 v_status INTEGER,
 v_usb_policy INTEGER,
 v_time_zone VARCHAR(40) ,
 v_fail_back BOOLEAN ,
 v_vm_type INTEGER ,
 v_nice_level INTEGER,
 v_cpu_shares INTEGER,
 v_default_boot_sequence INTEGER,
 v_default_display_type INTEGER,
 v_priority INTEGER,
 v_auto_startup BOOLEAN,
 v_is_stateless BOOLEAN,
 v_is_smartcard_enabled BOOLEAN,
 v_is_delete_protected BOOLEAN,
 v_sso_method VARCHAR(32),
 v_is_disabled BOOLEAN,
 v_iso_path VARCHAR(4000) ,
 v_origin INTEGER ,
 v_initrd_url VARCHAR(4000) ,
 v_kernel_url VARCHAR(4000) ,
 v_kernel_params VARCHAR(4000),
 v_quota_id UUID,
 v_migration_support integer,
 v_dedicated_vm_for_vds uuid,
 v_tunnel_migration BOOLEAN,
 v_vnc_keyboard_layout	VARCHAR(16),
 v_min_allocated_mem INTEGER,
 v_is_run_and_pause BOOLEAN,
 v_created_by_user_id UUID,
 v_template_type VARCHAR(40),
 v_migration_downtime INTEGER)
RETURNS VOID
	
   AS $procedure$
BEGIN
      UPDATE vm_static
      SET child_count = v_child_count,creation_date = v_creation_date,description = v_description, free_text_comment = v_free_text_comment,
      mem_size_mb = v_mem_size_mb,vm_name = v_name,num_of_sockets = v_num_of_sockets,
      cpu_per_socket = v_cpu_per_socket,os = v_os,
      vds_group_id = v_vds_group_id,domain = v_domain,num_of_monitors = v_num_of_monitors,
      single_qxl_pci = v_single_qxl_pci, allow_console_reconnect = v_allow_console_reconnect,
      template_status = v_status,usb_policy = v_usb_policy,time_zone = v_time_zone,
      fail_back = v_fail_back,
      vm_type = v_vm_type,
      nice_level = v_nice_level,
      cpu_shares = v_cpu_shares, default_boot_sequence = v_default_boot_sequence,
      default_display_type = v_default_display_type,
      priority = v_priority,auto_startup = v_auto_startup,is_stateless = v_is_stateless,
      iso_path = v_iso_path,origin = v_origin,initrd_url = v_initrd_url,
      kernel_url = v_kernel_url,kernel_params = v_kernel_params, _update_date = CURRENT_TIMESTAMP, quota_id = v_quota_id,
      migration_support = v_migration_support, dedicated_vm_for_vds = v_dedicated_vm_for_vds, is_smartcard_enabled = v_is_smartcard_enabled,
      is_delete_protected = v_is_delete_protected, sso_method = v_sso_method, is_disabled = v_is_disabled, tunnel_migration = v_tunnel_migration,
      vnc_keyboard_layout = v_vnc_keyboard_layout, min_allocated_mem = v_min_allocated_mem, is_run_and_pause = v_is_run_and_pause, created_by_user_id = v_created_by_user_id,
      migration_downtime = v_migration_downtime
      WHERE vm_guid = v_vmt_guid
      AND   entity_type = v_template_type;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateVmTemplateStatus(
        v_vmt_guid UUID,
        v_status INTEGER)
RETURNS VOID
   AS $procedure$
BEGIN
      UPDATE vm_static
      SET    template_status = v_status
      WHERE  vm_guid = v_vmt_guid;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteVmTemplates(v_vmt_guid UUID)
RETURNS VOID
   AS $procedure$
   DECLARE
   v_val  UUID;
BEGIN
        -- Get (and keep) a shared lock with "right to upgrade to exclusive"
		-- in order to force locking parent before children
      select   vm_guid INTO v_val FROM vm_static  WHERE vm_guid = v_vmt_guid FOR UPDATE;
      DELETE FROM vm_static
      WHERE vm_guid = v_vmt_guid;
		-- delete Template permissions --
      DELETE FROM permissions where object_id = v_vmt_guid;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromVmTemplates(v_user_id UUID, v_is_filtered boolean) RETURNS SETOF vm_templates_view STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT vm_templates.*
      FROM vm_templates_view vm_templates
      WHERE (NOT v_is_filtered OR EXISTS (SELECT 1
                                          FROM   user_vm_template_permissions_view
                                          WHERE  user_id = v_user_id AND entity_id = vmt_guid))
      ORDER BY name;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetTemplateCount() RETURNS SETOF BIGINT STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT count (vm_templates.*)
      FROM vm_templates_view vm_templates;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmTemplatesByIds(v_vm_templates_ids VARCHAR(5000)) RETURNS SETOF vm_templates_view STABLE
   AS $procedure$
BEGIN
RETURN QUERY SELECT vm_templates.*
   FROM vm_templates_view vm_templates
   WHERE vm_templates.vmt_guid IN (SELECT * FROM fnSplitterUuid(v_vm_templates_ids));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION getAllVmTemplatesRelatedToQuotaId(v_quota_id UUID) RETURNS SETOF vm_templates_view STABLE
   AS $procedure$
BEGIN
	RETURN QUERY SELECT vm_templates.*
      FROM vm_templates_view vm_templates
      WHERE quota_id = v_quota_id
      UNION
      SELECT DISTINCT vm_templates.*
      FROM vm_templates_view vm_templates
      INNER JOIN vm_device vd ON vd.vm_id = vm_templates.vmt_guid
      INNER JOIN images ON images.image_group_id = vd.device_id AND images.active = TRUE
      INNER JOIN image_storage_domain_map ON image_storage_domain_map.image_id = images.image_guid
      WHERE image_storage_domain_map.quota_id = v_quota_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmTemplateByVmtGuid(v_vmt_guid UUID, v_user_id UUID, v_is_filtered boolean) RETURNS SETOF vm_templates_view STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT vm_templates.*
      FROM vm_templates_view vm_templates
      WHERE vmt_guid = v_vmt_guid
      AND (NOT v_is_filtered OR EXISTS (SELECT 1
                                        FROM   user_vm_template_permissions_view
                                        WHERE  user_id = v_user_id AND entity_id = v_vmt_guid));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmTemplateByVmtName(v_vmt_name VARCHAR(255), v_user_id UUID, v_is_filtered boolean) RETURNS SETOF vm_templates_view STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT vm_templates.*
      FROM vm_templates_view vm_templates
      WHERE name = v_vmt_name
      AND (NOT v_is_filtered OR EXISTS (SELECT 1
                                        FROM   user_vm_template_permissions_view
                                        WHERE  user_id = v_user_id AND entity_id = vmt_guid));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmTemplateByVdsGroupId(v_vds_group_id UUID) RETURNS SETOF vm_templates_view STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT vm_templates.*
      FROM vm_templates_view vm_templates
      WHERE vds_group_id = v_vds_group_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmTemplatesByImageId(v_image_guid UUID) RETURNS SETOF vm_templates_with_plug_info STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT *
      FROM vm_templates_with_plug_info t
      WHERE t.image_guid = v_image_guid;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmTemplatesByStorageDomainId(v_storage_domain_id UUID, v_user_id UUID, v_is_filtered boolean) RETURNS SETOF vm_templates_view STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT DISTINCT vm_templates.*
      FROM vm_templates_view vm_templates
      INNER JOIN vm_device vd ON vd.vm_id = vm_templates.vmt_guid
      INNER JOIN images i ON i.image_group_id = vd.device_id AND i.active = TRUE
      where i.image_guid in(select image_id from image_storage_domain_map where storage_domain_id = v_storage_domain_id)
      AND (NOT v_is_filtered OR EXISTS (SELECT 1
                                      FROM   user_vm_template_permissions_view
                                      WHERE  user_id = v_user_id AND entity_id = vm_templates.vmt_guid));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION fn_perms_get_templates_with_permitted_action(v_user_id UUID, v_action_group_id integer) RETURNS SETOF vm_templates_view STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT vm_templates_view.*
      FROM vm_templates_view, user_vm_template_permissions_view
      WHERE vm_templates_view.vmt_guid = user_vm_template_permissions_view.entity_id AND
            user_vm_template_permissions_view.user_id = v_user_id AND
            (SELECT get_entity_permissions(v_user_id, v_action_group_id, vm_templates_view.vmt_guid, 4) IS NOT NULL);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmTemplatesByNetworkId(v_network_id UUID) RETURNS SETOF vm_templates_view STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM vm_templates_view
   WHERE EXISTS (
      SELECT 1
      FROM vm_interface
      INNER JOIN vnic_profiles
      ON vnic_profiles.id = vm_interface.vnic_profile_id
      WHERE vnic_profiles.network_id = v_network_id
      AND vm_interface.vmt_guid = vm_templates_view.vmt_guid);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmTemplatesByVnicProfileId(v_vnic_profile_id UUID) RETURNS SETOF vm_templates_view STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM vm_templates_view
   WHERE EXISTS (
      SELECT 1
      FROM vm_interface
      WHERE vm_interface.vnic_profile_id = v_vnic_profile_id
      AND vm_interface.vmt_guid = vm_templates_view.vmt_guid);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateOvfGenerations(v_vms_ids VARCHAR(5000), v_vms_db_generations VARCHAR(5000))
    RETURNS VOID
    AS $procedure$
DECLARE
curs_vmids CURSOR FOR SELECT * FROM fnSplitterUuid(v_vms_ids);
curs_newovfgen CURSOR FOR SELECT * FROM fnSplitter(v_vms_db_generations);
id UUID;
new_ovf_gen BIGINT;
BEGIN
 OPEN curs_vmids;
 OPEN curs_newovfgen;
LOOP
    FETCH curs_vmids INTO id;
    FETCH curs_newovfgen INTO new_ovf_gen;
    IF NOT FOUND THEN
     EXIT;
    END IF;
    UPDATE vm_ovf_generations
    SET ovf_generation = new_ovf_gen WHERE vm_guid = id;
END LOOP;
CLOSE curs_vmids;
CLOSE curs_newovfgen;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetIdsForOvfDeletion(v_storage_pool_id UUID) RETURNS SETOF UUID STABLE
   AS $procedure$
BEGIN
RETURN QUERY SELECT ovf.vm_guid as vm_guid
   FROM vm_ovf_generations ovf
   WHERE ovf.storage_pool_id = v_storage_pool_id AND ovf.vm_guid NOT IN (SELECT vm_guid FROM vm_static);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetOvfGeneration(v_vm_id UUID) RETURNS SETOF BIGINT STABLE
   AS $procedure$
BEGIN
RETURN QUERY SELECT vm.ovf_generation
   FROM vm_ovf_generations vm
   WHERE vm.vm_guid = v_vm_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmTemplatesIdsForOvfUpdate(v_storage_pool_id UUID) RETURNS SETOF UUID STABLE
   AS $procedure$
BEGIN
RETURN QUERY SELECT templates.vmt_guid as vm_guid
   FROM vm_templates_view templates, vm_ovf_generations generations
   WHERE generations.vm_guid = templates.vmt_guid
   AND templates.db_generation > generations.ovf_generation
   AND templates.storage_pool_id = v_storage_pool_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmsIdsForOvfUpdate(v_storage_pool_id UUID) RETURNS SETOF UUID STABLE
   AS $procedure$
BEGIN
RETURN QUERY SELECT vm.vm_guid as vm_guid
   FROM vms vm, vm_ovf_generations ovf_gen
   WHERE vm.vm_guid = ovf_gen.vm_guid
         AND vm.db_generation >  ovf_gen.ovf_generation
         AND vm.storage_pool_id = v_storage_pool_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteOvfGenerations(v_vms_ids VARCHAR(5000))
    RETURNS VOID
    AS $procedure$
BEGIN
    DELETE FROM vm_ovf_generations WHERE vm_guid IN (SELECT * FROM fnSplitterUuid(v_vms_ids))
    -- needed here to ensure that vm with the same id hasn't been added by import vm/template command
    AND vm_guid NOT IN (SELECT vm_guid FROM vm_static);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertVmStatistics(v_cpu_sys DECIMAL(18,0) ,
	v_cpu_user DECIMAL(18,0) ,
	v_elapsed_time DECIMAL(18,0) ,
	v_usage_cpu_percent INTEGER ,
	v_usage_mem_percent INTEGER ,
	v_usage_network_percent INTEGER ,
	v_disks_usage TEXT,
	v_vm_guid UUID)
RETURNS VOID
   AS $procedure$
BEGIN
INSERT INTO vm_statistics(cpu_sys, cpu_user, elapsed_time, usage_cpu_percent, usage_mem_percent, usage_network_percent, disks_usage, vm_guid)
	VALUES(v_cpu_sys, v_cpu_user, v_elapsed_time, v_usage_cpu_percent, v_usage_mem_percent, v_usage_network_percent, v_disks_usage, v_vm_guid);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateVmStatistics(v_cpu_sys DECIMAL(18,0) ,
	v_cpu_user DECIMAL(18,0) ,
	v_elapsed_time DECIMAL(18,0) ,
	v_usage_cpu_percent INTEGER ,
	v_usage_mem_percent INTEGER ,
	v_usage_network_percent INTEGER ,
	v_disks_usage TEXT ,
	v_vm_guid UUID)
RETURNS VOID
   AS $procedure$
BEGIN
      UPDATE vm_statistics
      SET cpu_sys = v_cpu_sys,cpu_user = v_cpu_user,elapsed_time = v_elapsed_time,
      usage_cpu_percent = v_usage_cpu_percent,usage_mem_percent = v_usage_mem_percent,
      usage_network_percent = v_usage_network_percent,disks_usage = v_disks_usage, _update_date = LOCALTIMESTAMP
      WHERE vm_guid = v_vm_guid;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteVmStatistics(v_vm_guid UUID)
RETURNS VOID
   AS $procedure$
BEGIN
      DELETE FROM vm_statistics
      WHERE vm_guid = v_vm_guid;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromVmStatistics() RETURNS SETOF vm_statistics STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT vm_statistics.*
      FROM vm_statistics;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmStatisticsByVmGuid(v_vm_guid UUID) RETURNS SETOF vm_statistics STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT vm_statistics.*
      FROM vm_statistics
      WHERE vm_guid = v_vm_guid;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertVmDynamic(v_app_list VARCHAR(4000) ,
	v_guest_cur_user_name VARCHAR(255) ,
	v_console_cur_user_name VARCHAR(255) ,
	v_guest_last_login_time TIMESTAMP WITH TIME ZONE ,
	v_guest_last_logout_time TIMESTAMP WITH TIME ZONE ,
        v_console_user_id UUID,
	v_guest_os VARCHAR(255) ,
	v_migrating_to_vds UUID ,
	v_run_on_vds UUID ,
	v_status INTEGER,
	v_vm_guid UUID,
	v_vm_host VARCHAR(255) ,
	v_vm_ip VARCHAR(255) ,
	v_vm_fqdn VARCHAR(255) ,
	v_last_start_time TIMESTAMP WITH TIME ZONE ,
	v_last_stop_time TIMESTAMP WITH TIME ZONE ,
	v_vm_pid INTEGER ,
	v_display INTEGER ,
	v_acpi_enable BOOLEAN ,
	v_session INTEGER ,
	v_display_ip VARCHAR(255) ,
	v_display_type INTEGER ,
	v_kvm_enable BOOLEAN ,
	v_boot_sequence INTEGER ,
	v_display_secure_port INTEGER ,
	v_utc_diff INTEGER ,
	v_last_vds_run_on UUID ,
	v_client_ip VARCHAR(255),
	v_guest_requested_memory  INTEGER ,
	v_hibernation_vol_handle VARCHAR(255) ,
	v_exit_status INTEGER,
	v_pause_status INTEGER,
	v_exit_message VARCHAR(4000),
	v_guest_agent_nics_hash INTEGER,
        v_last_watchdog_event NUMERIC,
        v_last_watchdog_action VARCHAR(8),
        v_is_run_once BOOLEAN,
        v_cpu_name VARCHAR(255))
RETURNS VOID
   AS $procedure$
BEGIN
INSERT INTO vm_dynamic(app_list, guest_cur_user_name, console_cur_user_name, guest_last_login_time, guest_last_logout_time, console_user_id, guest_os, migrating_to_vds, RUN_ON_VDS, status, vm_guid, vm_host, vm_ip, last_start_time, last_stop_time, vm_pid, display, acpi_enable, session, display_ip, display_type, kvm_enable, boot_sequence, display_secure_port, utc_diff, last_vds_run_on, client_ip, guest_requested_memory, hibernation_vol_handle,exit_status,pause_status,exit_message, guest_agent_nics_hash, last_watchdog_event, last_watchdog_action, is_run_once, vm_fqdn, cpu_name)
	VALUES(v_app_list, v_guest_cur_user_name, v_console_cur_user_name, v_guest_last_login_time, v_guest_last_logout_time, v_console_user_id, v_guest_os, v_migrating_to_vds, v_run_on_vds, v_status, v_vm_guid, v_vm_host, v_vm_ip, v_last_start_time, v_last_stop_time, v_vm_pid, v_display, v_acpi_enable, v_session, v_display_ip, v_display_type, v_kvm_enable, v_boot_sequence, v_display_secure_port, v_utc_diff, v_last_vds_run_on, v_client_ip, v_guest_requested_memory, v_hibernation_vol_handle, v_exit_status, v_pause_status, v_exit_message, v_guest_agent_nics_hash, v_last_watchdog_event, v_last_watchdog_action, v_is_run_once, v_vm_fqdn, v_cpu_name);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateVmDynamic(v_app_list VARCHAR(4000) ,
	v_guest_cur_user_name VARCHAR(255) ,
	v_console_cur_user_name VARCHAR(255) ,
	v_guest_last_login_time TIMESTAMP WITH TIME ZONE ,
	v_guest_last_logout_time TIMESTAMP WITH TIME ZONE ,
        v_console_user_id UUID,
	v_guest_os VARCHAR(255) ,
	v_migrating_to_vds UUID ,
	v_run_on_vds UUID ,
	v_status INTEGER,
	v_vm_guid UUID,
	v_vm_host VARCHAR(255) ,
	v_vm_ip VARCHAR(255) ,
	v_vm_fqdn VARCHAR(255) ,
	v_last_start_time TIMESTAMP WITH TIME ZONE ,
	v_last_stop_time TIMESTAMP WITH TIME ZONE ,
	v_vm_pid INTEGER ,
	v_display INTEGER ,
	v_acpi_enable BOOLEAN ,
	v_session INTEGER ,
	v_display_ip VARCHAR(255) ,
	v_display_type INTEGER ,
	v_kvm_enable BOOLEAN ,
	v_boot_sequence INTEGER ,
	v_display_secure_port INTEGER ,
	v_utc_diff INTEGER ,
	v_last_vds_run_on UUID ,
	v_client_ip VARCHAR(255) ,
	v_guest_requested_memory INTEGER ,
	v_hibernation_vol_handle VARCHAR(255) ,
	v_exit_status INTEGER,
	v_pause_status INTEGER,
	v_exit_message VARCHAR(4000),
        v_hash VARCHAR(30),
        v_guest_agent_nics_hash INTEGER,
        v_last_watchdog_event NUMERIC,
        v_last_watchdog_action VARCHAR(8),
        v_is_run_once BOOLEAN,
        v_cpu_name VARCHAR(255))
RETURNS VOID
	
   AS $procedure$
BEGIN
      UPDATE vm_dynamic
      SET app_list = v_app_list,guest_cur_user_name = v_guest_cur_user_name,
      console_cur_user_name = v_console_cur_user_name,
      guest_last_login_time = v_guest_last_login_time,
      guest_last_logout_time = v_guest_last_logout_time,
      console_user_id = v_console_user_id,
      guest_os = v_guest_os,migrating_to_vds = v_migrating_to_vds,RUN_ON_VDS = v_run_on_vds,
      status = v_status,vm_host = v_vm_host,vm_ip = v_vm_ip,vm_fqdn = v_vm_fqdn,
      last_start_time = v_last_start_time,
      last_stop_time = v_last_stop_time,
      vm_pid = v_vm_pid,display = v_display,acpi_enable = v_acpi_enable,
      session = v_session,display_ip = v_display_ip,
      display_type = v_display_type,kvm_enable = v_kvm_enable,boot_sequence = v_boot_sequence,
      display_secure_port = v_display_secure_port,
      utc_diff = v_utc_diff,last_vds_run_on = v_last_vds_run_on,client_ip = v_client_ip,
      guest_requested_memory = v_guest_requested_memory,
      hibernation_vol_handle = v_hibernation_vol_handle,exit_status = v_exit_status,
      pause_status = v_pause_status,exit_message = v_exit_message, hash=v_hash, guest_agent_nics_hash = v_guest_agent_nics_hash,
      last_watchdog_event = v_last_watchdog_event, last_watchdog_action = v_last_watchdog_action, is_run_once = v_is_run_once, cpu_name = v_cpu_name
      WHERE vm_guid = v_vm_guid;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateConsoleUserWithOptimisticLocking(
    v_vm_guid UUID,
    v_console_user_id UUID,
    v_guest_cur_user_name VARCHAR(255),
    v_console_cur_user_name VARCHAR(255),
    OUT v_updated BOOLEAN)
    AS $procedure$
BEGIN
    UPDATE vm_dynamic SET
        console_user_id = v_console_user_id,
        guest_cur_user_name = v_guest_cur_user_name,
        console_cur_user_name = v_console_cur_user_name
    WHERE
        vm_guid = v_vm_guid AND
        (console_user_id = v_console_user_id OR console_user_id IS NULL);
    v_updated := FOUND;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateVmDynamicStatus(
	v_vm_guid UUID,
	v_status INTEGER)
RETURNS VOID
   AS $procedure$
BEGIN
      UPDATE vm_dynamic
      SET
      status = v_status
      WHERE vm_guid = v_vm_guid;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteVmDynamic(v_vm_guid UUID)
RETURNS VOID
   AS $procedure$
BEGIN
      DELETE FROM vm_dynamic
      WHERE vm_guid = v_vm_guid;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromVmDynamic() RETURNS SETOF vm_dynamic STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT vm_dynamic.*
      FROM vm_dynamic;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmDynamicByVmGuid(v_vm_guid UUID) RETURNS SETOF vm_dynamic STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT vm_dynamic.*
      FROM vm_dynamic
      WHERE vm_guid = v_vm_guid;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION InsertVmStatic(v_description VARCHAR(4000),
 v_free_text_comment text,
 v_mem_size_mb INTEGER,
 v_os INTEGER,
 v_vds_group_id UUID,
 v_vm_guid UUID,
 v_vm_name VARCHAR(255),
 v_vmt_guid UUID,
 v_domain  VARCHAR(40),
 v_creation_date TIMESTAMP WITH TIME ZONE,
 v_num_of_monitors INTEGER,
 v_single_qxl_pci BOOLEAN,
 v_allow_console_reconnect BOOLEAN,
 v_is_initialized BOOLEAN,
    v_num_of_sockets INTEGER,
    v_cpu_per_socket INTEGER,
 v_usb_policy INTEGER,
 v_time_zone VARCHAR(40) ,
 v_auto_startup BOOLEAN,
 v_is_stateless BOOLEAN,
 v_is_smartcard_enabled BOOLEAN,
 v_is_delete_protected BOOLEAN,
 v_sso_method VARCHAR(32),
 v_dedicated_vm_for_vds UUID ,
    v_fail_back BOOLEAN ,
    v_vm_type INTEGER ,
 v_nice_level INTEGER,
 v_cpu_shares INTEGER,
    v_default_boot_sequence INTEGER,
 v_default_display_type INTEGER,
 v_priority INTEGER,
    v_iso_path VARCHAR(4000) ,
    v_origin INTEGER ,
    v_initrd_url    VARCHAR(4000) ,
    v_kernel_url    VARCHAR(4000) ,
    v_kernel_params VARCHAR(4000) ,
    v_migration_support INTEGER ,
    v_predefined_properties VARCHAR(4000) ,
    v_userdefined_properties VARCHAR(4000),
    v_min_allocated_mem INTEGER,
    v_quota_id UUID,
    v_cpu_pinning VARCHAR(4000),
    v_host_cpu_flags BOOLEAN,
    v_tunnel_migration BOOLEAN,
    v_vnc_keyboard_layout VARCHAR(16),
    v_is_run_and_pause BOOLEAN,
    v_created_by_user_id UUID,
    v_instance_type_id UUID,
    v_image_type_id UUID,
    v_original_template_id UUID,
    v_original_template_name VARCHAR(255),
    v_migration_downtime INTEGER)
RETURNS VOID
   AS $procedure$
BEGIN
INSERT INTO vm_static(description, free_text_comment, mem_size_mb, os, vds_group_id, vm_guid, VM_NAME, vmt_guid,domain,creation_date,num_of_monitors, single_qxl_pci, allow_console_reconnect,is_initialized,num_of_sockets,cpu_per_socket,usb_policy, time_zone,auto_startup,is_stateless,dedicated_vm_for_vds, fail_back, default_boot_sequence, vm_type, nice_level, cpu_shares, default_display_type, priority,iso_path,origin,initrd_url,kernel_url,kernel_params,migration_support,predefined_properties,userdefined_properties,min_allocated_mem, entity_type, quota_id, cpu_pinning, is_smartcard_enabled,is_delete_protected, sso_method, host_cpu_flags, tunnel_migration, vnc_keyboard_layout, is_run_and_pause, created_by_user_id, instance_type_id, image_type_id, original_template_id, original_template_name, migration_downtime)
	VALUES(v_description, v_free_text_comment, v_mem_size_mb, v_os, v_vds_group_id, v_vm_guid, v_vm_name, v_vmt_guid, v_domain, v_creation_date, v_num_of_monitors,v_single_qxl_pci, v_allow_console_reconnect, v_is_initialized, v_num_of_sockets, v_cpu_per_socket, v_usb_policy, v_time_zone, v_auto_startup,v_is_stateless,v_dedicated_vm_for_vds,v_fail_back, v_default_boot_sequence, v_vm_type, v_nice_level, v_cpu_shares, v_default_display_type, v_priority,v_iso_path,v_origin,v_initrd_url,v_kernel_url,v_kernel_params,v_migration_support,v_predefined_properties,v_userdefined_properties,v_min_allocated_mem, 'VM', v_quota_id, v_cpu_pinning, v_is_smartcard_enabled,v_is_delete_protected, v_sso_method, v_host_cpu_flags, v_tunnel_migration, v_vnc_keyboard_layout, v_is_run_and_pause, v_created_by_user_id, v_instance_type_id, v_image_type_id, v_original_template_id, v_original_template_name, v_migration_downtime);
-- perform deletion from vm_ovf_generations to ensure that no record exists when performing insert to avoid PK violation.
DELETE FROM vm_ovf_generations gen WHERE gen.vm_guid = v_vm_guid;
INSERT INTO vm_ovf_generations(vm_guid, storage_pool_id) VALUES (v_vm_guid, (SELECT storage_pool_id FROM vds_groups vg WHERE vg.vds_group_id = v_vds_group_id));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION IncrementDbGeneration(v_vm_guid UUID)
RETURNS VOID
   AS $procedure$
BEGIN
      UPDATE vm_static
      SET db_generation  = db_generation + 1
      WHERE vm_guid = v_vm_guid;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetDbGeneration(v_vm_guid UUID)
RETURNS SETOF BIGINT STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT db_generation
      FROM vm_static
      WHERE vm_guid = v_vm_guid;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION IncrementDbGenerationForAllInStoragePool(v_storage_pool_id UUID)
RETURNS VOID
   AS $procedure$
DECLARE
     curs CURSOR FOR SELECT vms.vm_guid FROM vm_static vms
                     WHERE vms.vds_group_id IN (SELECT vgs.vds_group_id FROM vds_groups vgs
                                                WHERE vgs.storage_pool_id=v_storage_pool_id)
                     ORDER BY vm_guid;
     id UUID;
BEGIN
      OPEN curs;
      LOOP
         FETCH curs INTO id;
         IF NOT FOUND THEN
            EXIT;
         END IF;
         UPDATE vm_static SET db_generation  = db_generation + 1 WHERE vm_guid = id;
      END LOOP;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateVmStatic(v_description VARCHAR(4000) ,
 v_free_text_comment text,
 v_mem_size_mb INTEGER,
 v_os INTEGER,
 v_vds_group_id UUID,
 v_vm_guid UUID,
 v_vm_name VARCHAR(255),
 v_vmt_guid UUID,
 v_domain  VARCHAR(40),
 v_creation_date TIMESTAMP WITH TIME ZONE,
 v_num_of_monitors INTEGER,
 v_single_qxl_pci BOOLEAN,
 v_allow_console_reconnect BOOLEAN,
 v_is_initialized BOOLEAN,
    v_num_of_sockets INTEGER,
    v_cpu_per_socket INTEGER,
 v_usb_policy  INTEGER,
 v_time_zone VARCHAR(40) ,
 v_auto_startup BOOLEAN,
 v_is_stateless BOOLEAN,
 v_is_smartcard_enabled BOOLEAN,
 v_is_delete_protected BOOLEAN,
 v_sso_method VARCHAR(32),
 v_dedicated_vm_for_vds UUID ,
    v_fail_back BOOLEAN ,
    v_vm_type INTEGER ,
    v_nice_level INTEGER,
    v_cpu_shares INTEGER,
    v_default_boot_sequence INTEGER,
 v_default_display_type INTEGER,
 v_priority INTEGER,
    v_iso_path VARCHAR(4000) ,
    v_origin INTEGER ,
    v_initrd_url    VARCHAR(4000) ,
    v_kernel_url    VARCHAR(4000) ,
    v_kernel_params VARCHAR(4000) ,
    v_migration_support INTEGER ,
v_predefined_properties VARCHAR(4000),
v_userdefined_properties VARCHAR(4000),
v_min_allocated_mem INTEGER,
v_quota_id UUID,
v_cpu_pinning VARCHAR(4000),
v_host_cpu_flags BOOLEAN,
v_tunnel_migration BOOLEAN,
v_vnc_keyboard_layout	VARCHAR(16),
v_is_run_and_pause BOOLEAN,
v_created_by_user_id UUID,
v_instance_type_id UUID,
v_image_type_id UUID,
v_original_template_id UUID,
v_original_template_name VARCHAR(255),
v_migration_downtime INTEGER)
RETURNS VOID
	
   AS $procedure$
BEGIN
      UPDATE vm_static
      SET description = v_description, free_text_comment = v_free_text_comment ,mem_size_mb = v_mem_size_mb,os = v_os,vds_group_id = v_vds_group_id,
      VM_NAME = v_vm_name,vmt_guid = v_vmt_guid,
      domain = v_domain,creation_date = v_creation_date,num_of_monitors = v_num_of_monitors,single_qxl_pci = v_single_qxl_pci,
      allow_console_reconnect = v_allow_console_reconnect,
      is_initialized = v_is_initialized,
      num_of_sockets = v_num_of_sockets,cpu_per_socket = v_cpu_per_socket,
      usb_policy = v_usb_policy,time_zone = v_time_zone,auto_startup = v_auto_startup,
      is_stateless = v_is_stateless,dedicated_vm_for_vds = v_dedicated_vm_for_vds,
      fail_back = v_fail_back,vm_type = v_vm_type,
      nice_level = v_nice_level,
      cpu_shares = v_cpu_shares,
      _update_date = LOCALTIMESTAMP,default_boot_sequence = v_default_boot_sequence,
      default_display_type = v_default_display_type,
      priority = v_priority,iso_path = v_iso_path,origin = v_origin,
      initrd_url = v_initrd_url,kernel_url = v_kernel_url,
      kernel_params = v_kernel_params,migration_support = v_migration_support,
      predefined_properties = v_predefined_properties,userdefined_properties = v_userdefined_properties,
      min_allocated_mem = v_min_allocated_mem, quota_id = v_quota_id, cpu_pinning = v_cpu_pinning, is_smartcard_enabled = v_is_smartcard_enabled,
      is_delete_protected = v_is_delete_protected, sso_method = v_sso_method, host_cpu_flags = v_host_cpu_flags, tunnel_migration = v_tunnel_migration,
      vnc_keyboard_layout = v_vnc_keyboard_layout, is_run_and_pause = v_is_run_and_pause, created_by_user_id = v_created_by_user_id,
      instance_type_id = v_instance_type_id, image_type_id = v_image_type_id, original_template_id = v_original_template_id,
      original_template_name = v_original_template_name,
      migration_downtime = v_migration_downtime
      WHERE vm_guid = v_vm_guid
      AND   entity_type = 'VM';
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteVmStatic(v_vm_guid UUID)
RETURNS VOID
   AS $procedure$
   DECLARE
   v_val  UUID;
BEGIN
			-- Get (and keep) a shared lock with "right to upgrade to exclusive"
            -- in order to force locking parent before children
      select   vm_guid INTO v_val FROM vm_static  WHERE vm_guid = v_vm_guid     FOR UPDATE;
      DELETE FROM vm_static
      WHERE vm_guid = v_vm_guid
      AND   entity_type = 'VM';

			-- delete VM permissions --
      DELETE FROM permissions where object_id = v_vm_guid;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromVmStatic() RETURNS SETOF vm_static STABLE
   AS $procedure$
BEGIN
RETURN QUERY SELECT vm_static.*
   FROM vm_static
   WHERE entity_type = 'VM';

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateOriginalTemplateName(
v_original_template_id UUID,
v_original_template_name VARCHAR(255))
RETURNS VOID
   AS $procedure$
BEGIN
      UPDATE vm_static
      SET original_template_name = v_original_template_name
      WHERE original_template_id = v_original_template_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmStaticByVmGuid(v_vm_guid UUID) RETURNS SETOF vm_static STABLE
   AS $procedure$
BEGIN
RETURN QUERY SELECT vm_static.*
   FROM vm_static
   WHERE vm_guid = v_vm_guid
   AND   entity_type = 'VM';

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
DROP TYPE IF EXISTS GetNamesOfVmStaticDedicatedToVds_rs CASCADE;
**************************

DROP TYPE
********* QUERY **********
CREATE TYPE GetNamesOfVmStaticDedicatedToVds_rs AS (vm_name CHARACTER VARYING);
**************************

CREATE TYPE
********* QUERY **********
Create or replace FUNCTION GetNamesOfVmStaticDedicatedToVds(v_vds_id UUID) RETURNS SETOF GetNamesOfVmStaticDedicatedToVds_rs STABLE
   AS $procedure$
BEGIN
   RETURN QUERY
      SELECT vm_name
      FROM vm_static
      WHERE dedicated_vm_for_vds = v_vds_id
      AND   migration_support = 2
      AND   entity_type = 'VM';

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromVmStaticByStoragePoolId(v_sp_id uuid) RETURNS SETOF vm_static STABLE
   AS $procedure$
BEGIN
RETURN QUERY SELECT vm_static.*
   FROM vm_static INNER JOIN
        vm_dynamic ON vm_static.vm_guid = vm_dynamic.vm_guid INNER JOIN
        vds_groups ON vm_static.vds_group_id = vds_groups.vds_group_id LEFT OUTER JOIN
        storage_pool ON vm_static.vds_group_id = vds_groups.vds_group_id
        and vds_groups.storage_pool_id = storage_pool.id
   WHERE v_sp_id = storage_pool.id
   AND   entity_type = 'VM';

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmStaticByName(v_vm_name VARCHAR(255)) RETURNS SETOF vm_static STABLE
   AS $procedure$
BEGIN
RETURN QUERY SELECT vm_static.*
   FROM vm_static
   WHERE VM_NAME = v_vm_name
   AND   entity_type = 'VM';

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmStaticByVdsGroup(v_vds_group_id UUID) RETURNS SETOF vm_static STABLE
   AS $procedure$
BEGIN
RETURN QUERY SELECT vm_static.*
   FROM vm_static
   WHERE vds_group_id = v_vds_group_id
   AND   entity_type = 'VM';

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmStaticWithFailbackByVdsId(v_vds_id UUID) RETURNS SETOF vm_static STABLE
   AS $procedure$
BEGIN
RETURN QUERY SELECT vm_static.*
   FROM vm_static
   WHERE dedicated_vm_for_vds = v_vds_id and fail_back = TRUE
   AND   entity_type = 'VM';

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetAllFromVms(v_user_id UUID, v_is_filtered boolean) RETURNS SETOF vms STABLE
   AS $procedure$
BEGIN
RETURN QUERY SELECT DISTINCT vms.*
   FROM vms
   WHERE (NOT v_is_filtered OR EXISTS (SELECT 1
                                       FROM user_vm_permissions_view
                                       WHERE user_id = v_user_id AND entity_id = vm_guid))
   ORDER BY vm_guid;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmsByIds(v_vms_ids VARCHAR(5000)) RETURNS SETOF vms STABLE
   AS $procedure$
BEGIN
RETURN QUERY SELECT vm.*
             FROM vms vm
             WHERE vm.vm_guid IN (SELECT * from fnSplitterUuid(v_vms_ids));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmByVmGuid(v_vm_guid UUID, v_user_id UUID, v_is_filtered boolean) RETURNS SETOF vms STABLE
   AS $procedure$
BEGIN
RETURN QUERY SELECT DISTINCT vms.*
   FROM vms
   WHERE vm_guid = v_vm_guid
   AND   (NOT v_is_filtered OR EXISTS (SELECT 1
                                       FROM   user_vm_permissions_view
                                       WHERE  user_id = v_user_id AND entity_id = v_vm_guid));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmByVmNameForDataCenter(v_data_center_id UUID, v_vm_name VARCHAR(255), v_user_id UUID, v_is_filtered boolean) RETURNS SETOF vms STABLE
   AS $procedure$
BEGIN
RETURN QUERY SELECT DISTINCT vms.*
   FROM vms
   WHERE vm_name = v_vm_name
   AND   (v_data_center_id is null OR storage_pool_id = v_data_center_id)
   AND   (NOT v_is_filtered OR EXISTS (SELECT 1
                                       FROM   user_vm_permissions_view
                                       WHERE  user_id = v_user_id AND entity_id = vms.vm_guid));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmsByVmtGuid(v_vmt_guid UUID) RETURNS SETOF vms STABLE
   AS $procedure$
BEGIN
RETURN QUERY SELECT DISTINCT vms.*
   FROM vms
   WHERE vmt_guid = v_vmt_guid;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmsByUserId(v_user_id UUID) RETURNS SETOF vms STABLE
   AS $procedure$
BEGIN
RETURN QUERY select vms.* from vms
   inner join permissions on vms.vm_guid = permissions.object_id
   WHERE permissions.ad_element_id = v_user_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmsByUserIdWithGroupsAndUserRoles(v_user_id UUID) RETURNS SETOF vms STABLE
   AS $procedure$
BEGIN
RETURN QUERY SELECT DISTINCT vms.*
   from vms
   inner join permissions_view as perms on vms.vm_guid = perms.object_id
   WHERE (perms.ad_element_id = v_user_id
   or perms.ad_element_id in(select id from getUserAndGroupsById(v_user_id)))
   and perms.role_type = 2;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmsRunningOnVds(v_vds_id UUID) RETURNS SETOF vms STABLE
   AS $procedure$
BEGIN
RETURN QUERY SELECT DISTINCT vms.*
   FROM vms
   WHERE run_on_vds = v_vds_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmsMigratingToVds(v_vds_id UUID) RETURNS SETOF vms STABLE
   AS $procedure$
BEGIN
RETURN QUERY SELECT DISTINCT vms.*
   FROM vms
   WHERE migrating_to_vds = v_vds_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmsRunningOnOrMigratingToVds(v_vds_id UUID) RETURNS SETOF vms STABLE
   AS $procedure$
BEGIN
    -- use migrating_to_vds column when the VM is in status Migrating From
    RETURN QUERY SELECT DISTINCT V.* FROM VMS V
    WHERE V.RUN_ON_VDS=V_VDS_ID OR (V.STATUS = 5 AND V.MIGRATING_TO_VDS=V_VDS_ID)
    ORDER BY V.VM_NAME;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmsDynamicRunningOnVds(v_vds_id UUID) RETURNS SETOF vm_dynamic STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT vm_dynamic.*
      FROM vm_dynamic
      WHERE RUN_ON_VDS = v_vds_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION DeleteVm(v_vm_guid UUID)
RETURNS VOID
   AS $procedure$
   DECLARE
   v_vmt_guid  UUID;
BEGIN
      select   vm_static.vmt_guid INTO v_vmt_guid FROM vm_static WHERE vm_guid = v_vm_guid;
      UPDATE vm_static
      SET child_count =(SELECT COUNT(*) FROM vm_static WHERE vmt_guid = v_vmt_guid) -1
      WHERE vm_guid = v_vmt_guid;
      DELETE FROM tags_vm_map
      WHERE vm_id = v_vm_guid;
      DELETE
      FROM   snapshots
      WHERE  vm_id = v_vm_guid;
      DELETE FROM vm_statistics WHERE vm_guid = v_vm_guid;
      DELETE FROM vm_dynamic WHERE vm_guid = v_vm_guid;
      DELETE FROM vm_static WHERE vm_guid = v_vm_guid;
      DELETE FROM permissions where object_id = v_vm_guid;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmsByAdGroupNames(v_ad_group_names VARCHAR(250)) RETURNS SETOF vms STABLE
   AS $procedure$
BEGIN
RETURN QUERY select distinct vms.* from vms
   inner join permissions on vms.vm_guid = permissions.object_id
   inner join ad_groups on ad_groups.id = permissions.ad_element_id
   WHERE     (ad_groups.name in(select Id from fnSplitter(v_ad_group_names)));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmsByDiskId(v_disk_guid UUID) RETURNS SETOF vms_with_plug_info STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT DISTINCT vms_with_plug_info.*
      FROM vms_with_plug_info
      WHERE device_id = v_disk_guid;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmByHibernationImageId(v_image_id VARCHAR(4000)) RETURNS SETOF vms STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT DISTINCT vms.*
      FROM vms
      WHERE hibernation_vol_handle like '%' || coalesce(v_image_id,'') || '%';
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetActiveVmsByStorageDomainId(v_storage_domain_id UUID) RETURNS SETOF vms STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT DISTINCT vms.*
      FROM vms
      INNER JOIN vm_device vd ON vd.vm_id = vms.vm_guid
      INNER JOIN images i ON i.image_group_id = vd.device_id AND i.active = TRUE
      inner join image_storage_domain_map on i.image_guid = image_storage_domain_map.image_id
      WHERE status <> 0 and image_storage_domain_map.storage_domain_id = v_storage_domain_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmsByStorageDomainId(v_storage_domain_id UUID) RETURNS SETOF vms STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT DISTINCT vms.*
      FROM vms
      INNER JOIN vm_device vd ON vd.vm_id = vms.vm_guid
      INNER JOIN images ON images.image_group_id = vd.device_id AND images.active = TRUE
      inner join image_storage_domain_map on images.image_guid = image_storage_domain_map.image_id
      where image_storage_domain_map.storage_domain_id = v_storage_domain_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION getAllVmsRelatedToQuotaId(v_quota_id UUID) RETURNS SETOF vms STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT vms.*
      FROM vms
      WHERE quota_id = v_quota_id
      UNION
      SELECT DISTINCT vms.*
      FROM vms
      INNER JOIN vm_device vd ON vd.vm_id = vms.vm_guid
      INNER JOIN images ON images.image_group_id = vd.device_id AND images.active = TRUE
      INNER JOIN image_storage_domain_map ON image_storage_domain_map.image_id = images.image_guid
      WHERE image_storage_domain_map.quota_id = v_quota_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION UpdateIsInitialized(v_vm_guid UUID,
 v_is_initialized BOOLEAN)
RETURNS VOID
	
   AS $procedure$
BEGIN
      UPDATE vm_static
      SET is_initialized = v_is_initialized
      WHERE vm_guid = v_vm_guid
      AND   entity_type = 'VM';
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
DROP TYPE IF EXISTS GetOrderedVmGuidsForRunMultipleActions_rs CASCADE;
**************************

DROP TYPE
********* QUERY **********
CREATE TYPE GetOrderedVmGuidsForRunMultipleActions_rs AS (vm_guid UUID);
**************************

CREATE TYPE
********* QUERY **********
Create or replace FUNCTION GetOrderedVmGuidsForRunMultipleActions(v_vm_guids VARCHAR(4000)) RETURNS SETOF GetOrderedVmGuidsForRunMultipleActions_rs STABLE
   AS $procedure$
   DECLARE
   v_ordered_guids GetOrderedVmGuidsForRunMultipleActions_rs;
BEGIN
   FOR v_ordered_guids IN EXECUTE 'SELECT vm_guid from vm_static where vm_guid in( ' || v_vm_guids || ' ) AND entity_type = ''VM''  order by auto_startup desc,priority desc, migration_support desc' LOOP
      RETURN NEXT v_ordered_guids;
   END LOOP;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmsByNetworkId(v_network_id UUID) RETURNS SETOF vms STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM vms
   WHERE EXISTS (
      SELECT 1
      FROM vm_interface
      INNER JOIN vnic_profiles
      ON vnic_profiles.id = vm_interface.vnic_profile_id
      WHERE vnic_profiles.network_id = v_network_id
      AND vm_interface.vm_guid = vms.vm_guid);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmsByVnicProfileId(v_vnic_profile_id UUID) RETURNS SETOF vms STABLE
   AS $procedure$
BEGIN
   RETURN QUERY SELECT *
   FROM vms
   WHERE EXISTS (
      SELECT 1
      FROM vm_interface
      WHERE vm_interface.vnic_profile_id = v_vnic_profile_id
      AND vm_interface.vm_guid = vms.vm_guid);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmsByVdsGroupId(v_vds_group_id UUID) RETURNS SETOF vms STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT vms.*
      FROM vms
      WHERE vds_group_id = v_vds_group_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetVmsByVmPoolId(v_vm_pool_id UUID) RETURNS SETOF vms STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT vms.*
      FROM vms
      WHERE vm_pool_id = v_vm_pool_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetFailedAutoStartVms() RETURNS SETOF vms STABLE
   AS $procedure$
BEGIN
      RETURN QUERY SELECT vms.*
      FROM vms
      WHERE auto_startup = TRUE and status = 0 and exit_status = 1;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION GetRunningVmsByClusterId(v_cluster_id UUID) RETURNS SETOF vms STABLE
    AS $procedure$
BEGIN
    RETURN QUERY SELECT DISTINCT vms.*
    FROM vms
    WHERE run_on_vds IS NOT NULL AND
        vds_group_id = v_cluster_id;

END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION fn_db_add_column(v_table varchar(128), v_column varchar(128), v_column_def text)
returns void
AS $procedure$
declare
v_sql text;

begin
	if (not exists (select 1 from information_schema.columns where table_name ilike v_table and column_name ilike v_column)) then
	    begin
		v_sql := 'ALTER TABLE ' || v_table || ' ADD COLUMN ' || v_column || ' ' || v_column_def;
		EXECUTE v_sql;
            end;
	end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION fn_db_drop_column(v_table varchar(128), v_column varchar(128))
returns void
AS $procedure$
declare
v_sql text;
begin
        if (exists (select 1 from information_schema.columns where table_name ilike v_table and column_name ilike v_column)) then
            begin
                v_sql := 'ALTER TABLE ' || v_table || ' DROP COLUMN ' || v_column;
                EXECUTE v_sql;
            end;
        end if;
end;$procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION fn_db_change_column_type(v_table varchar(128), v_column varchar(128),
                                                    v_type varchar(128), v_new_type varchar(128))
returns void
AS $procedure$
declare
v_sql text;

begin
	if (exists (select 1 from information_schema.columns where table_name ilike v_table and column_name ilike v_column and (udt_name ilike v_type or data_type ilike v_type))) then
	    begin
		v_sql := 'ALTER TABLE ' || v_table || ' ALTER COLUMN ' || v_column || ' TYPE ' || v_new_type;
		EXECUTE v_sql;
            end;
	end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION fn_db_rename_column(v_table varchar(128), v_column varchar(128), v_new_name varchar(128))
returns void
AS $procedure$
declare
v_sql text;

begin
	if (exists (select 1 from information_schema.columns where table_name ilike v_table and column_name ilike v_column)) then
	    begin
		v_sql := 'ALTER TABLE ' || v_table || ' RENAME COLUMN ' || v_column || ' TO ' || v_new_name;
		EXECUTE v_sql;
            end;
	end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_add_config_value(v_option_name varchar(100), v_option_value varchar(4000),
                                                  v_version varchar(40))
returns void
AS $procedure$
begin
    if (not exists (select 1 from vdc_options where option_name ilike v_option_name and version = v_version)) then
        begin
            insert into vdc_options (option_name, option_value, version) values (v_option_name, v_option_value, v_version);
        end;
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_delete_config_value_all_versions(v_option_name varchar(100))
returns void
AS $procedure$
begin
    if (exists (select 1 from vdc_options where option_name ilike v_option_name)) then
        begin
            delete from vdc_options where option_name ilike v_option_name;
        end;
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_delete_config_value(v_option_name varchar(100), v_version text)
returns void
AS $procedure$
begin
    if (exists (select 1 from vdc_options where option_name ilike v_option_name and version in (select ID from fnSplitter(v_version)))) then
        begin
            delete from vdc_options where option_name ilike v_option_name and version in (select ID from fnSplitter(v_version));
        end;
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_delete_config_for_version(v_version text)
returns void
AS $procedure$
BEGIN
     delete from vdc_options where version in (select ID from fnSplitter(v_version));
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_update_config_value(v_option_name varchar(100), v_option_value varchar(4000),
                                                  v_version varchar(40))
returns void
AS $procedure$
begin
    if (exists (select 1 from vdc_options where option_name ilike v_option_name and version = v_version)) then
        begin
            update  vdc_options set option_value = v_option_value
            where option_name ilike v_option_name and version = v_version;
        end;
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_update_default_config_value(v_option_name varchar(100),v_default_option_value varchar(4000),v_option_value varchar(4000),v_version varchar(40),v_ignore_default_value_case boolean)
returns void
AS $procedure$
begin
    if (exists (select 1 from vdc_options where option_name ilike v_option_name and version = v_version)) then
        begin
            if (v_ignore_default_value_case)
            then
               update  vdc_options set option_value = v_option_value
               where option_name ilike v_option_name and option_value ilike v_default_option_value and version = v_version;
            else
               update  vdc_options set option_value = v_option_value
               where option_name ilike v_option_name and option_value = v_default_option_value and version = v_version;
            end if;
        end;
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_rename_config_key(v_old_option_name varchar(100),v_new_option_name varchar(100),v_version varchar(40))
returns void
AS $procedure$
DECLARE
    v_current_option_value varchar(4000);
begin
    if (exists (select 1 from vdc_options where option_name ilike v_old_option_name and version = v_version)) then
       v_current_option_value:=option_value from vdc_options where option_name ilike v_old_option_name and version = v_version;
       update vdc_options set option_name = v_new_option_name, option_value = v_current_option_value
           where  option_name ilike v_old_option_name and version = v_version;
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace function fn_db_create_constraint (
    v_table varchar(128), v_constraint varchar(128), v_constraint_sql text)
returns void
AS $procedure$
begin
    if  NOT EXISTS (SELECT 1 from pg_constraint where conname ilike v_constraint) then
        execute 'ALTER TABLE ' || v_table ||  ' ADD CONSTRAINT ' || v_constraint || ' ' || v_constraint_sql;
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace function fn_db_drop_constraint (
    v_table varchar(128), v_constraint varchar(128))
returns void
AS $procedure$
begin
    if  EXISTS (SELECT 1 from pg_constraint where conname ilike v_constraint) then
        execute 'ALTER TABLE ' || v_table ||  ' DROP CONSTRAINT ' || v_constraint || ' CASCADE';
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION attach_user_to_su_role(v_permission_id uuid)
  RETURNS void AS
$procedure$
   DECLARE
   v_user_entry VARCHAR(255);
   v_user_id  UUID;
   v_name  VARCHAR(255);
   v_domain  VARCHAR(255);
   v_user_name  VARCHAR(255);

   v_document  VARCHAR(64);
   v_index  INTEGER;
BEGIN

   select   option_value INTO v_user_entry from vdc_options where option_name = 'AdUserId';
   select   option_value INTO v_name from vdc_options where option_name = 'AdUserName';
   select   option_value INTO v_domain from vdc_options where option_name = 'DomainName';

   v_index := POSITION(':' IN v_user_entry);
   if ( v_index <> 0 ) then
      v_user_entry := substring( v_user_entry from v_index + 1 );
      v_user_id := CAST( v_user_entry AS uuid );
   end if;

   v_index := POSITION(':' IN v_name);
   if ( v_index <> 0 ) then
      v_name := substring( v_name from v_index + 1 );
   end if;

-- find if name already includes domain (@)
   v_index := POSITION('@' IN v_name);

   if (v_index = 0) then
      v_user_name := coalesce(v_name,'') || '@' || coalesce(v_domain,'');
   else
      v_user_name := v_name;
   end if;


insert into users(user_id,name,domain,username,groups,active) select v_user_id, v_name, v_domain, v_user_name,'',true where not exists (select user_id,name,domain,username,groups,active from users where user_id = v_user_id and name = v_name and domain = v_domain and username = v_user_name and groups = '' and active);

insert into permissions(id,role_id,ad_element_id,object_id,object_type_id) select v_permission_id, '00000000-0000-0000-0000-000000000001', v_user_id, getGlobalIds('system'), 1 where not exists(select role_id,ad_element_id,object_id,object_type_id from permissions where role_id = '00000000-0000-0000-0000-000000000001' and ad_element_id = v_user_id and object_id= getGlobalIds('system') and object_type_id = 1);
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION CheckDBConnection() RETURNS SETOF integer IMMUTABLE
   AS $procedure$
BEGIN
    RETURN QUERY SELECT 1;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION generate_drop_all_functions_syntax() RETURNS SETOF text STABLE
   AS $procedure$
BEGIN
RETURN QUERY select 'drop function if exists ' || ns.nspname || '.' || proname || '(' || oidvectortypes(proargtypes) || ') cascade;' from pg_proc inner join pg_namespace ns on (pg_proc.pronamespace=ns.oid) where ns.nspname = 'public' order by proname;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION generate_drop_all_views_syntax() RETURNS SETOF text STABLE
   AS $procedure$
BEGIN
RETURN QUERY select 'DROP VIEW if exists ' || table_name || ' CASCADE;' from information_schema.views where table_schema = 'public' order by table_name;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION generate_drop_all_tables_syntax() RETURNS SETOF text STABLE
   AS $procedure$
BEGIN
RETURN QUERY select 'DROP TABLE if exists ' || table_name || ' CASCADE;' from information_schema.tables where table_schema = 'public' and table_type = 'BASE TABLE' order by table_name;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION generate_drop_all_seq_syntax() RETURNS SETOF text STABLE
   AS $procedure$
BEGIN
RETURN QUERY select 'DROP SEQUENCE if exists ' || sequence_name || ' CASCADE;' from information_schema.sequences  where sequence_schema = 'public' order by sequence_name;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION generate_drop_all_user_types_syntax() RETURNS SETOF text STABLE
   AS $procedure$
BEGIN
RETURN QUERY SELECT 'DROP TYPE if exists ' || c.relname::information_schema.sql_identifier || ' CASCADE;'
   FROM pg_namespace n, pg_class c, pg_type t
   WHERE n.oid = c.relnamespace and t.typrelid = c.oid and c.relkind = 'c'::"char" and
   n.nspname = 'public'
   ORDER BY  c.relname::information_schema.sql_identifier;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
Create or replace FUNCTION fn_get_column_size( v_table varchar(64), v_column varchar(64)) returns integer STABLE
   AS $procedure$
   declare
   retvalue  integer;
BEGIN
   retvalue := character_maximum_length from information_schema.columns
    where
    table_name ilike v_table and column_name ilike v_column and
    table_schema = 'public' and udt_name in ('char','varchar');
   return retvalue;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION attach_user_to_su_role(
    v_permission_id uuid,
    v_user_id VARCHAR(255),
    v_name VARCHAR(255),
    v_domain VARCHAR(255)
)
RETURNS void AS
$BODY$
   DECLARE
   v_user_name VARCHAR(255);
   v_document  VARCHAR(64);
   v_index  INTEGER;
   input_uuid uuid;
   v_external_id BYTEA;
BEGIN
   input_uuid = CAST( v_user_id AS uuid );
-- find if name already includes domain (@)
   v_index := POSITION('@' IN v_name);

   if (v_index = 0) then
      v_user_name := coalesce(v_name,'') || '@' || coalesce(v_domain,'');
   else
      v_user_name := v_name;
   end if;

   -- The external identifier is the user identifier converted to an array of
   -- bytes:
   v_external_id := decode(replace(v_user_id::text, '-', ''), 'hex');

insert into users(user_id,external_id,name,domain,username,groups,active) select input_uuid, v_external_id, v_name, v_domain, v_user_name,'',true where not exists (select user_id,name,domain,username,groups,active from users where user_id = input_uuid);

insert into permissions(id,role_id,ad_element_id,object_id,object_type_id) select v_permission_id, '00000000-0000-0000-0000-000000000001', input_uuid, getGlobalIds('system'), 1 where not exists(select role_id,ad_element_id,object_id,object_type_id from permissions where role_id = '00000000-0000-0000-0000-000000000001' and ad_element_id = input_uuid and object_id= getGlobalIds('system') and object_type_id = 1);
END; $BODY$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION fn_db_add_action_group_to_role(v_role_id UUID, v_action_group_id INTEGER)
RETURNS VOID
AS $procedure$
BEGIN
       INSERT INTO roles_groups(role_id,action_group_id)
       SELECT v_role_id, v_action_group_id
       WHERE NOT EXISTS (SELECT 1
                         FROM roles_groups
                         WHERE role_id = v_role_id
                         AND action_group_id = v_action_group_id);
RETURN;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION fn_db_split_config_value(v_option_name character varying, v_old_option_value character varying, v_new_option_value character varying, v_update_from_version character varying)
  RETURNS void AS
$BODY$
declare
v_old_value varchar(4000);
v_cur cursor for select distinct version from vdc_options where version <> 'general' order by version;
v_version varchar(40);
v_index integer;
v_count integer;
v_total_count integer;
v_version_count integer;
begin
    v_total_count := count(version) from vdc_options where option_name = v_option_name;
    v_old_value := option_value from vdc_options where option_name = v_option_name and version = 'general';
    v_version_count := count(distinct version) from vdc_options where version <> 'general';
    if (v_total_count <= v_version_count) then
        begin
            if (v_old_value IS NULL) then
                v_old_value := v_old_option_value;
            end if;
            v_count := count(distinct version) from vdc_options where version <> 'general';
            v_index := 1;
        open v_cur;
        loop
            fetch v_cur into v_version;
            exit when not found;
            -- We shouldn't update if already exists
            if (not exists (select 1 from vdc_options where option_name = v_option_name and version = v_version)) then
                -- Might not work well for versions such as 3.10, but we currently don't have any
                if (v_version >= v_update_from_version) then
                    insert into vdc_options (option_name, option_value, version) values (v_option_name, v_new_option_value, v_version);
                else
                    insert into vdc_options (option_name, option_value, version) values (v_option_name, v_old_value, v_version);
                end if;
            end if;
            v_index := v_index +1;
        end loop;
        close v_cur;
        delete from vdc_options where option_name = v_option_name and version = 'general';
        end;
    end if;
END; $BODY$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION fn_db_grant_action_group_to_all_roles_filter(v_action_group_id integer, uuid[])
  RETURNS void AS
$BODY$
declare
v_role_id_to_filter alias for $2;
begin
    insert into roles_groups (role_id, action_group_id)
    select distinct role_id, v_action_group_id
    from roles_groups rg
    where not ARRAY [role_id] <@ v_role_id_to_filter and not exists (select 1 from roles_groups where role_id = rg.role_id and action_group_id = v_action_group_id);
END; $BODY$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION fn_db_mask_object(v_object regclass) RETURNS setof record as
$BODY$
DECLARE
    v_sql TEXT;
    v_table record;
    v_table_name TEXT;
    temprec record;
BEGIN
    -- get full table/view name from v_object (i.e <namespace>.<name>)
    select c.relname, n.nspname INTO v_table
        FROM pg_class c join pg_namespace n on c.relnamespace = n.oid WHERE c.oid = v_object;
    -- try to get filtered query syntax from previous execution
    if exists (select 1 from object_column_white_list_sql where object_name = v_table.relname) then
	select sql into v_sql from object_column_white_list_sql where object_name = v_table.relname;
    else
        v_table_name := quote_ident( v_table.nspname ) || '.' || quote_ident( v_table.relname );
        -- compose sql statement while skipping values for columns not defined in object_column_white_list for this table.
        for temprec in select a.attname, t.typname
                       FROM pg_attribute a join pg_type t on a.atttypid = t.oid
                       WHERE a.attrelid = v_object AND a.attnum > 0 AND NOT a.attisdropped ORDER BY a.attnum
        loop
            v_sql := coalesce( v_sql || ', ', 'SELECT ' );
            if exists(select 1 from object_column_white_list
               where object_name = v_table.relname and column_name = temprec.attname) then
               v_sql := v_sql || quote_ident( temprec.attname );
            ELSE
               v_sql := v_sql || 'NULL::' || quote_ident( temprec.typname ) || ' as ' || quote_ident( temprec.attname );
            END IF;
        END LOOP;
        v_sql := v_sql || ' FROM ' || v_table_name;
        v_sql := 'SELECT x::' || v_table_name || ' as rec FROM (' || v_sql || ') as x';
        -- save generated query for further use
        insert into object_column_white_list_sql(object_name,sql) values (v_table.relname, v_sql);
    end if;
    RETURN QUERY EXECUTE v_sql;
END; $BODY$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_add_column_to_object_white_list(v_object_name varchar(128), v_column_name varchar(128))
returns void
AS $procedure$
begin
    if (not exists (select 1 from object_column_white_list
                    where object_name = v_object_name and column_name = v_column_name)) then
        begin
            -- verify that there is such object in db
            if exists (select 1 from information_schema.columns
                       where table_name = v_object_name and column_name = v_column_name) then
                insert into object_column_white_list (object_name, column_name) values (v_object_name, v_column_name);
            end if;
        end;
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_unlock_disk(v_id UUID)
returns void
AS $procedure$
declare
    OK integer;
    LOCKED integer;
begin
    OK:=1;
    LOCKED:=2;
    update images set imagestatus = OK where imagestatus = LOCKED and
    image_group_id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_unlock_snapshot(v_id UUID)
returns void
AS $procedure$
declare
    OK varchar;
    LOCKED varchar;
begin
    OK:='OK';
    LOCKED:='LOCKED';
    update snapshots set status = OK where status = LOCKED and snapshot_id = v_id;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
create or replace FUNCTION fn_db_unlock_entity(v_object_type varchar(10), v_name varchar(255), v_recursive boolean)
returns void
AS $procedure$
declare
    DOWN integer;
    OK integer;
    LOCKED integer;
    TEMPLATE_OK integer;
    TEMPLATE_LOCKED integer;
    IMAGE_LOCKED integer;
    SNAPSHOT_OK varchar;
    SNAPSHOT_LOCKED varchar;
    v_id UUID;
begin
    DOWN:=0;
    OK:=1;
    LOCKED:=2;
    TEMPLATE_OK:=0;
    TEMPLATE_LOCKED:=1;
    IMAGE_LOCKED:=15;
    SNAPSHOT_OK:='OK';
    SNAPSHOT_LOCKED:='LOCKED';
    v_id := vm_guid from vm_static where vm_name = v_name and entity_type ilike v_object_type;
    -- set VM status to DOWN
    if (v_object_type = 'vm') then
        update vm_dynamic set status = DOWN where status = IMAGE_LOCKED and vm_guid  = v_id;
    -- set Template status to OK
    else
        if (v_object_type = 'template') then
            update vm_static set template_status = TEMPLATE_OK where template_status = TEMPLATE_LOCKED and vm_guid  = v_id;
        end if;
    end if;
    --unlock images and snapshots  if recursive flag is set
    if (v_recursive) then
        update images set imagestatus = OK where imagestatus = LOCKED and
        image_group_id in (select device_id from vm_device where vm_id = v_id and is_plugged);

        update snapshots set status = SNAPSHOT_OK where status ilike SNAPSHOT_LOCKED and vm_id = v_id;
    end if;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
/* Displays DC id , DC name, SPM Host id , SPM Host name and number of async tasks awaiting.

1) create a record type with DC name, DC id, SPM host id, SPM host name, count

2) get all distinct DC ids from async_tasks table

3) Run a cursor for each result in 2)

   a) get DC name
   b) get SPM Host id & name if available
   c) get count of tasks

   return current record

4) return set of generated records
*/
DROP TYPE IF EXISTS async_tasks_info_rs CASCADE;
**************************

DROP TYPE
********* QUERY **********
CREATE TYPE async_tasks_info_rs AS (
    dc_id UUID, dc_name CHARACTER VARYING, spm_host_id UUID, spm_host_name CHARACTER VARYING, task_count integer);
**************************

CREATE TYPE
********* QUERY **********
create or replace FUNCTION fn_db_get_async_tasks()
returns SETOF async_tasks_info_rs STABLE
AS $procedure$
DECLARE
    v_record async_tasks_info_rs;

    -- selects storage_pool_id uuid found in async_tasks
    v_tasks_cursor cursor for select distinct storage_pool_id from async_tasks;
begin

    OPEN v_tasks_cursor;
    FETCH v_tasks_cursor into v_record.dc_id;
    WHILE FOUND LOOP
        -- get dc_name and SPM Host id
        v_record.dc_name := name from storage_pool where id = v_record.dc_id;
        v_record.spm_host_id :=
            spm_vds_id from storage_pool where id = v_record.dc_id;
        -- get Host name if we have non NULL SPM Host
        if (v_record.spm_host_id IS NOT NULL) then
            v_record.spm_host_name :=
                vds_name from vds_static where vds_id = v_record.spm_host_id;
        else
            v_record.spm_host_name:='';
        end if;
        -- get tasks count for this DC
        v_record.task_count := count(*) from async_tasks
            where position (cast(v_record.dc_id as varchar) in action_parameters) > 0;
        -- return the record
        RETURN NEXT v_record;
        FETCH v_tasks_cursor into v_record.dc_id;
    END LOOP;
    CLOSE v_tasks_cursor;
    -- return full set of generated records
    RETURN;
END; $procedure$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
CREATE OR REPLACE FUNCTION __temp_add_object_column_white_list_table()
RETURNS void
AS $function$
BEGIN
   -- This table holds the column white list per object
   IF EXISTS (SELECT * FROM pg_tables WHERE tablename ILIKE 'object_column_white_list') THEN
       truncate table object_column_white_list;
   ELSE
      CREATE TABLE object_column_white_list
      (
         object_name varchar(128) NOT NULL,
         column_name varchar(128) NOT NULL,
         CONSTRAINT pk_object_column_white_list PRIMARY KEY(object_name,column_name)
      ) WITH OIDS;
   END IF;

   -- this table holds generated sql per object and is truncated upon upgrade to reflect schema changes
   IF EXISTS (SELECT * FROM pg_tables WHERE tablename ILIKE 'object_column_white_list_sql') THEN
       truncate table object_column_white_list_sql;
   ELSE
      CREATE TABLE object_column_white_list_sql
      (
         object_name varchar(128) NOT NULL,
         sql text NOT NULL,
         CONSTRAINT pk_object_column_white_list_sql PRIMARY KEY(object_name)
      ) WITH OIDS;

   END IF;
   -----------------------------------
   -- Initial white list settings  ---
   -----------------------------------
   --            vds view
   -----------------------------------
   --  A new added column will not be displayed for the user unless added specifically.
      insert into object_column_white_list(object_name,column_name)
      (select 'vds', column_name
       from information_schema.columns
       where table_name = 'vds' and
       column_name in (
          'vds_group_id', 'vds_group_name', 'vds_group_description',
          'vds_id', 'vds_name', 'ip', 'vds_unique_id', 'host_name', 'port', 'vds_strength',
          'server_ssl_enabled', 'vds_type', 'pm_type', 'pm_user', 'pm_port', 'pm_options',  'pm_enabled',
          'pm_proxy_preferences', 'pm_secondary_ip', 'pm_secondary_type', 'pm_secondary_user', 'pm_secondary_port',
          'pm_secondary_options', 'pm_secondary_concurrent', 'vds_spm_priority', 'hooks', 'status', 'cpu_cores',
          'cpu_model', 'cpu_speed_mh', 'if_total_speed', 'kvm_enabled', 'physical_mem_mb',
          'pending_vcpus_count', 'pending_vmem_size', 'mem_commited', 'vm_active', 'vm_count',
          'vm_migrating', 'vms_cores_count', 'cpu_over_commit_time_stamp', 'hypervisor_type',
          'net_config_dirty', 'max_vds_memory_over_commit', 'storage_pool_id', 'storage_pool_name', 'reserved_mem',
          'guest_overhead', 'software_version', 'version_name', 'build_name', 'previous_status',
          'cpu_idle', 'cpu_load', 'cpu_sys', 'cpu_user', 'usage_mem_percent', 'usage_cpu_percent',
          'usage_network_percent', 'mem_available', 'mem_shared', 'swap_free', 'swap_total', 'ksm_cpu_percent',
          'ksm_pages', 'ksm_state', 'cpu_flags', 'vds_group_cpu_name', 'cpu_sockets', 'vds_spm_id',
          'otp_validity', 'spm_status', 'supported_cluster_levels', 'supported_engines',
          'vds_group_compatibility_version', 'vds_group_virt_service', 'vds_group_gluster_service', 'host_os', 'kvm_version', 'libvirt_version', 'spice_version', 'kernel_version',
          'iscsi_initiator_name', 'transparent_hugepages_state', 'anonymous_hugepages',
          'non_operational_reason', 'recoverable', 'sshkeyfingerprint', 'count_threads_as_cores', 'cpu_threads',
          'hw_manufacturer', 'hw_product_name', 'hw_version', 'hw_serial_number', 'hw_uuid', 'hw_family', 'ssh_port', 'ssh_username'));
-- pm_options are missing
END; $function$
LANGUAGE plpgsql;
**************************

CREATE FUNCTION
********* QUERY **********
SELECT * FROM __temp_add_object_column_white_list_table();
**************************

 

********* QUERY **********
DROP FUNCTION __temp_add_object_column_white_list_table();
**************************

DROP FUNCTION
********* QUERY **********
/******************************************************************************************************
                          Snapshot Materialized Views Definitions Section
******************************************************************************************************/
/******************************************************************************************************
                          Snapshot Materialized Views Index Definitions Section
******************************************************************************************************/
/******************************************************************************************************
If your Snapshot Materialized View is my_mt you should create Stored Procedures:
MtDropmy_mtIndexes - Drops indexes on my_mt
MtCreatemy_mtIndexes - Creates needed indexes on my_mt
******************************************************************************************************/
**************************

********* QUERY **********
select RefreshAllMaterializedViews(true);
**************************

 

2014-01-22 17:49:41 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.db.schema plugin.executeRaw:383 execute-result: ['/usr/share/ovirt-engine/dbscripts/upgrade.sh', '-s', 'localhost', '-p', '5432', '-u', 'engine', '-d', 'engine', '-l', '/var/log/ovirt-engine/setup/ovirt-engine-setup-20140122174611.log', '-g'], rc=0
2014-01-22 17:49:41 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.db.schema plugin.execute:441 execute-output: ['/usr/share/ovirt-engine/dbscripts/upgrade.sh', '-s', 'localhost', '-p', '5432', '-u', 'engine', '-d', 'engine', '-l', '/var/log/ovirt-engine/setup/ovirt-engine-setup-20140122174611.log', '-g'] stdout:
upgrade script detected a change in Config, View or Stored Procedure...
Running upgrade sql script upgrade/pre_upgrade/0000_config.sql ...
Running upgrade sql script upgrade/pre_upgrade/0010_custom.sql ...
Running upgrade sql script upgrade/pre_upgrade/0020_add_materialized_views_table.sql ...
Running upgrade sql script upgrade/pre_upgrade/0030_materialized_views_extensions.sql ...
Dropping materialized views...
Running upgrade sql script upgrade/03_04_0460_add_affinity_group_filter_and_weight.sql ...
Running upgrade sql script upgrade/03_04_0470_add_reboot_command.sql ...
Running upgrade sql script upgrade/03_04_0480_add_enable_ksm_to_vds_groups.sql ...
Running upgrade sql script upgrade/03_04_0490_add_vm_migration_downtime.sql ...
Creating views...
Creating stored procedures...
Creating stored procedures from action_version_map_sp.sql ...
Creating stored procedures from ad_groups_sp.sql ...
Creating stored procedures from affinity_groups_sp.sql ...
Creating stored procedures from all_disks_sp.sql ...
Creating stored procedures from async_tasks_sp.sql ...
Creating stored procedures from audit_log_sp.sql ...
Creating stored procedures from base_disks_sp.sql ...
Creating stored procedures from bookmarks_sp.sql ...
Creating stored procedures from business_entity_snapshot_sp.sql ...
Creating stored procedures from cluster_policy_sp.sql ...
Creating stored procedures from common_sp.sql ...
Creating stored procedures from custom_actions_sp.sql ...
Creating stored procedures from disk_image_dynamic_sp.sql ...
Creating stored procedures from disk_images_sp.sql ...
Creating stored procedures from disk_lun_map_sp.sql ...
Creating stored procedures from dwh_history_timekeeping_sp.sql ...
Creating stored procedures from dwh_translation_tables_sp.sql ...
Creating stored procedures from event_sp.sql ...
Creating stored procedures from gluster_hooks_sp.sql ...
Creating stored procedures from gluster_server_sp.sql ...
Creating stored procedures from gluster_services_sp.sql ...
Creating stored procedures from gluster_volumes_sp.sql ...
Creating stored procedures from image_storage_domain_map_sp.sql ...
Creating stored procedures from images_sp.sql ...
Creating stored procedures from inst_sp.sql ...
Creating stored procedures from job_sp.sql ...
Creating stored procedures from materialized_views_sp.sql ...
Creating stored procedures from multi_level_administration_sp.sql ...
Creating stored procedures from network_qos_sp.sql ...
Creating stored procedures from network_sp.sql ...
Creating stored procedures from policy_unit_sp.sql ...
Creating stored procedures from providers_sp.sql ...
Creating stored procedures from quota_sp.sql ...
Creating stored procedures from repo_files_meta_data_sp.sql ...
Creating stored procedures from snapshots_sp.sql ...
Creating stored procedures from storages_san_sp.sql ...
Creating stored procedures from storages_sp.sql ...
Creating stored procedures from system_statistics_sp.sql ...
Creating stored procedures from tags_sp.sql ...
Creating stored procedures from tags_vm_pool_map_sp.sql ...
Creating stored procedures from user_sp.sql ...
Creating stored procedures from vdc_option_sp.sql ...
Creating stored procedures from vds_groups_sp.sql ...
Creating stored procedures from vds_sp.sql ...
Creating stored procedures from vds_spm_id_map_sp.sql ...
Creating stored procedures from vm_device_sp.sql ...
Creating stored procedures from vm_pool_maps_sp.sql ...
Creating stored procedures from vm_pools_sp.sql ...
Creating stored procedures from vm_templates_sp.sql ...
Creating stored procedures from vms_sp.sql ...
Running upgrade sql script upgrade/post_upgrade/0010_add_object_column_white_list_table.sql ...
Running upgrade sql script upgrade/post_upgrade/0020_create_materialized_views.sql ...
Refreshing materialized views...
Done.

2014-01-22 17:49:41 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.db.schema plugin.execute:446 execute-output: ['/usr/share/ovirt-engine/dbscripts/upgrade.sh', '-s', 'localhost', '-p', '5432', '-u', 'engine', '-d', 'engine', '-l', '/var/log/ovirt-engine/setup/ovirt-engine-setup-20140122174611.log', '-g'] stderr:


2014-01-22 17:49:41 DEBUG otopi.context context._executeMethod:138 Stage misc METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.pki.ca.Plugin._misc
2014-01-22 17:49:41 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:49:41 DEBUG otopi.context context._executeMethod:138 Stage misc METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.pki.ssh.Plugin._misc
2014-01-22 17:49:41 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.pki.ssh plugin.executeRaw:366 execute: ('/usr/share/ovirt-engine/bin/pki-pkcs12-extract.sh', '--name=engine', '--passin=**FILTERED**', '--key=-'), executable='None', cwd='None', env=None
2014-01-22 17:49:41 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.pki.ssh plugin.executeRaw:383 execute-result: ('/usr/share/ovirt-engine/bin/pki-pkcs12-extract.sh', '--name=engine', '--passin=**FILTERED**', '--key=-'), rc=0
2014-01-22 17:49:41 DEBUG otopi.transaction transaction._prepare:77 preparing 'File transaction for '/etc/pki/ovirt-engine/keys/engine_id_rsa''
2014-01-22 17:49:41 DEBUG otopi.filetransaction filetransaction.prepare:191 file '/etc/pki/ovirt-engine/keys/engine_id_rsa' exists
2014-01-22 17:49:41 DEBUG otopi.filetransaction filetransaction.prepare:195 file '/etc/pki/ovirt-engine/keys/engine_id_rsa' already has content
2014-01-22 17:49:41 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.pki.ssh plugin.executeRaw:366 execute: ('/usr/share/ovirt-engine/bin/pki-pkcs12-extract.sh', '--name=engine', '--passin=**FILTERED**', '--cert=-'), executable='None', cwd='None', env=None
2014-01-22 17:49:41 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.pki.ssh plugin.executeRaw:383 execute-result: ('/usr/share/ovirt-engine/bin/pki-pkcs12-extract.sh', '--name=engine', '--passin=**FILTERED**', '--cert=-'), rc=0
2014-01-22 17:49:41 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.pki.ssh plugin.execute:441 execute-output: ('/usr/share/ovirt-engine/bin/pki-pkcs12-extract.sh', '--name=engine', '--passin=**FILTERED**', '--cert=-') stdout:
Bag Attributes
    localKeyID: FF ED 11 4B 44 9D A1 84 D5 C2 BF 6D B3 76 6F A7 86 90 50 D4 
subject=/C=US/O=arclab/CN=cauldron.arclab
issuer=/C=US/O=arclab/CN=cauldron.arclab.87899
-----BEGIN CERTIFICATE-----
[payload removed: 1372 characters in 22 lines]
-----END CERTIFICATE-----

2014-01-22 17:49:41 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.pki.ssh plugin.execute:446 execute-output: ('/usr/share/ovirt-engine/bin/pki-pkcs12-extract.sh', '--name=engine', '--passin=**FILTERED**', '--cert=-') stderr:
MAC verified OK

2014-01-22 17:49:41 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:49:41 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_PKI/sshPublicKey=str:'ssh-rsa [payload removed: 372 characters]'
2014-01-22 17:49:41 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:49:41 DEBUG otopi.context context._executeMethod:138 Stage misc METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.sshd.Plugin._misc
2014-01-22 17:49:41 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:49:41 DEBUG otopi.context context._executeMethod:138 Stage misc METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.localstate.Plugin._misc
2014-01-22 17:49:41 DEBUG otopi.context context._executeMethod:138 Stage misc METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.nfs.Plugin._misc
2014-01-22 17:49:41 DEBUG otopi.transaction transaction._prepare:77 preparing 'File transaction for '/etc/sysconfig/nfs''
2014-01-22 17:49:41 DEBUG otopi.filetransaction filetransaction.prepare:191 file '/etc/sysconfig/nfs' exists
2014-01-22 17:49:41 DEBUG otopi.filetransaction filetransaction.prepare:195 file '/etc/sysconfig/nfs' already has content
2014-01-22 17:49:41 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:49:41 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE_MODIFIED_FILE_GROUP/nfs_config=list:'[]'
2014-01-22 17:49:41 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE_MODIFIED_LINES_GROUP/nfs_config=dict:'{'/etc/sysconfig/nfs': []}'
2014-01-22 17:49:41 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:49:41 DEBUG otopi.context context._executeMethod:138 Stage misc METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.upgrade.answerfile_fixup.Plugin._misc
2014-01-22 17:49:41 DEBUG otopi.context context._executeMethod:138 Stage misc METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine_common.db.connection.Plugin._connection
2014-01-22 17:49:41 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:49:41 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_DB/connection=connection:'<connection object at 0x2e65bb0; dsn: 'dbname=engine host=localhost port=5432 user=engine password=xxxxxxxx', closed: 0>'
2014-01-22 17:49:41 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_DB/statement=Statement:'<ovirt_engine_setup.database.Statement object at 0x48503d0>'
2014-01-22 17:49:41 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:49:41 DEBUG otopi.context context._executeMethod:138 Stage misc METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.pki.ca.Plugin.miscOptions
2014-01-22 17:49:41 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:49:41 DEBUG otopi.context context._executeMethod:138 Stage misc METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.legacy.osinfo.Plugin._misc
2014-01-22 17:49:41 DEBUG otopi.ovirt_engine_setup.database database.execute:132 Database: 'engine', Statement: '
                select option_name, option_value
                from vdc_options
                where
                    option_name = %(name)s and
                    version = %(version)s
            ', args: {'version': 'general', 'name': 'SysPrep2K3Path'}
2014-01-22 17:49:41 DEBUG otopi.ovirt_engine_setup.database database.execute:190 Result: [{'option_name': 'SysPrep2K3Path', 'option_value': '/etc/ovirt-engine/gsysprep/sysprep.2k3'}]
2014-01-22 17:49:41 DEBUG otopi.ovirt_engine_setup.database database.execute:132 Database: 'engine', Statement: '
                    update vdc_options
                    set
                        option_value=%(value)s,
                        version=%(version)s
                    where option_name=%(name)s
                ', args: {'version': 'general', 'name': 'SysPrep2K3Path', 'value': ''}
2014-01-22 17:49:41 DEBUG otopi.ovirt_engine_setup.database database.execute:190 Result: []
2014-01-22 17:49:41 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.legacy.osinfo osinfo._misc:103 Found legacy sysprep SysPrep2K3Path '/etc/ovirt-engine/sysprep/sysprep.2k3'
2014-01-22 17:49:41 DEBUG otopi.ovirt_engine_setup.database database.execute:132 Database: 'engine', Statement: '
                select option_name, option_value
                from vdc_options
                where
                    option_name = %(name)s and
                    version = %(version)s
            ', args: {'version': 'general', 'name': 'SysPrep2K8Path'}
2014-01-22 17:49:41 DEBUG otopi.ovirt_engine_setup.database database.execute:190 Result: [{'option_name': 'SysPrep2K8Path', 'option_value': '/etc/ovirt-engine/gsysprep/sysprep.2k8x86'}]
2014-01-22 17:49:41 DEBUG otopi.ovirt_engine_setup.database database.execute:132 Database: 'engine', Statement: '
                    update vdc_options
                    set
                        option_value=%(value)s,
                        version=%(version)s
                    where option_name=%(name)s
                ', args: {'version': 'general', 'name': 'SysPrep2K8Path', 'value': ''}
2014-01-22 17:49:41 DEBUG otopi.ovirt_engine_setup.database database.execute:190 Result: []
2014-01-22 17:49:41 DEBUG otopi.ovirt_engine_setup.database database.execute:132 Database: 'engine', Statement: '
                select option_name, option_value
                from vdc_options
                where
                    option_name = %(name)s and
                    version = %(version)s
            ', args: {'version': 'general', 'name': 'SysPrep2K8R2Path'}
2014-01-22 17:49:41 DEBUG otopi.ovirt_engine_setup.database database.execute:190 Result: [{'option_name': 'SysPrep2K8R2Path', 'option_value': '/etc/ovirt-engine/gsysprep/sysprep.2k8'}]
2014-01-22 17:49:41 DEBUG otopi.ovirt_engine_setup.database database.execute:132 Database: 'engine', Statement: '
                    update vdc_options
                    set
                        option_value=%(value)s,
                        version=%(version)s
                    where option_name=%(name)s
                ', args: {'version': 'general', 'name': 'SysPrep2K8R2Path', 'value': ''}
2014-01-22 17:49:41 DEBUG otopi.ovirt_engine_setup.database database.execute:190 Result: []
2014-01-22 17:49:41 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.legacy.osinfo osinfo._misc:103 Found legacy sysprep SysPrep2K8R2Path '/etc/ovirt-engine/sysprep/sysprep.2k8'
2014-01-22 17:49:41 DEBUG otopi.ovirt_engine_setup.database database.execute:132 Database: 'engine', Statement: '
                select option_name, option_value
                from vdc_options
                where
                    option_name = %(name)s and
                    version = %(version)s
            ', args: {'version': 'general', 'name': 'SysPrep2K8x64Path'}
2014-01-22 17:49:41 DEBUG otopi.ovirt_engine_setup.database database.execute:190 Result: [{'option_name': 'SysPrep2K8x64Path', 'option_value': '/etc/ovirt-engine/gsysprep/sysprep.2k8'}]
2014-01-22 17:49:41 DEBUG otopi.ovirt_engine_setup.database database.execute:132 Database: 'engine', Statement: '
                    update vdc_options
                    set
                        option_value=%(value)s,
                        version=%(version)s
                    where option_name=%(name)s
                ', args: {'version': 'general', 'name': 'SysPrep2K8x64Path', 'value': ''}
2014-01-22 17:49:41 DEBUG otopi.ovirt_engine_setup.database database.execute:190 Result: []
2014-01-22 17:49:41 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.legacy.osinfo osinfo._misc:103 Found legacy sysprep SysPrep2K8x64Path '/etc/ovirt-engine/sysprep/sysprep.2k8'
2014-01-22 17:49:41 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.legacy.osinfo osinfo._misc:117 legacy sysprep differ from sysprep.2k8x64
2014-01-22 17:49:41 DEBUG otopi.ovirt_engine_setup.database database.execute:132 Database: 'engine', Statement: '
                select option_name, option_value
                from vdc_options
                where
                    option_name = %(name)s and
                    version = %(version)s
            ', args: {'version': 'general', 'name': 'SysPrepWindows2012x64Path'}
2014-01-22 17:49:41 DEBUG otopi.ovirt_engine_setup.database database.execute:190 Result: [{'option_name': 'SysPrepWindows2012x64Path', 'option_value': '/etc/ovirt-engine/gsysprep/sysprep.2k12x64'}]
2014-01-22 17:49:41 DEBUG otopi.ovirt_engine_setup.database database.execute:132 Database: 'engine', Statement: '
                    update vdc_options
                    set
                        option_value=%(value)s,
                        version=%(version)s
                    where option_name=%(name)s
                ', args: {'version': 'general', 'name': 'SysPrepWindows2012x64Path', 'value': ''}
2014-01-22 17:49:41 DEBUG otopi.ovirt_engine_setup.database database.execute:190 Result: []
2014-01-22 17:49:41 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.legacy.osinfo osinfo._misc:103 Found legacy sysprep SysPrepWindows2012x64Path '/etc/ovirt-engine/sysprep/sysprep.2k12x64'
2014-01-22 17:49:41 DEBUG otopi.ovirt_engine_setup.database database.execute:132 Database: 'engine', Statement: '
                select option_name, option_value
                from vdc_options
                where
                    option_name = %(name)s and
                    version = %(version)s
            ', args: {'version': 'general', 'name': 'SysPrepWindows7Path'}
2014-01-22 17:49:41 DEBUG otopi.ovirt_engine_setup.database database.execute:190 Result: [{'option_name': 'SysPrepWindows7Path', 'option_value': '/etc/ovirt-engine/gsysprep/sysprep.w7'}]
2014-01-22 17:49:41 DEBUG otopi.ovirt_engine_setup.database database.execute:132 Database: 'engine', Statement: '
                    update vdc_options
                    set
                        option_value=%(value)s,
                        version=%(version)s
                    where option_name=%(name)s
                ', args: {'version': 'general', 'name': 'SysPrepWindows7Path', 'value': ''}
2014-01-22 17:49:41 DEBUG otopi.ovirt_engine_setup.database database.execute:190 Result: []
2014-01-22 17:49:41 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.legacy.osinfo osinfo._misc:103 Found legacy sysprep SysPrepWindows7Path '/etc/ovirt-engine/sysprep/sysprep.w7'
2014-01-22 17:49:41 DEBUG otopi.ovirt_engine_setup.database database.execute:132 Database: 'engine', Statement: '
                select option_name, option_value
                from vdc_options
                where
                    option_name = %(name)s and
                    version = %(version)s
            ', args: {'version': 'general', 'name': 'SysPrepWindows7x64Path'}
2014-01-22 17:49:41 DEBUG otopi.ovirt_engine_setup.database database.execute:190 Result: [{'option_name': 'SysPrepWindows7x64Path', 'option_value': '/etc/ovirt-engine/gsysprep/sysprep.w7x64'}]
2014-01-22 17:49:41 DEBUG otopi.ovirt_engine_setup.database database.execute:132 Database: 'engine', Statement: '
                    update vdc_options
                    set
                        option_value=%(value)s,
                        version=%(version)s
                    where option_name=%(name)s
                ', args: {'version': 'general', 'name': 'SysPrepWindows7x64Path', 'value': ''}
2014-01-22 17:49:41 DEBUG otopi.ovirt_engine_setup.database database.execute:190 Result: []
2014-01-22 17:49:41 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.legacy.osinfo osinfo._misc:103 Found legacy sysprep SysPrepWindows7x64Path '/etc/ovirt-engine/sysprep/sysprep.w7x64'
2014-01-22 17:49:41 DEBUG otopi.ovirt_engine_setup.database database.execute:132 Database: 'engine', Statement: '
                select option_name, option_value
                from vdc_options
                where
                    option_name = %(name)s and
                    version = %(version)s
            ', args: {'version': 'general', 'name': 'SysPrepWindows8Path'}
2014-01-22 17:49:41 DEBUG otopi.ovirt_engine_setup.database database.execute:190 Result: [{'option_name': 'SysPrepWindows8Path', 'option_value': '/etc/ovirt-engine/gsysprep/sysprep.w8'}]
2014-01-22 17:49:41 DEBUG otopi.ovirt_engine_setup.database database.execute:132 Database: 'engine', Statement: '
                    update vdc_options
                    set
                        option_value=%(value)s,
                        version=%(version)s
                    where option_name=%(name)s
                ', args: {'version': 'general', 'name': 'SysPrepWindows8Path', 'value': ''}
2014-01-22 17:49:41 DEBUG otopi.ovirt_engine_setup.database database.execute:190 Result: []
2014-01-22 17:49:41 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.legacy.osinfo osinfo._misc:103 Found legacy sysprep SysPrepWindows8Path '/etc/ovirt-engine/sysprep/sysprep.w8'
2014-01-22 17:49:41 DEBUG otopi.ovirt_engine_setup.database database.execute:132 Database: 'engine', Statement: '
                select option_name, option_value
                from vdc_options
                where
                    option_name = %(name)s and
                    version = %(version)s
            ', args: {'version': 'general', 'name': 'SysPrepWindows8x64Path'}
2014-01-22 17:49:41 DEBUG otopi.ovirt_engine_setup.database database.execute:190 Result: [{'option_name': 'SysPrepWindows8x64Path', 'option_value': '/etc/ovirt-engine/gsysprep/sysprep.w8x64'}]
2014-01-22 17:49:41 DEBUG otopi.ovirt_engine_setup.database database.execute:132 Database: 'engine', Statement: '
                    update vdc_options
                    set
                        option_value=%(value)s,
                        version=%(version)s
                    where option_name=%(name)s
                ', args: {'version': 'general', 'name': 'SysPrepWindows8x64Path', 'value': ''}
2014-01-22 17:49:41 DEBUG otopi.ovirt_engine_setup.database database.execute:190 Result: []
2014-01-22 17:49:41 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.legacy.osinfo osinfo._misc:103 Found legacy sysprep SysPrepWindows8x64Path '/etc/ovirt-engine/sysprep/sysprep.w8x64'
2014-01-22 17:49:41 DEBUG otopi.ovirt_engine_setup.database database.execute:132 Database: 'engine', Statement: '
                select option_name, option_value
                from vdc_options
                where
                    option_name = %(name)s and
                    version = %(version)s
            ', args: {'version': 'general', 'name': 'SysPrepXPPath'}
2014-01-22 17:49:41 DEBUG otopi.ovirt_engine_setup.database database.execute:190 Result: [{'option_name': 'SysPrepXPPath', 'option_value': '/etc/ovirt-engine/gsysprep/sysprep.xp'}]
2014-01-22 17:49:41 DEBUG otopi.ovirt_engine_setup.database database.execute:132 Database: 'engine', Statement: '
                    update vdc_options
                    set
                        option_value=%(value)s,
                        version=%(version)s
                    where option_name=%(name)s
                ', args: {'version': 'general', 'name': 'SysPrepXPPath', 'value': ''}
2014-01-22 17:49:41 DEBUG otopi.ovirt_engine_setup.database database.execute:190 Result: []
2014-01-22 17:49:41 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.legacy.osinfo osinfo._misc:103 Found legacy sysprep SysPrepXPPath '/etc/ovirt-engine/sysprep/sysprep.xp'
2014-01-22 17:49:41 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.legacy.osinfo osinfo._misc:128 legacy sysprep fixup: ['os.windows_2008x64.sysprepPath.value = /etc/ovirt-engine/sysprep/sysprep.2k8']
2014-01-22 17:49:41 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.legacy.osinfo osinfo._misc:129 legacy sysprep remove: set(['/etc/ovirt-engine/sysprep/sysprep.xp', '/etc/ovirt-engine/sysprep/sysprep.w7', '/etc/ovirt-engine/sysprep/sysprep.w7x64', '/etc/ovirt-engine/sysprep/sysprep.w8', '/etc/ovirt-engine/sysprep/sysprep.2k12x64', '/etc/ovirt-engine/sysprep/sysprep.w8x64', '/etc/ovirt-engine/sysprep/sysprep.2k3'])
2014-01-22 17:49:41 DEBUG otopi.transaction transaction._prepare:77 preparing 'File transaction for '/etc/ovirt-engine/osinfo.conf.d/10-sysprep.properties''
2014-01-22 17:49:41 DEBUG otopi.filetransaction filetransaction.prepare:189 file '/etc/ovirt-engine/osinfo.conf.d/10-sysprep.properties' missing
2014-01-22 17:49:41 DEBUG otopi.context context._executeMethod:138 Stage misc METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.options.Plugin._miscNewDatabase
2014-01-22 17:49:41 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:49:41 DEBUG otopi.context context._executeMethod:138 Stage misc METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.options.Plugin._miscAlways
2014-01-22 17:49:41 DEBUG otopi.ovirt_engine_setup.database database.execute:132 Database: 'engine', Statement: '
                    update vdc_options
                    set
                        option_value=%(value)s,
                        version=%(version)s
                    where option_name=%(name)s
                ', args: {'version': 'general', 'name': 'ProductRPMVersion', 'value': '3.4.0-0.5.beta1.el6'}
2014-01-22 17:49:41 DEBUG otopi.ovirt_engine_setup.database database.execute:190 Result: []
2014-01-22 17:49:41 DEBUG otopi.context context._executeMethod:138 Stage misc METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.macrange.Plugin._misc
2014-01-22 17:49:41 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:49:41 DEBUG otopi.context context._executeMethod:138 Stage misc METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.iso_domain.Plugin._add_iso_domain_to_db
2014-01-22 17:49:41 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:49:41 DEBUG otopi.context context._executeMethod:138 Stage misc METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.exportfs.Plugin._misc
2014-01-22 17:49:41 DEBUG otopi.transaction transaction._prepare:77 preparing 'File transaction for '/etc/exports''
2014-01-22 17:49:41 DEBUG otopi.filetransaction filetransaction.prepare:191 file '/etc/exports' exists
2014-01-22 17:49:41 DEBUG otopi.filetransaction filetransaction.prepare:195 file '/etc/exports' already has content
2014-01-22 17:49:41 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:49:41 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE_MODIFIED_FILE_GROUP/exportfs=list:'[[]]'
2014-01-22 17:49:41 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE_MODIFIED_LINES_GROUP/exportfs=dict:'{'/etc/exports': [{'removed': '/var/lib/exports/iso\tNone', 'added': '/var/lib/exports/iso\tNone'}]}'
2014-01-22 17:49:41 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:49:41 DEBUG otopi.context context._executeMethod:138 Stage misc METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.domain_type.Plugin._misc
2014-01-22 17:49:41 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:49:41 DEBUG otopi.context context._executeMethod:138 Stage misc METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.ca.Plugin._misc
2014-01-22 17:49:41 DEBUG otopi.transaction transaction._prepare:77 preparing 'File transaction for '/etc/ovirt-engine/engine.conf.d/10-setup-pki.conf''
2014-01-22 17:49:41 DEBUG otopi.filetransaction filetransaction.prepare:191 file '/etc/ovirt-engine/engine.conf.d/10-setup-pki.conf' exists
2014-01-22 17:49:41 DEBUG otopi.filetransaction filetransaction.prepare:195 file '/etc/ovirt-engine/engine.conf.d/10-setup-pki.conf' already has content
2014-01-22 17:49:41 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:49:41 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE_MODIFIED_FILE_GROUP/ca_config=list:'[[]]'
2014-01-22 17:49:41 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE_MODIFIED_LINES_GROUP/ca_config=dict:'{}'
2014-01-22 17:49:41 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:49:41 DEBUG otopi.context context._executeMethod:138 Stage misc METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.options.Plugin._miscEncrypted
2014-01-22 17:49:41 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:49:41 DEBUG otopi.context context._executeMethod:138 Stage misc METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.appmode.Plugin._misc
2014-01-22 17:49:41 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:49:41 DEBUG otopi.context context._executeMethod:138 Stage misc METHOD otopi.plugins.ovirt_engine_setup.websocket_proxy.config.Plugin._misc
2014-01-22 17:49:41 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:49:41 DEBUG otopi.context context._executeMethod:138 Stage misc METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.selinux.Plugin._misc
2014-01-22 17:49:41 DEBUG otopi.context context._executeMethod:138 Stage misc METHOD otopi.plugins.ovirt_engine_common.base.core.postinstall.Plugin._misc
2014-01-22 17:49:41 INFO otopi.plugins.ovirt_engine_common.base.core.postinstall postinstall._misc:59 Generating post install configuration file '/etc/ovirt-engine-setup.conf.d/20-setup-ovirt-post.conf'
2014-01-22 17:49:41 DEBUG otopi.transaction transaction._prepare:77 preparing 'File transaction for '/etc/ovirt-engine-setup.conf.d/20-setup-ovirt-post.conf''
2014-01-22 17:49:41 DEBUG otopi.filetransaction filetransaction.prepare:191 file '/etc/ovirt-engine-setup.conf.d/20-setup-ovirt-post.conf' exists
2014-01-22 17:49:41 DEBUG otopi.filetransaction filetransaction.prepare:225 backup '/etc/ovirt-engine-setup.conf.d/20-setup-ovirt-post.conf'->'/etc/ovirt-engine-setup.conf.d/20-setup-ovirt-post.conf.20140122174941'
2014-01-22 17:49:41 INFO otopi.context context.runSequence:395 Stage: Transaction commit
2014-01-22 17:49:41 DEBUG otopi.context context.runSequence:399 STAGE cleanup
2014-01-22 17:49:41 DEBUG otopi.context context._executeMethod:138 Stage cleanup METHOD otopi.plugins.otopi.core.transaction.Plugin._main_end
2014-01-22 17:49:41 DEBUG otopi.transaction transaction.commit:159 committing 'File transaction for '/etc/ovirt-engine-setup.conf.d/20-setup-ovirt-post.conf''
2014-01-22 17:49:41 DEBUG otopi.transaction transaction.commit:159 committing 'File transaction for '/etc/ovirt-engine/engine.conf.d/10-setup-pki.conf''
2014-01-22 17:49:41 DEBUG otopi.transaction transaction.commit:159 committing 'File transaction for '/etc/exports''
2014-01-22 17:49:41 DEBUG otopi.transaction transaction.commit:159 committing 'File transaction for '/etc/ovirt-engine/osinfo.conf.d/10-sysprep.properties''
2014-01-22 17:49:41 DEBUG otopi.transaction transaction.commit:159 committing 'File transaction for '/etc/sysconfig/nfs''
2014-01-22 17:49:41 DEBUG otopi.transaction transaction.commit:159 committing 'File transaction for '/etc/pki/ovirt-engine/keys/engine_id_rsa''
2014-01-22 17:49:41 DEBUG otopi.transaction transaction.commit:159 committing 'Engine schema Transaction'
2014-01-22 17:49:41 DEBUG otopi.transaction transaction.commit:159 committing 'File transaction for '/etc/ovirt-engine/logcollector.conf.d/10-engine-setup.conf''
2014-01-22 17:49:41 DEBUG otopi.transaction transaction.commit:159 committing 'File transaction for '/etc/ovirt-engine/imageuploader.conf.d/10-engine-setup.conf''
2014-01-22 17:49:41 DEBUG otopi.transaction transaction.commit:159 committing 'File transaction for '/etc/ovirt-engine/isouploader.conf.d/10-engine-setup.conf''
2014-01-22 17:49:41 DEBUG otopi.transaction transaction.commit:159 committing 'File transaction for '/etc/ovirt-engine/engine.conf.d/10-setup-protocols.conf''
2014-01-22 17:49:41 DEBUG otopi.transaction transaction.commit:159 committing 'File transaction for '/etc/ovirt-engine/notifier/notifier.conf.d/10-setup-jboss.conf''
2014-01-22 17:49:41 DEBUG otopi.transaction transaction.commit:159 committing 'File transaction for '/etc/ovirt-engine/engine.conf.d/10-setup-jboss.conf''
2014-01-22 17:49:41 DEBUG otopi.transaction transaction.commit:159 committing 'File transaction for '/etc/ovirt-engine/engine.conf.d/10-setup-database.conf''
2014-01-22 17:49:41 DEBUG otopi.transaction transaction.commit:159 committing 'File transaction for '/etc/httpd/conf.d/ssl.conf''
2014-01-22 17:49:41 DEBUG otopi.transaction transaction.commit:159 committing 'File transaction for '/etc/httpd/conf.d/ovirt-engine-root-redirect.conf''
2014-01-22 17:49:41 DEBUG otopi.transaction transaction.commit:159 committing 'File transaction for '/etc/httpd/conf.d/z-ovirt-engine-proxy.conf''
2014-01-22 17:49:41 DEBUG otopi.transaction transaction.commit:159 committing 'File transaction for '/etc/ovirt-engine/iptables.example''
2014-01-22 17:49:41 DEBUG otopi.transaction transaction.commit:159 committing 'File transaction for '/etc/ovirt-engine/firewalld/ovirt-postgres.xml''
2014-01-22 17:49:41 DEBUG otopi.transaction transaction.commit:159 committing 'File transaction for '/etc/ovirt-engine/firewalld/ovirt-nfs.xml''
2014-01-22 17:49:41 DEBUG otopi.transaction transaction.commit:159 committing 'File transaction for '/etc/ovirt-engine/firewalld/ovirt-https.xml''
2014-01-22 17:49:41 DEBUG otopi.transaction transaction.commit:159 committing 'File transaction for '/etc/ovirt-engine/firewalld/ovirt-http.xml''
2014-01-22 17:49:41 DEBUG otopi.transaction transaction.commit:159 committing 'File transaction for '/etc/ovirt-engine/firewalld/ovirt-websocket-proxy.xml''
2014-01-22 17:49:41 DEBUG otopi.transaction transaction.commit:159 committing 'File transaction for '/etc/sysconfig/iptables''
2014-01-22 17:49:41 DEBUG otopi.transaction transaction.commit:159 committing 'Version Lock Transaction'
2014-01-22 17:49:41 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages plugin.executeRaw:366 execute: ('/bin/rpm', '-q', 'ovirt-engine', 'ovirt-engine-backend', 'ovirt-engine-dbscripts', 'ovirt-engine-restapi', 'ovirt-engine-tools', 'ovirt-engine-userportal', 'ovirt-engine-webadmin-portal'), executable='None', cwd='None', env=None
2014-01-22 17:49:41 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages plugin.executeRaw:383 execute-result: ('/bin/rpm', '-q', 'ovirt-engine', 'ovirt-engine-backend', 'ovirt-engine-dbscripts', 'ovirt-engine-restapi', 'ovirt-engine-tools', 'ovirt-engine-userportal', 'ovirt-engine-webadmin-portal'), rc=0
2014-01-22 17:49:41 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages plugin.execute:441 execute-output: ('/bin/rpm', '-q', 'ovirt-engine', 'ovirt-engine-backend', 'ovirt-engine-dbscripts', 'ovirt-engine-restapi', 'ovirt-engine-tools', 'ovirt-engine-userportal', 'ovirt-engine-webadmin-portal') stdout:
ovirt-engine-3.4.0-0.5.beta1.el6.noarch
ovirt-engine-backend-3.4.0-0.5.beta1.el6.noarch
ovirt-engine-dbscripts-3.4.0-0.5.beta1.el6.noarch
ovirt-engine-restapi-3.4.0-0.5.beta1.el6.noarch
ovirt-engine-tools-3.4.0-0.5.beta1.el6.noarch
ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch
ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch

2014-01-22 17:49:41 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine_common.distro-rpm.packages plugin.execute:446 execute-output: ('/bin/rpm', '-q', 'ovirt-engine', 'ovirt-engine-backend', 'ovirt-engine-dbscripts', 'ovirt-engine-restapi', 'ovirt-engine-tools', 'ovirt-engine-userportal', 'ovirt-engine-webadmin-portal') stderr:


2014-01-22 17:49:41 DEBUG otopi.transaction transaction.commit:159 committing 'Database Transaction'
2014-01-22 17:49:41 DEBUG otopi.transaction transaction.commit:159 committing 'Yum Transaction'
Loaded plugins: fastestmirror, versionlock
2014-01-22 17:49:41 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:49:41 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE_MODIFIED_FILE_GROUP/versionlock=list:'[]'
2014-01-22 17:49:41 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE_MODIFIED_LINES_GROUP/versionlock=dict:'{'/etc/yum/pluginconf.d/versionlock.list': [{'added': u'ovirt-engine-3.4.0-0.5.beta1.el6.noarch'}, {'added': u'ovirt-engine-backend-3.4.0-0.5.beta1.el6.noarch'}, {'added': u'ovirt-engine-dbscripts-3.4.0-0.5.beta1.el6.noarch'}, {'added': u'ovirt-engine-restapi-3.4.0-0.5.beta1.el6.noarch'}, {'added': u'ovirt-engine-tools-3.4.0-0.5.beta1.el6.noarch'}, {'added': u'ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch'}, {'added': u'ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch'}]}'
2014-01-22 17:49:41 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:49:41 INFO otopi.context context.runSequence:395 Stage: Closing up
2014-01-22 17:49:41 DEBUG otopi.context context.runSequence:399 STAGE closeup
2014-01-22 17:49:41 DEBUG otopi.context context._executeMethod:138 Stage closeup METHOD otopi.plugins.otopi.network.firewalld.Plugin._closeup
2014-01-22 17:49:41 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:49:41 DEBUG otopi.context context._executeMethod:138 Stage closeup METHOD otopi.plugins.otopi.network.iptables.Plugin._closeup
2014-01-22 17:49:41 DEBUG otopi.plugins.otopi.services.rhel rhel.exists:121 check if service firewalld exists
2014-01-22 17:49:41 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/initctl', 'status', 'firewalld'), executable='None', cwd='None', env=None
2014-01-22 17:49:41 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/initctl', 'status', 'firewalld'), rc=1
2014-01-22 17:49:41 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/initctl', 'status', 'firewalld') stdout:


2014-01-22 17:49:41 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/initctl', 'status', 'firewalld') stderr:
initctl: Unknown job: firewalld

2014-01-22 17:49:41 DEBUG otopi.plugins.otopi.services.rhel rhel.exists:133 service firewalld exists False upstart=False
2014-01-22 17:49:41 DEBUG otopi.plugins.otopi.services.rhel rhel.startup:151 set service iptables startup to True
2014-01-22 17:49:41 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/initctl', 'status', 'iptables'), executable='None', cwd='None', env=None
2014-01-22 17:49:41 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/initctl', 'status', 'iptables'), rc=1
2014-01-22 17:49:41 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/initctl', 'status', 'iptables') stdout:


2014-01-22 17:49:41 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/initctl', 'status', 'iptables') stderr:
initctl: Unknown job: iptables

2014-01-22 17:49:41 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/chkconfig', 'iptables', 'on'), executable='None', cwd='None', env=None
2014-01-22 17:49:41 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/chkconfig', 'iptables', 'on'), rc=0
2014-01-22 17:49:41 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/chkconfig', 'iptables', 'on') stdout:


2014-01-22 17:49:41 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/chkconfig', 'iptables', 'on') stderr:


2014-01-22 17:49:41 DEBUG otopi.plugins.otopi.services.rhel rhel.state:172 stopping service iptables
2014-01-22 17:49:41 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/initctl', 'status', 'iptables'), executable='None', cwd='None', env=None
2014-01-22 17:49:41 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/initctl', 'status', 'iptables'), rc=1
2014-01-22 17:49:41 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/initctl', 'status', 'iptables') stdout:


2014-01-22 17:49:41 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/initctl', 'status', 'iptables') stderr:
initctl: Unknown job: iptables

2014-01-22 17:49:41 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/service', 'iptables', 'stop'), executable='None', cwd='None', env=None
2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/service', 'iptables', 'stop'), rc=0
2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/service', 'iptables', 'stop') stdout:
iptables: Setting chains to policy ACCEPT: filter [  OK  ]
iptables: Flushing firewall rules: [  OK  ]
iptables: Unloading modules: [  OK  ]

2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/service', 'iptables', 'stop') stderr:


2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.services.rhel rhel.state:172 starting service iptables
2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/initctl', 'status', 'iptables'), executable='None', cwd='None', env=None
2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/initctl', 'status', 'iptables'), rc=1
2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/initctl', 'status', 'iptables') stdout:


2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/initctl', 'status', 'iptables') stderr:
initctl: Unknown job: iptables

2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/service', 'iptables', 'start'), executable='None', cwd='None', env=None
2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/service', 'iptables', 'start'), rc=0
2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/service', 'iptables', 'start') stdout:
iptables: Applying firewall rules: [  OK  ]

2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/service', 'iptables', 'start') stderr:


2014-01-22 17:49:42 DEBUG otopi.context context._executeMethod:138 Stage closeup METHOD otopi.plugins.otopi.network.ssh.Plugin._cleanup
2014-01-22 17:49:42 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:49:42 DEBUG otopi.context context._executeMethod:138 Stage closeup METHOD otopi.plugins.ovirt_engine_common.base.dialog.titles.Plugin._title_s_summary
2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                
2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                 --== SUMMARY ==--
2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                
2014-01-22 17:49:42 DEBUG otopi.context context._executeMethod:138 Stage closeup METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.memcheck.Plugin._closeup
2014-01-22 17:49:42 WARNING otopi.plugins.ovirt_engine_setup.ovirt_engine.system.memcheck memcheck._check_requirements:90 Less than 16384MB of memory is available
2014-01-22 17:49:42 DEBUG otopi.context context._executeMethod:138 Stage closeup METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.exportfs.Plugin._closeup
2014-01-22 17:49:42 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.system.exportfs plugin.executeRaw:366 execute: ('/usr/sbin/exportfs', '-r', '-a'), executable='None', cwd='None', env=None
2014-01-22 17:49:42 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.system.exportfs plugin.executeRaw:383 execute-result: ('/usr/sbin/exportfs', '-r', '-a'), rc=0
2014-01-22 17:49:42 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.system.exportfs plugin.execute:441 execute-output: ('/usr/sbin/exportfs', '-r', '-a') stdout:


2014-01-22 17:49:42 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.system.exportfs plugin.execute:446 execute-output: ('/usr/sbin/exportfs', '-r', '-a') stderr:
exportfs: No options for /var/lib/exports/iso None: suggest None(sync) to avoid warning
exportfs: Failed to resolve None
exportfs: Failed to resolve None

2014-01-22 17:49:42 DEBUG otopi.context context._executeMethod:138 Stage closeup METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.provisioning.postgres.Plugin._closeup
2014-01-22 17:49:42 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:49:42 DEBUG otopi.context context._executeMethod:138 Stage closeup METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.pki.ssh.Plugin._closeup
2014-01-22 17:49:42 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.pki.ssh plugin.executeRaw:366 execute: ('/usr/share/ovirt-engine/bin/pki-pkcs12-extract.sh', '--name=engine', '--passin=**FILTERED**', '--cert=-'), executable='None', cwd='None', env=None
2014-01-22 17:49:42 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.pki.ssh plugin.executeRaw:383 execute-result: ('/usr/share/ovirt-engine/bin/pki-pkcs12-extract.sh', '--name=engine', '--passin=**FILTERED**', '--cert=-'), rc=0
2014-01-22 17:49:42 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.pki.ssh plugin.execute:441 execute-output: ('/usr/share/ovirt-engine/bin/pki-pkcs12-extract.sh', '--name=engine', '--passin=**FILTERED**', '--cert=-') stdout:
Bag Attributes
    localKeyID: FF ED 11 4B 44 9D A1 84 D5 C2 BF 6D B3 76 6F A7 86 90 50 D4 
subject=/C=US/O=arclab/CN=cauldron.arclab
issuer=/C=US/O=arclab/CN=cauldron.arclab.87899
-----BEGIN CERTIFICATE-----
[payload removed: 1372 characters in 22 lines]
-----END CERTIFICATE-----

2014-01-22 17:49:42 DEBUG otopi.plugins.ovirt_engine_setup.ovirt_engine.pki.ssh plugin.execute:446 execute-output: ('/usr/share/ovirt-engine/bin/pki-pkcs12-extract.sh', '--name=engine', '--passin=**FILTERED**', '--cert=-') stderr:
MAC verified OK

2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                 SSH fingerprint: AF:D6:EA:19:67:3F:44:84:B3:4A:F4:DB:40:F8:98:BC
2014-01-22 17:49:42 DEBUG otopi.context context._executeMethod:138 Stage closeup METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.pki.ca.Plugin._closeup
2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                 Internal CA C5:D8:CA:74:7C:D0:71:5A:ED:A8:92:A2:6D:62:75:36:61:E8:84:91
2014-01-22 17:49:42 DEBUG otopi.context context._executeMethod:138 Stage closeup METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.protocols.Plugin._closeup
2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                 Web access is enabled at:
2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                     http://cauldron.arclab:80/ovirt-engine
2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                     https://cauldron.arclab:443/ovirt-engine
2014-01-22 17:49:42 DEBUG otopi.context context._executeMethod:138 Stage closeup METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.config.options.Plugin._closeup
2014-01-22 17:49:42 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:49:42 DEBUG otopi.context context._executeMethod:138 Stage closeup METHOD otopi.plugins.ovirt_engine_setup.base.network.firewall_manager.Plugin._closeup
2014-01-22 17:49:42 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:49:42 DEBUG otopi.context context._executeMethod:138 Stage closeup METHOD otopi.plugins.ovirt_engine_common.base.dialog.titles.Plugin._title_e_summary
2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                
2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                 --== END OF SUMMARY ==--
2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                
2014-01-22 17:49:42 DEBUG otopi.context context._executeMethod:138 Stage closeup METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.sshd.Plugin._closeup
2014-01-22 17:49:42 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:49:42 DEBUG otopi.context context._executeMethod:138 Stage closeup METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.legacy.osinfo.Plugin._closeup
2014-01-22 17:49:42 DEBUG otopi.context context._executeMethod:138 Stage closeup METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.engine.Plugin._closeup
2014-01-22 17:49:42 INFO otopi.plugins.ovirt_engine_setup.ovirt_engine.system.engine engine._closeup:48 Starting engine service
2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.services.rhel rhel.state:172 starting service ovirt-engine
2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/initctl', 'status', 'ovirt-engine'), executable='None', cwd='None', env=None
2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/initctl', 'status', 'ovirt-engine'), rc=1
2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/initctl', 'status', 'ovirt-engine') stdout:


2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/initctl', 'status', 'ovirt-engine') stderr:
initctl: Unknown job: ovirt-engine

2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/service', 'ovirt-engine', 'start'), executable='None', cwd='None', env=None
2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/service', 'ovirt-engine', 'start'), rc=0
2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/service', 'ovirt-engine', 'start') stdout:
Starting oVirt Engine: [  OK  ]

2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/service', 'ovirt-engine', 'start') stderr:


2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.services.rhel rhel.startup:151 set service ovirt-engine startup to True
2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/initctl', 'status', 'ovirt-engine'), executable='None', cwd='None', env=None
2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/initctl', 'status', 'ovirt-engine'), rc=1
2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/initctl', 'status', 'ovirt-engine') stdout:


2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/initctl', 'status', 'ovirt-engine') stderr:
initctl: Unknown job: ovirt-engine

2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/chkconfig', 'ovirt-engine', 'on'), executable='None', cwd='None', env=None
2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/chkconfig', 'ovirt-engine', 'on'), rc=0
2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/chkconfig', 'ovirt-engine', 'on') stdout:


2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/chkconfig', 'ovirt-engine', 'on') stderr:


2014-01-22 17:49:42 DEBUG otopi.context context._executeMethod:138 Stage closeup METHOD otopi.plugins.ovirt_engine_common.base.system.apache.Plugin._closeup
2014-01-22 17:49:42 INFO otopi.plugins.ovirt_engine_common.base.system.apache apache._closeup:79 Restarting httpd
2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.services.rhel rhel.startup:151 set service httpd startup to True
2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/initctl', 'status', 'httpd'), executable='None', cwd='None', env=None
2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/initctl', 'status', 'httpd'), rc=1
2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/initctl', 'status', 'httpd') stdout:


2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/initctl', 'status', 'httpd') stderr:
initctl: Unknown job: httpd

2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/chkconfig', 'httpd', 'on'), executable='None', cwd='None', env=None
2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/chkconfig', 'httpd', 'on'), rc=0
2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/chkconfig', 'httpd', 'on') stdout:


2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/chkconfig', 'httpd', 'on') stderr:


2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.services.rhel rhel.state:172 stopping service httpd
2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/initctl', 'status', 'httpd'), executable='None', cwd='None', env=None
2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/initctl', 'status', 'httpd'), rc=1
2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/initctl', 'status', 'httpd') stdout:


2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/initctl', 'status', 'httpd') stderr:
initctl: Unknown job: httpd

2014-01-22 17:49:42 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/service', 'httpd', 'stop'), executable='None', cwd='None', env=None
2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/service', 'httpd', 'stop'), rc=0
2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/service', 'httpd', 'stop') stdout:
Stopping httpd: [  OK  ]

2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/service', 'httpd', 'stop') stderr:


2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel rhel.state:172 starting service httpd
2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/initctl', 'status', 'httpd'), executable='None', cwd='None', env=None
2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/initctl', 'status', 'httpd'), rc=1
2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/initctl', 'status', 'httpd') stdout:


2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/initctl', 'status', 'httpd') stderr:
initctl: Unknown job: httpd

2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/service', 'httpd', 'start'), executable='None', cwd='None', env=None
2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/service', 'httpd', 'start'), rc=0
2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/service', 'httpd', 'start') stdout:
Starting httpd: [  OK  ]

2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/service', 'httpd', 'start') stderr:


2014-01-22 17:49:43 DEBUG otopi.context context._executeMethod:138 Stage closeup METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.vdsm.Plugin._closeup
2014-01-22 17:49:43 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:49:43 DEBUG otopi.context context._executeMethod:138 Stage closeup METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine.system.nfs.Plugin._closeup
2014-01-22 17:49:43 INFO otopi.plugins.ovirt_engine_setup.ovirt_engine.system.nfs nfs._closeup:209 Restarting nfs services
2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel rhel.startup:151 set service rpcbind startup to True
2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/initctl', 'status', 'rpcbind'), executable='None', cwd='None', env=None
2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/initctl', 'status', 'rpcbind'), rc=1
2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/initctl', 'status', 'rpcbind') stdout:


2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/initctl', 'status', 'rpcbind') stderr:
initctl: Unknown job: rpcbind

2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/chkconfig', 'rpcbind', 'on'), executable='None', cwd='None', env=None
2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/chkconfig', 'rpcbind', 'on'), rc=0
2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/chkconfig', 'rpcbind', 'on') stdout:


2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/chkconfig', 'rpcbind', 'on') stderr:


2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel rhel.state:172 starting service rpcbind
2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/initctl', 'status', 'rpcbind'), executable='None', cwd='None', env=None
2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/initctl', 'status', 'rpcbind'), rc=1
2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/initctl', 'status', 'rpcbind') stdout:


2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/initctl', 'status', 'rpcbind') stderr:
initctl: Unknown job: rpcbind

2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/service', 'rpcbind', 'start'), executable='None', cwd='None', env=None
2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/service', 'rpcbind', 'start'), rc=0
2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/service', 'rpcbind', 'start') stdout:


2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/service', 'rpcbind', 'start') stderr:


2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel rhel.startup:151 set service nfs startup to True
2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/initctl', 'status', 'nfs'), executable='None', cwd='None', env=None
2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/initctl', 'status', 'nfs'), rc=1
2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/initctl', 'status', 'nfs') stdout:


2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/initctl', 'status', 'nfs') stderr:
initctl: Unknown job: nfs

2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/chkconfig', 'nfs', 'on'), executable='None', cwd='None', env=None
2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/chkconfig', 'nfs', 'on'), rc=0
2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/chkconfig', 'nfs', 'on') stdout:


2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/chkconfig', 'nfs', 'on') stderr:


2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel rhel.state:172 stopping service nfs
2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/initctl', 'status', 'nfs'), executable='None', cwd='None', env=None
2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/initctl', 'status', 'nfs'), rc=1
2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/initctl', 'status', 'nfs') stdout:


2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/initctl', 'status', 'nfs') stderr:
initctl: Unknown job: nfs

2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/service', 'nfs', 'stop'), executable='None', cwd='None', env=None
2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/service', 'nfs', 'stop'), rc=0
2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/service', 'nfs', 'stop') stdout:
Shutting down NFS daemon: [  OK  ]
Shutting down NFS mountd: [  OK  ]
Shutting down NFS services:  [  OK  ]
Shutting down RPC idmapd: [  OK  ]

2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/service', 'nfs', 'stop') stderr:


2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel rhel.state:172 starting service nfs
2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/initctl', 'status', 'nfs'), executable='None', cwd='None', env=None
2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/initctl', 'status', 'nfs'), rc=1
2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/initctl', 'status', 'nfs') stdout:


2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/initctl', 'status', 'nfs') stderr:
initctl: Unknown job: nfs

2014-01-22 17:49:43 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/service', 'nfs', 'start'), executable='None', cwd='None', env=None
2014-01-22 17:49:44 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/service', 'nfs', 'start'), rc=0
2014-01-22 17:49:44 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/service', 'nfs', 'start') stdout:
Starting NFS services:  [  OK  ]
Starting NFS mountd: [  OK  ]
Starting NFS daemon: [  OK  ]
Starting RPC idmapd: [  OK  ]

2014-01-22 17:49:44 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/service', 'nfs', 'start') stderr:
exportfs: No options for /var/lib/exports/iso None: suggest None(sync) to avoid warning
exportfs: Failed to resolve None
exportfs: Failed to resolve None

2014-01-22 17:49:44 DEBUG otopi.context context._executeMethod:138 Stage closeup METHOD otopi.plugins.ovirt_engine_setup.websocket_proxy.config.Plugin._closeup
2014-01-22 17:49:44 DEBUG otopi.plugins.otopi.services.rhel rhel.state:172 stopping service ovirt-websocket-proxy
2014-01-22 17:49:44 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/initctl', 'status', 'ovirt-websocket-proxy'), executable='None', cwd='None', env=None
2014-01-22 17:49:44 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/initctl', 'status', 'ovirt-websocket-proxy'), rc=1
2014-01-22 17:49:44 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/initctl', 'status', 'ovirt-websocket-proxy') stdout:


2014-01-22 17:49:44 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/initctl', 'status', 'ovirt-websocket-proxy') stderr:
initctl: Unknown job: ovirt-websocket-proxy

2014-01-22 17:49:44 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/service', 'ovirt-websocket-proxy', 'stop'), executable='None', cwd='None', env=None
2014-01-22 17:49:44 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/service', 'ovirt-websocket-proxy', 'stop'), rc=0
2014-01-22 17:49:44 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/service', 'ovirt-websocket-proxy', 'stop') stdout:
Stopping oVirt Engine websockets proxy: [FAILED]

2014-01-22 17:49:44 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/service', 'ovirt-websocket-proxy', 'stop') stderr:


2014-01-22 17:49:44 DEBUG otopi.plugins.otopi.services.rhel rhel.state:172 starting service ovirt-websocket-proxy
2014-01-22 17:49:44 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/initctl', 'status', 'ovirt-websocket-proxy'), executable='None', cwd='None', env=None
2014-01-22 17:49:44 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/initctl', 'status', 'ovirt-websocket-proxy'), rc=1
2014-01-22 17:49:44 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/initctl', 'status', 'ovirt-websocket-proxy') stdout:


2014-01-22 17:49:44 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/initctl', 'status', 'ovirt-websocket-proxy') stderr:
initctl: Unknown job: ovirt-websocket-proxy

2014-01-22 17:49:44 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/service', 'ovirt-websocket-proxy', 'start'), executable='None', cwd='None', env=None
2014-01-22 17:49:44 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/service', 'ovirt-websocket-proxy', 'start'), rc=0
2014-01-22 17:49:44 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/service', 'ovirt-websocket-proxy', 'start') stdout:
Starting oVirt Engine websockets proxy: [  OK  ]

2014-01-22 17:49:44 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/service', 'ovirt-websocket-proxy', 'start') stderr:


2014-01-22 17:49:44 DEBUG otopi.plugins.otopi.services.rhel rhel.startup:151 set service ovirt-websocket-proxy startup to True
2014-01-22 17:49:44 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/initctl', 'status', 'ovirt-websocket-proxy'), executable='None', cwd='None', env=None
2014-01-22 17:49:44 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/initctl', 'status', 'ovirt-websocket-proxy'), rc=1
2014-01-22 17:49:44 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/initctl', 'status', 'ovirt-websocket-proxy') stdout:


2014-01-22 17:49:44 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/initctl', 'status', 'ovirt-websocket-proxy') stderr:
initctl: Unknown job: ovirt-websocket-proxy

2014-01-22 17:49:44 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:366 execute: ('/sbin/chkconfig', 'ovirt-websocket-proxy', 'on'), executable='None', cwd='None', env=None
2014-01-22 17:49:44 DEBUG otopi.plugins.otopi.services.rhel plugin.executeRaw:383 execute-result: ('/sbin/chkconfig', 'ovirt-websocket-proxy', 'on'), rc=0
2014-01-22 17:49:44 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:441 execute-output: ('/sbin/chkconfig', 'ovirt-websocket-proxy', 'on') stdout:


2014-01-22 17:49:44 DEBUG otopi.plugins.otopi.services.rhel plugin.execute:446 execute-output: ('/sbin/chkconfig', 'ovirt-websocket-proxy', 'on') stderr:


2014-01-22 17:49:44 DEBUG otopi.context context._executeMethod:138 Stage closeup METHOD otopi.plugins.otopi.system.reboot.Plugin._closeup
2014-01-22 17:49:44 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:49:44 DEBUG otopi.context context._executeMethod:138 Stage closeup METHOD otopi.plugins.ovirt_engine_common.base.core.answerfile.Plugin._closeup
2014-01-22 17:49:44 INFO otopi.plugins.ovirt_engine_common.base.core.answerfile answerfile._closeup:75 Generating answer file '/var/lib/ovirt-engine/setup/answers/20140122174944-setup.conf'
2014-01-22 17:49:44 DEBUG otopi.context context._executeMethod:138 Stage closeup METHOD otopi.plugins.ovirt_engine_common.base.distro-rpm.log_setup_event.Plugin._log_setup_event_closeup
2014-01-22 17:49:44 DEBUG otopi.plugins.ovirt_engine_common.base.distro-rpm.log_setup_event plugin.executeRaw:366 execute: ('/usr/share/ovirt-engine/bin/ovirt-engine-log-setup-event.sh', '--notes=End of setup'), executable='None', cwd='None', env=None
2014-01-22 17:49:47 DEBUG otopi.plugins.ovirt_engine_common.base.distro-rpm.log_setup_event plugin.executeRaw:383 execute-result: ('/usr/share/ovirt-engine/bin/ovirt-engine-log-setup-event.sh', '--notes=End of setup'), rc=0
2014-01-22 17:49:47 DEBUG otopi.plugins.ovirt_engine_common.base.distro-rpm.log_setup_event plugin.execute:441 execute-output: ('/usr/share/ovirt-engine/bin/ovirt-engine-log-setup-event.sh', '--notes=End of setup') stdout:


2014-01-22 17:49:47 DEBUG otopi.plugins.ovirt_engine_common.base.distro-rpm.log_setup_event plugin.execute:446 execute-output: ('/usr/share/ovirt-engine/bin/ovirt-engine-log-setup-event.sh', '--notes=End of setup') stderr:


2014-01-22 17:49:47 INFO otopi.context context.runSequence:395 Stage: Clean up
2014-01-22 17:49:47 DEBUG otopi.context context.runSequence:399 STAGE cleanup
2014-01-22 17:49:47 DEBUG otopi.context context._executeMethod:138 Stage cleanup METHOD otopi.plugins.ovirt_engine_common.base.core.misc.Plugin._cleanup
2014-01-22 17:49:47 DEBUG otopi.plugins.otopi.dialog.human dialog.__logString:215 DIALOG:SEND                 Log file is located at /var/log/ovirt-engine/setup/ovirt-engine-setup-20140122174611.log
2014-01-22 17:49:47 DEBUG otopi.context context._executeMethod:138 Stage cleanup METHOD otopi.plugins.ovirt_engine_common.base.system.hostile_services.Plugin._closeup
2014-01-22 17:49:47 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:49:47 DEBUG otopi.context context._executeMethod:138 Stage cleanup METHOD otopi.plugins.ovirt_engine_common.base.core.uninstall.Plugin._cleanup
2014-01-22 17:49:47 INFO otopi.context context.runSequence:395 Stage: Pre-termination
2014-01-22 17:49:47 DEBUG otopi.context context.runSequence:399 STAGE pre-terminate
2014-01-22 17:49:47 DEBUG otopi.context context._executeMethod:138 Stage pre-terminate METHOD otopi.plugins.otopi.core.misc.Plugin._preTerminate
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:456 ENVIRONMENT DUMP - BEGIN
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV BASE/aborted=bool:'False'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV BASE/debug=int:'0'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV BASE/error=bool:'False'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV BASE/exceptionInfo=list:'[]'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV BASE/executionDirectory=str:'/etc/yum.repos.d'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV BASE/log=bool:'True'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV BASE/pluginGroups=str:'otopi:ovirt-engine-common:ovirt-engine-setup'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV BASE/pluginPath=str:'/usr/share/otopi/plugins:/usr/share/ovirt-engine/setup/bin/../plugins'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV BASE/suppressEnvironmentKeys=list:'['OVESETUP_DB/password', 'OVESETUP_CONFIG/adminPassword']'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/chkconfig=str:'/sbin/chkconfig'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/chronyc=NoneType:'None'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/date=str:'/bin/date'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/dig=str:'/usr/bin/dig'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/exportfs=str:'/usr/sbin/exportfs'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/firewall-cmd=NoneType:'None'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/hwclock=str:'/sbin/hwclock'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/initctl=str:'/sbin/initctl'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/ip=str:'/sbin/ip'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/ntpq=str:'/usr/sbin/ntpq'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/pg_dump=str:'/usr/bin/pg_dump'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/psql=str:'/usr/bin/psql'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/rc=NoneType:'None'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/rc-update=NoneType:'None'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/reboot=str:'/sbin/reboot'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/restorecon=str:'/sbin/restorecon'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/rpm=str:'/bin/rpm'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/selinuxenabled=str:'/usr/sbin/selinuxenabled'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/semanage=str:'/usr/sbin/semanage'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/service=str:'/sbin/service'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/ssh-keygen=str:'/usr/bin/ssh-keygen'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/sshd=str:'/usr/sbin/sshd'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/sysctl=str:'/sbin/sysctl'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV COMMAND/systemctl=NoneType:'None'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/configFileAppend=NoneType:'None'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/configFileName=str:'/etc/ovirt-engine-setup.conf'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/internalPackageTransaction=Transaction:'transaction'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/logDir=str:'/var/log/ovirt-engine/setup'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/logFileHandle=file:'<open file '/var/log/ovirt-engine/setup/ovirt-engine-setup-20140122174611.log', mode 'a' at 0x2a690c0>'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/logFileName=str:'/var/log/ovirt-engine/setup/ovirt-engine-setup-20140122174611.log'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/logFileNamePrefix=str:'ovirt-engine-setup'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/logFilter=_MyLoggerFilter:'filter'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/logFilterKeys=list:'[]'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/logRemoveAtExit=bool:'False'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/mainTransaction=Transaction:'transaction'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/modifiedFiles=list:'['/etc/ovirt-engine-setup.conf.d/20-setup-ovirt-post.conf', '/etc/ovirt-engine/iptables.example', '/etc/sysconfig/iptables']'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV CORE/randomizeEvents=bool:'False'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV DIALOG/boundary=str:'--=451b80dc-996f-432e-9e4f-2b29ef6d1141=--'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV DIALOG/cliVersion=int:'1'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV DIALOG/customization=bool:'False'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV DIALOG/dialect=str:'human'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV INFO/PACKAGE_NAME=str:'otopi'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV INFO/PACKAGE_VERSION=str:'1.2.0_beta'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV NETWORK/firewalldAvailable=bool:'False'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV NETWORK/firewalldDisableServices=list:'[]'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV NETWORK/firewalldEnable=bool:'False'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV NETWORK/iptablesEnable=bool:'True'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV NETWORK/iptablesRules=str:'# Generated by ovirt-engine installer
#filtering rules
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type any -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 5432 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 6100 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 111 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 111 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 662 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 662 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 875 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 875 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 892 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 892 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 2049 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 32769 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 32803 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

#drop all rule
-A INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV NETWORK/sshEnable=bool:'False'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV NETWORK/sshKey=NoneType:'None'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV NETWORK/sshUser=str:''
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV NETWORK_FIREWALLD_SERVICE/ovirt-http=str:'<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>ovirt-http</short>
  <description>oVirt configured http service</description>
  <port protocol="tcp" port="80"/>
</service>
'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV NETWORK_FIREWALLD_SERVICE/ovirt-https=str:'<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>ovirt-https</short>
  <description>oVirt configured https service</description>
  <port protocol="tcp" port="443"/>
</service>
'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV NETWORK_FIREWALLD_SERVICE/ovirt-nfs=str:'<?xml version="1.0" encoding="utf-8"?>
<service>
    <short>ovirt-nfs</short>
    <description>oVirt configured nfs service</description>
    <port protocol="tcp" port="111"/>
    <port protocol="udp" port="111"/>
    <port protocol="tcp" port="662"/>
    <port protocol="udp" port="662"/>
    <port protocol="tcp" port="875"/>
    <port protocol="udp" port="875"/>
    <port protocol="tcp" port="892"/>
    <port protocol="udp" port="892"/>
    <port protocol="tcp" port="2049"/>
    <port protocol="udp" port="32769"/>
    <port protocol="tcp" port="32803"/>
</service>
'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV NETWORK_FIREWALLD_SERVICE/ovirt-postgres=str:'<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>ovirt-postgres</short>
  <description>oVirt configured postgres service</description>
  <port protocol="tcp" port="5432"/>
</service>
'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV NETWORK_FIREWALLD_SERVICE/ovirt-websocket-proxy=str:'<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>ovirt-websocket-proxy</short>
  <description>oVirt configured WebSocket Proxy service</description>
  <port protocol="tcp" port="6100"/>
</service>
'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OSETUP_RPMDISTRO/enableUpgrade=bool:'True'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OSETUP_RPMDISTRO/requireRollback=NoneType:'None'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OSETUP_RPMDISTRO/versionLockApply=list:'['ovirt-engine', 'ovirt-engine-backend', 'ovirt-engine-dbscripts', 'ovirt-engine-restapi', 'ovirt-engine-tools', 'ovirt-engine-userportal', 'ovirt-engine-webadmin-portal']'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OSETUP_RPMDISTRO/versionLockFilter=list:'['ovirt-engine']'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_AIO/configure=NoneType:'None'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_AIO/continueWithoutAIO=NoneType:'None'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_AIO/enable=bool:'False'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_AIO/localCluster=str:'local_cluster'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_AIO/localDataCenter=str:'local_datacenter'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_AIO/localHost=str:'local_host'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_AIO/sshdPort=NoneType:'None'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_AIO/storageDomainDefaultDir=str:'/var/lib/images'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_AIO/storageDomainDir=NoneType:'None'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_AIO/storageDomainName=NoneType:'None'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_AIO/supported=bool:'False'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_AIO/vdsmCpu=NoneType:'None'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_APACHE/configFileOvirtEngine=str:'/etc/httpd/conf.d/z-ovirt-engine-proxy.conf'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_APACHE/configFileOvirtRoot=str:'/etc/httpd/conf.d/ovirt-engine-root-redirect.conf'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_APACHE/configFileSsl=str:'/etc/httpd/conf.d/ssl.conf'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_APACHE/configureRootRedirection=bool:'True'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_APACHE/configureRootRedirectionDefault=bool:'True'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_APACHE/configureSsl=bool:'True'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_APACHE/httpdService=str:'httpd'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_APACHE/needRestart=bool:'True'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_ASYNC/clearTasks=bool:'True'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_ASYNC/clearTasksWait=int:'20'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/adminPassword=NoneType:'***'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/applicationMode=NoneType:'None'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/firewallManager=str:'iptables'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/firewallManagers=list:'[<otopi.plugins.ovirt_engine_common.base.network.firewall_manager_firewalld._FirewalldManager object at 0x2f7b190>, <otopi.plugins.ovirt_engine_common.base.network.firewall_manager_human._HumanManager object at 0x2f7b810>, <otopi.plugins.ovirt_engine_common.base.network.firewall_manager_iptables._IpTablesManager object at 0x2f7b7d0>]'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/fqdn=str:'cauldron.arclab'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/fqdnNonLoopback=bool:'False'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/fqdnReverseValidation=bool:'False'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/httpPort=int:'80'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/httpsPort=int:'443'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/isoDomainACL=NoneType:'None'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/isoDomainDefaultMountPoint=str:'/var/lib/exports/iso'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/isoDomainExists=bool:'True'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/isoDomainMountPoint=str:'/var/lib/exports/iso'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/isoDomainName=str:'ISO_DOMAIN'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/isoDomainSdUuid=str:'69ea8415-8d33-4d9b-a29b-057970984c99'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/isoDomainStorageDir=NoneType:'None'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/javaHome=unicode:'/usr/lib/jvm/jre'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/jbossAjpPort=int:'8702'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/jbossDebugAddress=str:'127.0.0.1:8787'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/jbossDirectHttpPort=NoneType:'None'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/jbossDirectHttpsPort=NoneType:'None'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/jbossHome=str:'/usr/share/jboss-as'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/jbossHttpPort=int:'8080'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/jbossHttpsPort=int:'8443'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/macRangePool=str:'00:1a:4a:75:56:00-00:1a:4a:75:56:ff'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/publicHttpPort=int:'80'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/publicHttpsPort=int:'443'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/storageType=NoneType:'None'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/updateFirewall=bool:'True'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/validFirewallManagers=str:''
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/websocketProxyConfig=bool:'True'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CONFIG/websocketProxyPort=int:'6100'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE/action=str:'setup'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE/answerFile=NoneType:'None'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE/developerMode=bool:'False'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE/engineStop=bool:'True'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE/generatePostInstall=bool:'True'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE/generatedByVersion=str:'3.4.0_beta1'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE/offlinePackager=bool:'False'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE/originalGeneratedByVersion=str:'3.4.0_master'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE/registerUninstallGroups=RegisterGroups:'<otopi.plugins.ovirt_engine_common.base.core.uninstall.RegisterGroups object at 0x228fe50>'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE/setupAttributesModules=list:'[<module 'ovirt_engine_setup.constants' from '/usr/share/ovirt-engine/setup/ovirt_engine_setup/constants.pyc'>]'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE/uninstallUnremovableFiles=list:'['/etc/exports', '/etc/sysconfig/iptables', '/etc/httpd/conf.d/ssl.conf', '/etc/sysconfig/nfs', '/etc/yum/pluginconf.d/versionlock.list']'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE/upgradeSupportedVersions=str:'3.0,3.1,3.2,3.3,3.4'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE_MODIFIED_FILE_GROUP/ca_config=list:'[[]]'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE_MODIFIED_FILE_GROUP/exportfs=list:'[[]]'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE_MODIFIED_FILE_GROUP/nfs_config=list:'[]'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE_MODIFIED_FILE_GROUP/ssl=list:'[]'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE_MODIFIED_FILE_GROUP/versionlock=list:'[]'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE_MODIFIED_LINES_GROUP/ca_config=dict:'{}'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE_MODIFIED_LINES_GROUP/exportfs=dict:'{'/etc/exports': [{'removed': '/var/lib/exports/iso\tNone', 'added': '/var/lib/exports/iso\tNone'}]}'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE_MODIFIED_LINES_GROUP/nfs_config=dict:'{'/etc/sysconfig/nfs': []}'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE_MODIFIED_LINES_GROUP/ssl=dict:'{'/etc/httpd/conf.d/ssl.conf': []}'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_CORE_MODIFIED_LINES_GROUP/versionlock=dict:'{'/etc/yum/pluginconf.d/versionlock.list': [{'added': u'ovirt-engine-3.4.0-0.5.beta1.el6.noarch'}, {'added': u'ovirt-engine-backend-3.4.0-0.5.beta1.el6.noarch'}, {'added': u'ovirt-engine-dbscripts-3.4.0-0.5.beta1.el6.noarch'}, {'added': u'ovirt-engine-restapi-3.4.0-0.5.beta1.el6.noarch'}, {'added': u'ovirt-engine-tools-3.4.0-0.5.beta1.el6.noarch'}, {'added': u'ovirt-engine-userportal-3.4.0-0.5.beta1.el6.noarch'}, {'added': u'ovirt-engine-webadmin-portal-3.4.0-0.5.beta1.el6.noarch'}]}'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_DB/connection=connection:'<connection object at 0x2e65bb0; dsn: 'dbname=engine host=localhost port=5432 user=engine password=xxxxxxxx', closed: 0>'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_DB/database=str:'engine'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_DB/fixDbViolations=NoneType:'None'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_DB/host=str:'localhost'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_DB/newDatabase=bool:'False'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_DB/password=str:'***'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_DB/pgPassFile=str:'/tmp/tmpaCnM4v'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_DB/port=str:'5432'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_DB/secured=bool:'False'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_DB/securedHostValidation=bool:'False'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_DB/statement=Statement:'<ovirt_engine_setup.database.Statement object at 0x48503d0>'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_DB/user=str:'engine'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_DIALOG/confirmSettings=bool:'True'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_NETWORK/firewalldServices=list:'[{'directory': 'websocket-proxy', 'name': 'ovirt-websocket-proxy'}, {'directory': 'ovirt-engine', 'name': 'ovirt-http'}, {'directory': 'ovirt-engine', 'name': 'ovirt-https'}, {'directory': 'ovirt-engine', 'name': 'ovirt-nfs'}, {'directory': 'ovirt-engine', 'name': 'ovirt-postgres'}]'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_NETWORK/firewalldSubst=dict:'{'@WEBSOCKET_PROXY_PORT@': 6100, '@HTTPS_PORT@': 443, '@JBOSS_HTTP_PORT@': None, '@HTTP_PORT@': 80, '@JBOSS_HTTPS_PORT@': None}'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_PKI/country=str:'US'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_PKI/organization=NoneType:'None'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_PKI/sshPublicKey=str:'ssh-rsa [payload removed: 372 characters]'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_PKI/storePassword=str:'**FILTERED**'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_PROVISIONING/postgresConf=str:'/var/lib/pgsql/data/postgresql.conf'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_PROVISIONING/postgresMaxConn=int:'150'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_PROVISIONING/postgresPgHba=str:'/var/lib/pgsql/data/pg_hba.conf'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_PROVISIONING/postgresPgVersion=str:'/var/lib/pgsql/data/PG_VERSION'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_PROVISIONING/postgresProvisioningEnabled=NoneType:'None'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_PROVISIONING/postgresService=str:'postgresql'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_RPMDISTRO/packagesSetup=list:'['ovirt-engine-setup']'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_RPMDISTRO/packagesUpgradeList=list:'[{'packages': ('ovirt-engine',), 'group': 'ovirt-engine-3.4'}]'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/groupEngine=str:'ovirt'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/groupKvm=str:'kvm'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/hostileServices=str:'ovirt-engine-dwhd,engine-notifierd,ovirt-engine-notifier'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/memCheckEnabled=bool:'True'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/memCheckMinimumMB=int:'4096'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/memCheckRecommendedMB=int:'16384'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/memCheckThreshold=int:'90'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/nfsConfigEnabled=bool:'True'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/nfsServiceName=str:'nfs'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/selinuxContexts=list:'[]'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/selinuxRestorePaths=list:'[]'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/shmmax=int:'41943040'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/userApache=str:'apache'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/userEngine=str:'ovirt'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/userPostgres=str:'postgres'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/userRoot=str:'root'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV OVESETUP_SYSTEM/userVdsm=str:'vdsm'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV PACKAGER/keepAliveInterval=int:'30'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV PACKAGER/yumDisabledPlugins=list:'[]'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV PACKAGER/yumEnabledPlugins=list:'[]'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV PACKAGER/yumExpireCache=bool:'True'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV PACKAGER/yumRollback=bool:'True'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV PACKAGER/yumpackagerEnabled=bool:'True'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV SYSTEM/clockMaxGap=int:'5'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV SYSTEM/clockSet=bool:'False'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV SYSTEM/commandPath=str:'/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV SYSTEM/reboot=bool:'False'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV SYSTEM/rebootAllow=bool:'True'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:471 ENV SYSTEM/rebootDeferTime=int:'10'
2014-01-22 17:49:47 DEBUG otopi.context context.dumpEnvironment:473 ENVIRONMENT DUMP - END
2014-01-22 17:49:47 DEBUG otopi.context context._executeMethod:138 Stage pre-terminate METHOD otopi.plugins.otopi.dialog.cli.Plugin._pre_terminate
2014-01-22 17:49:47 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:49:47 INFO otopi.context context.runSequence:395 Stage: Termination
2014-01-22 17:49:47 DEBUG otopi.context context.runSequence:399 STAGE terminate
2014-01-22 17:49:47 DEBUG otopi.context context._executeMethod:138 Stage terminate METHOD otopi.plugins.ovirt_engine_common.base.core.misc.Plugin._terminate
2014-01-22 17:49:47 INFO otopi.plugins.ovirt_engine_common.base.core.misc misc._terminate:158 Execution of setup completed successfully
2014-01-22 17:49:47 DEBUG otopi.context context._executeMethod:138 Stage terminate METHOD otopi.plugins.otopi.dialog.human.Plugin._terminate
2014-01-22 17:49:47 DEBUG otopi.context context._executeMethod:138 Stage terminate METHOD otopi.plugins.otopi.dialog.machine.Plugin._terminate
2014-01-22 17:49:47 DEBUG otopi.context context._executeMethod:144 condition False
2014-01-22 17:49:47 DEBUG otopi.context context._executeMethod:138 Stage terminate METHOD otopi.plugins.otopi.core.log.Plugin._terminate