func RenameData(do *definitions.Do) error { logger.Infof("Renaming Data =>\t\t%s:%s\n", do.Name, do.NewName) logger.Debugf("\twith ContainerNumber =>\t%d\n", do.Operations.ContainerNumber) if util.IsDataContainer(do.Name, do.Operations.ContainerNumber) { ops := loaders.LoadDataDefinition(do.Name, do.Operations.ContainerNumber) util.Merge(ops, do.Operations) err := perform.DockerRename(ops, do.NewName) if err != nil { return err } } else { return fmt.Errorf("I cannot find that data container. Please check the data container name you sent me.") } do.Result = "success" return nil }
func RenameData(do *definitions.Do) error { logger.Infof("Renaming Data =>\t\t%s:%s\n", do.Name, do.NewName) logger.Debugf("\twith ContainerNumber =>\t%d\n", do.Operations.ContainerNumber) if util.IsDataContainer(do.Name, do.Operations.ContainerNumber) { srv := definitions.BlankServiceDefinition() srv.Operations.SrvContainerName = util.ContainersName("data", do.Name, do.Operations.ContainerNumber) err := perform.DockerRename(srv.Service, srv.Operations, do.Name, do.NewName) if err != nil { return err } } else { return fmt.Errorf("I cannot find that data container. Please check the data container name you sent me.") } do.Result = "success" return nil }
func RenameData(do *definitions.Do) error { log.WithFields(log.Fields{ "from": fmt.Sprintf("%s:%d", do.Name, do.Operations.ContainerNumber), "to": fmt.Sprintf("%s:%d", do.NewName, do.Operations.ContainerNumber), }).Info("Renaming data container") if util.IsDataContainer(do.Name, do.Operations.ContainerNumber) { ops := loaders.LoadDataDefinition(do.Name, do.Operations.ContainerNumber) util.Merge(ops, do.Operations) err := perform.DockerRename(ops, do.NewName) if err != nil { return err } } else { return fmt.Errorf("I cannot find that data container. Please check the data container name you sent me.") } do.Result = "success" return nil }
func RenameService(do *definitions.Do) error { logger.Infof("Renaming Service =>\t\t%s:%s:%d\n", do.Name, do.NewName, do.Operations.ContainerNumber) if do.Name == do.NewName { return fmt.Errorf("Cannot rename to same name") } newNameBase := strings.Replace(do.NewName, filepath.Ext(do.NewName), "", 1) transformOnly := newNameBase == do.Name if parseKnown(do.Name) { serviceDef, err := loaders.LoadServiceDefinition(do.Name, false, do.Operations.ContainerNumber) if err != nil { return err } do.Operations.ContainerNumber = serviceDef.Operations.ContainerNumber if !transformOnly { logger.Debugf("Asking Docker to Service =>\t%s:%s:%d\n", do.Name, do.NewName, do.Operations.ContainerNumber) err = perform.DockerRename(serviceDef.Service, serviceDef.Operations, do.Name, do.NewName) if err != nil { return err } } else { logger.Infoln("Changing the service definition file type only. Not renaming container(s).") } oldFile := FindServiceDefinitionFile(do.Name) if filepath.Base(oldFile) == do.NewName { logger.Infoln("Those are the same file. Not renaming") return nil } var newFile string if filepath.Ext(do.NewName) == "" { newFile = strings.Replace(oldFile, do.Name, do.NewName, 1) } else { newFile = filepath.Join(ServicesPath, do.NewName) } serviceDef.Service.Name = strings.Replace(do.NewName, filepath.Ext(do.NewName), "", 1) serviceDef.Name = serviceDef.Service.Name err = WriteServiceDefinitionFile(serviceDef, newFile) if err != nil { return err } if !transformOnly { logger.Debugf("Calling Data Rename =>\t\t%s:%s:%d\n", do.Name, do.NewName, do.Operations.ContainerNumber) err = data.RenameData(do) if err != nil { return err } } os.Remove(oldFile) } else { return fmt.Errorf("I cannot find that service. Please check the service name you sent me.") } do.Result = "success" return nil }
func RenameService(do *definitions.Do) error { log.WithFields(log.Fields{ "from": fmt.Sprintf("%s:%d", do.Name, do.Operations.ContainerNumber), "to": fmt.Sprintf("%s:%d", do.NewName, do.Operations.ContainerNumber), }).Info("Renaming service") if do.Name == do.NewName { return fmt.Errorf("Cannot rename to same name") } newNameBase := strings.Replace(do.NewName, filepath.Ext(do.NewName), "", 1) transformOnly := newNameBase == do.Name if parseKnown(do.Name) { serviceDef, err := loaders.LoadServiceDefinition(do.Name, false, do.Operations.ContainerNumber) if err != nil { return err } do.Operations.ContainerNumber = serviceDef.Operations.ContainerNumber if !transformOnly { log.WithFields(log.Fields{ "from": fmt.Sprintf("%s:%d", do.Name, do.Operations.ContainerNumber), "to": fmt.Sprintf("%s:%d", do.NewName, do.Operations.ContainerNumber), }).Debug("Performing container rename") err = perform.DockerRename(serviceDef.Operations, do.NewName) if err != nil { return err } } else { log.Info("Changing service definition file only. Not renaming container") } oldFile := FindServiceDefinitionFile(do.Name) if filepath.Base(oldFile) == do.NewName { log.Info("Those are the same file. Not renaming") return nil } var newFile string if filepath.Ext(do.NewName) == "" { newFile = strings.Replace(oldFile, do.Name, do.NewName, 1) } else { newFile = filepath.Join(ServicesPath, do.NewName) } serviceDef.Service.Name = strings.Replace(do.NewName, filepath.Ext(do.NewName), "", 1) serviceDef.Name = serviceDef.Service.Name err = WriteServiceDefinitionFile(serviceDef, newFile) if err != nil { return err } if !transformOnly { log.WithFields(log.Fields{ "from": fmt.Sprintf("%s:%d", do.Name, do.Operations.ContainerNumber), "to": fmt.Sprintf("%s:%d", do.NewName, do.Operations.ContainerNumber), }).Debug("Performing data container rename") err = data.RenameData(do) if err != nil { return err } } os.Remove(oldFile) } else { return fmt.Errorf("I cannot find that service. Please check the service name you sent me.") } do.Result = "success" return nil }
// XXX: What's going on here? => [csk]: magic func RenameChain(do *definitions.Do) error { if do.Name == do.NewName { return fmt.Errorf("Cannot rename to same name") } newNameBase := strings.Replace(do.NewName, filepath.Ext(do.NewName), "", 1) transformOnly := newNameBase == do.Name if util.IsKnownChain(do.Name) { log.WithFields(log.Fields{ "from": do.Name, "to": do.NewName, }).Info("Renaming chain") log.WithField("=>", do.Name).Debug("Loading chain definition file") chainDef, err := loaders.LoadChainDefinition(do.Name, false, 1) // TODO:CNUM if err != nil { return err } if !transformOnly { log.Debug("Renaming chain container") err = perform.DockerRename(chainDef.Operations, do.NewName) if err != nil { return err } } oldFile := util.GetFileByNameAndType("chains", do.Name) if err != nil { return err } if filepath.Base(oldFile) == do.NewName { log.Info("Those are the same file. Not renaming") return nil } log.Debug("Renaming chain definition file") var newFile string if filepath.Ext(do.NewName) == "" { newFile = strings.Replace(oldFile, do.Name, do.NewName, 1) } else { newFile = filepath.Join(ChainsPath, do.NewName) } chainDef.Name = newNameBase // Generally we won't want to use Service.Name // as it will be confused with the Name. chainDef.Service.Name = "" // Service.Image should be taken from the default.toml. chainDef.Service.Image = "" err = WriteChainDefinitionFile(chainDef, newFile) if err != nil { return err } if !transformOnly { log.WithFields(log.Fields{ "from": fmt.Sprintf("%s:%d", do.Name, chainDef.Operations.ContainerNumber), "to": fmt.Sprintf("%s:%d", do.NewName, chainDef.Operations.ContainerNumber), }).Info("Renaming chain data container") do.Operations.ContainerNumber = chainDef.Operations.ContainerNumber err = data.RenameData(do) if err != nil { return err } } os.Remove(oldFile) } else { return fmt.Errorf("I cannot find that chain. Please check the chain name you sent me.") } return nil }
// XXX: What's going on here? => [csk]: magic func RenameChain(do *definitions.Do) error { if do.Name == do.NewName { return fmt.Errorf("Cannot rename to same name") } newNameBase := strings.Replace(do.NewName, filepath.Ext(do.NewName), "", 1) transformOnly := newNameBase == do.Name if isKnownChain(do.Name) { logger.Infof("Renaming chain =>\t\t%s:%s\n", do.Name, do.NewName) logger.Debugf("Loading Chain Def File =>\t%s\n", do.Name) chainDef, err := loaders.LoadChainDefinition(do.Name, false, 1) // TODO:CNUM if err != nil { return err } if !transformOnly { logger.Debugln("Embarking on DockerRename.") err = perform.DockerRename(chainDef.Service, chainDef.Operations, do.Name, newNameBase) if err != nil { return err } } oldFile := util.GetFileByNameAndType("chains", do.Name) if err != nil { return err } if filepath.Base(oldFile) == do.NewName { logger.Infoln("Those are the same file. Not renaming") return nil } logger.Debugln("Renaming Chain Definition File.") var newFile string if filepath.Ext(do.NewName) == "" { newFile = strings.Replace(oldFile, do.Name, do.NewName, 1) } else { newFile = filepath.Join(BlockchainsPath, do.NewName) } chainDef.Name = newNameBase chainDef.Service.Name = "" chainDef.Service.Image = "" err = WriteChainDefinitionFile(chainDef, newFile) if err != nil { return err } if !transformOnly { logger.Infof("Renaming DataC (fm ChainRaw) =>\t%s:%s\n", do.Name, do.NewName) do.Operations.ContainerNumber = chainDef.Operations.ContainerNumber logger.Debugf("\twith ContainerNumber =>\t%d\n", do.Operations.ContainerNumber) err = data.RenameData(do) if err != nil { return err } } os.Remove(oldFile) } else { return fmt.Errorf("I cannot find that chain. Please check the chain name you sent me.") } return nil }