Cloud-init and Customized Configurations

Status
Not open for further replies.

Mike Hammett

Customer
Basic Certified
Joined
May 18, 2018
Messages
254
Reaction score
43
I'm looking to automate the provisioning and turn-up of our 3CX instances. We've been doing so manually. That doesn't scale and that allows for too much human error.

  1. I saw that 3CX supports cloud-init via this page: https://www.3cx.com/docs/configure-pbx-automatically/
  2. I saw that the setupconfig.xml has limited support for things to be configured.
  3. I found a forum post where someone at 3CX had advised to do a backup from a templated install to be the basis for all of the other, unsupported settings in setupconfig.xml.

Now for the questions.

  1. 3CX supports cloud-init, which with the provided example handles the installation of 3CX. However, it seems as though that 3CX has removed supported instructions for installing 3CX into Debian. I have found them, but I wanted to make sure this was still an acceptable practice. If not, how does one solve the incongruency of supporting cloud-init, but not bare Debian installs? Also, are there any details about any prerequesites, or is the dependency tree for the 3cxpbx package sufficient to resolve all dependencies?
  2. N/A
  3. I wanted to make sure that the use of a template machine's backup for the rolling out of additional configured settings to new PBXes was supported.

We provide fully managed (the customer never gets admin access) hosted 3CX instances and want to reduce the time to deployment and the opportunity for human error.

What I envision is our custom-developed tool (if something like this already exists, please tell me) accepts inputs (whether manually or from some other system) takes all of the customer-specific information as inputs, and then we push all of that out into an XML file. The tool then initiates the cloud-init spin-up of the next VM, configures it, pushes down the 3CX config, and then we're left with a fully functional 3CX PBX.
 
I'm looking to automate the provisioning and turn-up of our 3CX instances. We've been doing so manually. That doesn't scale and that allows for too much human error.

  1. I saw that 3CX supports cloud-init via this page: https://www.3cx.com/docs/configure-pbx-automatically/
  2. I saw that the setupconfig.xml has limited support for things to be configured.
  3. I found a forum post where someone at 3CX had advised to do a backup from a templated install to be the basis for all of the other, unsupported settings in setupconfig.xml.

Now for the questions.

  1. 3CX supports cloud-init, which with the provided example handles the installation of 3CX. However, it seems as though that 3CX has removed supported instructions for installing 3CX into Debian. I have found them, but I wanted to make sure this was still an acceptable practice. If not, how does one solve the incongruency of supporting cloud-init, but not bare Debian installs? Also, are there any details about any prerequesites, or is the dependency tree for the 3cxpbx package sufficient to resolve all dependencies?
  2. N/A
  3. I wanted to make sure that the use of a template machine's backup for the rolling out of additional configured settings to new PBXes was supported.

We provide fully managed (the customer never gets admin access) hosted 3CX instances and want to reduce the time to deployment and the opportunity for human error.

What I envision is our custom-developed tool (if something like this already exists, please tell me) accepts inputs (whether manually or from some other system) takes all of the customer-specific information as inputs, and then we push all of that out into an XML file. The tool then initiates the cloud-init spin-up of the next VM, configures it, pushes down the 3CX config, and then we're left with a fully functional 3CX PBX.
Where do you usually host your VMs? That will be the biggest determinant to how you would do this.

The backup/restore method is supported as long as you keep it in the supported realm of configs (no customized parameters and such.)
 
Where do you usually host your VMs? That will be the biggest determinant to how you would do this.

The backup/restore method is supported as long as you keep it in the supported realm of configs (no customized parameters and such.)
We host them on our own infrastructure. We're full-stack.

We are connected to tandem switches, run SS7, run a Metaswitch environment, have our own servers, routers, colos, peerings, etc.
 
Where do you usually host your VMs? That will be the biggest determinant to how you would do this.

The backup/restore method is supported as long as you keep it in the supported realm of configs (no customized parameters and such.)
I forgot to touch on the backup/restore section.

Yes, we would primarily be doing supported configurations, knowing that when we stray, it's not supported. Just want to make sure that the backups are portable, and supported when used as such.
 
Hi!

What you could do is do an installation using the 3CX ISO, go through the whole process, select to install the 3CX PBX, then when you get prompt '1' for the Web Config Wizard or '2' for the Console wizard, but don't press anything yet.

At this point, switch to another VT input (I believe the shortcut key is Alt+Fx, or F1 in this case). Upload your setupconfig.xml file, or startup script that, or whatever cloud-init targets and actions, then shut down the machine.
Make this into a template, then whenever you spawn a new VM off this template, whenever it starts it should re-initialize the Wizard and if a setupconfig.xml file is found, it will not prompt you for '1' or '2', it will just proceed with the XML file.

Note that whenever a new 3CX Version/update comes out, you would need to repeat the process from the newly downloaded ISO so that systems deployed.
 
Last edited:
  • Like
Reactions: Evolute IT
Status
Not open for further replies.

Forum statistics

Threads
111,974
Messages
590,083
Members
164,901
Latest member
Silent_Guru