Hi all,
some time ago we discussed where and how we should share
"Tips&Tricks" for YaST users and developers.
IIRC there was no clear conclusion so I decided to start
a wiki [1] to collect all our tricks we know or use.
For now it's just a place for dumping your ideas, links, short
howtos, etc... When we collect enough data we can probably
split it to several categories or move it somewhere else.
We just need the data first.
I have added there some my tricks from my personal "knowledgebase"
file. If you have better tricks or find something wrong simply
change it, it's a wiki ;-)
Ladislav
[1] https://github.com/yast/yast.github.io/wiki/YaST-Tips-and-Tricks
--
Ladislav Slezák
YaST Developer
SUSE LINUX, s.r.o.
Corso IIa
Křižíkova 148/34
18600 Praha 8
--
To unsubscribe, e-mail: yast-devel+unsubscribe(a)opensuse.org
To contact the owner, e-mail: yast-devel+owner(a)opensuse.org
Hi,
Travis recently enabled a new auto cancellation feature.
If you commit a new change Travis can automatically cancel the old
builds in the queue. That means you should get the results
for the latest change faster.
See more details at the Travis blog [1].
To me it looks like a nice feature.
The only drawback is that if you really use the strict TDD approach
(write a failing test first then create a fix, like I did here [2])
then you would have to wait a bit between pushing the test and the fix.
At least until the first build starts.
But that is usually not the case is our workflow so it should not be
an issue and we could use this feature by default.
So any reason why NOT using the auto cancellation feature? Otherwise I'd
enable it globally for all Travis jobs...
Lada
[1] https://blog.travis-ci.com/2017-03-22-introducing-auto-cancellation
[2] https://github.com/yast/yast-yast2/pull/570
--
Ladislav Slezák
YaST Developer
SUSE LINUX, s.r.o.
Corso IIa
Křižíkova 148/34
18600 Praha 8
--
To unsubscribe, e-mail: yast-devel+unsubscribe(a)opensuse.org
To contact the owner, e-mail: yast-devel+owner(a)opensuse.org
Hi all,
Yesterday I published a short blog post about recording a screencast
(a desktop session) to create a video or an animated image.
So if you want to have nice animated images in READMES [1] or in pull requests [2]
then check this post [3].
Enjoy!
[1] https://github.com/lslezak/build-rake/blob/master/README.md
[2] https://github.com/yast/yast-registration/pull/240
[3] http://lslezak.blogspot.cz/2016/01/recording-screencast-in-linux.html
--
Ladislav Slezák
Appliance department / YaST Developer
Lihovarská 1060/12
190 00 Prague 9 / Czech Republic
tel: +420 284 028 960
lslezak(a)suse.com
SUSE
--
To unsubscribe, e-mail: yast-devel+unsubscribe(a)opensuse.org
To contact the owner, e-mail: yast-devel+owner(a)opensuse.org
Hi,
yesterday we are discussing a bit plans about merge storage-ng, new partitioner and such stuff into SLE15 and according to Factory first rule also to tumbleweed and it looks like we like to integrate it as early as possible to get some feedback, which is good.
On other hand, from user perspective it will look like that we reduce number of working features and do not provide anything new for them, so new storage would be regression for them. So I get idea that it would be great if we can add at least one new "free-cool-in" feature that make sense for SLE and also opensuse users. That is widely used and also easy to implement ( as we are already quite busy with development ) and after some googling I think that allowing to easy mount cloud storage in expert partitioner can be exactly that feature. For SLE we should support ceph ( so easy integration with SUSE storage ) and for opensuse it make sense to support at least one public cloud storage provider ( like google drive, AWS, Azure blob, rackspace, etc. which is the easiest to implement ). I think it is trending enough feature, it should not be hard to implement ( basically entry in fstab ), it has UI ( so easy to demonstrate ) and everybody knows it.
So here is few my questions:
- Do you think it makes sense?
- Does it make sense to add support for it also in libstorage-ng? And if so, how hard it will be?
- Does it make sense to also allow non-root access to partitioner via pam-mount configuration, so each user can mount his own google drive?
In general my estimation how fast I can do this feature without libstorage-ng and with augeas for fstab is one week of work.
Josef
--
To unsubscribe, e-mail: yast-devel+unsubscribe(a)opensuse.org
To contact the owner, e-mail: yast-devel+owner(a)opensuse.org
## Report from OpenSUSE conference 2017
### YaST new module workshop
In general better attended then the one in Dubrovnik. I think using
skeleton is good, so it can more focus on explaning what is what and
where to find info. Idea: Maybe it is time to revive skeleton generator
for YaST modules, but more modular, as YaST already have a lot of
common structures and toolings. It just should be more modular and
easier to maintain. So it can e.g. generate CFA model for given file,
generate new dialog, CWM widget, add travis conf and such stuff.
Feedback from this part - yast_devel pattern sucks and we should update
it. Also a person was hit by problem with different version of rspec
gem and system ruby.
Then part with YaST::Execute started. With some help everyone has
working code.
Feedback from this part:
Silent errors are confusing for developers (when method failed,
it is silently ignored and they cannot check it, they are confused what
to do). As inspiration I create pull request to have in YaST::Execute
also methods variants that do not show popup for errors and simply
doesn't catch cheetah exception.
Cheetah documentation itself missing promotion why it is better then
built-in ruby shell executors. I already have it written down from one
of my presentation, so it should be added there.
When I talk about CFA it looks attendends are already a bit tired.
I do not see much feedback from this part, probably because we already
almost run out of time.
Person who came here just to learn something about ruby burned out and
leave after two hours. But when we talk later he said that he is
impresed by ruby and plan to read something more about it. It is just
too much new information to hold.
Other YaST guys who were there do not hesitate to write what I forgot
or what I did not notice. At the end I would like to thanks ancor for
organizing it.
### My talk - YaST News
Presentation was good, looks like everything is clear for audience.
Having presentation after lunch break when sun is shinning really sucks.
### Interesting Parts from Other Talks
Ancor's talk was well explained how our ecosystem works. For me the
most intesting was question at the end of talk from audience why we do
not have in Tumbleweed two yast modules that are in enterprise
distribution and one that was mentioned was s390 ( so I suspect that
guy was from IBM and second module is probably reipl ). As IBM is
trying to make an opensuse spin for s390, maybe it make sense to also
have those two modules in factory?
Lada's presenantation about atom convince me to try it. Its
extendability and using css for style and js for functionality really
lowers barrier to adapt it for my best productivity. Just need find
some time.
Arvin's talk about storage-ng was good. Finally I get whole picture
about design and pictures really helps to understand old and new design.
Imo's talk about salt and autoyast was well presented. I think
everything is clear for audience and it nicely fills picture from
previous day talk about Kubic.
Craig Gardner's talk about devops has interesting point, that it is
good to breath a bit after delivery, which SCRUM sprint implicitelly
don't do. Also it is important not just to add new cool stuff, but also
drop no longer needed or efficient ones. Not just from user POV, but
also in whole proces of development.
libabigail talk was about automatic checking of ABI changes in ELF ( so
C/C++). Interesting talk and I think it will be really interesting if
it will be turn into service and write to e.g. pull requests all ABI
changes, to check if it is OK. It now recognize red ( ABI
incompatible), grey ( need check ) and green ( ABI compatible )
changes. Currently used in fedora. Maybe we can use it for C/C++ parts
of our code?
### Feedback from venue talks
YaST ncurses frontend missing mouse support even if ncurses already
allows it. It is especially annoying in env which already eat some
shortcuts and when there are a lot of widgets in dialog, as tab order
is sometimes quite unpredictible.
Feedback regarding email topic about placing lot of widgets to one
dialog. In replies were multiple solutions mentioned. It would be nice
to have one well supported solution for such task.
Discussing with Richard Brown state of features.opensuse.org which
looks for me a bit dead. We agreed that it doesn't work well and there
is a plan to drop it. I provide input, that for developers who would
like to help opensuse or even for our sprints planning it would be
great if output of new solution is sorted list of features according to
priority, so it is clear what is the most important. Problem is that
openSUSE doesn't have project manager. Also history shown that voting
is not solution. So how to recognize what will benefit the most of
users?
--
To unsubscribe, e-mail: yast-devel+unsubscribe(a)opensuse.org
To contact the owner, e-mail: yast-devel+owner(a)opensuse.org
Hi all,
These are my impresions about some talks during the openSUSE Conference '17.
If you are interested in any talk, check them in https://events.opensuse.org/
conference/oSC17/schedule where you can find videos and slides for many of
them.
## Technical Writing for Non-Writers
https://events.opensuse.org/conference/oSC17/program/proposal/1372
Really interesting workshop by Tanja Roth about writing technical stuff.
In the final part of the workshop, we were working on a text[1] in order to
improve it. As Tanja commented, there's no single right solution, so she just
proposed one[2]. I will try to find out where the slides are available, as
this talk was not recorded.
[1] http://etherpad.opensuse.org/p/tech_writing_workshop_osc17
[2] http://etherpad.opensuse.org/p/tech_writing_workshop_osc17_proposal_taroth
## openSUSE Kubic
A presentation about the new openSUSE Kubic product (based on CaaSP). We
already had some ideas about the project, so it was a nice talk to have a
better overview of what is going on there.
## Bridging openSUSE and SLE gap
https://events.opensuse.org/conference/oSC17/program/proposal/1294
This one was a follow-up by Frederic Crozat of another talk from previous oSC
edition about syncing GNOME in openSUSE and SLE trying to use the same SRPMS.
A lot of collaboration was needed to solve some issues like integration
changelogs from openSUSE and SLE in order to not loose any valuable
information (CVE/FATE/BSC numbers).
I would expect another similar talk for next year with some updates.
## Transactional updates with Btrfs
https://events.opensuse.org/conference/oSC17/program/proposal/1258
Thorsten Kukuk presented a tool to perform transactional updates with Btrfs.
The tool was already presented in mailing lists and it is available in
Tumbleweed.
This tool allows you to perform atomic system updates without interferring
with the running system and allowing to rollback if something was wrong.
There are still some rough edges, but it looks promising.
## Moving Beyond Infrastructure as Code
https://events.opensuse.org/conference/oSC17/program/proposal/1318
This talk from Thomas Hatch (SaltStack, Inc.) was pretty interesting. But, to
be honest, sometimes it was too abstract stuff for me.
## YaST: from the repository to the distribution
https://events.opensuse.org/conference/oSC17/program/proposal/1266
Ancor presented how the YaST code goes from the repositories on Github to the
final products. Usual stuff: Travis, Jenkins, OBS... presented in a straigth-
forward and clear way.
## Open Source Projects and Product Management - Need, Pain or Useless?
https://events.opensuse.org/conference/oSC17/program/proposal/1462
This talk opened some interesting questions about product management in open
source products. I was really interested because, with Jangouts, we face some
problems in that area. However, the questions were not answered at all and I
missed some discussion about them.
## YaST News: Summary of the last year
https://events.opensuse.org/conference/oSC17/program/proposal/1298
Nice presentation by Josef summarizing what we have done during this year.
Kudos to the team because we have done a lot of pretty interesting things :)
## Next Generation Storage for YaST
https://events.opensuse.org/conference/oSC17/program/proposal/1228
Arvin talked about the new storage layer. It was a pretty good presentation
that helped me to understand some of the ideas behind the new design and which
advantages it will bring to YaST.
## Coloring IT Students Green
https://events.opensuse.org/conference/oSC17/program/proposal/1364
Emiel Brok talked about the "SUSE Academic Program". It looks like an
interesting tool to introduce SUSE product on academic institutions. As you
may know, we are in contact we few of them, so we'll try to move it forward.
## openSUSE Legal Review Process
https://events.opensuse.org/conference/oSC17/program/proposal/1374
Stephan Kulow presentation was about Licencing Hell and how they are trying to
improve the situation. He talked briefly about licenses, challenges we face
and presented a tool they're developing/using for that (called CAVIL).
## The Atom Editor
https://events.opensuse.org/conference/oSC17/program/proposal/1356
Ladislav presented Atom in a nice way and convinced me to give it a try :) It
looks like an easy to hack editor, so I would like to have a deeper lock into
it.
Regards,
Imo
--
Imobach González Sosa
YaST team at SUSE LINUX GmbH
Blog: https://imobachgs.github.io/
Twitter: @imobachgs
Good morning,
I am currently working on cache invalidation problem in CaaSP (bsc#1035746). From top-level view, bootloader store some storage devices in cache due to performance reasons ( in past we get bug report from real that with 1k disks, installation took more then 8 hours just to display bootloader proposal ) and what is problem is bug in invalidating that cache when bootloader storage changed. ( so it is true that chace invalidation is one of two hard things :) [1] )
In CaaSP and for master I will solve it using Storage.GetTargetChangeTime where I compare it and if different I invalidate cache.
Now lets get to storage-ng. I try to port this fix there. So my first question is, what is similar equivalent in storage-ng which allows me to see if there is change in storage, so bootloader proposal is no longer valid?
When I try to reproduce it on the latest storage-ng iso, I found even more annoying behavior, that when you go to installation summary and then go back to storage proposal and modify it ( I use guided setup with lvm ) and then go back to installation summary, it crashes badly ( segfault ). You can try it on your own with recent enough storage-ng DVD.
In general my suspicion is that cache is not just no longer valid for root device, but because bootloader store storage objects, it is no longer valids. And here is my second question, what is recommended way to debug such issues ( so find where invalid object is hold ) ? I reproduce issue using plane libstorage-ng [2], so I try to debug this minimal case. I use gdb and valgrind. I see there that it is destroyed when device graph is destroyed. But I do not find method how to find where in ruby lives object that cause segfault. Any ideas how to recognize it? Ideally way that works also when issue happen on user side.
Also I have to say, that from user POV, segfault and ruby exception is very very different. When I get ruby exception, I see popup saying what is a problem. I can continue. I was asked to report bug. And the most important part, I can get logs as environment still lives! When I get segfault, I get quick black screen followed by red area on blue which mention Error occured during installation without any details and what is more important: I do not find way how to get any logs, at least y2signal log will be useful!! So my user experience is very different, as in first case I see reason, I am asked to write bug report and I also can get logs when error happen. In second case I get only generic error and cannot get logs, so if this happen in openQA we also have problem to get it and we have to reproduce it ourself. We probably need to enhance a bit linuxrc to handle this more nicely and at least allow to get logs from segfaulted installation.
Thanks for help with any of the question or any feedback.
Josef
[1] https://martinfowler.com/bliki/TwoHardThings.html
[2] https://gist.github.com/jreidinger/b37ae595b3c3d8519453cd3c9fc0f198
--
To unsubscribe, e-mail: yast-devel+unsubscribe(a)opensuse.org
To contact the owner, e-mail: yast-devel+owner(a)opensuse.org
The text freeze is just here for SLE12-SP3 (and 42.3). So from now on,
please avoid changing translatable text. If you need to do so, make sure
you contact ke and/or Thorsten.
Thanks.
--
Ancor González Sosa
YaST Team at SUSE Linux GmbH
--
To unsubscribe, e-mail: yast-devel+unsubscribe(a)opensuse.org
To contact the owner, e-mail: yast-devel+owner(a)opensuse.org