Compare commits
2 commits
827e4398d7
...
bf00d74a26
| Author | SHA1 | Date | |
|---|---|---|---|
|
bf00d74a26 |
|||
|
825fabb64a |
3 changed files with 29 additions and 10 deletions
|
|
@ -35,15 +35,19 @@ func main() {
|
|||
defer db.Close()
|
||||
|
||||
if *start {
|
||||
metadata.StartMetadata(metadata.NoCloudConfig{
|
||||
if err := metadata.StartMetadata(metadata.NoCloudConfig{
|
||||
VpcName: *vpc,
|
||||
Name: *vm_name,
|
||||
BindIP: *bind_ip,
|
||||
BindPort: *bind_port,
|
||||
Password: *password,
|
||||
SSHKEY: *ssh_key,
|
||||
}, db, *dryrun)
|
||||
}, db, *dryrun); err != nil {
|
||||
fmt.Println(err)
|
||||
}
|
||||
} else if *stop {
|
||||
metadata.StopMetadata(*vm_name, db, *dryrun)
|
||||
if err := metadata.StopMetadata(*vm_name, db, *dryrun); err != nil {
|
||||
fmt.Println(err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,26 +1,40 @@
|
|||
package metadata
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"git.g3e.fr/syonad/two/pkg/systemd"
|
||||
"github.com/dgraph-io/badger/v4"
|
||||
)
|
||||
|
||||
func StartMetadata(config NoCloudConfig, db *badger.DB, dryrun bool) {
|
||||
service, _ := systemd.New()
|
||||
func StartMetadata(config NoCloudConfig, db *badger.DB, dryrun bool) error {
|
||||
service, err := systemd.New()
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to connect to systemd: %w", err)
|
||||
}
|
||||
defer service.Close()
|
||||
|
||||
LoadNcCloudInDB(config, db)
|
||||
if !dryrun {
|
||||
service.Start("metadata@" + config.Name)
|
||||
if err := service.Start("metadata@" + config.Name + ".service"); err != nil {
|
||||
return fmt.Errorf("failed to start metadata@%s: %w", config.Name, err)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func StopMetadata(vm_name string, db *badger.DB, dryrun bool) {
|
||||
service, _ := systemd.New()
|
||||
func StopMetadata(vm_name string, db *badger.DB, dryrun bool) error {
|
||||
service, err := systemd.New()
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to connect to systemd: %w", err)
|
||||
}
|
||||
defer service.Close()
|
||||
|
||||
UnLoadNoCloudInDB(vm_name, db)
|
||||
if !dryrun {
|
||||
service.Stop("metadata@" + vm_name)
|
||||
if err := service.Stop("metadata@" + vm_name + ".service"); err != nil {
|
||||
return fmt.Errorf("failed to stop metadata@%s: %w", vm_name, err)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,7 +6,8 @@ import (
|
|||
|
||||
func InitDB(conf Config, readonly bool) *badger.DB {
|
||||
opts := badger.DefaultOptions(conf.Path).
|
||||
WithReadOnly(readonly)
|
||||
WithReadOnly(readonly).
|
||||
WithBypassLockGuard(readonly)
|
||||
opts.Logger = nil
|
||||
opts.ValueLogFileSize = 10 << 20 // 10 Mo par fichier vlog
|
||||
opts.NumMemtables = 1
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue