we are running GitLab installed in our Kubernetes Cluster, using rook-ceph Rados-Gateway as S3 Storage backend. We want to use the backup-utility delivered in the tools container from gitlab.
As backup target we configured an external minio Instance.
When using the backup-utility, this error messages occurs:
Bucket not found: gitlab-registry-bucket. Skipping backup of registry ...
Bucket not found: gitlab-uploads-bucket. Skipping backup of uploads ...
Bucket not found: gitlab-artifacts-bucket. Skipping backup of artifacts ...
Bucket not found: gitlab-lfs-bucket. Skipping backup of lfs ...
Bucket not found: gitlab-packages-bucket. Skipping backup of packages ...
Bucket not found: gitlab-mr-diffs. Skipping backup of external_diffs ...
Bucket not found: gitlab-terraform-state. Skipping backup of terraform_state ...
Bucket not found: gitlab-pages-bucket. Skipping backup of pages ...
When I'm executing s3cmd ls, I only see the two Backup Buckets on our minio Instance, not the "source" Buckets.
Can someone tell me, how to configure the backup-utility or the s3cmd so it can access both, the Rados-Gateway for the Source Buckets and the minio as Backup Target?
I have tried to insert multiple connections into the .s3cfg File like this:
[target]
host_base = file01.xxx.xxx:80
host_bucket = file01.xxx.xxx:80
use_https = false
bucket_location = us-east-1
access_key = xxx
secret_key = xxx
[source]
host_base = s3.xxx.xxx:80
host_bucket = s3.xxx.xxx:80
use_https = false
bucket_location = us-east-1
access_key = xxx
secret_key = xxx
but that did not show any buckets from the Target when using s3cmd ls.
#Löppinator : Please check GitLab Documentation link here
for values.yaml and sample configuration looks like below :
global:
.
.
.
pages: #pages bucket to be added with connection
enabled: true
host: <hostname>
artifactsServer: true
objectStore:
enabled: true
bucket: <s3-bucket-name>
# proxy_download: true
connection:
secret: <secret-for-s3-connection>
.
.
.
appConfig:
.
.
.
object_store:
enabled: true
proxy_download: true
connection:
secret: <secret-for-s3-connection>
lfs:
enabled: true
proxy_download: false
bucket: <s3-bucket-name>
connection: {}
artifacts:
enabled: true
proxy_download: true
bucket: <s3-bucket-name>
connection: {}
uploads:
enabled: true
proxy_download: true
bucket: <s3-bucket-name>
connection: {}
packages:
enabled: true
proxy_download: true
bucket: <s3-bucket-name>
connection: {}
externalDiffs:
enabled: true
proxy_download: true
bucket: <s3-bucket-name>
connection: {}
terraformState:
enabled: true
bucket: <s3-bucket-name>
connection: {}
ciSecureFiles:
enabled: true
bucket: <s3-bucket-name>
connection: {}
dependencyProxy:
enabled: true
proxy_download: true
bucket: <s3-bucket-name>
connection: {}
backups:
bucket: <s3-bucket-name>
tmpBucket: <s3-bucket-name>
registry: #registry bucket also should be added in S3 and no connection is required here
bucket: <s3-bucket-name>
You have to check indentation to consider Pages and registry buckets which will be under global config and rest of the buckets will be under appConfig if you see my code above.
I hope this helps!!!
I have a Rundeck job to update servers using a custom script that is run as local command. If the server update needs to be postponed due to running jobs on it, the custom local command will return a special return code. The Rundeck job is configured to fail the step without running on any remaining nodes if a node fails.
I want to skip a node and continue with the next node if this node return the special return code.
I tried to experiment with an error handler using code like:
/bin/sh -c 'if test "${result.resultCode}" = "125"; then exit 0; fi; exit "${result.resultCode}"'
The stripped down job configuration looks like:
- defaultTab: summary
executionEnabled: true
loglevel: INFO
multipleExecutions: true
name: Server update
nodeFilterEditable: true
nodefilters:
dispatch:
excludePrecedence: true
keepgoing: false
successOnEmptyNodeFilter: false
threadcount: ${option.parallelity}
filter: ''
nodesSelectedByDefault: true
notification:
onfailure:
email:
recipients: me#example.com
subject: 'rundeck: server update failed'
onsuccess:
email:
recipients: me#example.com
subject: 'rundeck: server update finished'
notifyAvgDurationThreshold: null
options:
- description: Maximum number of server updates in parallel.
name: parallelity
regex: ^[0-9]+$
required: true
value: '1'
scheduleEnabled: true
sequence:
commands:
- configuration:
command: /usr/bin/custom-server-update "${node.name}"
nodeStep: true
type: localexec
keepgoing: false
strategy: parallel
At the moment of creating or edit your job scroll down and set this: If a node fails -> Continue running on any remaining nodes before failing the step.
After adding rectify gem all tests fail with error:
ActiveRecord::ConnectionNotEstablished:
No connection pool for ActiveRecord::Base
We are using:
Gems:
Rails 4.2.8
Mongoid 5
Rectify 0.9.1
Rspec 3.4.4
Another:
Os: Ubuntu 16.04LTE
MongoDB: 3.4.3
Database run by docker-compose.
docker-compose version 1.12.0
Into the development mode everything works fine.
mongoid.yml
development:
clients:
default:
database: development
hosts:
- localhost:27017
options:
heartbeat_frequency: 10
local_threshold: 0.015
server_selection_timeout: 30
max_pool_size: 5
min_pool_size: 1
wait_queue_timeout: 1
connect_timeout: 10
socket_timeout: 5
ssl: false
ssl_cert: /path/to/my.cert
ssl_key: /path/to/my.key
ssl_key_pass_phrase: password
ssl_verify: true
ssl_ca_cert: /path/to/ca.cert
options:
include_root_in_json: false
include_type_for_serialization: false
preload_models: false
raise_not_found_error: false
scope_overwrite_exception: false
use_activesupport_time_zone: true
use_utc: false
log_level: debug
test:
clients:
default:
database: test
hosts:
- localhost:27017
options:
heartbeat_frequency: 10
local_threshold: 0.015
server_selection_timeout: 30
max_pool_size: 1
min_pool_size: 1
wait_queue_timeout: 4
connect_timeout: 10
socket_timeout: 5
ssl: false
ssl_cert: /path/to/my.cert
ssl_key: /path/to/my.key
ssl_key_pass_phrase: password
ssl_verify: true
ssl_ca_cert: /path/to/ca.cert
options:
include_root_in_json: false
include_type_for_serialization: false
preload_models: false
raise_not_found_error: false
scope_overwrite_exception: false
use_activesupport_time_zone: true
use_utc: false
log_level: debug
Stacktrace
ActiveRecord::ConnectionNotEstablished:
No connection pool for ActiveRecord::Base
# /home/user_home_directory/.rvm/gems/ruby-2.3.3#testing/gems/activerecord-4.2.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:570:in `retrieve_connection'
# /home/user_home_directory/.rvm/gems/ruby-2.3.3#testing/gems/activerecord-4.2.8/lib/active_record/connection_handling.rb:113:in `retrieve_connection'
# /home/user_home_directory/.rvm/gems/ruby-2.3.3#testing/gems/activerecord-4.2.8/lib/active_record/connection_handling.rb:87:in `connection'
# /home/user_home_directory/.rvm/gems/ruby-2.3.3#testing/gems/activerecord-4.2.8/lib/active_record/fixtures.rb:501:in `create_fixtures'
# /home/user_home_directory/.rvm/gems/ruby-2.3.3#testing/gems/activerecord-4.2.8/lib/active_record/fixtures.rb:979:in `load_fixtures'
# /home/user_home_directory/.rvm/gems/ruby-2.3.3#testing/gems/activerecord-4.2.8/lib/active_record/fixtures.rb:952:in `setup_fixtures'
# /home/user_home_directory/.rvm/gems/ruby-2.3.3#testing/gems/activerecord-4.2.8/lib/active_record/fixtures.rb:826:in `before_setup'
Looks like there is some simple mistake into the test database configuration but i can not figure what exactly.
Any help will be appreciated. Thank you!
Rectify version 0.9.1 does not support Mongoid.
Link to appropriate issue.
I want to run a role, but before i want to check if the program is already installed.
I guessed I should use the module "service" ? In Ubuntu the service is pointed with [ ? ] arkeia
I tried:
tasks:
- name: check arkeia
service: name=arkeia state=started
register: result
roles:
- { role: arkeia, when: result==true }
Otherwise if it is not possible to check if a program is already installed, i would check if the program folder is present and next start the role.
EDIT:
Thanks for your fast answer!
I think my flaw is the "when:" command.
But how can I check if the result is false?
I am getting following error:
> PLAY [all] ********************************************************************
GATHERING FACTS ***************************************************************
ok: [managed-centos]
ok: [managed-ubuntu]
ok: [ansible]
TASK: [arkeia | check arkeia] *************************************************
ok: [ansible]
ok: [managed-ubuntu]
ok: [managed-centos]
TASK: [arkeia | create directory] *********************************************
skipping: [managed-centos]
skipping: [managed-ubuntu]
changed: [ansible]
TASK: [arkeia | download sources debian] **************************************
skipping: [managed-centos]
skipping: [managed-ubuntu]
changed: [ansible]
TASK: [arkeia | download sources cent_os] *************************************
skipping: [ansible]
skipping: [managed-ubuntu]
fatal: [managed-centos] => error while evaluating conditional: ansible_os_family == "RedHat" and p.stat.exist == false
TASK: [arkeia | install Arkeia debian] ****************************************
fatal: [ansible] => error while evaluating conditional: ansible_os_family == "Debian" and p.stat.exist == false
fatal: [managed-ubuntu] => error while evaluating conditional: ansible_os_family == "Debian" and p.stat.exist == false
FATAL: all hosts have already failed -- aborting
PLAY RECAP ********************************************************************
to retry, use: --limit #/home/vagrant/arkeia.retry
ansible : ok=4 changed=2 unreachable=1 failed=0
managed-centos : ok=2 changed=0 unreachable=1 failed=0
managed-ubuntu : ok=2 changed=0 unreachable=1 failed=0
This is my Playbook:
- name: check arkeia
stat: path=/etc/init.d/arkeia
register: p
- name: create directory
file: state=directory path={{ install_directory }}
when: p.stat.exists == False
- name: download sources debian
get_url: url={{ arkeia_deb_url }} dest={{ install_directory }}/{{ deb_filename }}
when: ansible_os_family == "Debian" and p.stat.exists == false
- name: download sources cent_os
get_url: url={{ arkeia_centos_url }} dest={{ install_directory }}/{{ centos_filename }}
when: ansible_os_family == "RedHat" and p.stat.exist == false
- name: install Arkeia debian
sudo: yes
apt: deb={{ install_directory }}/{{ deb_filename }}
when: ansible_os_family == "Debian" and p.stat.exist == false
- name: install Arkeia centos
sudo: yes
yum: name={{ install_directory }}/{{ centos_filename }}
when: ansible_os_family == "RedHat" and p.stat.exist == false
Debug result:
TASK: [arkeia | debug msg="{{ p }}"] ******************************************
ok: [ansible] => {
"msg": "{'invocation': {'module_name': u'stat', 'module_args': u'path=/etc/init.d/arkeia'}, 'stat': {'exists': False}, 'changed': False}"
}
ok: [managed-ubuntu] => {
"msg": "{'invocation': {'module_name': u'stat', 'module_args': u'path=/etc/init.d/arkeia'}, 'stat': {'exists': False}, 'changed': False}"
}
ok: [managed-centos] => {
"msg": "{'invocation': {'module_name': u'stat', 'module_args': u'path=/etc/init.d/arkeia'}, 'stat': {'uid': 0, 'exists': True, 'woth': False, 'mtime': 1421377097.0, 'inode': 67318822, 'isgid': False, 'size': 1224, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'root', 'gid': 0, 'ischr': False, 'wusr': True, 'xoth': True, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'root', 'path': '/etc/init.d/arkeia', 'xusr': True, 'atime': 1427813706.6750975, 'md5': '52de32627765e8f6e9ff8c5eee7ba232', 'isdir': False, 'ctime': 1427453340.1586156, 'isblk': False, 'xgrp': True, 'dev': 64769, 'roth': True, 'isfifo': False, 'mode': '0755', 'checksum': 'ddd459110d743402d9e18cfe4b3e032faaf54ba1', 'islnk': False}, 'changed': False}"
}
service module doesn't allow you to get current status. If the service doesn't exist module execution would fail.
You can either run shell: service arkeia status or shell: ps -eaf | grep -w arkeia or check for file's existance with stat
Other thing you are doing wrong is using the registered variable incorrectly. It's value is a dict (or map) with keys like rc, stdout, stdout_lines, stderr, .... So e.g. to use stat module you would do this:
- stat: path=/etc/init.d/arkeia
register: p
- debug: msg="/etc/init.d/arkeia exists and is a file"
when: p.stat.isreg is defined and p.stat.isreg
If you don't know the contents of result then debug and print it so you know what you're accessing:
- name: check arkeia
service: name=arkeia state=started
register: result
- debug: msg="result={{ result }}"
The solution ... so simply :)
- name: create directory
file: state=directory path={{ install_directory }}
when: p.stat.exists == False
- name: download sources debian
get_url: url={{ arkeia_deb_url }} dest={{ install_directory }}/{{ deb_filename }}
when: ansible_os_family == "Debian" and p.stat.**exists** == **f**alse
- name: download sources cent_os
get_url: url={{ arkeia_centos_url }} dest={{ install_directory }}/{{ centos_filename }}
when: ansible_os_family == "RedHat" and p.stat.**exist** == **f**alse
Write exists and false with a upper "F" and it works...
I'm trying to build a bundle which with postgresql as prerequisite.
I'm trying to detect postgresql by searching into registry as follows:
<Fragment>
<util:RegistrySearch Id ="PostgresqlPath_x64"
Root="HKLM"
Key="SOFTWARE\PostgreSQL\Installations\postgresql-x64-9.1"
Result="exists"
Variable="PostgresqlInstalled_x64"
Win64="yes" />
<util:RegistrySearch Id="Postgresql_x86"
Root="HKLM"
Key="SOFTWARE\PostgreSQL\Installations\postgresql-9.1"
Result="exists"
Variable="PostgresqlInstalled_x86"
Win64="no"/>
and then use it in ExePackage:
<ExePackage SourceFile="..\..\bin\external_software\postgreSQL\postgresql-9.1.6-1-windows-x64.exe"
InstallCommand="$(var.PostgresqlInstallCommand)"
InstallCondition="VersionNT64"
DetectCondition="PostgresqlInstalled_x64"
PerMachine="yes"
Compressed="yes"/>
<ExePackage SourceFile="..\..\bin\external_software\postgreSQL\postgresql-9.1.6-1-windows.exe"
InstallCommand="$(var.PostgresqlInstallCommand)"
InstallCondition="(NOT VersionNT64)"
DetectCondition="PostgresqlInstalled_x86"
PerMachine="yes" Compressed="yes" />
It evaluates to false even when the Postgresql is installed, no matter on what Win Version (x86 or x64) I'm testing.
Am I doing anything wrong here or? :/
Here the compete log file of install:
[072C:0664][2013-10-08T15:32:15]i001: Burn v3.7.1224.0, Windows v6.1 (Build 7601: Service Pack 1), path: C:\Users\A521064\Desktop\sLIM_Bootstrapper.exe, cmdline: ''
[072C:0664][2013-10-08T15:32:15]i000: Initializing string variable 'PostgresqlUninstall' to value 'PostgreSQL\9.1\uninstall-postgresql.exe'
[072C:0664][2013-10-08T15:32:15]i000: Setting string variable 'WixBundleLog' to value 'C:\Users\A521064\AppData\Local\Temp\sLIM_Controller_(Bundle)_20131008153215.log'
[072C:0664][2013-10-08T15:32:15]i000: Setting string variable 'WixBundleOriginalSource' to value 'C:\Users\A521064\Desktop\sLIM_Bootstrapper.exe'
[072C:0664][2013-10-08T15:32:15]i052: Condition 'VersionNT >= v5.1' evaluates to true.
[072C:0664][2013-10-08T15:32:15]i000: Setting string variable 'WixBundleName' to value 'sLIM Controller (Bundle)'
[072C:0664][2013-10-08T15:32:16]i100: Detect begin, 3 packages
[072C:0664][2013-10-08T15:32:16]i052: Condition 'PostgresqlInstalled_x64' evaluates to false.
[072C:0664][2013-10-08T15:32:16]i052: Condition 'PostgresqlInstalled_x86 OR PostgresqlInstalled_x86_2' evaluates to false.
[072C:0664][2013-10-08T15:32:16]i101: Detected package: postgresql_9.1.6_1_windows_x64.exe, state: Absent, cached: None
[072C:0664][2013-10-08T15:32:16]i101: Detected package: postgresql_9.1.6_1_windows.exe, state: Absent, cached: None
[072C:0664][2013-10-08T15:32:16]i101: Detected package: sLIMInstall.msi, state: Absent, cached: None
[072C:0664][2013-10-08T15:32:16]i199: Detect complete, result: 0x0
[072C:0664][2013-10-08T15:32:17]i200: Plan begin, 3 packages, action: Install
[072C:0664][2013-10-08T15:32:17]i052: Condition 'VersionNT64' evaluates to true.
[072C:0664][2013-10-08T15:32:17]w321: Skipping dependency registration on package with no dependency providers: postgresql_9.1.6_1_windows_x64.exe
[072C:0664][2013-10-08T15:32:17]i000: Setting string variable 'WixBundleLog_postgresql_9.1.6_1_windows_x64.exe' to value 'C:\Users\A521064\AppData\Local\Temp\sLIM_Controller_(Bundle)_20131008153215_0_postgresql_9.1.6_1_windows_x64.exe.log'
[072C:0664][2013-10-08T15:32:17]i000: Setting string variable 'WixBundleRollbackLog_postgresql_9.1.6_1_windows_x64.exe' to value 'C:\Users\A521064\AppData\Local\Temp\sLIM_Controller_(Bundle)_20131008153215_0_postgresql_9.1.6_1_windows_x64.exe_rollback.log'
[072C:0664][2013-10-08T15:32:17]i052: Condition '(NOT VersionNT64)' evaluates to false.
[072C:0664][2013-10-08T15:32:17]w321: Skipping dependency registration on package with no dependency providers: postgresql_9.1.6_1_windows.exe
[072C:0664][2013-10-08T15:32:17]i052: Condition 'VersionNT64 >= v5.1' evaluates to true.
[072C:0664][2013-10-08T15:32:17]i000: Setting string variable 'WixBundleRollbackLog_sLIMInstall.msi' to value 'C:\Users\A521064\AppData\Local\Temp\sLIM_Controller_(Bundle)_20131008153215_1_sLIMInstall.msi_rollback.log'
[072C:0664][2013-10-08T15:32:17]i000: Setting string variable 'WixBundleLog_sLIMInstall.msi' to value 'C:\Users\A521064\AppData\Local\Temp\sLIM_Controller_(Bundle)_20131008153215_1_sLIMInstall.msi.log'
[072C:0664][2013-10-08T15:32:17]i201: Planned package: postgresql_9.1.6_1_windows_x64.exe, state: Absent, default requested: Present, ba requested: Present, execute: Install, rollback: Uninstall, cache: Yes, uncache: No, dependency: None
[072C:0664][2013-10-08T15:32:17]i201: Planned package: postgresql_9.1.6_1_windows.exe, state: Absent, default requested: Absent, ba requested: Absent, execute: None, rollback: None, cache: No, uncache: No, dependency: None
[072C:0664][2013-10-08T15:32:17]i201: Planned package: sLIMInstall.msi, state: Absent, default requested: Present, ba requested: Present, execute: Install, rollback: Uninstall, cache: Yes, uncache: No, dependency: Register
[072C:0664][2013-10-08T15:32:17]i299: Plan complete, result: 0x0
[072C:0664][2013-10-08T15:32:17]i300: Apply begin
[0B08:0AB8][2013-10-08T15:32:20]i360: Creating a system restore point.
[0B08:0AB8][2013-10-08T15:32:33]i361: Created a system restore point.
[0B08:0AB8][2013-10-08T15:32:33]i000: Caching bundle from: 'C:\Users\A521064\AppData\Local\Temp\{cef60084-9565-4990-b3d6-2704a4475eab}\.be\sLIM_Bootstrapper.exe' to: 'C:\ProgramData\Package Cache\{cef60084-9565-4990-b3d6-2704a4475eab}\sLIM_Bootstrapper.exe'
[0B08:0AB8][2013-10-08T15:32:33]i320: Registering bundle dependency provider: {cef60084-9565-4990-b3d6-2704a4475eab}, version: 0.9.18.0
[0B08:0960][2013-10-08T15:32:39]i305: Verified acquired payload: postgresql_9.1.6_1_windows_x64.exe at path: C:\ProgramData\Package Cache\.unverified\postgresql_9.1.6_1_windows_x64.exe, moving to: C:\ProgramData\Package Cache\E8DC6F6A96D4A4821F149FA9CA67B35C506645C1\postgresql-9.1.6-1-windows-x64.exe.
[0B08:0960][2013-10-08T15:32:39]i305: Verified acquired payload: sLIMInstall.msi at path: C:\ProgramData\Package Cache\.unverified\sLIMInstall.msi, moving to: C:\ProgramData\Package Cache\{4E9DAE71-AC58-4A0C-A63F-2AC752C983EF}v0.9.19\sLIMInstall.msi.
[0B08:0AB8][2013-10-08T15:32:40]i301: Applying execute package: postgresql_9.1.6_1_windows_x64.exe, action: Install, path: C:\ProgramData\Package Cache\E8DC6F6A96D4A4821F149FA9CA67B35C506645C1\postgresql-9.1.6-1-windows-x64.exe, arguments: '"C:\ProgramData\Package Cache\E8DC6F6A96D4A4821F149FA9CA67B35C506645C1\postgresql-9.1.6-1-windows-x64.exe" --mode unattended --superpassword postgres --servicepassword postgres --debuglevel 4 --unattendedmodeui none --install_runtimes 0'
[072C:0664][2013-10-08T15:34:01]i319: Applied execute package: postgresql_9.1.6_1_windows_x64.exe, result: 0x0, restart: None
[0B08:0AB8][2013-10-08T15:34:01]i323: Registering package dependency provider: {4E9DAE71-AC58-4A0C-A63F-2AC752C983EF}, version: 0.9.19, package: sLIMInstall.msi
[0B08:0AB8][2013-10-08T15:34:01]i301: Applying execute package: sLIMInstall.msi, action: Install, path: C:\ProgramData\Package Cache\{4E9DAE71-AC58-4A0C-A63F-2AC752C983EF}v0.9.19\sLIMInstall.msi, arguments: ' ARPSYSTEMCOMPONENT="1" MSIFASTINSTALL="7"'
[072C:0664][2013-10-08T15:34:42]i319: Applied execute package: sLIMInstall.msi, result: 0x0, restart: None
[0B08:0AB8][2013-10-08T15:34:42]i325: Registering dependency: {cef60084-9565-4990-b3d6-2704a4475eab} on package provider: {4E9DAE71-AC58-4A0C-A63F-2AC752C983EF}, package: sLIMInstall.msi
[072C:0664][2013-10-08T15:34:42]i399: Apply complete, result: 0x0, restart: None, ba requested restart: No
[072C:0664][2013-10-08T15:34:45]i500: Shutting down, exit code: 0x0
[072C:0664][2013-10-08T15:34:45]i410: Variable: PostgresqlUninstall = PostgreSQL\9.1\uninstall-postgresql.exe
[072C:0664][2013-10-08T15:34:45]i410: Variable: VersionNT = 6.1.0.0
[072C:0664][2013-10-08T15:34:45]i410: Variable: VersionNT64 = 6.1.0.0
[072C:0664][2013-10-08T15:34:45]i410: Variable: WixBundleAction = 4
[072C:0664][2013-10-08T15:34:45]i410: Variable: WixBundleElevated = 1
[072C:0664][2013-10-08T15:34:45]i410: Variable: WixBundleInstalled = 0
[072C:0664][2013-10-08T15:34:45]i410: Variable: WixBundleLog = C:\Users\A521064\AppData\Local\Temp\sLIM_Controller_(Bundle)_20131008153215.log
[072C:0664][2013-10-08T15:34:45]i410: Variable: WixBundleLog_postgresql_9.1.6_1_windows_x64.exe = C:\Users\A521064\AppData\Local\Temp\sLIM_Controller_(Bundle)_20131008153215_0_postgresql_9.1.6_1_windows_x64.exe.log
[072C:0664][2013-10-08T15:34:45]i410: Variable: WixBundleLog_sLIMInstall.msi = C:\Users\A521064\AppData\Local\Temp\sLIM_Controller_(Bundle)_20131008153215_1_sLIMInstall.msi.log
[072C:0664][2013-10-08T15:34:45]i410: Variable: WixBundleManufacturer = Atos IT Solutions and Services
[072C:0664][2013-10-08T15:34:45]i410: Variable: WixBundleName = sLIM Controller (Bundle)
[072C:0664][2013-10-08T15:34:45]i410: Variable: WixBundleOriginalSource = C:\Users\A521064\Desktop\sLIM_Bootstrapper.exe
[072C:0664][2013-10-08T15:34:45]i410: Variable: WixBundleProviderKey = {cef60084-9565-4990-b3d6-2704a4475eab}
[072C:0664][2013-10-08T15:34:45]i410: Variable: WixBundleRollbackLog_postgresql_9.1.6_1_windows_x64.exe = C:\Users\A521064\AppData\Local\Temp\sLIM_Controller_(Bundle)_20131008153215_0_postgresql_9.1.6_1_windows_x64.exe_rollback.log
[072C:0664][2013-10-08T15:34:45]i410: Variable: WixBundleRollbackLog_sLIMInstall.msi = C:\Users\A521064\AppData\Local\Temp\sLIM_Controller_(Bundle)_20131008153215_1_sLIMInstall.msi_rollback.log
[072C:0664][2013-10-08T15:34:45]i410: Variable: WixBundleTag =
[072C:0664][2013-10-08T15:34:45]i410: Variable: WixBundleVersion = 0.9.18.0
[072C:0664][2013-10-08T15:34:45]i007: Exit code: 0x0, restarting: No
And on Uninstall again it doesn't find the reg key:
[0AC0:05E0][2013-10-08T15:47:54]i001: Burn v3.7.1224.0, Windows v6.1 (Build 7601: Service Pack 1), path: C:\Users\A521064\Desktop\sLIM_Bootstrapper.exe, cmdline: ''
[0AC0:05E0][2013-10-08T15:47:54]i000: Initializing string variable 'PostgresqlUninstall' to value 'PostgreSQL\9.1\uninstall-postgresql.exe'
[0AC0:05E0][2013-10-08T15:47:54]i000: Setting string variable 'WixBundleLog' to value 'C:\Users\A521064\AppData\Local\Temp\sLIM_Controller_(Bundle)_20131008154754.log'
[0AC0:05E0][2013-10-08T15:47:54]i000: Setting string variable 'WixBundleOriginalSource' to value 'C:\Users\A521064\Desktop\sLIM_Bootstrapper.exe'
[0AC0:05E0][2013-10-08T15:47:54]i052: Condition 'VersionNT >= v5.1' evaluates to true.
[0AC0:05E0][2013-10-08T15:47:54]i100: Detect begin, 3 packages
[0AC0:05E0][2013-10-08T15:47:54]i052: Condition 'PostgresqlInstalled_x64' evaluates to false.
[0AC0:05E0][2013-10-08T15:47:54]i052: Condition 'PostgresqlInstalled_x86 OR PostgresqlInstalled_x86_2' evaluates to false.
[0AC0:05E0][2013-10-08T15:47:54]i101: Detected package: postgresql_9.1.6_1_windows_x64.exe, state: Absent, cached: Complete
[0AC0:05E0][2013-10-08T15:47:54]i101: Detected package: postgresql_9.1.6_1_windows.exe, state: Absent, cached: None
[0AC0:05E0][2013-10-08T15:47:54]i101: Detected package: sLIMInstall.msi, state: Present, cached: Complete
[0AC0:05E0][2013-10-08T15:47:54]i199: Detect complete, result: 0x0
[0AC0:05E0][2013-10-08T15:48:07]i200: Plan begin, 3 packages, action: Uninstall
[0AC0:05E0][2013-10-08T15:48:07]i000: Setting string variable 'WixBundleRollbackLog_sLIMInstall.msi' to value 'C:\Users\A521064\AppData\Local\Temp\sLIM_Controller_(Bundle)_20131008154754_0_sLIMInstall.msi_rollback.log'
[0AC0:05E0][2013-10-08T15:48:07]i000: Setting string variable 'WixBundleLog_sLIMInstall.msi' to value 'C:\Users\A521064\AppData\Local\Temp\sLIM_Controller_(Bundle)_20131008154754_0_sLIMInstall.msi.log'
[0AC0:05E0][2013-10-08T15:48:07]w321: Skipping dependency registration on package with no dependency providers: postgresql_9.1.6_1_windows.exe
[0AC0:05E0][2013-10-08T15:48:07]w321: Skipping dependency registration on package with no dependency providers: postgresql_9.1.6_1_windows_x64.exe
[0AC0:05E0][2013-10-08T15:48:07]i201: Planned package: sLIMInstall.msi, state: Present, default requested: Absent, ba requested: Absent, execute: Uninstall, rollback: Install, cache: No, uncache: Yes, dependency: Unregister
[0AC0:05E0][2013-10-08T15:48:07]i201: Planned package: postgresql_9.1.6_1_windows.exe, state: Absent, default requested: Absent, ba requested: Absent, execute: None, rollback: None, cache: No, uncache: No, dependency: None
[0AC0:05E0][2013-10-08T15:48:07]i201: Planned package: postgresql_9.1.6_1_windows_x64.exe, state: Absent, default requested: Absent, ba requested: Absent, execute: None, rollback: None, cache: No, uncache: Yes, dependency: None
[0AC0:05E0][2013-10-08T15:48:07]i299: Plan complete, result: 0x0
[0AC0:05E0][2013-10-08T15:48:07]i300: Apply begin
[0600:0B3C][2013-10-08T15:48:09]i360: Creating a system restore point.
[0600:0B3C][2013-10-08T15:48:19]i361: Created a system restore point.
[0600:0B3C][2013-10-08T15:48:19]i326: Removed dependency: {cef60084-9565-4990-b3d6-2704a4475eab} on package provider: {4E9DAE71-AC58-4A0C-A63F-2AC752C983EF}, package sLIMInstall.msi
[0600:0B3C][2013-10-08T15:48:19]i329: Removed package dependency provider: {4E9DAE71-AC58-4A0C-A63F-2AC752C983EF}, package: sLIMInstall.msi
[0600:0B3C][2013-10-08T15:48:19]i301: Applying execute package: sLIMInstall.msi, action: Uninstall, path: C:\ProgramData\Package Cache\{4E9DAE71-AC58-4A0C-A63F-2AC752C983EF}v0.9.19\sLIMInstall.msi, arguments: ' ARPSYSTEMCOMPONENT="1" MSIFASTINSTALL="7"'
[0AC0:05E0][2013-10-08T15:48:22]i319: Applied execute package: sLIMInstall.msi, result: 0x0, restart: None
[0600:0B3C][2013-10-08T15:48:22]i351: Removing cached package: sLIMInstall.msi, from path: C:\ProgramData\Package Cache\{4E9DAE71-AC58-4A0C-A63F-2AC752C983EF}v0.9.19\
[0600:0B3C][2013-10-08T15:48:22]i351: Removing cached package: postgresql_9.1.6_1_windows_x64.exe, from path: C:\ProgramData\Package Cache\E8DC6F6A96D4A4821F149FA9CA67B35C506645C1\
[0600:0B3C][2013-10-08T15:48:22]i330: Removed bundle dependency provider: {cef60084-9565-4990-b3d6-2704a4475eab}
[0600:0B3C][2013-10-08T15:48:22]i352: Removing cached bundle: {cef60084-9565-4990-b3d6-2704a4475eab}, from path: C:\ProgramData\Package Cache\{cef60084-9565-4990-b3d6-2704a4475eab}\
[0AC0:05E0][2013-10-08T15:48:23]i399: Apply complete, result: 0x0, restart: None, ba requested restart: No
[0AC0:05E0][2013-10-08T15:48:43]i500: Shutting down, exit code: 0x0
[0AC0:05E0][2013-10-08T15:48:43]i410: Variable: PostgresqlUninstall = PostgreSQL\9.1\uninstall-postgresql.exe
[0AC0:05E0][2013-10-08T15:48:43]i410: Variable: VersionNT = 6.1.0.0
[0AC0:05E0][2013-10-08T15:48:43]i410: Variable: WixBundleAction = 3
[0AC0:05E0][2013-10-08T15:48:43]i410: Variable: WixBundleElevated = 1
[0AC0:05E0][2013-10-08T15:48:43]i410: Variable: WixBundleInstalled = 1
[0AC0:05E0][2013-10-08T15:48:43]i410: Variable: WixBundleLog = C:\Users\A521064\AppData\Local\Temp\sLIM_Controller_(Bundle)_20131008154754.log
[0AC0:05E0][2013-10-08T15:48:43]i410: Variable: WixBundleLog_sLIMInstall.msi = C:\Users\A521064\AppData\Local\Temp\sLIM_Controller_(Bundle)_20131008154754_0_sLIMInstall.msi.log
[0AC0:05E0][2013-10-08T15:48:43]i410: Variable: WixBundleManufacturer = Atos IT Solutions and Services
[0AC0:05E0][2013-10-08T15:48:43]i410: Variable: WixBundleName = sLIM Controller (Bundle)
[0AC0:05E0][2013-10-08T15:48:43]i410: Variable: WixBundleOriginalSource = C:\Users\A521064\Desktop\sLIM_Bootstrapper.exe
[0AC0:05E0][2013-10-08T15:48:43]i410: Variable: WixBundleProviderKey = {cef60084-9565-4990-b3d6-2704a4475eab}
[0AC0:05E0][2013-10-08T15:48:43]i410: Variable: WixBundleRollbackLog_sLIMInstall.msi = C:\Users\A521064\AppData\Local\Temp\sLIM_Controller_(Bundle)_20131008154754_0_sLIMInstall.msi_rollback.log
[0AC0:05E0][2013-10-08T15:48:43]i410: Variable: WixBundleTag =
[0AC0:05E0][2013-10-08T15:48:43]i410: Variable: WixBundleVersion = 0.9.18.0
[0AC0:05E0][2013-10-08T15:48:43]i007: Exit code: 0x0, restarting: No
RegSearch from my MSI works:
<Property Id="POSTGRESQLX64">
<RegistrySearch Id='PostgresqlX64RegSearch'
Root='HKLM'
Key='SOFTWARE\PostgreSQL\Installations\postgresql-x64-9.1'
Name="Version"
Win64="yes"
Type ="raw" />
</Property>
And the log:
AppSearch: Property: POSTGRESQLX64, Signature: PostgresqlX64RegSearch
MSI (c) (08:4C) [15:34:04:011]: Note: 1: 2262 2: Signature 3: -2147287038
MSI (c) (08:4C) [15:34:04:011]: PROPERTY CHANGE: Adding POSTGRESQLX64 property. Its value is '9.1.6.1'.
AppSearch: Property: POSTGRESQL_SERVICE, Signature: PostgresqlServiceRegSearch
Burn is not calling either of your RegistrySearch elements because you've defined them in a <Fragment> but haven't referenced them in your <Bundle>.
You can do one of the following:
Add <util:RegistrySearchRef> elements inside your <Bundle>
Nest the <util:RegistrySearch> elements under <Bundle>
According to Rob Mensching in a mailing list post, referencing an item in a fragment with a <FoobarRef> element brings in the whole fragment:
When one thing is referenced in a Fragment the whole Fragment is pulled in.... The other elements you list are typically support elements so they can go in with some item that can be referenced. For example, the XxxSequence elements can go in a Fragment with the CustomAction being scheduled. Then you use a CustomActionRef to say, "Hey, I want that CustomAction and I don't want to think about how it gets scheduled."
When the <RegistrySearch> elements are being referenced, you'll see log entries like this:
[2218:2F1C][2013-10-09T10:59:02]i000: Setting numeric variable 'PostgresqlInstalled_x64' to value 0