So we have hit a wall pretty hard here:
We have a series of Ubuntu Desktops running 12.04 LTS and we've configured puppet to do enable to Network Proxy and it does the weirdest thing. It will refuse to set the proxy until we do an initial setting in the GUI. (Gnome Desktop) Here's our config (some info redacted) but has anyone else figured out a fix for this?
file { "environment":
path => "/etc/environment",
ensure => present,
mode => 755,
owner => root,
group => root,
source => "puppet:///modules/linuxdesktop_squid/environment",
}
exec { 'dbus proxy 1':
path => ["/usr/local/sbin", "/usr/local/bin", "/usr/sbin", "/usr/bin", "/sbin", "/bin"],
command => "dbus-launch gsettings set org.gnome.system.proxy mode 'manual' ",
}
exec { 'dbus proxy 2':
path => ["/usr/local/sbin", "/usr/local/bin", "/usr/sbin", "/usr/bin", "/sbin", "/bin"],
command => "dbus-launch gsettings set org.gnome.system.proxy.http host 'xxx.xxx.xxx.xxxfile { "environment":
path => "/etc/environment",
ensure => present,
mode => 755,
owner => root,
group => root,
source => "puppet:///modules/linuxdesktop_squid/environment",
}
exec { 'dbus proxy 1':
path => ["/usr/local/sbin", "/usr/local/bin", "/usr/sbin", "/usr/bin", "/sbin", "/bin"],
command => "dbus-launch gsettings set org.gnome.system.proxy mode 'manual' ",
}
exec { 'dbus proxy 2':
path => ["/usr/local/sbin", "/usr/local/bin", "/usr/sbin", "/usr/bin", "/sbin", "/bin"],
command => "dbus-launch gsettings set org.gnome.system.proxy.http host 'xxx.xxx.xxx.xxx'",
}
exec { 'dbus proxy 3':
path => ["/usr/local/sbin", "/usr/local/bin", "/usr/sbin", "/usr/bin", "/sbin", "/bin"],
command => "dbus-launch gsettings set org.gnome.system.proxy.http port 3128",
}
exec { 'gconf proxy 1':
path => ["/usr/local/sbin", "/usr/local/bin", "/usr/sbin", "/usr/bin", "/sbin", "/bin"],
command => "gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type string --set /system/proxy/mode 'manual'",
}
exec { 'gconf proxy 2':
path => ["/usr/local/sbin", "/usr/local/bin", "/usr/sbin", "/usr/bin", "/sbin", "/bin"],
command => "gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type int --set /system/http_proxy/port '3128'",
}
exec { 'gconf proxy 3':
path => ["/usr/local/sbin", "/usr/local/bin", "/usr/sbin", "/usr/bin", "/sbin", "/bin"],
command => "gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type bool --set /system/http_proxy/use_same_proxy 'TRUE'",
}
exec { 'gconf proxy 4':
path => ["/usr/local/sbin", "/usr/local/bin", "/usr/sbin", "/usr/bin", "/sbin", "/bin"],
command => "gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type bool --set /system/http_proxy/use_http_proxy 'TRUE'",
}
exec { 'gconf proxy 5':
path => ["/usr/local/sbin", "/usr/local/bin", "/usr/sbin", "/usr/bin", "/sbin", "/bin"],
command => "gsettings set org.gnome.system.proxy.http port 3128",
}
exec { 'gconf proxy 6':
path => ["/usr/local/sbin", "/usr/local/bin", "/usr/sbin", "/usr/bin", "/sbin", "/bin"],
command => "gsettings set org.gnome.system.proxy.https port 3128",
}
exec { 'gconf proxy 7':
path => ["/usr/local/sbin", "/usr/local/bin", "/usr/sbin", "/usr/bin", "/sbin", "/bin"],
command => "gsettings set org.gnome.system.proxy.http host 'xxx.xxx.xxx.xxx'",
}
exec { 'gconf proxy 8':
path => ["/usr/local/sbin", "/usr/local/bin", "/usr/sbin", "/usr/bin", "/sbin", "/bin"],
command => "gsettings get org.gnome.system.proxy.https host 'xxx.xxx.xxx.xxx'",
}'",
}
exec { 'dbus proxy 3':
path => ["/usr/local/sbin", "/usr/local/bin", "/usr/sbin", "/usr/bin", "/sbin", "/bin"],
command => "dbus-launch gsettings set org.gnome.system.proxy.http port 3128",
}
exec { 'gconf proxy 1':
path => ["/usr/local/sbin", "/usr/local/bin", "/usr/sbin", "/usr/bin", "/sbin", "/bin"],
command => "gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type string --set /system/proxy/mode 'manual'",
}
exec { 'gconf proxy 2':
path => ["/usr/local/sbin", "/usr/local/bin", "/usr/sbin", "/usr/bin", "/sbin", "/bin"],
command => "gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type int --set /system/http_proxy/port '3128'",
}
exec { 'gconf proxy 3':
path => ["/usr/local/sbin", "/usr/local/bin", "/usr/sbin", "/usr/bin", "/sbin", "/bin"],
command => "gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type bool --set /system/http_proxy/use_same_proxy 'TRUE'",
}
exec { 'gconf proxy 4':
path => ["/usr/local/sbin", "/usr/local/bin", "/usr/sbin", "/usr/bin", "/sbin", "/bin"],
command => "gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type bool --set /system/http_proxy/use_http_proxy 'TRUE'",
}
exec { 'gconf proxy 5':
path => ["/usr/local/sbin", "/usr/local/bin", "/usr/sbin", "/usr/bin", "/sbin", "/bin"],
command => "gsettings set org.gnome.system.proxy.http port 3128",
}
exec { 'gconf proxy 6':
path => ["/usr/local/sbin", "/usr/local/bin", "/usr/sbin", "/usr/bin", "/sbin", "/bin"],
command => "gsettings set org.gnome.system.proxy.https port 3128",
}
exec { 'gconf proxy 7':
path => ["/usr/local/sbin", "/usr/local/bin", "/usr/sbin", "/usr/bin", "/sbin", "/bin"],
command => "gsettings set org.gnome.system.proxy.http host 'xxx.xxx.xxx.xxx'",
}
exec { 'gconf proxy 8':
path => ["/usr/local/sbin", "/usr/local/bin", "/usr/sbin", "/usr/bin", "/sbin", "/bin"],
command => "gsettings get org.gnome.system.proxy.https host 'xxx.xxx.xxx.xxx'",
}