GithubHelp home page GithubHelp logo

inter-server-sync's Introduction

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

inter-server-sync's People

Contributors

aaannz avatar admd avatar avshiliaev avatar cbosdo avatar moio avatar rjmateus avatar witekest avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.