New Question

Revision history [back]

click to hide/show revision 1
initial version

How to configure Cloudbase-init to run only local scripts (one by one) ?

Hi,

I'm new to using Cloudbase-Init (version: 1.1.2) with Windows Server 2019 (which is an openstack image). And what i should orchestrate with cloudbase-init is only to run some local scripts that are included locally in the image, and I should configure cloudbase-init to run all my local scripts one by one.

But i still did not find the right configuration!

According to the documentation, i saw that in my uses case i should use EmptyMetadataService while i'm going to use only LocalScriptsPlugin.

this is what i have as the cloudbase-init.conf config file:


[DEFAULT]

username=Admin

groups=Administrators

injectuserpassword=true

configdriveraw_hhd=true

configdrivecdrom=true

configdrivevfat=true

bsdtar_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\bin\bsdtar.exe

mtools_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\bin\

verbose=true

debug=true

logdir=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\log\

logfile=cloudbase-init.log

defaultloglevels=comtypes=INFO,suds=INFO,iso8601=WARN,requests=WARN

loggingserialport_settings=

mtuusedhcp_config=true

ntpusedhcp_config=true

localscriptspath=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\LocalScripts\

checklatestversion=true

metadata_services=

plugins=cloudbaseinit.plugins.common.localscripts.LocalScriptsPlugin

...

And like a test, i used my test.ps1 script in C: \ Program Files \ Cloudbase Solutions \ Cloudbase-Init \ LocalScripts \:

my test.ps1 script :

#ps1_sysnative

Start-Transcript -path C:\cloudbase-init-firstboot.log -Append -force

write-output "test cloudbase-init local script"

stop-transcript

exit 1001

...

and after restarting the cloudbase-init service it looks like my test.ps1 script was not executed.

Here is what i get in my cloudbase-init log file after reboot:

2021-01-18 17:10:45.021 3444 DEBUG cloudbaseinit.utils.classloader [-] Loading class 'cloudbaseinit.osutils.windows.WindowsUtils' load_class C:\Program Files\Cloudbase Solutions\Cloudbase-Init\Python\lib\site-packages\cloudbaseinit\utils\classloader.py:27

2021-01-18 17:10:45.568 3444 DEBUG cloudbaseinit.osutils.windows [-] Checking if service exists: cloudbase-init checkserviceexists C:\Program Files\Cloudbase Solutions\Cloudbase-Init\Python\lib\site-packages\cloudbaseinit\osutils\windows.py:1092

2021-01-18 17:10:45.568 3444 DEBUG cloudbaseinit.osutils.windows [-] Getting service username: cloudbase-init getserviceusername C:\Program Files\Cloudbase Solutions\Cloudbase-Init\Python\lib\site-packages\cloudbaseinit\osutils\windows.py:1225

2021-01-18 17:10:45.568 3444 DEBUG cloudbaseinit.osutils.windows [-] Resetting password for service user: .\cloudbase-init resetservicepassword C:\Program Files\Cloudbase Solutions\Cloudbase-Init\Python\lib\site-packages\cloudbaseinit\osutils\windows.py:1248

2021-01-18 17:10:45.646 3444 DEBUG cloudbaseinit.osutils.windows [-] Setting service credentials: cloudbase-init setservicecredentials C:\Program Files\Cloudbase Solutions\Cloudbase-Init\Python\lib\site-packages\cloudbaseinit\osutils\windows.py:1208

2021-01-18 17:10:45.662 3444 INFO cloudbaseinit.init [-] Respawning current process with updated credentials.

2021-01-18 17:10:45.662 3444 DEBUG cloudbaseinit.osutils.windows [-] Creating logon session for user: .\cloudbase-init createuserlogon_session C:\Program Files\Cloudbase Solutions\Cloudbase-Init\Python\lib\site-packages\cloudbaseinit\osutils\windows.py:649

2021-01-18 17:10:45.678 3444 DEBUG cloudbaseinit.osutils.windows [-] Executing process as user, command line: ['C:\Program Files\Cloudbase Solutions\Cloudbase-Init\Python\Scripts\cloudbase-init', '--config-file', 'C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\cloudbase-init.conf', '--noresetservicepassword'] executeprocessas_user C:\Program Files\Cloudbase Solutions\Cloudbase-Init\Python\lib\site-packages\cloudbaseinit\osutils\windows.py:703

2021-01-18 17:10:46.178 4264 DEBUG cloudbaseinit.utils.classloader [-] Loading class 'cloudbaseinit.osutils.windows.WindowsUtils' load_class C:\Program Files\Cloudbase Solutions\Cloudbase-Init\Python\lib\site-packages\cloudbaseinit\utils\classloader.py:27

2021-01-18 17:10:46.318 4264 INFO cloudbaseinit.init [-] Cloudbase-Init version: 1.1.2

2021-01-18 17:10:46.318 4264 DEBUG cloudbaseinit.utils.classloader [-] Loading class 'cloudbaseinit.plugins.common.localscripts.LocalScriptsPlugin' load_class C:\Program Files\Cloudbase Solutions\Cloudbase-Init\Python\lib\site-packages\cloudbaseinit\utils\classloader.py:27

2021-01-18 17:10:46.318 4264 INFO cloudbaseinit.init [-] Executing plugins for stage 'PRE_NETWORKING':

2021-01-18 17:10:46.318 4264 DEBUG cloudbaseinit.utils.classloader [-] Loading class 'cloudbaseinit.plugins.common.localscripts.LocalScriptsPlugin' load_class C:\Program Files\Cloudbase Solutions\Cloudbase-Init\Python\lib\site-packages\cloudbaseinit\utils\classloader.py:27

2021-01-18 17:10:46.318 4264 INFO cloudbaseinit.init [-] Executing plugins for stage 'PREMETADATADISCOVERY':

2021-01-18 17:10:46.318 4264 ERROR cloudbaseinit.init [-] No metadata service found: cloudbaseinit.exception.MetadataNotFoundException: No available service found

2021-01-18 17:10:46.318 4264 INFO cloudbaseinit.init [-] Plugins execution done

2021-01-18 17:10:46.318 4264 INFO cloudbaseinit.init [-] Stopping Cloudbase-Init service

2021-01-18 17:10:46.334 4264 DEBUG urllib3.connectionpool [-] Starting new HTTPS connection (1): www.cloudbase.it:443 newconn C:\Program Files\Cloudbase Solutions\Cloudbase-Init\Python\lib\site-packages\urllib3\connectionpool.py:941

2021-01-18 17:10:46.334 4264 DEBUG cloudbaseinit.version [-] Failed checking for new versions: HTTPSConnectionPool(host='www.cloudbase.it', port=443): Max retries exceeded with url: /checkupdates.php?p=Cloudbase-Init&v=1.1.2 (Caused by NewConnectionError('<urllib3.connection.httpsconnection object="" at="" 0x00000143a3722fd0="">: Failed to establish a new connection: [Errno 11001] getaddrinfo failed',)) checklatest_version C:\Program Files\Cloudbase Solutions\Cloudbase-Init\Python\lib\site-packages\cloudbaseinit\version.py:52

2021-01-18 17:10:49.334 4264 DEBUG cloudbaseinit.osutils.windows [-] Stopping service cloudbase-init stop_service C:\Program Files\Cloudbase Solutions\Cloudbase-Init\Python\lib\site-packages\cloudbaseinit\osutils\windows.py:1140

How to configure Cloudbase-init to run only local scripts (one by one) ?

Hi,

I'm new to using Cloudbase-Init (version: 1.1.2) with Windows Server 2019 (which is an openstack image). And what i should orchestrate with cloudbase-init is only to run some local scripts that are included locally in the image, and I should configure cloudbase-init to run all my local scripts one by one.

But i still did not find the right configuration!

According to the documentation, i saw that in my uses case i should use EmptyMetadataService while i'm going to use only LocalScriptsPlugin.

this is what i have as the cloudbase-init.conf config file:


[DEFAULT]

username=Admin

groups=Administrators

injectuserpassword=true

configdriveraw_hhd=true

configdrivecdrom=true

configdrivevfat=true

bsdtar_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\bin\bsdtar.exe

mtools_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\bin\

verbose=true

debug=true

logdir=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\log\

logfile=cloudbase-init.log

defaultloglevels=comtypes=INFO,suds=INFO,iso8601=WARN,requests=WARN

loggingserialport_settings=

mtuusedhcp_config=true

ntpusedhcp_config=true

localscriptspath=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\LocalScripts\

checklatestversion=true

metadata_services=

plugins=cloudbaseinit.plugins.common.localscripts.LocalScriptsPlugin

...

And like a test, i used my test.ps1 script in C: \ Program Files \ Cloudbase Solutions \ Cloudbase-Init \ LocalScripts \:

my test.ps1 script :

#ps1_sysnative

Start-Transcript -path C:\cloudbase-init-firstboot.log -Append -force

write-output "test cloudbase-init local script"

stop-transcript

exit 1001

...

and after restarting the cloudbase-init service it looks like my test.ps1 script was not executed.

Here is what i get in my cloudbase-init log file after reboot:

2021-01-18 17:10:45.021 3444 DEBUG cloudbaseinit.utils.classloader [-] Loading class 'cloudbaseinit.osutils.windows.WindowsUtils' load_class C:\Program Files\Cloudbase Solutions\Cloudbase-Init\Python\lib\site-packages\cloudbaseinit\utils\classloader.py:27

2021-01-18 17:10:45.568 3444 DEBUG cloudbaseinit.osutils.windows [-] Checking if service exists: cloudbase-init checkserviceexists C:\Program Files\Cloudbase Solutions\Cloudbase-Init\Python\lib\site-packages\cloudbaseinit\osutils\windows.py:1092

2021-01-18 17:10:45.568 3444 DEBUG cloudbaseinit.osutils.windows [-] Getting service username: cloudbase-init getserviceusername C:\Program Files\Cloudbase Solutions\Cloudbase-Init\Python\lib\site-packages\cloudbaseinit\osutils\windows.py:1225

2021-01-18 17:10:45.568 3444 DEBUG cloudbaseinit.osutils.windows [-] Resetting password for service user: .\cloudbase-init resetservicepassword C:\Program Files\Cloudbase Solutions\Cloudbase-Init\Python\lib\site-packages\cloudbaseinit\osutils\windows.py:1248

2021-01-18 17:10:45.646 3444 DEBUG cloudbaseinit.osutils.windows [-] Setting service credentials: cloudbase-init setservicecredentials C:\Program Files\Cloudbase Solutions\Cloudbase-Init\Python\lib\site-packages\cloudbaseinit\osutils\windows.py:1208

2021-01-18 17:10:45.662 3444 INFO cloudbaseinit.init [-] Respawning current process with updated credentials.

2021-01-18 17:10:45.662 3444 DEBUG cloudbaseinit.osutils.windows [-] Creating logon session for user: .\cloudbase-init createuserlogon_session C:\Program Files\Cloudbase Solutions\Cloudbase-Init\Python\lib\site-packages\cloudbaseinit\osutils\windows.py:649

2021-01-18 17:10:45.678 3444 DEBUG cloudbaseinit.osutils.windows [-] Executing process as user, command line: ['C:\Program Files\Cloudbase Solutions\Cloudbase-Init\Python\Scripts\cloudbase-init', '--config-file', 'C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\cloudbase-init.conf', '--noresetservicepassword'] executeprocessas_user C:\Program Files\Cloudbase Solutions\Cloudbase-Init\Python\lib\site-packages\cloudbaseinit\osutils\windows.py:703

2021-01-18 17:10:46.178 4264 DEBUG cloudbaseinit.utils.classloader [-] Loading class 'cloudbaseinit.osutils.windows.WindowsUtils' load_class C:\Program Files\Cloudbase Solutions\Cloudbase-Init\Python\lib\site-packages\cloudbaseinit\utils\classloader.py:27

2021-01-18 17:10:46.318 4264 INFO cloudbaseinit.init [-] Cloudbase-Init version: 1.1.2

2021-01-18 17:10:46.318 4264 DEBUG cloudbaseinit.utils.classloader [-] Loading class 'cloudbaseinit.plugins.common.localscripts.LocalScriptsPlugin' load_class C:\Program Files\Cloudbase Solutions\Cloudbase-Init\Python\lib\site-packages\cloudbaseinit\utils\classloader.py:27

2021-01-18 17:10:46.318 4264 INFO cloudbaseinit.init [-] Executing plugins for stage 'PRE_NETWORKING':

2021-01-18 17:10:46.318 4264 DEBUG cloudbaseinit.utils.classloader [-] Loading class 'cloudbaseinit.plugins.common.localscripts.LocalScriptsPlugin' load_class C:\Program Files\Cloudbase Solutions\Cloudbase-Init\Python\lib\site-packages\cloudbaseinit\utils\classloader.py:27

2021-01-18 17:10:46.318 4264 INFO cloudbaseinit.init [-] Executing plugins for stage 'PREMETADATADISCOVERY':

2021-01-18 17:10:46.318 4264 ERROR cloudbaseinit.init [-] No metadata service found: cloudbaseinit.exception.MetadataNotFoundException: No available service found

2021-01-18 17:10:46.318 4264 INFO cloudbaseinit.init [-] Plugins execution done

2021-01-18 17:10:46.318 4264 INFO cloudbaseinit.init [-] Stopping Cloudbase-Init service

2021-01-18 17:10:46.334 4264 DEBUG urllib3.connectionpool [-] Starting new HTTPS connection (1): www.cloudbase.it:443 newconn C:\Program Files\Cloudbase Solutions\Cloudbase-Init\Python\lib\site-packages\urllib3\connectionpool.py:941

2021-01-18 17:10:46.334 4264 DEBUG cloudbaseinit.version [-] Failed checking for new versions: HTTPSConnectionPool(host='www.cloudbase.it', port=443): Max retries exceeded with url: /checkupdates.php?p=Cloudbase-Init&v=1.1.2 (Caused by NewConnectionError('<urllib3.connection.httpsconnection object="" at="" 0x00000143a3722fd0="">: Failed to establish a new connection: [Errno 11001] getaddrinfo failed',)) checklatest_version C:\Program Files\Cloudbase Solutions\Cloudbase-Init\Python\lib\site-packages\cloudbaseinit\version.py:52

2021-01-18 17:10:49.334 4264 DEBUG cloudbaseinit.osutils.windows [-] Stopping service cloudbase-init stop_service C:\Program Files\Cloudbase Solutions\Cloudbase-Init\Python\lib\site-packages\cloudbaseinit\osutils\windows.py:1140