How do I apply a highstate to a group of systems?
I have created a state channel, with an init.sls entered that deploys a package, and pulls in a couple of files that are attached to the state channel. If I add that state channel to a system, and apply the highstate to that system, it works. However, what I need is a way to apply the highstate to a group of systems. What I want to do is to attach this to about 100 systems, and have it deploy - without having to individually go to each system and click "apply high state". Surely there is a way to do this? With config channels, I would deploy files by adding all the systems, selecting the files to deploy, and deploying them to all systems. I don't see any option from the state channel to apply it to all systems. Am I missing something obvious? Thanks. Allen B. -- Allen Beddingfield Systems Engineer Office of Information Technology The University of Alabama Office 205-348-2251 allen@ua.edu
I think I may have discovered the answer to my own question, with using System Groups. Is that the preferred method for accomplishing this? -- Allen Beddingfield Systems Engineer Office of Information Technology The University of Alabama Office 205-348-2251 allen@ua.edu ________________________________________ From: Allen Beddingfield <allen@ua.edu> Sent: Monday, June 14, 2021 3:30 PM To: uyuni-users@opensuse.org Subject: [EXTERNAL] How do I apply a highstate to a group of systems? I have created a state channel, with an init.sls entered that deploys a package, and pulls in a couple of files that are attached to the state channel. If I add that state channel to a system, and apply the highstate to that system, it works. However, what I need is a way to apply the highstate to a group of systems. What I want to do is to attach this to about 100 systems, and have it deploy - without having to individually go to each system and click "apply high state". Surely there is a way to do this? With config channels, I would deploy files by adding all the systems, selecting the files to deploy, and deploying them to all systems. I don't see any option from the state channel to apply it to all systems. Am I missing something obvious? Thanks. Allen B. -- Allen Beddingfield Systems Engineer Office of Information Technology The University of Alabama Office 205-348-2251 allen@ua.edu
El dl. 14 de 06 de 2021 a les 20:33 +0000, en/na Allen Beddingfield va escriure: Hello Allen, There are also opportunities from Uyuni command line ( as root ): Get group list: # spacecmd group_list dev test prod Get selectect group ID: # spacecmd group_details dev INFO: Connected to https://uyuni_host/rpc/api as admin ID: 13 Name: dev Description: Dev env Number of Systems: 3 Members ------- xxx yyy zzz Use group ID as pillar and see who's answering: # salt -I 'group_ids:13' test.ping xxx: True yyy: True zzz: True Let's do a dry run: # salt -I 'group_ids:13' state.highstate test=True Let's go: # salt -I 'group_ids:13' state.highstate best regards,
I think I may have discovered the answer to my own question, with using System Groups. Is that the preferred method for accomplishing this?
-- Allen Beddingfield Systems Engineer Office of Information Technology The University of Alabama Office 205-348-2251 allen@ua.edu
________________________________________ From: Allen Beddingfield <allen@ua.edu> Sent: Monday, June 14, 2021 3:30 PM To: uyuni-users@opensuse.org Subject: [EXTERNAL] How do I apply a highstate to a group of systems?
I have created a state channel, with an init.sls entered that deploys a package, and pulls in a couple of files that are attached to the state channel. If I add that state channel to a system, and apply the highstate to that system, it works. However, what I need is a way to apply the highstate to a group of systems. What I want to do is to attach this to about 100 systems, and have it deploy - without having to individually go to each system and click "apply high state". Surely there is a way to do this? With config channels, I would deploy files by adding all the systems, selecting the files to deploy, and deploying them to all systems. I don't see any option from the state channel to apply it to all systems. Am I missing something obvious? Thanks. Allen B.
-- Allen Beddingfield Systems Engineer Office of Information Technology The University of Alabama Office 205-348-2251 allen@ua.edu
Hi yes, System Groups is what you are looking for. You can assign the State Channel to the group and you can execute the highstate for the group. Am Montag, 14. Juni 2021, 22:33:25 CEST schrieb Allen Beddingfield:
I think I may have discovered the answer to my own question, with using System Groups. Is that the preferred method for accomplishing this?
-- Allen Beddingfield Systems Engineer Office of Information Technology The University of Alabama Office 205-348-2251 allen@ua.edu
________________________________________ From: Allen Beddingfield <allen@ua.edu> Sent: Monday, June 14, 2021 3:30 PM To: uyuni-users@opensuse.org Subject: [EXTERNAL] How do I apply a highstate to a group of systems?
I have created a state channel, with an init.sls entered that deploys a package, and pulls in a couple of files that are attached to the state channel. If I add that state channel to a system, and apply the highstate to that system, it works. However, what I need is a way to apply the highstate to a group of systems. What I want to do is to attach this to about 100 systems, and have it deploy - without having to individually go to each system and click "apply high state". Surely there is a way to do this? With config channels, I would deploy files by adding all the systems, selecting the files to deploy, and deploying them to all systems. I don't see any option from the state channel to apply it to all systems. Am I missing something obvious? Thanks. Allen B.
-- Allen Beddingfield Systems Engineer Office of Information Technology The University of Alabama Office 205-348-2251 allen@ua.edu
-- Regards Michael Calmer -------------------------------------------------------------------------- Michael Calmer SUSE Software Solutions Germany GmbH, Maxfeldstr. 5, D-90409 Nuernberg T: +49 (0) 911 74053 0 F: +49 (0) 911 74053575 - e-mail: Michael.Calmer@suse.com -------------------------------------------------------------------------- SUSE Software Solutions Germany GmbH, GF: Felix Imendörffer (HRB 36809, AG Nürnberg)
This for the most part works, but I'm getting mixed results in doing this over on my SUSE Manager server (I know - that is kind of off topic for this list). I assigned a group of servers to the group, which has that state channel attached. I applied the state. Most of them succeeded, but a few failed. On those, if I look at the state that attempted to apply, the config from the state channel never was applied to that system. The failure was because of a typo in the list of packages to install on the registration key the system was originally registered with. (It is trying to install a package that does not exist). That registration key has long since been deleted, but that package installation line is still in the high state for the system, and fails every time it is applied. I can directly attach the state channel to the system, and it will correctly install the state attached to that channel, but the status is still failed, because it is trying to install that package from the deleted registration key. Is there any way to clear/make it re-calculate the high state, to clear out that package installation line so that it doesn't fail every time highstate is applied? Also, could this error be the reason that the state channel config doesn't get applied through group membership? Allen B. -- Allen Beddingfield Systems Engineer Office of Information Technology The University of Alabama Office 205-348-2251 allen@ua.edu ________________________________________ From: Michael Calmer <mc@suse.de> Sent: Tuesday, June 15, 2021 2:21 AM To: users@lists.uyuni-project.org Subject: [EXTERNAL] Re: How do I apply a highstate to a group of systems? Hi yes, System Groups is what you are looking for. You can assign the State Channel to the group and you can execute the highstate for the group. Am Montag, 14. Juni 2021, 22:33:25 CEST schrieb Allen Beddingfield:
I think I may have discovered the answer to my own question, with using System Groups. Is that the preferred method for accomplishing this?
-- Allen Beddingfield Systems Engineer Office of Information Technology The University of Alabama Office 205-348-2251 allen@ua.edu
________________________________________ From: Allen Beddingfield <allen@ua.edu> Sent: Monday, June 14, 2021 3:30 PM To: uyuni-users@opensuse.org Subject: [EXTERNAL] How do I apply a highstate to a group of systems?
I have created a state channel, with an init.sls entered that deploys a package, and pulls in a couple of files that are attached to the state channel. If I add that state channel to a system, and apply the highstate to that system, it works. However, what I need is a way to apply the highstate to a group of systems. What I want to do is to attach this to about 100 systems, and have it deploy - without having to individually go to each system and click "apply high state". Surely there is a way to do this? With config channels, I would deploy files by adding all the systems, selecting the files to deploy, and deploying them to all systems. I don't see any option from the state channel to apply it to all systems. Am I missing something obvious? Thanks. Allen B.
-- Allen Beddingfield Systems Engineer Office of Information Technology The University of Alabama Office 205-348-2251 allen@ua.edu
-- Regards Michael Calmer -------------------------------------------------------------------------- Michael Calmer SUSE Software Solutions Germany GmbH, Maxfeldstr. 5, D-90409 Nuernberg T: +49 (0) 911 74053 0 F: +49 (0) 911 74053575 - e-mail: Michael.Calmer@suse.com -------------------------------------------------------------------------- SUSE Software Solutions Germany GmbH, GF: Felix Imendörffer (HRB 36809, AG Nürnberg)
participants (3)
-
Allen Beddingfield
-
jordi@priscoelectronica.com
-
Michael Calmer