inter-server-sync

command module
v0.3.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 2, 2023 License: MIT Imports: 1 Imported by: 0

README

Inter Server Sync (ISS)

Test

Usage

run the command for more information: inter-server-sync -h

Known limitations

  • Source and target servers need to be on the same version.
  • Export and import organization should have the same name.
  • Export folder needs to be sync by hand to the target server.
on source server
  • Create export dir: mkdir ~/export
  • Run command: inter-server-sync export --serverConfig=/etc/rhn/rhn.conf --outputDir=~/export --channels=channel_label,channel_label
  • Copy export directory to target server: rsync -r ~/export root@<Target_server>:~/
on target server
  • **Run command: inter-server-sync import --importDir ~/export/

Database connection configuration

Database connection configuration are loaded by default from /etc/rhn/rhn.conf. File location can be overwritten. For development environments one can use a sample file in this project.

Steps to run in locally in development mode:

  1. copy sample file cp rhn.conf.exaple rhn.conf
  2. fill all properties in rhn.conf with the appropriated values
  3. use this configuration file by specifying the config parameter: go run . -config=rhn.conf

Extra

Dot graph with schema metadata

go run . dot --serverConfig=rhn.conf | dot -Tx11

Build and release

1. Update cmd version
  • Edit file cmd/root.go "Version" property to the desire version
  • On project root folder run osc vc to update the changes file with the release data
  • Manually update changes file with the release number for the next release
  • commit and push to github
2. Create tag
  • Create a tag with the version number using the format "v0.0.0" and push it to github
git tag v0.0.0
git push origin v0.0.0
3. Create a github release (optional)
  • On github create a new version release based on the previous tag
4. OBS: project preparetion
  • Projects names:
    • Uyuni: systemsmanagement:Uyuni:Master
    • Head: Devel: Galaxy:Manager:Head
    • Manager 4.2: Devel:Galaxy:Manager:4.2
  • Pakcage name: inter-server-sync

On porject working directory:

  1. Adapt the _services file to be able to download the correct tag for the version
  2. Run all services: osc service runall
  3. Check the changes files is correctly updated
  4. Check spec file was correctly updated with the release version
  5. Add all files: osc ar
  6. Remove old version files tar and osinfo (osc rm filename)
  7. Commit everything with osc commit
5. OBS: create submit requests

Uyuni: osc sr --no-cleanup <your_project> inter-server-sync systemsmanagement:Uyuni:Master Manager Head: iosc sr --no-cleanup openSUSE.org:<your_project> inter-server-sync Devel:Galaxy:Manager:Head For each maintained SUSE Manager version, one SR in the form: iosc sr --no-cleanup openSUSE.org:<your_project> inter-server-sync Devel:Galaxy:Manager:X.Y

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL